
/*
 *  DO NOT EDIT! This is a generated file.
 *
 *  MS IDL (MIDL) definition for VirtualBox Main API (COM interfaces)
 *  generated from XIDL (XML interface definition).
 *
 *  Source    : src/VBox/Main/idl/VirtualBox.xidl
 *  Generator : src/VBox/Main/idl/midl.xsl
 */

#if (__midl >= 501)
midl_pragma warning(disable:2039) /* Disable warning MIDL2039 regarding interface not being automation
                                     marshaling conformant and requiring NT 4.0 SP4 or greater. */
midl_pragma warning(disable:2456) /* Disable warning MIDL2456 regarding SAFEARRAY(interface pointer). */
midl_pragma warning(disable:2111) /* Disable warning MIDL2111 regarding identifier lengths exceeding 31 chars. */
#endif

import "unknwn.idl";

cpp_quote("enum {")

cpp_quote("    kTypeLibraryMajorVersion = 1,")

cpp_quote("    kTypeLibraryMinorVersion = 3")

cpp_quote("};")

cpp_quote("#define GUEST_OS_ID_STR_X86(a_szOSid)     a_szOSid")

cpp_quote("#if 1 /* 2023-10-06: We stick with legacy variant, see bugref{10384#c19}. */")

cpp_quote("# define GUEST_OS_ID_STR_X64(a_szOSid)    a_szOSid  \"_64\"")

cpp_quote("# define GUEST_OS_ID_STYLE_LEGACY")

cpp_quote("#else")

cpp_quote("# define GUEST_OS_ID_STR_X64(a_szOSid)    a_szOSid  \"_x64\"")

cpp_quote("# define GUEST_OS_ID_STYLE_PARTIAL_CLEANUP")

cpp_quote("#endif")

cpp_quote("#define GUEST_OS_ID_STR_A32(a_szOSid)     a_szOSid  \"_arm32\"")

cpp_quote("#define GUEST_OS_ID_STR_A64(a_szOSid)     a_szOSid  \"_arm64\"")

cpp_quote("#define GUEST_OS_ID_STR_AMD64(a_szOSid)   GUEST_OS_ID_STR_X64(a_szOSid)")

cpp_quote("#define GUEST_OS_ID_STR_ARM32(a_szOSid)   GUEST_OS_ID_STR_A32(a_szOSid)")

cpp_quote("#define GUEST_OS_ID_STR_ARM64(a_szOSid)   GUEST_OS_ID_STR_A64(a_szOSid)")

cpp_quote("#define GUEST_OS_ID_STR_PARTIAL(a_szOSidPart) a_szOSidPart")


interface IVirtualBoxErrorInfo;
interface INATNetwork;
interface ICloudNetwork;
interface IHostOnlyNetwork;
interface IDHCPServer;
interface IDHCPConfig;
interface IDHCPGlobalConfig;
interface IDHCPGroupCondition;
interface IDHCPGroupConfig;
interface IDHCPIndividualConfig;
interface IVirtualBox;
interface IVFSExplorer;
interface ICertificate;
interface IAppliance;
interface IVirtualSystemDescription;
interface IUnattended;
interface IInternalMachineControl;
interface IGraphicsAdapter;
interface IFirmwareSettings;
interface ITrustedPlatformModule;
interface IRecordingScreenSettings;
interface IRecordingSettings;
interface IPCIAddress;
interface IPCIDeviceAttachment;
interface IUefiVariableStore;
interface INvramStore;
interface IResourceStore;
interface IPlatform;
interface IPlatformX86;
interface IPlatformARM;
interface IMachine;
interface IEmulatedUSB;
interface IVRDEServerInfo;
interface IConsole;
interface IHostNetworkInterface;
interface IHostVideoInputDevice;
interface IUpdateAgent;
interface IHostUpdateAgent;
interface IHostDrivePartition;
interface IHostDrive;
interface IHostX86;
interface IHost;
interface ICPUProfile;
interface IPlatformProperties;
interface ISystemProperties;
interface IGuestOSType;
interface IAdditionsFacility;
interface IDnDBase;
interface IDnDSource;
interface IGuestDnDSource;
interface IDnDTarget;
interface IGuestDnDTarget;
interface IGuestSession;
interface IProcess;
interface IGuestProcess;
interface IDirectory;
interface IGuestDirectory;
interface IFile;
interface IGuestFile;
interface IFsInfo;
interface IFsObjInfo;
interface IGuestFsInfo;
interface IGuestFsObjInfo;
interface IGuest;
interface IProgress;
interface IInternalProgressControl;
interface ISnapshot;
interface IMediumAttachment;
interface IMedium;
interface IMediumFormat;
interface IDataStream;
interface IMediumIO;
interface IToken;
interface IKeyboard;
interface IMousePointerShape;
interface IMouse;
interface IDisplaySourceBitmap;
interface IFramebuffer;
interface IFramebufferOverlay;
interface IGuestScreenInfo;
interface IDisplay;
interface INetworkAdapter;
interface ISerialPort;
interface IParallelPort;
interface IMachineDebugger;
interface IUSBDeviceFilters;
interface IUSBController;
interface IUSBDevice;
interface IUSBDeviceFilter;
interface IHostUSBDevice;
interface IHostUSBDeviceFilter;
interface IUSBProxyBackend;
interface IAudioAdapter;
interface IHostAudioDevice;
interface IAudioSettings;
interface IVRDEServer;
interface ISharedFolder;
interface IInternalSessionControl;
interface ISession;
interface IStorageController;
interface IPerformanceMetric;
interface IPerformanceCollector;
interface INATEngine;
interface IExtPackPlugIn;
interface IExtPackBase;
interface IExtPack;
interface IExtPackFile;
interface IExtPackManager;
interface IBandwidthGroup;
interface IBandwidthControl;
interface IGuestDebugControl;
interface IVirtualBoxClient;
interface IEventSource;
interface IEventListener;
interface IEvent;
interface IReusableEvent;
interface IMachineEvent;
interface IMachineStateChangedEvent;
interface IExtPackInstalledEvent;
interface IExtPackUninstalledEvent;
interface IMachineDataChangedEvent;
interface IMediumRegisteredEvent;
interface IMediumConfigChangedEvent;
interface IMachineRegisteredEvent;
interface ISessionStateChangedEvent;
interface IGuestPropertyChangedEvent;
interface ISnapshotEvent;
interface ISnapshotTakenEvent;
interface ISnapshotDeletedEvent;
interface ISnapshotRestoredEvent;
interface ISnapshotChangedEvent;
interface IMousePointerShapeChangedEvent;
interface IMouseCapabilityChangedEvent;
interface IKeyboardLedsChangedEvent;
interface IStateChangedEvent;
interface IAdditionsStateChangedEvent;
interface INetworkAdapterChangedEvent;
interface IAudioAdapterChangedEvent;
interface ISerialPortChangedEvent;
interface IParallelPortChangedEvent;
interface IStorageControllerChangedEvent;
interface IMediumChangedEvent;
interface IClipboardModeChangedEvent;
interface IClipboardFileTransferModeChangedEvent;
interface IClipboardEvent;
interface IClipboardErrorEvent;
interface IDnDModeChangedEvent;
interface ICPUChangedEvent;
interface ICPUExecutionCapChangedEvent;
interface IGuestKeyboardEvent;
interface IGuestMouseEvent;
interface IGuestMultiTouchEvent;
interface IGuestSessionEvent;
interface IGuestSessionStateChangedEvent;
interface IGuestSessionRegisteredEvent;
interface IGuestProcessEvent;
interface IGuestProcessRegisteredEvent;
interface IGuestProcessStateChangedEvent;
interface IGuestProcessIOEvent;
interface IGuestProcessInputNotifyEvent;
interface IGuestProcessOutputEvent;
interface IGuestDirectoryEvent;
interface IGuestDirectoryRegisteredEvent;
interface IGuestDirectoryStateChangedEvent;
interface IGuestDirectoryReadEvent;
interface IGuestFileEvent;
interface IGuestFileRegisteredEvent;
interface IGuestFileStateChangedEvent;
interface IGuestFileIOEvent;
interface IGuestFileOffsetChangedEvent;
interface IGuestFileSizeChangedEvent;
interface IGuestFileReadEvent;
interface IGuestFileWriteEvent;
interface IVRDEServerChangedEvent;
interface IVRDEServerInfoChangedEvent;
interface IRecordingStateChangedEvent;
interface IRecordingScreenStateChangedEvent;
interface IUSBControllerChangedEvent;
interface IUSBDeviceStateChangedEvent;
interface ISharedFolderChangedEvent;
interface IRuntimeErrorEvent;
interface IEventSourceChangedEvent;
interface IExtraDataChangedEvent;
interface IVetoEvent;
interface IExtraDataCanChangeEvent;
interface ICanShowWindowEvent;
interface IShowWindowEvent;
interface INATRedirectEvent;
interface IHostAudioDeviceChangedEvent;
interface IHostPCIDevicePlugEvent;
interface IVBoxSVCAvailabilityChangedEvent;
interface IBandwidthGroupChangedEvent;
interface IGuestMonitorChangedEvent;
interface IGuestUserStateChangedEvent;
interface IStorageDeviceChangedEvent;
interface INATNetworkChangedEvent;
interface INATNetworkStartStopEvent;
interface INATNetworkAlterEvent;
interface INATNetworkCreationDeletionEvent;
interface INATNetworkSettingEvent;
interface INATNetworkPortForwardEvent;
interface IHostNameResolutionConfigurationChangeEvent;
interface IProgressEvent;
interface IProgressCreatedEvent;
interface IProgressPercentageChangedEvent;
interface IProgressTaskCompletedEvent;
interface ICursorPositionChangedEvent;
interface IGuestAdditionsStatusChangedEvent;
interface IGuestMonitorInfoChangedEvent;
interface IUpdateAgentEvent;
interface IUpdateAgentSettingsChangedEvent;
interface IUpdateAgentErrorEvent;
interface IUpdateAgentAvailableEvent;
interface IUpdateAgentStateChangedEvent;
interface IGuestDebugControlChangedEvent;
interface IMachineGroupsChangedEvent;
interface IStringArray;
interface IFormValue;
interface IBooleanFormValue;
interface IRangedIntegerFormValue;
interface IRangedInteger64FormValue;
interface IStringFormValue;
interface IChoiceFormValue;
interface IForm;
interface IVirtualSystemDescriptionForm;
interface ICloudNetworkGatewayInfo;
interface ICloudNetworkEnvironmentInfo;
interface ICloudMachine;
interface ICloudClient;
interface ICloudProfile;
interface ICloudProvider;
interface ICloudProviderManager;
interface ICloudProviderListChangedEvent;
interface ICloudProviderRegisteredEvent;
interface ICloudProviderUninstallEvent;
interface ICloudProfileRegisteredEvent;
interface ICloudProfileChangedEvent;
interface ILanguageChangedEvent;
interface IVBoxSVCRegistration;
interface IVirtualBoxSDS;

[
    uuid(85d84a63-bda8-424e-95fe-3650b6cf5a95),
    v1_enum
]
typedef enum 
{
    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_v1_21 = 23,
    SettingsVersion_Future = 99999
} SettingsVersion;

/* cross-platform type name for SettingsVersion */
cpp_quote("#define SettingsVersion_T SettingsVersion")



[
    uuid(1da0007c-ddf7-4be8-bcac-d84a1558785f),
    v1_enum
]
typedef enum 
{
    AccessMode_ReadOnly = 1,
    AccessMode_ReadWrite = 2
} AccessMode;

/* cross-platform type name for AccessMode */
cpp_quote("#define AccessMode_T AccessMode")



[
    uuid(00bc01b5-00a4-48db-000a-9061008357aa),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for MachineState */
cpp_quote("#define MachineState_T MachineState")



[
    uuid(cf2700c0-ea4b-47ae-9725-7810114b94d8),
    v1_enum
]
typedef enum 
{
    SessionState_Null = 0,
    SessionState_Unlocked = 1,
    SessionState_Locked = 2,
    SessionState_Spawning = 3,
    SessionState_Unlocking = 4
} SessionState;

/* cross-platform type name for SessionState */
cpp_quote("#define SessionState_T SessionState")



[
    uuid(36e21926-1713-413d-8cf5-2f169b2cbcf3),
    v1_enum
]
typedef enum 
{
    PlatformArchitecture_None = 0,
    PlatformArchitecture_x86 = 1,
    PlatformArchitecture_ARM = 2
} PlatformArchitecture;

/* cross-platform type name for PlatformArchitecture */
cpp_quote("#define PlatformArchitecture_T PlatformArchitecture")



[
    uuid(12906c63-9967-49c8-ba5a-6521adaf0185),
    v1_enum
]
typedef enum 
{
    CPUArchitecture_Any = 0,
    CPUArchitecture_x86 = 1,
    CPUArchitecture_AMD64 = 2,
    CPUArchitecture_ARMv8_32 = 3,
    CPUArchitecture_ARMv8_64 = 4
} CPUArchitecture;

/* cross-platform type name for CPUArchitecture */
cpp_quote("#define CPUArchitecture_T CPUArchitecture")



[
    uuid(a754b765-3687-4a68-abb9-78dcf4c07d5f),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for CPUPropertyTypeX86 */
cpp_quote("#define CPUPropertyTypeX86_T CPUPropertyTypeX86")



[
    uuid(f84eb90a-3e01-47cf-88c1-f8fc559dd37a),
    v1_enum
]
typedef enum 
{
    CPUPropertyTypeARM_Null = 0,
    CPUPropertyTypeARM_HWVirt = 1,
    CPUPropertyTypeARM_GICITS = 2
} CPUPropertyTypeARM;

/* cross-platform type name for CPUPropertyTypeARM */
cpp_quote("#define CPUPropertyTypeARM_T CPUPropertyTypeARM")



[
    uuid(00069d9c-00b5-460c-00dd-64250024f7aa),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for HWVirtExPropertyType */
cpp_quote("#define HWVirtExPropertyType_T HWVirtExPropertyType")



[
    uuid(696453ec-3742-4a05-bead-658ccbf2c944),
    v1_enum
]
typedef enum 
{
    ParavirtProvider_None = 0,
    ParavirtProvider_Default = 1,
    ParavirtProvider_Legacy = 2,
    ParavirtProvider_Minimal = 3,
    ParavirtProvider_HyperV = 4,
    ParavirtProvider_KVM = 5
} ParavirtProvider;

/* cross-platform type name for ParavirtProvider */
cpp_quote("#define ParavirtProvider_T ParavirtProvider")



[
    uuid(678aaf14-2815-4c3e-b20a-e86ed0216498),
    v1_enum
]
typedef enum 
{
    LockType_Null = 0,
    LockType_Shared = 1,
    LockType_Write = 2,
    LockType_VM = 3
} LockType;

/* cross-platform type name for LockType */
cpp_quote("#define LockType_T LockType")



[
    uuid(A13C02CB-0C2C-421E-8317-AC0E8AAA153A),
    v1_enum
]
typedef enum 
{
    SessionType_Null = 0,
    SessionType_WriteLock = 1,
    SessionType_Remote = 2,
    SessionType_Shared = 3
} SessionType;

/* cross-platform type name for SessionType */
cpp_quote("#define SessionType_T SessionType")



[
    uuid(cb977be1-d1fb-41f8-ad7e-951736c6cb3e),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for DeviceType */
cpp_quote("#define DeviceType_T DeviceType")



[
    uuid(6FC8AEAA-130A-4eb5-8954-3F921422D707),
    v1_enum
]
typedef enum 
{
    DeviceActivity_Null = 0,
    DeviceActivity_Idle = 1,
    DeviceActivity_Reading = 2,
    DeviceActivity_Writing = 3
} DeviceActivity;

/* cross-platform type name for DeviceActivity */
cpp_quote("#define DeviceActivity_T DeviceActivity")



[
    uuid(33364716-4008-4701-8f14-be0fa3d62950),
    v1_enum
]
typedef enum 
{
    ClipboardMode_Disabled = 0,
    ClipboardMode_HostToGuest = 1,
    ClipboardMode_GuestToHost = 2,
    ClipboardMode_Bidirectional = 3
} ClipboardMode;

/* cross-platform type name for ClipboardMode */
cpp_quote("#define ClipboardMode_T ClipboardMode")



[
    uuid(07af8800-f936-4b33-9172-cd400e83c148),
    v1_enum
]
typedef enum 
{
    DnDMode_Disabled = 0,
    DnDMode_HostToGuest = 1,
    DnDMode_GuestToHost = 2,
    DnDMode_Bidirectional = 3
} DnDMode;

/* cross-platform type name for DnDMode */
cpp_quote("#define DnDMode_T DnDMode")



[
    uuid(7c91096e-499e-4eca-9f9b-9001438d7855),
    v1_enum
]
typedef enum 
{
    Scope_Global = 0,
    Scope_Machine = 1,
    Scope_Session = 2
} Scope;

/* cross-platform type name for Scope */
cpp_quote("#define Scope_T Scope")



[
    uuid(bf88ec90-7fbb-4c78-bd71-5f8751d71450),
    v1_enum
]
typedef enum 
{
    FirmwareBootMenuMode_Disabled = 0,
    FirmwareBootMenuMode_MenuOnly = 1,
    FirmwareBootMenuMode_MessageAndMenu = 2
} FirmwareBootMenuMode;

/* cross-platform type name for FirmwareBootMenuMode */
cpp_quote("#define FirmwareBootMenuMode_T FirmwareBootMenuMode")



[
    uuid(c6884ba5-3cc4-4a92-a7f6-4410f9fd894e),
    v1_enum
]
typedef enum 
{
    APICMode_Disabled = 0,
    APICMode_APIC = 1,
    APICMode_X2APIC = 2
} APICMode;

/* cross-platform type name for APICMode */
cpp_quote("#define APICMode_T APICMode")



[
    uuid(0064dece-000e-4963-00f8-eb9b00674c8a),
    v1_enum
]
typedef enum 
{
    ProcessorFeature_HWVirtEx = 0,
    ProcessorFeature_PAE = 1,
    ProcessorFeature_LongMode = 2,
    ProcessorFeature_NestedPaging = 3,
    ProcessorFeature_UnrestrictedGuest = 4,
    ProcessorFeature_NestedHWVirt = 5,
    ProcessorFeature_VirtVmsaveVmload = 6
} ProcessorFeature;

/* cross-platform type name for ProcessorFeature */
cpp_quote("#define ProcessorFeature_T ProcessorFeature")



[
    uuid(b903f264-c230-483e-ac74-2b37ce60d371),
    v1_enum
]
typedef enum 
{
    FirmwareType_BIOS = 1,
    FirmwareType_EFI = 2,
    FirmwareType_EFI32 = 3,
    FirmwareType_EFI64 = 4,
    FirmwareType_EFIDUAL = 5
} FirmwareType;

/* cross-platform type name for FirmwareType */
cpp_quote("#define FirmwareType_T FirmwareType")



[
    uuid(b3fd8215-6870-4e61-b6d9-2998fa625de0),
    v1_enum
]
typedef enum 
{
    PointingHIDType_None = 1,
    PointingHIDType_PS2Mouse = 2,
    PointingHIDType_USBMouse = 3,
    PointingHIDType_USBTablet = 4,
    PointingHIDType_ComboMouse = 5,
    PointingHIDType_USBMultiTouch = 6,
    PointingHIDType_USBMultiTouchScreenPlusPad = 7
} PointingHIDType;

/* cross-platform type name for PointingHIDType */
cpp_quote("#define PointingHIDType_T PointingHIDType")



[
    uuid(383e43d7-5c7c-4ec8-9cb8-eda1bccd6699),
    v1_enum
]
typedef enum 
{
    KeyboardHIDType_None = 1,
    KeyboardHIDType_PS2Keyboard = 2,
    KeyboardHIDType_USBKeyboard = 3,
    KeyboardHIDType_ComboKeyboard = 4
} KeyboardHIDType;

/* cross-platform type name for KeyboardHIDType */
cpp_quote("#define KeyboardHIDType_T KeyboardHIDType")



[
    uuid(afb2bf39-8b1e-4f9f-8948-d1b887f83eb0),
    v1_enum
]
typedef enum 
{
    BitmapFormat_Opaque = 0,
    BitmapFormat_BGR = 0x20524742,
    BitmapFormat_BGR0 = 0x30524742,
    BitmapFormat_BGRA = 0x41524742,
    BitmapFormat_RGBA = 0x41424752,
    BitmapFormat_PNG = 0x20474E50,
    BitmapFormat_JPEG = 0x4745504A
} BitmapFormat;

/* cross-platform type name for BitmapFormat */
cpp_quote("#define BitmapFormat_T BitmapFormat")



[
    uuid(64c4c806-8908-4c0b-9a51-2d7a0151321f),
    v1_enum
]
typedef enum 
{
    PartitioningType_MBR = 0,
    PartitioningType_GPT = 1
} PartitioningType;

/* cross-platform type name for PartitioningType */
cpp_quote("#define PartitioningType_T PartitioningType")



[
    uuid(84a6629c-8e9c-474c-adbb-21995671597f),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for PartitionType */
cpp_quote("#define PartitionType_T PartitionType")



[
    uuid(a5ee031d-aba8-4a7f-887a-9a1f12e7cc6c),
    v1_enum
]
typedef enum 
{
    TrackedObjectState_None = 0,
    TrackedObjectState_Alive = 1,
    TrackedObjectState_Deleted = 2,
    TrackedObjectState_Invalid = 3
} TrackedObjectState;

/* cross-platform type name for TrackedObjectState */
cpp_quote("#define TrackedObjectState_T TrackedObjectState")



[
    uuid(00f5b10f-0021-4513-00f7-5bf4000982bf),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for DHCPOption */
cpp_quote("#define DHCPOption_T DHCPOption")



[
    uuid(84b6d460-2838-4682-c0d6-ef5b573ef28a),
    v1_enum
]
typedef enum 
{
    DHCPOptionEncoding_Normal = 0,
    DHCPOptionEncoding_Hex = 1
} DHCPOptionEncoding;

/* cross-platform type name for DHCPOptionEncoding */
cpp_quote("#define DHCPOptionEncoding_T DHCPOptionEncoding")



[
    uuid(469c42e4-b9ec-43f2-bdcb-9e9d1eb434ae),
    v1_enum
]
typedef enum 
{
    DHCPConfigScope_Global = 0,
    DHCPConfigScope_Group = 1,
    DHCPConfigScope_MachineNIC = 2,
    DHCPConfigScope_MAC = 3
} DHCPConfigScope;

/* cross-platform type name for DHCPConfigScope */
cpp_quote("#define DHCPConfigScope_T DHCPConfigScope")



[
    uuid(2cb9280f-ada2-4194-dee8-bfb8ad77119d),
    v1_enum
]
typedef enum 
{
    DHCPGroupConditionType_MAC = 0,
    DHCPGroupConditionType_MACWildcard = 1,
    DHCPGroupConditionType_vendorClassID = 2,
    DHCPGroupConditionType_vendorClassIDWildcard = 3,
    DHCPGroupConditionType_userClassID = 4,
    DHCPGroupConditionType_userClassIDWildcard = 5
} DHCPGroupConditionType;

/* cross-platform type name for DHCPGroupConditionType */
cpp_quote("#define DHCPGroupConditionType_T DHCPGroupConditionType")



[
    uuid(813999ba-b949-48a8-9230-aadc6285e2f2),
    v1_enum
]
typedef enum 
{
    VFSType_File = 1,
    VFSType_Cloud = 2,
    VFSType_S3 = 3,
    VFSType_WebDav = 4
} VFSType;

/* cross-platform type name for VFSType */
cpp_quote("#define VFSType_T VFSType")



[
    uuid(0a981523-3b20-4004-8ee3-dfd322202ace),
    v1_enum
]
typedef enum 
{
    ImportOptions_KeepAllMACs = 1,
    ImportOptions_KeepNATMACs = 2,
    ImportOptions_ImportToVDI = 3
} ImportOptions;

/* cross-platform type name for ImportOptions */
cpp_quote("#define ImportOptions_T ImportOptions")



[
    uuid(8f45eb08-fd34-41ee-af95-a880bdee5554),
    v1_enum
]
typedef enum 
{
    ExportOptions_CreateManifest = 1,
    ExportOptions_ExportDVDImages = 2,
    ExportOptions_StripAllMACs = 3,
    ExportOptions_StripAllNonNATMACs = 4
} ExportOptions;

/* cross-platform type name for ExportOptions */
cpp_quote("#define ExportOptions_T ExportOptions")



[
    uuid(9e232a99-51d0-4dbd-96a0-ffac4bc3e2a8),
    v1_enum
]
typedef enum 
{
    CertificateVersion_V1 = 1,
    CertificateVersion_V2 = 2,
    CertificateVersion_V3 = 3,
    CertificateVersion_Unknown = 99
} CertificateVersion;

/* cross-platform type name for CertificateVersion */
cpp_quote("#define CertificateVersion_T CertificateVersion")



[
    uuid(d171d08c-f7bf-4bee-932f-ffbf998f7ac4),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for VirtualSystemDescriptionType */
cpp_quote("#define VirtualSystemDescriptionType_T VirtualSystemDescriptionType")



[
    uuid(56d9403f-3425-4118-9919-36f2a9b8c77c),
    v1_enum
]
typedef enum 
{
    VirtualSystemDescriptionValueType_Reference = 1,
    VirtualSystemDescriptionValueType_Original = 2,
    VirtualSystemDescriptionValueType_Auto = 3,
    VirtualSystemDescriptionValueType_ExtraConfig = 4
} VirtualSystemDescriptionValueType;

/* cross-platform type name for VirtualSystemDescriptionValueType */
cpp_quote("#define VirtualSystemDescriptionValueType_T VirtualSystemDescriptionValueType")



[
    uuid(c669b9f7-a547-42b6-8464-636aa53401eb),
    v1_enum
]
typedef enum 
{
    TpmType_None = 0,
    TpmType_v1_2 = 1,
    TpmType_v2_0 = 2,
    TpmType_Host = 3,
    TpmType_Swtpm = 4
} TpmType;

/* cross-platform type name for TpmType */
cpp_quote("#define TpmType_T TpmType")



[
    uuid(11E3F06B-DEC1-48B9-BDC4-1E618D72893C),
    v1_enum
]
typedef enum 
{
    RecordingDestination_None = 0,
    RecordingDestination_File = 1
} RecordingDestination;

/* cross-platform type name for RecordingDestination */
cpp_quote("#define RecordingDestination_T RecordingDestination")



[
    uuid(A7DDC6A5-DAA8-4485-B860-E9F2E98A7794),
    v1_enum
]
typedef enum 
{
    RecordingFeature_None = 0x0,
    RecordingFeature_Video = 0x1,
    RecordingFeature_Audio = 0x2
} RecordingFeature;

/* cross-platform type name for RecordingFeature */
cpp_quote("#define RecordingFeature_T RecordingFeature")



[
    uuid(16c42be8-1713-4717-a8b9-c65a6549fbcd),
    v1_enum
]
typedef enum 
{
    RecordingAudioCodec_None = 0,
    RecordingAudioCodec_WavPCM = 1,
    RecordingAudioCodec_MP3 = 2,
    RecordingAudioCodec_OggVorbis = 3,
    RecordingAudioCodec_Opus = 4,
    RecordingAudioCodec_Other = 5
} RecordingAudioCodec;

/* cross-platform type name for RecordingAudioCodec */
cpp_quote("#define RecordingAudioCodec_T RecordingAudioCodec")



[
    uuid(53627ae1-31cf-4303-9cd5-0c22fd2637cf),
    v1_enum
]
typedef enum 
{
    RecordingCodecDeadline_Default = 0,
    RecordingCodecDeadline_Realtime = 1,
    RecordingCodecDeadline_Good = 2,
    RecordingCodecDeadline_Best = 3
} RecordingCodecDeadline;

/* cross-platform type name for RecordingCodecDeadline */
cpp_quote("#define RecordingCodecDeadline_T RecordingCodecDeadline")



[
    uuid(93791063-3e8c-4310-987c-ddb43ff03ffe),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for RecordingVideoCodec */
cpp_quote("#define RecordingVideoCodec_T RecordingVideoCodec")



[
    uuid(0dd1127d-4f62-4b82-beee-91086a9f1d24),
    v1_enum
]
typedef enum 
{
    RecordingVideoScalingMode_None = 0,
    RecordingVideoScalingMode_NearestNeighbor = 1,
    RecordingVideoScalingMode_Bilinear = 2,
    RecordingVideoScalingMode_Bicubic = 3
} RecordingVideoScalingMode;

/* cross-platform type name for RecordingVideoScalingMode */
cpp_quote("#define RecordingVideoScalingMode_T RecordingVideoScalingMode")



[
    uuid(d07a33ac-b4ea-4917-942d-c03be14fbe2f),
    v1_enum
]
typedef enum 
{
    RecordingRateControlMode_ABR = 0,
    RecordingRateControlMode_CBR = 1,
    RecordingRateControlMode_VBR = 2
} RecordingRateControlMode;

/* cross-platform type name for RecordingRateControlMode */
cpp_quote("#define RecordingRateControlMode_T RecordingRateControlMode")



[
    uuid(c8a770a9-0412-467b-8dae-0e861279d0be),
    v1_enum
]
typedef enum 
{
    RecordingState_Unknown = 0,
    RecordingState_Initializing = 1,
    RecordingState_Started = 2,
    RecordingState_Paused = 3,
    RecordingState_Resumed = 4,
    RecordingState_Finalizing = 5,
    RecordingState_Stopped = 6,
    RecordingState_Canceled = 7,
    RecordingState_LimitReached = 8,
    RecordingState_Error = 9
} RecordingState;

/* cross-platform type name for RecordingState */
cpp_quote("#define RecordingState_T RecordingState")



[
    uuid(6f6e67ef-9a32-4084-af84-5702679f882a),
    v1_enum
]
typedef enum 
{
    SignatureType_X509 = 0,
    SignatureType_Sha256 = 1
} SignatureType;

/* cross-platform type name for SignatureType */
cpp_quote("#define SignatureType_T SignatureType")



[
    uuid(cda505ec-b444-4aef-b55c-b687717bdac5),
    v1_enum
]
typedef enum 
{
    UefiVariableAttributes_None = 0,
    UefiVariableAttributes_NonVolatile = 0x01,
    UefiVariableAttributes_BootServiceAccess = 0x02,
    UefiVariableAttributes_RuntimeAccess = 0x04,
    UefiVariableAttributes_HwErrorRecord = 0x08,
    UefiVariableAttributes_AuthWriteAccess = 0x100,
    UefiVariableAttributes_AuthTimeBasedWriteAccess = 0x200,
    UefiVariableAttributes_AuthAppendWrite = 0x400
} UefiVariableAttributes;

/* cross-platform type name for UefiVariableAttributes */
cpp_quote("#define UefiVariableAttributes_T UefiVariableAttributes")



[
    uuid(e1379bad-ae01-493d-abf5-740a95c41676),
    v1_enum
]
typedef enum 
{
    GraphicsControllerType_Null = 0,
    GraphicsControllerType_VBoxVGA = 1,
    GraphicsControllerType_VMSVGA = 2,
    GraphicsControllerType_VBoxSVGA = 3,
    GraphicsControllerType_QemuRamFB = 4
} GraphicsControllerType;

/* cross-platform type name for GraphicsControllerType */
cpp_quote("#define GraphicsControllerType_T GraphicsControllerType")



[
    uuid(1BC430F8-D061-45FB-8830-155058FF3F66),
    v1_enum
]
typedef enum 
{
    GraphicsFeature_None = 0,
    GraphicsFeature_Acceleration3D = 2
} GraphicsFeature;

/* cross-platform type name for GraphicsFeature */
cpp_quote("#define GraphicsFeature_T GraphicsFeature")



[
    uuid(67897c50-7cca-47a9-83f6-ce8fd8eb5441),
    v1_enum
]
typedef enum 
{
    CleanupMode_UnregisterOnly = 1,
    CleanupMode_DetachAllReturnNone = 2,
    CleanupMode_DetachAllReturnHardDisksOnly = 3,
    CleanupMode_Full = 4,
    CleanupMode_DetachAllReturnHardDisksAndVMRemovable = 5
} CleanupMode;

/* cross-platform type name for CleanupMode */
cpp_quote("#define CleanupMode_T CleanupMode")



[
    uuid(A7A159FE-5096-4B8D-8C3C-D033CB0B35A8),
    v1_enum
]
typedef enum 
{
    CloneMode_MachineState = 1,
    CloneMode_MachineAndChildStates = 2,
    CloneMode_AllStates = 3
} CloneMode;

/* cross-platform type name for CloneMode */
cpp_quote("#define CloneMode_T CloneMode")



[
    uuid(22243f8e-96ab-497c-8cf0-f40a566c630b),
    v1_enum
]
typedef enum 
{
    CloneOptions_Link = 1,
    CloneOptions_KeepAllMACs = 2,
    CloneOptions_KeepNATMACs = 3,
    CloneOptions_KeepDiskNames = 4,
    CloneOptions_KeepHwUUIDs = 5
} CloneOptions;

/* cross-platform type name for CloneOptions */
cpp_quote("#define CloneOptions_T CloneOptions")



[
    uuid(6bb96740-cf34-470d-aab2-2cd48ea2e10e),
    v1_enum
]
typedef enum 
{
    AutostopType_Disabled = 1,
    AutostopType_SaveState = 2,
    AutostopType_PowerOff = 3,
    AutostopType_AcpiShutdown = 4
} AutostopType;

/* cross-platform type name for AutostopType */
cpp_quote("#define AutostopType_T AutostopType")



[
    uuid(6fa72dd5-19b7-46ba-bc52-f223c98c7d80),
    v1_enum
]
typedef enum 
{
    VMProcPriority_Invalid = 0,
    VMProcPriority_Default = 1,
    VMProcPriority_Flat = 2,
    VMProcPriority_Low = 3,
    VMProcPriority_Normal = 5,
    VMProcPriority_High = 6
} VMProcPriority;

/* cross-platform type name for VMProcPriority */
cpp_quote("#define VMProcPriority_T VMProcPriority")



[
    uuid(f47339cb-b94e-48fe-b507-2900103d7b9f),
    v1_enum
]
typedef enum 
{
    IommuType_None = 0,
    IommuType_Automatic = 1,
    IommuType_AMD = 2,
    IommuType_Intel = 3
} IommuType;

/* cross-platform type name for IommuType */
cpp_quote("#define IommuType_T IommuType")



[
    uuid(69485f52-5cd3-40c9-946f-ae7d5c50798b),
    v1_enum
]
typedef enum 
{
    VMExecutionEngine_NotSet = 0,
    VMExecutionEngine_Default = 1,
    VMExecutionEngine_HwVirt = 2,
    VMExecutionEngine_NativeApi = 3,
    VMExecutionEngine_Interpreter = 4,
    VMExecutionEngine_Recompiler = 5
} VMExecutionEngine;

/* cross-platform type name for VMExecutionEngine */
cpp_quote("#define VMExecutionEngine_T VMExecutionEngine")



[
    uuid(1aa54aaf-2497-45a2-bfb1-8eb225e93d5b),
    v1_enum
]
typedef enum 
{
    HostNetworkInterfaceMediumType_Unknown = 0,
    HostNetworkInterfaceMediumType_Ethernet = 1,
    HostNetworkInterfaceMediumType_PPP = 2,
    HostNetworkInterfaceMediumType_SLIP = 3
} HostNetworkInterfaceMediumType;

/* cross-platform type name for HostNetworkInterfaceMediumType */
cpp_quote("#define HostNetworkInterfaceMediumType_T HostNetworkInterfaceMediumType")



[
    uuid(CC474A69-2710-434B-8D99-C38E5D5A6F41),
    v1_enum
]
typedef enum 
{
    HostNetworkInterfaceStatus_Unknown = 0,
    HostNetworkInterfaceStatus_Up = 1,
    HostNetworkInterfaceStatus_Down = 2
} HostNetworkInterfaceStatus;

/* cross-platform type name for HostNetworkInterfaceStatus */
cpp_quote("#define HostNetworkInterfaceStatus_T HostNetworkInterfaceStatus")



[
    uuid(67431b00-9946-48a2-bc02-b25c5919f4f3),
    v1_enum
]
typedef enum 
{
    HostNetworkInterfaceType_Invalid = 0,
    HostNetworkInterfaceType_Bridged = 1,
    HostNetworkInterfaceType_HostOnly = 2
} HostNetworkInterfaceType;

/* cross-platform type name for HostNetworkInterfaceType */
cpp_quote("#define HostNetworkInterfaceType_T HostNetworkInterfaceType")



[
    uuid(9f1562a5-e47a-496b-a818-66776f06ce40),
    v1_enum
]
typedef enum 
{
    UpdateChannel_Invalid = 0,
    UpdateChannel_Stable = 1,
    UpdateChannel_All = 2,
    UpdateChannel_WithBetas = 3,
    UpdateChannel_WithTesting = 4
} UpdateChannel;

/* cross-platform type name for UpdateChannel */
cpp_quote("#define UpdateChannel_T UpdateChannel")



[
    uuid(359a5fee-8a06-4306-8068-2f2dd5cde06f),
    v1_enum
]
typedef enum 
{
    UpdateSeverity_Invalid = 0,
    UpdateSeverity_Critical = 1,
    UpdateSeverity_Major = 2,
    UpdateSeverity_Minor = 3,
    UpdateSeverity_Testing = 4
} UpdateSeverity;

/* cross-platform type name for UpdateSeverity */
cpp_quote("#define UpdateSeverity_T UpdateSeverity")



[
    uuid(6623e363-c892-45f8-80cb-4e8ffd9b4e60),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for UpdateState */
cpp_quote("#define UpdateState_T UpdateState")



[
    uuid(885264b3-b517-40fc-ce46-36e3bae895a4),
    v1_enum
]
typedef enum 
{
    ProxyMode_System = 0,
    ProxyMode_NoProxy = 1,
    ProxyMode_Manual = 2
} ProxyMode;

/* cross-platform type name for ProxyMode */
cpp_quote("#define ProxyMode_T ProxyMode")



[
    uuid(c4b10d74-dd48-4ff4-9a40-785a2a389ade),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for AdditionsFacilityType */
cpp_quote("#define AdditionsFacilityType_T AdditionsFacilityType")



[
    uuid(446451b2-c88d-4e5d-84c9-91bc7f533f5f),
    v1_enum
]
typedef enum 
{
    AdditionsFacilityClass_None = 0,
    AdditionsFacilityClass_Driver = 10,
    AdditionsFacilityClass_Service = 30,
    AdditionsFacilityClass_Program = 50,
    AdditionsFacilityClass_Feature = 100,
    AdditionsFacilityClass_ThirdParty = 999,
    AdditionsFacilityClass_All = 2147483646
} AdditionsFacilityClass;

/* cross-platform type name for AdditionsFacilityClass */
cpp_quote("#define AdditionsFacilityClass_T AdditionsFacilityClass")



[
    uuid(ce06f9e1-394e-4fe9-9368-5a88c567dbde),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for AdditionsFacilityStatus */
cpp_quote("#define AdditionsFacilityStatus_T AdditionsFacilityStatus")



[
    uuid(a25417ee-a9dd-4f5b-b0dc-377860087754),
    v1_enum
]
typedef enum 
{
    AdditionsRunLevelType_None = 0,
    AdditionsRunLevelType_System = 1,
    AdditionsRunLevelType_Userland = 2,
    AdditionsRunLevelType_Desktop = 3
} AdditionsRunLevelType;

/* cross-platform type name for AdditionsRunLevelType */
cpp_quote("#define AdditionsRunLevelType_T AdditionsRunLevelType")



[
    uuid(726a818d-18d6-4389-94e8-3e9e6826171a),
    v1_enum
]
typedef enum 
{
    AdditionsUpdateFlag_None = 0,
    AdditionsUpdateFlag_WaitForUpdateStartOnly = 1
} AdditionsUpdateFlag;

/* cross-platform type name for AdditionsUpdateFlag */
cpp_quote("#define AdditionsUpdateFlag_T AdditionsUpdateFlag")



[
    uuid(28D19C9C-5862-4930-B29A-F117712B4864),
    v1_enum
]
typedef enum 
{
    GuestShutdownFlag_None = 0,
    GuestShutdownFlag_PowerOff = 1,
    GuestShutdownFlag_Reboot = 2,
    GuestShutdownFlag_Force = 4
} GuestShutdownFlag;

/* cross-platform type name for GuestShutdownFlag */
cpp_quote("#define GuestShutdownFlag_T GuestShutdownFlag")



[
    uuid(ac2669da-4624-44f2-85b5-0b0bfb8d8673),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for GuestSessionStatus */
cpp_quote("#define GuestSessionStatus_T GuestSessionStatus")



[
    uuid(bb7a372a-f635-4e11-a81a-e707f3a52ef5),
    v1_enum
]
typedef enum 
{
    GuestSessionWaitForFlag_None = 0,
    GuestSessionWaitForFlag_Start = 1,
    GuestSessionWaitForFlag_Terminate = 2,
    GuestSessionWaitForFlag_Status = 4
} GuestSessionWaitForFlag;

/* cross-platform type name for GuestSessionWaitForFlag */
cpp_quote("#define GuestSessionWaitForFlag_T GuestSessionWaitForFlag")



[
    uuid(c0f6a8a5-fdb6-42bf-a582-56c6f82bcd2d),
    v1_enum
]
typedef enum 
{
    GuestSessionWaitResult_None = 0,
    GuestSessionWaitResult_Start = 1,
    GuestSessionWaitResult_Terminate = 2,
    GuestSessionWaitResult_Status = 3,
    GuestSessionWaitResult_Error = 4,
    GuestSessionWaitResult_Timeout = 5,
    GuestSessionWaitResult_WaitFlagNotSupported = 6
} GuestSessionWaitResult;

/* cross-platform type name for GuestSessionWaitResult */
cpp_quote("#define GuestSessionWaitResult_T GuestSessionWaitResult")



[
    uuid(b2a82b02-fd3d-4fc2-ba84-6ba5ac8be198),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for GuestUserState */
cpp_quote("#define GuestUserState_T GuestUserState")



[
    uuid(ad32f789-4279-4530-979c-f16892e1c263),
    v1_enum
]
typedef enum 
{
    FileSeekOrigin_Begin = 0,
    FileSeekOrigin_Current = 1,
    FileSeekOrigin_End = 2
} FileSeekOrigin;

/* cross-platform type name for FileSeekOrigin */
cpp_quote("#define FileSeekOrigin_T FileSeekOrigin")



[
    uuid(5d38c1dd-2604-4ddf-92e5-0c0cdd3bdbd5),
    v1_enum
]
typedef enum 
{
    ProcessInputFlag_None = 0,
    ProcessInputFlag_EndOfFile = 1
} ProcessInputFlag;

/* cross-platform type name for ProcessInputFlag */
cpp_quote("#define ProcessInputFlag_T ProcessInputFlag")



[
    uuid(9979e85a-52bb-40b7-870c-57115e27e0f1),
    v1_enum
]
typedef enum 
{
    ProcessOutputFlag_None = 0,
    ProcessOutputFlag_StdErr = 1
} ProcessOutputFlag;

/* cross-platform type name for ProcessOutputFlag */
cpp_quote("#define ProcessOutputFlag_T ProcessOutputFlag")



[
    uuid(23b550c7-78e1-437e-98f0-65fd9757bcd2),
    v1_enum
]
typedef enum 
{
    ProcessWaitForFlag_None = 0,
    ProcessWaitForFlag_Start = 1,
    ProcessWaitForFlag_Terminate = 2,
    ProcessWaitForFlag_StdIn = 4,
    ProcessWaitForFlag_StdOut = 8,
    ProcessWaitForFlag_StdErr = 16
} ProcessWaitForFlag;

/* cross-platform type name for ProcessWaitForFlag */
cpp_quote("#define ProcessWaitForFlag_T ProcessWaitForFlag")



[
    uuid(40719cbe-f192-4fe9-a231-6697b3c8e2b4),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for ProcessWaitResult */
cpp_quote("#define ProcessWaitResult_T ProcessWaitResult")



[
    uuid(791909d7-4c64-2fa4-4303-adb10658d347),
    v1_enum
]
typedef enum 
{
    FileCopyFlag_None = 0,
    FileCopyFlag_NoReplace = 1,
    FileCopyFlag_FollowLinks = 2,
    FileCopyFlag_Update = 4
} FileCopyFlag;

/* cross-platform type name for FileCopyFlag */
cpp_quote("#define FileCopyFlag_T FileCopyFlag")



[
    uuid(2450a05d-80c6-4c96-9a17-94d73293ff86),
    v1_enum
]
typedef enum 
{
    FsObjMoveFlag_None = 0,
    FsObjMoveFlag_Replace = 1,
    FsObjMoveFlag_FollowLinks = 2,
    FsObjMoveFlag_AllowDirectoryMoves = 4
} FsObjMoveFlag;

/* cross-platform type name for FsObjMoveFlag */
cpp_quote("#define FsObjMoveFlag_T FsObjMoveFlag")



[
    uuid(bd721b0e-ced5-4f79-b368-249897c32a36),
    v1_enum
]
typedef enum 
{
    DirectoryCreateFlag_None = 0,
    DirectoryCreateFlag_Parents = 1
} DirectoryCreateFlag;

/* cross-platform type name for DirectoryCreateFlag */
cpp_quote("#define DirectoryCreateFlag_T DirectoryCreateFlag")



[
    uuid(20108C67-B1EB-4EF6-869B-25539A47A18E),
    v1_enum
]
typedef enum 
{
    DirectoryCopyFlag_None = 0,
    DirectoryCopyFlag_CopyIntoExisting = 1,
    DirectoryCopyFlag_Recursive = 2,
    DirectoryCopyFlag_FollowLinks = 4
} DirectoryCopyFlag;

/* cross-platform type name for DirectoryCopyFlag */
cpp_quote("#define DirectoryCopyFlag_T DirectoryCopyFlag")



[
    uuid(455aabf0-7692-48f6-9061-f21579b65769),
    v1_enum
]
typedef enum 
{
    DirectoryRemoveRecFlag_None = 0,
    DirectoryRemoveRecFlag_ContentAndDir = 1,
    DirectoryRemoveRecFlag_ContentOnly = 2
} DirectoryRemoveRecFlag;

/* cross-platform type name for DirectoryRemoveRecFlag */
cpp_quote("#define DirectoryRemoveRecFlag_T DirectoryRemoveRecFlag")



[
    uuid(59bbf3a1-4e23-d7cf-05d5-ccae32080ed2),
    v1_enum
]
typedef enum 
{
    FsObjRenameFlag_NoReplace = 0,
    FsObjRenameFlag_Replace = 1
} FsObjRenameFlag;

/* cross-platform type name for FsObjRenameFlag */
cpp_quote("#define FsObjRenameFlag_T FsObjRenameFlag")



[
    uuid(C544CD2B-F02D-4886-9901-71C523DB8DC5),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for ProcessCreateFlag */
cpp_quote("#define ProcessCreateFlag_T ProcessCreateFlag")



[
    uuid(ee8cac50-e232-49fe-806b-d1214d9c2e49),
    v1_enum
]
typedef enum 
{
    ProcessPriority_Invalid = 0,
    ProcessPriority_Default = 1
} ProcessPriority;

/* cross-platform type name for ProcessPriority */
cpp_quote("#define ProcessPriority_T ProcessPriority")



[
    uuid(37794668-f8f1-4714-98a5-6f8fa2ed0118),
    v1_enum
]
typedef enum 
{
    SymlinkType_Unknown = 0,
    SymlinkType_Directory = 1,
    SymlinkType_File = 2
} SymlinkType;

/* cross-platform type name for SymlinkType */
cpp_quote("#define SymlinkType_T SymlinkType")



[
    uuid(b7fe2b9d-790e-4b25-8adf-1ca33026931f),
    v1_enum
]
typedef enum 
{
    SymlinkReadFlag_None = 0,
    SymlinkReadFlag_NoSymlinks = 1
} SymlinkReadFlag;

/* cross-platform type name for SymlinkReadFlag */
cpp_quote("#define SymlinkReadFlag_T SymlinkReadFlag")



[
    uuid(4d52368f-5b48-4bfe-b486-acf89139b52f),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for ProcessStatus */
cpp_quote("#define ProcessStatus_T ProcessStatus")



[
    uuid(a4a0ef9c-29cc-4805-9803-c8215ae9da6c),
    v1_enum
]
typedef enum 
{
    ProcessInputStatus_Undefined = 0,
    ProcessInputStatus_Broken = 1,
    ProcessInputStatus_Available = 10,
    ProcessInputStatus_Written = 50,
    ProcessInputStatus_Overflow = 100
} ProcessInputStatus;

/* cross-platform type name for ProcessInputStatus */
cpp_quote("#define ProcessInputStatus_T ProcessInputStatus")



[
    uuid(97303a5b-42e8-0a55-d16f-d2a92c295261),
    v1_enum
]
typedef enum 
{
    PathStyle_DOS = 1,
    PathStyle_UNIX = 2,
    PathStyle_Unknown = 8
} PathStyle;

/* cross-platform type name for PathStyle */
cpp_quote("#define PathStyle_T PathStyle")



[
    uuid(a50ca1fc-85a9-4a7a-b755-68c3db01caf1),
    v1_enum
]
typedef enum 
{
    DirectoryStatus_Undefined = 0,
    DirectoryStatus_Open = 1,
    DirectoryStatus_Close = 2,
    DirectoryStatus_Rewind = 3,
    DirectoryStatus_Down = 4,
    DirectoryStatus_Error = 5
} DirectoryStatus;

/* cross-platform type name for DirectoryStatus */
cpp_quote("#define DirectoryStatus_T DirectoryStatus")



[
    uuid(231a578f-47fb-ea30-3b3e-8489558227f0),
    v1_enum
]
typedef enum 
{
    FileAccessMode_ReadOnly = 1,
    FileAccessMode_WriteOnly = 2,
    FileAccessMode_ReadWrite = 3,
    FileAccessMode_AppendOnly = 4,
    FileAccessMode_AppendRead = 5
} FileAccessMode;

/* cross-platform type name for FileAccessMode */
cpp_quote("#define FileAccessMode_T FileAccessMode")



[
    uuid(12bc97e2-4fc6-a8b4-4f84-0cbf4ab970d2),
    v1_enum
]
typedef enum 
{
    FileOpenAction_OpenExisting = 1,
    FileOpenAction_OpenOrCreate = 2,
    FileOpenAction_CreateNew = 3,
    FileOpenAction_CreateOrReplace = 4,
    FileOpenAction_OpenExistingTruncated = 5,
    FileOpenAction_AppendOrCreate = 99
} FileOpenAction;

/* cross-platform type name for FileOpenAction */
cpp_quote("#define FileOpenAction_T FileOpenAction")



[
    uuid(f87dfe58-425b-c5ba-7d6d-22adeea25de1),
    v1_enum
]
typedef enum 
{
    FileSharingMode_Read = 1,
    FileSharingMode_Write = 2,
    FileSharingMode_ReadWrite = 3,
    FileSharingMode_Delete = 4,
    FileSharingMode_ReadDelete = 5,
    FileSharingMode_WriteDelete = 6,
    FileSharingMode_All = 7
} FileSharingMode;

/* cross-platform type name for FileSharingMode */
cpp_quote("#define FileSharingMode_T FileSharingMode")



[
    uuid(4671abd4-f70c-42aa-8542-6c169cb87a5c),
    v1_enum
]
typedef enum 
{
    FileOpenExFlag_None = 0
} FileOpenExFlag;

/* cross-platform type name for FileOpenExFlag */
cpp_quote("#define FileOpenExFlag_T FileOpenExFlag")



[
    uuid(8c86468b-b97b-4080-8914-e29f5b0abd2c),
    v1_enum
]
typedef enum 
{
    FileStatus_Undefined = 0,
    FileStatus_Opening = 10,
    FileStatus_Open = 100,
    FileStatus_Closing = 150,
    FileStatus_Closed = 200,
    FileStatus_Down = 600,
    FileStatus_Error = 800
} FileStatus;

/* cross-platform type name for FileStatus */
cpp_quote("#define FileStatus_T FileStatus")



[
    uuid(34a0d1aa-491e-e209-e150-84964d6cee5f),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for FsObjType */
cpp_quote("#define FsObjType_T FsObjType")



[
    uuid(17609e74-778e-4d0e-8827-35f5230f287b),
    v1_enum
]
typedef enum 
{
    DnDAction_Ignore = 0,
    DnDAction_Copy = 1,
    DnDAction_Move = 2,
    DnDAction_Link = 3
} DnDAction;

/* cross-platform type name for DnDAction */
cpp_quote("#define DnDAction_T DnDAction")



[
    uuid(92f838f6-cbf9-4760-bb63-92c567773366),
    v1_enum
]
typedef enum 
{
    DirectoryOpenFlag_None = 0,
    DirectoryOpenFlag_NoSymlinks = 1,
    DirectoryOpenFlag_DenyAscent = 2,
    DirectoryOpenFlag_NoFollowSymlinks = 4
} DirectoryOpenFlag;

/* cross-platform type name for DirectoryOpenFlag */
cpp_quote("#define DirectoryOpenFlag_T DirectoryOpenFlag")



[
    uuid(ef41e980-e012-43cd-9dea-479d4ef14d13),
    v1_enum
]
typedef enum 
{
    MediumState_NotCreated = 0,
    MediumState_Created = 1,
    MediumState_LockedRead = 2,
    MediumState_LockedWrite = 3,
    MediumState_Inaccessible = 4,
    MediumState_Creating = 5,
    MediumState_Deleting = 6
} MediumState;

/* cross-platform type name for MediumState */
cpp_quote("#define MediumState_T MediumState")



[
    uuid(fe663fb5-c244-4e1b-9d81-c628b417dd04),
    v1_enum
]
typedef enum 
{
    MediumType_Normal = 0,
    MediumType_Immutable = 1,
    MediumType_Writethrough = 2,
    MediumType_Shareable = 3,
    MediumType_Readonly = 4,
    MediumType_MultiAttach = 5
} MediumType;

/* cross-platform type name for MediumType */
cpp_quote("#define MediumType_T MediumType")



[
    uuid(0282e97f-4ef3-4411-a8e0-47c384803cb6),
    v1_enum
]
typedef enum 
{
    MediumVariant_Standard = 0,
    MediumVariant_VmdkSplit2G = 0x01,
    MediumVariant_VmdkRawDisk = 0x02,
    MediumVariant_VmdkStreamOptimized = 0x04,
    MediumVariant_VmdkESX = 0x08,
    MediumVariant_VdiZeroExpand = 0x100,
    MediumVariant_Fixed = 0x10000,
    MediumVariant_Diff = 0x20000,
    MediumVariant_Formatted = 0x20000000,
    MediumVariant_NoCreateDir = 0x40000000
} MediumVariant;

/* cross-platform type name for MediumVariant */
cpp_quote("#define MediumVariant_T MediumVariant")



[
    uuid(d90ea51e-a3f1-4a01-beb1-c1723c0d3ba7),
    v1_enum
]
typedef enum 
{
    DataType_Int32 = 0,
    DataType_Int8 = 1,
    DataType_String = 2
} DataType;

/* cross-platform type name for DataType */
cpp_quote("#define DataType_T DataType")



[
    uuid(86884dcf-1d6b-4f1b-b4bf-f5aa44959d60),
    v1_enum
]
typedef enum 
{
    DataFlags_None = 0x00,
    DataFlags_Mandatory = 0x01,
    DataFlags_Expert = 0x02,
    DataFlags_Array = 0x04,
    DataFlags_FlagMask = 0x07
} DataFlags;

/* cross-platform type name for DataFlags */
cpp_quote("#define DataFlags_T DataFlags")



[
    uuid(7342ba79-7ce0-4d94-8f86-5ed5a185d9bd),
    v1_enum
]
typedef enum 
{
    MediumFormatCapabilities_Uuid = 0x01,
    MediumFormatCapabilities_CreateFixed = 0x02,
    MediumFormatCapabilities_CreateDynamic = 0x04,
    MediumFormatCapabilities_CreateSplit2G = 0x08,
    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;

/* cross-platform type name for MediumFormatCapabilities */
cpp_quote("#define MediumFormatCapabilities_T MediumFormatCapabilities")



[
    uuid(360066eb-d19e-4fa1-57ef-fed434fbe2a9),
    v1_enum
]
typedef enum 
{
    PartitionTableType_MBR = 1,
    PartitionTableType_GPT = 2
} PartitionTableType;

/* cross-platform type name for PartitionTableType */
cpp_quote("#define PartitionTableType_T PartitionTableType")



[
    uuid(ef29ea38-409b-49c7-a817-c858d426dfba),
    v1_enum
]
typedef enum 
{
    KeyboardLED_NumLock = 0x01,
    KeyboardLED_CapsLock = 0x02,
    KeyboardLED_ScrollLock = 0x04
} KeyboardLED;

/* cross-platform type name for KeyboardLED */
cpp_quote("#define KeyboardLED_T KeyboardLED")



[
    uuid(9ee094b8-b28a-4d56-a166-973cb588d7f8),
    v1_enum
]
typedef enum 
{
    MouseButtonState_LeftButton = 0x01,
    MouseButtonState_RightButton = 0x02,
    MouseButtonState_MiddleButton = 0x04,
    MouseButtonState_WheelUp = 0x08,
    MouseButtonState_WheelDown = 0x10,
    MouseButtonState_XButton1 = 0x20,
    MouseButtonState_XButton2 = 0x40,
    MouseButtonState_MouseStateMask = 0x7F
} MouseButtonState;

/* cross-platform type name for MouseButtonState */
cpp_quote("#define MouseButtonState_T MouseButtonState")



[
    uuid(3f942686-2506-421c-927c-90d4b45f4a38),
    v1_enum
]
typedef enum 
{
    TouchContactState_None = 0x00,
    TouchContactState_InContact = 0x01,
    TouchContactState_InRange = 0x02,
    TouchContactState_ContactStateMask = 0x03
} TouchContactState;

/* cross-platform type name for TouchContactState */
cpp_quote("#define TouchContactState_T TouchContactState")



[
    uuid(cc395839-30fa-4ca5-ae65-e6360e3edd7a),
    v1_enum
]
typedef enum 
{
    FramebufferCapabilities_UpdateImage = 0x01,
    FramebufferCapabilities_VHWA = 0x02,
    FramebufferCapabilities_VisibleRegion = 0x04,
    FramebufferCapabilities_RenderCursor = 0x08,
    FramebufferCapabilities_MoveCursor = 0x10
} FramebufferCapabilities;

/* cross-platform type name for FramebufferCapabilities */
cpp_quote("#define FramebufferCapabilities_T FramebufferCapabilities")



[
    uuid(6b8d3f71-39cb-459e-a916-48917ed43e19),
    v1_enum
]
typedef enum 
{
    GuestMonitorStatus_Disabled = 0,
    GuestMonitorStatus_Enabled = 1,
    GuestMonitorStatus_Blank = 2
} GuestMonitorStatus;

/* cross-platform type name for GuestMonitorStatus */
cpp_quote("#define GuestMonitorStatus_T GuestMonitorStatus")



[
    uuid(8fa1964c-8774-11e9-ae5d-1f419105e68d),
    v1_enum
]
typedef enum 
{
    ScreenLayoutMode_Apply = 0,
    ScreenLayoutMode_Reset = 1,
    ScreenLayoutMode_Attach = 2,
    ScreenLayoutMode_Silent = 3
} ScreenLayoutMode;

/* cross-platform type name for ScreenLayoutMode */
cpp_quote("#define ScreenLayoutMode_T ScreenLayoutMode")



[
    uuid(cbfd17fa-fdc3-4d1c-97ec-4674da8d2a5d),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for NetworkAttachmentType */
cpp_quote("#define NetworkAttachmentType_T NetworkAttachmentType")



[
    uuid(3c2281e4-d952-4e87-8c7d-24379cb6a81c),
    v1_enum
]
typedef enum 
{
    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_UsbNet = 14,
    NetworkAdapterType_I82583V = 15
} NetworkAdapterType;

/* cross-platform type name for NetworkAdapterType */
cpp_quote("#define NetworkAdapterType_T NetworkAdapterType")



[
    uuid(c963768a-376f-4c85-8d84-d8ced4b7269e),
    v1_enum
]
typedef enum 
{
    NetworkAdapterPromiscModePolicy_Deny = 1,
    NetworkAdapterPromiscModePolicy_AllowNetwork = 2,
    NetworkAdapterPromiscModePolicy_AllowAll = 3
} NetworkAdapterPromiscModePolicy;

/* cross-platform type name for NetworkAdapterPromiscModePolicy */
cpp_quote("#define NetworkAdapterPromiscModePolicy_T NetworkAdapterPromiscModePolicy")



[
    uuid(7485fcfd-d603-470a-87af-26d33beb7de9),
    v1_enum
]
typedef enum 
{
    PortMode_Disconnected = 0,
    PortMode_HostPipe = 1,
    PortMode_HostDevice = 2,
    PortMode_RawFile = 3,
    PortMode_TCP = 4
} PortMode;

/* cross-platform type name for PortMode */
cpp_quote("#define PortMode_T PortMode")



[
    uuid(c8899d39-0b90-4265-9d02-1e38bd4d1b39),
    v1_enum
]
typedef enum 
{
    UartType_U16450 = 0,
    UartType_U16550A = 1,
    UartType_U16750 = 2
} UartType;

/* cross-platform type name for UartType */
cpp_quote("#define UartType_T UartType")



[
    uuid(8fdd1c6a-5412-41da-ab07-7baed7d6e18e),
    v1_enum
]
typedef enum 
{
    USBControllerType_Null = 0,
    USBControllerType_OHCI = 1,
    USBControllerType_EHCI = 2,
    USBControllerType_XHCI = 3,
    USBControllerType_Last = 4
} USBControllerType;

/* cross-platform type name for USBControllerType */
cpp_quote("#define USBControllerType_T USBControllerType")



[
    uuid(d2915840-ea26-4fb4-b72a-21eaf6b888ff),
    v1_enum
]
typedef enum 
{
    USBConnectionSpeed_Null = 0,
    USBConnectionSpeed_Low = 1,
    USBConnectionSpeed_Full = 2,
    USBConnectionSpeed_High = 3,
    USBConnectionSpeed_Super = 4,
    USBConnectionSpeed_SuperPlus = 5
} USBConnectionSpeed;

/* cross-platform type name for USBConnectionSpeed */
cpp_quote("#define USBConnectionSpeed_T USBConnectionSpeed")



[
    uuid(b99a2e65-67fb-4882-82fd-f3e5e8193ab4),
    v1_enum
]
typedef enum 
{
    USBDeviceState_NotSupported = 0,
    USBDeviceState_Unavailable = 1,
    USBDeviceState_Busy = 2,
    USBDeviceState_Available = 3,
    USBDeviceState_Held = 4,
    USBDeviceState_Captured = 5
} USBDeviceState;

/* cross-platform type name for USBDeviceState */
cpp_quote("#define USBDeviceState_T USBDeviceState")



[
    uuid(cbc30a49-2f4e-43b5-9da6-121320475933),
    v1_enum
]
typedef enum 
{
    USBDeviceFilterAction_Null = 0,
    USBDeviceFilterAction_Ignore = 1,
    USBDeviceFilterAction_Hold = 2
} USBDeviceFilterAction;

/* cross-platform type name for USBDeviceFilterAction */
cpp_quote("#define USBDeviceFilterAction_T USBDeviceFilterAction")



[
    uuid(32b4acfd-79ab-4b7e-9a1c-92e99f4e000b),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for AudioDriverType */
cpp_quote("#define AudioDriverType_T AudioDriverType")



[
    uuid(6389dcc9-4e60-4983-9418-299e602efafc),
    v1_enum
]
typedef enum 
{
    AudioControllerType_AC97 = 0,
    AudioControllerType_SB16 = 1,
    AudioControllerType_HDA = 2,
    AudioControllerType_VirtioSound = 3
} AudioControllerType;

/* cross-platform type name for AudioControllerType */
cpp_quote("#define AudioControllerType_T AudioControllerType")



[
    uuid(7b406301-f520-420c-9805-8ce11c086370),
    v1_enum
]
typedef enum 
{
    AudioCodecType_Null = 0,
    AudioCodecType_SB16 = 1,
    AudioCodecType_STAC9700 = 2,
    AudioCodecType_AD1980 = 3,
    AudioCodecType_STAC9221 = 4
} AudioCodecType;

/* cross-platform type name for AudioCodecType */
cpp_quote("#define AudioCodecType_T AudioCodecType")



[
    uuid(f27d209b-040c-4ae9-beae-85f9693ca07a),
    v1_enum
]
typedef enum 
{
    AudioDirection_Unknown = 0,
    AudioDirection_In = 1,
    AudioDirection_Out = 2,
    AudioDirection_Duplex = 3
} AudioDirection;

/* cross-platform type name for AudioDirection */
cpp_quote("#define AudioDirection_T AudioDirection")



[
    uuid(95457071-ef88-45a9-8416-fc05b08731d2),
    v1_enum
]
typedef enum 
{
    AudioDeviceType_Unknown = 0,
    AudioDeviceType_BuiltLin = 1,
    AudioDeviceType_ExternalUSB = 2,
    AudioDeviceType_ExternalOther = 3
} AudioDeviceType;

/* cross-platform type name for AudioDeviceType */
cpp_quote("#define AudioDeviceType_T AudioDeviceType")



[
    uuid(45c1b969-556a-4277-8570-b438d2ef5ebe),
    v1_enum
]
typedef enum 
{
    AudioDeviceState_Unknown = 0,
    AudioDeviceState_Active = 1,
    AudioDeviceState_Disabled = 2,
    AudioDeviceState_NotPresent = 3,
    AudioDeviceState_Unplugged = 4
} AudioDeviceState;

/* cross-platform type name for AudioDeviceState */
cpp_quote("#define AudioDeviceState_T AudioDeviceState")



[
    uuid(7eef6ef6-98c2-4dc2-ab35-10d2b292028d),
    v1_enum
]
typedef enum 
{
    AuthType_Null = 0,
    AuthType_External = 1,
    AuthType_Guest = 2
} AuthType;

/* cross-platform type name for AuthType */
cpp_quote("#define AuthType_T AuthType")



[
    uuid(e7e8e097-299d-4e98-8bbc-c31c2d47d0cc),
    v1_enum
]
typedef enum 
{
    Reason_Unspecified = 0,
    Reason_HostSuspend = 1,
    Reason_HostResume = 2,
    Reason_HostBatteryLow = 3,
    Reason_Snapshot = 4
} Reason;

/* cross-platform type name for Reason */
cpp_quote("#define Reason_T Reason")



[
    uuid(f9510869-7d07-46ba-96a6-6728fbf4adee),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for StorageBus */
cpp_quote("#define StorageBus_T StorageBus")



[
    uuid(a77d457d-66a3-4368-b24c-293d0f562a9f),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for StorageControllerType */
cpp_quote("#define StorageControllerType_T StorageControllerType")



[
    uuid(733d5f16-1f47-4e25-b272-d7c138bc2e3d),
    v1_enum
]
typedef enum 
{
    ChipsetType_Null = 0,
    ChipsetType_PIIX3 = 1,
    ChipsetType_ICH9 = 2,
    ChipsetType_ARMv8Virtual = 3
} ChipsetType;

/* cross-platform type name for ChipsetType */
cpp_quote("#define ChipsetType_T ChipsetType")



[
    uuid(67772168-50d9-11df-9669-7fb714ee4fa1),
    v1_enum
]
typedef enum 
{
    NATAliasMode_AliasLog = 0x1,
    NATAliasMode_AliasProxyOnly = 0x02,
    NATAliasMode_AliasUseSamePorts = 0x04
} NATAliasMode;

/* cross-platform type name for NATAliasMode */
cpp_quote("#define NATAliasMode_T NATAliasMode")



[
    uuid(e90164be-eb03-11de-94af-fff9b1c1b19f),
    v1_enum
]
typedef enum 
{
    NATProtocol_UDP = 0,
    NATProtocol_TCP = 1
} NATProtocol;

/* cross-platform type name for NATProtocol */
cpp_quote("#define NATProtocol_T NATProtocol")



[
    uuid(1d92b67d-dc69-4be9-ad4c-93a01e1e0c8e),
    v1_enum
]
typedef enum 
{
    BandwidthGroupType_Null = 0,
    BandwidthGroupType_Disk = 1,
    BandwidthGroupType_Network = 2
} BandwidthGroupType;

/* cross-platform type name for BandwidthGroupType */
cpp_quote("#define BandwidthGroupType_T BandwidthGroupType")



[
    uuid(acdaddc5-aa0f-4f2e-be1f-a9be2828d24a),
    v1_enum
]
typedef enum 
{
    GuestDebugProvider_None = 0,
    GuestDebugProvider_Native = 1,
    GuestDebugProvider_GDB = 2,
    GuestDebugProvider_KD = 3
} GuestDebugProvider;

/* cross-platform type name for GuestDebugProvider */
cpp_quote("#define GuestDebugProvider_T GuestDebugProvider")



[
    uuid(0cf00b1b-2ff7-414c-81c6-6cf410eaec4a),
    v1_enum
]
typedef enum 
{
    GuestDebugIoProvider_None = 0,
    GuestDebugIoProvider_TCP = 1,
    GuestDebugIoProvider_UDP = 2,
    GuestDebugIoProvider_IPC = 3
} GuestDebugIoProvider;

/* cross-platform type name for GuestDebugIoProvider */
cpp_quote("#define GuestDebugIoProvider_T GuestDebugIoProvider")



[
    uuid(0c8f8bd7-c5d8-4085-83c2-558a4025b215),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for VBoxEventType */
cpp_quote("#define VBoxEventType_T VBoxEventType")



[
    uuid(4b500146-ebba-4b7c-bc29-69c2d57a5caf),
    v1_enum
]
typedef enum 
{
    GuestMouseEventMode_Relative = 0,
    GuestMouseEventMode_Absolute = 1
} GuestMouseEventMode;

/* cross-platform type name for GuestMouseEventMode */
cpp_quote("#define GuestMouseEventMode_T GuestMouseEventMode")



[
    uuid(ef172985-7e36-4297-95be-e46396968d66),
    v1_enum
]
typedef enum 
{
    GuestMonitorChangedEventType_Enabled = 0,
    GuestMonitorChangedEventType_Disabled = 1,
    GuestMonitorChangedEventType_NewOrigin = 2
} GuestMonitorChangedEventType;

/* cross-platform type name for GuestMonitorChangedEventType */
cpp_quote("#define GuestMonitorChangedEventType_T GuestMonitorChangedEventType")



[
    uuid(5f10e2f2-911f-4f55-8afb-39c790f7dc42),
    v1_enum
]
typedef enum 
{
    FormValueType_Boolean = 0,
    FormValueType_String = 1,
    FormValueType_Choice = 2,
    FormValueType_RangedInteger = 3,
    FormValueType_RangedInteger64 = 4
} FormValueType;

/* cross-platform type name for FormValueType */
cpp_quote("#define FormValueType_T FormValueType")



[
    uuid(67b6d054-0154-4f5d-b71b-6ac406e1ff78),
    v1_enum
]
typedef enum 
{
    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;

/* cross-platform type name for CloudMachineState */
cpp_quote("#define CloudMachineState_T CloudMachineState")



[
    uuid(6e5d6762-eea2-4f2c-b104-2952d0aa8a0a),
    v1_enum
]
typedef enum 
{
    CloudImageState_Invalid = 0,
    CloudImageState_Provisioning = 1,
    CloudImageState_Importing = 2,
    CloudImageState_Available = 3,
    CloudImageState_Exporting = 4,
    CloudImageState_Disabled = 5,
    CloudImageState_Deleted = 6
} CloudImageState;

/* cross-platform type name for CloudImageState */
cpp_quote("#define CloudImageState_T CloudImageState")



[
    uuid(adf26edc-7e32-11ee-b962-0242ac120002),
    v1_enum
]
typedef enum 
{
    MetricType_Invalid = 0,
    MetricType_CpuUtilization = 1,
    MetricType_MemoryUtilization = 2,
    MetricType_DiskBytesRead = 3,
    MetricType_DiskBytesWritten = 4,
    MetricType_NetworksBytesIn = 5,
    MetricType_NetworksBytesOut = 6
} MetricType;

/* cross-platform type name for MetricType */
cpp_quote("#define MetricType_T MetricType")



[
    uuid(a818472e-215d-4279-8af8-eac4c0517bcc),
    v1_enum
]
typedef enum 
{
    SymlinkPolicy_None = 0,
    SymlinkPolicy_Forbidden = 1,
    SymlinkPolicy_AllowedInShareSubtree = 2,
    SymlinkPolicy_AllowedToRelativeTargets = 3,
    SymlinkPolicy_AllowedToAnyTarget = 4
} SymlinkPolicy;

/* cross-platform type name for SymlinkPolicy */
cpp_quote("#define SymlinkPolicy_T SymlinkPolicy")



[
    uuid(c1bcc6d5-7966-481d-ab0b-d0ed73e28135),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVirtualBoxErrorInfo : IErrorInfo
{
    [propget] HRESULT ResultCode ([out, retval] LONG * aResultCode);

    [propget] HRESULT ResultDetail ([out, retval] LONG * aResultDetail);

    [propget] HRESULT InterfaceID ([out, retval] BSTR * aInterfaceID);

    [propget] HRESULT Component ([out, retval] BSTR * aComponent);

    [propget] HRESULT Text ([out, retval] BSTR * aText);

    [propget] HRESULT Next ([out, retval] IVirtualBoxErrorInfo * * aNext);

}; /* interface IVirtualBoxErrorInfo */

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

[
    uuid(90b89e78-1a61-4e66-af61-b9d2532e5632),
    object,
    dual,
    oleautomation
    , proxy
]
interface INATNetwork : IDispatch
{
    [propget] HRESULT NetworkName ([out, retval] BSTR * aNetworkName);
    [propput] HRESULT NetworkName ([in] BSTR aNetworkName);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT Network ([out, retval] BSTR * aNetwork);
    [propput] HRESULT Network ([in] BSTR aNetwork);

    [propget] HRESULT Gateway ([out, retval] BSTR * aGateway);

    [propget] HRESULT IPv6Enabled ([out, retval] BOOL * aIPv6Enabled);
    [propput] HRESULT IPv6Enabled ([in] BOOL aIPv6Enabled);

    [propget] HRESULT IPv6Prefix ([out, retval] BSTR * aIPv6Prefix);
    [propput] HRESULT IPv6Prefix ([in] BSTR aIPv6Prefix);

    [propget] HRESULT AdvertiseDefaultIPv6RouteEnabled ([out, retval] BOOL * aAdvertiseDefaultIPv6RouteEnabled);
    [propput] HRESULT AdvertiseDefaultIPv6RouteEnabled ([in] BOOL aAdvertiseDefaultIPv6RouteEnabled);

    [propget] HRESULT NeedDhcpServer ([out, retval] BOOL * aNeedDhcpServer);
    [propput] HRESULT NeedDhcpServer ([in] BOOL aNeedDhcpServer);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT PortForwardRules4 ([out, retval] SAFEARRAY(BSTR) * aPortForwardRules4);

    [propget] HRESULT LocalMappings ([out, retval] SAFEARRAY(BSTR) * aLocalMappings);

    [propget] HRESULT LocalhostReachable ([out, retval] BOOL * aLocalhostReachable);
    [propput] HRESULT LocalhostReachable ([in] BOOL aLocalhostReachable);

    [propget] HRESULT ForwardBroadcast ([out, retval] BOOL * aForwardBroadcast);
    [propput] HRESULT ForwardBroadcast ([in] BOOL aForwardBroadcast);

    [propget] HRESULT NatMTU ([out, retval] ULONG * aNatMTU);
    [propput] HRESULT NatMTU ([in] ULONG aNatMTU);

    [propget] HRESULT NatMRU ([out, retval] ULONG * aNatMRU);
    [propput] HRESULT NatMRU ([in] ULONG aNatMRU);

    [propget] HRESULT LoopbackIp6 ([out, retval] LONG * aLoopbackIp6);
    [propput] HRESULT LoopbackIp6 ([in] LONG aLoopbackIp6);

    [propget] HRESULT PortForwardRules6 ([out, retval] SAFEARRAY(BSTR) * aPortForwardRules6);

    [propget] HRESULT InternalAndReservedAttribute1INATNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2INATNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3INATNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4INATNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5INATNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6INATNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7INATNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8INATNetwork ([out, retval] ULONG *aReserved);

    HRESULT AddLocalMapping (
        [in] BSTR aHostid,
        [in] LONG aOffset
    );

    HRESULT AddPortForwardRule (
        [in] BOOL aIsIpv6,
        [in] BSTR aRuleName,
        [in] NATProtocol aProto,
        [in] BSTR aHostIP,
        [in] USHORT aHostPort,
        [in] BSTR aGuestIP,
        [in] USHORT aGuestPort
    );

    HRESULT RemovePortForwardRule (
        [in] BOOL aIsIpv6,
        [in] BSTR aRuleName
    );

    HRESULT Start();

    HRESULT Stop();

    HRESULT InternalAndReservedMethod1INATNetwork();

    HRESULT InternalAndReservedMethod2INATNetwork();

    HRESULT InternalAndReservedMethod3INATNetwork();

    HRESULT InternalAndReservedMethod4INATNetwork();

}; /* interface INATNetwork */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkName (BSTR * aNetworkName) { return smth get_NetworkName (aNetworkName); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_NetworkName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NetworkName_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_NetworkName_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE put_NetworkName (BSTR aNetworkName) { return smth put_NetworkName (aNetworkName); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_NetworkName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NetworkName_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_NetworkName_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_Enabled_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_Enabled_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_Network_TO(smth) HRESULT STDMETHODCALLTYPE get_Network (BSTR * aNetwork) { return smth get_Network (aNetwork); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_Network_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_Network_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_Network_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_Network_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_Network_TO(smth) HRESULT STDMETHODCALLTYPE put_Network (BSTR aNetwork) { return smth put_Network (aNetwork); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_Network_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_Network_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_Network_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_Network_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_Gateway_TO(smth) HRESULT STDMETHODCALLTYPE get_Gateway (BSTR * aGateway) { return smth get_Gateway (aGateway); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_Gateway_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_Gateway_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_Gateway_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_Gateway_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_IPv6Enabled (BOOL * aIPv6Enabled) { return smth get_IPv6Enabled (aIPv6Enabled); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_IPv6Enabled (BOOL aIPv6Enabled) { return smth put_IPv6Enabled (aIPv6Enabled); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO(smth) HRESULT STDMETHODCALLTYPE get_IPv6Prefix (BSTR * aIPv6Prefix) { return smth get_IPv6Prefix (aIPv6Prefix); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO(smth) HRESULT STDMETHODCALLTYPE put_IPv6Prefix (BSTR aIPv6Prefix) { return smth put_IPv6Prefix (aIPv6Prefix); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_AdvertiseDefaultIPv6RouteEnabled (BOOL * aAdvertiseDefaultIPv6RouteEnabled) { return smth get_AdvertiseDefaultIPv6RouteEnabled (aAdvertiseDefaultIPv6RouteEnabled); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_AdvertiseDefaultIPv6RouteEnabled (BOOL aAdvertiseDefaultIPv6RouteEnabled) { return smth put_AdvertiseDefaultIPv6RouteEnabled (aAdvertiseDefaultIPv6RouteEnabled); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO(smth) HRESULT STDMETHODCALLTYPE get_NeedDhcpServer (BOOL * aNeedDhcpServer) { return smth get_NeedDhcpServer (aNeedDhcpServer); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO(smth) HRESULT STDMETHODCALLTYPE put_NeedDhcpServer (BOOL aNeedDhcpServer) { return smth put_NeedDhcpServer (aNeedDhcpServer); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_EventSource_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO(smth) HRESULT STDMETHODCALLTYPE get_PortForwardRules4 (SAFEARRAY * * aPortForwardRules4) { return smth get_PortForwardRules4 (aPortForwardRules4); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO(smth) HRESULT STDMETHODCALLTYPE get_LocalMappings (SAFEARRAY * * aLocalMappings) { return smth get_LocalMappings (aLocalMappings); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_LocalhostReachable_TO(smth) HRESULT STDMETHODCALLTYPE get_LocalhostReachable (BOOL * aLocalhostReachable) { return smth get_LocalhostReachable (aLocalhostReachable); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_LocalhostReachable_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_LocalhostReachable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_LocalhostReachable_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_LocalhostReachable_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_LocalhostReachable_TO(smth) HRESULT STDMETHODCALLTYPE put_LocalhostReachable (BOOL aLocalhostReachable) { return smth put_LocalhostReachable (aLocalhostReachable); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_LocalhostReachable_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_LocalhostReachable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_LocalhostReachable_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_LocalhostReachable_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_ForwardBroadcast_TO(smth) HRESULT STDMETHODCALLTYPE get_ForwardBroadcast (BOOL * aForwardBroadcast) { return smth get_ForwardBroadcast (aForwardBroadcast); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_ForwardBroadcast_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_ForwardBroadcast_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_ForwardBroadcast_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_ForwardBroadcast_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_ForwardBroadcast_TO(smth) HRESULT STDMETHODCALLTYPE put_ForwardBroadcast (BOOL aForwardBroadcast) { return smth put_ForwardBroadcast (aForwardBroadcast); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_ForwardBroadcast_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_ForwardBroadcast_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_ForwardBroadcast_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_ForwardBroadcast_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NatMTU_TO(smth) HRESULT STDMETHODCALLTYPE get_NatMTU (ULONG * aNatMTU) { return smth get_NatMTU (aNatMTU); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NatMTU_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_NatMTU_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NatMTU_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_NatMTU_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NatMTU_TO(smth) HRESULT STDMETHODCALLTYPE put_NatMTU (ULONG aNatMTU) { return smth put_NatMTU (aNatMTU); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NatMTU_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_NatMTU_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NatMTU_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_NatMTU_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NatMRU_TO(smth) HRESULT STDMETHODCALLTYPE get_NatMRU (ULONG * aNatMRU) { return smth get_NatMRU (aNatMRU); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NatMRU_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_NatMRU_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_NatMRU_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_NatMRU_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NatMRU_TO(smth) HRESULT STDMETHODCALLTYPE put_NatMRU (ULONG aNatMRU) { return smth put_NatMRU (aNatMRU); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NatMRU_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_NatMRU_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_NatMRU_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_NatMRU_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO(smth) HRESULT STDMETHODCALLTYPE get_LoopbackIp6 (LONG * aLoopbackIp6) { return smth get_LoopbackIp6 (aLoopbackIp6); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO(smth) HRESULT STDMETHODCALLTYPE put_LoopbackIp6 (LONG aLoopbackIp6) { return smth put_LoopbackIp6 (aLoopbackIp6); }")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO(smth) HRESULT STDMETHODCALLTYPE get_PortForwardRules6 (SAFEARRAY * * aPortForwardRules6) { return smth get_PortForwardRules6 (aPortForwardRules6); }")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_AddLocalMapping_TO(smth) HRESULT STDMETHODCALLTYPE AddLocalMapping (BSTR aHostid, LONG aOffset) { return smth AddLocalMapping (aHostid, aOffset); }")
cpp_quote("#define COM_FORWARD_INATNetwork_AddLocalMapping_TO_OBJ(obj) COM_FORWARD_INATNetwork_AddLocalMapping_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_AddLocalMapping_TO_BASE(base) COM_FORWARD_INATNetwork_AddLocalMapping_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_INATNetwork_AddPortForwardRule_TO_OBJ(obj) COM_FORWARD_INATNetwork_AddPortForwardRule_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_AddPortForwardRule_TO_BASE(base) COM_FORWARD_INATNetwork_AddPortForwardRule_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_RemovePortForwardRule_TO(smth) HRESULT STDMETHODCALLTYPE RemovePortForwardRule (BOOL aIsIpv6, BSTR aRuleName) { return smth RemovePortForwardRule (aIsIpv6, aRuleName); }")
cpp_quote("#define COM_FORWARD_INATNetwork_RemovePortForwardRule_TO_OBJ(obj) COM_FORWARD_INATNetwork_RemovePortForwardRule_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_RemovePortForwardRule_TO_BASE(base) COM_FORWARD_INATNetwork_RemovePortForwardRule_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_Start_TO(smth) HRESULT STDMETHODCALLTYPE Start() { return smth Start(); }")
cpp_quote("#define COM_FORWARD_INATNetwork_Start_TO_OBJ(obj) COM_FORWARD_INATNetwork_Start_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_Start_TO_BASE(base) COM_FORWARD_INATNetwork_Start_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetwork_Stop_TO(smth) HRESULT STDMETHODCALLTYPE Stop() { return smth Stop(); }")
cpp_quote("#define COM_FORWARD_INATNetwork_Stop_TO_OBJ(obj) COM_FORWARD_INATNetwork_Stop_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_Stop_TO_BASE(base) COM_FORWARD_INATNetwork_Stop_TO (base::)")
cpp_quote("#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_LocalhostReachable_TO (smth) COM_FORWARD_INATNetwork_SETTER_LocalhostReachable_TO (smth) COM_FORWARD_INATNetwork_GETTER_ForwardBroadcast_TO (smth) COM_FORWARD_INATNetwork_SETTER_ForwardBroadcast_TO (smth) COM_FORWARD_INATNetwork_GETTER_NatMTU_TO (smth) COM_FORWARD_INATNetwork_SETTER_NatMTU_TO (smth) COM_FORWARD_INATNetwork_GETTER_NatMRU_TO (smth) COM_FORWARD_INATNetwork_SETTER_NatMRU_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) ")
cpp_quote("#define COM_FORWARD_INATNetwork_TO_OBJ(obj) COM_FORWARD_INATNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetwork_TO_BASE(base) COM_FORWARD_INATNetwork_TO (base::)")

[
    uuid(d8e3496e-735f-4fde-8a54-427d49409b5f),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudNetwork : IDispatch
{
    [propget] HRESULT NetworkName ([out, retval] BSTR * aNetworkName);
    [propput] HRESULT NetworkName ([in] BSTR aNetworkName);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT Provider ([out, retval] BSTR * aProvider);
    [propput] HRESULT Provider ([in] BSTR aProvider);

    [propget] HRESULT Profile ([out, retval] BSTR * aProfile);
    [propput] HRESULT Profile ([in] BSTR aProfile);

    [propget] HRESULT NetworkId ([out, retval] BSTR * aNetworkId);
    [propput] HRESULT NetworkId ([in] BSTR aNetworkId);

    [propget] HRESULT InternalAndReservedAttribute1ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11ICloudNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12ICloudNetwork ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1ICloudNetwork();

    HRESULT InternalAndReservedMethod2ICloudNetwork();

    HRESULT InternalAndReservedMethod3ICloudNetwork();

    HRESULT InternalAndReservedMethod4ICloudNetwork();

}; /* interface ICloudNetwork */

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

[
    uuid(6eb5de7d-9a67-4fde-83be-f768084d03b5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostOnlyNetwork : IDispatch
{
    [propget] HRESULT NetworkName ([out, retval] BSTR * aNetworkName);
    [propput] HRESULT NetworkName ([in] BSTR aNetworkName);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT NetworkMask ([out, retval] BSTR * aNetworkMask);
    [propput] HRESULT NetworkMask ([in] BSTR aNetworkMask);

    [propget] HRESULT HostIP ([out, retval] BSTR * aHostIP);

    [propget] HRESULT LowerIP ([out, retval] BSTR * aLowerIP);
    [propput] HRESULT LowerIP ([in] BSTR aLowerIP);

    [propget] HRESULT UpperIP ([out, retval] BSTR * aUpperIP);
    [propput] HRESULT UpperIP ([in] BSTR aUpperIP);

    [propget] HRESULT Id ([out, retval] BSTR * aId);
    [propput] HRESULT Id ([in] BSTR aId);

    [propget] HRESULT InternalAndReservedAttribute1IHostOnlyNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IHostOnlyNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IHostOnlyNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IHostOnlyNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IHostOnlyNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IHostOnlyNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IHostOnlyNetwork ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IHostOnlyNetwork ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1IHostOnlyNetwork();

    HRESULT InternalAndReservedMethod2IHostOnlyNetwork();

    HRESULT InternalAndReservedMethod3IHostOnlyNetwork();

    HRESULT InternalAndReservedMethod4IHostOnlyNetwork();

}; /* interface IHostOnlyNetwork */

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

[
    uuid(cadef0a2-a1a9-4ac2-8e80-c049af69dac8),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDHCPServer : IDispatch
{
    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT IPAddress ([out, retval] BSTR * aIPAddress);

    [propget] HRESULT NetworkMask ([out, retval] BSTR * aNetworkMask);

    [propget] HRESULT NetworkName ([out, retval] BSTR * aNetworkName);

    [propget] HRESULT LowerIP ([out, retval] BSTR * aLowerIP);

    [propget] HRESULT UpperIP ([out, retval] BSTR * aUpperIP);

    [propget] HRESULT GlobalConfig ([out, retval] IDHCPGlobalConfig * * aGlobalConfig);

    [propget] HRESULT GroupConfigs ([out, retval] SAFEARRAY(IDHCPGroupConfig *) * aGroupConfigs);

    [propget] HRESULT IndividualConfigs ([out, retval] SAFEARRAY(IDHCPIndividualConfig *) * aIndividualConfigs);

    [propget] HRESULT InternalAndReservedAttribute1IDHCPServer ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDHCPServer ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IDHCPServer ([out, retval] ULONG *aReserved);

    HRESULT SetConfiguration (
        [in] BSTR aIPAddress,
        [in] BSTR aNetworkMask,
        [in] BSTR aFromIPAddress,
        [in] BSTR aToIPAddress
    );

    HRESULT Start (
        [in] BSTR aTrunkName,
        [in] BSTR aTrunkType
    );

    HRESULT Stop();

    HRESULT Restart();

    HRESULT FindLeaseByMAC (
        [in] BSTR aMac,
        [in] LONG aType,
        [out] BSTR * aAddress,
        [out] BSTR * aState,
        [out] LONG64 * aIssued,
        [out] LONG64 * aExpire
    );

    HRESULT GetConfig (
        [in] DHCPConfigScope aScope,
        [in] BSTR aName,
        [in] ULONG aSlot,
        [in] BOOL aMayAdd,
        [out, retval] IDHCPConfig * * aConfig
    );

}; /* interface IDHCPServer */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IDHCPServer_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IDHCPServer_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_IPAddress (BSTR * aIPAddress) { return smth get_IPAddress (aIPAddress); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkMask (BSTR * aNetworkMask) { return smth get_NetworkMask (aNetworkMask); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkName (BSTR * aNetworkName) { return smth get_NetworkName (aNetworkName); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO(smth) HRESULT STDMETHODCALLTYPE get_LowerIP (BSTR * aLowerIP) { return smth get_LowerIP (aLowerIP); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO(smth) HRESULT STDMETHODCALLTYPE get_UpperIP (BSTR * aUpperIP) { return smth get_UpperIP (aUpperIP); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO(smth) HRESULT STDMETHODCALLTYPE get_GlobalConfig (IDHCPGlobalConfig * * aGlobalConfig) { return smth get_GlobalConfig (aGlobalConfig); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO(smth) HRESULT STDMETHODCALLTYPE get_GroupConfigs (SAFEARRAY * * aGroupConfigs) { return smth get_GroupConfigs (aGroupConfigs); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO(smth) HRESULT STDMETHODCALLTYPE get_IndividualConfigs (SAFEARRAY * * aIndividualConfigs) { return smth get_IndividualConfigs (aIndividualConfigs); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_SetConfiguration_TO_OBJ(obj) COM_FORWARD_IDHCPServer_SetConfiguration_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_SetConfiguration_TO_BASE(base) COM_FORWARD_IDHCPServer_SetConfiguration_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_Start_TO(smth) HRESULT STDMETHODCALLTYPE Start (BSTR aTrunkName, BSTR aTrunkType) { return smth Start (aTrunkName, aTrunkType); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_Start_TO_OBJ(obj) COM_FORWARD_IDHCPServer_Start_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_Start_TO_BASE(base) COM_FORWARD_IDHCPServer_Start_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_Stop_TO(smth) HRESULT STDMETHODCALLTYPE Stop() { return smth Stop(); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_Stop_TO_OBJ(obj) COM_FORWARD_IDHCPServer_Stop_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_Stop_TO_BASE(base) COM_FORWARD_IDHCPServer_Stop_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPServer_Restart_TO(smth) HRESULT STDMETHODCALLTYPE Restart() { return smth Restart(); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_Restart_TO_OBJ(obj) COM_FORWARD_IDHCPServer_Restart_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_Restart_TO_BASE(base) COM_FORWARD_IDHCPServer_Restart_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_FindLeaseByMAC_TO_OBJ(obj) COM_FORWARD_IDHCPServer_FindLeaseByMAC_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_FindLeaseByMAC_TO_BASE(base) COM_FORWARD_IDHCPServer_FindLeaseByMAC_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDHCPServer_GetConfig_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GetConfig_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_GetConfig_TO_BASE(base) COM_FORWARD_IDHCPServer_GetConfig_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IDHCPServer_TO_OBJ(obj) COM_FORWARD_IDHCPServer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPServer_TO_BASE(base) COM_FORWARD_IDHCPServer_TO (base::)")

[
    uuid(00f4a8dc-0002-4b81-0077-1dcb004571ba),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDHCPConfig : IDispatch
{
    [propget] HRESULT Scope ([out, retval] DHCPConfigScope * aScope);

    [propget] HRESULT MinLeaseTime ([out, retval] ULONG * aMinLeaseTime);
    [propput] HRESULT MinLeaseTime ([in] ULONG aMinLeaseTime);

    [propget] HRESULT DefaultLeaseTime ([out, retval] ULONG * aDefaultLeaseTime);
    [propput] HRESULT DefaultLeaseTime ([in] ULONG aDefaultLeaseTime);

    [propget] HRESULT MaxLeaseTime ([out, retval] ULONG * aMaxLeaseTime);
    [propput] HRESULT MaxLeaseTime ([in] ULONG aMaxLeaseTime);

    [propget] HRESULT ForcedOptions ([out, retval] SAFEARRAY(DHCPOption) * aForcedOptions);
    [propput] HRESULT ForcedOptions ([in] SAFEARRAY(DHCPOption) aForcedOptions);

    [propget] HRESULT SuppressedOptions ([out, retval] SAFEARRAY(DHCPOption) * aSuppressedOptions);
    [propput] HRESULT SuppressedOptions ([in] SAFEARRAY(DHCPOption) aSuppressedOptions);

    [propget] HRESULT InternalAndReservedAttribute1IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IDHCPConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IDHCPConfig ([out, retval] ULONG *aReserved);

    HRESULT SetOption (
        [in] DHCPOption aOption,
        [in] DHCPOptionEncoding aEncoding,
        [in] BSTR aValue
    );

    HRESULT RemoveOption (
        [in] DHCPOption aOption
    );

    HRESULT RemoveAllOptions();

    HRESULT GetOption (
        [in] DHCPOption aOption,
        [out] DHCPOptionEncoding * aEncoding,
        [out, retval] BSTR * aValue
    );

    HRESULT GetAllOptions (
        [out] SAFEARRAY(DHCPOption) * aOptions,
        [out] SAFEARRAY(DHCPOptionEncoding) * aEncodings,
        [out, retval] SAFEARRAY(BSTR) * aValues
    );

    HRESULT Remove();

    HRESULT InternalAndReservedMethod1IDHCPConfig();

    HRESULT InternalAndReservedMethod2IDHCPConfig();

    HRESULT InternalAndReservedMethod3IDHCPConfig();

    HRESULT InternalAndReservedMethod4IDHCPConfig();

    HRESULT InternalAndReservedMethod5IDHCPConfig();

    HRESULT InternalAndReservedMethod6IDHCPConfig();

    HRESULT InternalAndReservedMethod7IDHCPConfig();

    HRESULT InternalAndReservedMethod8IDHCPConfig();

}; /* interface IDHCPConfig */

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

[
    uuid(46735de7-f4c4-4020-a185-0d2881bcfa8b),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDHCPGlobalConfig : IDHCPConfig
{
    [propget] HRESULT InternalAndReservedAttribute1IDHCPGlobalConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDHCPGlobalConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IDHCPGlobalConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IDHCPGlobalConfig ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1IDHCPGlobalConfig();

    HRESULT InternalAndReservedMethod2IDHCPGlobalConfig();

    HRESULT InternalAndReservedMethod3IDHCPGlobalConfig();

    HRESULT InternalAndReservedMethod4IDHCPGlobalConfig();

}; /* interface IDHCPGlobalConfig */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDHCPGlobalConfig_TO(smth) ")
cpp_quote("#define COM_FORWARD_IDHCPGlobalConfig_TO_OBJ(obj) COM_FORWARD_IDHCPGlobalConfig_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPGlobalConfig_TO_BASE(base) COM_FORWARD_IDHCPGlobalConfig_TO (base::)")

[
    uuid(5ca9e537-5a1d-43f1-6f27-6a0db298a9a8),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDHCPGroupCondition : IDispatch
{
    [propget] HRESULT Inclusive ([out, retval] BOOL * aInclusive);
    [propput] HRESULT Inclusive ([in] BOOL aInclusive);

    [propget] HRESULT Type ([out, retval] DHCPGroupConditionType * aType);
    [propput] HRESULT Type ([in] DHCPGroupConditionType aType);

    [propget] HRESULT Value ([out, retval] BSTR * aValue);
    [propput] HRESULT Value ([in] BSTR aValue);

    [propget] HRESULT InternalAndReservedAttribute1IDHCPGroupCondition ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDHCPGroupCondition ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IDHCPGroupCondition ([out, retval] ULONG *aReserved);

    HRESULT Remove();

    HRESULT InternalAndReservedMethod1IDHCPGroupCondition();

    HRESULT InternalAndReservedMethod2IDHCPGroupCondition();

    HRESULT InternalAndReservedMethod3IDHCPGroupCondition();

}; /* interface IDHCPGroupCondition */

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

[
    uuid(537707f7-ebf9-4d5c-7aea-877bfc4256ba),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDHCPGroupConfig : IDHCPConfig
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);
    [propput] HRESULT Name ([in] BSTR aName);

    [propget] HRESULT Conditions ([out, retval] SAFEARRAY(IDHCPGroupCondition *) * aConditions);

    [propget] HRESULT InternalAndReservedAttribute1IDHCPGroupConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDHCPGroupConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IDHCPGroupConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IDHCPGroupConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IDHCPGroupConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IDHCPGroupConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IDHCPGroupConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IDHCPGroupConfig ([out, retval] ULONG *aReserved);

    HRESULT AddCondition (
        [in] BOOL aInclusive,
        [in] DHCPGroupConditionType aType,
        [in] BSTR aValue,
        [out, retval] IDHCPGroupCondition * * aCondition
    );

    HRESULT RemoveAllConditions();

    HRESULT InternalAndReservedMethod1IDHCPGroupConfig();

    HRESULT InternalAndReservedMethod2IDHCPGroupConfig();

    HRESULT InternalAndReservedMethod3IDHCPGroupConfig();

    HRESULT InternalAndReservedMethod4IDHCPGroupConfig();

    HRESULT InternalAndReservedMethod5IDHCPGroupConfig();

    HRESULT InternalAndReservedMethod6IDHCPGroupConfig();

    HRESULT InternalAndReservedMethod7IDHCPGroupConfig();

    HRESULT InternalAndReservedMethod8IDHCPGroupConfig();

}; /* interface IDHCPGroupConfig */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO(smth) HRESULT STDMETHODCALLTYPE get_Conditions (SAFEARRAY * * aConditions) { return smth get_Conditions (aConditions); }")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_AddCondition_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_AddCondition_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_AddCondition_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_AddCondition_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO(smth) HRESULT STDMETHODCALLTYPE RemoveAllConditions() { return smth RemoveAllConditions(); }")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPGroupConfig_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_TO (base::)")

[
    uuid(c40c2b86-73a5-46cc-8227-93fe57d006a6),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDHCPIndividualConfig : IDHCPConfig
{
    [propget] HRESULT MACAddress ([out, retval] BSTR * aMACAddress);

    [propget] HRESULT MachineId ([out, retval] BSTR * aMachineId);

    [propget] HRESULT Slot ([out, retval] ULONG * aSlot);

    [propget] HRESULT FixedAddress ([out, retval] BSTR * aFixedAddress);
    [propput] HRESULT FixedAddress ([in] BSTR aFixedAddress);

    [propget] HRESULT InternalAndReservedAttribute1IDHCPIndividualConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDHCPIndividualConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IDHCPIndividualConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IDHCPIndividualConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IDHCPIndividualConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IDHCPIndividualConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IDHCPIndividualConfig ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IDHCPIndividualConfig ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1IDHCPIndividualConfig();

    HRESULT InternalAndReservedMethod2IDHCPIndividualConfig();

    HRESULT InternalAndReservedMethod3IDHCPIndividualConfig();

    HRESULT InternalAndReservedMethod4IDHCPIndividualConfig();

    HRESULT InternalAndReservedMethod5IDHCPIndividualConfig();

    HRESULT InternalAndReservedMethod6IDHCPIndividualConfig();

    HRESULT InternalAndReservedMethod7IDHCPIndividualConfig();

    HRESULT InternalAndReservedMethod8IDHCPIndividualConfig();

}; /* interface IDHCPIndividualConfig */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_MACAddress (BSTR * aMACAddress) { return smth get_MACAddress (aMACAddress); }")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineId (BSTR * aMachineId) { return smth get_MachineId (aMachineId); }")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO(smth) HRESULT STDMETHODCALLTYPE get_Slot (ULONG * aSlot) { return smth get_Slot (aSlot); }")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_FixedAddress (BSTR * aFixedAddress) { return smth get_FixedAddress (aFixedAddress); }")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_FixedAddress (BSTR aFixedAddress) { return smth put_FixedAddress (aFixedAddress); }")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDHCPIndividualConfig_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_TO (base::)")

[
    uuid(2ce10519-3c09-45d8-a12d-e887786146b7),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVirtualBox : IDispatch
{
    [propget] HRESULT Version ([out, retval] BSTR * aVersion);

    [propget] HRESULT VersionNormalized ([out, retval] BSTR * aVersionNormalized);

    [propget] HRESULT Revision ([out, retval] ULONG * aRevision);

    [propget] HRESULT PackageType ([out, retval] BSTR * aPackageType);

    [propget] HRESULT APIVersion ([out, retval] BSTR * aAPIVersion);

    [propget] HRESULT APIRevision ([out, retval] LONG64 * aAPIRevision);

    [propget] HRESULT HomeFolder ([out, retval] BSTR * aHomeFolder);

    [propget] HRESULT SettingsFilePath ([out, retval] BSTR * aSettingsFilePath);

    [propget] HRESULT Host ([out, retval] IHost * * aHost);

    [propget] HRESULT SystemProperties ([out, retval] ISystemProperties * * aSystemProperties);

    [propget] HRESULT Machines ([out, retval] SAFEARRAY(IMachine *) * aMachines);

    [propget] HRESULT MachineGroups ([out, retval] SAFEARRAY(BSTR) * aMachineGroups);

    [propget] HRESULT HardDisks ([out, retval] SAFEARRAY(IMedium *) * aHardDisks);

    [propget] HRESULT DVDImages ([out, retval] SAFEARRAY(IMedium *) * aDVDImages);

    [propget] HRESULT FloppyImages ([out, retval] SAFEARRAY(IMedium *) * aFloppyImages);

    [propget] HRESULT ProgressOperations ([out, retval] SAFEARRAY(IProgress *) * aProgressOperations);

    [propget] HRESULT GuestOSTypes ([out, retval] SAFEARRAY(IGuestOSType *) * aGuestOSTypes);

    [propget] HRESULT GuestOSFamilies ([out, retval] SAFEARRAY(BSTR) * aGuestOSFamilies);

    [propget] HRESULT SharedFolders ([out, retval] SAFEARRAY(ISharedFolder *) * aSharedFolders);

    [propget] HRESULT PerformanceCollector ([out, retval] IPerformanceCollector * * aPerformanceCollector);

    [propget] HRESULT DHCPServers ([out, retval] SAFEARRAY(IDHCPServer *) * aDHCPServers);

    [propget] HRESULT NATNetworks ([out, retval] SAFEARRAY(INATNetwork *) * aNATNetworks);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT ExtensionPackManager ([out, retval] IExtPackManager * * aExtensionPackManager);

    [propget] HRESULT InternalNetworks ([out, retval] SAFEARRAY(BSTR) * aInternalNetworks);

    [propget] HRESULT HostOnlyNetworks ([out, retval] SAFEARRAY(IHostOnlyNetwork *) * aHostOnlyNetworks);

    [propget] HRESULT GenericNetworkDrivers ([out, retval] SAFEARRAY(BSTR) * aGenericNetworkDrivers);

    [propget] HRESULT CloudNetworks ([out, retval] SAFEARRAY(ICloudNetwork *) * aCloudNetworks);

    [propget] HRESULT CloudProviderManager ([out, retval] ICloudProviderManager * * aCloudProviderManager);

    [propget] HRESULT InternalAndReservedAttribute1IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IVirtualBox ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IVirtualBox ([out, retval] ULONG *aReserved);

    HRESULT ComposeMachineFilename (
        [in] BSTR aName,
        [in] BSTR aGroup,
        [in] BSTR aCreateFlags,
        [in] BSTR aBaseFolder,
        [out, retval] BSTR * aFile
    );

    HRESULT GetPlatformProperties (
        [in] PlatformArchitecture aArchitecture,
        [out, retval] IPlatformProperties * * aProperties
    );

    HRESULT CreateMachine (
        [in] BSTR aSettingsFile,
        [in] BSTR aName,
        [in] PlatformArchitecture aPlatform,
        [in] SAFEARRAY(BSTR) aGroups,
        [in] BSTR aOsTypeId,
        [in] BSTR aFlags,
        [in] BSTR aCipher,
        [in] BSTR aPasswordId,
        [in] BSTR aPassword,
        [out, retval] IMachine * * aMachine
    );

    HRESULT OpenMachine (
        [in] BSTR aSettingsFile,
        [in] BSTR aPassword,
        [out, retval] IMachine * * aMachine
    );

    HRESULT RegisterMachine (
        [in] IMachine * aMachine
    );

    HRESULT FindMachine (
        [in] BSTR aNameOrId,
        [out, retval] IMachine * * aMachine
    );

    HRESULT GetMachinesByGroups (
        [in] SAFEARRAY(BSTR) aGroups,
        [out, retval] SAFEARRAY(IMachine *) * aMachines
    );

    HRESULT GetMachineStates (
        [in] SAFEARRAY(IMachine *) aMachines,
        [out, retval] SAFEARRAY(MachineState) * aStates
    );

    HRESULT CreateAppliance (
        [out, retval] IAppliance * * aAppliance
    );

    HRESULT CreateUnattendedInstaller (
        [out, retval] IUnattended * * aUnattended
    );

    HRESULT CreateMedium (
        [in] BSTR aFormat,
        [in] BSTR aLocation,
        [in] AccessMode aAccessMode,
        [in] DeviceType aADeviceTypeType,
        [out, retval] IMedium * * aMedium
    );

    HRESULT OpenMedium (
        [in] BSTR aLocation,
        [in] DeviceType aDeviceType,
        [in] AccessMode aAccessMode,
        [in] BOOL aForceNewUuid,
        [out, retval] IMedium * * aMedium
    );

    HRESULT GetGuestOSType (
        [in] BSTR aId,
        [out, retval] IGuestOSType * * aType
    );

    HRESULT GetGuestOSSubtypesByFamilyId (
        [in] BSTR aFamily,
        [out, retval] SAFEARRAY(BSTR) * aOSsubtypes
    );

    HRESULT GetGuestOSDescsBySubtype (
        [in] BSTR aOSSubtype,
        [out, retval] SAFEARRAY(BSTR) * aGuestOSDescs
    );

    HRESULT CreateSharedFolder (
        [in] BSTR aName,
        [in] BSTR aHostPath,
        [in] BOOL aWritable,
        [in] BOOL aAutomount,
        [in] BSTR aAutoMountPoint
    );

    HRESULT RemoveSharedFolder (
        [in] BSTR aName
    );

    HRESULT GetExtraDataKeys (
        [out, retval] SAFEARRAY(BSTR) * aKeys
    );

    HRESULT GetExtraData (
        [in] BSTR aKey,
        [out, retval] BSTR * aValue
    );

    HRESULT SetExtraData (
        [in] BSTR aKey,
        [in] BSTR aValue
    );

    HRESULT SetSettingsSecret (
        [in] BSTR aPassword
    );

    HRESULT CreateDHCPServer (
        [in] BSTR aName,
        [out, retval] IDHCPServer * * aServer
    );

    HRESULT FindDHCPServerByNetworkName (
        [in] BSTR aName,
        [out, retval] IDHCPServer * * aServer
    );

    HRESULT RemoveDHCPServer (
        [in] IDHCPServer * aServer
    );

    HRESULT CreateNATNetwork (
        [in] BSTR aNetworkName,
        [out, retval] INATNetwork * * aNetwork
    );

    HRESULT FindNATNetworkByName (
        [in] BSTR aNetworkName,
        [out, retval] INATNetwork * * aNetwork
    );

    HRESULT RemoveNATNetwork (
        [in] INATNetwork * aNetwork
    );

    HRESULT CreateHostOnlyNetwork (
        [in] BSTR aNetworkName,
        [out, retval] IHostOnlyNetwork * * aNetwork
    );

    HRESULT FindHostOnlyNetworkByName (
        [in] BSTR aNetworkName,
        [out, retval] IHostOnlyNetwork * * aNetwork
    );

    HRESULT FindHostOnlyNetworkById (
        [in] BSTR aId,
        [out, retval] IHostOnlyNetwork * * aNetwork
    );

    HRESULT RemoveHostOnlyNetwork (
        [in] IHostOnlyNetwork * aNetwork
    );

    HRESULT CreateCloudNetwork (
        [in] BSTR aNetworkName,
        [out, retval] ICloudNetwork * * aNetwork
    );

    HRESULT FindCloudNetworkByName (
        [in] BSTR aNetworkName,
        [out, retval] ICloudNetwork * * aNetwork
    );

    HRESULT RemoveCloudNetwork (
        [in] ICloudNetwork * aNetwork
    );

    HRESULT CheckFirmwarePresent (
        [in] PlatformArchitecture aPlatformArchitecture,
        [in] FirmwareType aFirmwareType,
        [in] BSTR aVersion,
        [out] BSTR * aUrl,
        [out] BSTR * aFile,
        [out, retval] BOOL * aResult
    );

    HRESULT FindProgressById (
        [in] BSTR aId,
        [out, retval] IProgress * * aProgressObject
    );

    HRESULT GetTrackedObject (
        [in] BSTR aTrObjId,
        [out] IUnknown * * aPIface,
        [out] TrackedObjectState * aState,
        [out] LONG64 * aCreationTime,
        [out] LONG64 * aDeletionTime
    );

    HRESULT GetTrackedObjectIds (
        [in] BSTR aName,
        [out, retval] SAFEARRAY(BSTR) * aObjIdsList
    );

    HRESULT InternalAndReservedMethod1IVirtualBox();

    HRESULT InternalAndReservedMethod2IVirtualBox();

    HRESULT InternalAndReservedMethod3IVirtualBox();

    HRESULT InternalAndReservedMethod4IVirtualBox();

    HRESULT InternalAndReservedMethod5IVirtualBox();

    HRESULT InternalAndReservedMethod6IVirtualBox();

}; /* interface IVirtualBox */

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

[
    uuid(fb220201-2fd3-47e2-a5dc-2c2431d833cc),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVFSExplorer : IDispatch
{
    [propget] HRESULT Path ([out, retval] BSTR * aPath);

    [propget] HRESULT Type ([out, retval] VFSType * aType);

    HRESULT Update (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Cd (
        [in] BSTR aDir,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CdUp (
        [out, retval] IProgress * * aProgress
    );

    HRESULT EntryList (
        [out] SAFEARRAY(BSTR) * aNames,
        [out] SAFEARRAY(ULONG) * aTypes,
        [out] SAFEARRAY(LONG64) * aSizes,
        [out] SAFEARRAY(ULONG) * aModes
    );

    HRESULT Exists (
        [in] SAFEARRAY(BSTR) aNames,
        [out, retval] SAFEARRAY(BSTR) * aExists
    );

    HRESULT Remove (
        [in] SAFEARRAY(BSTR) aNames,
        [out, retval] IProgress * * aProgress
    );

}; /* interface IVFSExplorer */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVFSExplorer_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }")
cpp_quote("#define COM_FORWARD_IVFSExplorer_GETTER_Path_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_GETTER_Path_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_GETTER_Path_TO_BASE(base) COM_FORWARD_IVFSExplorer_GETTER_Path_TO (base::)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (VFSType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IVFSExplorer_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_GETTER_Type_TO_BASE(base) COM_FORWARD_IVFSExplorer_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Update_TO(smth) HRESULT STDMETHODCALLTYPE Update (IProgress * * aProgress) { return smth Update (aProgress); }")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Update_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_Update_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Update_TO_BASE(base) COM_FORWARD_IVFSExplorer_Update_TO (base::)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Cd_TO(smth) HRESULT STDMETHODCALLTYPE Cd (BSTR aDir, IProgress * * aProgress) { return smth Cd (aDir, aProgress); }")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Cd_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_Cd_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Cd_TO_BASE(base) COM_FORWARD_IVFSExplorer_Cd_TO (base::)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_CdUp_TO(smth) HRESULT STDMETHODCALLTYPE CdUp (IProgress * * aProgress) { return smth CdUp (aProgress); }")
cpp_quote("#define COM_FORWARD_IVFSExplorer_CdUp_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_CdUp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_CdUp_TO_BASE(base) COM_FORWARD_IVFSExplorer_CdUp_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IVFSExplorer_EntryList_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_EntryList_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_EntryList_TO_BASE(base) COM_FORWARD_IVFSExplorer_EntryList_TO (base::)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Exists_TO(smth) HRESULT STDMETHODCALLTYPE Exists (SAFEARRAY * * aNames, SAFEARRAY * * aExists) { return smth Exists (aNames, aExists); }")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Exists_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_Exists_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Exists_TO_BASE(base) COM_FORWARD_IVFSExplorer_Exists_TO (base::)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Remove_TO(smth) HRESULT STDMETHODCALLTYPE Remove (SAFEARRAY * * aNames, IProgress * * aProgress) { return smth Remove (aNames, aProgress); }")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Remove_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_Remove_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_Remove_TO_BASE(base) COM_FORWARD_IVFSExplorer_Remove_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IVFSExplorer_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVFSExplorer_TO_BASE(base) COM_FORWARD_IVFSExplorer_TO (base::)")

[
    uuid(392f1de4-80e1-4a8a-93a1-67c5f92a838a),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICertificate : IDispatch
{
    [propget] HRESULT VersionNumber ([out, retval] CertificateVersion * aVersionNumber);

    [propget] HRESULT SerialNumber ([out, retval] BSTR * aSerialNumber);

    [propget] HRESULT SignatureAlgorithmOID ([out, retval] BSTR * aSignatureAlgorithmOID);

    [propget] HRESULT SignatureAlgorithmName ([out, retval] BSTR * aSignatureAlgorithmName);

    [propget] HRESULT IssuerName ([out, retval] SAFEARRAY(BSTR) * aIssuerName);

    [propget] HRESULT SubjectName ([out, retval] SAFEARRAY(BSTR) * aSubjectName);

    [propget] HRESULT FriendlyName ([out, retval] BSTR * aFriendlyName);

    [propget] HRESULT ValidityPeriodNotBefore ([out, retval] BSTR * aValidityPeriodNotBefore);

    [propget] HRESULT ValidityPeriodNotAfter ([out, retval] BSTR * aValidityPeriodNotAfter);

    [propget] HRESULT PublicKeyAlgorithmOID ([out, retval] BSTR * aPublicKeyAlgorithmOID);

    [propget] HRESULT PublicKeyAlgorithm ([out, retval] BSTR * aPublicKeyAlgorithm);

    [propget] HRESULT SubjectPublicKey ([out, retval] SAFEARRAY(BYTE) * aSubjectPublicKey);

    [propget] HRESULT IssuerUniqueIdentifier ([out, retval] BSTR * aIssuerUniqueIdentifier);

    [propget] HRESULT SubjectUniqueIdentifier ([out, retval] BSTR * aSubjectUniqueIdentifier);

    [propget] HRESULT CertificateAuthority ([out, retval] BOOL * aCertificateAuthority);

    [propget] HRESULT KeyUsage ([out, retval] ULONG * aKeyUsage);

    [propget] HRESULT ExtendedKeyUsage ([out, retval] SAFEARRAY(BSTR) * aExtendedKeyUsage);

    [propget] HRESULT RawCertData ([out, retval] SAFEARRAY(BYTE) * aRawCertData);

    [propget] HRESULT SelfSigned ([out, retval] BOOL * aSelfSigned);

    [propget] HRESULT Trusted ([out, retval] BOOL * aTrusted);

    [propget] HRESULT Expired ([out, retval] BOOL * aExpired);

    [propget] HRESULT InternalAndReservedAttribute1ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11ICertificate ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12ICertificate ([out, retval] ULONG *aReserved);

    HRESULT IsCurrentlyExpired (
        [out, retval] BOOL * aResult
    );

    HRESULT QueryInfo (
        [in] LONG aWhat,
        [out, retval] BSTR * aResult
    );

    HRESULT InternalAndReservedMethod1ICertificate();

    HRESULT InternalAndReservedMethod2ICertificate();

}; /* interface ICertificate */

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

[
    uuid(86a98347-7619-41aa-aece-b21ac5c1a7e6),
    object,
    dual,
    oleautomation
    , proxy
]
interface IAppliance : IDispatch
{
    [propget] HRESULT Path ([out, retval] BSTR * aPath);

    [propget] HRESULT Disks ([out, retval] SAFEARRAY(BSTR) * aDisks);

    [propget] HRESULT VirtualSystemDescriptions ([out, retval] SAFEARRAY(IVirtualSystemDescription *) * aVirtualSystemDescriptions);

    [propget] HRESULT Machines ([out, retval] SAFEARRAY(BSTR) * aMachines);

    [propget] HRESULT Certificate ([out, retval] ICertificate * * aCertificate);

    [propget] HRESULT InternalAndReservedAttribute1IAppliance ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IAppliance ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IAppliance ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IAppliance ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IAppliance ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IAppliance ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IAppliance ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IAppliance ([out, retval] ULONG *aReserved);

    HRESULT Read (
        [in] BSTR aFile,
        [out, retval] IProgress * * aProgress
    );

    HRESULT Interpret();

    HRESULT ImportMachines (
        [in] SAFEARRAY(ImportOptions) aOptions,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CreateVFSExplorer (
        [in] BSTR aURI,
        [out, retval] IVFSExplorer * * aExplorer
    );

    HRESULT Write (
        [in] BSTR aFormat,
        [in] SAFEARRAY(ExportOptions) aOptions,
        [in] BSTR aPath,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetWarnings (
        [out, retval] SAFEARRAY(BSTR) * aWarnings
    );

    HRESULT GetPasswordIds (
        [out, retval] SAFEARRAY(BSTR) * aIdentifiers
    );

    HRESULT GetMediumIdsForPasswordId (
        [in] BSTR aPasswordId,
        [out, retval] SAFEARRAY(BSTR) * aIdentifiers
    );

    HRESULT AddPasswords (
        [in] SAFEARRAY(BSTR) aIdentifiers,
        [in] SAFEARRAY(BSTR) aPasswords
    );

    HRESULT CreateVirtualSystemDescriptions (
        [in] ULONG aRequested,
        [out, retval] ULONG * aCreated
    );

    HRESULT InternalAndReservedMethod1IAppliance();

    HRESULT InternalAndReservedMethod2IAppliance();

    HRESULT InternalAndReservedMethod3IAppliance();

    HRESULT InternalAndReservedMethod4IAppliance();

    HRESULT InternalAndReservedMethod5IAppliance();

    HRESULT InternalAndReservedMethod6IAppliance();

    HRESULT InternalAndReservedMethod7IAppliance();

}; /* interface IAppliance */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Path_TO_OBJ(obj) COM_FORWARD_IAppliance_GETTER_Path_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Path_TO_BASE(base) COM_FORWARD_IAppliance_GETTER_Path_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Disks_TO(smth) HRESULT STDMETHODCALLTYPE get_Disks (SAFEARRAY * * aDisks) { return smth get_Disks (aDisks); }")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Disks_TO_OBJ(obj) COM_FORWARD_IAppliance_GETTER_Disks_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Disks_TO_BASE(base) COM_FORWARD_IAppliance_GETTER_Disks_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO(smth) HRESULT STDMETHODCALLTYPE get_VirtualSystemDescriptions (SAFEARRAY * * aVirtualSystemDescriptions) { return smth get_VirtualSystemDescriptions (aVirtualSystemDescriptions); }")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO_OBJ(obj) COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO_BASE(base) COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Machines_TO(smth) HRESULT STDMETHODCALLTYPE get_Machines (SAFEARRAY * * aMachines) { return smth get_Machines (aMachines); }")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Machines_TO_OBJ(obj) COM_FORWARD_IAppliance_GETTER_Machines_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Machines_TO_BASE(base) COM_FORWARD_IAppliance_GETTER_Machines_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Certificate_TO(smth) HRESULT STDMETHODCALLTYPE get_Certificate (ICertificate * * aCertificate) { return smth get_Certificate (aCertificate); }")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Certificate_TO_OBJ(obj) COM_FORWARD_IAppliance_GETTER_Certificate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_GETTER_Certificate_TO_BASE(base) COM_FORWARD_IAppliance_GETTER_Certificate_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (BSTR aFile, IProgress * * aProgress) { return smth Read (aFile, aProgress); }")
cpp_quote("#define COM_FORWARD_IAppliance_Read_TO_OBJ(obj) COM_FORWARD_IAppliance_Read_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_Read_TO_BASE(base) COM_FORWARD_IAppliance_Read_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_Interpret_TO(smth) HRESULT STDMETHODCALLTYPE Interpret() { return smth Interpret(); }")
cpp_quote("#define COM_FORWARD_IAppliance_Interpret_TO_OBJ(obj) COM_FORWARD_IAppliance_Interpret_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_Interpret_TO_BASE(base) COM_FORWARD_IAppliance_Interpret_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_ImportMachines_TO(smth) HRESULT STDMETHODCALLTYPE ImportMachines (SAFEARRAY * * aOptions, IProgress * * aProgress) { return smth ImportMachines (aOptions, aProgress); }")
cpp_quote("#define COM_FORWARD_IAppliance_ImportMachines_TO_OBJ(obj) COM_FORWARD_IAppliance_ImportMachines_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_ImportMachines_TO_BASE(base) COM_FORWARD_IAppliance_ImportMachines_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_CreateVFSExplorer_TO(smth) HRESULT STDMETHODCALLTYPE CreateVFSExplorer (BSTR aURI, IVFSExplorer * * aExplorer) { return smth CreateVFSExplorer (aURI, aExplorer); }")
cpp_quote("#define COM_FORWARD_IAppliance_CreateVFSExplorer_TO_OBJ(obj) COM_FORWARD_IAppliance_CreateVFSExplorer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_CreateVFSExplorer_TO_BASE(base) COM_FORWARD_IAppliance_CreateVFSExplorer_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IAppliance_Write_TO_OBJ(obj) COM_FORWARD_IAppliance_Write_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_Write_TO_BASE(base) COM_FORWARD_IAppliance_Write_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_GetWarnings_TO(smth) HRESULT STDMETHODCALLTYPE GetWarnings (SAFEARRAY * * aWarnings) { return smth GetWarnings (aWarnings); }")
cpp_quote("#define COM_FORWARD_IAppliance_GetWarnings_TO_OBJ(obj) COM_FORWARD_IAppliance_GetWarnings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_GetWarnings_TO_BASE(base) COM_FORWARD_IAppliance_GetWarnings_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_GetPasswordIds_TO(smth) HRESULT STDMETHODCALLTYPE GetPasswordIds (SAFEARRAY * * aIdentifiers) { return smth GetPasswordIds (aIdentifiers); }")
cpp_quote("#define COM_FORWARD_IAppliance_GetPasswordIds_TO_OBJ(obj) COM_FORWARD_IAppliance_GetPasswordIds_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_GetPasswordIds_TO_BASE(base) COM_FORWARD_IAppliance_GetPasswordIds_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO(smth) HRESULT STDMETHODCALLTYPE GetMediumIdsForPasswordId (BSTR aPasswordId, SAFEARRAY * * aIdentifiers) { return smth GetMediumIdsForPasswordId (aPasswordId, aIdentifiers); }")
cpp_quote("#define COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO_OBJ(obj) COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO_BASE(base) COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_AddPasswords_TO(smth) HRESULT STDMETHODCALLTYPE AddPasswords (SAFEARRAY * * aIdentifiers, SAFEARRAY * * aPasswords) { return smth AddPasswords (aIdentifiers, aPasswords); }")
cpp_quote("#define COM_FORWARD_IAppliance_AddPasswords_TO_OBJ(obj) COM_FORWARD_IAppliance_AddPasswords_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_AddPasswords_TO_BASE(base) COM_FORWARD_IAppliance_AddPasswords_TO (base::)")
cpp_quote("#define COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO(smth) HRESULT STDMETHODCALLTYPE CreateVirtualSystemDescriptions (ULONG aRequested, ULONG * aCreated) { return smth CreateVirtualSystemDescriptions (aRequested, aCreated); }")
cpp_quote("#define COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO_OBJ(obj) COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO_BASE(base) COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IAppliance_TO_OBJ(obj) COM_FORWARD_IAppliance_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAppliance_TO_BASE(base) COM_FORWARD_IAppliance_TO (base::)")

[
    uuid(01510f40-c196-4d26-b8db-4c8c389f1f82),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVirtualSystemDescription : IDispatch
{
    [propget] HRESULT Count ([out, retval] ULONG * aCount);

    [propget] HRESULT InternalAndReservedAttribute1IVirtualSystemDescription ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IVirtualSystemDescription ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IVirtualSystemDescription ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IVirtualSystemDescription ([out, retval] ULONG *aReserved);

    HRESULT GetDescription (
        [out] SAFEARRAY(VirtualSystemDescriptionType) * aTypes,
        [out] SAFEARRAY(BSTR) * aRefs,
        [out] SAFEARRAY(BSTR) * aOVFValues,
        [out] SAFEARRAY(BSTR) * aVBoxValues,
        [out] SAFEARRAY(BSTR) * aExtraConfigValues
    );

    HRESULT GetDescriptionByType (
        [in] VirtualSystemDescriptionType aType,
        [out] SAFEARRAY(VirtualSystemDescriptionType) * aTypes,
        [out] SAFEARRAY(BSTR) * aRefs,
        [out] SAFEARRAY(BSTR) * aOVFValues,
        [out] SAFEARRAY(BSTR) * aVBoxValues,
        [out] SAFEARRAY(BSTR) * aExtraConfigValues
    );

    HRESULT RemoveDescriptionByType (
        [in] VirtualSystemDescriptionType aType
    );

    HRESULT GetValuesByType (
        [in] VirtualSystemDescriptionType aType,
        [in] VirtualSystemDescriptionValueType aWhich,
        [out, retval] SAFEARRAY(BSTR) * aValues
    );

    HRESULT SetFinalValues (
        [in] SAFEARRAY(BOOL) aEnabled,
        [in] SAFEARRAY(BSTR) aVBoxValues,
        [in] SAFEARRAY(BSTR) aExtraConfigValues
    );

    HRESULT AddDescription (
        [in] VirtualSystemDescriptionType aType,
        [in] BSTR aVBoxValue,
        [in] BSTR aExtraConfigValue
    );

    HRESULT InternalAndReservedMethod1IVirtualSystemDescription();

    HRESULT InternalAndReservedMethod2IVirtualSystemDescription();

    HRESULT InternalAndReservedMethod3IVirtualSystemDescription();

    HRESULT InternalAndReservedMethod4IVirtualSystemDescription();

}; /* interface IVirtualSystemDescription */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO(smth) HRESULT STDMETHODCALLTYPE get_Count (ULONG * aCount) { return smth get_Count (aCount); }")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_GetDescription_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_GetDescription_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_GetDescription_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_GetDescription_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_GetDescriptionByType_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_GetDescriptionByType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_GetDescriptionByType_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_GetDescriptionByType_TO (base::)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO(smth) HRESULT STDMETHODCALLTYPE RemoveDescriptionByType (VirtualSystemDescriptionType aType) { return smth RemoveDescriptionByType (aType); }")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO (base::)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO(smth) HRESULT STDMETHODCALLTYPE GetValuesByType (VirtualSystemDescriptionType aType, VirtualSystemDescriptionValueType aWhich, SAFEARRAY * * aValues) { return smth GetValuesByType (aType, aWhich, aValues); }")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO (base::)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO(smth) HRESULT STDMETHODCALLTYPE SetFinalValues (SAFEARRAY * * aEnabled, SAFEARRAY * * aVBoxValues, SAFEARRAY * * aExtraConfigValues) { return smth SetFinalValues (aEnabled, aVBoxValues, aExtraConfigValues); }")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO (base::)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_AddDescription_TO(smth) HRESULT STDMETHODCALLTYPE AddDescription (VirtualSystemDescriptionType aType, BSTR aVBoxValue, BSTR aExtraConfigValue) { return smth AddDescription (aType, aVBoxValue, aExtraConfigValue); }")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_AddDescription_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_AddDescription_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_AddDescription_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_AddDescription_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescription_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_TO (base::)")

[
    uuid(39d1f56c-c1c2-40df-84e9-468062d84768),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUnattended : IDispatch
{
    [propget] HRESULT IsoPath ([out, retval] BSTR * aIsoPath);
    [propput] HRESULT IsoPath ([in] BSTR aIsoPath);

    [propget] HRESULT Machine ([out, retval] IMachine * * aMachine);
    [propput] HRESULT Machine ([in] IMachine * aMachine);

    [propget] HRESULT User ([out, retval] BSTR * aUser);
    [propput] HRESULT User ([in] BSTR aUser);

    [propget] HRESULT UserPassword ([out, retval] BSTR * aUserPassword);
    [propput] HRESULT UserPassword ([in] BSTR aUserPassword);

    [propget] HRESULT AdminPassword ([out, retval] BSTR * aAdminPassword);
    [propput] HRESULT AdminPassword ([in] BSTR aAdminPassword);

    [propget] HRESULT FullUserName ([out, retval] BSTR * aFullUserName);
    [propput] HRESULT FullUserName ([in] BSTR aFullUserName);

    [propget] HRESULT ProductKey ([out, retval] BSTR * aProductKey);
    [propput] HRESULT ProductKey ([in] BSTR aProductKey);

    [propget] HRESULT AdditionsIsoPath ([out, retval] BSTR * aAdditionsIsoPath);
    [propput] HRESULT AdditionsIsoPath ([in] BSTR aAdditionsIsoPath);

    [propget] HRESULT InstallGuestAdditions ([out, retval] BOOL * aInstallGuestAdditions);
    [propput] HRESULT InstallGuestAdditions ([in] BOOL aInstallGuestAdditions);

    [propget] HRESULT ProductKeyRequired ([out, retval] BOOL * aProductKeyRequired);

    [propget] HRESULT ValidationKitIsoPath ([out, retval] BSTR * aValidationKitIsoPath);
    [propput] HRESULT ValidationKitIsoPath ([in] BSTR aValidationKitIsoPath);

    [propget] HRESULT InstallTestExecService ([out, retval] BOOL * aInstallTestExecService);
    [propput] HRESULT InstallTestExecService ([in] BOOL aInstallTestExecService);

    [propget] HRESULT UserPayloadIsoPath ([out, retval] BSTR * aUserPayloadIsoPath);
    [propput] HRESULT UserPayloadIsoPath ([in] BSTR aUserPayloadIsoPath);

    [propget] HRESULT InstallUserPayload ([out, retval] BOOL * aInstallUserPayload);
    [propput] HRESULT InstallUserPayload ([in] BOOL aInstallUserPayload);

    [propget] HRESULT TimeZone ([out, retval] BSTR * aTimeZone);
    [propput] HRESULT TimeZone ([in] BSTR aTimeZone);

    [propget] HRESULT KeyboardLayout ([out, retval] BSTR * aKeyboardLayout);
    [propput] HRESULT KeyboardLayout ([in] BSTR aKeyboardLayout);

    [propget] HRESULT KeyboardVariant ([out, retval] BSTR * aKeyboardVariant);
    [propput] HRESULT KeyboardVariant ([in] BSTR aKeyboardVariant);

    [propget] HRESULT Locale ([out, retval] BSTR * aLocale);
    [propput] HRESULT Locale ([in] BSTR aLocale);

    [propget] HRESULT Language ([out, retval] BSTR * aLanguage);
    [propput] HRESULT Language ([in] BSTR aLanguage);

    [propget] HRESULT Country ([out, retval] BSTR * aCountry);
    [propput] HRESULT Country ([in] BSTR aCountry);

    [propget] HRESULT Proxy ([out, retval] BSTR * aProxy);
    [propput] HRESULT Proxy ([in] BSTR aProxy);

    [propget] HRESULT PackageSelectionAdjustments ([out, retval] BSTR * aPackageSelectionAdjustments);
    [propput] HRESULT PackageSelectionAdjustments ([in] BSTR aPackageSelectionAdjustments);

    [propget] HRESULT Hostname ([out, retval] BSTR * aHostname);
    [propput] HRESULT Hostname ([in] BSTR aHostname);

    [propget] HRESULT AuxiliaryBasePath ([out, retval] BSTR * aAuxiliaryBasePath);
    [propput] HRESULT AuxiliaryBasePath ([in] BSTR aAuxiliaryBasePath);

    [propget] HRESULT ImageIndex ([out, retval] ULONG * aImageIndex);
    [propput] HRESULT ImageIndex ([in] ULONG aImageIndex);

    [propget] HRESULT ScriptTemplatePath ([out, retval] BSTR * aScriptTemplatePath);
    [propput] HRESULT ScriptTemplatePath ([in] BSTR aScriptTemplatePath);

    [propget] HRESULT PostInstallScriptTemplatePath ([out, retval] BSTR * aPostInstallScriptTemplatePath);
    [propput] HRESULT PostInstallScriptTemplatePath ([in] BSTR aPostInstallScriptTemplatePath);

    [propget] HRESULT PostInstallCommand ([out, retval] BSTR * aPostInstallCommand);
    [propput] HRESULT PostInstallCommand ([in] BSTR aPostInstallCommand);

    [propget] HRESULT ExtraInstallKernelParameters ([out, retval] BSTR * aExtraInstallKernelParameters);
    [propput] HRESULT ExtraInstallKernelParameters ([in] BSTR aExtraInstallKernelParameters);

    [propget] HRESULT DetectedOSTypeId ([out, retval] BSTR * aDetectedOSTypeId);

    [propget] HRESULT DetectedOSVersion ([out, retval] BSTR * aDetectedOSVersion);

    [propget] HRESULT DetectedOSFlavor ([out, retval] BSTR * aDetectedOSFlavor);

    [propget] HRESULT DetectedOSLanguages ([out, retval] BSTR * aDetectedOSLanguages);

    [propget] HRESULT DetectedOSHints ([out, retval] BSTR * aDetectedOSHints);

    [propget] HRESULT DetectedImageNames ([out, retval] SAFEARRAY(BSTR) * aDetectedImageNames);

    [propget] HRESULT DetectedImageIndices ([out, retval] SAFEARRAY(ULONG) * aDetectedImageIndices);

    [propget] HRESULT IsUnattendedInstallSupported ([out, retval] BOOL * aIsUnattendedInstallSupported);

    [propget] HRESULT AvoidUpdatesOverNetwork ([out, retval] BOOL * aAvoidUpdatesOverNetwork);
    [propput] HRESULT AvoidUpdatesOverNetwork ([in] BOOL aAvoidUpdatesOverNetwork);

    [propget] HRESULT InternalAndReservedAttribute1IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IUnattended ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IUnattended ([out, retval] ULONG *aReserved);

    HRESULT DetectIsoOS();

    HRESULT Prepare();

    HRESULT ConstructMedia();

    HRESULT ReconfigureVM();

    HRESULT Done();

    HRESULT InternalAndReservedMethod1IUnattended();

    HRESULT InternalAndReservedMethod2IUnattended();

    HRESULT InternalAndReservedMethod3IUnattended();

    HRESULT InternalAndReservedMethod4IUnattended();

}; /* interface IUnattended */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_IsoPath_TO(smth) HRESULT STDMETHODCALLTYPE get_IsoPath (BSTR * aIsoPath) { return smth get_IsoPath (aIsoPath); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_IsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_IsoPath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_IsoPath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_IsoPath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_IsoPath_TO(smth) HRESULT STDMETHODCALLTYPE put_IsoPath (BSTR aIsoPath) { return smth put_IsoPath (aIsoPath); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_IsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_IsoPath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_IsoPath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_IsoPath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE get_Machine (IMachine * * aMachine) { return smth get_Machine (aMachine); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Machine_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Machine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Machine_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Machine_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE put_Machine (IMachine * aMachine) { return smth put_Machine (aMachine); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Machine_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Machine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Machine_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Machine_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_User_TO(smth) HRESULT STDMETHODCALLTYPE get_User (BSTR * aUser) { return smth get_User (aUser); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_User_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_User_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_User_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_User_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_User_TO(smth) HRESULT STDMETHODCALLTYPE put_User (BSTR aUser) { return smth put_User (aUser); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_User_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_User_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_User_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_User_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_UserPassword_TO(smth) HRESULT STDMETHODCALLTYPE get_UserPassword (BSTR * aUserPassword) { return smth get_UserPassword (aUserPassword); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_UserPassword_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_UserPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_UserPassword_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_UserPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_UserPassword_TO(smth) HRESULT STDMETHODCALLTYPE put_UserPassword (BSTR aUserPassword) { return smth put_UserPassword (aUserPassword); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_UserPassword_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_UserPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_UserPassword_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_UserPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AdminPassword_TO(smth) HRESULT STDMETHODCALLTYPE get_AdminPassword (BSTR * aAdminPassword) { return smth get_AdminPassword (aAdminPassword); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AdminPassword_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_AdminPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AdminPassword_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_AdminPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AdminPassword_TO(smth) HRESULT STDMETHODCALLTYPE put_AdminPassword (BSTR aAdminPassword) { return smth put_AdminPassword (aAdminPassword); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AdminPassword_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_AdminPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AdminPassword_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_AdminPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_FullUserName_TO(smth) HRESULT STDMETHODCALLTYPE get_FullUserName (BSTR * aFullUserName) { return smth get_FullUserName (aFullUserName); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_FullUserName_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_FullUserName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_FullUserName_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_FullUserName_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_FullUserName_TO(smth) HRESULT STDMETHODCALLTYPE put_FullUserName (BSTR aFullUserName) { return smth put_FullUserName (aFullUserName); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_FullUserName_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_FullUserName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_FullUserName_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_FullUserName_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ProductKey_TO(smth) HRESULT STDMETHODCALLTYPE get_ProductKey (BSTR * aProductKey) { return smth get_ProductKey (aProductKey); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ProductKey_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ProductKey_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ProductKey_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ProductKey_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ProductKey_TO(smth) HRESULT STDMETHODCALLTYPE put_ProductKey (BSTR aProductKey) { return smth put_ProductKey (aProductKey); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ProductKey_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_ProductKey_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ProductKey_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_ProductKey_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE get_AdditionsIsoPath (BSTR * aAdditionsIsoPath) { return smth get_AdditionsIsoPath (aAdditionsIsoPath); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE put_AdditionsIsoPath (BSTR aAdditionsIsoPath) { return smth put_AdditionsIsoPath (aAdditionsIsoPath); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO(smth) HRESULT STDMETHODCALLTYPE get_InstallGuestAdditions (BOOL * aInstallGuestAdditions) { return smth get_InstallGuestAdditions (aInstallGuestAdditions); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO(smth) HRESULT STDMETHODCALLTYPE put_InstallGuestAdditions (BOOL aInstallGuestAdditions) { return smth put_InstallGuestAdditions (aInstallGuestAdditions); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ProductKeyRequired_TO(smth) HRESULT STDMETHODCALLTYPE get_ProductKeyRequired (BOOL * aProductKeyRequired) { return smth get_ProductKeyRequired (aProductKeyRequired); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ProductKeyRequired_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ProductKeyRequired_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ProductKeyRequired_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ProductKeyRequired_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE get_ValidationKitIsoPath (BSTR * aValidationKitIsoPath) { return smth get_ValidationKitIsoPath (aValidationKitIsoPath); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE put_ValidationKitIsoPath (BSTR aValidationKitIsoPath) { return smth put_ValidationKitIsoPath (aValidationKitIsoPath); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO(smth) HRESULT STDMETHODCALLTYPE get_InstallTestExecService (BOOL * aInstallTestExecService) { return smth get_InstallTestExecService (aInstallTestExecService); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO(smth) HRESULT STDMETHODCALLTYPE put_InstallTestExecService (BOOL aInstallTestExecService) { return smth put_InstallTestExecService (aInstallTestExecService); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE get_UserPayloadIsoPath (BSTR * aUserPayloadIsoPath) { return smth get_UserPayloadIsoPath (aUserPayloadIsoPath); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE put_UserPayloadIsoPath (BSTR aUserPayloadIsoPath) { return smth put_UserPayloadIsoPath (aUserPayloadIsoPath); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO(smth) HRESULT STDMETHODCALLTYPE get_InstallUserPayload (BOOL * aInstallUserPayload) { return smth get_InstallUserPayload (aInstallUserPayload); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO(smth) HRESULT STDMETHODCALLTYPE put_InstallUserPayload (BOOL aInstallUserPayload) { return smth put_InstallUserPayload (aInstallUserPayload); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_TimeZone_TO(smth) HRESULT STDMETHODCALLTYPE get_TimeZone (BSTR * aTimeZone) { return smth get_TimeZone (aTimeZone); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_TimeZone_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_TimeZone_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_TimeZone_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_TimeZone_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_TimeZone_TO(smth) HRESULT STDMETHODCALLTYPE put_TimeZone (BSTR aTimeZone) { return smth put_TimeZone (aTimeZone); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_TimeZone_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_TimeZone_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_TimeZone_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_TimeZone_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyboardLayout (BSTR * aKeyboardLayout) { return smth get_KeyboardLayout (aKeyboardLayout); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO(smth) HRESULT STDMETHODCALLTYPE put_KeyboardLayout (BSTR aKeyboardLayout) { return smth put_KeyboardLayout (aKeyboardLayout); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyboardVariant (BSTR * aKeyboardVariant) { return smth get_KeyboardVariant (aKeyboardVariant); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO(smth) HRESULT STDMETHODCALLTYPE put_KeyboardVariant (BSTR aKeyboardVariant) { return smth put_KeyboardVariant (aKeyboardVariant); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Locale_TO(smth) HRESULT STDMETHODCALLTYPE get_Locale (BSTR * aLocale) { return smth get_Locale (aLocale); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Locale_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Locale_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Locale_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Locale_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Locale_TO(smth) HRESULT STDMETHODCALLTYPE put_Locale (BSTR aLocale) { return smth put_Locale (aLocale); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Locale_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Locale_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Locale_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Locale_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Language_TO(smth) HRESULT STDMETHODCALLTYPE get_Language (BSTR * aLanguage) { return smth get_Language (aLanguage); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Language_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Language_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Language_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Language_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Language_TO(smth) HRESULT STDMETHODCALLTYPE put_Language (BSTR aLanguage) { return smth put_Language (aLanguage); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Language_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Language_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Language_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Language_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Country_TO(smth) HRESULT STDMETHODCALLTYPE get_Country (BSTR * aCountry) { return smth get_Country (aCountry); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Country_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Country_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Country_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Country_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Country_TO(smth) HRESULT STDMETHODCALLTYPE put_Country (BSTR aCountry) { return smth put_Country (aCountry); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Country_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Country_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Country_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Country_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Proxy_TO(smth) HRESULT STDMETHODCALLTYPE get_Proxy (BSTR * aProxy) { return smth get_Proxy (aProxy); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Proxy_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Proxy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Proxy_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Proxy_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Proxy_TO(smth) HRESULT STDMETHODCALLTYPE put_Proxy (BSTR aProxy) { return smth put_Proxy (aProxy); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Proxy_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Proxy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Proxy_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Proxy_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO(smth) HRESULT STDMETHODCALLTYPE get_PackageSelectionAdjustments (BSTR * aPackageSelectionAdjustments) { return smth get_PackageSelectionAdjustments (aPackageSelectionAdjustments); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO(smth) HRESULT STDMETHODCALLTYPE put_PackageSelectionAdjustments (BSTR aPackageSelectionAdjustments) { return smth put_PackageSelectionAdjustments (aPackageSelectionAdjustments); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Hostname_TO(smth) HRESULT STDMETHODCALLTYPE get_Hostname (BSTR * aHostname) { return smth get_Hostname (aHostname); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Hostname_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Hostname_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_Hostname_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Hostname_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Hostname_TO(smth) HRESULT STDMETHODCALLTYPE put_Hostname (BSTR aHostname) { return smth put_Hostname (aHostname); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Hostname_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Hostname_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_Hostname_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Hostname_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO(smth) HRESULT STDMETHODCALLTYPE get_AuxiliaryBasePath (BSTR * aAuxiliaryBasePath) { return smth get_AuxiliaryBasePath (aAuxiliaryBasePath); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO(smth) HRESULT STDMETHODCALLTYPE put_AuxiliaryBasePath (BSTR aAuxiliaryBasePath) { return smth put_AuxiliaryBasePath (aAuxiliaryBasePath); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ImageIndex_TO(smth) HRESULT STDMETHODCALLTYPE get_ImageIndex (ULONG * aImageIndex) { return smth get_ImageIndex (aImageIndex); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ImageIndex_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ImageIndex_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ImageIndex_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ImageIndex_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ImageIndex_TO(smth) HRESULT STDMETHODCALLTYPE put_ImageIndex (ULONG aImageIndex) { return smth put_ImageIndex (aImageIndex); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ImageIndex_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_ImageIndex_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ImageIndex_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_ImageIndex_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO(smth) HRESULT STDMETHODCALLTYPE get_ScriptTemplatePath (BSTR * aScriptTemplatePath) { return smth get_ScriptTemplatePath (aScriptTemplatePath); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO(smth) HRESULT STDMETHODCALLTYPE put_ScriptTemplatePath (BSTR aScriptTemplatePath) { return smth put_ScriptTemplatePath (aScriptTemplatePath); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO(smth) HRESULT STDMETHODCALLTYPE get_PostInstallScriptTemplatePath (BSTR * aPostInstallScriptTemplatePath) { return smth get_PostInstallScriptTemplatePath (aPostInstallScriptTemplatePath); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO(smth) HRESULT STDMETHODCALLTYPE put_PostInstallScriptTemplatePath (BSTR aPostInstallScriptTemplatePath) { return smth put_PostInstallScriptTemplatePath (aPostInstallScriptTemplatePath); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO(smth) HRESULT STDMETHODCALLTYPE get_PostInstallCommand (BSTR * aPostInstallCommand) { return smth get_PostInstallCommand (aPostInstallCommand); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO(smth) HRESULT STDMETHODCALLTYPE put_PostInstallCommand (BSTR aPostInstallCommand) { return smth put_PostInstallCommand (aPostInstallCommand); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO(smth) HRESULT STDMETHODCALLTYPE get_ExtraInstallKernelParameters (BSTR * aExtraInstallKernelParameters) { return smth get_ExtraInstallKernelParameters (aExtraInstallKernelParameters); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO(smth) HRESULT STDMETHODCALLTYPE put_ExtraInstallKernelParameters (BSTR aExtraInstallKernelParameters) { return smth put_ExtraInstallKernelParameters (aExtraInstallKernelParameters); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedOSTypeId (BSTR * aDetectedOSTypeId) { return smth get_DetectedOSTypeId (aDetectedOSTypeId); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedOSVersion (BSTR * aDetectedOSVersion) { return smth get_DetectedOSVersion (aDetectedOSVersion); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedOSFlavor (BSTR * aDetectedOSFlavor) { return smth get_DetectedOSFlavor (aDetectedOSFlavor); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedOSLanguages (BSTR * aDetectedOSLanguages) { return smth get_DetectedOSLanguages (aDetectedOSLanguages); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedOSHints (BSTR * aDetectedOSHints) { return smth get_DetectedOSHints (aDetectedOSHints); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedImageNames (SAFEARRAY * * aDetectedImageNames) { return smth get_DetectedImageNames (aDetectedImageNames); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedImageIndices (SAFEARRAY * * aDetectedImageIndices) { return smth get_DetectedImageIndices (aDetectedImageIndices); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_IsUnattendedInstallSupported (BOOL * aIsUnattendedInstallSupported) { return smth get_IsUnattendedInstallSupported (aIsUnattendedInstallSupported); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO(smth) HRESULT STDMETHODCALLTYPE get_AvoidUpdatesOverNetwork (BOOL * aAvoidUpdatesOverNetwork) { return smth get_AvoidUpdatesOverNetwork (aAvoidUpdatesOverNetwork); }")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO(smth) HRESULT STDMETHODCALLTYPE put_AvoidUpdatesOverNetwork (BOOL aAvoidUpdatesOverNetwork) { return smth put_AvoidUpdatesOverNetwork (aAvoidUpdatesOverNetwork); }")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_DetectIsoOS_TO(smth) HRESULT STDMETHODCALLTYPE DetectIsoOS() { return smth DetectIsoOS(); }")
cpp_quote("#define COM_FORWARD_IUnattended_DetectIsoOS_TO_OBJ(obj) COM_FORWARD_IUnattended_DetectIsoOS_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_DetectIsoOS_TO_BASE(base) COM_FORWARD_IUnattended_DetectIsoOS_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_Prepare_TO(smth) HRESULT STDMETHODCALLTYPE Prepare() { return smth Prepare(); }")
cpp_quote("#define COM_FORWARD_IUnattended_Prepare_TO_OBJ(obj) COM_FORWARD_IUnattended_Prepare_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_Prepare_TO_BASE(base) COM_FORWARD_IUnattended_Prepare_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_ConstructMedia_TO(smth) HRESULT STDMETHODCALLTYPE ConstructMedia() { return smth ConstructMedia(); }")
cpp_quote("#define COM_FORWARD_IUnattended_ConstructMedia_TO_OBJ(obj) COM_FORWARD_IUnattended_ConstructMedia_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_ConstructMedia_TO_BASE(base) COM_FORWARD_IUnattended_ConstructMedia_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_ReconfigureVM_TO(smth) HRESULT STDMETHODCALLTYPE ReconfigureVM() { return smth ReconfigureVM(); }")
cpp_quote("#define COM_FORWARD_IUnattended_ReconfigureVM_TO_OBJ(obj) COM_FORWARD_IUnattended_ReconfigureVM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_ReconfigureVM_TO_BASE(base) COM_FORWARD_IUnattended_ReconfigureVM_TO (base::)")
cpp_quote("#define COM_FORWARD_IUnattended_Done_TO(smth) HRESULT STDMETHODCALLTYPE Done() { return smth Done(); }")
cpp_quote("#define COM_FORWARD_IUnattended_Done_TO_OBJ(obj) COM_FORWARD_IUnattended_Done_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_Done_TO_BASE(base) COM_FORWARD_IUnattended_Done_TO (base::)")
cpp_quote("#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_ProductKeyRequired_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) ")
cpp_quote("#define COM_FORWARD_IUnattended_TO_OBJ(obj) COM_FORWARD_IUnattended_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUnattended_TO_BASE(base) COM_FORWARD_IUnattended_TO (base::)")

[
    uuid(EA05E40C-CB31-423B-B3B7-A5B19300F40C),
    object,
    dual,
    oleautomation
    , proxy
]
interface IInternalMachineControl : IDispatch
{
    HRESULT UpdateState (
        [in] MachineState aState
    );

    HRESULT BeginPowerUp (
        [in] IProgress * aProgress
    );

    HRESULT EndPowerUp (
        [in] LONG aResult
    );

    HRESULT BeginPoweringDown (
        [out] IProgress * * aProgress
    );

    HRESULT EndPoweringDown (
        [in] LONG aResult,
        [in] BSTR aErrMsg
    );

    HRESULT RunUSBDeviceFilters (
        [in] IUSBDevice * aDevice,
        [out] BOOL * aMatched,
        [out] ULONG * aMaskedInterfaces
    );

    HRESULT CaptureUSBDevice (
        [in] BSTR aId,
        [in] BSTR aCaptureFilename
    );

    HRESULT DetachUSBDevice (
        [in] BSTR aId,
        [in] BOOL aDone
    );

    HRESULT AutoCaptureUSBDevices();

    HRESULT DetachAllUSBDevices (
        [in] BOOL aDone
    );

    HRESULT OnSessionEnd (
        [in] ISession * aSession,
        [out, retval] IProgress * * aProgress
    );

    HRESULT FinishOnlineMergeMedium();

    HRESULT PullGuestProperties (
        [out] SAFEARRAY(BSTR) * aNames,
        [out] SAFEARRAY(BSTR) * aValues,
        [out] SAFEARRAY(LONG64) * aTimestamps,
        [out] SAFEARRAY(BSTR) * aFlags
    );

    HRESULT PushGuestProperty (
        [in] BSTR aName,
        [in] BSTR aValue,
        [in] LONG64 aTimestamp,
        [in] BSTR aFlags,
        [in] BOOL aFWasDeleted
    );

    HRESULT LockMedia();

    HRESULT UnlockMedia();

    HRESULT EjectMedium (
        [in] IMediumAttachment * aAttachment,
        [out, retval] IMediumAttachment * * aNewAttachment
    );

    HRESULT 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
    );

    HRESULT AuthenticateExternal (
        [in] SAFEARRAY(BSTR) aAuthParams,
        [out] BSTR * aResult
    );

}; /* interface IInternalMachineControl */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IInternalMachineControl_UpdateState_TO(smth) HRESULT STDMETHODCALLTYPE UpdateState (MachineState aState) { return smth UpdateState (aState); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_UpdateState_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_UpdateState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_UpdateState_TO_BASE(base) COM_FORWARD_IInternalMachineControl_UpdateState_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO(smth) HRESULT STDMETHODCALLTYPE BeginPowerUp (IProgress * aProgress) { return smth BeginPowerUp (aProgress); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO_BASE(base) COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndPowerUp_TO(smth) HRESULT STDMETHODCALLTYPE EndPowerUp (LONG aResult) { return smth EndPowerUp (aResult); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndPowerUp_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_EndPowerUp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndPowerUp_TO_BASE(base) COM_FORWARD_IInternalMachineControl_EndPowerUp_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO(smth) HRESULT STDMETHODCALLTYPE BeginPoweringDown (IProgress * * aProgress) { return smth BeginPoweringDown (aProgress); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO_BASE(base) COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO(smth) HRESULT STDMETHODCALLTYPE EndPoweringDown (LONG aResult, BSTR aErrMsg) { return smth EndPoweringDown (aResult, aErrMsg); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO_BASE(base) COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO(smth) HRESULT STDMETHODCALLTYPE RunUSBDeviceFilters (IUSBDevice * aDevice, BOOL * aMatched, ULONG * aMaskedInterfaces) { return smth RunUSBDeviceFilters (aDevice, aMatched, aMaskedInterfaces); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO_BASE(base) COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO(smth) HRESULT STDMETHODCALLTYPE CaptureUSBDevice (BSTR aId, BSTR aCaptureFilename) { return smth CaptureUSBDevice (aId, aCaptureFilename); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO_BASE(base) COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO(smth) HRESULT STDMETHODCALLTYPE DetachUSBDevice (BSTR aId, BOOL aDone) { return smth DetachUSBDevice (aId, aDone); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO_BASE(base) COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO(smth) HRESULT STDMETHODCALLTYPE AutoCaptureUSBDevices() { return smth AutoCaptureUSBDevices(); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO_BASE(base) COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO(smth) HRESULT STDMETHODCALLTYPE DetachAllUSBDevices (BOOL aDone) { return smth DetachAllUSBDevices (aDone); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO_BASE(base) COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO(smth) HRESULT STDMETHODCALLTYPE OnSessionEnd (ISession * aSession, IProgress * * aProgress) { return smth OnSessionEnd (aSession, aProgress); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO_BASE(base) COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO(smth) HRESULT STDMETHODCALLTYPE FinishOnlineMergeMedium() { return smth FinishOnlineMergeMedium(); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO_BASE(base) COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO_BASE(base) COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_PushGuestProperty_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_PushGuestProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_PushGuestProperty_TO_BASE(base) COM_FORWARD_IInternalMachineControl_PushGuestProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_LockMedia_TO(smth) HRESULT STDMETHODCALLTYPE LockMedia() { return smth LockMedia(); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_LockMedia_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_LockMedia_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_LockMedia_TO_BASE(base) COM_FORWARD_IInternalMachineControl_LockMedia_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_UnlockMedia_TO(smth) HRESULT STDMETHODCALLTYPE UnlockMedia() { return smth UnlockMedia(); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_UnlockMedia_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_UnlockMedia_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_UnlockMedia_TO_BASE(base) COM_FORWARD_IInternalMachineControl_UnlockMedia_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EjectMedium_TO(smth) HRESULT STDMETHODCALLTYPE EjectMedium (IMediumAttachment * aAttachment, IMediumAttachment * * aNewAttachment) { return smth EjectMedium (aAttachment, aNewAttachment); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EjectMedium_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_EjectMedium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EjectMedium_TO_BASE(base) COM_FORWARD_IInternalMachineControl_EjectMedium_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_ReportVmStatistics_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_ReportVmStatistics_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_ReportVmStatistics_TO_BASE(base) COM_FORWARD_IInternalMachineControl_ReportVmStatistics_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO(smth) HRESULT STDMETHODCALLTYPE AuthenticateExternal (SAFEARRAY * * aAuthParams, BSTR * aResult) { return smth AuthenticateExternal (aAuthParams, aResult); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO_BASE(base) COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_TO_BASE(base) COM_FORWARD_IInternalMachineControl_TO (base::)")

[
    uuid(13ee6eb4-06fe-406b-ad69-f6e08b0587a3),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGraphicsAdapter : IDispatch
{
    [propget] HRESULT GraphicsControllerType ([out, retval] GraphicsControllerType * aGraphicsControllerType);
    [propput] HRESULT GraphicsControllerType ([in] GraphicsControllerType aGraphicsControllerType);

    [propget] HRESULT VRAMSize ([out, retval] ULONG * aVRAMSize);
    [propput] HRESULT VRAMSize ([in] ULONG aVRAMSize);

    [propget] HRESULT MonitorCount ([out, retval] ULONG * aMonitorCount);
    [propput] HRESULT MonitorCount ([in] ULONG aMonitorCount);

    [propget] HRESULT InternalAndReservedAttribute1IGraphicsAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IGraphicsAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IGraphicsAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IGraphicsAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IGraphicsAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IGraphicsAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IGraphicsAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IGraphicsAdapter ([out, retval] ULONG *aReserved);

    HRESULT SetFeature (
        [in] GraphicsFeature aFeature,
        [in] BOOL aEnabled
    );

    HRESULT IsFeatureEnabled (
        [in] GraphicsFeature aFeature,
        [out, retval] BOOL * aEnabled
    );

    HRESULT InternalAndReservedMethod1IGraphicsAdapter();

    HRESULT InternalAndReservedMethod2IGraphicsAdapter();

    HRESULT InternalAndReservedMethod3IGraphicsAdapter();

    HRESULT InternalAndReservedMethod4IGraphicsAdapter();

}; /* interface IGraphicsAdapter */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO(smth) HRESULT STDMETHODCALLTYPE get_GraphicsControllerType (GraphicsControllerType * aGraphicsControllerType) { return smth get_GraphicsControllerType (aGraphicsControllerType); }")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO (base::)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO(smth) HRESULT STDMETHODCALLTYPE put_GraphicsControllerType (GraphicsControllerType aGraphicsControllerType) { return smth put_GraphicsControllerType (aGraphicsControllerType); }")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO (base::)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO(smth) HRESULT STDMETHODCALLTYPE get_VRAMSize (ULONG * aVRAMSize) { return smth get_VRAMSize (aVRAMSize); }")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO(smth) HRESULT STDMETHODCALLTYPE put_VRAMSize (ULONG aVRAMSize) { return smth put_VRAMSize (aVRAMSize); }")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MonitorCount (ULONG * aMonitorCount) { return smth get_MonitorCount (aMonitorCount); }")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO(smth) HRESULT STDMETHODCALLTYPE put_MonitorCount (ULONG aMonitorCount) { return smth put_MonitorCount (aMonitorCount); }")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SetFeature_TO(smth) HRESULT STDMETHODCALLTYPE SetFeature (GraphicsFeature aFeature, BOOL aEnabled) { return smth SetFeature (aFeature, aEnabled); }")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SetFeature_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_SetFeature_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_SetFeature_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_SetFeature_TO (base::)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO(smth) HRESULT STDMETHODCALLTYPE IsFeatureEnabled (GraphicsFeature aFeature, BOOL * aEnabled) { return smth IsFeatureEnabled (aFeature, aEnabled); }")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGraphicsAdapter_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_TO (base::)")

[
    uuid(426EF1B8-DE91-49FB-ABC3-0E2BAE654FF2),
    object,
    dual,
    oleautomation
    , proxy
]
interface IFirmwareSettings : IDispatch
{
    [propget] HRESULT FirmwareType ([out, retval] FirmwareType * aFirmwareType);
    [propput] HRESULT FirmwareType ([in] FirmwareType aFirmwareType);

    [propget] HRESULT LogoFadeIn ([out, retval] BOOL * aLogoFadeIn);
    [propput] HRESULT LogoFadeIn ([in] BOOL aLogoFadeIn);

    [propget] HRESULT LogoFadeOut ([out, retval] BOOL * aLogoFadeOut);
    [propput] HRESULT LogoFadeOut ([in] BOOL aLogoFadeOut);

    [propget] HRESULT LogoDisplayTime ([out, retval] ULONG * aLogoDisplayTime);
    [propput] HRESULT LogoDisplayTime ([in] ULONG aLogoDisplayTime);

    [propget] HRESULT LogoImagePath ([out, retval] BSTR * aLogoImagePath);
    [propput] HRESULT LogoImagePath ([in] BSTR aLogoImagePath);

    [propget] HRESULT BootMenuMode ([out, retval] FirmwareBootMenuMode * aBootMenuMode);
    [propput] HRESULT BootMenuMode ([in] FirmwareBootMenuMode aBootMenuMode);

    [propget] HRESULT ACPIEnabled ([out, retval] BOOL * aACPIEnabled);
    [propput] HRESULT ACPIEnabled ([in] BOOL aACPIEnabled);

    [propget] HRESULT IOAPICEnabled ([out, retval] BOOL * aIOAPICEnabled);
    [propput] HRESULT IOAPICEnabled ([in] BOOL aIOAPICEnabled);

    [propget] HRESULT APICMode ([out, retval] APICMode * aAPICMode);
    [propput] HRESULT APICMode ([in] APICMode aAPICMode);

    [propget] HRESULT TimeOffset ([out, retval] LONG64 * aTimeOffset);
    [propput] HRESULT TimeOffset ([in] LONG64 aTimeOffset);

    [propget] HRESULT PXEDebugEnabled ([out, retval] BOOL * aPXEDebugEnabled);
    [propput] HRESULT PXEDebugEnabled ([in] BOOL aPXEDebugEnabled);

    [propget] HRESULT SMBIOSUuidLittleEndian ([out, retval] BOOL * aSMBIOSUuidLittleEndian);
    [propput] HRESULT SMBIOSUuidLittleEndian ([in] BOOL aSMBIOSUuidLittleEndian);

    [propget] HRESULT AutoSerialNumGen ([out, retval] BOOL * aAutoSerialNumGen);
    [propput] HRESULT AutoSerialNumGen ([in] BOOL aAutoSerialNumGen);

    [propget] HRESULT InternalAndReservedAttribute1IFirmwareSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IFirmwareSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IFirmwareSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IFirmwareSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IFirmwareSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IFirmwareSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IFirmwareSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IFirmwareSettings ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1IFirmwareSettings();

    HRESULT InternalAndReservedMethod2IFirmwareSettings();

}; /* interface IFirmwareSettings */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO(smth) HRESULT STDMETHODCALLTYPE get_FirmwareType (FirmwareType * aFirmwareType) { return smth get_FirmwareType (aFirmwareType); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO(smth) HRESULT STDMETHODCALLTYPE put_FirmwareType (FirmwareType aFirmwareType) { return smth put_FirmwareType (aFirmwareType); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoFadeIn (BOOL * aLogoFadeIn) { return smth get_LogoFadeIn (aLogoFadeIn); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoFadeIn (BOOL aLogoFadeIn) { return smth put_LogoFadeIn (aLogoFadeIn); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoFadeOut (BOOL * aLogoFadeOut) { return smth get_LogoFadeOut (aLogoFadeOut); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoFadeOut (BOOL aLogoFadeOut) { return smth put_LogoFadeOut (aLogoFadeOut); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoDisplayTime (ULONG * aLogoDisplayTime) { return smth get_LogoDisplayTime (aLogoDisplayTime); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoDisplayTime (ULONG aLogoDisplayTime) { return smth put_LogoDisplayTime (aLogoDisplayTime); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoImagePath (BSTR * aLogoImagePath) { return smth get_LogoImagePath (aLogoImagePath); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoImagePath (BSTR aLogoImagePath) { return smth put_LogoImagePath (aLogoImagePath); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO(smth) HRESULT STDMETHODCALLTYPE get_BootMenuMode (FirmwareBootMenuMode * aBootMenuMode) { return smth get_BootMenuMode (aBootMenuMode); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO(smth) HRESULT STDMETHODCALLTYPE put_BootMenuMode (FirmwareBootMenuMode aBootMenuMode) { return smth put_BootMenuMode (aBootMenuMode); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_ACPIEnabled (BOOL * aACPIEnabled) { return smth get_ACPIEnabled (aACPIEnabled); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_ACPIEnabled (BOOL aACPIEnabled) { return smth put_ACPIEnabled (aACPIEnabled); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_IOAPICEnabled (BOOL * aIOAPICEnabled) { return smth get_IOAPICEnabled (aIOAPICEnabled); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_IOAPICEnabled (BOOL aIOAPICEnabled) { return smth put_IOAPICEnabled (aIOAPICEnabled); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO(smth) HRESULT STDMETHODCALLTYPE get_APICMode (APICMode * aAPICMode) { return smth get_APICMode (aAPICMode); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO(smth) HRESULT STDMETHODCALLTYPE put_APICMode (APICMode aAPICMode) { return smth put_APICMode (aAPICMode); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO(smth) HRESULT STDMETHODCALLTYPE get_TimeOffset (LONG64 * aTimeOffset) { return smth get_TimeOffset (aTimeOffset); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO(smth) HRESULT STDMETHODCALLTYPE put_TimeOffset (LONG64 aTimeOffset) { return smth put_TimeOffset (aTimeOffset); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_PXEDebugEnabled (BOOL * aPXEDebugEnabled) { return smth get_PXEDebugEnabled (aPXEDebugEnabled); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_PXEDebugEnabled (BOOL aPXEDebugEnabled) { return smth put_PXEDebugEnabled (aPXEDebugEnabled); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO(smth) HRESULT STDMETHODCALLTYPE get_SMBIOSUuidLittleEndian (BOOL * aSMBIOSUuidLittleEndian) { return smth get_SMBIOSUuidLittleEndian (aSMBIOSUuidLittleEndian); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO(smth) HRESULT STDMETHODCALLTYPE put_SMBIOSUuidLittleEndian (BOOL aSMBIOSUuidLittleEndian) { return smth put_SMBIOSUuidLittleEndian (aSMBIOSUuidLittleEndian); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO(smth) HRESULT STDMETHODCALLTYPE get_AutoSerialNumGen (BOOL * aAutoSerialNumGen) { return smth get_AutoSerialNumGen (aAutoSerialNumGen); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO (base::)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO(smth) HRESULT STDMETHODCALLTYPE put_AutoSerialNumGen (BOOL aAutoSerialNumGen) { return smth put_AutoSerialNumGen (aAutoSerialNumGen); }")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFirmwareSettings_TO_BASE(base) COM_FORWARD_IFirmwareSettings_TO (base::)")

[
    uuid(cf11d345-0241-4ea9-ac4c-c69ed3d674e3),
    object,
    dual,
    oleautomation
    , proxy
]
interface ITrustedPlatformModule : IDispatch
{
    [propget] HRESULT Type ([out, retval] TpmType * aType);
    [propput] HRESULT Type ([in] TpmType aType);

    [propget] HRESULT Location ([out, retval] BSTR * aLocation);
    [propput] HRESULT Location ([in] BSTR aLocation);

    [propget] HRESULT InternalAndReservedAttribute1ITrustedPlatformModule ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ITrustedPlatformModule ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ITrustedPlatformModule ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ITrustedPlatformModule ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ITrustedPlatformModule ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ITrustedPlatformModule ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ITrustedPlatformModule ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ITrustedPlatformModule ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1ITrustedPlatformModule();

    HRESULT InternalAndReservedMethod2ITrustedPlatformModule();

}; /* interface ITrustedPlatformModule */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (TpmType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO_OBJ(obj) COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO_BASE(base) COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE put_Type (TpmType aType) { return smth put_Type (aType); }")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO_OBJ(obj) COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO_BASE(base) COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO(smth) HRESULT STDMETHODCALLTYPE get_Location (BSTR * aLocation) { return smth get_Location (aLocation); }")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO_OBJ(obj) COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO_BASE(base) COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO (base::)")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO(smth) HRESULT STDMETHODCALLTYPE put_Location (BSTR aLocation) { return smth put_Location (aLocation); }")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO_OBJ(obj) COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO_BASE(base) COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_TO_OBJ(obj) COM_FORWARD_ITrustedPlatformModule_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ITrustedPlatformModule_TO_BASE(base) COM_FORWARD_ITrustedPlatformModule_TO (base::)")

[
    uuid(c1844087-ec6b-488d-afbb-c90f6452a04b),
    object,
    dual,
    oleautomation
    , proxy
]
interface IRecordingScreenSettings : IDispatch
{
    [propget] HRESULT Id ([out, retval] ULONG * aId);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT Features ([out, retval] SAFEARRAY(RecordingFeature) * aFeatures);
    [propput] HRESULT Features ([in] SAFEARRAY(RecordingFeature) aFeatures);

    [propget] HRESULT Destination ([out, retval] RecordingDestination * aDestination);
    [propput] HRESULT Destination ([in] RecordingDestination aDestination);

    [propget] HRESULT Filename ([out, retval] BSTR * aFilename);
    [propput] HRESULT Filename ([in] BSTR aFilename);

    [propget] HRESULT MaxTime ([out, retval] ULONG * aMaxTime);
    [propput] HRESULT MaxTime ([in] ULONG aMaxTime);

    [propget] HRESULT MaxFileSize ([out, retval] ULONG * aMaxFileSize);
    [propput] HRESULT MaxFileSize ([in] ULONG aMaxFileSize);

    [propget] HRESULT Options ([out, retval] BSTR * aOptions);
    [propput] HRESULT Options ([in] BSTR aOptions);

    [propget] HRESULT AudioCodec ([out, retval] RecordingAudioCodec * aAudioCodec);
    [propput] HRESULT AudioCodec ([in] RecordingAudioCodec aAudioCodec);

    [propget] HRESULT AudioRateControlMode ([out, retval] RecordingRateControlMode * aAudioRateControlMode);
    [propput] HRESULT AudioRateControlMode ([in] RecordingRateControlMode aAudioRateControlMode);

    [propget] HRESULT AudioDeadline ([out, retval] RecordingCodecDeadline * aAudioDeadline);
    [propput] HRESULT AudioDeadline ([in] RecordingCodecDeadline aAudioDeadline);

    [propget] HRESULT AudioHz ([out, retval] ULONG * aAudioHz);
    [propput] HRESULT AudioHz ([in] ULONG aAudioHz);

    [propget] HRESULT AudioBits ([out, retval] ULONG * aAudioBits);
    [propput] HRESULT AudioBits ([in] ULONG aAudioBits);

    [propget] HRESULT AudioChannels ([out, retval] ULONG * aAudioChannels);
    [propput] HRESULT AudioChannels ([in] ULONG aAudioChannels);

    [propget] HRESULT VideoCodec ([out, retval] RecordingVideoCodec * aVideoCodec);
    [propput] HRESULT VideoCodec ([in] RecordingVideoCodec aVideoCodec);

    [propget] HRESULT VideoDeadline ([out, retval] RecordingCodecDeadline * aVideoDeadline);
    [propput] HRESULT VideoDeadline ([in] RecordingCodecDeadline aVideoDeadline);

    [propget] HRESULT VideoWidth ([out, retval] ULONG * aVideoWidth);
    [propput] HRESULT VideoWidth ([in] ULONG aVideoWidth);

    [propget] HRESULT VideoHeight ([out, retval] ULONG * aVideoHeight);
    [propput] HRESULT VideoHeight ([in] ULONG aVideoHeight);

    [propget] HRESULT VideoRate ([out, retval] ULONG * aVideoRate);
    [propput] HRESULT VideoRate ([in] ULONG aVideoRate);

    [propget] HRESULT VideoRateControlMode ([out, retval] RecordingRateControlMode * aVideoRateControlMode);
    [propput] HRESULT VideoRateControlMode ([in] RecordingRateControlMode aVideoRateControlMode);

    [propget] HRESULT VideoFPS ([out, retval] ULONG * aVideoFPS);
    [propput] HRESULT VideoFPS ([in] ULONG aVideoFPS);

    [propget] HRESULT VideoScalingMode ([out, retval] RecordingVideoScalingMode * aVideoScalingMode);
    [propput] HRESULT VideoScalingMode ([in] RecordingVideoScalingMode aVideoScalingMode);

    HRESULT IsFeatureEnabled (
        [in] RecordingFeature aFeature,
        [out, retval] BOOL * aEnabled
    );

}; /* interface IRecordingScreenSettings */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (ULONG * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO(smth) HRESULT STDMETHODCALLTYPE get_Features (SAFEARRAY * * aFeatures) { return smth get_Features (aFeatures); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO(smth) HRESULT STDMETHODCALLTYPE put_Features (SAFEARRAY * aFeatures) { return smth put_Features (aFeatures); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO(smth) HRESULT STDMETHODCALLTYPE get_Destination (RecordingDestination * aDestination) { return smth get_Destination (aDestination); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO(smth) HRESULT STDMETHODCALLTYPE put_Destination (RecordingDestination aDestination) { return smth put_Destination (aDestination); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO(smth) HRESULT STDMETHODCALLTYPE get_Filename (BSTR * aFilename) { return smth get_Filename (aFilename); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO(smth) HRESULT STDMETHODCALLTYPE put_Filename (BSTR aFilename) { return smth put_Filename (aFilename); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxTime (ULONG * aMaxTime) { return smth get_MaxTime (aMaxTime); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO(smth) HRESULT STDMETHODCALLTYPE put_MaxTime (ULONG aMaxTime) { return smth put_MaxTime (aMaxTime); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxFileSize (ULONG * aMaxFileSize) { return smth get_MaxFileSize (aMaxFileSize); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO(smth) HRESULT STDMETHODCALLTYPE put_MaxFileSize (ULONG aMaxFileSize) { return smth put_MaxFileSize (aMaxFileSize); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO(smth) HRESULT STDMETHODCALLTYPE get_Options (BSTR * aOptions) { return smth get_Options (aOptions); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO(smth) HRESULT STDMETHODCALLTYPE put_Options (BSTR aOptions) { return smth put_Options (aOptions); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioCodec (RecordingAudioCodec * aAudioCodec) { return smth get_AudioCodec (aAudioCodec); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioCodec (RecordingAudioCodec aAudioCodec) { return smth put_AudioCodec (aAudioCodec); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioRateControlMode (RecordingRateControlMode * aAudioRateControlMode) { return smth get_AudioRateControlMode (aAudioRateControlMode); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioRateControlMode (RecordingRateControlMode aAudioRateControlMode) { return smth put_AudioRateControlMode (aAudioRateControlMode); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioDeadline (RecordingCodecDeadline * aAudioDeadline) { return smth get_AudioDeadline (aAudioDeadline); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioDeadline (RecordingCodecDeadline aAudioDeadline) { return smth put_AudioDeadline (aAudioDeadline); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioHz (ULONG * aAudioHz) { return smth get_AudioHz (aAudioHz); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioHz (ULONG aAudioHz) { return smth put_AudioHz (aAudioHz); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioBits (ULONG * aAudioBits) { return smth get_AudioBits (aAudioBits); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioBits (ULONG aAudioBits) { return smth put_AudioBits (aAudioBits); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioChannels (ULONG * aAudioChannels) { return smth get_AudioChannels (aAudioChannels); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioChannels (ULONG aAudioChannels) { return smth put_AudioChannels (aAudioChannels); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoCodec (RecordingVideoCodec * aVideoCodec) { return smth get_VideoCodec (aVideoCodec); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoCodec (RecordingVideoCodec aVideoCodec) { return smth put_VideoCodec (aVideoCodec); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoDeadline (RecordingCodecDeadline * aVideoDeadline) { return smth get_VideoDeadline (aVideoDeadline); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoDeadline (RecordingCodecDeadline aVideoDeadline) { return smth put_VideoDeadline (aVideoDeadline); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoWidth (ULONG * aVideoWidth) { return smth get_VideoWidth (aVideoWidth); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoWidth (ULONG aVideoWidth) { return smth put_VideoWidth (aVideoWidth); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoHeight (ULONG * aVideoHeight) { return smth get_VideoHeight (aVideoHeight); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoHeight (ULONG aVideoHeight) { return smth put_VideoHeight (aVideoHeight); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoRate (ULONG * aVideoRate) { return smth get_VideoRate (aVideoRate); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoRate (ULONG aVideoRate) { return smth put_VideoRate (aVideoRate); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoRateControlMode (RecordingRateControlMode * aVideoRateControlMode) { return smth get_VideoRateControlMode (aVideoRateControlMode); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoRateControlMode (RecordingRateControlMode aVideoRateControlMode) { return smth put_VideoRateControlMode (aVideoRateControlMode); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoFPS (ULONG * aVideoFPS) { return smth get_VideoFPS (aVideoFPS); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoFPS (ULONG aVideoFPS) { return smth put_VideoFPS (aVideoFPS); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoScalingMode (RecordingVideoScalingMode * aVideoScalingMode) { return smth get_VideoScalingMode (aVideoScalingMode); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoScalingMode (RecordingVideoScalingMode aVideoScalingMode) { return smth put_VideoScalingMode (aVideoScalingMode); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO(smth) HRESULT STDMETHODCALLTYPE IsFeatureEnabled (RecordingFeature aFeature, BOOL * aEnabled) { return smth IsFeatureEnabled (aFeature, aEnabled); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenSettings_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_TO (base::)")

[
    uuid(83cfdc66-4f20-4569-ad39-8722f7d472b3),
    object,
    dual,
    oleautomation
    , proxy
]
interface IRecordingSettings : IDispatch
{
    [propget] HRESULT Paused ([out, retval] BOOL * aPaused);
    [propput] HRESULT Paused ([in] BOOL aPaused);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT Screens ([out, retval] SAFEARRAY(IRecordingScreenSettings *) * aScreens);

    [propget] HRESULT Progress ([out, retval] IProgress * * aProgress);

    HRESULT GetScreenSettings (
        [in] ULONG aScreenId,
        [out, retval] IRecordingScreenSettings * * aRecordScreenSettings
    );

    HRESULT Start (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Resume();

}; /* interface IRecordingSettings */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Paused_TO(smth) HRESULT STDMETHODCALLTYPE get_Paused (BOOL * aPaused) { return smth get_Paused (aPaused); }")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Paused_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_GETTER_Paused_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Paused_TO_BASE(base) COM_FORWARD_IRecordingSettings_GETTER_Paused_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_SETTER_Paused_TO(smth) HRESULT STDMETHODCALLTYPE put_Paused (BOOL aPaused) { return smth put_Paused (aPaused); }")
cpp_quote("#define COM_FORWARD_IRecordingSettings_SETTER_Paused_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_SETTER_Paused_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_SETTER_Paused_TO_BASE(base) COM_FORWARD_IRecordingSettings_SETTER_Paused_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Screens_TO(smth) HRESULT STDMETHODCALLTYPE get_Screens (SAFEARRAY * * aScreens) { return smth get_Screens (aScreens); }")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Screens_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_GETTER_Screens_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Screens_TO_BASE(base) COM_FORWARD_IRecordingSettings_GETTER_Screens_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Progress_TO(smth) HRESULT STDMETHODCALLTYPE get_Progress (IProgress * * aProgress) { return smth get_Progress (aProgress); }")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Progress_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_GETTER_Progress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GETTER_Progress_TO_BASE(base) COM_FORWARD_IRecordingSettings_GETTER_Progress_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GetScreenSettings_TO(smth) HRESULT STDMETHODCALLTYPE GetScreenSettings (ULONG aScreenId, IRecordingScreenSettings * * aRecordScreenSettings) { return smth GetScreenSettings (aScreenId, aRecordScreenSettings); }")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GetScreenSettings_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_GetScreenSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_GetScreenSettings_TO_BASE(base) COM_FORWARD_IRecordingSettings_GetScreenSettings_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_Start_TO(smth) HRESULT STDMETHODCALLTYPE Start (IProgress * * aProgress) { return smth Start (aProgress); }")
cpp_quote("#define COM_FORWARD_IRecordingSettings_Start_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_Start_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_Start_TO_BASE(base) COM_FORWARD_IRecordingSettings_Start_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_Resume_TO(smth) HRESULT STDMETHODCALLTYPE Resume() { return smth Resume(); }")
cpp_quote("#define COM_FORWARD_IRecordingSettings_Resume_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_Resume_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_Resume_TO_BASE(base) COM_FORWARD_IRecordingSettings_Resume_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_TO(smth) COM_FORWARD_IRecordingSettings_GETTER_Paused_TO (smth) COM_FORWARD_IRecordingSettings_SETTER_Paused_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) COM_FORWARD_IRecordingSettings_Resume_TO (smth) ")
cpp_quote("#define COM_FORWARD_IRecordingSettings_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingSettings_TO_BASE(base) COM_FORWARD_IRecordingSettings_TO (base::)")

[
    uuid(c984d15f-e191-400b-840e-970f3dad7296),
    object,
    dual,
    oleautomation
    , proxy
]
interface IPCIAddress : IDispatch
{
    [propget] HRESULT Bus ([out, retval] SHORT * aBus);
    [propput] HRESULT Bus ([in] SHORT aBus);

    [propget] HRESULT Device ([out, retval] SHORT * aDevice);
    [propput] HRESULT Device ([in] SHORT aDevice);

    [propget] HRESULT DevFunction ([out, retval] SHORT * aDevFunction);
    [propput] HRESULT DevFunction ([in] SHORT aDevFunction);

    HRESULT AsLong (
        [out, retval] LONG * aResult
    );

    HRESULT FromLong (
        [in] LONG aNumber
    );

}; /* interface IPCIAddress */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IPCIAddress_GETTER_Bus_TO(smth) HRESULT STDMETHODCALLTYPE get_Bus (SHORT * aBus) { return smth get_Bus (aBus); }")
cpp_quote("#define COM_FORWARD_IPCIAddress_GETTER_Bus_TO_OBJ(obj) COM_FORWARD_IPCIAddress_GETTER_Bus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIAddress_GETTER_Bus_TO_BASE(base) COM_FORWARD_IPCIAddress_GETTER_Bus_TO (base::)")
cpp_quote("#define COM_FORWARD_IPCIAddress_SETTER_Bus_TO(smth) HRESULT STDMETHODCALLTYPE put_Bus (SHORT aBus) { return smth put_Bus (aBus); }")
cpp_quote("#define COM_FORWARD_IPCIAddress_SETTER_Bus_TO_OBJ(obj) COM_FORWARD_IPCIAddress_SETTER_Bus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIAddress_SETTER_Bus_TO_BASE(base) COM_FORWARD_IPCIAddress_SETTER_Bus_TO (base::)")
cpp_quote("#define COM_FORWARD_IPCIAddress_GETTER_Device_TO(smth) HRESULT STDMETHODCALLTYPE get_Device (SHORT * aDevice) { return smth get_Device (aDevice); }")
cpp_quote("#define COM_FORWARD_IPCIAddress_GETTER_Device_TO_OBJ(obj) COM_FORWARD_IPCIAddress_GETTER_Device_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIAddress_GETTER_Device_TO_BASE(base) COM_FORWARD_IPCIAddress_GETTER_Device_TO (base::)")
cpp_quote("#define COM_FORWARD_IPCIAddress_SETTER_Device_TO(smth) HRESULT STDMETHODCALLTYPE put_Device (SHORT aDevice) { return smth put_Device (aDevice); }")
cpp_quote("#define COM_FORWARD_IPCIAddress_SETTER_Device_TO_OBJ(obj) COM_FORWARD_IPCIAddress_SETTER_Device_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIAddress_SETTER_Device_TO_BASE(base) COM_FORWARD_IPCIAddress_SETTER_Device_TO (base::)")
cpp_quote("#define COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO(smth) HRESULT STDMETHODCALLTYPE get_DevFunction (SHORT * aDevFunction) { return smth get_DevFunction (aDevFunction); }")
cpp_quote("#define COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO_OBJ(obj) COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO_BASE(base) COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO (base::)")
cpp_quote("#define COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO(smth) HRESULT STDMETHODCALLTYPE put_DevFunction (SHORT aDevFunction) { return smth put_DevFunction (aDevFunction); }")
cpp_quote("#define COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO_OBJ(obj) COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO_BASE(base) COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO (base::)")
cpp_quote("#define COM_FORWARD_IPCIAddress_AsLong_TO(smth) HRESULT STDMETHODCALLTYPE AsLong (LONG * aResult) { return smth AsLong (aResult); }")
cpp_quote("#define COM_FORWARD_IPCIAddress_AsLong_TO_OBJ(obj) COM_FORWARD_IPCIAddress_AsLong_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIAddress_AsLong_TO_BASE(base) COM_FORWARD_IPCIAddress_AsLong_TO (base::)")
cpp_quote("#define COM_FORWARD_IPCIAddress_FromLong_TO(smth) HRESULT STDMETHODCALLTYPE FromLong (LONG aNumber) { return smth FromLong (aNumber); }")
cpp_quote("#define COM_FORWARD_IPCIAddress_FromLong_TO_OBJ(obj) COM_FORWARD_IPCIAddress_FromLong_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIAddress_FromLong_TO_BASE(base) COM_FORWARD_IPCIAddress_FromLong_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IPCIAddress_TO_OBJ(obj) COM_FORWARD_IPCIAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIAddress_TO_BASE(base) COM_FORWARD_IPCIAddress_TO (base::)")

[
    uuid(91f33d6f-e621-4f70-a77e-15f0e3c714d5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IPCIDeviceAttachment : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT IsPhysicalDevice ([out, retval] BOOL * aIsPhysicalDevice);

    [propget] HRESULT HostAddress ([out, retval] LONG * aHostAddress);

    [propget] HRESULT GuestAddress ([out, retval] LONG * aGuestAddress);

}; /* interface IPCIDeviceAttachment */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO_BASE(base) COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO(smth) HRESULT STDMETHODCALLTYPE get_IsPhysicalDevice (BOOL * aIsPhysicalDevice) { return smth get_IsPhysicalDevice (aIsPhysicalDevice); }")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO_OBJ(obj) COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO_BASE(base) COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_HostAddress (LONG * aHostAddress) { return smth get_HostAddress (aHostAddress); }")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO_OBJ(obj) COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO_BASE(base) COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestAddress (LONG * aGuestAddress) { return smth get_GuestAddress (aGuestAddress); }")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO_OBJ(obj) COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO_BASE(base) COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_TO_OBJ(obj) COM_FORWARD_IPCIDeviceAttachment_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPCIDeviceAttachment_TO_BASE(base) COM_FORWARD_IPCIDeviceAttachment_TO (base::)")

[
    uuid(d134c6b6-4479-430d-bb73-68a452ba3e67),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUefiVariableStore : IDispatch
{
    [propget] HRESULT SecureBootEnabled ([out, retval] BOOL * aSecureBootEnabled);
    [propput] HRESULT SecureBootEnabled ([in] BOOL aSecureBootEnabled);

    [propget] HRESULT InternalAndReservedAttribute1IUefiVariableStore ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IUefiVariableStore ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IUefiVariableStore ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IUefiVariableStore ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IUefiVariableStore ([out, retval] ULONG *aReserved);

    HRESULT AddVariable (
        [in] BSTR aName,
        [in] BSTR aOwner,
        [in] SAFEARRAY(UefiVariableAttributes) aAttributes,
        [in] SAFEARRAY(BYTE) aData
    );

    HRESULT DeleteVariable (
        [in] BSTR aName,
        [in] BSTR aOwner
    );

    HRESULT ChangeVariable (
        [in] BSTR aName,
        [in] SAFEARRAY(BYTE) aData
    );

    HRESULT QueryVariableByName (
        [in] BSTR aName,
        [out] BSTR * aOwner,
        [out] SAFEARRAY(UefiVariableAttributes) * aAttributes,
        [out] SAFEARRAY(BYTE) * aData
    );

    HRESULT QueryVariables (
        [out] SAFEARRAY(BSTR) * aNames,
        [out] SAFEARRAY(BSTR) * aOwners
    );

    HRESULT EnrollOraclePlatformKey();

    HRESULT EnrollPlatformKey (
        [in] SAFEARRAY(BYTE) aPlatformKey,
        [in] BSTR aOwner
    );

    HRESULT AddKek (
        [in] SAFEARRAY(BYTE) aKeyEncryptionKey,
        [in] BSTR aOwner,
        [in] SignatureType aSignatureType
    );

    HRESULT AddSignatureToDb (
        [in] SAFEARRAY(BYTE) aSignature,
        [in] BSTR aOwner,
        [in] SignatureType aSignatureType
    );

    HRESULT AddSignatureToDbx (
        [in] SAFEARRAY(BYTE) aSignature,
        [in] BSTR aOwner,
        [in] SignatureType aSignatureType
    );

    HRESULT EnrollDefaultMsSignatures();

    HRESULT AddSignatureToMok (
        [in] SAFEARRAY(BYTE) aSignature,
        [in] BSTR aOwner,
        [in] SignatureType aSignatureType
    );

    HRESULT InternalAndReservedMethod1IUefiVariableStore();

    HRESULT InternalAndReservedMethod2IUefiVariableStore();

    HRESULT InternalAndReservedMethod3IUefiVariableStore();

    HRESULT InternalAndReservedMethod4IUefiVariableStore();

    HRESULT InternalAndReservedMethod5IUefiVariableStore();

    HRESULT InternalAndReservedMethod6IUefiVariableStore();

    HRESULT InternalAndReservedMethod7IUefiVariableStore();

    HRESULT InternalAndReservedMethod8IUefiVariableStore();

    HRESULT InternalAndReservedMethod9IUefiVariableStore();

}; /* interface IUefiVariableStore */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_SecureBootEnabled (BOOL * aSecureBootEnabled) { return smth get_SecureBootEnabled (aSecureBootEnabled); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO_BASE(base) COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_SecureBootEnabled (BOOL aSecureBootEnabled) { return smth put_SecureBootEnabled (aSecureBootEnabled); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO_BASE(base) COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddVariable_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_AddVariable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddVariable_TO_BASE(base) COM_FORWARD_IUefiVariableStore_AddVariable_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_DeleteVariable_TO(smth) HRESULT STDMETHODCALLTYPE DeleteVariable (BSTR aName, BSTR aOwner) { return smth DeleteVariable (aName, aOwner); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_DeleteVariable_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_DeleteVariable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_DeleteVariable_TO_BASE(base) COM_FORWARD_IUefiVariableStore_DeleteVariable_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_ChangeVariable_TO(smth) HRESULT STDMETHODCALLTYPE ChangeVariable (BSTR aName, SAFEARRAY * * aData) { return smth ChangeVariable (aName, aData); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_ChangeVariable_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_ChangeVariable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_ChangeVariable_TO_BASE(base) COM_FORWARD_IUefiVariableStore_ChangeVariable_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_QueryVariableByName_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_QueryVariableByName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_QueryVariableByName_TO_BASE(base) COM_FORWARD_IUefiVariableStore_QueryVariableByName_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_QueryVariables_TO(smth) HRESULT STDMETHODCALLTYPE QueryVariables (SAFEARRAY * * aNames, SAFEARRAY * * aOwners) { return smth QueryVariables (aNames, aOwners); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_QueryVariables_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_QueryVariables_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_QueryVariables_TO_BASE(base) COM_FORWARD_IUefiVariableStore_QueryVariables_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO(smth) HRESULT STDMETHODCALLTYPE EnrollOraclePlatformKey() { return smth EnrollOraclePlatformKey(); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO_BASE(base) COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO(smth) HRESULT STDMETHODCALLTYPE EnrollPlatformKey (SAFEARRAY * * aPlatformKey, BSTR aOwner) { return smth EnrollPlatformKey (aPlatformKey, aOwner); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO_BASE(base) COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddKek_TO(smth) HRESULT STDMETHODCALLTYPE AddKek (SAFEARRAY * * aKeyEncryptionKey, BSTR aOwner, SignatureType aSignatureType) { return smth AddKek (aKeyEncryptionKey, aOwner, aSignatureType); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddKek_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_AddKek_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddKek_TO_BASE(base) COM_FORWARD_IUefiVariableStore_AddKek_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO(smth) HRESULT STDMETHODCALLTYPE AddSignatureToDb (SAFEARRAY * * aSignature, BSTR aOwner, SignatureType aSignatureType) { return smth AddSignatureToDb (aSignature, aOwner, aSignatureType); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO_BASE(base) COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO(smth) HRESULT STDMETHODCALLTYPE AddSignatureToDbx (SAFEARRAY * * aSignature, BSTR aOwner, SignatureType aSignatureType) { return smth AddSignatureToDbx (aSignature, aOwner, aSignatureType); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO_BASE(base) COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO(smth) HRESULT STDMETHODCALLTYPE EnrollDefaultMsSignatures() { return smth EnrollDefaultMsSignatures(); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO_BASE(base) COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO (base::)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO(smth) HRESULT STDMETHODCALLTYPE AddSignatureToMok (SAFEARRAY * * aSignature, BSTR aOwner, SignatureType aSignatureType) { return smth AddSignatureToMok (aSignature, aOwner, aSignatureType); }")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO_BASE(base) COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUefiVariableStore_TO_BASE(base) COM_FORWARD_IUefiVariableStore_TO (base::)")

[
    uuid(5bfd8965-b81b-469f-8649-f717ce97a5d5),
    object,
    dual,
    oleautomation
    , proxy
]
interface INvramStore : IDispatch
{
    [propget] HRESULT NonVolatileStorageFile ([out, retval] BSTR * aNonVolatileStorageFile);

    [propget] HRESULT UefiVariableStore ([out, retval] IUefiVariableStore * * aUefiVariableStore);

    [propget] HRESULT KeyId ([out, retval] BSTR * aKeyId);

    [propget] HRESULT KeyStore ([out, retval] BSTR * aKeyStore);

    HRESULT InitUefiVariableStore (
        [in] ULONG aSize
    );

}; /* interface INvramStore */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO(smth) HRESULT STDMETHODCALLTYPE get_NonVolatileStorageFile (BSTR * aNonVolatileStorageFile) { return smth get_NonVolatileStorageFile (aNonVolatileStorageFile); }")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO_OBJ(obj) COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO_BASE(base) COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO (base::)")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO(smth) HRESULT STDMETHODCALLTYPE get_UefiVariableStore (IUefiVariableStore * * aUefiVariableStore) { return smth get_UefiVariableStore (aUefiVariableStore); }")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO_OBJ(obj) COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO_BASE(base) COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO (base::)")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_KeyId_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyId (BSTR * aKeyId) { return smth get_KeyId (aKeyId); }")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_KeyId_TO_OBJ(obj) COM_FORWARD_INvramStore_GETTER_KeyId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_KeyId_TO_BASE(base) COM_FORWARD_INvramStore_GETTER_KeyId_TO (base::)")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_KeyStore_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyStore (BSTR * aKeyStore) { return smth get_KeyStore (aKeyStore); }")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_KeyStore_TO_OBJ(obj) COM_FORWARD_INvramStore_GETTER_KeyStore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INvramStore_GETTER_KeyStore_TO_BASE(base) COM_FORWARD_INvramStore_GETTER_KeyStore_TO (base::)")
cpp_quote("#define COM_FORWARD_INvramStore_InitUefiVariableStore_TO(smth) HRESULT STDMETHODCALLTYPE InitUefiVariableStore (ULONG aSize) { return smth InitUefiVariableStore (aSize); }")
cpp_quote("#define COM_FORWARD_INvramStore_InitUefiVariableStore_TO_OBJ(obj) COM_FORWARD_INvramStore_InitUefiVariableStore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INvramStore_InitUefiVariableStore_TO_BASE(base) COM_FORWARD_INvramStore_InitUefiVariableStore_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_INvramStore_TO_OBJ(obj) COM_FORWARD_INvramStore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INvramStore_TO_BASE(base) COM_FORWARD_INvramStore_TO (base::)")

[
    uuid(d96a2540-8aab-4c71-8af9-95379f23b23d),
    object,
    dual,
    oleautomation
    , proxy
]
interface IResourceStore : IDispatch
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IResourceStore */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IResourceStore_TO(smth) COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IResourceStore_TO_OBJ(obj) COM_FORWARD_IResourceStore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IResourceStore_TO_BASE(base) COM_FORWARD_IResourceStore_TO (base::)")

[
    uuid(a670a023-e172-452c-b731-14ef855f4da6),
    object,
    dual,
    oleautomation
    , proxy
]
interface IPlatform : IDispatch
{
    [propget] HRESULT Architecture ([out, retval] PlatformArchitecture * aArchitecture);
    [propput] HRESULT Architecture ([in] PlatformArchitecture aArchitecture);

    [propget] HRESULT Properties ([out, retval] IPlatformProperties * * aProperties);

    [propget] HRESULT X86 ([out, retval] IPlatformX86 * * aX86);

    [propget] HRESULT ARM ([out, retval] IPlatformARM * * aARM);

    [propget] HRESULT ChipsetType ([out, retval] ChipsetType * aChipsetType);
    [propput] HRESULT ChipsetType ([in] ChipsetType aChipsetType);

    [propget] HRESULT IommuType ([out, retval] IommuType * aIommuType);
    [propput] HRESULT IommuType ([in] IommuType aIommuType);

    [propget] HRESULT RTCUseUTC ([out, retval] BOOL * aRTCUseUTC);
    [propput] HRESULT RTCUseUTC ([in] BOOL aRTCUseUTC);

    [propget] HRESULT InternalAndReservedAttribute1IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IPlatform ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IPlatform ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1IPlatform();

    HRESULT InternalAndReservedMethod2IPlatform();

    HRESULT InternalAndReservedMethod3IPlatform();

    HRESULT InternalAndReservedMethod4IPlatform();

    HRESULT InternalAndReservedMethod5IPlatform();

    HRESULT InternalAndReservedMethod6IPlatform();

    HRESULT InternalAndReservedMethod7IPlatform();

    HRESULT InternalAndReservedMethod8IPlatform();

}; /* interface IPlatform */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_Architecture_TO(smth) HRESULT STDMETHODCALLTYPE get_Architecture (PlatformArchitecture * aArchitecture) { return smth get_Architecture (aArchitecture); }")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_Architecture_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_Architecture_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_Architecture_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_Architecture_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_Architecture_TO(smth) HRESULT STDMETHODCALLTYPE put_Architecture (PlatformArchitecture aArchitecture) { return smth put_Architecture (aArchitecture); }")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_Architecture_TO_OBJ(obj) COM_FORWARD_IPlatform_SETTER_Architecture_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_Architecture_TO_BASE(base) COM_FORWARD_IPlatform_SETTER_Architecture_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_Properties_TO(smth) HRESULT STDMETHODCALLTYPE get_Properties (IPlatformProperties * * aProperties) { return smth get_Properties (aProperties); }")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_Properties_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_Properties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_Properties_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_Properties_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_X86_TO(smth) HRESULT STDMETHODCALLTYPE get_X86 (IPlatformX86 * * aX86) { return smth get_X86 (aX86); }")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_X86_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_X86_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_X86_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_X86_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_ARM_TO(smth) HRESULT STDMETHODCALLTYPE get_ARM (IPlatformARM * * aARM) { return smth get_ARM (aARM); }")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_ARM_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_ARM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_ARM_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_ARM_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_ChipsetType_TO(smth) HRESULT STDMETHODCALLTYPE get_ChipsetType (ChipsetType * aChipsetType) { return smth get_ChipsetType (aChipsetType); }")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_ChipsetType_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_ChipsetType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_ChipsetType_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_ChipsetType_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_ChipsetType_TO(smth) HRESULT STDMETHODCALLTYPE put_ChipsetType (ChipsetType aChipsetType) { return smth put_ChipsetType (aChipsetType); }")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_ChipsetType_TO_OBJ(obj) COM_FORWARD_IPlatform_SETTER_ChipsetType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_ChipsetType_TO_BASE(base) COM_FORWARD_IPlatform_SETTER_ChipsetType_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_IommuType_TO(smth) HRESULT STDMETHODCALLTYPE get_IommuType (IommuType * aIommuType) { return smth get_IommuType (aIommuType); }")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_IommuType_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_IommuType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_IommuType_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_IommuType_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_IommuType_TO(smth) HRESULT STDMETHODCALLTYPE put_IommuType (IommuType aIommuType) { return smth put_IommuType (aIommuType); }")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_IommuType_TO_OBJ(obj) COM_FORWARD_IPlatform_SETTER_IommuType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_IommuType_TO_BASE(base) COM_FORWARD_IPlatform_SETTER_IommuType_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO(smth) HRESULT STDMETHODCALLTYPE get_RTCUseUTC (BOOL * aRTCUseUTC) { return smth get_RTCUseUTC (aRTCUseUTC); }")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO(smth) HRESULT STDMETHODCALLTYPE put_RTCUseUTC (BOOL aRTCUseUTC) { return smth put_RTCUseUTC (aRTCUseUTC); }")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO_OBJ(obj) COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO_BASE(base) COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IPlatform_TO_OBJ(obj) COM_FORWARD_IPlatform_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatform_TO_BASE(base) COM_FORWARD_IPlatform_TO (base::)")

[
    uuid(5ada589f-09c9-4604-b700-9ab3a5572e3a),
    object,
    dual,
    oleautomation
    , proxy
]
interface IPlatformX86 : IDispatch
{
    [propget] HRESULT HPETEnabled ([out, retval] BOOL * aHPETEnabled);
    [propput] HRESULT HPETEnabled ([in] BOOL aHPETEnabled);

    [propget] HRESULT InternalAndReservedAttribute1IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IPlatformX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IPlatformX86 ([out, retval] ULONG *aReserved);

    HRESULT GetCPUProperty (
        [in] CPUPropertyTypeX86 aProperty,
        [out, retval] BOOL * aValue
    );

    HRESULT SetCPUProperty (
        [in] CPUPropertyTypeX86 aProperty,
        [in] BOOL aValue
    );

    HRESULT GetCPUIDLeafByOrdinal (
        [in] ULONG aOrdinal,
        [out] ULONG * aIdx,
        [out] ULONG * aIdxSub,
        [out] ULONG * aValEax,
        [out] ULONG * aValEbx,
        [out] ULONG * aValEcx,
        [out] ULONG * aValEdx
    );

    HRESULT GetCPUIDLeaf (
        [in] ULONG aIdx,
        [in] ULONG aIdxSub,
        [out] ULONG * aValEax,
        [out] ULONG * aValEbx,
        [out] ULONG * aValEcx,
        [out] ULONG * aValEdx
    );

    HRESULT SetCPUIDLeaf (
        [in] ULONG aIdx,
        [in] ULONG aIdxSub,
        [in] ULONG aValEax,
        [in] ULONG aValEbx,
        [in] ULONG aValEcx,
        [in] ULONG aValEdx
    );

    HRESULT RemoveCPUIDLeaf (
        [in] ULONG aIdx,
        [in] ULONG aIdxSub
    );

    HRESULT RemoveAllCPUIDLeaves();

    HRESULT GetHWVirtExProperty (
        [in] HWVirtExPropertyType aProperty,
        [out, retval] BOOL * aValue
    );

    HRESULT SetHWVirtExProperty (
        [in] HWVirtExPropertyType aProperty,
        [in] BOOL aValue
    );

    HRESULT InternalAndReservedMethod1IPlatformX86();

    HRESULT InternalAndReservedMethod2IPlatformX86();

    HRESULT InternalAndReservedMethod3IPlatformX86();

    HRESULT InternalAndReservedMethod4IPlatformX86();

    HRESULT InternalAndReservedMethod5IPlatformX86();

    HRESULT InternalAndReservedMethod6IPlatformX86();

    HRESULT InternalAndReservedMethod7IPlatformX86();

    HRESULT InternalAndReservedMethod8IPlatformX86();

}; /* interface IPlatformX86 */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_HPETEnabled (BOOL * aHPETEnabled) { return smth get_HPETEnabled (aHPETEnabled); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO_OBJ(obj) COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO_BASE(base) COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_HPETEnabled (BOOL aHPETEnabled) { return smth put_HPETEnabled (aHPETEnabled); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO_OBJ(obj) COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO_BASE(base) COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformX86_GetCPUProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUProperty (CPUPropertyTypeX86 aProperty, BOOL * aValue) { return smth GetCPUProperty (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_GetCPUProperty_TO_OBJ(obj) COM_FORWARD_IPlatformX86_GetCPUProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_GetCPUProperty_TO_BASE(base) COM_FORWARD_IPlatformX86_GetCPUProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformX86_SetCPUProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetCPUProperty (CPUPropertyTypeX86 aProperty, BOOL aValue) { return smth SetCPUProperty (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_SetCPUProperty_TO_OBJ(obj) COM_FORWARD_IPlatformX86_SetCPUProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_SetCPUProperty_TO_BASE(base) COM_FORWARD_IPlatformX86_SetCPUProperty_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_GetCPUIDLeafByOrdinal_TO_OBJ(obj) COM_FORWARD_IPlatformX86_GetCPUIDLeafByOrdinal_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_GetCPUIDLeafByOrdinal_TO_BASE(base) COM_FORWARD_IPlatformX86_GetCPUIDLeafByOrdinal_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_GetCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IPlatformX86_GetCPUIDLeaf_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_GetCPUIDLeaf_TO_BASE(base) COM_FORWARD_IPlatformX86_GetCPUIDLeaf_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_SetCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IPlatformX86_SetCPUIDLeaf_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_SetCPUIDLeaf_TO_BASE(base) COM_FORWARD_IPlatformX86_SetCPUIDLeaf_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO(smth) HRESULT STDMETHODCALLTYPE RemoveCPUIDLeaf (ULONG aIdx, ULONG aIdxSub) { return smth RemoveCPUIDLeaf (aIdx, aIdxSub); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO_BASE(base) COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO(smth) HRESULT STDMETHODCALLTYPE RemoveAllCPUIDLeaves() { return smth RemoveAllCPUIDLeaves(); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO_OBJ(obj) COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO_BASE(base) COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetHWVirtExProperty (HWVirtExPropertyType aProperty, BOOL * aValue) { return smth GetHWVirtExProperty (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO_OBJ(obj) COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO_BASE(base) COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetHWVirtExProperty (HWVirtExPropertyType aProperty, BOOL aValue) { return smth SetHWVirtExProperty (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO_OBJ(obj) COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO_BASE(base) COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IPlatformX86_TO_OBJ(obj) COM_FORWARD_IPlatformX86_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformX86_TO_BASE(base) COM_FORWARD_IPlatformX86_TO (base::)")

[
    uuid(002c75fe-3316-4920-aece-7d21ce6f624b),
    object,
    dual,
    oleautomation
    , proxy
]
interface IPlatformARM : IDispatch
{
    [propget] HRESULT InternalAndReservedAttribute1IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IPlatformARM ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IPlatformARM ([out, retval] ULONG *aReserved);

    HRESULT GetCPUProperty (
        [in] CPUPropertyTypeARM aProperty,
        [out, retval] BOOL * aValue
    );

    HRESULT SetCPUProperty (
        [in] CPUPropertyTypeARM aProperty,
        [in] BOOL aValue
    );

    HRESULT InternalAndReservedMethod1IPlatformARM();

    HRESULT InternalAndReservedMethod2IPlatformARM();

    HRESULT InternalAndReservedMethod3IPlatformARM();

    HRESULT InternalAndReservedMethod4IPlatformARM();

    HRESULT InternalAndReservedMethod5IPlatformARM();

    HRESULT InternalAndReservedMethod6IPlatformARM();

    HRESULT InternalAndReservedMethod7IPlatformARM();

    HRESULT InternalAndReservedMethod8IPlatformARM();

}; /* interface IPlatformARM */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IPlatformARM_GetCPUProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUProperty (CPUPropertyTypeARM aProperty, BOOL * aValue) { return smth GetCPUProperty (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IPlatformARM_GetCPUProperty_TO_OBJ(obj) COM_FORWARD_IPlatformARM_GetCPUProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformARM_GetCPUProperty_TO_BASE(base) COM_FORWARD_IPlatformARM_GetCPUProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformARM_SetCPUProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetCPUProperty (CPUPropertyTypeARM aProperty, BOOL aValue) { return smth SetCPUProperty (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IPlatformARM_SetCPUProperty_TO_OBJ(obj) COM_FORWARD_IPlatformARM_SetCPUProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformARM_SetCPUProperty_TO_BASE(base) COM_FORWARD_IPlatformARM_SetCPUProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformARM_TO(smth) COM_FORWARD_IPlatformARM_GetCPUProperty_TO (smth) COM_FORWARD_IPlatformARM_SetCPUProperty_TO (smth) ")
cpp_quote("#define COM_FORWARD_IPlatformARM_TO_OBJ(obj) COM_FORWARD_IPlatformARM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformARM_TO_BASE(base) COM_FORWARD_IPlatformARM_TO (base::)")

[
    uuid(e36a5081-a82a-40bd-9e4e-42a44d6ce50f),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMachine : IDispatch
{
    [propget] HRESULT Parent ([out, retval] IVirtualBox * * aParent);

    [propget] HRESULT Icon ([out, retval] SAFEARRAY(BYTE) * aIcon);
    [propput] HRESULT Icon ([in] SAFEARRAY(BYTE) aIcon);

    [propget] HRESULT Accessible ([out, retval] BOOL * aAccessible);

    [propget] HRESULT AccessError ([out, retval] IVirtualBoxErrorInfo * * aAccessError);

    [propget] HRESULT Name ([out, retval] BSTR * aName);
    [propput] HRESULT Name ([in] BSTR aName);

    [propget] HRESULT Description ([out, retval] BSTR * aDescription);
    [propput] HRESULT Description ([in] BSTR aDescription);

    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Groups ([out, retval] SAFEARRAY(BSTR) * aGroups);
    [propput] HRESULT Groups ([in] SAFEARRAY(BSTR) aGroups);

    [propget] HRESULT OSTypeId ([out, retval] BSTR * aOSTypeId);
    [propput] HRESULT OSTypeId ([in] BSTR aOSTypeId);

    [propget] HRESULT HardwareVersion ([out, retval] BSTR * aHardwareVersion);
    [propput] HRESULT HardwareVersion ([in] BSTR aHardwareVersion);

    [propget] HRESULT HardwareUUID ([out, retval] BSTR * aHardwareUUID);
    [propput] HRESULT HardwareUUID ([in] BSTR aHardwareUUID);

    [propget] HRESULT CPUCount ([out, retval] ULONG * aCPUCount);
    [propput] HRESULT CPUCount ([in] ULONG aCPUCount);

    [propget] HRESULT CPUHotPlugEnabled ([out, retval] BOOL * aCPUHotPlugEnabled);
    [propput] HRESULT CPUHotPlugEnabled ([in] BOOL aCPUHotPlugEnabled);

    [propget] HRESULT CPUExecutionCap ([out, retval] ULONG * aCPUExecutionCap);
    [propput] HRESULT CPUExecutionCap ([in] ULONG aCPUExecutionCap);

    [propget] HRESULT CPUIDPortabilityLevel ([out, retval] ULONG * aCPUIDPortabilityLevel);
    [propput] HRESULT CPUIDPortabilityLevel ([in] ULONG aCPUIDPortabilityLevel);

    [propget] HRESULT MemorySize ([out, retval] ULONG * aMemorySize);
    [propput] HRESULT MemorySize ([in] ULONG aMemorySize);

    [propget] HRESULT MemoryBalloonSize ([out, retval] ULONG * aMemoryBalloonSize);
    [propput] HRESULT MemoryBalloonSize ([in] ULONG aMemoryBalloonSize);

    [propget] HRESULT PageFusionEnabled ([out, retval] BOOL * aPageFusionEnabled);
    [propput] HRESULT PageFusionEnabled ([in] BOOL aPageFusionEnabled);

    [propget] HRESULT GraphicsAdapter ([out, retval] IGraphicsAdapter * * aGraphicsAdapter);

    [propget] HRESULT Platform ([out, retval] IPlatform * * aPlatform);

    [propget] HRESULT FirmwareSettings ([out, retval] IFirmwareSettings * * aFirmwareSettings);

    [propget] HRESULT TrustedPlatformModule ([out, retval] ITrustedPlatformModule * * aTrustedPlatformModule);

    [propget] HRESULT NonVolatileStore ([out, retval] INvramStore * * aNonVolatileStore);

    [propget] HRESULT RecordingSettings ([out, retval] IRecordingSettings * * aRecordingSettings);

    [propget] HRESULT PointingHIDType ([out, retval] PointingHIDType * aPointingHIDType);
    [propput] HRESULT PointingHIDType ([in] PointingHIDType aPointingHIDType);

    [propget] HRESULT KeyboardHIDType ([out, retval] KeyboardHIDType * aKeyboardHIDType);
    [propput] HRESULT KeyboardHIDType ([in] KeyboardHIDType aKeyboardHIDType);

    [propget] HRESULT SnapshotFolder ([out, retval] BSTR * aSnapshotFolder);
    [propput] HRESULT SnapshotFolder ([in] BSTR aSnapshotFolder);

    [propget] HRESULT VRDEServer ([out, retval] IVRDEServer * * aVRDEServer);

    [propget] HRESULT EmulatedUSBCardReaderEnabled ([out, retval] BOOL * aEmulatedUSBCardReaderEnabled);
    [propput] HRESULT EmulatedUSBCardReaderEnabled ([in] BOOL aEmulatedUSBCardReaderEnabled);

    [propget] HRESULT MediumAttachments ([out, retval] SAFEARRAY(IMediumAttachment *) * aMediumAttachments);

    [propget] HRESULT USBControllers ([out, retval] SAFEARRAY(IUSBController *) * aUSBControllers);

    [propget] HRESULT USBDeviceFilters ([out, retval] IUSBDeviceFilters * * aUSBDeviceFilters);

    [propget] HRESULT AudioSettings ([out, retval] IAudioSettings * * aAudioSettings);

    [propget] HRESULT StorageControllers ([out, retval] SAFEARRAY(IStorageController *) * aStorageControllers);

    [propget] HRESULT SettingsFilePath ([out, retval] BSTR * aSettingsFilePath);

    [propget] HRESULT SettingsAuxFilePath ([out, retval] BSTR * aSettingsAuxFilePath);

    [propget] HRESULT SettingsModified ([out, retval] BOOL * aSettingsModified);

    [propget] HRESULT SessionState ([out, retval] SessionState * aSessionState);

    [propget] HRESULT SessionName ([out, retval] BSTR * aSessionName);

    [propget] HRESULT SessionPID ([out, retval] ULONG * aSessionPID);

    [propget] HRESULT State ([out, retval] MachineState * aState);

    [propget] HRESULT LastStateChange ([out, retval] LONG64 * aLastStateChange);

    [propget] HRESULT StateFilePath ([out, retval] BSTR * aStateFilePath);

    [propget] HRESULT LogFolder ([out, retval] BSTR * aLogFolder);

    [propget] HRESULT CurrentSnapshot ([out, retval] ISnapshot * * aCurrentSnapshot);

    [propget] HRESULT SnapshotCount ([out, retval] ULONG * aSnapshotCount);

    [propget] HRESULT CurrentStateModified ([out, retval] BOOL * aCurrentStateModified);

    [propget] HRESULT SharedFolders ([out, retval] SAFEARRAY(ISharedFolder *) * aSharedFolders);

    [propget] HRESULT ClipboardMode ([out, retval] ClipboardMode * aClipboardMode);
    [propput] HRESULT ClipboardMode ([in] ClipboardMode aClipboardMode);

    [propget] HRESULT ClipboardFileTransfersEnabled ([out, retval] BOOL * aClipboardFileTransfersEnabled);
    [propput] HRESULT ClipboardFileTransfersEnabled ([in] BOOL aClipboardFileTransfersEnabled);

    [propget] HRESULT DnDMode ([out, retval] DnDMode * aDnDMode);
    [propput] HRESULT DnDMode ([in] DnDMode aDnDMode);

    [propget] HRESULT TeleporterEnabled ([out, retval] BOOL * aTeleporterEnabled);
    [propput] HRESULT TeleporterEnabled ([in] BOOL aTeleporterEnabled);

    [propget] HRESULT TeleporterPort ([out, retval] ULONG * aTeleporterPort);
    [propput] HRESULT TeleporterPort ([in] ULONG aTeleporterPort);

    [propget] HRESULT TeleporterAddress ([out, retval] BSTR * aTeleporterAddress);
    [propput] HRESULT TeleporterAddress ([in] BSTR aTeleporterAddress);

    [propget] HRESULT TeleporterPassword ([out, retval] BSTR * aTeleporterPassword);
    [propput] HRESULT TeleporterPassword ([in] BSTR aTeleporterPassword);

    [propget] HRESULT ParavirtProvider ([out, retval] ParavirtProvider * aParavirtProvider);
    [propput] HRESULT ParavirtProvider ([in] ParavirtProvider aParavirtProvider);

    [propget] HRESULT IOCacheEnabled ([out, retval] BOOL * aIOCacheEnabled);
    [propput] HRESULT IOCacheEnabled ([in] BOOL aIOCacheEnabled);

    [propget] HRESULT IOCacheSize ([out, retval] ULONG * aIOCacheSize);
    [propput] HRESULT IOCacheSize ([in] ULONG aIOCacheSize);

    [propget] HRESULT PCIDeviceAssignments ([out, retval] SAFEARRAY(IPCIDeviceAttachment *) * aPCIDeviceAssignments);

    [propget] HRESULT BandwidthControl ([out, retval] IBandwidthControl * * aBandwidthControl);

    [propget] HRESULT TracingEnabled ([out, retval] BOOL * aTracingEnabled);
    [propput] HRESULT TracingEnabled ([in] BOOL aTracingEnabled);

    [propget] HRESULT TracingConfig ([out, retval] BSTR * aTracingConfig);
    [propput] HRESULT TracingConfig ([in] BSTR aTracingConfig);

    [propget] HRESULT AllowTracingToAccessVM ([out, retval] BOOL * aAllowTracingToAccessVM);
    [propput] HRESULT AllowTracingToAccessVM ([in] BOOL aAllowTracingToAccessVM);

    [propget] HRESULT AutostartEnabled ([out, retval] BOOL * aAutostartEnabled);
    [propput] HRESULT AutostartEnabled ([in] BOOL aAutostartEnabled);

    [propget] HRESULT AutostartDelay ([out, retval] ULONG * aAutostartDelay);
    [propput] HRESULT AutostartDelay ([in] ULONG aAutostartDelay);

    [propget] HRESULT AutostopType ([out, retval] AutostopType * aAutostopType);
    [propput] HRESULT AutostopType ([in] AutostopType aAutostopType);

    [propget] HRESULT DefaultFrontend ([out, retval] BSTR * aDefaultFrontend);
    [propput] HRESULT DefaultFrontend ([in] BSTR aDefaultFrontend);

    [propget] HRESULT USBProxyAvailable ([out, retval] BOOL * aUSBProxyAvailable);

    [propget] HRESULT VMProcessPriority ([out, retval] VMProcPriority * aVMProcessPriority);
    [propput] HRESULT VMProcessPriority ([in] VMProcPriority aVMProcessPriority);

    [propget] HRESULT VMExecutionEngine ([out, retval] VMExecutionEngine * aVMExecutionEngine);
    [propput] HRESULT VMExecutionEngine ([in] VMExecutionEngine aVMExecutionEngine);

    [propget] HRESULT ParavirtDebug ([out, retval] BSTR * aParavirtDebug);
    [propput] HRESULT ParavirtDebug ([in] BSTR aParavirtDebug);

    [propget] HRESULT CPUProfile ([out, retval] BSTR * aCPUProfile);
    [propput] HRESULT CPUProfile ([in] BSTR aCPUProfile);

    [propget] HRESULT StateKeyId ([out, retval] BSTR * aStateKeyId);

    [propget] HRESULT StateKeyStore ([out, retval] BSTR * aStateKeyStore);

    [propget] HRESULT LogKeyId ([out, retval] BSTR * aLogKeyId);

    [propget] HRESULT LogKeyStore ([out, retval] BSTR * aLogKeyStore);

    [propget] HRESULT GuestDebugControl ([out, retval] IGuestDebugControl * * aGuestDebugControl);

    [propget] HRESULT InternalAndReservedAttribute1IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IMachine ([out, retval] ULONG *aReserved);

    HRESULT LockMachine (
        [in] ISession * aSession,
        [in] LockType aLockType
    );

    HRESULT LaunchVMProcess (
        [in] ISession * aSession,
        [in] BSTR aName,
        [in] SAFEARRAY(BSTR) aEnvironmentChanges,
        [out, retval] IProgress * * aProgress
    );

    HRESULT SetBootOrder (
        [in] ULONG aPosition,
        [in] DeviceType aDevice
    );

    HRESULT GetBootOrder (
        [in] ULONG aPosition,
        [out, retval] DeviceType * aDevice
    );

    HRESULT AttachDevice (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] DeviceType aType,
        [in] IMedium * aMedium
    );

    HRESULT AttachDeviceWithoutMedium (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] DeviceType aType
    );

    HRESULT DetachDevice (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice
    );

    HRESULT PassthroughDevice (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] BOOL aPassthrough
    );

    HRESULT TemporaryEjectDevice (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] BOOL aTemporaryEject
    );

    HRESULT NonRotationalDevice (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] BOOL aNonRotational
    );

    HRESULT SetAutoDiscardForDevice (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] BOOL aDiscard
    );

    HRESULT SetHotPluggableForDevice (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] BOOL aHotPluggable
    );

    HRESULT SetBandwidthGroupForDevice (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] IBandwidthGroup * aBandwidthGroup
    );

    HRESULT SetNoBandwidthGroupForDevice (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice
    );

    HRESULT UnmountMedium (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] BOOL aForce
    );

    HRESULT MountMedium (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] IMedium * aMedium,
        [in] BOOL aForce
    );

    HRESULT GetMedium (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [out, retval] IMedium * * aMedium
    );

    HRESULT GetMediumAttachmentsOfController (
        [in] BSTR aName,
        [out, retval] SAFEARRAY(IMediumAttachment *) * aMediumAttachments
    );

    HRESULT GetMediumAttachment (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [out, retval] IMediumAttachment * * aAttachment
    );

    HRESULT AttachHostPCIDevice (
        [in] LONG aHostAddress,
        [in] LONG aDesiredGuestAddress,
        [in] BOOL aTryToUnbind
    );

    HRESULT DetachHostPCIDevice (
        [in] LONG aHostAddress
    );

    HRESULT GetNetworkAdapter (
        [in] ULONG aSlot,
        [out, retval] INetworkAdapter * * aAdapter
    );

    HRESULT AddStorageController (
        [in] BSTR aName,
        [in] StorageBus aConnectionType,
        [out, retval] IStorageController * * aController
    );

    HRESULT GetStorageControllerByName (
        [in] BSTR aName,
        [out, retval] IStorageController * * aStorageController
    );

    HRESULT GetStorageControllerByInstance (
        [in] StorageBus aConnectionType,
        [in] ULONG aInstance,
        [out, retval] IStorageController * * aStorageController
    );

    HRESULT RemoveStorageController (
        [in] BSTR aName
    );

    HRESULT SetStorageControllerBootable (
        [in] BSTR aName,
        [in] BOOL aBootable
    );

    HRESULT AddUSBController (
        [in] BSTR aName,
        [in] USBControllerType aType,
        [out, retval] IUSBController * * aController
    );

    HRESULT RemoveUSBController (
        [in] BSTR aName
    );

    HRESULT GetUSBControllerByName (
        [in] BSTR aName,
        [out, retval] IUSBController * * aController
    );

    HRESULT GetUSBControllerCountByType (
        [in] USBControllerType aType,
        [out, retval] ULONG * aControllers
    );

    HRESULT GetSerialPort (
        [in] ULONG aSlot,
        [out, retval] ISerialPort * * aPort
    );

    HRESULT GetParallelPort (
        [in] ULONG aSlot,
        [out, retval] IParallelPort * * aPort
    );

    HRESULT GetExtraDataKeys (
        [out, retval] SAFEARRAY(BSTR) * aKeys
    );

    HRESULT GetExtraData (
        [in] BSTR aKey,
        [out, retval] BSTR * aValue
    );

    HRESULT SetExtraData (
        [in] BSTR aKey,
        [in] BSTR aValue
    );

    HRESULT SetSettingsFilePath (
        [in] BSTR aSettingsFilePath,
        [out, retval] IProgress * * aProgress
    );

    HRESULT SaveSettings();

    HRESULT DiscardSettings();

    HRESULT Unregister (
        [in] CleanupMode aCleanupMode,
        [out, retval] SAFEARRAY(IMedium *) * aMedia
    );

    HRESULT DeleteConfig (
        [in] SAFEARRAY(IMedium *) aMedia,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ExportTo (
        [in] IAppliance * aAppliance,
        [in] BSTR aLocation,
        [out, retval] IVirtualSystemDescription * * aDescription
    );

    HRESULT FindSnapshot (
        [in] BSTR aNameOrId,
        [out, retval] ISnapshot * * aSnapshot
    );

    HRESULT CreateSharedFolder (
        [in] BSTR aName,
        [in] BSTR aHostPath,
        [in] BOOL aWritable,
        [in] BOOL aAutomount,
        [in] BSTR aAutoMountPoint
    );

    HRESULT RemoveSharedFolder (
        [in] BSTR aName
    );

    HRESULT CanShowConsoleWindow (
        [out, retval] BOOL * aCanShow
    );

    HRESULT ShowConsoleWindow (
        [out, retval] LONG64 * aWinId
    );

    HRESULT GetGuestProperty (
        [in] BSTR aName,
        [out] BSTR * aValue,
        [out] LONG64 * aTimestamp,
        [out] BSTR * aFlags
    );

    HRESULT GetGuestPropertyValue (
        [in] BSTR aProperty,
        [out, retval] BSTR * aValue
    );

    HRESULT GetGuestPropertyTimestamp (
        [in] BSTR aProperty,
        [out, retval] LONG64 * aValue
    );

    HRESULT SetGuestProperty (
        [in] BSTR aProperty,
        [in] BSTR aValue,
        [in] BSTR aFlags
    );

    HRESULT SetGuestPropertyValue (
        [in] BSTR aProperty,
        [in] BSTR aValue
    );

    HRESULT DeleteGuestProperty (
        [in] BSTR aName
    );

    HRESULT EnumerateGuestProperties (
        [in] BSTR aPatterns,
        [out] SAFEARRAY(BSTR) * aNames,
        [out] SAFEARRAY(BSTR) * aValues,
        [out] SAFEARRAY(LONG64) * aTimestamps,
        [out] SAFEARRAY(BSTR) * aFlags
    );

    HRESULT QuerySavedGuestScreenInfo (
        [in] ULONG aScreenId,
        [out] ULONG * aOriginX,
        [out] ULONG * aOriginY,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight,
        [out] BOOL * aEnabled
    );

    HRESULT ReadSavedThumbnailToArray (
        [in] ULONG aScreenId,
        [in] BitmapFormat aBitmapFormat,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT QuerySavedScreenshotInfo (
        [in] ULONG aScreenId,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight,
        [out, retval] SAFEARRAY(BitmapFormat) * aBitmapFormats
    );

    HRESULT ReadSavedScreenshotToArray (
        [in] ULONG aScreenId,
        [in] BitmapFormat aBitmapFormat,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT HotPlugCPU (
        [in] ULONG aCpu
    );

    HRESULT HotUnplugCPU (
        [in] ULONG aCpu
    );

    HRESULT GetCPUStatus (
        [in] ULONG aCpu,
        [out, retval] BOOL * aAttached
    );

    HRESULT GetEffectiveParavirtProvider (
        [out, retval] ParavirtProvider * aParavirtProvider
    );

    HRESULT QueryLogFilename (
        [in] ULONG aIdx,
        [out, retval] BSTR * aFilename
    );

    HRESULT ReadLog (
        [in] ULONG aIdx,
        [in] LONG64 aOffset,
        [in] LONG64 aSize,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT CloneTo (
        [in] IMachine * aTarget,
        [in] CloneMode aMode,
        [in] SAFEARRAY(CloneOptions) aOptions,
        [out, retval] IProgress * * aProgress
    );

    HRESULT MoveTo (
        [in] BSTR aFolder,
        [in] BSTR aType,
        [out, retval] IProgress * * aProgress
    );

    HRESULT SaveState (
        [out, retval] IProgress * * aProgress
    );

    HRESULT AdoptSavedState (
        [in] BSTR aSavedStateFile
    );

    HRESULT DiscardSavedState (
        [in] BOOL aFRemoveFile
    );

    HRESULT TakeSnapshot (
        [in] BSTR aName,
        [in] BSTR aDescription,
        [in] BOOL aPause,
        [out] BSTR * aId,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DeleteSnapshot (
        [in] BSTR aId,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DeleteSnapshotAndAllChildren (
        [in] BSTR aId,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DeleteSnapshotRange (
        [in] BSTR aStartId,
        [in] BSTR aEndId,
        [out, retval] IProgress * * aProgress
    );

    HRESULT RestoreSnapshot (
        [in] ISnapshot * aSnapshot,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ApplyDefaults (
        [in] BSTR aFlags
    );

    HRESULT ChangeEncryption (
        [in] BSTR aCurrentPassword,
        [in] BSTR aCipher,
        [in] BSTR aNewPassword,
        [in] BSTR aNewPasswordId,
        [in] BOOL aForce,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetEncryptionSettings (
        [out] BSTR * aCipher,
        [out] BSTR * aPasswordId
    );

    HRESULT CheckEncryptionPassword (
        [in] BSTR aPassword
    );

    HRESULT AddEncryptionPassword (
        [in] BSTR aId,
        [in] BSTR aPassword
    );

    HRESULT AddEncryptionPasswords (
        [in] SAFEARRAY(BSTR) aIds,
        [in] SAFEARRAY(BSTR) aPasswords
    );

    HRESULT RemoveEncryptionPassword (
        [in] BSTR aId
    );

    HRESULT ClearAllEncryptionPasswords();

    HRESULT InternalAndReservedMethod1IMachine();

    HRESULT InternalAndReservedMethod2IMachine();

    HRESULT InternalAndReservedMethod3IMachine();

    HRESULT InternalAndReservedMethod4IMachine();

    HRESULT InternalAndReservedMethod5IMachine();

    HRESULT InternalAndReservedMethod6IMachine();

    HRESULT InternalAndReservedMethod7IMachine();

    HRESULT InternalAndReservedMethod8IMachine();

}; /* interface IMachine */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Parent_TO(smth) HRESULT STDMETHODCALLTYPE get_Parent (IVirtualBox * * aParent) { return smth get_Parent (aParent); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Parent_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Parent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Parent_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Parent_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Icon_TO(smth) HRESULT STDMETHODCALLTYPE get_Icon (SAFEARRAY * * aIcon) { return smth get_Icon (aIcon); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Icon_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Icon_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Icon_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Icon_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Icon_TO(smth) HRESULT STDMETHODCALLTYPE put_Icon (SAFEARRAY * aIcon) { return smth put_Icon (aIcon); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Icon_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_Icon_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Icon_TO_BASE(base) COM_FORWARD_IMachine_SETTER_Icon_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Accessible_TO(smth) HRESULT STDMETHODCALLTYPE get_Accessible (BOOL * aAccessible) { return smth get_Accessible (aAccessible); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Accessible_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Accessible_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Accessible_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Accessible_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AccessError_TO(smth) HRESULT STDMETHODCALLTYPE get_AccessError (IVirtualBoxErrorInfo * * aAccessError) { return smth get_AccessError (aAccessError); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AccessError_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AccessError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AccessError_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AccessError_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Name_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Name_TO_BASE(base) COM_FORWARD_IMachine_SETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Description_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE put_Description (BSTR aDescription) { return smth put_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Description_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Description_TO_BASE(base) COM_FORWARD_IMachine_SETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Id_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Groups_TO(smth) HRESULT STDMETHODCALLTYPE get_Groups (SAFEARRAY * * aGroups) { return smth get_Groups (aGroups); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Groups_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Groups_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Groups_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Groups_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Groups_TO(smth) HRESULT STDMETHODCALLTYPE put_Groups (SAFEARRAY * aGroups) { return smth put_Groups (aGroups); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Groups_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_Groups_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Groups_TO_BASE(base) COM_FORWARD_IMachine_SETTER_Groups_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_OSTypeId_TO(smth) HRESULT STDMETHODCALLTYPE get_OSTypeId (BSTR * aOSTypeId) { return smth get_OSTypeId (aOSTypeId); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_OSTypeId_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_OSTypeId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_OSTypeId_TO_BASE(base) COM_FORWARD_IMachine_GETTER_OSTypeId_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_OSTypeId_TO(smth) HRESULT STDMETHODCALLTYPE put_OSTypeId (BSTR aOSTypeId) { return smth put_OSTypeId (aOSTypeId); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_OSTypeId_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_OSTypeId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_OSTypeId_TO_BASE(base) COM_FORWARD_IMachine_SETTER_OSTypeId_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_HardwareVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_HardwareVersion (BSTR * aHardwareVersion) { return smth get_HardwareVersion (aHardwareVersion); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_HardwareVersion_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_HardwareVersion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_HardwareVersion_TO_BASE(base) COM_FORWARD_IMachine_GETTER_HardwareVersion_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_HardwareVersion_TO(smth) HRESULT STDMETHODCALLTYPE put_HardwareVersion (BSTR aHardwareVersion) { return smth put_HardwareVersion (aHardwareVersion); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_HardwareVersion_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_HardwareVersion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_HardwareVersion_TO_BASE(base) COM_FORWARD_IMachine_SETTER_HardwareVersion_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_HardwareUUID_TO(smth) HRESULT STDMETHODCALLTYPE get_HardwareUUID (BSTR * aHardwareUUID) { return smth get_HardwareUUID (aHardwareUUID); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_HardwareUUID_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_HardwareUUID_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_HardwareUUID_TO_BASE(base) COM_FORWARD_IMachine_GETTER_HardwareUUID_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_HardwareUUID_TO(smth) HRESULT STDMETHODCALLTYPE put_HardwareUUID (BSTR aHardwareUUID) { return smth put_HardwareUUID (aHardwareUUID); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_HardwareUUID_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_HardwareUUID_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_HardwareUUID_TO_BASE(base) COM_FORWARD_IMachine_SETTER_HardwareUUID_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUCount_TO(smth) HRESULT STDMETHODCALLTYPE get_CPUCount (ULONG * aCPUCount) { return smth get_CPUCount (aCPUCount); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUCount_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CPUCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUCount_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CPUCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUCount_TO(smth) HRESULT STDMETHODCALLTYPE put_CPUCount (ULONG aCPUCount) { return smth put_CPUCount (aCPUCount); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUCount_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_CPUCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUCount_TO_BASE(base) COM_FORWARD_IMachine_SETTER_CPUCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_CPUHotPlugEnabled (BOOL * aCPUHotPlugEnabled) { return smth get_CPUHotPlugEnabled (aCPUHotPlugEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_CPUHotPlugEnabled (BOOL aCPUHotPlugEnabled) { return smth put_CPUHotPlugEnabled (aCPUHotPlugEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO(smth) HRESULT STDMETHODCALLTYPE get_CPUExecutionCap (ULONG * aCPUExecutionCap) { return smth get_CPUExecutionCap (aCPUExecutionCap); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO(smth) HRESULT STDMETHODCALLTYPE put_CPUExecutionCap (ULONG aCPUExecutionCap) { return smth put_CPUExecutionCap (aCPUExecutionCap); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO_BASE(base) COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO(smth) HRESULT STDMETHODCALLTYPE get_CPUIDPortabilityLevel (ULONG * aCPUIDPortabilityLevel) { return smth get_CPUIDPortabilityLevel (aCPUIDPortabilityLevel); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO(smth) HRESULT STDMETHODCALLTYPE put_CPUIDPortabilityLevel (ULONG aCPUIDPortabilityLevel) { return smth put_CPUIDPortabilityLevel (aCPUIDPortabilityLevel); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO_BASE(base) COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MemorySize_TO(smth) HRESULT STDMETHODCALLTYPE get_MemorySize (ULONG * aMemorySize) { return smth get_MemorySize (aMemorySize); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MemorySize_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_MemorySize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MemorySize_TO_BASE(base) COM_FORWARD_IMachine_GETTER_MemorySize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_MemorySize_TO(smth) HRESULT STDMETHODCALLTYPE put_MemorySize (ULONG aMemorySize) { return smth put_MemorySize (aMemorySize); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_MemorySize_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_MemorySize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_MemorySize_TO_BASE(base) COM_FORWARD_IMachine_SETTER_MemorySize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO(smth) HRESULT STDMETHODCALLTYPE get_MemoryBalloonSize (ULONG * aMemoryBalloonSize) { return smth get_MemoryBalloonSize (aMemoryBalloonSize); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO_BASE(base) COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO(smth) HRESULT STDMETHODCALLTYPE put_MemoryBalloonSize (ULONG aMemoryBalloonSize) { return smth put_MemoryBalloonSize (aMemoryBalloonSize); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO_BASE(base) COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_PageFusionEnabled (BOOL * aPageFusionEnabled) { return smth get_PageFusionEnabled (aPageFusionEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_PageFusionEnabled (BOOL aPageFusionEnabled) { return smth put_PageFusionEnabled (aPageFusionEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO(smth) HRESULT STDMETHODCALLTYPE get_GraphicsAdapter (IGraphicsAdapter * * aGraphicsAdapter) { return smth get_GraphicsAdapter (aGraphicsAdapter); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO_BASE(base) COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Platform_TO(smth) HRESULT STDMETHODCALLTYPE get_Platform (IPlatform * * aPlatform) { return smth get_Platform (aPlatform); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Platform_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Platform_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Platform_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Platform_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO(smth) HRESULT STDMETHODCALLTYPE get_FirmwareSettings (IFirmwareSettings * * aFirmwareSettings) { return smth get_FirmwareSettings (aFirmwareSettings); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO_BASE(base) COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO(smth) HRESULT STDMETHODCALLTYPE get_TrustedPlatformModule (ITrustedPlatformModule * * aTrustedPlatformModule) { return smth get_TrustedPlatformModule (aTrustedPlatformModule); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO(smth) HRESULT STDMETHODCALLTYPE get_NonVolatileStore (INvramStore * * aNonVolatileStore) { return smth get_NonVolatileStore (aNonVolatileStore); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO_BASE(base) COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_RecordingSettings_TO(smth) HRESULT STDMETHODCALLTYPE get_RecordingSettings (IRecordingSettings * * aRecordingSettings) { return smth get_RecordingSettings (aRecordingSettings); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_RecordingSettings_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_RecordingSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_RecordingSettings_TO_BASE(base) COM_FORWARD_IMachine_GETTER_RecordingSettings_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_PointingHIDType_TO(smth) HRESULT STDMETHODCALLTYPE get_PointingHIDType (PointingHIDType * aPointingHIDType) { return smth get_PointingHIDType (aPointingHIDType); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_PointingHIDType_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_PointingHIDType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_PointingHIDType_TO_BASE(base) COM_FORWARD_IMachine_GETTER_PointingHIDType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_PointingHIDType_TO(smth) HRESULT STDMETHODCALLTYPE put_PointingHIDType (PointingHIDType aPointingHIDType) { return smth put_PointingHIDType (aPointingHIDType); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_PointingHIDType_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_PointingHIDType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_PointingHIDType_TO_BASE(base) COM_FORWARD_IMachine_SETTER_PointingHIDType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyboardHIDType (KeyboardHIDType * aKeyboardHIDType) { return smth get_KeyboardHIDType (aKeyboardHIDType); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO_BASE(base) COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO(smth) HRESULT STDMETHODCALLTYPE put_KeyboardHIDType (KeyboardHIDType aKeyboardHIDType) { return smth put_KeyboardHIDType (aKeyboardHIDType); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO_BASE(base) COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO(smth) HRESULT STDMETHODCALLTYPE get_SnapshotFolder (BSTR * aSnapshotFolder) { return smth get_SnapshotFolder (aSnapshotFolder); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO(smth) HRESULT STDMETHODCALLTYPE put_SnapshotFolder (BSTR aSnapshotFolder) { return smth put_SnapshotFolder (aSnapshotFolder); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO_BASE(base) COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VRDEServer_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEServer (IVRDEServer * * aVRDEServer) { return smth get_VRDEServer (aVRDEServer); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VRDEServer_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_VRDEServer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VRDEServer_TO_BASE(base) COM_FORWARD_IMachine_GETTER_VRDEServer_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_EmulatedUSBCardReaderEnabled (BOOL * aEmulatedUSBCardReaderEnabled) { return smth get_EmulatedUSBCardReaderEnabled (aEmulatedUSBCardReaderEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_EmulatedUSBCardReaderEnabled (BOOL aEmulatedUSBCardReaderEnabled) { return smth put_EmulatedUSBCardReaderEnabled (aEmulatedUSBCardReaderEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MediumAttachments_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumAttachments (SAFEARRAY * * aMediumAttachments) { return smth get_MediumAttachments (aMediumAttachments); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MediumAttachments_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_MediumAttachments_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MediumAttachments_TO_BASE(base) COM_FORWARD_IMachine_GETTER_MediumAttachments_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBControllers_TO(smth) HRESULT STDMETHODCALLTYPE get_USBControllers (SAFEARRAY * * aUSBControllers) { return smth get_USBControllers (aUSBControllers); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBControllers_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_USBControllers_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBControllers_TO_BASE(base) COM_FORWARD_IMachine_GETTER_USBControllers_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO(smth) HRESULT STDMETHODCALLTYPE get_USBDeviceFilters (IUSBDeviceFilters * * aUSBDeviceFilters) { return smth get_USBDeviceFilters (aUSBDeviceFilters); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO_BASE(base) COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AudioSettings_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioSettings (IAudioSettings * * aAudioSettings) { return smth get_AudioSettings (aAudioSettings); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AudioSettings_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AudioSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AudioSettings_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AudioSettings_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StorageControllers_TO(smth) HRESULT STDMETHODCALLTYPE get_StorageControllers (SAFEARRAY * * aStorageControllers) { return smth get_StorageControllers (aStorageControllers); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StorageControllers_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_StorageControllers_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StorageControllers_TO_BASE(base) COM_FORWARD_IMachine_GETTER_StorageControllers_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO(smth) HRESULT STDMETHODCALLTYPE get_SettingsFilePath (BSTR * aSettingsFilePath) { return smth get_SettingsFilePath (aSettingsFilePath); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO(smth) HRESULT STDMETHODCALLTYPE get_SettingsAuxFilePath (BSTR * aSettingsAuxFilePath) { return smth get_SettingsAuxFilePath (aSettingsAuxFilePath); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SettingsModified_TO(smth) HRESULT STDMETHODCALLTYPE get_SettingsModified (BOOL * aSettingsModified) { return smth get_SettingsModified (aSettingsModified); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SettingsModified_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SettingsModified_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SettingsModified_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SettingsModified_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionState_TO(smth) HRESULT STDMETHODCALLTYPE get_SessionState (SessionState * aSessionState) { return smth get_SessionState (aSessionState); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionState_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SessionState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionState_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SessionState_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionName_TO(smth) HRESULT STDMETHODCALLTYPE get_SessionName (BSTR * aSessionName) { return smth get_SessionName (aSessionName); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionName_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SessionName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionName_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SessionName_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionPID_TO(smth) HRESULT STDMETHODCALLTYPE get_SessionPID (ULONG * aSessionPID) { return smth get_SessionPID (aSessionPID); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionPID_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SessionPID_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionPID_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SessionPID_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (MachineState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_State_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_State_TO_BASE(base) COM_FORWARD_IMachine_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LastStateChange_TO(smth) HRESULT STDMETHODCALLTYPE get_LastStateChange (LONG64 * aLastStateChange) { return smth get_LastStateChange (aLastStateChange); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LastStateChange_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_LastStateChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LastStateChange_TO_BASE(base) COM_FORWARD_IMachine_GETTER_LastStateChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StateFilePath_TO(smth) HRESULT STDMETHODCALLTYPE get_StateFilePath (BSTR * aStateFilePath) { return smth get_StateFilePath (aStateFilePath); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StateFilePath_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_StateFilePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StateFilePath_TO_BASE(base) COM_FORWARD_IMachine_GETTER_StateFilePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LogFolder_TO(smth) HRESULT STDMETHODCALLTYPE get_LogFolder (BSTR * aLogFolder) { return smth get_LogFolder (aLogFolder); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LogFolder_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_LogFolder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LogFolder_TO_BASE(base) COM_FORWARD_IMachine_GETTER_LogFolder_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE get_CurrentSnapshot (ISnapshot * * aCurrentSnapshot) { return smth get_CurrentSnapshot (aCurrentSnapshot); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SnapshotCount_TO(smth) HRESULT STDMETHODCALLTYPE get_SnapshotCount (ULONG * aSnapshotCount) { return smth get_SnapshotCount (aSnapshotCount); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SnapshotCount_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SnapshotCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SnapshotCount_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SnapshotCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO(smth) HRESULT STDMETHODCALLTYPE get_CurrentStateModified (BOOL * aCurrentStateModified) { return smth get_CurrentStateModified (aCurrentStateModified); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SharedFolders_TO(smth) HRESULT STDMETHODCALLTYPE get_SharedFolders (SAFEARRAY * * aSharedFolders) { return smth get_SharedFolders (aSharedFolders); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SharedFolders_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SharedFolders_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SharedFolders_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SharedFolders_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ClipboardMode_TO(smth) HRESULT STDMETHODCALLTYPE get_ClipboardMode (ClipboardMode * aClipboardMode) { return smth get_ClipboardMode (aClipboardMode); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ClipboardMode_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_ClipboardMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ClipboardMode_TO_BASE(base) COM_FORWARD_IMachine_GETTER_ClipboardMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ClipboardMode_TO(smth) HRESULT STDMETHODCALLTYPE put_ClipboardMode (ClipboardMode aClipboardMode) { return smth put_ClipboardMode (aClipboardMode); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ClipboardMode_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_ClipboardMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ClipboardMode_TO_BASE(base) COM_FORWARD_IMachine_SETTER_ClipboardMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_ClipboardFileTransfersEnabled (BOOL * aClipboardFileTransfersEnabled) { return smth get_ClipboardFileTransfersEnabled (aClipboardFileTransfersEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_ClipboardFileTransfersEnabled (BOOL aClipboardFileTransfersEnabled) { return smth put_ClipboardFileTransfersEnabled (aClipboardFileTransfersEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_DnDMode_TO(smth) HRESULT STDMETHODCALLTYPE get_DnDMode (DnDMode * aDnDMode) { return smth get_DnDMode (aDnDMode); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_DnDMode_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_DnDMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_DnDMode_TO_BASE(base) COM_FORWARD_IMachine_GETTER_DnDMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_DnDMode_TO(smth) HRESULT STDMETHODCALLTYPE put_DnDMode (DnDMode aDnDMode) { return smth put_DnDMode (aDnDMode); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_DnDMode_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_DnDMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_DnDMode_TO_BASE(base) COM_FORWARD_IMachine_SETTER_DnDMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_TeleporterEnabled (BOOL * aTeleporterEnabled) { return smth get_TeleporterEnabled (aTeleporterEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_TeleporterEnabled (BOOL aTeleporterEnabled) { return smth put_TeleporterEnabled (aTeleporterEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterPort_TO(smth) HRESULT STDMETHODCALLTYPE get_TeleporterPort (ULONG * aTeleporterPort) { return smth get_TeleporterPort (aTeleporterPort); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterPort_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TeleporterPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterPort_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TeleporterPort_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterPort_TO(smth) HRESULT STDMETHODCALLTYPE put_TeleporterPort (ULONG aTeleporterPort) { return smth put_TeleporterPort (aTeleporterPort); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterPort_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TeleporterPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterPort_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TeleporterPort_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_TeleporterAddress (BSTR * aTeleporterAddress) { return smth get_TeleporterAddress (aTeleporterAddress); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_TeleporterAddress (BSTR aTeleporterAddress) { return smth put_TeleporterAddress (aTeleporterAddress); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO(smth) HRESULT STDMETHODCALLTYPE get_TeleporterPassword (BSTR * aTeleporterPassword) { return smth get_TeleporterPassword (aTeleporterPassword); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO(smth) HRESULT STDMETHODCALLTYPE put_TeleporterPassword (BSTR aTeleporterPassword) { return smth put_TeleporterPassword (aTeleporterPassword); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO(smth) HRESULT STDMETHODCALLTYPE get_ParavirtProvider (ParavirtProvider * aParavirtProvider) { return smth get_ParavirtProvider (aParavirtProvider); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO_BASE(base) COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO(smth) HRESULT STDMETHODCALLTYPE put_ParavirtProvider (ParavirtProvider aParavirtProvider) { return smth put_ParavirtProvider (aParavirtProvider); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO_BASE(base) COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_IOCacheEnabled (BOOL * aIOCacheEnabled) { return smth get_IOCacheEnabled (aIOCacheEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_IOCacheEnabled (BOOL aIOCacheEnabled) { return smth put_IOCacheEnabled (aIOCacheEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_IOCacheSize_TO(smth) HRESULT STDMETHODCALLTYPE get_IOCacheSize (ULONG * aIOCacheSize) { return smth get_IOCacheSize (aIOCacheSize); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_IOCacheSize_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_IOCacheSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_IOCacheSize_TO_BASE(base) COM_FORWARD_IMachine_GETTER_IOCacheSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_IOCacheSize_TO(smth) HRESULT STDMETHODCALLTYPE put_IOCacheSize (ULONG aIOCacheSize) { return smth put_IOCacheSize (aIOCacheSize); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_IOCacheSize_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_IOCacheSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_IOCacheSize_TO_BASE(base) COM_FORWARD_IMachine_SETTER_IOCacheSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO(smth) HRESULT STDMETHODCALLTYPE get_PCIDeviceAssignments (SAFEARRAY * * aPCIDeviceAssignments) { return smth get_PCIDeviceAssignments (aPCIDeviceAssignments); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO_BASE(base) COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_BandwidthControl_TO(smth) HRESULT STDMETHODCALLTYPE get_BandwidthControl (IBandwidthControl * * aBandwidthControl) { return smth get_BandwidthControl (aBandwidthControl); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_BandwidthControl_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_BandwidthControl_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_BandwidthControl_TO_BASE(base) COM_FORWARD_IMachine_GETTER_BandwidthControl_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TracingEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_TracingEnabled (BOOL * aTracingEnabled) { return smth get_TracingEnabled (aTracingEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TracingEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TracingEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TracingEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TracingEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TracingEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_TracingEnabled (BOOL aTracingEnabled) { return smth put_TracingEnabled (aTracingEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TracingEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TracingEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TracingEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TracingEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TracingConfig_TO(smth) HRESULT STDMETHODCALLTYPE get_TracingConfig (BSTR * aTracingConfig) { return smth get_TracingConfig (aTracingConfig); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TracingConfig_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TracingConfig_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_TracingConfig_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TracingConfig_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TracingConfig_TO(smth) HRESULT STDMETHODCALLTYPE put_TracingConfig (BSTR aTracingConfig) { return smth put_TracingConfig (aTracingConfig); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TracingConfig_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TracingConfig_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_TracingConfig_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TracingConfig_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO(smth) HRESULT STDMETHODCALLTYPE get_AllowTracingToAccessVM (BOOL * aAllowTracingToAccessVM) { return smth get_AllowTracingToAccessVM (aAllowTracingToAccessVM); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO(smth) HRESULT STDMETHODCALLTYPE put_AllowTracingToAccessVM (BOOL aAllowTracingToAccessVM) { return smth put_AllowTracingToAccessVM (aAllowTracingToAccessVM); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO_BASE(base) COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_AutostartEnabled (BOOL * aAutostartEnabled) { return smth get_AutostartEnabled (aAutostartEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_AutostartEnabled (BOOL aAutostartEnabled) { return smth put_AutostartEnabled (aAutostartEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AutostartDelay_TO(smth) HRESULT STDMETHODCALLTYPE get_AutostartDelay (ULONG * aAutostartDelay) { return smth get_AutostartDelay (aAutostartDelay); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AutostartDelay_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AutostartDelay_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AutostartDelay_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AutostartDelay_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AutostartDelay_TO(smth) HRESULT STDMETHODCALLTYPE put_AutostartDelay (ULONG aAutostartDelay) { return smth put_AutostartDelay (aAutostartDelay); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AutostartDelay_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_AutostartDelay_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AutostartDelay_TO_BASE(base) COM_FORWARD_IMachine_SETTER_AutostartDelay_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AutostopType_TO(smth) HRESULT STDMETHODCALLTYPE get_AutostopType (AutostopType * aAutostopType) { return smth get_AutostopType (aAutostopType); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AutostopType_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AutostopType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AutostopType_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AutostopType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AutostopType_TO(smth) HRESULT STDMETHODCALLTYPE put_AutostopType (AutostopType aAutostopType) { return smth put_AutostopType (aAutostopType); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AutostopType_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_AutostopType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_AutostopType_TO_BASE(base) COM_FORWARD_IMachine_SETTER_AutostopType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultFrontend (BSTR * aDefaultFrontend) { return smth get_DefaultFrontend (aDefaultFrontend); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO_BASE(base) COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultFrontend (BSTR aDefaultFrontend) { return smth put_DefaultFrontend (aDefaultFrontend); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO_BASE(base) COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO(smth) HRESULT STDMETHODCALLTYPE get_USBProxyAvailable (BOOL * aUSBProxyAvailable) { return smth get_USBProxyAvailable (aUSBProxyAvailable); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO_BASE(base) COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO(smth) HRESULT STDMETHODCALLTYPE get_VMProcessPriority (VMProcPriority * aVMProcessPriority) { return smth get_VMProcessPriority (aVMProcessPriority); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO_BASE(base) COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO(smth) HRESULT STDMETHODCALLTYPE put_VMProcessPriority (VMProcPriority aVMProcessPriority) { return smth put_VMProcessPriority (aVMProcessPriority); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO_BASE(base) COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO(smth) HRESULT STDMETHODCALLTYPE get_VMExecutionEngine (VMExecutionEngine * aVMExecutionEngine) { return smth get_VMExecutionEngine (aVMExecutionEngine); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO_BASE(base) COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO(smth) HRESULT STDMETHODCALLTYPE put_VMExecutionEngine (VMExecutionEngine aVMExecutionEngine) { return smth put_VMExecutionEngine (aVMExecutionEngine); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO_BASE(base) COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO(smth) HRESULT STDMETHODCALLTYPE get_ParavirtDebug (BSTR * aParavirtDebug) { return smth get_ParavirtDebug (aParavirtDebug); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO_BASE(base) COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO(smth) HRESULT STDMETHODCALLTYPE put_ParavirtDebug (BSTR aParavirtDebug) { return smth put_ParavirtDebug (aParavirtDebug); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO_BASE(base) COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUProfile_TO(smth) HRESULT STDMETHODCALLTYPE get_CPUProfile (BSTR * aCPUProfile) { return smth get_CPUProfile (aCPUProfile); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUProfile_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CPUProfile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_CPUProfile_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CPUProfile_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUProfile_TO(smth) HRESULT STDMETHODCALLTYPE put_CPUProfile (BSTR aCPUProfile) { return smth put_CPUProfile (aCPUProfile); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUProfile_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_CPUProfile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_CPUProfile_TO_BASE(base) COM_FORWARD_IMachine_SETTER_CPUProfile_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StateKeyId_TO(smth) HRESULT STDMETHODCALLTYPE get_StateKeyId (BSTR * aStateKeyId) { return smth get_StateKeyId (aStateKeyId); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StateKeyId_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_StateKeyId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StateKeyId_TO_BASE(base) COM_FORWARD_IMachine_GETTER_StateKeyId_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StateKeyStore_TO(smth) HRESULT STDMETHODCALLTYPE get_StateKeyStore (BSTR * aStateKeyStore) { return smth get_StateKeyStore (aStateKeyStore); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StateKeyStore_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_StateKeyStore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_StateKeyStore_TO_BASE(base) COM_FORWARD_IMachine_GETTER_StateKeyStore_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LogKeyId_TO(smth) HRESULT STDMETHODCALLTYPE get_LogKeyId (BSTR * aLogKeyId) { return smth get_LogKeyId (aLogKeyId); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LogKeyId_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_LogKeyId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LogKeyId_TO_BASE(base) COM_FORWARD_IMachine_GETTER_LogKeyId_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LogKeyStore_TO(smth) HRESULT STDMETHODCALLTYPE get_LogKeyStore (BSTR * aLogKeyStore) { return smth get_LogKeyStore (aLogKeyStore); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LogKeyStore_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_LogKeyStore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_LogKeyStore_TO_BASE(base) COM_FORWARD_IMachine_GETTER_LogKeyStore_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestDebugControl (IGuestDebugControl * * aGuestDebugControl) { return smth get_GuestDebugControl (aGuestDebugControl); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO_BASE(base) COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_LockMachine_TO(smth) HRESULT STDMETHODCALLTYPE LockMachine (ISession * aSession, LockType aLockType) { return smth LockMachine (aSession, aLockType); }")
cpp_quote("#define COM_FORWARD_IMachine_LockMachine_TO_OBJ(obj) COM_FORWARD_IMachine_LockMachine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_LockMachine_TO_BASE(base) COM_FORWARD_IMachine_LockMachine_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_LaunchVMProcess_TO_OBJ(obj) COM_FORWARD_IMachine_LaunchVMProcess_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_LaunchVMProcess_TO_BASE(base) COM_FORWARD_IMachine_LaunchVMProcess_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SetBootOrder_TO(smth) HRESULT STDMETHODCALLTYPE SetBootOrder (ULONG aPosition, DeviceType aDevice) { return smth SetBootOrder (aPosition, aDevice); }")
cpp_quote("#define COM_FORWARD_IMachine_SetBootOrder_TO_OBJ(obj) COM_FORWARD_IMachine_SetBootOrder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetBootOrder_TO_BASE(base) COM_FORWARD_IMachine_SetBootOrder_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetBootOrder_TO(smth) HRESULT STDMETHODCALLTYPE GetBootOrder (ULONG aPosition, DeviceType * aDevice) { return smth GetBootOrder (aPosition, aDevice); }")
cpp_quote("#define COM_FORWARD_IMachine_GetBootOrder_TO_OBJ(obj) COM_FORWARD_IMachine_GetBootOrder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetBootOrder_TO_BASE(base) COM_FORWARD_IMachine_GetBootOrder_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_AttachDevice_TO_OBJ(obj) COM_FORWARD_IMachine_AttachDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_AttachDevice_TO_BASE(base) COM_FORWARD_IMachine_AttachDevice_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_AttachDeviceWithoutMedium_TO_OBJ(obj) COM_FORWARD_IMachine_AttachDeviceWithoutMedium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_AttachDeviceWithoutMedium_TO_BASE(base) COM_FORWARD_IMachine_AttachDeviceWithoutMedium_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_DetachDevice_TO(smth) HRESULT STDMETHODCALLTYPE DetachDevice (BSTR aName, LONG aControllerPort, LONG aDevice) { return smth DetachDevice (aName, aControllerPort, aDevice); }")
cpp_quote("#define COM_FORWARD_IMachine_DetachDevice_TO_OBJ(obj) COM_FORWARD_IMachine_DetachDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_DetachDevice_TO_BASE(base) COM_FORWARD_IMachine_DetachDevice_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_PassthroughDevice_TO_OBJ(obj) COM_FORWARD_IMachine_PassthroughDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_PassthroughDevice_TO_BASE(base) COM_FORWARD_IMachine_PassthroughDevice_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_TemporaryEjectDevice_TO_OBJ(obj) COM_FORWARD_IMachine_TemporaryEjectDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_TemporaryEjectDevice_TO_BASE(base) COM_FORWARD_IMachine_TemporaryEjectDevice_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_NonRotationalDevice_TO_OBJ(obj) COM_FORWARD_IMachine_NonRotationalDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_NonRotationalDevice_TO_BASE(base) COM_FORWARD_IMachine_NonRotationalDevice_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_SetAutoDiscardForDevice_TO_OBJ(obj) COM_FORWARD_IMachine_SetAutoDiscardForDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetAutoDiscardForDevice_TO_BASE(base) COM_FORWARD_IMachine_SetAutoDiscardForDevice_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_SetHotPluggableForDevice_TO_OBJ(obj) COM_FORWARD_IMachine_SetHotPluggableForDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetHotPluggableForDevice_TO_BASE(base) COM_FORWARD_IMachine_SetHotPluggableForDevice_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_SetBandwidthGroupForDevice_TO_OBJ(obj) COM_FORWARD_IMachine_SetBandwidthGroupForDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetBandwidthGroupForDevice_TO_BASE(base) COM_FORWARD_IMachine_SetBandwidthGroupForDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO(smth) HRESULT STDMETHODCALLTYPE SetNoBandwidthGroupForDevice (BSTR aName, LONG aControllerPort, LONG aDevice) { return smth SetNoBandwidthGroupForDevice (aName, aControllerPort, aDevice); }")
cpp_quote("#define COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO_OBJ(obj) COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO_BASE(base) COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_UnmountMedium_TO_OBJ(obj) COM_FORWARD_IMachine_UnmountMedium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_UnmountMedium_TO_BASE(base) COM_FORWARD_IMachine_UnmountMedium_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_MountMedium_TO_OBJ(obj) COM_FORWARD_IMachine_MountMedium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_MountMedium_TO_BASE(base) COM_FORWARD_IMachine_MountMedium_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_GetMedium_TO_OBJ(obj) COM_FORWARD_IMachine_GetMedium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetMedium_TO_BASE(base) COM_FORWARD_IMachine_GetMedium_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO(smth) HRESULT STDMETHODCALLTYPE GetMediumAttachmentsOfController (BSTR aName, SAFEARRAY * * aMediumAttachments) { return smth GetMediumAttachmentsOfController (aName, aMediumAttachments); }")
cpp_quote("#define COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO_OBJ(obj) COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO_BASE(base) COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_GetMediumAttachment_TO_OBJ(obj) COM_FORWARD_IMachine_GetMediumAttachment_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetMediumAttachment_TO_BASE(base) COM_FORWARD_IMachine_GetMediumAttachment_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_AttachHostPCIDevice_TO(smth) HRESULT STDMETHODCALLTYPE AttachHostPCIDevice (LONG aHostAddress, LONG aDesiredGuestAddress, BOOL aTryToUnbind) { return smth AttachHostPCIDevice (aHostAddress, aDesiredGuestAddress, aTryToUnbind); }")
cpp_quote("#define COM_FORWARD_IMachine_AttachHostPCIDevice_TO_OBJ(obj) COM_FORWARD_IMachine_AttachHostPCIDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_AttachHostPCIDevice_TO_BASE(base) COM_FORWARD_IMachine_AttachHostPCIDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_DetachHostPCIDevice_TO(smth) HRESULT STDMETHODCALLTYPE DetachHostPCIDevice (LONG aHostAddress) { return smth DetachHostPCIDevice (aHostAddress); }")
cpp_quote("#define COM_FORWARD_IMachine_DetachHostPCIDevice_TO_OBJ(obj) COM_FORWARD_IMachine_DetachHostPCIDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_DetachHostPCIDevice_TO_BASE(base) COM_FORWARD_IMachine_DetachHostPCIDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetNetworkAdapter_TO(smth) HRESULT STDMETHODCALLTYPE GetNetworkAdapter (ULONG aSlot, INetworkAdapter * * aAdapter) { return smth GetNetworkAdapter (aSlot, aAdapter); }")
cpp_quote("#define COM_FORWARD_IMachine_GetNetworkAdapter_TO_OBJ(obj) COM_FORWARD_IMachine_GetNetworkAdapter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetNetworkAdapter_TO_BASE(base) COM_FORWARD_IMachine_GetNetworkAdapter_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_AddStorageController_TO(smth) HRESULT STDMETHODCALLTYPE AddStorageController (BSTR aName, StorageBus aConnectionType, IStorageController * * aController) { return smth AddStorageController (aName, aConnectionType, aController); }")
cpp_quote("#define COM_FORWARD_IMachine_AddStorageController_TO_OBJ(obj) COM_FORWARD_IMachine_AddStorageController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_AddStorageController_TO_BASE(base) COM_FORWARD_IMachine_AddStorageController_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetStorageControllerByName_TO(smth) HRESULT STDMETHODCALLTYPE GetStorageControllerByName (BSTR aName, IStorageController * * aStorageController) { return smth GetStorageControllerByName (aName, aStorageController); }")
cpp_quote("#define COM_FORWARD_IMachine_GetStorageControllerByName_TO_OBJ(obj) COM_FORWARD_IMachine_GetStorageControllerByName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetStorageControllerByName_TO_BASE(base) COM_FORWARD_IMachine_GetStorageControllerByName_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetStorageControllerByInstance_TO(smth) HRESULT STDMETHODCALLTYPE GetStorageControllerByInstance (StorageBus aConnectionType, ULONG aInstance, IStorageController * * aStorageController) { return smth GetStorageControllerByInstance (aConnectionType, aInstance, aStorageController); }")
cpp_quote("#define COM_FORWARD_IMachine_GetStorageControllerByInstance_TO_OBJ(obj) COM_FORWARD_IMachine_GetStorageControllerByInstance_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetStorageControllerByInstance_TO_BASE(base) COM_FORWARD_IMachine_GetStorageControllerByInstance_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveStorageController_TO(smth) HRESULT STDMETHODCALLTYPE RemoveStorageController (BSTR aName) { return smth RemoveStorageController (aName); }")
cpp_quote("#define COM_FORWARD_IMachine_RemoveStorageController_TO_OBJ(obj) COM_FORWARD_IMachine_RemoveStorageController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveStorageController_TO_BASE(base) COM_FORWARD_IMachine_RemoveStorageController_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SetStorageControllerBootable_TO(smth) HRESULT STDMETHODCALLTYPE SetStorageControllerBootable (BSTR aName, BOOL aBootable) { return smth SetStorageControllerBootable (aName, aBootable); }")
cpp_quote("#define COM_FORWARD_IMachine_SetStorageControllerBootable_TO_OBJ(obj) COM_FORWARD_IMachine_SetStorageControllerBootable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetStorageControllerBootable_TO_BASE(base) COM_FORWARD_IMachine_SetStorageControllerBootable_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_AddUSBController_TO(smth) HRESULT STDMETHODCALLTYPE AddUSBController (BSTR aName, USBControllerType aType, IUSBController * * aController) { return smth AddUSBController (aName, aType, aController); }")
cpp_quote("#define COM_FORWARD_IMachine_AddUSBController_TO_OBJ(obj) COM_FORWARD_IMachine_AddUSBController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_AddUSBController_TO_BASE(base) COM_FORWARD_IMachine_AddUSBController_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveUSBController_TO(smth) HRESULT STDMETHODCALLTYPE RemoveUSBController (BSTR aName) { return smth RemoveUSBController (aName); }")
cpp_quote("#define COM_FORWARD_IMachine_RemoveUSBController_TO_OBJ(obj) COM_FORWARD_IMachine_RemoveUSBController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveUSBController_TO_BASE(base) COM_FORWARD_IMachine_RemoveUSBController_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetUSBControllerByName_TO(smth) HRESULT STDMETHODCALLTYPE GetUSBControllerByName (BSTR aName, IUSBController * * aController) { return smth GetUSBControllerByName (aName, aController); }")
cpp_quote("#define COM_FORWARD_IMachine_GetUSBControllerByName_TO_OBJ(obj) COM_FORWARD_IMachine_GetUSBControllerByName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetUSBControllerByName_TO_BASE(base) COM_FORWARD_IMachine_GetUSBControllerByName_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetUSBControllerCountByType_TO(smth) HRESULT STDMETHODCALLTYPE GetUSBControllerCountByType (USBControllerType aType, ULONG * aControllers) { return smth GetUSBControllerCountByType (aType, aControllers); }")
cpp_quote("#define COM_FORWARD_IMachine_GetUSBControllerCountByType_TO_OBJ(obj) COM_FORWARD_IMachine_GetUSBControllerCountByType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetUSBControllerCountByType_TO_BASE(base) COM_FORWARD_IMachine_GetUSBControllerCountByType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetSerialPort_TO(smth) HRESULT STDMETHODCALLTYPE GetSerialPort (ULONG aSlot, ISerialPort * * aPort) { return smth GetSerialPort (aSlot, aPort); }")
cpp_quote("#define COM_FORWARD_IMachine_GetSerialPort_TO_OBJ(obj) COM_FORWARD_IMachine_GetSerialPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetSerialPort_TO_BASE(base) COM_FORWARD_IMachine_GetSerialPort_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetParallelPort_TO(smth) HRESULT STDMETHODCALLTYPE GetParallelPort (ULONG aSlot, IParallelPort * * aPort) { return smth GetParallelPort (aSlot, aPort); }")
cpp_quote("#define COM_FORWARD_IMachine_GetParallelPort_TO_OBJ(obj) COM_FORWARD_IMachine_GetParallelPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetParallelPort_TO_BASE(base) COM_FORWARD_IMachine_GetParallelPort_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetExtraDataKeys_TO(smth) HRESULT STDMETHODCALLTYPE GetExtraDataKeys (SAFEARRAY * * aKeys) { return smth GetExtraDataKeys (aKeys); }")
cpp_quote("#define COM_FORWARD_IMachine_GetExtraDataKeys_TO_OBJ(obj) COM_FORWARD_IMachine_GetExtraDataKeys_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetExtraDataKeys_TO_BASE(base) COM_FORWARD_IMachine_GetExtraDataKeys_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetExtraData_TO(smth) HRESULT STDMETHODCALLTYPE GetExtraData (BSTR aKey, BSTR * aValue) { return smth GetExtraData (aKey, aValue); }")
cpp_quote("#define COM_FORWARD_IMachine_GetExtraData_TO_OBJ(obj) COM_FORWARD_IMachine_GetExtraData_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetExtraData_TO_BASE(base) COM_FORWARD_IMachine_GetExtraData_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SetExtraData_TO(smth) HRESULT STDMETHODCALLTYPE SetExtraData (BSTR aKey, BSTR aValue) { return smth SetExtraData (aKey, aValue); }")
cpp_quote("#define COM_FORWARD_IMachine_SetExtraData_TO_OBJ(obj) COM_FORWARD_IMachine_SetExtraData_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetExtraData_TO_BASE(base) COM_FORWARD_IMachine_SetExtraData_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SetSettingsFilePath_TO(smth) HRESULT STDMETHODCALLTYPE SetSettingsFilePath (BSTR aSettingsFilePath, IProgress * * aProgress) { return smth SetSettingsFilePath (aSettingsFilePath, aProgress); }")
cpp_quote("#define COM_FORWARD_IMachine_SetSettingsFilePath_TO_OBJ(obj) COM_FORWARD_IMachine_SetSettingsFilePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetSettingsFilePath_TO_BASE(base) COM_FORWARD_IMachine_SetSettingsFilePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SaveSettings_TO(smth) HRESULT STDMETHODCALLTYPE SaveSettings() { return smth SaveSettings(); }")
cpp_quote("#define COM_FORWARD_IMachine_SaveSettings_TO_OBJ(obj) COM_FORWARD_IMachine_SaveSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SaveSettings_TO_BASE(base) COM_FORWARD_IMachine_SaveSettings_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_DiscardSettings_TO(smth) HRESULT STDMETHODCALLTYPE DiscardSettings() { return smth DiscardSettings(); }")
cpp_quote("#define COM_FORWARD_IMachine_DiscardSettings_TO_OBJ(obj) COM_FORWARD_IMachine_DiscardSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_DiscardSettings_TO_BASE(base) COM_FORWARD_IMachine_DiscardSettings_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_Unregister_TO(smth) HRESULT STDMETHODCALLTYPE Unregister (CleanupMode aCleanupMode, SAFEARRAY * * aMedia) { return smth Unregister (aCleanupMode, aMedia); }")
cpp_quote("#define COM_FORWARD_IMachine_Unregister_TO_OBJ(obj) COM_FORWARD_IMachine_Unregister_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_Unregister_TO_BASE(base) COM_FORWARD_IMachine_Unregister_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_DeleteConfig_TO(smth) HRESULT STDMETHODCALLTYPE DeleteConfig (SAFEARRAY * * aMedia, IProgress * * aProgress) { return smth DeleteConfig (aMedia, aProgress); }")
cpp_quote("#define COM_FORWARD_IMachine_DeleteConfig_TO_OBJ(obj) COM_FORWARD_IMachine_DeleteConfig_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_DeleteConfig_TO_BASE(base) COM_FORWARD_IMachine_DeleteConfig_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_ExportTo_TO(smth) HRESULT STDMETHODCALLTYPE ExportTo (IAppliance * aAppliance, BSTR aLocation, IVirtualSystemDescription * * aDescription) { return smth ExportTo (aAppliance, aLocation, aDescription); }")
cpp_quote("#define COM_FORWARD_IMachine_ExportTo_TO_OBJ(obj) COM_FORWARD_IMachine_ExportTo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_ExportTo_TO_BASE(base) COM_FORWARD_IMachine_ExportTo_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_FindSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE FindSnapshot (BSTR aNameOrId, ISnapshot * * aSnapshot) { return smth FindSnapshot (aNameOrId, aSnapshot); }")
cpp_quote("#define COM_FORWARD_IMachine_FindSnapshot_TO_OBJ(obj) COM_FORWARD_IMachine_FindSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_FindSnapshot_TO_BASE(base) COM_FORWARD_IMachine_FindSnapshot_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_CreateSharedFolder_TO_OBJ(obj) COM_FORWARD_IMachine_CreateSharedFolder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_CreateSharedFolder_TO_BASE(base) COM_FORWARD_IMachine_CreateSharedFolder_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveSharedFolder_TO(smth) HRESULT STDMETHODCALLTYPE RemoveSharedFolder (BSTR aName) { return smth RemoveSharedFolder (aName); }")
cpp_quote("#define COM_FORWARD_IMachine_RemoveSharedFolder_TO_OBJ(obj) COM_FORWARD_IMachine_RemoveSharedFolder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveSharedFolder_TO_BASE(base) COM_FORWARD_IMachine_RemoveSharedFolder_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_CanShowConsoleWindow_TO(smth) HRESULT STDMETHODCALLTYPE CanShowConsoleWindow (BOOL * aCanShow) { return smth CanShowConsoleWindow (aCanShow); }")
cpp_quote("#define COM_FORWARD_IMachine_CanShowConsoleWindow_TO_OBJ(obj) COM_FORWARD_IMachine_CanShowConsoleWindow_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_CanShowConsoleWindow_TO_BASE(base) COM_FORWARD_IMachine_CanShowConsoleWindow_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_ShowConsoleWindow_TO(smth) HRESULT STDMETHODCALLTYPE ShowConsoleWindow (LONG64 * aWinId) { return smth ShowConsoleWindow (aWinId); }")
cpp_quote("#define COM_FORWARD_IMachine_ShowConsoleWindow_TO_OBJ(obj) COM_FORWARD_IMachine_ShowConsoleWindow_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_ShowConsoleWindow_TO_BASE(base) COM_FORWARD_IMachine_ShowConsoleWindow_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_GetGuestProperty_TO_OBJ(obj) COM_FORWARD_IMachine_GetGuestProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetGuestProperty_TO_BASE(base) COM_FORWARD_IMachine_GetGuestProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetGuestPropertyValue_TO(smth) HRESULT STDMETHODCALLTYPE GetGuestPropertyValue (BSTR aProperty, BSTR * aValue) { return smth GetGuestPropertyValue (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IMachine_GetGuestPropertyValue_TO_OBJ(obj) COM_FORWARD_IMachine_GetGuestPropertyValue_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetGuestPropertyValue_TO_BASE(base) COM_FORWARD_IMachine_GetGuestPropertyValue_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO(smth) HRESULT STDMETHODCALLTYPE GetGuestPropertyTimestamp (BSTR aProperty, LONG64 * aValue) { return smth GetGuestPropertyTimestamp (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO_OBJ(obj) COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO_BASE(base) COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SetGuestProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetGuestProperty (BSTR aProperty, BSTR aValue, BSTR aFlags) { return smth SetGuestProperty (aProperty, aValue, aFlags); }")
cpp_quote("#define COM_FORWARD_IMachine_SetGuestProperty_TO_OBJ(obj) COM_FORWARD_IMachine_SetGuestProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetGuestProperty_TO_BASE(base) COM_FORWARD_IMachine_SetGuestProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SetGuestPropertyValue_TO(smth) HRESULT STDMETHODCALLTYPE SetGuestPropertyValue (BSTR aProperty, BSTR aValue) { return smth SetGuestPropertyValue (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IMachine_SetGuestPropertyValue_TO_OBJ(obj) COM_FORWARD_IMachine_SetGuestPropertyValue_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetGuestPropertyValue_TO_BASE(base) COM_FORWARD_IMachine_SetGuestPropertyValue_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_DeleteGuestProperty_TO(smth) HRESULT STDMETHODCALLTYPE DeleteGuestProperty (BSTR aName) { return smth DeleteGuestProperty (aName); }")
cpp_quote("#define COM_FORWARD_IMachine_DeleteGuestProperty_TO_OBJ(obj) COM_FORWARD_IMachine_DeleteGuestProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_DeleteGuestProperty_TO_BASE(base) COM_FORWARD_IMachine_DeleteGuestProperty_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_EnumerateGuestProperties_TO_OBJ(obj) COM_FORWARD_IMachine_EnumerateGuestProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_EnumerateGuestProperties_TO_BASE(base) COM_FORWARD_IMachine_EnumerateGuestProperties_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedGuestScreenInfo_TO_OBJ(obj) COM_FORWARD_IMachine_QuerySavedGuestScreenInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedGuestScreenInfo_TO_BASE(base) COM_FORWARD_IMachine_QuerySavedGuestScreenInfo_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO_OBJ(obj) COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO_BASE(base) COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedScreenshotInfo_TO_OBJ(obj) COM_FORWARD_IMachine_QuerySavedScreenshotInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedScreenshotInfo_TO_BASE(base) COM_FORWARD_IMachine_QuerySavedScreenshotInfo_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_ReadSavedScreenshotToArray_TO_OBJ(obj) COM_FORWARD_IMachine_ReadSavedScreenshotToArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_ReadSavedScreenshotToArray_TO_BASE(base) COM_FORWARD_IMachine_ReadSavedScreenshotToArray_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_HotPlugCPU_TO(smth) HRESULT STDMETHODCALLTYPE HotPlugCPU (ULONG aCpu) { return smth HotPlugCPU (aCpu); }")
cpp_quote("#define COM_FORWARD_IMachine_HotPlugCPU_TO_OBJ(obj) COM_FORWARD_IMachine_HotPlugCPU_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_HotPlugCPU_TO_BASE(base) COM_FORWARD_IMachine_HotPlugCPU_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_HotUnplugCPU_TO(smth) HRESULT STDMETHODCALLTYPE HotUnplugCPU (ULONG aCpu) { return smth HotUnplugCPU (aCpu); }")
cpp_quote("#define COM_FORWARD_IMachine_HotUnplugCPU_TO_OBJ(obj) COM_FORWARD_IMachine_HotUnplugCPU_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_HotUnplugCPU_TO_BASE(base) COM_FORWARD_IMachine_HotUnplugCPU_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetCPUStatus_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUStatus (ULONG aCpu, BOOL * aAttached) { return smth GetCPUStatus (aCpu, aAttached); }")
cpp_quote("#define COM_FORWARD_IMachine_GetCPUStatus_TO_OBJ(obj) COM_FORWARD_IMachine_GetCPUStatus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetCPUStatus_TO_BASE(base) COM_FORWARD_IMachine_GetCPUStatus_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO(smth) HRESULT STDMETHODCALLTYPE GetEffectiveParavirtProvider (ParavirtProvider * aParavirtProvider) { return smth GetEffectiveParavirtProvider (aParavirtProvider); }")
cpp_quote("#define COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO_OBJ(obj) COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO_BASE(base) COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_QueryLogFilename_TO(smth) HRESULT STDMETHODCALLTYPE QueryLogFilename (ULONG aIdx, BSTR * aFilename) { return smth QueryLogFilename (aIdx, aFilename); }")
cpp_quote("#define COM_FORWARD_IMachine_QueryLogFilename_TO_OBJ(obj) COM_FORWARD_IMachine_QueryLogFilename_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_QueryLogFilename_TO_BASE(base) COM_FORWARD_IMachine_QueryLogFilename_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_ReadLog_TO_OBJ(obj) COM_FORWARD_IMachine_ReadLog_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_ReadLog_TO_BASE(base) COM_FORWARD_IMachine_ReadLog_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_CloneTo_TO_OBJ(obj) COM_FORWARD_IMachine_CloneTo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_CloneTo_TO_BASE(base) COM_FORWARD_IMachine_CloneTo_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_MoveTo_TO(smth) HRESULT STDMETHODCALLTYPE MoveTo (BSTR aFolder, BSTR aType, IProgress * * aProgress) { return smth MoveTo (aFolder, aType, aProgress); }")
cpp_quote("#define COM_FORWARD_IMachine_MoveTo_TO_OBJ(obj) COM_FORWARD_IMachine_MoveTo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_MoveTo_TO_BASE(base) COM_FORWARD_IMachine_MoveTo_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SaveState_TO(smth) HRESULT STDMETHODCALLTYPE SaveState (IProgress * * aProgress) { return smth SaveState (aProgress); }")
cpp_quote("#define COM_FORWARD_IMachine_SaveState_TO_OBJ(obj) COM_FORWARD_IMachine_SaveState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SaveState_TO_BASE(base) COM_FORWARD_IMachine_SaveState_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_AdoptSavedState_TO(smth) HRESULT STDMETHODCALLTYPE AdoptSavedState (BSTR aSavedStateFile) { return smth AdoptSavedState (aSavedStateFile); }")
cpp_quote("#define COM_FORWARD_IMachine_AdoptSavedState_TO_OBJ(obj) COM_FORWARD_IMachine_AdoptSavedState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_AdoptSavedState_TO_BASE(base) COM_FORWARD_IMachine_AdoptSavedState_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_DiscardSavedState_TO(smth) HRESULT STDMETHODCALLTYPE DiscardSavedState (BOOL aFRemoveFile) { return smth DiscardSavedState (aFRemoveFile); }")
cpp_quote("#define COM_FORWARD_IMachine_DiscardSavedState_TO_OBJ(obj) COM_FORWARD_IMachine_DiscardSavedState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_DiscardSavedState_TO_BASE(base) COM_FORWARD_IMachine_DiscardSavedState_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_TakeSnapshot_TO_OBJ(obj) COM_FORWARD_IMachine_TakeSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_TakeSnapshot_TO_BASE(base) COM_FORWARD_IMachine_TakeSnapshot_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_DeleteSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE DeleteSnapshot (BSTR aId, IProgress * * aProgress) { return smth DeleteSnapshot (aId, aProgress); }")
cpp_quote("#define COM_FORWARD_IMachine_DeleteSnapshot_TO_OBJ(obj) COM_FORWARD_IMachine_DeleteSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_DeleteSnapshot_TO_BASE(base) COM_FORWARD_IMachine_DeleteSnapshot_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO(smth) HRESULT STDMETHODCALLTYPE DeleteSnapshotAndAllChildren (BSTR aId, IProgress * * aProgress) { return smth DeleteSnapshotAndAllChildren (aId, aProgress); }")
cpp_quote("#define COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO_OBJ(obj) COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO_BASE(base) COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_DeleteSnapshotRange_TO(smth) HRESULT STDMETHODCALLTYPE DeleteSnapshotRange (BSTR aStartId, BSTR aEndId, IProgress * * aProgress) { return smth DeleteSnapshotRange (aStartId, aEndId, aProgress); }")
cpp_quote("#define COM_FORWARD_IMachine_DeleteSnapshotRange_TO_OBJ(obj) COM_FORWARD_IMachine_DeleteSnapshotRange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_DeleteSnapshotRange_TO_BASE(base) COM_FORWARD_IMachine_DeleteSnapshotRange_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_RestoreSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE RestoreSnapshot (ISnapshot * aSnapshot, IProgress * * aProgress) { return smth RestoreSnapshot (aSnapshot, aProgress); }")
cpp_quote("#define COM_FORWARD_IMachine_RestoreSnapshot_TO_OBJ(obj) COM_FORWARD_IMachine_RestoreSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_RestoreSnapshot_TO_BASE(base) COM_FORWARD_IMachine_RestoreSnapshot_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_ApplyDefaults_TO(smth) HRESULT STDMETHODCALLTYPE ApplyDefaults (BSTR aFlags) { return smth ApplyDefaults (aFlags); }")
cpp_quote("#define COM_FORWARD_IMachine_ApplyDefaults_TO_OBJ(obj) COM_FORWARD_IMachine_ApplyDefaults_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_ApplyDefaults_TO_BASE(base) COM_FORWARD_IMachine_ApplyDefaults_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachine_ChangeEncryption_TO_OBJ(obj) COM_FORWARD_IMachine_ChangeEncryption_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_ChangeEncryption_TO_BASE(base) COM_FORWARD_IMachine_ChangeEncryption_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetEncryptionSettings_TO(smth) HRESULT STDMETHODCALLTYPE GetEncryptionSettings (BSTR * aCipher, BSTR * aPasswordId) { return smth GetEncryptionSettings (aCipher, aPasswordId); }")
cpp_quote("#define COM_FORWARD_IMachine_GetEncryptionSettings_TO_OBJ(obj) COM_FORWARD_IMachine_GetEncryptionSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetEncryptionSettings_TO_BASE(base) COM_FORWARD_IMachine_GetEncryptionSettings_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_CheckEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE CheckEncryptionPassword (BSTR aPassword) { return smth CheckEncryptionPassword (aPassword); }")
cpp_quote("#define COM_FORWARD_IMachine_CheckEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IMachine_CheckEncryptionPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_CheckEncryptionPassword_TO_BASE(base) COM_FORWARD_IMachine_CheckEncryptionPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_AddEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE AddEncryptionPassword (BSTR aId, BSTR aPassword) { return smth AddEncryptionPassword (aId, aPassword); }")
cpp_quote("#define COM_FORWARD_IMachine_AddEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IMachine_AddEncryptionPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_AddEncryptionPassword_TO_BASE(base) COM_FORWARD_IMachine_AddEncryptionPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_AddEncryptionPasswords_TO(smth) HRESULT STDMETHODCALLTYPE AddEncryptionPasswords (SAFEARRAY * * aIds, SAFEARRAY * * aPasswords) { return smth AddEncryptionPasswords (aIds, aPasswords); }")
cpp_quote("#define COM_FORWARD_IMachine_AddEncryptionPasswords_TO_OBJ(obj) COM_FORWARD_IMachine_AddEncryptionPasswords_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_AddEncryptionPasswords_TO_BASE(base) COM_FORWARD_IMachine_AddEncryptionPasswords_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE RemoveEncryptionPassword (BSTR aId) { return smth RemoveEncryptionPassword (aId); }")
cpp_quote("#define COM_FORWARD_IMachine_RemoveEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IMachine_RemoveEncryptionPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveEncryptionPassword_TO_BASE(base) COM_FORWARD_IMachine_RemoveEncryptionPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO(smth) HRESULT STDMETHODCALLTYPE ClearAllEncryptionPasswords() { return smth ClearAllEncryptionPasswords(); }")
cpp_quote("#define COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO_OBJ(obj) COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO_BASE(base) COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMachine_TO_OBJ(obj) COM_FORWARD_IMachine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_TO_BASE(base) COM_FORWARD_IMachine_TO (base::)")

[
    uuid(6e253ee8-477a-2497-6759-88b8292a5af0),
    object,
    dual,
    oleautomation
    , proxy
]
interface IEmulatedUSB : IDispatch
{
    [propget] HRESULT Webcams ([out, retval] SAFEARRAY(BSTR) * aWebcams);

    [propget] HRESULT InternalAndReservedAttribute1IEmulatedUSB ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IEmulatedUSB ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IEmulatedUSB ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IEmulatedUSB ([out, retval] ULONG *aReserved);

    HRESULT WebcamAttach (
        [in] BSTR aPath,
        [in] BSTR aSettings
    );

    HRESULT WebcamDetach (
        [in] BSTR aPath
    );

    HRESULT InternalAndReservedMethod1IEmulatedUSB();

    HRESULT InternalAndReservedMethod2IEmulatedUSB();

    HRESULT InternalAndReservedMethod3IEmulatedUSB();

    HRESULT InternalAndReservedMethod4IEmulatedUSB();

}; /* interface IEmulatedUSB */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO(smth) HRESULT STDMETHODCALLTYPE get_Webcams (SAFEARRAY * * aWebcams) { return smth get_Webcams (aWebcams); }")
cpp_quote("#define COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO_OBJ(obj) COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO_BASE(base) COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO (base::)")
cpp_quote("#define COM_FORWARD_IEmulatedUSB_WebcamAttach_TO(smth) HRESULT STDMETHODCALLTYPE WebcamAttach (BSTR aPath, BSTR aSettings) { return smth WebcamAttach (aPath, aSettings); }")
cpp_quote("#define COM_FORWARD_IEmulatedUSB_WebcamAttach_TO_OBJ(obj) COM_FORWARD_IEmulatedUSB_WebcamAttach_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEmulatedUSB_WebcamAttach_TO_BASE(base) COM_FORWARD_IEmulatedUSB_WebcamAttach_TO (base::)")
cpp_quote("#define COM_FORWARD_IEmulatedUSB_WebcamDetach_TO(smth) HRESULT STDMETHODCALLTYPE WebcamDetach (BSTR aPath) { return smth WebcamDetach (aPath); }")
cpp_quote("#define COM_FORWARD_IEmulatedUSB_WebcamDetach_TO_OBJ(obj) COM_FORWARD_IEmulatedUSB_WebcamDetach_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEmulatedUSB_WebcamDetach_TO_BASE(base) COM_FORWARD_IEmulatedUSB_WebcamDetach_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IEmulatedUSB_TO_OBJ(obj) COM_FORWARD_IEmulatedUSB_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEmulatedUSB_TO_BASE(base) COM_FORWARD_IEmulatedUSB_TO (base::)")

[
    uuid(c39ef4d6-7532-45e8-96da-eb5986ae76e4),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVRDEServerInfo : IDispatch
{
    [propget] HRESULT Active ([out, retval] BOOL * aActive);

    [propget] HRESULT Port ([out, retval] LONG * aPort);

    [propget] HRESULT NumberOfClients ([out, retval] ULONG * aNumberOfClients);

    [propget] HRESULT BeginTime ([out, retval] LONG64 * aBeginTime);

    [propget] HRESULT EndTime ([out, retval] LONG64 * aEndTime);

    [propget] HRESULT BytesSent ([out, retval] LONG64 * aBytesSent);

    [propget] HRESULT BytesSentTotal ([out, retval] LONG64 * aBytesSentTotal);

    [propget] HRESULT BytesReceived ([out, retval] LONG64 * aBytesReceived);

    [propget] HRESULT BytesReceivedTotal ([out, retval] LONG64 * aBytesReceivedTotal);

    [propget] HRESULT User ([out, retval] BSTR * aUser);

    [propget] HRESULT Domain ([out, retval] BSTR * aDomain);

    [propget] HRESULT ClientName ([out, retval] BSTR * aClientName);

    [propget] HRESULT ClientIP ([out, retval] BSTR * aClientIP);

    [propget] HRESULT ClientVersion ([out, retval] ULONG * aClientVersion);

    [propget] HRESULT EncryptionStyle ([out, retval] ULONG * aEncryptionStyle);

    [propget] HRESULT InternalAndReservedAttribute1IVRDEServerInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IVRDEServerInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IVRDEServerInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IVRDEServerInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IVRDEServerInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IVRDEServerInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IVRDEServerInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IVRDEServerInfo ([out, retval] ULONG *aReserved);

}; /* interface IVRDEServerInfo */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO(smth) HRESULT STDMETHODCALLTYPE get_Active (BOOL * aActive) { return smth get_Active (aActive); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO(smth) HRESULT STDMETHODCALLTYPE get_Port (LONG * aPort) { return smth get_Port (aPort); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO(smth) HRESULT STDMETHODCALLTYPE get_NumberOfClients (ULONG * aNumberOfClients) { return smth get_NumberOfClients (aNumberOfClients); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO(smth) HRESULT STDMETHODCALLTYPE get_BeginTime (LONG64 * aBeginTime) { return smth get_BeginTime (aBeginTime); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO(smth) HRESULT STDMETHODCALLTYPE get_EndTime (LONG64 * aEndTime) { return smth get_EndTime (aEndTime); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO(smth) HRESULT STDMETHODCALLTYPE get_BytesSent (LONG64 * aBytesSent) { return smth get_BytesSent (aBytesSent); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO(smth) HRESULT STDMETHODCALLTYPE get_BytesSentTotal (LONG64 * aBytesSentTotal) { return smth get_BytesSentTotal (aBytesSentTotal); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO(smth) HRESULT STDMETHODCALLTYPE get_BytesReceived (LONG64 * aBytesReceived) { return smth get_BytesReceived (aBytesReceived); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO(smth) HRESULT STDMETHODCALLTYPE get_BytesReceivedTotal (LONG64 * aBytesReceivedTotal) { return smth get_BytesReceivedTotal (aBytesReceivedTotal); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_User_TO(smth) HRESULT STDMETHODCALLTYPE get_User (BSTR * aUser) { return smth get_User (aUser); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_User_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_User_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_User_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_User_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO(smth) HRESULT STDMETHODCALLTYPE get_Domain (BSTR * aDomain) { return smth get_Domain (aDomain); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO(smth) HRESULT STDMETHODCALLTYPE get_ClientName (BSTR * aClientName) { return smth get_ClientName (aClientName); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO(smth) HRESULT STDMETHODCALLTYPE get_ClientIP (BSTR * aClientIP) { return smth get_ClientIP (aClientIP); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_ClientVersion (ULONG * aClientVersion) { return smth get_ClientVersion (aClientVersion); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO(smth) HRESULT STDMETHODCALLTYPE get_EncryptionStyle (ULONG * aEncryptionStyle) { return smth get_EncryptionStyle (aEncryptionStyle); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfo_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_TO (base::)")

[
    uuid(6ac83d89-6ee7-4e33-8ae6-b257b2e81be8),
    object,
    dual,
    oleautomation
    , proxy
]
interface IConsole : IDispatch
{
    [propget] HRESULT Machine ([out, retval] IMachine * * aMachine);

    [propget] HRESULT State ([out, retval] MachineState * aState);

    [propget] HRESULT Guest ([out, retval] IGuest * * aGuest);

    [propget] HRESULT Keyboard ([out, retval] IKeyboard * * aKeyboard);

    [propget] HRESULT Mouse ([out, retval] IMouse * * aMouse);

    [propget] HRESULT Display ([out, retval] IDisplay * * aDisplay);

    [propget] HRESULT Debugger ([out, retval] IMachineDebugger * * aDebugger);

    [propget] HRESULT USBDevices ([out, retval] SAFEARRAY(IUSBDevice *) * aUSBDevices);

    [propget] HRESULT RemoteUSBDevices ([out, retval] SAFEARRAY(IHostUSBDevice *) * aRemoteUSBDevices);

    [propget] HRESULT SharedFolders ([out, retval] SAFEARRAY(ISharedFolder *) * aSharedFolders);

    [propget] HRESULT VRDEServerInfo ([out, retval] IVRDEServerInfo * * aVRDEServerInfo);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT AttachedPCIDevices ([out, retval] SAFEARRAY(IPCIDeviceAttachment *) * aAttachedPCIDevices);

    [propget] HRESULT UseHostClipboard ([out, retval] BOOL * aUseHostClipboard);
    [propput] HRESULT UseHostClipboard ([in] BOOL aUseHostClipboard);

    [propget] HRESULT EmulatedUSB ([out, retval] IEmulatedUSB * * aEmulatedUSB);

    [propget] HRESULT InternalAndReservedAttribute1IConsole ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IConsole ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IConsole ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IConsole ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IConsole ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IConsole ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IConsole ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IConsole ([out, retval] ULONG *aReserved);

    HRESULT PowerUp (
        [out, retval] IProgress * * aProgress
    );

    HRESULT PowerUpPaused (
        [out, retval] IProgress * * aProgress
    );

    HRESULT PowerDown (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Reset();

    HRESULT Pause();

    HRESULT Resume();

    HRESULT PowerButton();

    HRESULT SleepButton();

    HRESULT GetPowerButtonHandled (
        [out, retval] BOOL * aHandled
    );

    HRESULT GetGuestEnteredACPIMode (
        [out, retval] BOOL * aEntered
    );

    HRESULT GetDeviceActivity (
        [in] SAFEARRAY(DeviceType) aType,
        [out, retval] SAFEARRAY(DeviceActivity) * aActivity
    );

    HRESULT AttachUSBDevice (
        [in] BSTR aId,
        [in] BSTR aCaptureFilename
    );

    HRESULT DetachUSBDevice (
        [in] BSTR aId,
        [out, retval] IUSBDevice * * aDevice
    );

    HRESULT FindUSBDeviceByAddress (
        [in] BSTR aName,
        [out, retval] IUSBDevice * * aDevice
    );

    HRESULT FindUSBDeviceById (
        [in] BSTR aId,
        [out, retval] IUSBDevice * * aDevice
    );

    HRESULT CreateSharedFolder (
        [in] BSTR aName,
        [in] BSTR aHostPath,
        [in] BOOL aWritable,
        [in] BOOL aAutomount,
        [in] BSTR aAutoMountPoint
    );

    HRESULT RemoveSharedFolder (
        [in] BSTR aName
    );

    HRESULT Teleport (
        [in] BSTR aHostname,
        [in] ULONG aTcpport,
        [in] BSTR aPassword,
        [in] ULONG aMaxDowntime,
        [out, retval] IProgress * * aProgress
    );

    HRESULT AddEncryptionPassword (
        [in] BSTR aId,
        [in] BSTR aPassword,
        [in] BOOL aClearOnSuspend
    );

    HRESULT AddEncryptionPasswords (
        [in] SAFEARRAY(BSTR) aIds,
        [in] SAFEARRAY(BSTR) aPasswords,
        [in] BOOL aClearOnSuspend
    );

    HRESULT RemoveEncryptionPassword (
        [in] BSTR aId
    );

    HRESULT ClearAllEncryptionPasswords();

    HRESULT InternalAndReservedMethod1IConsole();

    HRESULT InternalAndReservedMethod2IConsole();

    HRESULT InternalAndReservedMethod3IConsole();

    HRESULT InternalAndReservedMethod4IConsole();

    HRESULT InternalAndReservedMethod5IConsole();

    HRESULT InternalAndReservedMethod6IConsole();

    HRESULT InternalAndReservedMethod7IConsole();

    HRESULT InternalAndReservedMethod8IConsole();

}; /* interface IConsole */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE get_Machine (IMachine * * aMachine) { return smth get_Machine (aMachine); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Machine_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Machine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Machine_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Machine_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (MachineState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_State_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_State_TO_BASE(base) COM_FORWARD_IConsole_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Guest_TO(smth) HRESULT STDMETHODCALLTYPE get_Guest (IGuest * * aGuest) { return smth get_Guest (aGuest); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Guest_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Guest_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Guest_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Guest_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Keyboard_TO(smth) HRESULT STDMETHODCALLTYPE get_Keyboard (IKeyboard * * aKeyboard) { return smth get_Keyboard (aKeyboard); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Keyboard_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Keyboard_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Keyboard_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Keyboard_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Mouse_TO(smth) HRESULT STDMETHODCALLTYPE get_Mouse (IMouse * * aMouse) { return smth get_Mouse (aMouse); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Mouse_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Mouse_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Mouse_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Mouse_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Display_TO(smth) HRESULT STDMETHODCALLTYPE get_Display (IDisplay * * aDisplay) { return smth get_Display (aDisplay); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Display_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Display_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Display_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Display_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Debugger_TO(smth) HRESULT STDMETHODCALLTYPE get_Debugger (IMachineDebugger * * aDebugger) { return smth get_Debugger (aDebugger); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Debugger_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Debugger_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_Debugger_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Debugger_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_USBDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_USBDevices (SAFEARRAY * * aUSBDevices) { return smth get_USBDevices (aUSBDevices); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_USBDevices_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_USBDevices_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_USBDevices_TO_BASE(base) COM_FORWARD_IConsole_GETTER_USBDevices_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_RemoteUSBDevices (SAFEARRAY * * aRemoteUSBDevices) { return smth get_RemoteUSBDevices (aRemoteUSBDevices); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO_BASE(base) COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_SharedFolders_TO(smth) HRESULT STDMETHODCALLTYPE get_SharedFolders (SAFEARRAY * * aSharedFolders) { return smth get_SharedFolders (aSharedFolders); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_SharedFolders_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_SharedFolders_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_SharedFolders_TO_BASE(base) COM_FORWARD_IConsole_GETTER_SharedFolders_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEServerInfo (IVRDEServerInfo * * aVRDEServerInfo) { return smth get_VRDEServerInfo (aVRDEServerInfo); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO_BASE(base) COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IConsole_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_AttachedPCIDevices (SAFEARRAY * * aAttachedPCIDevices) { return smth get_AttachedPCIDevices (aAttachedPCIDevices); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO_BASE(base) COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO(smth) HRESULT STDMETHODCALLTYPE get_UseHostClipboard (BOOL * aUseHostClipboard) { return smth get_UseHostClipboard (aUseHostClipboard); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO_BASE(base) COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO(smth) HRESULT STDMETHODCALLTYPE put_UseHostClipboard (BOOL aUseHostClipboard) { return smth put_UseHostClipboard (aUseHostClipboard); }")
cpp_quote("#define COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO_OBJ(obj) COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO_BASE(base) COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO(smth) HRESULT STDMETHODCALLTYPE get_EmulatedUSB (IEmulatedUSB * * aEmulatedUSB) { return smth get_EmulatedUSB (aEmulatedUSB); }")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO_BASE(base) COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_PowerUp_TO(smth) HRESULT STDMETHODCALLTYPE PowerUp (IProgress * * aProgress) { return smth PowerUp (aProgress); }")
cpp_quote("#define COM_FORWARD_IConsole_PowerUp_TO_OBJ(obj) COM_FORWARD_IConsole_PowerUp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_PowerUp_TO_BASE(base) COM_FORWARD_IConsole_PowerUp_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_PowerUpPaused_TO(smth) HRESULT STDMETHODCALLTYPE PowerUpPaused (IProgress * * aProgress) { return smth PowerUpPaused (aProgress); }")
cpp_quote("#define COM_FORWARD_IConsole_PowerUpPaused_TO_OBJ(obj) COM_FORWARD_IConsole_PowerUpPaused_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_PowerUpPaused_TO_BASE(base) COM_FORWARD_IConsole_PowerUpPaused_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_PowerDown_TO(smth) HRESULT STDMETHODCALLTYPE PowerDown (IProgress * * aProgress) { return smth PowerDown (aProgress); }")
cpp_quote("#define COM_FORWARD_IConsole_PowerDown_TO_OBJ(obj) COM_FORWARD_IConsole_PowerDown_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_PowerDown_TO_BASE(base) COM_FORWARD_IConsole_PowerDown_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_Reset_TO(smth) HRESULT STDMETHODCALLTYPE Reset() { return smth Reset(); }")
cpp_quote("#define COM_FORWARD_IConsole_Reset_TO_OBJ(obj) COM_FORWARD_IConsole_Reset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_Reset_TO_BASE(base) COM_FORWARD_IConsole_Reset_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_Pause_TO(smth) HRESULT STDMETHODCALLTYPE Pause() { return smth Pause(); }")
cpp_quote("#define COM_FORWARD_IConsole_Pause_TO_OBJ(obj) COM_FORWARD_IConsole_Pause_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_Pause_TO_BASE(base) COM_FORWARD_IConsole_Pause_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_Resume_TO(smth) HRESULT STDMETHODCALLTYPE Resume() { return smth Resume(); }")
cpp_quote("#define COM_FORWARD_IConsole_Resume_TO_OBJ(obj) COM_FORWARD_IConsole_Resume_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_Resume_TO_BASE(base) COM_FORWARD_IConsole_Resume_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_PowerButton_TO(smth) HRESULT STDMETHODCALLTYPE PowerButton() { return smth PowerButton(); }")
cpp_quote("#define COM_FORWARD_IConsole_PowerButton_TO_OBJ(obj) COM_FORWARD_IConsole_PowerButton_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_PowerButton_TO_BASE(base) COM_FORWARD_IConsole_PowerButton_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_SleepButton_TO(smth) HRESULT STDMETHODCALLTYPE SleepButton() { return smth SleepButton(); }")
cpp_quote("#define COM_FORWARD_IConsole_SleepButton_TO_OBJ(obj) COM_FORWARD_IConsole_SleepButton_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_SleepButton_TO_BASE(base) COM_FORWARD_IConsole_SleepButton_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GetPowerButtonHandled_TO(smth) HRESULT STDMETHODCALLTYPE GetPowerButtonHandled (BOOL * aHandled) { return smth GetPowerButtonHandled (aHandled); }")
cpp_quote("#define COM_FORWARD_IConsole_GetPowerButtonHandled_TO_OBJ(obj) COM_FORWARD_IConsole_GetPowerButtonHandled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GetPowerButtonHandled_TO_BASE(base) COM_FORWARD_IConsole_GetPowerButtonHandled_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO(smth) HRESULT STDMETHODCALLTYPE GetGuestEnteredACPIMode (BOOL * aEntered) { return smth GetGuestEnteredACPIMode (aEntered); }")
cpp_quote("#define COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO_OBJ(obj) COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO_BASE(base) COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GetDeviceActivity_TO(smth) HRESULT STDMETHODCALLTYPE GetDeviceActivity (SAFEARRAY * * aType, SAFEARRAY * * aActivity) { return smth GetDeviceActivity (aType, aActivity); }")
cpp_quote("#define COM_FORWARD_IConsole_GetDeviceActivity_TO_OBJ(obj) COM_FORWARD_IConsole_GetDeviceActivity_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_GetDeviceActivity_TO_BASE(base) COM_FORWARD_IConsole_GetDeviceActivity_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_AttachUSBDevice_TO(smth) HRESULT STDMETHODCALLTYPE AttachUSBDevice (BSTR aId, BSTR aCaptureFilename) { return smth AttachUSBDevice (aId, aCaptureFilename); }")
cpp_quote("#define COM_FORWARD_IConsole_AttachUSBDevice_TO_OBJ(obj) COM_FORWARD_IConsole_AttachUSBDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_AttachUSBDevice_TO_BASE(base) COM_FORWARD_IConsole_AttachUSBDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_DetachUSBDevice_TO(smth) HRESULT STDMETHODCALLTYPE DetachUSBDevice (BSTR aId, IUSBDevice * * aDevice) { return smth DetachUSBDevice (aId, aDevice); }")
cpp_quote("#define COM_FORWARD_IConsole_DetachUSBDevice_TO_OBJ(obj) COM_FORWARD_IConsole_DetachUSBDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_DetachUSBDevice_TO_BASE(base) COM_FORWARD_IConsole_DetachUSBDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO(smth) HRESULT STDMETHODCALLTYPE FindUSBDeviceByAddress (BSTR aName, IUSBDevice * * aDevice) { return smth FindUSBDeviceByAddress (aName, aDevice); }")
cpp_quote("#define COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO_OBJ(obj) COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO_BASE(base) COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_FindUSBDeviceById_TO(smth) HRESULT STDMETHODCALLTYPE FindUSBDeviceById (BSTR aId, IUSBDevice * * aDevice) { return smth FindUSBDeviceById (aId, aDevice); }")
cpp_quote("#define COM_FORWARD_IConsole_FindUSBDeviceById_TO_OBJ(obj) COM_FORWARD_IConsole_FindUSBDeviceById_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_FindUSBDeviceById_TO_BASE(base) COM_FORWARD_IConsole_FindUSBDeviceById_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IConsole_CreateSharedFolder_TO_OBJ(obj) COM_FORWARD_IConsole_CreateSharedFolder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_CreateSharedFolder_TO_BASE(base) COM_FORWARD_IConsole_CreateSharedFolder_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_RemoveSharedFolder_TO(smth) HRESULT STDMETHODCALLTYPE RemoveSharedFolder (BSTR aName) { return smth RemoveSharedFolder (aName); }")
cpp_quote("#define COM_FORWARD_IConsole_RemoveSharedFolder_TO_OBJ(obj) COM_FORWARD_IConsole_RemoveSharedFolder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_RemoveSharedFolder_TO_BASE(base) COM_FORWARD_IConsole_RemoveSharedFolder_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IConsole_Teleport_TO_OBJ(obj) COM_FORWARD_IConsole_Teleport_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_Teleport_TO_BASE(base) COM_FORWARD_IConsole_Teleport_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_AddEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE AddEncryptionPassword (BSTR aId, BSTR aPassword, BOOL aClearOnSuspend) { return smth AddEncryptionPassword (aId, aPassword, aClearOnSuspend); }")
cpp_quote("#define COM_FORWARD_IConsole_AddEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IConsole_AddEncryptionPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_AddEncryptionPassword_TO_BASE(base) COM_FORWARD_IConsole_AddEncryptionPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_AddEncryptionPasswords_TO(smth) HRESULT STDMETHODCALLTYPE AddEncryptionPasswords (SAFEARRAY * * aIds, SAFEARRAY * * aPasswords, BOOL aClearOnSuspend) { return smth AddEncryptionPasswords (aIds, aPasswords, aClearOnSuspend); }")
cpp_quote("#define COM_FORWARD_IConsole_AddEncryptionPasswords_TO_OBJ(obj) COM_FORWARD_IConsole_AddEncryptionPasswords_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_AddEncryptionPasswords_TO_BASE(base) COM_FORWARD_IConsole_AddEncryptionPasswords_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_RemoveEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE RemoveEncryptionPassword (BSTR aId) { return smth RemoveEncryptionPassword (aId); }")
cpp_quote("#define COM_FORWARD_IConsole_RemoveEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IConsole_RemoveEncryptionPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_RemoveEncryptionPassword_TO_BASE(base) COM_FORWARD_IConsole_RemoveEncryptionPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO(smth) HRESULT STDMETHODCALLTYPE ClearAllEncryptionPasswords() { return smth ClearAllEncryptionPasswords(); }")
cpp_quote("#define COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO_OBJ(obj) COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO_BASE(base) COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IConsole_TO_OBJ(obj) COM_FORWARD_IConsole_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_TO_BASE(base) COM_FORWARD_IConsole_TO (base::)")

[
    uuid(455f8c45-44a0-a470-ba20-27890b96dba9),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostNetworkInterface : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT ShortName ([out, retval] BSTR * aShortName);

    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT NetworkName ([out, retval] BSTR * aNetworkName);

    [propget] HRESULT DHCPEnabled ([out, retval] BOOL * aDHCPEnabled);

    [propget] HRESULT IPAddress ([out, retval] BSTR * aIPAddress);

    [propget] HRESULT NetworkMask ([out, retval] BSTR * aNetworkMask);

    [propget] HRESULT IPV6Supported ([out, retval] BOOL * aIPV6Supported);

    [propget] HRESULT IPV6Address ([out, retval] BSTR * aIPV6Address);

    [propget] HRESULT IPV6NetworkMaskPrefixLength ([out, retval] ULONG * aIPV6NetworkMaskPrefixLength);

    [propget] HRESULT HardwareAddress ([out, retval] BSTR * aHardwareAddress);

    [propget] HRESULT MediumType ([out, retval] HostNetworkInterfaceMediumType * aMediumType);

    [propget] HRESULT Status ([out, retval] HostNetworkInterfaceStatus * aStatus);

    [propget] HRESULT InterfaceType ([out, retval] HostNetworkInterfaceType * aInterfaceType);

    [propget] HRESULT Wireless ([out, retval] BOOL * aWireless);

    [propget] HRESULT InternalAndReservedAttribute1IHostNetworkInterface ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IHostNetworkInterface ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IHostNetworkInterface ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IHostNetworkInterface ([out, retval] ULONG *aReserved);

    HRESULT EnableStaticIPConfig (
        [in] BSTR aIPAddress,
        [in] BSTR aNetworkMask
    );

    HRESULT EnableStaticIPConfigV6 (
        [in] BSTR aIPV6Address,
        [in] ULONG aIPV6NetworkMaskPrefixLength
    );

    HRESULT EnableDynamicIPConfig();

    HRESULT DHCPRediscover();

    HRESULT InternalAndReservedMethod1IHostNetworkInterface();

    HRESULT InternalAndReservedMethod2IHostNetworkInterface();

}; /* interface IHostNetworkInterface */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO(smth) HRESULT STDMETHODCALLTYPE get_ShortName (BSTR * aShortName) { return smth get_ShortName (aShortName); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkName (BSTR * aNetworkName) { return smth get_NetworkName (aNetworkName); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_DHCPEnabled (BOOL * aDHCPEnabled) { return smth get_DHCPEnabled (aDHCPEnabled); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_IPAddress (BSTR * aIPAddress) { return smth get_IPAddress (aIPAddress); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkMask (BSTR * aNetworkMask) { return smth get_NetworkMask (aNetworkMask); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO(smth) HRESULT STDMETHODCALLTYPE get_IPV6Supported (BOOL * aIPV6Supported) { return smth get_IPV6Supported (aIPV6Supported); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO(smth) HRESULT STDMETHODCALLTYPE get_IPV6Address (BSTR * aIPV6Address) { return smth get_IPV6Address (aIPV6Address); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO(smth) HRESULT STDMETHODCALLTYPE get_IPV6NetworkMaskPrefixLength (ULONG * aIPV6NetworkMaskPrefixLength) { return smth get_IPV6NetworkMaskPrefixLength (aIPV6NetworkMaskPrefixLength); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_HardwareAddress (BSTR * aHardwareAddress) { return smth get_HardwareAddress (aHardwareAddress); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumType (HostNetworkInterfaceMediumType * aMediumType) { return smth get_MediumType (aMediumType); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (HostNetworkInterfaceStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO(smth) HRESULT STDMETHODCALLTYPE get_InterfaceType (HostNetworkInterfaceType * aInterfaceType) { return smth get_InterfaceType (aInterfaceType); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO(smth) HRESULT STDMETHODCALLTYPE get_Wireless (BOOL * aWireless) { return smth get_Wireless (aWireless); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO(smth) HRESULT STDMETHODCALLTYPE EnableStaticIPConfig (BSTR aIPAddress, BSTR aNetworkMask) { return smth EnableStaticIPConfig (aIPAddress, aNetworkMask); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO(smth) HRESULT STDMETHODCALLTYPE EnableStaticIPConfigV6 (BSTR aIPV6Address, ULONG aIPV6NetworkMaskPrefixLength) { return smth EnableStaticIPConfigV6 (aIPV6Address, aIPV6NetworkMaskPrefixLength); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO(smth) HRESULT STDMETHODCALLTYPE EnableDynamicIPConfig() { return smth EnableDynamicIPConfig(); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO(smth) HRESULT STDMETHODCALLTYPE DHCPRediscover() { return smth DHCPRediscover(); }")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNetworkInterface_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_TO (base::)")

[
    uuid(e8c25d4d-ac97-4c16-b3e2-81bd8a57cc27),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostVideoInputDevice : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Path ([out, retval] BSTR * aPath);

    [propget] HRESULT Alias ([out, retval] BSTR * aAlias);

    [propget] HRESULT InternalAndReservedAttribute1IHostVideoInputDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IHostVideoInputDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IHostVideoInputDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IHostVideoInputDevice ([out, retval] ULONG *aReserved);

}; /* interface IHostVideoInputDevice */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO_BASE(base) COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }")
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO_OBJ(obj) COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO_BASE(base) COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO(smth) HRESULT STDMETHODCALLTYPE get_Alias (BSTR * aAlias) { return smth get_Alias (aAlias); }")
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO_OBJ(obj) COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO_BASE(base) COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_TO_OBJ(obj) COM_FORWARD_IHostVideoInputDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostVideoInputDevice_TO_BASE(base) COM_FORWARD_IHostVideoInputDevice_TO (base::)")

[
    uuid(c4b1b5f4-8cdf-4923-9ef6-b92476a84109),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUpdateAgent : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT Order ([out, retval] ULONG * aOrder);

    [propget] HRESULT DependsOn ([out, retval] SAFEARRAY(BSTR) * aDependsOn);

    [propget] HRESULT Version ([out, retval] BSTR * aVersion);

    [propget] HRESULT DownloadUrl ([out, retval] BSTR * aDownloadUrl);

    [propget] HRESULT WebUrl ([out, retval] BSTR * aWebUrl);

    [propget] HRESULT ReleaseNotes ([out, retval] BSTR * aReleaseNotes);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT Hidden ([out, retval] BOOL * aHidden);

    [propget] HRESULT State ([out, retval] UpdateState * aState);

    [propget] HRESULT CheckFrequency ([out, retval] ULONG * aCheckFrequency);
    [propput] HRESULT CheckFrequency ([in] ULONG aCheckFrequency);

    [propget] HRESULT Channel ([out, retval] UpdateChannel * aChannel);
    [propput] HRESULT Channel ([in] UpdateChannel aChannel);

    [propget] HRESULT RepositoryURL ([out, retval] BSTR * aRepositoryURL);
    [propput] HRESULT RepositoryURL ([in] BSTR aRepositoryURL);

    [propget] HRESULT LastCheckDate ([out, retval] BSTR * aLastCheckDate);

    [propget] HRESULT CheckCount ([out, retval] ULONG * aCheckCount);

    [propget] HRESULT IsCheckNeeded ([out, retval] BOOL * aIsCheckNeeded);

    [propget] HRESULT SupportedChannels ([out, retval] SAFEARRAY(UpdateChannel) * aSupportedChannels);

    [propget] HRESULT InternalAndReservedAttribute1IUpdateAgent ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IUpdateAgent ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IUpdateAgent ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IUpdateAgent ([out, retval] ULONG *aReserved);

    HRESULT CheckFor (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Download (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Install (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Rollback();

    HRESULT InternalAndReservedMethod1IUpdateAgent();

    HRESULT InternalAndReservedMethod2IUpdateAgent();

}; /* interface IUpdateAgent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Name_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Order_TO(smth) HRESULT STDMETHODCALLTYPE get_Order (ULONG * aOrder) { return smth get_Order (aOrder); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Order_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Order_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Order_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Order_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO(smth) HRESULT STDMETHODCALLTYPE get_DependsOn (SAFEARRAY * * aDependsOn) { return smth get_DependsOn (aDependsOn); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Version_TO(smth) HRESULT STDMETHODCALLTYPE get_Version (BSTR * aVersion) { return smth get_Version (aVersion); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Version_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Version_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Version_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Version_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO(smth) HRESULT STDMETHODCALLTYPE get_DownloadUrl (BSTR * aDownloadUrl) { return smth get_DownloadUrl (aDownloadUrl); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO(smth) HRESULT STDMETHODCALLTYPE get_WebUrl (BSTR * aWebUrl) { return smth get_WebUrl (aWebUrl); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO(smth) HRESULT STDMETHODCALLTYPE get_ReleaseNotes (BSTR * aReleaseNotes) { return smth get_ReleaseNotes (aReleaseNotes); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO(smth) HRESULT STDMETHODCALLTYPE get_Hidden (BOOL * aHidden) { return smth get_Hidden (aHidden); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (UpdateState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_State_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO(smth) HRESULT STDMETHODCALLTYPE get_CheckFrequency (ULONG * aCheckFrequency) { return smth get_CheckFrequency (aCheckFrequency); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO(smth) HRESULT STDMETHODCALLTYPE put_CheckFrequency (ULONG aCheckFrequency) { return smth put_CheckFrequency (aCheckFrequency); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO_BASE(base) COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Channel_TO(smth) HRESULT STDMETHODCALLTYPE get_Channel (UpdateChannel * aChannel) { return smth get_Channel (aChannel); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Channel_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Channel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_Channel_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Channel_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_Channel_TO(smth) HRESULT STDMETHODCALLTYPE put_Channel (UpdateChannel aChannel) { return smth put_Channel (aChannel); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_Channel_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_SETTER_Channel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_Channel_TO_BASE(base) COM_FORWARD_IUpdateAgent_SETTER_Channel_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO(smth) HRESULT STDMETHODCALLTYPE get_RepositoryURL (BSTR * aRepositoryURL) { return smth get_RepositoryURL (aRepositoryURL); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO(smth) HRESULT STDMETHODCALLTYPE put_RepositoryURL (BSTR aRepositoryURL) { return smth put_RepositoryURL (aRepositoryURL); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO_BASE(base) COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO(smth) HRESULT STDMETHODCALLTYPE get_LastCheckDate (BSTR * aLastCheckDate) { return smth get_LastCheckDate (aLastCheckDate); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO(smth) HRESULT STDMETHODCALLTYPE get_CheckCount (ULONG * aCheckCount) { return smth get_CheckCount (aCheckCount); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO(smth) HRESULT STDMETHODCALLTYPE get_IsCheckNeeded (BOOL * aIsCheckNeeded) { return smth get_IsCheckNeeded (aIsCheckNeeded); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedChannels (SAFEARRAY * * aSupportedChannels) { return smth get_SupportedChannels (aSupportedChannels); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_CheckFor_TO(smth) HRESULT STDMETHODCALLTYPE CheckFor (IProgress * * aProgress) { return smth CheckFor (aProgress); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_CheckFor_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_CheckFor_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_CheckFor_TO_BASE(base) COM_FORWARD_IUpdateAgent_CheckFor_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_Download_TO(smth) HRESULT STDMETHODCALLTYPE Download (IProgress * * aProgress) { return smth Download (aProgress); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_Download_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_Download_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_Download_TO_BASE(base) COM_FORWARD_IUpdateAgent_Download_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_Install_TO(smth) HRESULT STDMETHODCALLTYPE Install (IProgress * * aProgress) { return smth Install (aProgress); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_Install_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_Install_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_Install_TO_BASE(base) COM_FORWARD_IUpdateAgent_Install_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_Rollback_TO(smth) HRESULT STDMETHODCALLTYPE Rollback() { return smth Rollback(); }")
cpp_quote("#define COM_FORWARD_IUpdateAgent_Rollback_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_Rollback_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_Rollback_TO_BASE(base) COM_FORWARD_IUpdateAgent_Rollback_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IUpdateAgent_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgent_TO_BASE(base) COM_FORWARD_IUpdateAgent_TO (base::)")

[
    uuid(d782dba7-cd4f-4ace-951a-58321c23e258),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostUpdateAgent : IUpdateAgent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

    [propget] HRESULT InternalAndReservedAttribute1IHostUpdateAgent ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IHostUpdateAgent ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IHostUpdateAgent ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IHostUpdateAgent ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1IHostUpdateAgent();

    HRESULT InternalAndReservedMethod2IHostUpdateAgent();

}; /* interface IHostUpdateAgent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostUpdateAgent_TO(smth) COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IHostUpdateAgent_TO_OBJ(obj) COM_FORWARD_IHostUpdateAgent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostUpdateAgent_TO_BASE(base) COM_FORWARD_IHostUpdateAgent_TO (base::)")

[
    uuid(4f529a14-ace3-407c-9c49-066e8e8027f0),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostDrivePartition : IDispatch
{
    [propget] HRESULT Number ([out, retval] ULONG * aNumber);

    [propget] HRESULT Size ([out, retval] LONG64 * aSize);

    [propget] HRESULT Start ([out, retval] LONG64 * aStart);

    [propget] HRESULT Type ([out, retval] PartitionType * aType);

    [propget] HRESULT Active ([out, retval] BOOL * aActive);

    [propget] HRESULT TypeMBR ([out, retval] ULONG * aTypeMBR);

    [propget] HRESULT StartCylinder ([out, retval] ULONG * aStartCylinder);

    [propget] HRESULT StartHead ([out, retval] ULONG * aStartHead);

    [propget] HRESULT StartSector ([out, retval] ULONG * aStartSector);

    [propget] HRESULT EndCylinder ([out, retval] ULONG * aEndCylinder);

    [propget] HRESULT EndHead ([out, retval] ULONG * aEndHead);

    [propget] HRESULT EndSector ([out, retval] ULONG * aEndSector);

    [propget] HRESULT TypeUuid ([out, retval] BSTR * aTypeUuid);

    [propget] HRESULT Uuid ([out, retval] BSTR * aUuid);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

}; /* interface IHostDrivePartition */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Number_TO(smth) HRESULT STDMETHODCALLTYPE get_Number (ULONG * aNumber) { return smth get_Number (aNumber); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Number_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Number_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Number_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Number_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Size_TO(smth) HRESULT STDMETHODCALLTYPE get_Size (LONG64 * aSize) { return smth get_Size (aSize); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Size_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Size_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Size_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Size_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Start_TO(smth) HRESULT STDMETHODCALLTYPE get_Start (LONG64 * aStart) { return smth get_Start (aStart); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Start_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Start_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Start_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Start_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (PartitionType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Type_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Active_TO(smth) HRESULT STDMETHODCALLTYPE get_Active (BOOL * aActive) { return smth get_Active (aActive); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Active_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Active_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Active_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Active_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO(smth) HRESULT STDMETHODCALLTYPE get_TypeMBR (ULONG * aTypeMBR) { return smth get_TypeMBR (aTypeMBR); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO(smth) HRESULT STDMETHODCALLTYPE get_StartCylinder (ULONG * aStartCylinder) { return smth get_StartCylinder (aStartCylinder); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO(smth) HRESULT STDMETHODCALLTYPE get_StartHead (ULONG * aStartHead) { return smth get_StartHead (aStartHead); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO(smth) HRESULT STDMETHODCALLTYPE get_StartSector (ULONG * aStartSector) { return smth get_StartSector (aStartSector); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO(smth) HRESULT STDMETHODCALLTYPE get_EndCylinder (ULONG * aEndCylinder) { return smth get_EndCylinder (aEndCylinder); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO(smth) HRESULT STDMETHODCALLTYPE get_EndHead (ULONG * aEndHead) { return smth get_EndHead (aEndHead); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO(smth) HRESULT STDMETHODCALLTYPE get_EndSector (ULONG * aEndSector) { return smth get_EndSector (aEndSector); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO(smth) HRESULT STDMETHODCALLTYPE get_TypeUuid (BSTR * aTypeUuid) { return smth get_TypeUuid (aTypeUuid); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO(smth) HRESULT STDMETHODCALLTYPE get_Uuid (BSTR * aUuid) { return smth get_Uuid (aUuid); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_GETTER_Name_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Name_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrivePartition_TO_BASE(base) COM_FORWARD_IHostDrivePartition_TO (base::)")

[
    uuid(70e2e0c3-332c-4d72-b822-2db16e2cb31b),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostDrive : IDispatch
{
    [propget] HRESULT DrivePath ([out, retval] BSTR * aDrivePath);

    [propget] HRESULT PartitioningType ([out, retval] PartitioningType * aPartitioningType);

    [propget] HRESULT Uuid ([out, retval] BSTR * aUuid);

    [propget] HRESULT SectorSize ([out, retval] ULONG * aSectorSize);

    [propget] HRESULT Size ([out, retval] LONG64 * aSize);

    [propget] HRESULT Model ([out, retval] BSTR * aModel);

    [propget] HRESULT Partitions ([out, retval] SAFEARRAY(IHostDrivePartition *) * aPartitions);

}; /* interface IHostDrive */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_DrivePath_TO(smth) HRESULT STDMETHODCALLTYPE get_DrivePath (BSTR * aDrivePath) { return smth get_DrivePath (aDrivePath); }")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_DrivePath_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_DrivePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_DrivePath_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_DrivePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO(smth) HRESULT STDMETHODCALLTYPE get_PartitioningType (PartitioningType * aPartitioningType) { return smth get_PartitioningType (aPartitioningType); }")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Uuid_TO(smth) HRESULT STDMETHODCALLTYPE get_Uuid (BSTR * aUuid) { return smth get_Uuid (aUuid); }")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Uuid_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_Uuid_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Uuid_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_Uuid_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_SectorSize_TO(smth) HRESULT STDMETHODCALLTYPE get_SectorSize (ULONG * aSectorSize) { return smth get_SectorSize (aSectorSize); }")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_SectorSize_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_SectorSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_SectorSize_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_SectorSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Size_TO(smth) HRESULT STDMETHODCALLTYPE get_Size (LONG64 * aSize) { return smth get_Size (aSize); }")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Size_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_Size_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Size_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_Size_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Model_TO(smth) HRESULT STDMETHODCALLTYPE get_Model (BSTR * aModel) { return smth get_Model (aModel); }")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Model_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_Model_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Model_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_Model_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Partitions_TO(smth) HRESULT STDMETHODCALLTYPE get_Partitions (SAFEARRAY * * aPartitions) { return smth get_Partitions (aPartitions); }")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Partitions_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_Partitions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrive_GETTER_Partitions_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_Partitions_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IHostDrive_TO_OBJ(obj) COM_FORWARD_IHostDrive_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostDrive_TO_BASE(base) COM_FORWARD_IHostDrive_TO (base::)")

[
    uuid(50c97996-9cf8-417f-bd79-1e0471367cd3),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostX86 : IDispatch
{
    [propget] HRESULT InternalAndReservedAttribute1IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IHostX86 ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IHostX86 ([out, retval] ULONG *aReserved);

    HRESULT GetProcessorCPUIDLeaf (
        [in] ULONG aCpuId,
        [in] ULONG aLeaf,
        [in] ULONG aSubLeaf,
        [out] ULONG * aValEax,
        [out] ULONG * aValEbx,
        [out] ULONG * aValEcx,
        [out] ULONG * aValEdx
    );

    HRESULT InternalAndReservedMethod1IHostX86();

    HRESULT InternalAndReservedMethod2IHostX86();

    HRESULT InternalAndReservedMethod3IHostX86();

    HRESULT InternalAndReservedMethod4IHostX86();

    HRESULT InternalAndReservedMethod5IHostX86();

    HRESULT InternalAndReservedMethod6IHostX86();

}; /* interface IHostX86 */

/* Interface implementation forwarder macro */
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO_BASE(base) COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostX86_TO(smth) COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO (smth) ")
cpp_quote("#define COM_FORWARD_IHostX86_TO_OBJ(obj) COM_FORWARD_IHostX86_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostX86_TO_BASE(base) COM_FORWARD_IHostX86_TO (base::)")

[
    uuid(d5dcece0-b202-4416-a138-03502784cc07),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHost : IDispatch
{
    [propget] HRESULT Architecture ([out, retval] PlatformArchitecture * aArchitecture);

    [propget] HRESULT X86 ([out, retval] IHostX86 * * aX86);

    [propget] HRESULT DVDDrives ([out, retval] SAFEARRAY(IMedium *) * aDVDDrives);

    [propget] HRESULT FloppyDrives ([out, retval] SAFEARRAY(IMedium *) * aFloppyDrives);

    [propget] HRESULT AudioDevices ([out, retval] SAFEARRAY(IHostAudioDevice *) * aAudioDevices);

    [propget] HRESULT USBDevices ([out, retval] SAFEARRAY(IHostUSBDevice *) * aUSBDevices);

    [propget] HRESULT USBDeviceFilters ([out, retval] SAFEARRAY(IHostUSBDeviceFilter *) * aUSBDeviceFilters);

    [propget] HRESULT NetworkInterfaces ([out, retval] SAFEARRAY(IHostNetworkInterface *) * aNetworkInterfaces);

    [propget] HRESULT NameServers ([out, retval] SAFEARRAY(BSTR) * aNameServers);

    [propget] HRESULT DomainName ([out, retval] BSTR * aDomainName);

    [propget] HRESULT SearchStrings ([out, retval] SAFEARRAY(BSTR) * aSearchStrings);

    [propget] HRESULT ProcessorCount ([out, retval] ULONG * aProcessorCount);

    [propget] HRESULT ProcessorOnlineCount ([out, retval] ULONG * aProcessorOnlineCount);

    [propget] HRESULT ProcessorCoreCount ([out, retval] ULONG * aProcessorCoreCount);

    [propget] HRESULT ProcessorOnlineCoreCount ([out, retval] ULONG * aProcessorOnlineCoreCount);

    [propget] HRESULT HostDrives ([out, retval] SAFEARRAY(IHostDrive *) * aHostDrives);

    [propget] HRESULT MemorySize ([out, retval] ULONG * aMemorySize);

    [propget] HRESULT MemoryAvailable ([out, retval] ULONG * aMemoryAvailable);

    [propget] HRESULT OperatingSystem ([out, retval] BSTR * aOperatingSystem);

    [propget] HRESULT OSVersion ([out, retval] BSTR * aOSVersion);

    [propget] HRESULT UTCTime ([out, retval] LONG64 * aUTCTime);

    [propget] HRESULT VideoInputDevices ([out, retval] SAFEARRAY(IHostVideoInputDevice *) * aVideoInputDevices);

    [propget] HRESULT UpdateHost ([out, retval] IUpdateAgent * * aUpdateHost);

    [propget] HRESULT UpdateExtPack ([out, retval] IUpdateAgent * * aUpdateExtPack);

    [propget] HRESULT UpdateGuestAdditions ([out, retval] IUpdateAgent * * aUpdateGuestAdditions);

    [propget] HRESULT InternalAndReservedAttribute1IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IHost ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IHost ([out, retval] ULONG *aReserved);

    HRESULT GetProcessorSpeed (
        [in] ULONG aCpuId,
        [out, retval] ULONG * aSpeed
    );

    HRESULT GetProcessorFeature (
        [in] ProcessorFeature aFeature,
        [out, retval] BOOL * aSupported
    );

    HRESULT GetProcessorDescription (
        [in] ULONG aCpuId,
        [out, retval] BSTR * aDescription
    );

    HRESULT CreateHostOnlyNetworkInterface (
        [out] IHostNetworkInterface * * aHostInterface,
        [out, retval] IProgress * * aProgress
    );

    HRESULT RemoveHostOnlyNetworkInterface (
        [in] BSTR aId,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CreateUSBDeviceFilter (
        [in] BSTR aName,
        [out, retval] IHostUSBDeviceFilter * * aFilter
    );

    HRESULT InsertUSBDeviceFilter (
        [in] ULONG aPosition,
        [in] IHostUSBDeviceFilter * aFilter
    );

    HRESULT RemoveUSBDeviceFilter (
        [in] ULONG aPosition
    );

    HRESULT FindHostDVDDrive (
        [in] BSTR aName,
        [out, retval] IMedium * * aDrive
    );

    HRESULT FindHostFloppyDrive (
        [in] BSTR aName,
        [out, retval] IMedium * * aDrive
    );

    HRESULT FindHostNetworkInterfaceByName (
        [in] BSTR aName,
        [out, retval] IHostNetworkInterface * * aNetworkInterface
    );

    HRESULT FindHostNetworkInterfaceById (
        [in] BSTR aId,
        [out, retval] IHostNetworkInterface * * aNetworkInterface
    );

    HRESULT FindHostNetworkInterfacesOfType (
        [in] HostNetworkInterfaceType aType,
        [out, retval] SAFEARRAY(IHostNetworkInterface *) * aNetworkInterfaces
    );

    HRESULT FindUSBDeviceById (
        [in] BSTR aId,
        [out, retval] IHostUSBDevice * * aDevice
    );

    HRESULT FindUSBDeviceByAddress (
        [in] BSTR aName,
        [out, retval] IHostUSBDevice * * aDevice
    );

    HRESULT GenerateMACAddress (
        [out, retval] BSTR * aAddress
    );

    HRESULT AddUSBDeviceSource (
        [in] BSTR aBackend,
        [in] BSTR aId,
        [in] BSTR aAddress,
        [in] SAFEARRAY(BSTR) aPropertyNames,
        [in] SAFEARRAY(BSTR) aPropertyValues
    );

    HRESULT RemoveUSBDeviceSource (
        [in] BSTR aId
    );

    HRESULT IsExecutionEngineSupported (
        [in] CPUArchitecture aCpuArchitecture,
        [in] VMExecutionEngine aExecutionEngine,
        [out, retval] BOOL * aIsSupported
    );

    HRESULT InternalAndReservedMethod1IHost();

    HRESULT InternalAndReservedMethod2IHost();

    HRESULT InternalAndReservedMethod3IHost();

    HRESULT InternalAndReservedMethod4IHost();

    HRESULT InternalAndReservedMethod5IHost();

    HRESULT InternalAndReservedMethod6IHost();

}; /* interface IHost */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHost_GETTER_Architecture_TO(smth) HRESULT STDMETHODCALLTYPE get_Architecture (PlatformArchitecture * aArchitecture) { return smth get_Architecture (aArchitecture); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_Architecture_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_Architecture_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_Architecture_TO_BASE(base) COM_FORWARD_IHost_GETTER_Architecture_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_X86_TO(smth) HRESULT STDMETHODCALLTYPE get_X86 (IHostX86 * * aX86) { return smth get_X86 (aX86); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_X86_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_X86_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_X86_TO_BASE(base) COM_FORWARD_IHost_GETTER_X86_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_DVDDrives_TO(smth) HRESULT STDMETHODCALLTYPE get_DVDDrives (SAFEARRAY * * aDVDDrives) { return smth get_DVDDrives (aDVDDrives); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_DVDDrives_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_DVDDrives_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_DVDDrives_TO_BASE(base) COM_FORWARD_IHost_GETTER_DVDDrives_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_FloppyDrives_TO(smth) HRESULT STDMETHODCALLTYPE get_FloppyDrives (SAFEARRAY * * aFloppyDrives) { return smth get_FloppyDrives (aFloppyDrives); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_FloppyDrives_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_FloppyDrives_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_FloppyDrives_TO_BASE(base) COM_FORWARD_IHost_GETTER_FloppyDrives_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_AudioDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioDevices (SAFEARRAY * * aAudioDevices) { return smth get_AudioDevices (aAudioDevices); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_AudioDevices_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_AudioDevices_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_AudioDevices_TO_BASE(base) COM_FORWARD_IHost_GETTER_AudioDevices_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_USBDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_USBDevices (SAFEARRAY * * aUSBDevices) { return smth get_USBDevices (aUSBDevices); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_USBDevices_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_USBDevices_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_USBDevices_TO_BASE(base) COM_FORWARD_IHost_GETTER_USBDevices_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO(smth) HRESULT STDMETHODCALLTYPE get_USBDeviceFilters (SAFEARRAY * * aUSBDeviceFilters) { return smth get_USBDeviceFilters (aUSBDeviceFilters); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO_BASE(base) COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkInterfaces (SAFEARRAY * * aNetworkInterfaces) { return smth get_NetworkInterfaces (aNetworkInterfaces); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO_BASE(base) COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_NameServers_TO(smth) HRESULT STDMETHODCALLTYPE get_NameServers (SAFEARRAY * * aNameServers) { return smth get_NameServers (aNameServers); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_NameServers_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_NameServers_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_NameServers_TO_BASE(base) COM_FORWARD_IHost_GETTER_NameServers_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_DomainName_TO(smth) HRESULT STDMETHODCALLTYPE get_DomainName (BSTR * aDomainName) { return smth get_DomainName (aDomainName); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_DomainName_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_DomainName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_DomainName_TO_BASE(base) COM_FORWARD_IHost_GETTER_DomainName_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_SearchStrings_TO(smth) HRESULT STDMETHODCALLTYPE get_SearchStrings (SAFEARRAY * * aSearchStrings) { return smth get_SearchStrings (aSearchStrings); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_SearchStrings_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_SearchStrings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_SearchStrings_TO_BASE(base) COM_FORWARD_IHost_GETTER_SearchStrings_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ProcessorCount (ULONG * aProcessorCount) { return smth get_ProcessorCount (aProcessorCount); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorCount_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_ProcessorCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorCount_TO_BASE(base) COM_FORWARD_IHost_GETTER_ProcessorCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ProcessorOnlineCount (ULONG * aProcessorOnlineCount) { return smth get_ProcessorOnlineCount (aProcessorOnlineCount); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO_BASE(base) COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ProcessorCoreCount (ULONG * aProcessorCoreCount) { return smth get_ProcessorCoreCount (aProcessorCoreCount); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO_BASE(base) COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ProcessorOnlineCoreCount (ULONG * aProcessorOnlineCoreCount) { return smth get_ProcessorOnlineCoreCount (aProcessorOnlineCoreCount); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO_BASE(base) COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_HostDrives_TO(smth) HRESULT STDMETHODCALLTYPE get_HostDrives (SAFEARRAY * * aHostDrives) { return smth get_HostDrives (aHostDrives); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_HostDrives_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_HostDrives_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_HostDrives_TO_BASE(base) COM_FORWARD_IHost_GETTER_HostDrives_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_MemorySize_TO(smth) HRESULT STDMETHODCALLTYPE get_MemorySize (ULONG * aMemorySize) { return smth get_MemorySize (aMemorySize); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_MemorySize_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_MemorySize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_MemorySize_TO_BASE(base) COM_FORWARD_IHost_GETTER_MemorySize_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_MemoryAvailable_TO(smth) HRESULT STDMETHODCALLTYPE get_MemoryAvailable (ULONG * aMemoryAvailable) { return smth get_MemoryAvailable (aMemoryAvailable); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_MemoryAvailable_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_MemoryAvailable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_MemoryAvailable_TO_BASE(base) COM_FORWARD_IHost_GETTER_MemoryAvailable_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_OperatingSystem_TO(smth) HRESULT STDMETHODCALLTYPE get_OperatingSystem (BSTR * aOperatingSystem) { return smth get_OperatingSystem (aOperatingSystem); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_OperatingSystem_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_OperatingSystem_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_OperatingSystem_TO_BASE(base) COM_FORWARD_IHost_GETTER_OperatingSystem_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_OSVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_OSVersion (BSTR * aOSVersion) { return smth get_OSVersion (aOSVersion); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_OSVersion_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_OSVersion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_OSVersion_TO_BASE(base) COM_FORWARD_IHost_GETTER_OSVersion_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UTCTime_TO(smth) HRESULT STDMETHODCALLTYPE get_UTCTime (LONG64 * aUTCTime) { return smth get_UTCTime (aUTCTime); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UTCTime_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_UTCTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UTCTime_TO_BASE(base) COM_FORWARD_IHost_GETTER_UTCTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_VideoInputDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoInputDevices (SAFEARRAY * * aVideoInputDevices) { return smth get_VideoInputDevices (aVideoInputDevices); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_VideoInputDevices_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_VideoInputDevices_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_VideoInputDevices_TO_BASE(base) COM_FORWARD_IHost_GETTER_VideoInputDevices_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UpdateHost_TO(smth) HRESULT STDMETHODCALLTYPE get_UpdateHost (IUpdateAgent * * aUpdateHost) { return smth get_UpdateHost (aUpdateHost); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UpdateHost_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_UpdateHost_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UpdateHost_TO_BASE(base) COM_FORWARD_IHost_GETTER_UpdateHost_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UpdateExtPack_TO(smth) HRESULT STDMETHODCALLTYPE get_UpdateExtPack (IUpdateAgent * * aUpdateExtPack) { return smth get_UpdateExtPack (aUpdateExtPack); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UpdateExtPack_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_UpdateExtPack_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UpdateExtPack_TO_BASE(base) COM_FORWARD_IHost_GETTER_UpdateExtPack_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO(smth) HRESULT STDMETHODCALLTYPE get_UpdateGuestAdditions (IUpdateAgent * * aUpdateGuestAdditions) { return smth get_UpdateGuestAdditions (aUpdateGuestAdditions); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO_BASE(base) COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GetProcessorSpeed_TO(smth) HRESULT STDMETHODCALLTYPE GetProcessorSpeed (ULONG aCpuId, ULONG * aSpeed) { return smth GetProcessorSpeed (aCpuId, aSpeed); }")
cpp_quote("#define COM_FORWARD_IHost_GetProcessorSpeed_TO_OBJ(obj) COM_FORWARD_IHost_GetProcessorSpeed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GetProcessorSpeed_TO_BASE(base) COM_FORWARD_IHost_GetProcessorSpeed_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GetProcessorFeature_TO(smth) HRESULT STDMETHODCALLTYPE GetProcessorFeature (ProcessorFeature aFeature, BOOL * aSupported) { return smth GetProcessorFeature (aFeature, aSupported); }")
cpp_quote("#define COM_FORWARD_IHost_GetProcessorFeature_TO_OBJ(obj) COM_FORWARD_IHost_GetProcessorFeature_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GetProcessorFeature_TO_BASE(base) COM_FORWARD_IHost_GetProcessorFeature_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GetProcessorDescription_TO(smth) HRESULT STDMETHODCALLTYPE GetProcessorDescription (ULONG aCpuId, BSTR * aDescription) { return smth GetProcessorDescription (aCpuId, aDescription); }")
cpp_quote("#define COM_FORWARD_IHost_GetProcessorDescription_TO_OBJ(obj) COM_FORWARD_IHost_GetProcessorDescription_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GetProcessorDescription_TO_BASE(base) COM_FORWARD_IHost_GetProcessorDescription_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO(smth) HRESULT STDMETHODCALLTYPE CreateHostOnlyNetworkInterface (IHostNetworkInterface * * aHostInterface, IProgress * * aProgress) { return smth CreateHostOnlyNetworkInterface (aHostInterface, aProgress); }")
cpp_quote("#define COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO_OBJ(obj) COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO_BASE(base) COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO(smth) HRESULT STDMETHODCALLTYPE RemoveHostOnlyNetworkInterface (BSTR aId, IProgress * * aProgress) { return smth RemoveHostOnlyNetworkInterface (aId, aProgress); }")
cpp_quote("#define COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO_OBJ(obj) COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO_BASE(base) COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_CreateUSBDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE CreateUSBDeviceFilter (BSTR aName, IHostUSBDeviceFilter * * aFilter) { return smth CreateUSBDeviceFilter (aName, aFilter); }")
cpp_quote("#define COM_FORWARD_IHost_CreateUSBDeviceFilter_TO_OBJ(obj) COM_FORWARD_IHost_CreateUSBDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_CreateUSBDeviceFilter_TO_BASE(base) COM_FORWARD_IHost_CreateUSBDeviceFilter_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_InsertUSBDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE InsertUSBDeviceFilter (ULONG aPosition, IHostUSBDeviceFilter * aFilter) { return smth InsertUSBDeviceFilter (aPosition, aFilter); }")
cpp_quote("#define COM_FORWARD_IHost_InsertUSBDeviceFilter_TO_OBJ(obj) COM_FORWARD_IHost_InsertUSBDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_InsertUSBDeviceFilter_TO_BASE(base) COM_FORWARD_IHost_InsertUSBDeviceFilter_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE RemoveUSBDeviceFilter (ULONG aPosition) { return smth RemoveUSBDeviceFilter (aPosition); }")
cpp_quote("#define COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO_OBJ(obj) COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO_BASE(base) COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_FindHostDVDDrive_TO(smth) HRESULT STDMETHODCALLTYPE FindHostDVDDrive (BSTR aName, IMedium * * aDrive) { return smth FindHostDVDDrive (aName, aDrive); }")
cpp_quote("#define COM_FORWARD_IHost_FindHostDVDDrive_TO_OBJ(obj) COM_FORWARD_IHost_FindHostDVDDrive_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_FindHostDVDDrive_TO_BASE(base) COM_FORWARD_IHost_FindHostDVDDrive_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_FindHostFloppyDrive_TO(smth) HRESULT STDMETHODCALLTYPE FindHostFloppyDrive (BSTR aName, IMedium * * aDrive) { return smth FindHostFloppyDrive (aName, aDrive); }")
cpp_quote("#define COM_FORWARD_IHost_FindHostFloppyDrive_TO_OBJ(obj) COM_FORWARD_IHost_FindHostFloppyDrive_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_FindHostFloppyDrive_TO_BASE(base) COM_FORWARD_IHost_FindHostFloppyDrive_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO(smth) HRESULT STDMETHODCALLTYPE FindHostNetworkInterfaceByName (BSTR aName, IHostNetworkInterface * * aNetworkInterface) { return smth FindHostNetworkInterfaceByName (aName, aNetworkInterface); }")
cpp_quote("#define COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO_OBJ(obj) COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO_BASE(base) COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO(smth) HRESULT STDMETHODCALLTYPE FindHostNetworkInterfaceById (BSTR aId, IHostNetworkInterface * * aNetworkInterface) { return smth FindHostNetworkInterfaceById (aId, aNetworkInterface); }")
cpp_quote("#define COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO_OBJ(obj) COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO_BASE(base) COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO(smth) HRESULT STDMETHODCALLTYPE FindHostNetworkInterfacesOfType (HostNetworkInterfaceType aType, SAFEARRAY * * aNetworkInterfaces) { return smth FindHostNetworkInterfacesOfType (aType, aNetworkInterfaces); }")
cpp_quote("#define COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO_OBJ(obj) COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO_BASE(base) COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_FindUSBDeviceById_TO(smth) HRESULT STDMETHODCALLTYPE FindUSBDeviceById (BSTR aId, IHostUSBDevice * * aDevice) { return smth FindUSBDeviceById (aId, aDevice); }")
cpp_quote("#define COM_FORWARD_IHost_FindUSBDeviceById_TO_OBJ(obj) COM_FORWARD_IHost_FindUSBDeviceById_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_FindUSBDeviceById_TO_BASE(base) COM_FORWARD_IHost_FindUSBDeviceById_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_FindUSBDeviceByAddress_TO(smth) HRESULT STDMETHODCALLTYPE FindUSBDeviceByAddress (BSTR aName, IHostUSBDevice * * aDevice) { return smth FindUSBDeviceByAddress (aName, aDevice); }")
cpp_quote("#define COM_FORWARD_IHost_FindUSBDeviceByAddress_TO_OBJ(obj) COM_FORWARD_IHost_FindUSBDeviceByAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_FindUSBDeviceByAddress_TO_BASE(base) COM_FORWARD_IHost_FindUSBDeviceByAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_GenerateMACAddress_TO(smth) HRESULT STDMETHODCALLTYPE GenerateMACAddress (BSTR * aAddress) { return smth GenerateMACAddress (aAddress); }")
cpp_quote("#define COM_FORWARD_IHost_GenerateMACAddress_TO_OBJ(obj) COM_FORWARD_IHost_GenerateMACAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GenerateMACAddress_TO_BASE(base) COM_FORWARD_IHost_GenerateMACAddress_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IHost_AddUSBDeviceSource_TO_OBJ(obj) COM_FORWARD_IHost_AddUSBDeviceSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_AddUSBDeviceSource_TO_BASE(base) COM_FORWARD_IHost_AddUSBDeviceSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_RemoveUSBDeviceSource_TO(smth) HRESULT STDMETHODCALLTYPE RemoveUSBDeviceSource (BSTR aId) { return smth RemoveUSBDeviceSource (aId); }")
cpp_quote("#define COM_FORWARD_IHost_RemoveUSBDeviceSource_TO_OBJ(obj) COM_FORWARD_IHost_RemoveUSBDeviceSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_RemoveUSBDeviceSource_TO_BASE(base) COM_FORWARD_IHost_RemoveUSBDeviceSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IHost_IsExecutionEngineSupported_TO(smth) HRESULT STDMETHODCALLTYPE IsExecutionEngineSupported (CPUArchitecture aCpuArchitecture, VMExecutionEngine aExecutionEngine, BOOL * aIsSupported) { return smth IsExecutionEngineSupported (aCpuArchitecture, aExecutionEngine, aIsSupported); }")
cpp_quote("#define COM_FORWARD_IHost_IsExecutionEngineSupported_TO_OBJ(obj) COM_FORWARD_IHost_IsExecutionEngineSupported_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_IsExecutionEngineSupported_TO_BASE(base) COM_FORWARD_IHost_IsExecutionEngineSupported_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IHost_TO_OBJ(obj) COM_FORWARD_IHost_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_TO_BASE(base) COM_FORWARD_IHost_TO (base::)")

[
    uuid(b7fda727-7a08-46ee-8dd8-f8d7308b519c),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICPUProfile : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT FullName ([out, retval] BSTR * aFullName);

    [propget] HRESULT Architecture ([out, retval] CPUArchitecture * aArchitecture);

    [propget] HRESULT InternalAndReservedAttribute1ICPUProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ICPUProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ICPUProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ICPUProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ICPUProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ICPUProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ICPUProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ICPUProfile ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1ICPUProfile();

    HRESULT InternalAndReservedMethod2ICPUProfile();

    HRESULT InternalAndReservedMethod3ICPUProfile();

    HRESULT InternalAndReservedMethod4ICPUProfile();

}; /* interface ICPUProfile */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICPUProfile_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_ICPUProfile_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICPUProfile_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICPUProfile_GETTER_Name_TO_BASE(base) COM_FORWARD_ICPUProfile_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ICPUProfile_GETTER_FullName_TO(smth) HRESULT STDMETHODCALLTYPE get_FullName (BSTR * aFullName) { return smth get_FullName (aFullName); }")
cpp_quote("#define COM_FORWARD_ICPUProfile_GETTER_FullName_TO_OBJ(obj) COM_FORWARD_ICPUProfile_GETTER_FullName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICPUProfile_GETTER_FullName_TO_BASE(base) COM_FORWARD_ICPUProfile_GETTER_FullName_TO (base::)")
cpp_quote("#define COM_FORWARD_ICPUProfile_GETTER_Architecture_TO(smth) HRESULT STDMETHODCALLTYPE get_Architecture (CPUArchitecture * aArchitecture) { return smth get_Architecture (aArchitecture); }")
cpp_quote("#define COM_FORWARD_ICPUProfile_GETTER_Architecture_TO_OBJ(obj) COM_FORWARD_ICPUProfile_GETTER_Architecture_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICPUProfile_GETTER_Architecture_TO_BASE(base) COM_FORWARD_ICPUProfile_GETTER_Architecture_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ICPUProfile_TO_OBJ(obj) COM_FORWARD_ICPUProfile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICPUProfile_TO_BASE(base) COM_FORWARD_ICPUProfile_TO (base::)")

[
    uuid(5bae19d0-ca40-4ca2-a485-c8065190bbe5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IPlatformProperties : IDispatch
{
    [propget] HRESULT RawModeSupported ([out, retval] BOOL * aRawModeSupported);

    [propget] HRESULT ExclusiveHwVirt ([out, retval] BOOL * aExclusiveHwVirt);
    [propput] HRESULT ExclusiveHwVirt ([in] BOOL aExclusiveHwVirt);

    [propget] HRESULT SerialPortCount ([out, retval] ULONG * aSerialPortCount);

    [propget] HRESULT ParallelPortCount ([out, retval] ULONG * aParallelPortCount);

    [propget] HRESULT MaxBootPosition ([out, retval] ULONG * aMaxBootPosition);

    [propget] HRESULT SupportedParavirtProviders ([out, retval] SAFEARRAY(ParavirtProvider) * aSupportedParavirtProviders);

    [propget] HRESULT SupportedFirmwareTypes ([out, retval] SAFEARRAY(FirmwareType) * aSupportedFirmwareTypes);

    [propget] HRESULT SupportedGuestOSTypes ([out, retval] SAFEARRAY(IGuestOSType *) * aSupportedGuestOSTypes);

    [propget] HRESULT SupportedGfxControllerTypes ([out, retval] SAFEARRAY(GraphicsControllerType) * aSupportedGfxControllerTypes);

    [propget] HRESULT SupportedNetAdpPromiscModePols ([out, retval] SAFEARRAY(NetworkAdapterPromiscModePolicy) * aSupportedNetAdpPromiscModePols);

    [propget] HRESULT SupportedNetworkAdapterTypes ([out, retval] SAFEARRAY(NetworkAdapterType) * aSupportedNetworkAdapterTypes);

    [propget] HRESULT SupportedUartTypes ([out, retval] SAFEARRAY(UartType) * aSupportedUartTypes);

    [propget] HRESULT SupportedUSBControllerTypes ([out, retval] SAFEARRAY(USBControllerType) * aSupportedUSBControllerTypes);

    [propget] HRESULT SupportedAudioControllerTypes ([out, retval] SAFEARRAY(AudioControllerType) * aSupportedAudioControllerTypes);

    [propget] HRESULT SupportedBootDevices ([out, retval] SAFEARRAY(DeviceType) * aSupportedBootDevices);

    [propget] HRESULT SupportedStorageBuses ([out, retval] SAFEARRAY(StorageBus) * aSupportedStorageBuses);

    [propget] HRESULT SupportedStorageControllerTypes ([out, retval] SAFEARRAY(StorageControllerType) * aSupportedStorageControllerTypes);

    [propget] HRESULT SupportedChipsetTypes ([out, retval] SAFEARRAY(ChipsetType) * aSupportedChipsetTypes);

    [propget] HRESULT SupportedIommuTypes ([out, retval] SAFEARRAY(IommuType) * aSupportedIommuTypes);

    [propget] HRESULT SupportedTpmTypes ([out, retval] SAFEARRAY(TpmType) * aSupportedTpmTypes);

    [propget] HRESULT InternalAndReservedAttribute1IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IPlatformProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IPlatformProperties ([out, retval] ULONG *aReserved);

    HRESULT GetMaxNetworkAdapters (
        [in] ChipsetType aChipset,
        [out, retval] ULONG * aMaxNetworkAdapters
    );

    HRESULT GetMaxNetworkAdaptersOfType (
        [in] ChipsetType aChipset,
        [in] NetworkAttachmentType aType,
        [out, retval] ULONG * aMaxNetworkAdapters
    );

    HRESULT GetMaxDevicesPerPortForStorageBus (
        [in] StorageBus aBus,
        [out, retval] ULONG * aMaxDevicesPerPort
    );

    HRESULT GetMinPortCountForStorageBus (
        [in] StorageBus aBus,
        [out, retval] ULONG * aMinPortCount
    );

    HRESULT GetMaxPortCountForStorageBus (
        [in] StorageBus aBus,
        [out, retval] ULONG * aMaxPortCount
    );

    HRESULT GetMaxInstancesOfStorageBus (
        [in] ChipsetType aChipset,
        [in] StorageBus aBus,
        [out, retval] ULONG * aMaxInstances
    );

    HRESULT GetSupportedVRAMRange (
        [in] GraphicsControllerType aGraphicsControllerType,
        [in] BOOL aAccelerate3DEnabled,
        [out] ULONG * aMinMB,
        [out] ULONG * aMaxMB,
        [out, retval] ULONG * aStrideSizeMB
    );

    HRESULT GetSupportedGfxFeaturesForType (
        [in] GraphicsControllerType aGraphicsControllerType,
        [out, retval] SAFEARRAY(GraphicsFeature) * aSupportedControllerFeatures
    );

    HRESULT GetDeviceTypesForStorageBus (
        [in] StorageBus aBus,
        [out, retval] SAFEARRAY(DeviceType) * aDeviceTypes
    );

    HRESULT GetStorageBusForControllerType (
        [in] StorageControllerType aStorageControllerType,
        [out, retval] StorageBus * aStorageBus
    );

    HRESULT GetStorageControllerTypesForBus (
        [in] StorageBus aStorageBus,
        [out, retval] SAFEARRAY(StorageControllerType) * aStorageControllerType
    );

    HRESULT GetStorageControllerHotplugCapable (
        [in] StorageControllerType aControllerType,
        [out, retval] BOOL * aHotplugCapable
    );

    HRESULT GetMaxInstancesOfUSBControllerType (
        [in] ChipsetType aChipset,
        [in] USBControllerType aType,
        [out, retval] ULONG * aMaxInstances
    );

    HRESULT InternalAndReservedMethod1IPlatformProperties();

    HRESULT InternalAndReservedMethod2IPlatformProperties();

    HRESULT InternalAndReservedMethod3IPlatformProperties();

    HRESULT InternalAndReservedMethod4IPlatformProperties();

}; /* interface IPlatformProperties */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_RawModeSupported (BOOL * aRawModeSupported) { return smth get_RawModeSupported (aRawModeSupported); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO(smth) HRESULT STDMETHODCALLTYPE get_ExclusiveHwVirt (BOOL * aExclusiveHwVirt) { return smth get_ExclusiveHwVirt (aExclusiveHwVirt); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO(smth) HRESULT STDMETHODCALLTYPE put_ExclusiveHwVirt (BOOL aExclusiveHwVirt) { return smth put_ExclusiveHwVirt (aExclusiveHwVirt); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO_BASE(base) COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialPortCount (ULONG * aSerialPortCount) { return smth get_SerialPortCount (aSerialPortCount); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ParallelPortCount (ULONG * aParallelPortCount) { return smth get_ParallelPortCount (aParallelPortCount); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxBootPosition (ULONG * aMaxBootPosition) { return smth get_MaxBootPosition (aMaxBootPosition); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedParavirtProviders (SAFEARRAY * * aSupportedParavirtProviders) { return smth get_SupportedParavirtProviders (aSupportedParavirtProviders); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedFirmwareTypes (SAFEARRAY * * aSupportedFirmwareTypes) { return smth get_SupportedFirmwareTypes (aSupportedFirmwareTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedGuestOSTypes (SAFEARRAY * * aSupportedGuestOSTypes) { return smth get_SupportedGuestOSTypes (aSupportedGuestOSTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedGfxControllerTypes (SAFEARRAY * * aSupportedGfxControllerTypes) { return smth get_SupportedGfxControllerTypes (aSupportedGfxControllerTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedNetAdpPromiscModePols (SAFEARRAY * * aSupportedNetAdpPromiscModePols) { return smth get_SupportedNetAdpPromiscModePols (aSupportedNetAdpPromiscModePols); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedNetworkAdapterTypes (SAFEARRAY * * aSupportedNetworkAdapterTypes) { return smth get_SupportedNetworkAdapterTypes (aSupportedNetworkAdapterTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedUartTypes (SAFEARRAY * * aSupportedUartTypes) { return smth get_SupportedUartTypes (aSupportedUartTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedUSBControllerTypes (SAFEARRAY * * aSupportedUSBControllerTypes) { return smth get_SupportedUSBControllerTypes (aSupportedUSBControllerTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedAudioControllerTypes (SAFEARRAY * * aSupportedAudioControllerTypes) { return smth get_SupportedAudioControllerTypes (aSupportedAudioControllerTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedBootDevices (SAFEARRAY * * aSupportedBootDevices) { return smth get_SupportedBootDevices (aSupportedBootDevices); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedStorageBuses (SAFEARRAY * * aSupportedStorageBuses) { return smth get_SupportedStorageBuses (aSupportedStorageBuses); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedStorageControllerTypes (SAFEARRAY * * aSupportedStorageControllerTypes) { return smth get_SupportedStorageControllerTypes (aSupportedStorageControllerTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedChipsetTypes (SAFEARRAY * * aSupportedChipsetTypes) { return smth get_SupportedChipsetTypes (aSupportedChipsetTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedIommuTypes (SAFEARRAY * * aSupportedIommuTypes) { return smth get_SupportedIommuTypes (aSupportedIommuTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedTpmTypes (SAFEARRAY * * aSupportedTpmTypes) { return smth get_SupportedTpmTypes (aSupportedTpmTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxNetworkAdapters (ChipsetType aChipset, ULONG * aMaxNetworkAdapters) { return smth GetMaxNetworkAdapters (aChipset, aMaxNetworkAdapters); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxNetworkAdaptersOfType (ChipsetType aChipset, NetworkAttachmentType aType, ULONG * aMaxNetworkAdapters) { return smth GetMaxNetworkAdaptersOfType (aChipset, aType, aMaxNetworkAdapters); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxDevicesPerPortForStorageBus (StorageBus aBus, ULONG * aMaxDevicesPerPort) { return smth GetMaxDevicesPerPortForStorageBus (aBus, aMaxDevicesPerPort); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMinPortCountForStorageBus (StorageBus aBus, ULONG * aMinPortCount) { return smth GetMinPortCountForStorageBus (aBus, aMinPortCount); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxPortCountForStorageBus (StorageBus aBus, ULONG * aMaxPortCount) { return smth GetMaxPortCountForStorageBus (aBus, aMaxPortCount); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxInstancesOfStorageBus (ChipsetType aChipset, StorageBus aBus, ULONG * aMaxInstances) { return smth GetMaxInstancesOfStorageBus (aChipset, aBus, aMaxInstances); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetSupportedVRAMRange_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetSupportedVRAMRange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetSupportedVRAMRange_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetSupportedVRAMRange_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO(smth) HRESULT STDMETHODCALLTYPE GetSupportedGfxFeaturesForType (GraphicsControllerType aGraphicsControllerType, SAFEARRAY * * aSupportedControllerFeatures) { return smth GetSupportedGfxFeaturesForType (aGraphicsControllerType, aSupportedControllerFeatures); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetDeviceTypesForStorageBus (StorageBus aBus, SAFEARRAY * * aDeviceTypes) { return smth GetDeviceTypesForStorageBus (aBus, aDeviceTypes); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO(smth) HRESULT STDMETHODCALLTYPE GetStorageBusForControllerType (StorageControllerType aStorageControllerType, StorageBus * aStorageBus) { return smth GetStorageBusForControllerType (aStorageControllerType, aStorageBus); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO(smth) HRESULT STDMETHODCALLTYPE GetStorageControllerTypesForBus (StorageBus aStorageBus, SAFEARRAY * * aStorageControllerType) { return smth GetStorageControllerTypesForBus (aStorageBus, aStorageControllerType); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO(smth) HRESULT STDMETHODCALLTYPE GetStorageControllerHotplugCapable (StorageControllerType aControllerType, BOOL * aHotplugCapable) { return smth GetStorageControllerHotplugCapable (aControllerType, aHotplugCapable); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO (base::)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxInstancesOfUSBControllerType (ChipsetType aChipset, USBControllerType aType, ULONG * aMaxInstances) { return smth GetMaxInstancesOfUSBControllerType (aChipset, aType, aMaxInstances); }")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IPlatformProperties_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPlatformProperties_TO_BASE(base) COM_FORWARD_IPlatformProperties_TO (base::)")

[
    uuid(925084b0-625f-422f-a67d-0ede1880a56c),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISystemProperties : IDispatch
{
    [propget] HRESULT Platform ([out, retval] IPlatformProperties * * aPlatform);

    [propget] HRESULT MinGuestRAM ([out, retval] ULONG * aMinGuestRAM);

    [propget] HRESULT MaxGuestRAM ([out, retval] ULONG * aMaxGuestRAM);

    [propget] HRESULT MinGuestVRAM ([out, retval] ULONG * aMinGuestVRAM);

    [propget] HRESULT MaxGuestVRAM ([out, retval] ULONG * aMaxGuestVRAM);

    [propget] HRESULT MinGuestCPUCount ([out, retval] ULONG * aMinGuestCPUCount);

    [propget] HRESULT MaxGuestCPUCount ([out, retval] ULONG * aMaxGuestCPUCount);

    [propget] HRESULT MaxGuestMonitors ([out, retval] ULONG * aMaxGuestMonitors);

    [propget] HRESULT InfoVDSize ([out, retval] LONG64 * aInfoVDSize);

    [propget] HRESULT DefaultMachineFolder ([out, retval] BSTR * aDefaultMachineFolder);
    [propput] HRESULT DefaultMachineFolder ([in] BSTR aDefaultMachineFolder);

    [propget] HRESULT LoggingLevel ([out, retval] BSTR * aLoggingLevel);
    [propput] HRESULT LoggingLevel ([in] BSTR aLoggingLevel);

    [propget] HRESULT MediumFormats ([out, retval] SAFEARRAY(IMediumFormat *) * aMediumFormats);

    [propget] HRESULT DefaultHardDiskFormat ([out, retval] BSTR * aDefaultHardDiskFormat);
    [propput] HRESULT DefaultHardDiskFormat ([in] BSTR aDefaultHardDiskFormat);

    [propget] HRESULT FreeDiskSpaceWarning ([out, retval] LONG64 * aFreeDiskSpaceWarning);
    [propput] HRESULT FreeDiskSpaceWarning ([in] LONG64 aFreeDiskSpaceWarning);

    [propget] HRESULT FreeDiskSpacePercentWarning ([out, retval] ULONG * aFreeDiskSpacePercentWarning);
    [propput] HRESULT FreeDiskSpacePercentWarning ([in] ULONG aFreeDiskSpacePercentWarning);

    [propget] HRESULT FreeDiskSpaceError ([out, retval] LONG64 * aFreeDiskSpaceError);
    [propput] HRESULT FreeDiskSpaceError ([in] LONG64 aFreeDiskSpaceError);

    [propget] HRESULT FreeDiskSpacePercentError ([out, retval] ULONG * aFreeDiskSpacePercentError);
    [propput] HRESULT FreeDiskSpacePercentError ([in] ULONG aFreeDiskSpacePercentError);

    [propget] HRESULT VRDEAuthLibrary ([out, retval] BSTR * aVRDEAuthLibrary);
    [propput] HRESULT VRDEAuthLibrary ([in] BSTR aVRDEAuthLibrary);

    [propget] HRESULT WebServiceAuthLibrary ([out, retval] BSTR * aWebServiceAuthLibrary);
    [propput] HRESULT WebServiceAuthLibrary ([in] BSTR aWebServiceAuthLibrary);

    [propget] HRESULT DefaultVRDEExtPack ([out, retval] BSTR * aDefaultVRDEExtPack);
    [propput] HRESULT DefaultVRDEExtPack ([in] BSTR aDefaultVRDEExtPack);

    [propget] HRESULT DefaultCryptoExtPack ([out, retval] BSTR * aDefaultCryptoExtPack);
    [propput] HRESULT DefaultCryptoExtPack ([in] BSTR aDefaultCryptoExtPack);

    [propget] HRESULT LogHistoryCount ([out, retval] ULONG * aLogHistoryCount);
    [propput] HRESULT LogHistoryCount ([in] ULONG aLogHistoryCount);

    [propget] HRESULT DefaultAudioDriver ([out, retval] AudioDriverType * aDefaultAudioDriver);

    [propget] HRESULT AutostartDatabasePath ([out, retval] BSTR * aAutostartDatabasePath);
    [propput] HRESULT AutostartDatabasePath ([in] BSTR aAutostartDatabasePath);

    [propget] HRESULT DefaultAdditionsISO ([out, retval] BSTR * aDefaultAdditionsISO);
    [propput] HRESULT DefaultAdditionsISO ([in] BSTR aDefaultAdditionsISO);

    [propget] HRESULT DefaultFrontend ([out, retval] BSTR * aDefaultFrontend);
    [propput] HRESULT DefaultFrontend ([in] BSTR aDefaultFrontend);

    [propget] HRESULT ScreenShotFormats ([out, retval] SAFEARRAY(BitmapFormat) * aScreenShotFormats);

    [propget] HRESULT ProxyMode ([out, retval] ProxyMode * aProxyMode);
    [propput] HRESULT ProxyMode ([in] ProxyMode aProxyMode);

    [propget] HRESULT ProxyURL ([out, retval] BSTR * aProxyURL);
    [propput] HRESULT ProxyURL ([in] BSTR aProxyURL);

    [propget] HRESULT SupportedPlatformArchitectures ([out, retval] SAFEARRAY(PlatformArchitecture) * aSupportedPlatformArchitectures);

    [propget] HRESULT SupportedClipboardModes ([out, retval] SAFEARRAY(ClipboardMode) * aSupportedClipboardModes);

    [propget] HRESULT SupportedDnDModes ([out, retval] SAFEARRAY(DnDMode) * aSupportedDnDModes);

    [propget] HRESULT SupportedPointingHIDTypes ([out, retval] SAFEARRAY(PointingHIDType) * aSupportedPointingHIDTypes);

    [propget] HRESULT SupportedKeyboardHIDTypes ([out, retval] SAFEARRAY(KeyboardHIDType) * aSupportedKeyboardHIDTypes);

    [propget] HRESULT SupportedVFSTypes ([out, retval] SAFEARRAY(VFSType) * aSupportedVFSTypes);

    [propget] HRESULT SupportedImportOptions ([out, retval] SAFEARRAY(ImportOptions) * aSupportedImportOptions);

    [propget] HRESULT SupportedExportOptions ([out, retval] SAFEARRAY(ExportOptions) * aSupportedExportOptions);

    [propget] HRESULT SupportedGraphicsFeatures ([out, retval] SAFEARRAY(GraphicsFeature) * aSupportedGraphicsFeatures);

    [propget] HRESULT SupportedRecordingFeatures ([out, retval] SAFEARRAY(RecordingFeature) * aSupportedRecordingFeatures);

    [propget] HRESULT SupportedRecordingAudioCodecs ([out, retval] SAFEARRAY(RecordingAudioCodec) * aSupportedRecordingAudioCodecs);

    [propget] HRESULT SupportedRecordingVideoCodecs ([out, retval] SAFEARRAY(RecordingVideoCodec) * aSupportedRecordingVideoCodecs);

    [propget] HRESULT SupportedRecordingVSModes ([out, retval] SAFEARRAY(RecordingVideoScalingMode) * aSupportedRecordingVSModes);

    [propget] HRESULT SupportedRecordingARCModes ([out, retval] SAFEARRAY(RecordingRateControlMode) * aSupportedRecordingARCModes);

    [propget] HRESULT SupportedRecordingVRCModes ([out, retval] SAFEARRAY(RecordingRateControlMode) * aSupportedRecordingVRCModes);

    [propget] HRESULT SupportedCloneOptions ([out, retval] SAFEARRAY(CloneOptions) * aSupportedCloneOptions);

    [propget] HRESULT SupportedAutostopTypes ([out, retval] SAFEARRAY(AutostopType) * aSupportedAutostopTypes);

    [propget] HRESULT SupportedVMProcPriorities ([out, retval] SAFEARRAY(VMProcPriority) * aSupportedVMProcPriorities);

    [propget] HRESULT SupportedNetworkAttachmentTypes ([out, retval] SAFEARRAY(NetworkAttachmentType) * aSupportedNetworkAttachmentTypes);

    [propget] HRESULT SupportedPortModes ([out, retval] SAFEARRAY(PortMode) * aSupportedPortModes);

    [propget] HRESULT SupportedAudioDriverTypes ([out, retval] SAFEARRAY(AudioDriverType) * aSupportedAudioDriverTypes);

    [propget] HRESULT LanguageId ([out, retval] BSTR * aLanguageId);
    [propput] HRESULT LanguageId ([in] BSTR aLanguageId);

    [propget] HRESULT InternalAndReservedAttribute1ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15ISystemProperties ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16ISystemProperties ([out, retval] ULONG *aReserved);

    HRESULT GetDefaultIoCacheSettingForStorageController (
        [in] StorageControllerType aControllerType,
        [out, retval] BOOL * aEnabled
    );

    HRESULT GetCPUProfiles (
        [in] CPUArchitecture aArchitecture,
        [in] BSTR aNamePattern,
        [out, retval] SAFEARRAY(ICPUProfile *) * aProfiles
    );

    HRESULT GetExecutionEnginesForVmCpuArchitecture (
        [in] CPUArchitecture aCpuArchitecture,
        [out, retval] SAFEARRAY(VMExecutionEngine) * aExecutionEngine
    );

    HRESULT InternalAndReservedMethod1ISystemProperties();

    HRESULT InternalAndReservedMethod2ISystemProperties();

    HRESULT InternalAndReservedMethod3ISystemProperties();

    HRESULT InternalAndReservedMethod4ISystemProperties();

}; /* interface ISystemProperties */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_Platform_TO(smth) HRESULT STDMETHODCALLTYPE get_Platform (IPlatformProperties * * aPlatform) { return smth get_Platform (aPlatform); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_Platform_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_Platform_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_Platform_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_Platform_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_MinGuestRAM (ULONG * aMinGuestRAM) { return smth get_MinGuestRAM (aMinGuestRAM); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxGuestRAM (ULONG * aMaxGuestRAM) { return smth get_MaxGuestRAM (aMaxGuestRAM); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_MinGuestVRAM (ULONG * aMinGuestVRAM) { return smth get_MinGuestVRAM (aMinGuestVRAM); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxGuestVRAM (ULONG * aMaxGuestVRAM) { return smth get_MaxGuestVRAM (aMaxGuestVRAM); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MinGuestCPUCount (ULONG * aMinGuestCPUCount) { return smth get_MinGuestCPUCount (aMinGuestCPUCount); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxGuestCPUCount (ULONG * aMaxGuestCPUCount) { return smth get_MaxGuestCPUCount (aMaxGuestCPUCount); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxGuestMonitors (ULONG * aMaxGuestMonitors) { return smth get_MaxGuestMonitors (aMaxGuestMonitors); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO(smth) HRESULT STDMETHODCALLTYPE get_InfoVDSize (LONG64 * aInfoVDSize) { return smth get_InfoVDSize (aInfoVDSize); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultMachineFolder (BSTR * aDefaultMachineFolder) { return smth get_DefaultMachineFolder (aDefaultMachineFolder); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultMachineFolder (BSTR aDefaultMachineFolder) { return smth put_DefaultMachineFolder (aDefaultMachineFolder); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO(smth) HRESULT STDMETHODCALLTYPE get_LoggingLevel (BSTR * aLoggingLevel) { return smth get_LoggingLevel (aLoggingLevel); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO(smth) HRESULT STDMETHODCALLTYPE put_LoggingLevel (BSTR aLoggingLevel) { return smth put_LoggingLevel (aLoggingLevel); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumFormats (SAFEARRAY * * aMediumFormats) { return smth get_MediumFormats (aMediumFormats); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultHardDiskFormat (BSTR * aDefaultHardDiskFormat) { return smth get_DefaultHardDiskFormat (aDefaultHardDiskFormat); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultHardDiskFormat (BSTR aDefaultHardDiskFormat) { return smth put_DefaultHardDiskFormat (aDefaultHardDiskFormat); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO(smth) HRESULT STDMETHODCALLTYPE get_FreeDiskSpaceWarning (LONG64 * aFreeDiskSpaceWarning) { return smth get_FreeDiskSpaceWarning (aFreeDiskSpaceWarning); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO(smth) HRESULT STDMETHODCALLTYPE put_FreeDiskSpaceWarning (LONG64 aFreeDiskSpaceWarning) { return smth put_FreeDiskSpaceWarning (aFreeDiskSpaceWarning); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO(smth) HRESULT STDMETHODCALLTYPE get_FreeDiskSpacePercentWarning (ULONG * aFreeDiskSpacePercentWarning) { return smth get_FreeDiskSpacePercentWarning (aFreeDiskSpacePercentWarning); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO(smth) HRESULT STDMETHODCALLTYPE put_FreeDiskSpacePercentWarning (ULONG aFreeDiskSpacePercentWarning) { return smth put_FreeDiskSpacePercentWarning (aFreeDiskSpacePercentWarning); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO(smth) HRESULT STDMETHODCALLTYPE get_FreeDiskSpaceError (LONG64 * aFreeDiskSpaceError) { return smth get_FreeDiskSpaceError (aFreeDiskSpaceError); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO(smth) HRESULT STDMETHODCALLTYPE put_FreeDiskSpaceError (LONG64 aFreeDiskSpaceError) { return smth put_FreeDiskSpaceError (aFreeDiskSpaceError); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO(smth) HRESULT STDMETHODCALLTYPE get_FreeDiskSpacePercentError (ULONG * aFreeDiskSpacePercentError) { return smth get_FreeDiskSpacePercentError (aFreeDiskSpacePercentError); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO(smth) HRESULT STDMETHODCALLTYPE put_FreeDiskSpacePercentError (ULONG aFreeDiskSpacePercentError) { return smth put_FreeDiskSpacePercentError (aFreeDiskSpacePercentError); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEAuthLibrary (BSTR * aVRDEAuthLibrary) { return smth get_VRDEAuthLibrary (aVRDEAuthLibrary); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE put_VRDEAuthLibrary (BSTR aVRDEAuthLibrary) { return smth put_VRDEAuthLibrary (aVRDEAuthLibrary); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE get_WebServiceAuthLibrary (BSTR * aWebServiceAuthLibrary) { return smth get_WebServiceAuthLibrary (aWebServiceAuthLibrary); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE put_WebServiceAuthLibrary (BSTR aWebServiceAuthLibrary) { return smth put_WebServiceAuthLibrary (aWebServiceAuthLibrary); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultVRDEExtPack (BSTR * aDefaultVRDEExtPack) { return smth get_DefaultVRDEExtPack (aDefaultVRDEExtPack); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultVRDEExtPack (BSTR aDefaultVRDEExtPack) { return smth put_DefaultVRDEExtPack (aDefaultVRDEExtPack); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultCryptoExtPack (BSTR * aDefaultCryptoExtPack) { return smth get_DefaultCryptoExtPack (aDefaultCryptoExtPack); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultCryptoExtPack (BSTR aDefaultCryptoExtPack) { return smth put_DefaultCryptoExtPack (aDefaultCryptoExtPack); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO(smth) HRESULT STDMETHODCALLTYPE get_LogHistoryCount (ULONG * aLogHistoryCount) { return smth get_LogHistoryCount (aLogHistoryCount); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO(smth) HRESULT STDMETHODCALLTYPE put_LogHistoryCount (ULONG aLogHistoryCount) { return smth put_LogHistoryCount (aLogHistoryCount); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultAudioDriver (AudioDriverType * aDefaultAudioDriver) { return smth get_DefaultAudioDriver (aDefaultAudioDriver); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO(smth) HRESULT STDMETHODCALLTYPE get_AutostartDatabasePath (BSTR * aAutostartDatabasePath) { return smth get_AutostartDatabasePath (aAutostartDatabasePath); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO(smth) HRESULT STDMETHODCALLTYPE put_AutostartDatabasePath (BSTR aAutostartDatabasePath) { return smth put_AutostartDatabasePath (aAutostartDatabasePath); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultAdditionsISO (BSTR * aDefaultAdditionsISO) { return smth get_DefaultAdditionsISO (aDefaultAdditionsISO); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultAdditionsISO (BSTR aDefaultAdditionsISO) { return smth put_DefaultAdditionsISO (aDefaultAdditionsISO); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultFrontend (BSTR * aDefaultFrontend) { return smth get_DefaultFrontend (aDefaultFrontend); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultFrontend (BSTR aDefaultFrontend) { return smth put_DefaultFrontend (aDefaultFrontend); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO(smth) HRESULT STDMETHODCALLTYPE get_ScreenShotFormats (SAFEARRAY * * aScreenShotFormats) { return smth get_ScreenShotFormats (aScreenShotFormats); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO(smth) HRESULT STDMETHODCALLTYPE get_ProxyMode (ProxyMode * aProxyMode) { return smth get_ProxyMode (aProxyMode); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO(smth) HRESULT STDMETHODCALLTYPE put_ProxyMode (ProxyMode aProxyMode) { return smth put_ProxyMode (aProxyMode); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO(smth) HRESULT STDMETHODCALLTYPE get_ProxyURL (BSTR * aProxyURL) { return smth get_ProxyURL (aProxyURL); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO(smth) HRESULT STDMETHODCALLTYPE put_ProxyURL (BSTR aProxyURL) { return smth put_ProxyURL (aProxyURL); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedPlatformArchitectures (SAFEARRAY * * aSupportedPlatformArchitectures) { return smth get_SupportedPlatformArchitectures (aSupportedPlatformArchitectures); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedClipboardModes (SAFEARRAY * * aSupportedClipboardModes) { return smth get_SupportedClipboardModes (aSupportedClipboardModes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedDnDModes (SAFEARRAY * * aSupportedDnDModes) { return smth get_SupportedDnDModes (aSupportedDnDModes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedPointingHIDTypes (SAFEARRAY * * aSupportedPointingHIDTypes) { return smth get_SupportedPointingHIDTypes (aSupportedPointingHIDTypes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedKeyboardHIDTypes (SAFEARRAY * * aSupportedKeyboardHIDTypes) { return smth get_SupportedKeyboardHIDTypes (aSupportedKeyboardHIDTypes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedVFSTypes (SAFEARRAY * * aSupportedVFSTypes) { return smth get_SupportedVFSTypes (aSupportedVFSTypes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedImportOptions (SAFEARRAY * * aSupportedImportOptions) { return smth get_SupportedImportOptions (aSupportedImportOptions); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedExportOptions (SAFEARRAY * * aSupportedExportOptions) { return smth get_SupportedExportOptions (aSupportedExportOptions); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedGraphicsFeatures (SAFEARRAY * * aSupportedGraphicsFeatures) { return smth get_SupportedGraphicsFeatures (aSupportedGraphicsFeatures); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingFeatures (SAFEARRAY * * aSupportedRecordingFeatures) { return smth get_SupportedRecordingFeatures (aSupportedRecordingFeatures); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingAudioCodecs (SAFEARRAY * * aSupportedRecordingAudioCodecs) { return smth get_SupportedRecordingAudioCodecs (aSupportedRecordingAudioCodecs); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingVideoCodecs (SAFEARRAY * * aSupportedRecordingVideoCodecs) { return smth get_SupportedRecordingVideoCodecs (aSupportedRecordingVideoCodecs); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingVSModes (SAFEARRAY * * aSupportedRecordingVSModes) { return smth get_SupportedRecordingVSModes (aSupportedRecordingVSModes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingARCModes (SAFEARRAY * * aSupportedRecordingARCModes) { return smth get_SupportedRecordingARCModes (aSupportedRecordingARCModes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingVRCModes (SAFEARRAY * * aSupportedRecordingVRCModes) { return smth get_SupportedRecordingVRCModes (aSupportedRecordingVRCModes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedCloneOptions (SAFEARRAY * * aSupportedCloneOptions) { return smth get_SupportedCloneOptions (aSupportedCloneOptions); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedAutostopTypes (SAFEARRAY * * aSupportedAutostopTypes) { return smth get_SupportedAutostopTypes (aSupportedAutostopTypes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedVMProcPriorities (SAFEARRAY * * aSupportedVMProcPriorities) { return smth get_SupportedVMProcPriorities (aSupportedVMProcPriorities); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedNetworkAttachmentTypes (SAFEARRAY * * aSupportedNetworkAttachmentTypes) { return smth get_SupportedNetworkAttachmentTypes (aSupportedNetworkAttachmentTypes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedPortModes (SAFEARRAY * * aSupportedPortModes) { return smth get_SupportedPortModes (aSupportedPortModes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedAudioDriverTypes (SAFEARRAY * * aSupportedAudioDriverTypes) { return smth get_SupportedAudioDriverTypes (aSupportedAudioDriverTypes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO(smth) HRESULT STDMETHODCALLTYPE get_LanguageId (BSTR * aLanguageId) { return smth get_LanguageId (aLanguageId); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO(smth) HRESULT STDMETHODCALLTYPE put_LanguageId (BSTR aLanguageId) { return smth put_LanguageId (aLanguageId); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO(smth) HRESULT STDMETHODCALLTYPE GetDefaultIoCacheSettingForStorageController (StorageControllerType aControllerType, BOOL * aEnabled) { return smth GetDefaultIoCacheSettingForStorageController (aControllerType, aEnabled); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO_BASE(base) COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetCPUProfiles_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUProfiles (CPUArchitecture aArchitecture, BSTR aNamePattern, SAFEARRAY * * aProfiles) { return smth GetCPUProfiles (aArchitecture, aNamePattern, aProfiles); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetCPUProfiles_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetCPUProfiles_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetCPUProfiles_TO_BASE(base) COM_FORWARD_ISystemProperties_GetCPUProfiles_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO(smth) HRESULT STDMETHODCALLTYPE GetExecutionEnginesForVmCpuArchitecture (CPUArchitecture aCpuArchitecture, SAFEARRAY * * aExecutionEngine) { return smth GetExecutionEnginesForVmCpuArchitecture (aCpuArchitecture, aExecutionEngine); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO_BASE(base) COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ISystemProperties_TO_OBJ(obj) COM_FORWARD_ISystemProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_TO_BASE(base) COM_FORWARD_ISystemProperties_TO (base::)")

[
    uuid(c6e30023-751e-487d-9bd1-595c22b104ba),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestOSType : IDispatch
{
    [propget] HRESULT FamilyId ([out, retval] BSTR * aFamilyId);

    [propget] HRESULT FamilyDescription ([out, retval] BSTR * aFamilyDescription);

    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Subtype ([out, retval] BSTR * aSubtype);

    [propget] HRESULT Description ([out, retval] BSTR * aDescription);

    [propget] HRESULT Is64Bit ([out, retval] BOOL * aIs64Bit);

    [propget] HRESULT PlatformArchitecture ([out, retval] PlatformArchitecture * aPlatformArchitecture);

    [propget] HRESULT RecommendedIOAPIC ([out, retval] BOOL * aRecommendedIOAPIC);

    [propget] HRESULT RecommendedVirtEx ([out, retval] BOOL * aRecommendedVirtEx);

    [propget] HRESULT RecommendedRAM ([out, retval] ULONG * aRecommendedRAM);

    [propget] HRESULT RecommendedGraphicsController ([out, retval] GraphicsControllerType * aRecommendedGraphicsController);

    [propget] HRESULT RecommendedVRAM ([out, retval] ULONG * aRecommendedVRAM);

    [propget] HRESULT Recommended3DAcceleration ([out, retval] BOOL * aRecommended3DAcceleration);

    [propget] HRESULT RecommendedHDD ([out, retval] LONG64 * aRecommendedHDD);

    [propget] HRESULT AdapterType ([out, retval] NetworkAdapterType * aAdapterType);

    [propget] HRESULT RecommendedPAE ([out, retval] BOOL * aRecommendedPAE);

    [propget] HRESULT RecommendedDVDStorageController ([out, retval] StorageControllerType * aRecommendedDVDStorageController);

    [propget] HRESULT RecommendedDVDStorageBus ([out, retval] StorageBus * aRecommendedDVDStorageBus);

    [propget] HRESULT RecommendedHDStorageController ([out, retval] StorageControllerType * aRecommendedHDStorageController);

    [propget] HRESULT RecommendedHDStorageBus ([out, retval] StorageBus * aRecommendedHDStorageBus);

    [propget] HRESULT RecommendedFirmware ([out, retval] FirmwareType * aRecommendedFirmware);

    [propget] HRESULT RecommendedUSBHID ([out, retval] BOOL * aRecommendedUSBHID);

    [propget] HRESULT RecommendedHPET ([out, retval] BOOL * aRecommendedHPET);

    [propget] HRESULT RecommendedUSBTablet ([out, retval] BOOL * aRecommendedUSBTablet);

    [propget] HRESULT RecommendedRTCUseUTC ([out, retval] BOOL * aRecommendedRTCUseUTC);

    [propget] HRESULT RecommendedChipset ([out, retval] ChipsetType * aRecommendedChipset);

    [propget] HRESULT RecommendedIommuType ([out, retval] IommuType * aRecommendedIommuType);

    [propget] HRESULT RecommendedAudioController ([out, retval] AudioControllerType * aRecommendedAudioController);

    [propget] HRESULT RecommendedAudioCodec ([out, retval] AudioCodecType * aRecommendedAudioCodec);

    [propget] HRESULT RecommendedFloppy ([out, retval] BOOL * aRecommendedFloppy);

    [propget] HRESULT RecommendedUSB ([out, retval] BOOL * aRecommendedUSB);

    [propget] HRESULT RecommendedUSB3 ([out, retval] BOOL * aRecommendedUSB3);

    [propget] HRESULT RecommendedTFReset ([out, retval] BOOL * aRecommendedTFReset);

    [propget] HRESULT RecommendedX2APIC ([out, retval] BOOL * aRecommendedX2APIC);

    [propget] HRESULT RecommendedCPUCount ([out, retval] ULONG * aRecommendedCPUCount);

    [propget] HRESULT RecommendedTpmType ([out, retval] TpmType * aRecommendedTpmType);

    [propget] HRESULT RecommendedSecureBoot ([out, retval] BOOL * aRecommendedSecureBoot);

    [propget] HRESULT RecommendedWDDMGraphics ([out, retval] BOOL * aRecommendedWDDMGraphics);

    [propget] HRESULT GuestAdditionsInstallPackageName ([out, retval] BSTR * aGuestAdditionsInstallPackageName);

    [propget] HRESULT InternalAndReservedAttribute1IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IGuestOSType ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IGuestOSType ([out, retval] ULONG *aReserved);

}; /* interface IGuestOSType */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO(smth) HRESULT STDMETHODCALLTYPE get_FamilyId (BSTR * aFamilyId) { return smth get_FamilyId (aFamilyId); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO(smth) HRESULT STDMETHODCALLTYPE get_FamilyDescription (BSTR * aFamilyDescription) { return smth get_FamilyDescription (aFamilyDescription); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Id_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Subtype_TO(smth) HRESULT STDMETHODCALLTYPE get_Subtype (BSTR * aSubtype) { return smth get_Subtype (aSubtype); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Subtype_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Subtype_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Subtype_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Subtype_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Description_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO(smth) HRESULT STDMETHODCALLTYPE get_Is64Bit (BOOL * aIs64Bit) { return smth get_Is64Bit (aIs64Bit); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO(smth) HRESULT STDMETHODCALLTYPE get_PlatformArchitecture (PlatformArchitecture * aPlatformArchitecture) { return smth get_PlatformArchitecture (aPlatformArchitecture); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedIOAPIC (BOOL * aRecommendedIOAPIC) { return smth get_RecommendedIOAPIC (aRecommendedIOAPIC); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedVirtEx (BOOL * aRecommendedVirtEx) { return smth get_RecommendedVirtEx (aRecommendedVirtEx); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedRAM (ULONG * aRecommendedRAM) { return smth get_RecommendedRAM (aRecommendedRAM); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedGraphicsController (GraphicsControllerType * aRecommendedGraphicsController) { return smth get_RecommendedGraphicsController (aRecommendedGraphicsController); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedVRAM (ULONG * aRecommendedVRAM) { return smth get_RecommendedVRAM (aRecommendedVRAM); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO(smth) HRESULT STDMETHODCALLTYPE get_Recommended3DAcceleration (BOOL * aRecommended3DAcceleration) { return smth get_Recommended3DAcceleration (aRecommended3DAcceleration); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedHDD (LONG64 * aRecommendedHDD) { return smth get_RecommendedHDD (aRecommendedHDD); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO(smth) HRESULT STDMETHODCALLTYPE get_AdapterType (NetworkAdapterType * aAdapterType) { return smth get_AdapterType (aAdapterType); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedPAE (BOOL * aRecommendedPAE) { return smth get_RecommendedPAE (aRecommendedPAE); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedDVDStorageController (StorageControllerType * aRecommendedDVDStorageController) { return smth get_RecommendedDVDStorageController (aRecommendedDVDStorageController); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedDVDStorageBus (StorageBus * aRecommendedDVDStorageBus) { return smth get_RecommendedDVDStorageBus (aRecommendedDVDStorageBus); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedHDStorageController (StorageControllerType * aRecommendedHDStorageController) { return smth get_RecommendedHDStorageController (aRecommendedHDStorageController); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedHDStorageBus (StorageBus * aRecommendedHDStorageBus) { return smth get_RecommendedHDStorageBus (aRecommendedHDStorageBus); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedFirmware (FirmwareType * aRecommendedFirmware) { return smth get_RecommendedFirmware (aRecommendedFirmware); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedUSBHID (BOOL * aRecommendedUSBHID) { return smth get_RecommendedUSBHID (aRecommendedUSBHID); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedHPET (BOOL * aRecommendedHPET) { return smth get_RecommendedHPET (aRecommendedHPET); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedUSBTablet (BOOL * aRecommendedUSBTablet) { return smth get_RecommendedUSBTablet (aRecommendedUSBTablet); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedRTCUseUTC (BOOL * aRecommendedRTCUseUTC) { return smth get_RecommendedRTCUseUTC (aRecommendedRTCUseUTC); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedChipset (ChipsetType * aRecommendedChipset) { return smth get_RecommendedChipset (aRecommendedChipset); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedIommuType (IommuType * aRecommendedIommuType) { return smth get_RecommendedIommuType (aRecommendedIommuType); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedAudioController (AudioControllerType * aRecommendedAudioController) { return smth get_RecommendedAudioController (aRecommendedAudioController); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedAudioCodec (AudioCodecType * aRecommendedAudioCodec) { return smth get_RecommendedAudioCodec (aRecommendedAudioCodec); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedFloppy (BOOL * aRecommendedFloppy) { return smth get_RecommendedFloppy (aRecommendedFloppy); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedUSB (BOOL * aRecommendedUSB) { return smth get_RecommendedUSB (aRecommendedUSB); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedUSB3 (BOOL * aRecommendedUSB3) { return smth get_RecommendedUSB3 (aRecommendedUSB3); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedTFReset (BOOL * aRecommendedTFReset) { return smth get_RecommendedTFReset (aRecommendedTFReset); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedX2APIC (BOOL * aRecommendedX2APIC) { return smth get_RecommendedX2APIC (aRecommendedX2APIC); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedCPUCount (ULONG * aRecommendedCPUCount) { return smth get_RecommendedCPUCount (aRecommendedCPUCount); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedTpmType (TpmType * aRecommendedTpmType) { return smth get_RecommendedTpmType (aRecommendedTpmType); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedSecureBoot (BOOL * aRecommendedSecureBoot) { return smth get_RecommendedSecureBoot (aRecommendedSecureBoot); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedWDDMGraphics (BOOL * aRecommendedWDDMGraphics) { return smth get_RecommendedWDDMGraphics (aRecommendedWDDMGraphics); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestAdditionsInstallPackageName (BSTR * aGuestAdditionsInstallPackageName) { return smth get_GuestAdditionsInstallPackageName (aGuestAdditionsInstallPackageName); }")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO (base::)")
cpp_quote("#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_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) ")
cpp_quote("#define COM_FORWARD_IGuestOSType_TO_OBJ(obj) COM_FORWARD_IGuestOSType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestOSType_TO_BASE(base) COM_FORWARD_IGuestOSType_TO (base::)")

[
    uuid(f2f7fae4-4a06-81fc-a916-78b2da1fa0e5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IAdditionsFacility : IDispatch
{
    [propget] HRESULT ClassType ([out, retval] AdditionsFacilityClass * aClassType);

    [propget] HRESULT LastUpdated ([out, retval] LONG64 * aLastUpdated);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Status ([out, retval] AdditionsFacilityStatus * aStatus);

    [propget] HRESULT Type ([out, retval] AdditionsFacilityType * aType);

    [propget] HRESULT InternalAndReservedAttribute1IAdditionsFacility ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IAdditionsFacility ([out, retval] ULONG *aReserved);

}; /* interface IAdditionsFacility */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO(smth) HRESULT STDMETHODCALLTYPE get_ClassType (AdditionsFacilityClass * aClassType) { return smth get_ClassType (aClassType); }")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO_BASE(base) COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO (base::)")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO(smth) HRESULT STDMETHODCALLTYPE get_LastUpdated (LONG64 * aLastUpdated) { return smth get_LastUpdated (aLastUpdated); }")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO_BASE(base) COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO (base::)")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_Name_TO_BASE(base) COM_FORWARD_IAdditionsFacility_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (AdditionsFacilityStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_Status_TO_BASE(base) COM_FORWARD_IAdditionsFacility_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (AdditionsFacilityType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_GETTER_Type_TO_BASE(base) COM_FORWARD_IAdditionsFacility_GETTER_Type_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAdditionsFacility_TO_BASE(base) COM_FORWARD_IAdditionsFacility_TO (base::)")

[
    uuid(00727A73-000A-4C4A-006D-E7D300351186),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDnDBase : IDispatch
{
    [propget] HRESULT Formats ([out, retval] SAFEARRAY(BSTR) * aFormats);

    [propget] HRESULT InternalAndReservedAttribute1IDnDBase ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDnDBase ([out, retval] ULONG *aReserved);

    HRESULT IsFormatSupported (
        [in] BSTR aFormat,
        [out, retval] BOOL * aSupported
    );

    HRESULT AddFormats (
        [in] SAFEARRAY(BSTR) aFormats
    );

    HRESULT RemoveFormats (
        [in] SAFEARRAY(BSTR) aFormats
    );

    HRESULT InternalAndReservedMethod1IDnDBase();

}; /* interface IDnDBase */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDnDBase_GETTER_Formats_TO(smth) HRESULT STDMETHODCALLTYPE get_Formats (SAFEARRAY * * aFormats) { return smth get_Formats (aFormats); }")
cpp_quote("#define COM_FORWARD_IDnDBase_GETTER_Formats_TO_OBJ(obj) COM_FORWARD_IDnDBase_GETTER_Formats_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDBase_GETTER_Formats_TO_BASE(base) COM_FORWARD_IDnDBase_GETTER_Formats_TO (base::)")
cpp_quote("#define COM_FORWARD_IDnDBase_IsFormatSupported_TO(smth) HRESULT STDMETHODCALLTYPE IsFormatSupported (BSTR aFormat, BOOL * aSupported) { return smth IsFormatSupported (aFormat, aSupported); }")
cpp_quote("#define COM_FORWARD_IDnDBase_IsFormatSupported_TO_OBJ(obj) COM_FORWARD_IDnDBase_IsFormatSupported_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDBase_IsFormatSupported_TO_BASE(base) COM_FORWARD_IDnDBase_IsFormatSupported_TO (base::)")
cpp_quote("#define COM_FORWARD_IDnDBase_AddFormats_TO(smth) HRESULT STDMETHODCALLTYPE AddFormats (SAFEARRAY * * aFormats) { return smth AddFormats (aFormats); }")
cpp_quote("#define COM_FORWARD_IDnDBase_AddFormats_TO_OBJ(obj) COM_FORWARD_IDnDBase_AddFormats_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDBase_AddFormats_TO_BASE(base) COM_FORWARD_IDnDBase_AddFormats_TO (base::)")
cpp_quote("#define COM_FORWARD_IDnDBase_RemoveFormats_TO(smth) HRESULT STDMETHODCALLTYPE RemoveFormats (SAFEARRAY * * aFormats) { return smth RemoveFormats (aFormats); }")
cpp_quote("#define COM_FORWARD_IDnDBase_RemoveFormats_TO_OBJ(obj) COM_FORWARD_IDnDBase_RemoveFormats_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDBase_RemoveFormats_TO_BASE(base) COM_FORWARD_IDnDBase_RemoveFormats_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IDnDBase_TO_OBJ(obj) COM_FORWARD_IDnDBase_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDBase_TO_BASE(base) COM_FORWARD_IDnDBase_TO (base::)")

[
    uuid(d23a9ca3-42da-c94b-8aec-21968e08355d),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDnDSource : IDnDBase
{
    [propget] HRESULT InternalAndReservedAttribute1IDnDSource ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDnDSource ([out, retval] ULONG *aReserved);

    HRESULT DragIsPending (
        [in] ULONG aScreenId,
        [out] SAFEARRAY(BSTR) * aFormats,
        [out] SAFEARRAY(DnDAction) * aAllowedActions,
        [out, retval] DnDAction * aDefaultAction
    );

    HRESULT Drop (
        [in] BSTR aFormat,
        [in] DnDAction aAction,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ReceiveData (
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT InternalAndReservedMethod1IDnDSource();

}; /* interface IDnDSource */

/* Interface implementation forwarder macro */
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDnDSource_DragIsPending_TO_OBJ(obj) COM_FORWARD_IDnDSource_DragIsPending_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDSource_DragIsPending_TO_BASE(base) COM_FORWARD_IDnDSource_DragIsPending_TO (base::)")
cpp_quote("#define COM_FORWARD_IDnDSource_Drop_TO(smth) HRESULT STDMETHODCALLTYPE Drop (BSTR aFormat, DnDAction aAction, IProgress * * aProgress) { return smth Drop (aFormat, aAction, aProgress); }")
cpp_quote("#define COM_FORWARD_IDnDSource_Drop_TO_OBJ(obj) COM_FORWARD_IDnDSource_Drop_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDSource_Drop_TO_BASE(base) COM_FORWARD_IDnDSource_Drop_TO (base::)")
cpp_quote("#define COM_FORWARD_IDnDSource_ReceiveData_TO(smth) HRESULT STDMETHODCALLTYPE ReceiveData (SAFEARRAY * * aData) { return smth ReceiveData (aData); }")
cpp_quote("#define COM_FORWARD_IDnDSource_ReceiveData_TO_OBJ(obj) COM_FORWARD_IDnDSource_ReceiveData_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDSource_ReceiveData_TO_BASE(base) COM_FORWARD_IDnDSource_ReceiveData_TO (base::)")
cpp_quote("#define COM_FORWARD_IDnDSource_TO(smth) COM_FORWARD_IDnDSource_DragIsPending_TO (smth) COM_FORWARD_IDnDSource_Drop_TO (smth) COM_FORWARD_IDnDSource_ReceiveData_TO (smth) ")
cpp_quote("#define COM_FORWARD_IDnDSource_TO_OBJ(obj) COM_FORWARD_IDnDSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDSource_TO_BASE(base) COM_FORWARD_IDnDSource_TO (base::)")

[
    uuid(dedfb5d9-4c1b-edf7-fdf3-c1be6827dc28),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestDnDSource : IDnDSource
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IGuestDnDSource */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDnDSource_TO(smth) COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestDnDSource_TO_OBJ(obj) COM_FORWARD_IGuestDnDSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDnDSource_TO_BASE(base) COM_FORWARD_IGuestDnDSource_TO (base::)")

[
    uuid(ff5befc3-4ba3-7903-2aa4-43988ba11554),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDnDTarget : IDnDBase
{
    [propget] HRESULT InternalAndReservedAttribute1IDnDTarget ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDnDTarget ([out, retval] ULONG *aReserved);

    HRESULT Enter (
        [in] ULONG aScreenId,
        [in] ULONG aY,
        [in] ULONG aX,
        [in] DnDAction aDefaultAction,
        [in] SAFEARRAY(DnDAction) aAllowedActions,
        [in] SAFEARRAY(BSTR) aFormats,
        [out, retval] DnDAction * aResultAction
    );

    HRESULT Move (
        [in] ULONG aScreenId,
        [in] ULONG aX,
        [in] ULONG aY,
        [in] DnDAction aDefaultAction,
        [in] SAFEARRAY(DnDAction) aAllowedActions,
        [in] SAFEARRAY(BSTR) aFormats,
        [out, retval] DnDAction * aResultAction
    );

    HRESULT Leave (
        [in] ULONG aScreenId
    );

    HRESULT Drop (
        [in] ULONG aScreenId,
        [in] ULONG aX,
        [in] ULONG aY,
        [in] DnDAction aDefaultAction,
        [in] SAFEARRAY(DnDAction) aAllowedActions,
        [in] SAFEARRAY(BSTR) aFormats,
        [out] BSTR * aFormat,
        [out, retval] DnDAction * aResultAction
    );

    HRESULT SendData (
        [in] ULONG aScreenId,
        [in] BSTR aFormat,
        [in] SAFEARRAY(BYTE) aData,
        [out, retval] IProgress * * aProgress
    );

    HRESULT Cancel (
        [out, retval] BOOL * aVeto
    );

    HRESULT InternalAndReservedMethod1IDnDTarget();

}; /* interface IDnDTarget */

/* Interface implementation forwarder macro */
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDnDTarget_Enter_TO_OBJ(obj) COM_FORWARD_IDnDTarget_Enter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDTarget_Enter_TO_BASE(base) COM_FORWARD_IDnDTarget_Enter_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDnDTarget_Move_TO_OBJ(obj) COM_FORWARD_IDnDTarget_Move_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDTarget_Move_TO_BASE(base) COM_FORWARD_IDnDTarget_Move_TO (base::)")
cpp_quote("#define COM_FORWARD_IDnDTarget_Leave_TO(smth) HRESULT STDMETHODCALLTYPE Leave (ULONG aScreenId) { return smth Leave (aScreenId); }")
cpp_quote("#define COM_FORWARD_IDnDTarget_Leave_TO_OBJ(obj) COM_FORWARD_IDnDTarget_Leave_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDTarget_Leave_TO_BASE(base) COM_FORWARD_IDnDTarget_Leave_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDnDTarget_Drop_TO_OBJ(obj) COM_FORWARD_IDnDTarget_Drop_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDTarget_Drop_TO_BASE(base) COM_FORWARD_IDnDTarget_Drop_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDnDTarget_SendData_TO_OBJ(obj) COM_FORWARD_IDnDTarget_SendData_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDTarget_SendData_TO_BASE(base) COM_FORWARD_IDnDTarget_SendData_TO (base::)")
cpp_quote("#define COM_FORWARD_IDnDTarget_Cancel_TO(smth) HRESULT STDMETHODCALLTYPE Cancel (BOOL * aVeto) { return smth Cancel (aVeto); }")
cpp_quote("#define COM_FORWARD_IDnDTarget_Cancel_TO_OBJ(obj) COM_FORWARD_IDnDTarget_Cancel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDTarget_Cancel_TO_BASE(base) COM_FORWARD_IDnDTarget_Cancel_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IDnDTarget_TO_OBJ(obj) COM_FORWARD_IDnDTarget_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDTarget_TO_BASE(base) COM_FORWARD_IDnDTarget_TO (base::)")

[
    uuid(50ce4b51-0ff7-46b7-a138-3c6e5ac946b4),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestDnDTarget : IDnDTarget
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IGuestDnDTarget */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDnDTarget_TO(smth) COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestDnDTarget_TO_OBJ(obj) COM_FORWARD_IGuestDnDTarget_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDnDTarget_TO_BASE(base) COM_FORWARD_IGuestDnDTarget_TO (base::)")

[
    uuid(8b2b6773-8b5a-4cd2-95f8-38faf73913e1),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestSession : IDispatch
{
    [propget] HRESULT User ([out, retval] BSTR * aUser);

    [propget] HRESULT Domain ([out, retval] BSTR * aDomain);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Id ([out, retval] ULONG * aId);

    [propget] HRESULT Timeout ([out, retval] ULONG * aTimeout);
    [propput] HRESULT Timeout ([in] ULONG aTimeout);

    [propget] HRESULT ProtocolVersion ([out, retval] ULONG * aProtocolVersion);

    [propget] HRESULT Status ([out, retval] GuestSessionStatus * aStatus);

    [propget] HRESULT EnvironmentChanges ([out, retval] SAFEARRAY(BSTR) * aEnvironmentChanges);
    [propput] HRESULT EnvironmentChanges ([in] SAFEARRAY(BSTR) aEnvironmentChanges);

    [propget] HRESULT EnvironmentBase ([out, retval] SAFEARRAY(BSTR) * aEnvironmentBase);

    [propget] HRESULT Processes ([out, retval] SAFEARRAY(IGuestProcess *) * aProcesses);

    [propget] HRESULT PathStyle ([out, retval] PathStyle * aPathStyle);

    [propget] HRESULT CurrentDirectory ([out, retval] BSTR * aCurrentDirectory);
    [propput] HRESULT CurrentDirectory ([in] BSTR aCurrentDirectory);

    [propget] HRESULT UserHome ([out, retval] BSTR * aUserHome);

    [propget] HRESULT UserDocuments ([out, retval] BSTR * aUserDocuments);

    [propget] HRESULT MountPoints ([out, retval] SAFEARRAY(BSTR) * aMountPoints);

    [propget] HRESULT Directories ([out, retval] SAFEARRAY(IGuestDirectory *) * aDirectories);

    [propget] HRESULT Files ([out, retval] SAFEARRAY(IGuestFile *) * aFiles);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT InternalAndReservedAttribute1IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IGuestSession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IGuestSession ([out, retval] ULONG *aReserved);

    HRESULT Close();

    HRESULT CopyFromGuest (
        [in] SAFEARRAY(BSTR) aSources,
        [in] SAFEARRAY(BSTR) aFilters,
        [in] SAFEARRAY(BSTR) aFlags,
        [in] BSTR aDestination,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CopyToGuest (
        [in] SAFEARRAY(BSTR) aSources,
        [in] SAFEARRAY(BSTR) aFilters,
        [in] SAFEARRAY(BSTR) aFlags,
        [in] BSTR aDestination,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DirectoryCopy (
        [in] BSTR aSource,
        [in] BSTR aDestination,
        [in] SAFEARRAY(DirectoryCopyFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DirectoryCopyFromGuest (
        [in] BSTR aSource,
        [in] BSTR aDestination,
        [in] SAFEARRAY(DirectoryCopyFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DirectoryCopyToGuest (
        [in] BSTR aSource,
        [in] BSTR aDestination,
        [in] SAFEARRAY(DirectoryCopyFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DirectoryCreate (
        [in] BSTR aPath,
        [in] ULONG aMode,
        [in] SAFEARRAY(DirectoryCreateFlag) aFlags
    );

    HRESULT DirectoryCreateTemp (
        [in] BSTR aTemplateName,
        [in] ULONG aMode,
        [in] BSTR aPath,
        [in] BOOL aSecure,
        [out, retval] BSTR * aDirectory
    );

    HRESULT DirectoryExists (
        [in] BSTR aPath,
        [in] BOOL aFollowSymlinks,
        [out, retval] BOOL * aExists
    );

    HRESULT DirectoryOpen (
        [in] BSTR aPath,
        [in] BSTR aFilter,
        [in] SAFEARRAY(DirectoryOpenFlag) aFlags,
        [out, retval] IGuestDirectory * * aDirectory
    );

    HRESULT DirectoryRemove (
        [in] BSTR aPath
    );

    HRESULT DirectoryRemoveRecursive (
        [in] BSTR aPath,
        [in] SAFEARRAY(DirectoryRemoveRecFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT EnvironmentScheduleSet (
        [in] BSTR aName,
        [in] BSTR aValue
    );

    HRESULT EnvironmentScheduleUnset (
        [in] BSTR aName
    );

    HRESULT EnvironmentGetBaseVariable (
        [in] BSTR aName,
        [out, retval] BSTR * aValue
    );

    HRESULT EnvironmentDoesBaseVariableExist (
        [in] BSTR aName,
        [out, retval] BOOL * aExists
    );

    HRESULT FileCopy (
        [in] BSTR aSource,
        [in] BSTR aDestination,
        [in] SAFEARRAY(FileCopyFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT FileCopyFromGuest (
        [in] BSTR aSource,
        [in] BSTR aDestination,
        [in] SAFEARRAY(FileCopyFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT FileCopyToGuest (
        [in] BSTR aSource,
        [in] BSTR aDestination,
        [in] SAFEARRAY(FileCopyFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT FileCreateTemp (
        [in] BSTR aTemplateName,
        [in] ULONG aMode,
        [in] BSTR aPath,
        [in] BOOL aSecure,
        [out, retval] IGuestFile * * aFile
    );

    HRESULT FileExists (
        [in] BSTR aPath,
        [in] BOOL aFollowSymlinks,
        [out, retval] BOOL * aExists
    );

    HRESULT FileOpen (
        [in] BSTR aPath,
        [in] FileAccessMode aAccessMode,
        [in] FileOpenAction aOpenAction,
        [in] ULONG aCreationMode,
        [out, retval] IGuestFile * * aFile
    );

    HRESULT FileOpenEx (
        [in] BSTR aPath,
        [in] FileAccessMode aAccessMode,
        [in] FileOpenAction aOpenAction,
        [in] FileSharingMode aSharingMode,
        [in] ULONG aCreationMode,
        [in] SAFEARRAY(FileOpenExFlag) aFlags,
        [out, retval] IGuestFile * * aFile
    );

    HRESULT FileQuerySize (
        [in] BSTR aPath,
        [in] BOOL aFollowSymlinks,
        [out, retval] LONG64 * aSize
    );

    HRESULT FsObjExists (
        [in] BSTR aPath,
        [in] BOOL aFollowSymlinks,
        [out, retval] BOOL * aExists
    );

    HRESULT FsObjQueryInfo (
        [in] BSTR aPath,
        [in] BOOL aFollowSymlinks,
        [out, retval] IGuestFsObjInfo * * aInfo
    );

    HRESULT FsObjRemove (
        [in] BSTR aPath
    );

    HRESULT FsObjRemoveArray (
        [in] SAFEARRAY(BSTR) aPath,
        [out, retval] IProgress * * aProgress
    );

    HRESULT FsObjRename (
        [in] BSTR aOldPath,
        [in] BSTR aNewPath,
        [in] SAFEARRAY(FsObjRenameFlag) aFlags
    );

    HRESULT FsObjMove (
        [in] BSTR aSource,
        [in] BSTR aDestination,
        [in] SAFEARRAY(FsObjMoveFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT FsObjMoveArray (
        [in] SAFEARRAY(BSTR) aSource,
        [in] BSTR aDestination,
        [in] SAFEARRAY(FsObjMoveFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT FsObjCopyArray (
        [in] SAFEARRAY(BSTR) aSource,
        [in] BSTR aDestination,
        [in] SAFEARRAY(FileCopyFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT FsObjSetACL (
        [in] BSTR aPath,
        [in] BOOL aFollowSymlinks,
        [in] BSTR aAcl,
        [in] ULONG aMode
    );

    HRESULT FsQueryFreeSpace (
        [in] BSTR aPath,
        [out, retval] LONG64 * aFreeSpace
    );

    HRESULT FsQueryInfo (
        [in] BSTR aPath,
        [out, retval] IGuestFsInfo * * aInfo
    );

    HRESULT ProcessCreate (
        [in] BSTR aExecutable,
        [in] SAFEARRAY(BSTR) aArguments,
        [in] BSTR aCwd,
        [in] SAFEARRAY(BSTR) aEnvironmentChanges,
        [in] SAFEARRAY(ProcessCreateFlag) aFlags,
        [in] ULONG aTimeoutMS,
        [out, retval] IGuestProcess * * aGuestProcess
    );

    HRESULT ProcessCreateEx (
        [in] BSTR aExecutable,
        [in] SAFEARRAY(BSTR) aArguments,
        [in] BSTR aCwd,
        [in] SAFEARRAY(BSTR) aEnvironmentChanges,
        [in] SAFEARRAY(ProcessCreateFlag) aFlags,
        [in] ULONG aTimeoutMS,
        [in] ProcessPriority aPriority,
        [in] SAFEARRAY(LONG) aAffinity,
        [out, retval] IGuestProcess * * aGuestProcess
    );

    HRESULT ProcessGet (
        [in] ULONG aPid,
        [out, retval] IGuestProcess * * aGuestProcess
    );

    HRESULT SymlinkCreate (
        [in] BSTR aSymlink,
        [in] BSTR aTarget,
        [in] SymlinkType aType
    );

    HRESULT SymlinkExists (
        [in] BSTR aSymlink,
        [out, retval] BOOL * aExists
    );

    HRESULT SymlinkRead (
        [in] BSTR aSymlink,
        [in] SAFEARRAY(SymlinkReadFlag) aFlags,
        [out, retval] BSTR * aTarget
    );

    HRESULT WaitFor (
        [in] ULONG aWaitFor,
        [in] ULONG aTimeoutMS,
        [out, retval] GuestSessionWaitResult * aReason
    );

    HRESULT WaitForArray (
        [in] SAFEARRAY(GuestSessionWaitForFlag) aWaitFor,
        [in] ULONG aTimeoutMS,
        [out, retval] GuestSessionWaitResult * aReason
    );

    HRESULT InternalAndReservedMethod1IGuestSession();

    HRESULT InternalAndReservedMethod2IGuestSession();

    HRESULT InternalAndReservedMethod3IGuestSession();

    HRESULT InternalAndReservedMethod4IGuestSession();

    HRESULT InternalAndReservedMethod5IGuestSession();

    HRESULT InternalAndReservedMethod6IGuestSession();

    HRESULT InternalAndReservedMethod7IGuestSession();

    HRESULT InternalAndReservedMethod8IGuestSession();

}; /* interface IGuestSession */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_User_TO(smth) HRESULT STDMETHODCALLTYPE get_User (BSTR * aUser) { return smth get_User (aUser); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_User_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_User_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_User_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_User_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Domain_TO(smth) HRESULT STDMETHODCALLTYPE get_Domain (BSTR * aDomain) { return smth get_Domain (aDomain); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Domain_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Domain_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Domain_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Domain_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Name_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (ULONG * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Id_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Timeout_TO(smth) HRESULT STDMETHODCALLTYPE get_Timeout (ULONG * aTimeout) { return smth get_Timeout (aTimeout); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Timeout_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Timeout_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Timeout_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Timeout_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_SETTER_Timeout_TO(smth) HRESULT STDMETHODCALLTYPE put_Timeout (ULONG aTimeout) { return smth put_Timeout (aTimeout); }")
cpp_quote("#define COM_FORWARD_IGuestSession_SETTER_Timeout_TO_OBJ(obj) COM_FORWARD_IGuestSession_SETTER_Timeout_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_SETTER_Timeout_TO_BASE(base) COM_FORWARD_IGuestSession_SETTER_Timeout_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_ProtocolVersion (ULONG * aProtocolVersion) { return smth get_ProtocolVersion (aProtocolVersion); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (GuestSessionStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO(smth) HRESULT STDMETHODCALLTYPE get_EnvironmentChanges (SAFEARRAY * * aEnvironmentChanges) { return smth get_EnvironmentChanges (aEnvironmentChanges); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO(smth) HRESULT STDMETHODCALLTYPE put_EnvironmentChanges (SAFEARRAY * aEnvironmentChanges) { return smth put_EnvironmentChanges (aEnvironmentChanges); }")
cpp_quote("#define COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO_OBJ(obj) COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO_BASE(base) COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO(smth) HRESULT STDMETHODCALLTYPE get_EnvironmentBase (SAFEARRAY * * aEnvironmentBase) { return smth get_EnvironmentBase (aEnvironmentBase); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Processes_TO(smth) HRESULT STDMETHODCALLTYPE get_Processes (SAFEARRAY * * aProcesses) { return smth get_Processes (aProcesses); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Processes_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Processes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Processes_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Processes_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_PathStyle_TO(smth) HRESULT STDMETHODCALLTYPE get_PathStyle (PathStyle * aPathStyle) { return smth get_PathStyle (aPathStyle); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_PathStyle_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_PathStyle_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_PathStyle_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_PathStyle_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO(smth) HRESULT STDMETHODCALLTYPE get_CurrentDirectory (BSTR * aCurrentDirectory) { return smth get_CurrentDirectory (aCurrentDirectory); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO(smth) HRESULT STDMETHODCALLTYPE put_CurrentDirectory (BSTR aCurrentDirectory) { return smth put_CurrentDirectory (aCurrentDirectory); }")
cpp_quote("#define COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO_OBJ(obj) COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO_BASE(base) COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_UserHome_TO(smth) HRESULT STDMETHODCALLTYPE get_UserHome (BSTR * aUserHome) { return smth get_UserHome (aUserHome); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_UserHome_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_UserHome_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_UserHome_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_UserHome_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO(smth) HRESULT STDMETHODCALLTYPE get_UserDocuments (BSTR * aUserDocuments) { return smth get_UserDocuments (aUserDocuments); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_MountPoints_TO(smth) HRESULT STDMETHODCALLTYPE get_MountPoints (SAFEARRAY * * aMountPoints) { return smth get_MountPoints (aMountPoints); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_MountPoints_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_MountPoints_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_MountPoints_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_MountPoints_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Directories_TO(smth) HRESULT STDMETHODCALLTYPE get_Directories (SAFEARRAY * * aDirectories) { return smth get_Directories (aDirectories); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Directories_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Directories_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Directories_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Directories_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Files_TO(smth) HRESULT STDMETHODCALLTYPE get_Files (SAFEARRAY * * aFiles) { return smth get_Files (aFiles); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Files_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Files_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_Files_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Files_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_Close_TO(smth) HRESULT STDMETHODCALLTYPE Close() { return smth Close(); }")
cpp_quote("#define COM_FORWARD_IGuestSession_Close_TO_OBJ(obj) COM_FORWARD_IGuestSession_Close_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_Close_TO_BASE(base) COM_FORWARD_IGuestSession_Close_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_CopyFromGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_CopyFromGuest_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_CopyFromGuest_TO_BASE(base) COM_FORWARD_IGuestSession_CopyFromGuest_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_CopyToGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_CopyToGuest_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_CopyToGuest_TO_BASE(base) COM_FORWARD_IGuestSession_CopyToGuest_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCopy_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryCopy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCopy_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryCopy_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCopyFromGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryCopyFromGuest_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCopyFromGuest_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryCopyFromGuest_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCopyToGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryCopyToGuest_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCopyToGuest_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryCopyToGuest_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCreate_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryCreate (BSTR aPath, ULONG aMode, SAFEARRAY * * aFlags) { return smth DirectoryCreate (aPath, aMode, aFlags); }")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCreate_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryCreate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCreate_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryCreate_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCreateTemp_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryCreateTemp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryCreateTemp_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryCreateTemp_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryExists_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryExists (BSTR aPath, BOOL aFollowSymlinks, BOOL * aExists) { return smth DirectoryExists (aPath, aFollowSymlinks, aExists); }")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryExists_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryExists_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryExists_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryExists_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryOpen_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryOpen_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryOpen_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryOpen_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryRemove_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryRemove (BSTR aPath) { return smth DirectoryRemove (aPath); }")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryRemove_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryRemove_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryRemove_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryRemove_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryRemoveRecursive (BSTR aPath, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth DirectoryRemoveRecursive (aPath, aFlags, aProgress); }")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO(smth) HRESULT STDMETHODCALLTYPE EnvironmentScheduleSet (BSTR aName, BSTR aValue) { return smth EnvironmentScheduleSet (aName, aValue); }")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO_OBJ(obj) COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO_BASE(base) COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO(smth) HRESULT STDMETHODCALLTYPE EnvironmentScheduleUnset (BSTR aName) { return smth EnvironmentScheduleUnset (aName); }")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO_OBJ(obj) COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO_BASE(base) COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO(smth) HRESULT STDMETHODCALLTYPE EnvironmentGetBaseVariable (BSTR aName, BSTR * aValue) { return smth EnvironmentGetBaseVariable (aName, aValue); }")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO_OBJ(obj) COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO_BASE(base) COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO(smth) HRESULT STDMETHODCALLTYPE EnvironmentDoesBaseVariableExist (BSTR aName, BOOL * aExists) { return smth EnvironmentDoesBaseVariableExist (aName, aExists); }")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO_OBJ(obj) COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO_BASE(base) COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FileCopy_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileCopy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FileCopy_TO_BASE(base) COM_FORWARD_IGuestSession_FileCopy_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FileCopyFromGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileCopyFromGuest_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FileCopyFromGuest_TO_BASE(base) COM_FORWARD_IGuestSession_FileCopyFromGuest_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FileCopyToGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileCopyToGuest_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FileCopyToGuest_TO_BASE(base) COM_FORWARD_IGuestSession_FileCopyToGuest_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FileCreateTemp_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileCreateTemp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FileCreateTemp_TO_BASE(base) COM_FORWARD_IGuestSession_FileCreateTemp_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_FileExists_TO(smth) HRESULT STDMETHODCALLTYPE FileExists (BSTR aPath, BOOL aFollowSymlinks, BOOL * aExists) { return smth FileExists (aPath, aFollowSymlinks, aExists); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FileExists_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileExists_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FileExists_TO_BASE(base) COM_FORWARD_IGuestSession_FileExists_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FileOpen_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileOpen_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FileOpen_TO_BASE(base) COM_FORWARD_IGuestSession_FileOpen_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FileOpenEx_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileOpenEx_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FileOpenEx_TO_BASE(base) COM_FORWARD_IGuestSession_FileOpenEx_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_FileQuerySize_TO(smth) HRESULT STDMETHODCALLTYPE FileQuerySize (BSTR aPath, BOOL aFollowSymlinks, LONG64 * aSize) { return smth FileQuerySize (aPath, aFollowSymlinks, aSize); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FileQuerySize_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileQuerySize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FileQuerySize_TO_BASE(base) COM_FORWARD_IGuestSession_FileQuerySize_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjExists_TO(smth) HRESULT STDMETHODCALLTYPE FsObjExists (BSTR aPath, BOOL aFollowSymlinks, BOOL * aExists) { return smth FsObjExists (aPath, aFollowSymlinks, aExists); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjExists_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjExists_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjExists_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjExists_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjQueryInfo_TO(smth) HRESULT STDMETHODCALLTYPE FsObjQueryInfo (BSTR aPath, BOOL aFollowSymlinks, IGuestFsObjInfo * * aInfo) { return smth FsObjQueryInfo (aPath, aFollowSymlinks, aInfo); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjQueryInfo_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjQueryInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjQueryInfo_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjQueryInfo_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjRemove_TO(smth) HRESULT STDMETHODCALLTYPE FsObjRemove (BSTR aPath) { return smth FsObjRemove (aPath); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjRemove_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjRemove_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjRemove_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjRemove_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjRemoveArray_TO(smth) HRESULT STDMETHODCALLTYPE FsObjRemoveArray (SAFEARRAY * * aPath, IProgress * * aProgress) { return smth FsObjRemoveArray (aPath, aProgress); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjRemoveArray_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjRemoveArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjRemoveArray_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjRemoveArray_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjRename_TO(smth) HRESULT STDMETHODCALLTYPE FsObjRename (BSTR aOldPath, BSTR aNewPath, SAFEARRAY * * aFlags) { return smth FsObjRename (aOldPath, aNewPath, aFlags); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjRename_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjRename_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjRename_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjRename_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjMove_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjMove_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjMove_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjMove_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjMoveArray_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjMoveArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjMoveArray_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjMoveArray_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjCopyArray_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjCopyArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjCopyArray_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjCopyArray_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjSetACL_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjSetACL_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsObjSetACL_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjSetACL_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO(smth) HRESULT STDMETHODCALLTYPE FsQueryFreeSpace (BSTR aPath, LONG64 * aFreeSpace) { return smth FsQueryFreeSpace (aPath, aFreeSpace); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO_BASE(base) COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsQueryInfo_TO(smth) HRESULT STDMETHODCALLTYPE FsQueryInfo (BSTR aPath, IGuestFsInfo * * aInfo) { return smth FsQueryInfo (aPath, aInfo); }")
cpp_quote("#define COM_FORWARD_IGuestSession_FsQueryInfo_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsQueryInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_FsQueryInfo_TO_BASE(base) COM_FORWARD_IGuestSession_FsQueryInfo_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_ProcessCreate_TO_OBJ(obj) COM_FORWARD_IGuestSession_ProcessCreate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_ProcessCreate_TO_BASE(base) COM_FORWARD_IGuestSession_ProcessCreate_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuestSession_ProcessCreateEx_TO_OBJ(obj) COM_FORWARD_IGuestSession_ProcessCreateEx_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_ProcessCreateEx_TO_BASE(base) COM_FORWARD_IGuestSession_ProcessCreateEx_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_ProcessGet_TO(smth) HRESULT STDMETHODCALLTYPE ProcessGet (ULONG aPid, IGuestProcess * * aGuestProcess) { return smth ProcessGet (aPid, aGuestProcess); }")
cpp_quote("#define COM_FORWARD_IGuestSession_ProcessGet_TO_OBJ(obj) COM_FORWARD_IGuestSession_ProcessGet_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_ProcessGet_TO_BASE(base) COM_FORWARD_IGuestSession_ProcessGet_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_SymlinkCreate_TO(smth) HRESULT STDMETHODCALLTYPE SymlinkCreate (BSTR aSymlink, BSTR aTarget, SymlinkType aType) { return smth SymlinkCreate (aSymlink, aTarget, aType); }")
cpp_quote("#define COM_FORWARD_IGuestSession_SymlinkCreate_TO_OBJ(obj) COM_FORWARD_IGuestSession_SymlinkCreate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_SymlinkCreate_TO_BASE(base) COM_FORWARD_IGuestSession_SymlinkCreate_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_SymlinkExists_TO(smth) HRESULT STDMETHODCALLTYPE SymlinkExists (BSTR aSymlink, BOOL * aExists) { return smth SymlinkExists (aSymlink, aExists); }")
cpp_quote("#define COM_FORWARD_IGuestSession_SymlinkExists_TO_OBJ(obj) COM_FORWARD_IGuestSession_SymlinkExists_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_SymlinkExists_TO_BASE(base) COM_FORWARD_IGuestSession_SymlinkExists_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_SymlinkRead_TO(smth) HRESULT STDMETHODCALLTYPE SymlinkRead (BSTR aSymlink, SAFEARRAY * * aFlags, BSTR * aTarget) { return smth SymlinkRead (aSymlink, aFlags, aTarget); }")
cpp_quote("#define COM_FORWARD_IGuestSession_SymlinkRead_TO_OBJ(obj) COM_FORWARD_IGuestSession_SymlinkRead_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_SymlinkRead_TO_BASE(base) COM_FORWARD_IGuestSession_SymlinkRead_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_WaitFor_TO(smth) HRESULT STDMETHODCALLTYPE WaitFor (ULONG aWaitFor, ULONG aTimeoutMS, GuestSessionWaitResult * aReason) { return smth WaitFor (aWaitFor, aTimeoutMS, aReason); }")
cpp_quote("#define COM_FORWARD_IGuestSession_WaitFor_TO_OBJ(obj) COM_FORWARD_IGuestSession_WaitFor_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_WaitFor_TO_BASE(base) COM_FORWARD_IGuestSession_WaitFor_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSession_WaitForArray_TO(smth) HRESULT STDMETHODCALLTYPE WaitForArray (SAFEARRAY * * aWaitFor, ULONG aTimeoutMS, GuestSessionWaitResult * aReason) { return smth WaitForArray (aWaitFor, aTimeoutMS, aReason); }")
cpp_quote("#define COM_FORWARD_IGuestSession_WaitForArray_TO_OBJ(obj) COM_FORWARD_IGuestSession_WaitForArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_WaitForArray_TO_BASE(base) COM_FORWARD_IGuestSession_WaitForArray_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestSession_TO_OBJ(obj) COM_FORWARD_IGuestSession_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSession_TO_BASE(base) COM_FORWARD_IGuestSession_TO (base::)")

[
    uuid(bc68370c-8a02-45f3-a07d-a67aa72756aa),
    object,
    dual,
    oleautomation
    , proxy
]
interface IProcess : IDispatch
{
    [propget] HRESULT Arguments ([out, retval] SAFEARRAY(BSTR) * aArguments);

    [propget] HRESULT Environment ([out, retval] SAFEARRAY(BSTR) * aEnvironment);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT ExecutablePath ([out, retval] BSTR * aExecutablePath);

    [propget] HRESULT ExitCode ([out, retval] LONG * aExitCode);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT PID ([out, retval] ULONG * aPID);

    [propget] HRESULT Status ([out, retval] ProcessStatus * aStatus);

    [propget] HRESULT InternalAndReservedAttribute1IProcess ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IProcess ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IProcess ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IProcess ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IProcess ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IProcess ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IProcess ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IProcess ([out, retval] ULONG *aReserved);

    HRESULT WaitFor (
        [in] ULONG aWaitFor,
        [in] ULONG aTimeoutMS,
        [out, retval] ProcessWaitResult * aReason
    );

    HRESULT WaitForArray (
        [in] SAFEARRAY(ProcessWaitForFlag) aWaitFor,
        [in] ULONG aTimeoutMS,
        [out, retval] ProcessWaitResult * aReason
    );

    HRESULT Read (
        [in] ULONG aHandle,
        [in] ULONG aToRead,
        [in] ULONG aTimeoutMS,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT Write (
        [in] ULONG aHandle,
        [in] ULONG aFlags,
        [in] SAFEARRAY(BYTE) aData,
        [in] ULONG aTimeoutMS,
        [out, retval] ULONG * aWritten
    );

    HRESULT WriteArray (
        [in] ULONG aHandle,
        [in] SAFEARRAY(ProcessInputFlag) aFlags,
        [in] SAFEARRAY(BYTE) aData,
        [in] ULONG aTimeoutMS,
        [out, retval] ULONG * aWritten
    );

    HRESULT Terminate();

    HRESULT InternalAndReservedMethod1IProcess();

    HRESULT InternalAndReservedMethod2IProcess();

    HRESULT InternalAndReservedMethod3IProcess();

    HRESULT InternalAndReservedMethod4IProcess();

}; /* interface IProcess */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Arguments_TO(smth) HRESULT STDMETHODCALLTYPE get_Arguments (SAFEARRAY * * aArguments) { return smth get_Arguments (aArguments); }")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Arguments_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_Arguments_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Arguments_TO_BASE(base) COM_FORWARD_IProcess_GETTER_Arguments_TO (base::)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Environment_TO(smth) HRESULT STDMETHODCALLTYPE get_Environment (SAFEARRAY * * aEnvironment) { return smth get_Environment (aEnvironment); }")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Environment_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_Environment_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Environment_TO_BASE(base) COM_FORWARD_IProcess_GETTER_Environment_TO (base::)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IProcess_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_ExecutablePath_TO(smth) HRESULT STDMETHODCALLTYPE get_ExecutablePath (BSTR * aExecutablePath) { return smth get_ExecutablePath (aExecutablePath); }")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_ExecutablePath_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_ExecutablePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_ExecutablePath_TO_BASE(base) COM_FORWARD_IProcess_GETTER_ExecutablePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_ExitCode_TO(smth) HRESULT STDMETHODCALLTYPE get_ExitCode (LONG * aExitCode) { return smth get_ExitCode (aExitCode); }")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_ExitCode_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_ExitCode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_ExitCode_TO_BASE(base) COM_FORWARD_IProcess_GETTER_ExitCode_TO (base::)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Name_TO_BASE(base) COM_FORWARD_IProcess_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_PID_TO(smth) HRESULT STDMETHODCALLTYPE get_PID (ULONG * aPID) { return smth get_PID (aPID); }")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_PID_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_PID_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_PID_TO_BASE(base) COM_FORWARD_IProcess_GETTER_PID_TO (base::)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (ProcessStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_GETTER_Status_TO_BASE(base) COM_FORWARD_IProcess_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IProcess_WaitFor_TO(smth) HRESULT STDMETHODCALLTYPE WaitFor (ULONG aWaitFor, ULONG aTimeoutMS, ProcessWaitResult * aReason) { return smth WaitFor (aWaitFor, aTimeoutMS, aReason); }")
cpp_quote("#define COM_FORWARD_IProcess_WaitFor_TO_OBJ(obj) COM_FORWARD_IProcess_WaitFor_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_WaitFor_TO_BASE(base) COM_FORWARD_IProcess_WaitFor_TO (base::)")
cpp_quote("#define COM_FORWARD_IProcess_WaitForArray_TO(smth) HRESULT STDMETHODCALLTYPE WaitForArray (SAFEARRAY * * aWaitFor, ULONG aTimeoutMS, ProcessWaitResult * aReason) { return smth WaitForArray (aWaitFor, aTimeoutMS, aReason); }")
cpp_quote("#define COM_FORWARD_IProcess_WaitForArray_TO_OBJ(obj) COM_FORWARD_IProcess_WaitForArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_WaitForArray_TO_BASE(base) COM_FORWARD_IProcess_WaitForArray_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IProcess_Read_TO_OBJ(obj) COM_FORWARD_IProcess_Read_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_Read_TO_BASE(base) COM_FORWARD_IProcess_Read_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IProcess_Write_TO_OBJ(obj) COM_FORWARD_IProcess_Write_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_Write_TO_BASE(base) COM_FORWARD_IProcess_Write_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IProcess_WriteArray_TO_OBJ(obj) COM_FORWARD_IProcess_WriteArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_WriteArray_TO_BASE(base) COM_FORWARD_IProcess_WriteArray_TO (base::)")
cpp_quote("#define COM_FORWARD_IProcess_Terminate_TO(smth) HRESULT STDMETHODCALLTYPE Terminate() { return smth Terminate(); }")
cpp_quote("#define COM_FORWARD_IProcess_Terminate_TO_OBJ(obj) COM_FORWARD_IProcess_Terminate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_Terminate_TO_BASE(base) COM_FORWARD_IProcess_Terminate_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IProcess_TO_OBJ(obj) COM_FORWARD_IProcess_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProcess_TO_BASE(base) COM_FORWARD_IProcess_TO (base::)")

[
    uuid(35cf4b3f-4453-4f3e-c9b8-5686939c80b6),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestProcess : IProcess
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IGuestProcess */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestProcess_TO(smth) COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestProcess_TO_OBJ(obj) COM_FORWARD_IGuestProcess_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcess_TO_BASE(base) COM_FORWARD_IGuestProcess_TO (base::)")

[
    uuid(a508e094-bf24-4eca-80c6-467766a1e4c0),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDirectory : IDispatch
{
    [propget] HRESULT DirectoryName ([out, retval] BSTR * aDirectoryName);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT Filter ([out, retval] BSTR * aFilter);

    [propget] HRESULT Id ([out, retval] ULONG * aId);

    [propget] HRESULT Status ([out, retval] DirectoryStatus * aStatus);

    [propget] HRESULT InternalAndReservedAttribute1IDirectory ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDirectory ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IDirectory ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IDirectory ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IDirectory ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IDirectory ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IDirectory ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IDirectory ([out, retval] ULONG *aReserved);

    HRESULT Close();

    HRESULT List (
        [in] ULONG aMaxEntries,
        [out, retval] SAFEARRAY(IFsObjInfo *) * aObjInfo
    );

    HRESULT Read (
        [out, retval] IFsObjInfo * * aObjInfo
    );

    HRESULT Rewind();

    HRESULT InternalAndReservedMethod1IDirectory();

    HRESULT InternalAndReservedMethod2IDirectory();

    HRESULT InternalAndReservedMethod3IDirectory();

    HRESULT InternalAndReservedMethod4IDirectory();

}; /* interface IDirectory */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_DirectoryName_TO(smth) HRESULT STDMETHODCALLTYPE get_DirectoryName (BSTR * aDirectoryName) { return smth get_DirectoryName (aDirectoryName); }")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_DirectoryName_TO_OBJ(obj) COM_FORWARD_IDirectory_GETTER_DirectoryName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_DirectoryName_TO_BASE(base) COM_FORWARD_IDirectory_GETTER_DirectoryName_TO (base::)")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IDirectory_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IDirectory_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_Filter_TO(smth) HRESULT STDMETHODCALLTYPE get_Filter (BSTR * aFilter) { return smth get_Filter (aFilter); }")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_Filter_TO_OBJ(obj) COM_FORWARD_IDirectory_GETTER_Filter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_Filter_TO_BASE(base) COM_FORWARD_IDirectory_GETTER_Filter_TO (base::)")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (ULONG * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IDirectory_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_Id_TO_BASE(base) COM_FORWARD_IDirectory_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (DirectoryStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IDirectory_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDirectory_GETTER_Status_TO_BASE(base) COM_FORWARD_IDirectory_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IDirectory_Close_TO(smth) HRESULT STDMETHODCALLTYPE Close() { return smth Close(); }")
cpp_quote("#define COM_FORWARD_IDirectory_Close_TO_OBJ(obj) COM_FORWARD_IDirectory_Close_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDirectory_Close_TO_BASE(base) COM_FORWARD_IDirectory_Close_TO (base::)")
cpp_quote("#define COM_FORWARD_IDirectory_List_TO(smth) HRESULT STDMETHODCALLTYPE List (ULONG aMaxEntries, SAFEARRAY * * aObjInfo) { return smth List (aMaxEntries, aObjInfo); }")
cpp_quote("#define COM_FORWARD_IDirectory_List_TO_OBJ(obj) COM_FORWARD_IDirectory_List_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDirectory_List_TO_BASE(base) COM_FORWARD_IDirectory_List_TO (base::)")
cpp_quote("#define COM_FORWARD_IDirectory_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (IFsObjInfo * * aObjInfo) { return smth Read (aObjInfo); }")
cpp_quote("#define COM_FORWARD_IDirectory_Read_TO_OBJ(obj) COM_FORWARD_IDirectory_Read_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDirectory_Read_TO_BASE(base) COM_FORWARD_IDirectory_Read_TO (base::)")
cpp_quote("#define COM_FORWARD_IDirectory_Rewind_TO(smth) HRESULT STDMETHODCALLTYPE Rewind() { return smth Rewind(); }")
cpp_quote("#define COM_FORWARD_IDirectory_Rewind_TO_OBJ(obj) COM_FORWARD_IDirectory_Rewind_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDirectory_Rewind_TO_BASE(base) COM_FORWARD_IDirectory_Rewind_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IDirectory_TO_OBJ(obj) COM_FORWARD_IDirectory_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDirectory_TO_BASE(base) COM_FORWARD_IDirectory_TO (base::)")

[
    uuid(cc830458-4974-a19c-4dc6-cc98c2269626),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestDirectory : IDirectory
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IGuestDirectory */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirectory_TO(smth) COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestDirectory_TO_OBJ(obj) COM_FORWARD_IGuestDirectory_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectory_TO_BASE(base) COM_FORWARD_IGuestDirectory_TO (base::)")

[
    uuid(59a235ac-2f1a-4d6c-81fc-e3fa843f49ae),
    object,
    dual,
    oleautomation
    , proxy
]
interface IFile : IDispatch
{
    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT Id ([out, retval] ULONG * aId);

    [propget] HRESULT InitialSize ([out, retval] LONG64 * aInitialSize);

    [propget] HRESULT Offset ([out, retval] LONG64 * aOffset);

    [propget] HRESULT Status ([out, retval] FileStatus * aStatus);

    [propget] HRESULT Filename ([out, retval] BSTR * aFilename);

    [propget] HRESULT CreationMode ([out, retval] ULONG * aCreationMode);

    [propget] HRESULT OpenAction ([out, retval] FileOpenAction * aOpenAction);

    [propget] HRESULT AccessMode ([out, retval] FileAccessMode * aAccessMode);

    [propget] HRESULT InternalAndReservedAttribute1IFile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IFile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IFile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IFile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IFile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IFile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IFile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IFile ([out, retval] ULONG *aReserved);

    HRESULT Close();

    HRESULT QueryInfo (
        [out, retval] IFsObjInfo * * aObjInfo
    );

    HRESULT QuerySize (
        [out, retval] LONG64 * aSize
    );

    HRESULT Read (
        [in] ULONG aToRead,
        [in] ULONG aTimeoutMS,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT ReadAt (
        [in] LONG64 aOffset,
        [in] ULONG aToRead,
        [in] ULONG aTimeoutMS,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT Seek (
        [in] LONG64 aOffset,
        [in] FileSeekOrigin aWhence,
        [out, retval] LONG64 * aNewOffset
    );

    HRESULT SetACL (
        [in] BSTR aAcl,
        [in] ULONG aMode
    );

    HRESULT SetSize (
        [in] LONG64 aSize
    );

    HRESULT Write (
        [in] SAFEARRAY(BYTE) aData,
        [in] ULONG aTimeoutMS,
        [out, retval] ULONG * aWritten
    );

    HRESULT WriteAt (
        [in] LONG64 aOffset,
        [in] SAFEARRAY(BYTE) aData,
        [in] ULONG aTimeoutMS,
        [out, retval] ULONG * aWritten
    );

    HRESULT InternalAndReservedMethod1IFile();

    HRESULT InternalAndReservedMethod2IFile();

    HRESULT InternalAndReservedMethod3IFile();

    HRESULT InternalAndReservedMethod4IFile();

}; /* interface IFile */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IFile_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IFile_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IFile_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (ULONG * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Id_TO_BASE(base) COM_FORWARD_IFile_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_InitialSize_TO(smth) HRESULT STDMETHODCALLTYPE get_InitialSize (LONG64 * aInitialSize) { return smth get_InitialSize (aInitialSize); }")
cpp_quote("#define COM_FORWARD_IFile_GETTER_InitialSize_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_InitialSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_InitialSize_TO_BASE(base) COM_FORWARD_IFile_GETTER_InitialSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Offset_TO(smth) HRESULT STDMETHODCALLTYPE get_Offset (LONG64 * aOffset) { return smth get_Offset (aOffset); }")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Offset_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_Offset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Offset_TO_BASE(base) COM_FORWARD_IFile_GETTER_Offset_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (FileStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Status_TO_BASE(base) COM_FORWARD_IFile_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Filename_TO(smth) HRESULT STDMETHODCALLTYPE get_Filename (BSTR * aFilename) { return smth get_Filename (aFilename); }")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Filename_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_Filename_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_Filename_TO_BASE(base) COM_FORWARD_IFile_GETTER_Filename_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_CreationMode_TO(smth) HRESULT STDMETHODCALLTYPE get_CreationMode (ULONG * aCreationMode) { return smth get_CreationMode (aCreationMode); }")
cpp_quote("#define COM_FORWARD_IFile_GETTER_CreationMode_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_CreationMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_CreationMode_TO_BASE(base) COM_FORWARD_IFile_GETTER_CreationMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_OpenAction_TO(smth) HRESULT STDMETHODCALLTYPE get_OpenAction (FileOpenAction * aOpenAction) { return smth get_OpenAction (aOpenAction); }")
cpp_quote("#define COM_FORWARD_IFile_GETTER_OpenAction_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_OpenAction_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_OpenAction_TO_BASE(base) COM_FORWARD_IFile_GETTER_OpenAction_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_AccessMode_TO(smth) HRESULT STDMETHODCALLTYPE get_AccessMode (FileAccessMode * aAccessMode) { return smth get_AccessMode (aAccessMode); }")
cpp_quote("#define COM_FORWARD_IFile_GETTER_AccessMode_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_AccessMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_GETTER_AccessMode_TO_BASE(base) COM_FORWARD_IFile_GETTER_AccessMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_Close_TO(smth) HRESULT STDMETHODCALLTYPE Close() { return smth Close(); }")
cpp_quote("#define COM_FORWARD_IFile_Close_TO_OBJ(obj) COM_FORWARD_IFile_Close_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_Close_TO_BASE(base) COM_FORWARD_IFile_Close_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_QueryInfo_TO(smth) HRESULT STDMETHODCALLTYPE QueryInfo (IFsObjInfo * * aObjInfo) { return smth QueryInfo (aObjInfo); }")
cpp_quote("#define COM_FORWARD_IFile_QueryInfo_TO_OBJ(obj) COM_FORWARD_IFile_QueryInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_QueryInfo_TO_BASE(base) COM_FORWARD_IFile_QueryInfo_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_QuerySize_TO(smth) HRESULT STDMETHODCALLTYPE QuerySize (LONG64 * aSize) { return smth QuerySize (aSize); }")
cpp_quote("#define COM_FORWARD_IFile_QuerySize_TO_OBJ(obj) COM_FORWARD_IFile_QuerySize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_QuerySize_TO_BASE(base) COM_FORWARD_IFile_QuerySize_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (ULONG aToRead, ULONG aTimeoutMS, SAFEARRAY * * aData) { return smth Read (aToRead, aTimeoutMS, aData); }")
cpp_quote("#define COM_FORWARD_IFile_Read_TO_OBJ(obj) COM_FORWARD_IFile_Read_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_Read_TO_BASE(base) COM_FORWARD_IFile_Read_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IFile_ReadAt_TO_OBJ(obj) COM_FORWARD_IFile_ReadAt_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_ReadAt_TO_BASE(base) COM_FORWARD_IFile_ReadAt_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_Seek_TO(smth) HRESULT STDMETHODCALLTYPE Seek (LONG64 aOffset, FileSeekOrigin aWhence, LONG64 * aNewOffset) { return smth Seek (aOffset, aWhence, aNewOffset); }")
cpp_quote("#define COM_FORWARD_IFile_Seek_TO_OBJ(obj) COM_FORWARD_IFile_Seek_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_Seek_TO_BASE(base) COM_FORWARD_IFile_Seek_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_SetACL_TO(smth) HRESULT STDMETHODCALLTYPE SetACL (BSTR aAcl, ULONG aMode) { return smth SetACL (aAcl, aMode); }")
cpp_quote("#define COM_FORWARD_IFile_SetACL_TO_OBJ(obj) COM_FORWARD_IFile_SetACL_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_SetACL_TO_BASE(base) COM_FORWARD_IFile_SetACL_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_SetSize_TO(smth) HRESULT STDMETHODCALLTYPE SetSize (LONG64 aSize) { return smth SetSize (aSize); }")
cpp_quote("#define COM_FORWARD_IFile_SetSize_TO_OBJ(obj) COM_FORWARD_IFile_SetSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_SetSize_TO_BASE(base) COM_FORWARD_IFile_SetSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IFile_Write_TO(smth) HRESULT STDMETHODCALLTYPE Write (SAFEARRAY * * aData, ULONG aTimeoutMS, ULONG * aWritten) { return smth Write (aData, aTimeoutMS, aWritten); }")
cpp_quote("#define COM_FORWARD_IFile_Write_TO_OBJ(obj) COM_FORWARD_IFile_Write_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_Write_TO_BASE(base) COM_FORWARD_IFile_Write_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IFile_WriteAt_TO_OBJ(obj) COM_FORWARD_IFile_WriteAt_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_WriteAt_TO_BASE(base) COM_FORWARD_IFile_WriteAt_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IFile_TO_OBJ(obj) COM_FORWARD_IFile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFile_TO_BASE(base) COM_FORWARD_IFile_TO (base::)")

[
    uuid(92f21dc0-44de-1653-b717-2ebf0ca9b664),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFile : IFile
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IGuestFile */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFile_TO(smth) COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFile_TO_OBJ(obj) COM_FORWARD_IGuestFile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFile_TO_BASE(base) COM_FORWARD_IGuestFile_TO (base::)")

[
    uuid(3db2ab1a-6cf7-42f1-8bf5-e1c0553e0b30),
    object,
    dual,
    oleautomation
    , proxy
]
interface IFsInfo : IDispatch
{
    [propget] HRESULT FreeSize ([out, retval] LONG64 * aFreeSize);

    [propget] HRESULT TotalSize ([out, retval] LONG64 * aTotalSize);

    [propget] HRESULT BlockSize ([out, retval] ULONG * aBlockSize);

    [propget] HRESULT SectorSize ([out, retval] ULONG * aSectorSize);

    [propget] HRESULT SerialNumber ([out, retval] ULONG * aSerialNumber);

    [propget] HRESULT IsRemote ([out, retval] BOOL * aIsRemote);

    [propget] HRESULT IsCaseSensitive ([out, retval] BOOL * aIsCaseSensitive);

    [propget] HRESULT IsReadOnly ([out, retval] BOOL * aIsReadOnly);

    [propget] HRESULT IsCompressed ([out, retval] BOOL * aIsCompressed);

    [propget] HRESULT SupportsFileCompression ([out, retval] BOOL * aSupportsFileCompression);

    [propget] HRESULT MaxComponent ([out, retval] ULONG * aMaxComponent);

    [propget] HRESULT Type ([out, retval] BSTR * aType);

    [propget] HRESULT Label ([out, retval] BSTR * aLabel);

    [propget] HRESULT MountPoint ([out, retval] BSTR * aMountPoint);

    [propget] HRESULT InternalAndReservedAttribute1IFsInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IFsInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IFsInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IFsInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IFsInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IFsInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IFsInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IFsInfo ([out, retval] ULONG *aReserved);

}; /* interface IFsInfo */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_FreeSize_TO(smth) HRESULT STDMETHODCALLTYPE get_FreeSize (LONG64 * aFreeSize) { return smth get_FreeSize (aFreeSize); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_FreeSize_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_FreeSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_FreeSize_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_FreeSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_TotalSize_TO(smth) HRESULT STDMETHODCALLTYPE get_TotalSize (LONG64 * aTotalSize) { return smth get_TotalSize (aTotalSize); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_TotalSize_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_TotalSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_TotalSize_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_TotalSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_BlockSize_TO(smth) HRESULT STDMETHODCALLTYPE get_BlockSize (ULONG * aBlockSize) { return smth get_BlockSize (aBlockSize); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_BlockSize_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_BlockSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_BlockSize_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_BlockSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_SectorSize_TO(smth) HRESULT STDMETHODCALLTYPE get_SectorSize (ULONG * aSectorSize) { return smth get_SectorSize (aSectorSize); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_SectorSize_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_SectorSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_SectorSize_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_SectorSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialNumber (ULONG * aSerialNumber) { return smth get_SerialNumber (aSerialNumber); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsRemote_TO(smth) HRESULT STDMETHODCALLTYPE get_IsRemote (BOOL * aIsRemote) { return smth get_IsRemote (aIsRemote); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsRemote_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_IsRemote_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsRemote_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_IsRemote_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO(smth) HRESULT STDMETHODCALLTYPE get_IsCaseSensitive (BOOL * aIsCaseSensitive) { return smth get_IsCaseSensitive (aIsCaseSensitive); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO(smth) HRESULT STDMETHODCALLTYPE get_IsReadOnly (BOOL * aIsReadOnly) { return smth get_IsReadOnly (aIsReadOnly); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO(smth) HRESULT STDMETHODCALLTYPE get_IsCompressed (BOOL * aIsCompressed) { return smth get_IsCompressed (aIsCompressed); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportsFileCompression (BOOL * aSupportsFileCompression) { return smth get_SupportsFileCompression (aSupportsFileCompression); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxComponent (ULONG * aMaxComponent) { return smth get_MaxComponent (aMaxComponent); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (BSTR * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_Type_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_Label_TO(smth) HRESULT STDMETHODCALLTYPE get_Label (BSTR * aLabel) { return smth get_Label (aLabel); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_Label_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_Label_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_Label_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_Label_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_MountPoint_TO(smth) HRESULT STDMETHODCALLTYPE get_MountPoint (BSTR * aMountPoint) { return smth get_MountPoint (aMountPoint); }")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_MountPoint_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_MountPoint_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_GETTER_MountPoint_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_MountPoint_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IFsInfo_TO_OBJ(obj) COM_FORWARD_IFsInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsInfo_TO_BASE(base) COM_FORWARD_IFsInfo_TO (base::)")

[
    uuid(081fc833-c6fa-430e-6020-6a505d086387),
    object,
    dual,
    oleautomation
    , proxy
]
interface IFsObjInfo : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Type ([out, retval] FsObjType * aType);

    [propget] HRESULT FileAttributes ([out, retval] BSTR * aFileAttributes);

    [propget] HRESULT ObjectSize ([out, retval] LONG64 * aObjectSize);

    [propget] HRESULT AllocatedSize ([out, retval] LONG64 * aAllocatedSize);

    [propget] HRESULT AccessTime ([out, retval] LONG64 * aAccessTime);

    [propget] HRESULT BirthTime ([out, retval] LONG64 * aBirthTime);

    [propget] HRESULT ChangeTime ([out, retval] LONG64 * aChangeTime);

    [propget] HRESULT ModificationTime ([out, retval] LONG64 * aModificationTime);

    [propget] HRESULT UID ([out, retval] LONG * aUID);

    [propget] HRESULT UserName ([out, retval] BSTR * aUserName);

    [propget] HRESULT GID ([out, retval] LONG * aGID);

    [propget] HRESULT GroupName ([out, retval] BSTR * aGroupName);

    [propget] HRESULT NodeId ([out, retval] LONG64 * aNodeId);

    [propget] HRESULT NodeIdDevice ([out, retval] ULONG * aNodeIdDevice);

    [propget] HRESULT HardLinks ([out, retval] ULONG * aHardLinks);

    [propget] HRESULT DeviceNumber ([out, retval] ULONG * aDeviceNumber);

    [propget] HRESULT GenerationId ([out, retval] ULONG * aGenerationId);

    [propget] HRESULT UserFlags ([out, retval] ULONG * aUserFlags);

    [propget] HRESULT InternalAndReservedAttribute1IFsObjInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IFsObjInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IFsObjInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IFsObjInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IFsObjInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IFsObjInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IFsObjInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IFsObjInfo ([out, retval] ULONG *aReserved);

}; /* interface IFsObjInfo */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_Name_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (FsObjType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_Type_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO(smth) HRESULT STDMETHODCALLTYPE get_FileAttributes (BSTR * aFileAttributes) { return smth get_FileAttributes (aFileAttributes); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO(smth) HRESULT STDMETHODCALLTYPE get_ObjectSize (LONG64 * aObjectSize) { return smth get_ObjectSize (aObjectSize); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO(smth) HRESULT STDMETHODCALLTYPE get_AllocatedSize (LONG64 * aAllocatedSize) { return smth get_AllocatedSize (aAllocatedSize); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO(smth) HRESULT STDMETHODCALLTYPE get_AccessTime (LONG64 * aAccessTime) { return smth get_AccessTime (aAccessTime); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO(smth) HRESULT STDMETHODCALLTYPE get_BirthTime (LONG64 * aBirthTime) { return smth get_BirthTime (aBirthTime); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO(smth) HRESULT STDMETHODCALLTYPE get_ChangeTime (LONG64 * aChangeTime) { return smth get_ChangeTime (aChangeTime); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO(smth) HRESULT STDMETHODCALLTYPE get_ModificationTime (LONG64 * aModificationTime) { return smth get_ModificationTime (aModificationTime); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_UID_TO(smth) HRESULT STDMETHODCALLTYPE get_UID (LONG * aUID) { return smth get_UID (aUID); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_UID_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_UID_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_UID_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_UID_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_UserName_TO(smth) HRESULT STDMETHODCALLTYPE get_UserName (BSTR * aUserName) { return smth get_UserName (aUserName); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_UserName_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_UserName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_UserName_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_UserName_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_GID_TO(smth) HRESULT STDMETHODCALLTYPE get_GID (LONG * aGID) { return smth get_GID (aGID); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_GID_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_GID_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_GID_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_GID_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO(smth) HRESULT STDMETHODCALLTYPE get_GroupName (BSTR * aGroupName) { return smth get_GroupName (aGroupName); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO(smth) HRESULT STDMETHODCALLTYPE get_NodeId (LONG64 * aNodeId) { return smth get_NodeId (aNodeId); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO(smth) HRESULT STDMETHODCALLTYPE get_NodeIdDevice (ULONG * aNodeIdDevice) { return smth get_NodeIdDevice (aNodeIdDevice); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO(smth) HRESULT STDMETHODCALLTYPE get_HardLinks (ULONG * aHardLinks) { return smth get_HardLinks (aHardLinks); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO(smth) HRESULT STDMETHODCALLTYPE get_DeviceNumber (ULONG * aDeviceNumber) { return smth get_DeviceNumber (aDeviceNumber); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO(smth) HRESULT STDMETHODCALLTYPE get_GenerationId (ULONG * aGenerationId) { return smth get_GenerationId (aGenerationId); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO (base::)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO(smth) HRESULT STDMETHODCALLTYPE get_UserFlags (ULONG * aUserFlags) { return smth get_UserFlags (aUserFlags); }")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IFsObjInfo_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFsObjInfo_TO_BASE(base) COM_FORWARD_IFsObjInfo_TO (base::)")

[
    uuid(726eaca9-091e-41b4-bca6-355efe864107),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFsInfo : IFsInfo
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IGuestFsInfo */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFsInfo_TO(smth) COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFsInfo_TO_OBJ(obj) COM_FORWARD_IGuestFsInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFsInfo_TO_BASE(base) COM_FORWARD_IGuestFsInfo_TO (base::)")

[
    uuid(6620db85-44e0-ca69-e9e0-d4907ceccbe5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFsObjInfo : IFsObjInfo
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IGuestFsObjInfo */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFsObjInfo_TO(smth) COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFsObjInfo_TO_OBJ(obj) COM_FORWARD_IGuestFsObjInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFsObjInfo_TO_BASE(base) COM_FORWARD_IGuestFsObjInfo_TO (base::)")

[
    uuid(00892186-A4AF-4627-B21F-FC561CE4473C),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuest : IDispatch
{
    [propget] HRESULT OSTypeId ([out, retval] BSTR * aOSTypeId);

    [propget] HRESULT AdditionsRunLevel ([out, retval] AdditionsRunLevelType * aAdditionsRunLevel);

    [propget] HRESULT AdditionsVersion ([out, retval] BSTR * aAdditionsVersion);

    [propget] HRESULT AdditionsRevision ([out, retval] ULONG * aAdditionsRevision);

    [propget] HRESULT DnDSource ([out, retval] IGuestDnDSource * * aDnDSource);

    [propget] HRESULT DnDTarget ([out, retval] IGuestDnDTarget * * aDnDTarget);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT Facilities ([out, retval] SAFEARRAY(IAdditionsFacility *) * aFacilities);

    [propget] HRESULT Sessions ([out, retval] SAFEARRAY(IGuestSession *) * aSessions);

    [propget] HRESULT MemoryBalloonSize ([out, retval] ULONG * aMemoryBalloonSize);
    [propput] HRESULT MemoryBalloonSize ([in] ULONG aMemoryBalloonSize);

    [propget] HRESULT StatisticsUpdateInterval ([out, retval] ULONG * aStatisticsUpdateInterval);
    [propput] HRESULT StatisticsUpdateInterval ([in] ULONG aStatisticsUpdateInterval);

    [propget] HRESULT InternalAndReservedAttribute1IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IGuest ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IGuest ([out, retval] ULONG *aReserved);

    HRESULT 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
    );

    HRESULT GetFacilityStatus (
        [in] AdditionsFacilityType aFacility,
        [out] LONG64 * aTimestamp,
        [out, retval] AdditionsFacilityStatus * aStatus
    );

    HRESULT GetAdditionsStatus (
        [in] AdditionsRunLevelType aLevel,
        [out, retval] BOOL * aActive
    );

    HRESULT SetCredentials (
        [in] BSTR aUserName,
        [in] BSTR aPassword,
        [in] BSTR aDomain,
        [in] BOOL aAllowInteractiveLogon
    );

    HRESULT CreateSession (
        [in] BSTR aUser,
        [in] BSTR aPassword,
        [in] BSTR aDomain,
        [in] BSTR aSessionName,
        [out, retval] IGuestSession * * aGuestSession
    );

    HRESULT FindSession (
        [in] BSTR aSessionName,
        [out, retval] SAFEARRAY(IGuestSession *) * aSessions
    );

    HRESULT Shutdown (
        [in] SAFEARRAY(GuestShutdownFlag) aFlags
    );

    HRESULT UpdateGuestAdditions (
        [in] BSTR aSource,
        [in] SAFEARRAY(BSTR) aArguments,
        [in] SAFEARRAY(AdditionsUpdateFlag) aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT InternalAndReservedMethod1IGuest();

    HRESULT InternalAndReservedMethod2IGuest();

    HRESULT InternalAndReservedMethod3IGuest();

    HRESULT InternalAndReservedMethod4IGuest();

    HRESULT InternalAndReservedMethod5IGuest();

    HRESULT InternalAndReservedMethod6IGuest();

    HRESULT InternalAndReservedMethod7IGuest();

    HRESULT InternalAndReservedMethod8IGuest();

}; /* interface IGuest */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuest_GETTER_OSTypeId_TO(smth) HRESULT STDMETHODCALLTYPE get_OSTypeId (BSTR * aOSTypeId) { return smth get_OSTypeId (aOSTypeId); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_OSTypeId_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_OSTypeId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_OSTypeId_TO_BASE(base) COM_FORWARD_IGuest_GETTER_OSTypeId_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO(smth) HRESULT STDMETHODCALLTYPE get_AdditionsRunLevel (AdditionsRunLevelType * aAdditionsRunLevel) { return smth get_AdditionsRunLevel (aAdditionsRunLevel); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO_BASE(base) COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_AdditionsVersion (BSTR * aAdditionsVersion) { return smth get_AdditionsVersion (aAdditionsVersion); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO_BASE(base) COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO(smth) HRESULT STDMETHODCALLTYPE get_AdditionsRevision (ULONG * aAdditionsRevision) { return smth get_AdditionsRevision (aAdditionsRevision); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO_BASE(base) COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_DnDSource_TO(smth) HRESULT STDMETHODCALLTYPE get_DnDSource (IGuestDnDSource * * aDnDSource) { return smth get_DnDSource (aDnDSource); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_DnDSource_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_DnDSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_DnDSource_TO_BASE(base) COM_FORWARD_IGuest_GETTER_DnDSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_DnDTarget_TO(smth) HRESULT STDMETHODCALLTYPE get_DnDTarget (IGuestDnDTarget * * aDnDTarget) { return smth get_DnDTarget (aDnDTarget); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_DnDTarget_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_DnDTarget_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_DnDTarget_TO_BASE(base) COM_FORWARD_IGuest_GETTER_DnDTarget_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IGuest_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_Facilities_TO(smth) HRESULT STDMETHODCALLTYPE get_Facilities (SAFEARRAY * * aFacilities) { return smth get_Facilities (aFacilities); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_Facilities_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_Facilities_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_Facilities_TO_BASE(base) COM_FORWARD_IGuest_GETTER_Facilities_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_Sessions_TO(smth) HRESULT STDMETHODCALLTYPE get_Sessions (SAFEARRAY * * aSessions) { return smth get_Sessions (aSessions); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_Sessions_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_Sessions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_Sessions_TO_BASE(base) COM_FORWARD_IGuest_GETTER_Sessions_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO(smth) HRESULT STDMETHODCALLTYPE get_MemoryBalloonSize (ULONG * aMemoryBalloonSize) { return smth get_MemoryBalloonSize (aMemoryBalloonSize); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO_BASE(base) COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO(smth) HRESULT STDMETHODCALLTYPE put_MemoryBalloonSize (ULONG aMemoryBalloonSize) { return smth put_MemoryBalloonSize (aMemoryBalloonSize); }")
cpp_quote("#define COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO_OBJ(obj) COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO_BASE(base) COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO(smth) HRESULT STDMETHODCALLTYPE get_StatisticsUpdateInterval (ULONG * aStatisticsUpdateInterval) { return smth get_StatisticsUpdateInterval (aStatisticsUpdateInterval); }")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO_BASE(base) COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO(smth) HRESULT STDMETHODCALLTYPE put_StatisticsUpdateInterval (ULONG aStatisticsUpdateInterval) { return smth put_StatisticsUpdateInterval (aStatisticsUpdateInterval); }")
cpp_quote("#define COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO_OBJ(obj) COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO_BASE(base) COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuest_InternalGetStatistics_TO_OBJ(obj) COM_FORWARD_IGuest_InternalGetStatistics_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_InternalGetStatistics_TO_BASE(base) COM_FORWARD_IGuest_InternalGetStatistics_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GetFacilityStatus_TO(smth) HRESULT STDMETHODCALLTYPE GetFacilityStatus (AdditionsFacilityType aFacility, LONG64 * aTimestamp, AdditionsFacilityStatus * aStatus) { return smth GetFacilityStatus (aFacility, aTimestamp, aStatus); }")
cpp_quote("#define COM_FORWARD_IGuest_GetFacilityStatus_TO_OBJ(obj) COM_FORWARD_IGuest_GetFacilityStatus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GetFacilityStatus_TO_BASE(base) COM_FORWARD_IGuest_GetFacilityStatus_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GetAdditionsStatus_TO(smth) HRESULT STDMETHODCALLTYPE GetAdditionsStatus (AdditionsRunLevelType aLevel, BOOL * aActive) { return smth GetAdditionsStatus (aLevel, aActive); }")
cpp_quote("#define COM_FORWARD_IGuest_GetAdditionsStatus_TO_OBJ(obj) COM_FORWARD_IGuest_GetAdditionsStatus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GetAdditionsStatus_TO_BASE(base) COM_FORWARD_IGuest_GetAdditionsStatus_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuest_SetCredentials_TO_OBJ(obj) COM_FORWARD_IGuest_SetCredentials_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_SetCredentials_TO_BASE(base) COM_FORWARD_IGuest_SetCredentials_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuest_CreateSession_TO_OBJ(obj) COM_FORWARD_IGuest_CreateSession_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_CreateSession_TO_BASE(base) COM_FORWARD_IGuest_CreateSession_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_FindSession_TO(smth) HRESULT STDMETHODCALLTYPE FindSession (BSTR aSessionName, SAFEARRAY * * aSessions) { return smth FindSession (aSessionName, aSessions); }")
cpp_quote("#define COM_FORWARD_IGuest_FindSession_TO_OBJ(obj) COM_FORWARD_IGuest_FindSession_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_FindSession_TO_BASE(base) COM_FORWARD_IGuest_FindSession_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_Shutdown_TO(smth) HRESULT STDMETHODCALLTYPE Shutdown (SAFEARRAY * * aFlags) { return smth Shutdown (aFlags); }")
cpp_quote("#define COM_FORWARD_IGuest_Shutdown_TO_OBJ(obj) COM_FORWARD_IGuest_Shutdown_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_Shutdown_TO_BASE(base) COM_FORWARD_IGuest_Shutdown_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IGuest_UpdateGuestAdditions_TO_OBJ(obj) COM_FORWARD_IGuest_UpdateGuestAdditions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_UpdateGuestAdditions_TO_BASE(base) COM_FORWARD_IGuest_UpdateGuestAdditions_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuest_TO_OBJ(obj) COM_FORWARD_IGuest_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_TO_BASE(base) COM_FORWARD_IGuest_TO (base::)")

[
    uuid(d7b98d2b-30e8-447e-99cb-e31becae6ae4),
    object,
    dual,
    oleautomation
    , proxy
]
interface IProgress : IDispatch
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Description ([out, retval] BSTR * aDescription);

    [propget] HRESULT Initiator ([out, retval] IUnknown * * aInitiator);

    [propget] HRESULT Cancelable ([out, retval] BOOL * aCancelable);

    [propget] HRESULT Percent ([out, retval] ULONG * aPercent);

    [propget] HRESULT TimeRemaining ([out, retval] LONG * aTimeRemaining);

    [propget] HRESULT Completed ([out, retval] BOOL * aCompleted);

    [propget] HRESULT Canceled ([out, retval] BOOL * aCanceled);

    [propget] HRESULT ResultCode ([out, retval] LONG * aResultCode);

    [propget] HRESULT ErrorInfo ([out, retval] IVirtualBoxErrorInfo * * aErrorInfo);

    [propget] HRESULT OperationCount ([out, retval] ULONG * aOperationCount);

    [propget] HRESULT Operation ([out, retval] ULONG * aOperation);

    [propget] HRESULT OperationDescription ([out, retval] BSTR * aOperationDescription);

    [propget] HRESULT OperationPercent ([out, retval] ULONG * aOperationPercent);

    [propget] HRESULT OperationWeight ([out, retval] ULONG * aOperationWeight);

    [propget] HRESULT Timeout ([out, retval] ULONG * aTimeout);
    [propput] HRESULT Timeout ([in] ULONG aTimeout);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT InternalAndReservedAttribute1IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IProgress ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IProgress ([out, retval] ULONG *aReserved);

    HRESULT WaitForCompletion (
        [in] LONG aTimeout
    );

    HRESULT WaitForOperationCompletion (
        [in] ULONG aOperation,
        [in] LONG aTimeout
    );

    HRESULT Cancel();

    HRESULT InternalAndReservedMethod1IProgress();

    HRESULT InternalAndReservedMethod2IProgress();

    HRESULT InternalAndReservedMethod3IProgress();

    HRESULT InternalAndReservedMethod4IProgress();

    HRESULT InternalAndReservedMethod5IProgress();

    HRESULT InternalAndReservedMethod6IProgress();

    HRESULT InternalAndReservedMethod7IProgress();

    HRESULT InternalAndReservedMethod8IProgress();

}; /* interface IProgress */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Id_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Description_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Initiator_TO(smth) HRESULT STDMETHODCALLTYPE get_Initiator (IUnknown * * aInitiator) { return smth get_Initiator (aInitiator); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Initiator_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Initiator_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Initiator_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Initiator_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Cancelable_TO(smth) HRESULT STDMETHODCALLTYPE get_Cancelable (BOOL * aCancelable) { return smth get_Cancelable (aCancelable); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Cancelable_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Cancelable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Cancelable_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Cancelable_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Percent_TO(smth) HRESULT STDMETHODCALLTYPE get_Percent (ULONG * aPercent) { return smth get_Percent (aPercent); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Percent_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Percent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Percent_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Percent_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_TimeRemaining_TO(smth) HRESULT STDMETHODCALLTYPE get_TimeRemaining (LONG * aTimeRemaining) { return smth get_TimeRemaining (aTimeRemaining); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_TimeRemaining_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_TimeRemaining_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_TimeRemaining_TO_BASE(base) COM_FORWARD_IProgress_GETTER_TimeRemaining_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Completed_TO(smth) HRESULT STDMETHODCALLTYPE get_Completed (BOOL * aCompleted) { return smth get_Completed (aCompleted); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Completed_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Completed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Completed_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Completed_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Canceled_TO(smth) HRESULT STDMETHODCALLTYPE get_Canceled (BOOL * aCanceled) { return smth get_Canceled (aCanceled); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Canceled_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Canceled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Canceled_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Canceled_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_ResultCode_TO(smth) HRESULT STDMETHODCALLTYPE get_ResultCode (LONG * aResultCode) { return smth get_ResultCode (aResultCode); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_ResultCode_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_ResultCode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_ResultCode_TO_BASE(base) COM_FORWARD_IProgress_GETTER_ResultCode_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_ErrorInfo_TO(smth) HRESULT STDMETHODCALLTYPE get_ErrorInfo (IVirtualBoxErrorInfo * * aErrorInfo) { return smth get_ErrorInfo (aErrorInfo); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_ErrorInfo_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_ErrorInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_ErrorInfo_TO_BASE(base) COM_FORWARD_IProgress_GETTER_ErrorInfo_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationCount_TO(smth) HRESULT STDMETHODCALLTYPE get_OperationCount (ULONG * aOperationCount) { return smth get_OperationCount (aOperationCount); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationCount_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_OperationCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationCount_TO_BASE(base) COM_FORWARD_IProgress_GETTER_OperationCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Operation_TO(smth) HRESULT STDMETHODCALLTYPE get_Operation (ULONG * aOperation) { return smth get_Operation (aOperation); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Operation_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Operation_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Operation_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Operation_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationDescription_TO(smth) HRESULT STDMETHODCALLTYPE get_OperationDescription (BSTR * aOperationDescription) { return smth get_OperationDescription (aOperationDescription); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationDescription_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_OperationDescription_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationDescription_TO_BASE(base) COM_FORWARD_IProgress_GETTER_OperationDescription_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationPercent_TO(smth) HRESULT STDMETHODCALLTYPE get_OperationPercent (ULONG * aOperationPercent) { return smth get_OperationPercent (aOperationPercent); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationPercent_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_OperationPercent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationPercent_TO_BASE(base) COM_FORWARD_IProgress_GETTER_OperationPercent_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationWeight_TO(smth) HRESULT STDMETHODCALLTYPE get_OperationWeight (ULONG * aOperationWeight) { return smth get_OperationWeight (aOperationWeight); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationWeight_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_OperationWeight_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_OperationWeight_TO_BASE(base) COM_FORWARD_IProgress_GETTER_OperationWeight_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Timeout_TO(smth) HRESULT STDMETHODCALLTYPE get_Timeout (ULONG * aTimeout) { return smth get_Timeout (aTimeout); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Timeout_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Timeout_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_Timeout_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Timeout_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_SETTER_Timeout_TO(smth) HRESULT STDMETHODCALLTYPE put_Timeout (ULONG aTimeout) { return smth put_Timeout (aTimeout); }")
cpp_quote("#define COM_FORWARD_IProgress_SETTER_Timeout_TO_OBJ(obj) COM_FORWARD_IProgress_SETTER_Timeout_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_SETTER_Timeout_TO_BASE(base) COM_FORWARD_IProgress_SETTER_Timeout_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IProgress_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_WaitForCompletion_TO(smth) HRESULT STDMETHODCALLTYPE WaitForCompletion (LONG aTimeout) { return smth WaitForCompletion (aTimeout); }")
cpp_quote("#define COM_FORWARD_IProgress_WaitForCompletion_TO_OBJ(obj) COM_FORWARD_IProgress_WaitForCompletion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_WaitForCompletion_TO_BASE(base) COM_FORWARD_IProgress_WaitForCompletion_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_WaitForOperationCompletion_TO(smth) HRESULT STDMETHODCALLTYPE WaitForOperationCompletion (ULONG aOperation, LONG aTimeout) { return smth WaitForOperationCompletion (aOperation, aTimeout); }")
cpp_quote("#define COM_FORWARD_IProgress_WaitForOperationCompletion_TO_OBJ(obj) COM_FORWARD_IProgress_WaitForOperationCompletion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_WaitForOperationCompletion_TO_BASE(base) COM_FORWARD_IProgress_WaitForOperationCompletion_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_Cancel_TO(smth) HRESULT STDMETHODCALLTYPE Cancel() { return smth Cancel(); }")
cpp_quote("#define COM_FORWARD_IProgress_Cancel_TO_OBJ(obj) COM_FORWARD_IProgress_Cancel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_Cancel_TO_BASE(base) COM_FORWARD_IProgress_Cancel_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IProgress_TO_OBJ(obj) COM_FORWARD_IProgress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_TO_BASE(base) COM_FORWARD_IProgress_TO (base::)")

[
    uuid(41a033b8-cc87-4f6e-a0e9-47bb7f2d4be5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IInternalProgressControl : IDispatch
{
    [propget] HRESULT InternalAndReservedAttribute1IInternalProgressControl ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IInternalProgressControl ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IInternalProgressControl ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IInternalProgressControl ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IInternalProgressControl ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IInternalProgressControl ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IInternalProgressControl ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IInternalProgressControl ([out, retval] ULONG *aReserved);

    HRESULT SetCurrentOperationProgress (
        [in] ULONG aPercent
    );

    HRESULT WaitForOtherProgressCompletion (
        [in] IProgress * aProgressOther,
        [in] ULONG aTimeoutMS
    );

    HRESULT SetNextOperation (
        [in] BSTR aNextOperationDescription,
        [in] ULONG aNextOperationsWeight
    );

    HRESULT NotifyPointOfNoReturn();

    HRESULT NotifyComplete (
        [in] LONG aResultCode,
        [in] IVirtualBoxErrorInfo * aErrorInfo
    );

    HRESULT InternalAndReservedMethod1IInternalProgressControl();

    HRESULT InternalAndReservedMethod2IInternalProgressControl();

    HRESULT InternalAndReservedMethod3IInternalProgressControl();

    HRESULT InternalAndReservedMethod4IInternalProgressControl();

    HRESULT InternalAndReservedMethod5IInternalProgressControl();

    HRESULT InternalAndReservedMethod6IInternalProgressControl();

    HRESULT InternalAndReservedMethod7IInternalProgressControl();

    HRESULT InternalAndReservedMethod8IInternalProgressControl();

}; /* interface IInternalProgressControl */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO(smth) HRESULT STDMETHODCALLTYPE SetCurrentOperationProgress (ULONG aPercent) { return smth SetCurrentOperationProgress (aPercent); }")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO_BASE(base) COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO(smth) HRESULT STDMETHODCALLTYPE WaitForOtherProgressCompletion (IProgress * aProgressOther, ULONG aTimeoutMS) { return smth WaitForOtherProgressCompletion (aProgressOther, aTimeoutMS); }")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO_BASE(base) COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_SetNextOperation_TO(smth) HRESULT STDMETHODCALLTYPE SetNextOperation (BSTR aNextOperationDescription, ULONG aNextOperationsWeight) { return smth SetNextOperation (aNextOperationDescription, aNextOperationsWeight); }")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_SetNextOperation_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_SetNextOperation_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_SetNextOperation_TO_BASE(base) COM_FORWARD_IInternalProgressControl_SetNextOperation_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO(smth) HRESULT STDMETHODCALLTYPE NotifyPointOfNoReturn() { return smth NotifyPointOfNoReturn(); }")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO_BASE(base) COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_NotifyComplete_TO(smth) HRESULT STDMETHODCALLTYPE NotifyComplete (LONG aResultCode, IVirtualBoxErrorInfo * aErrorInfo) { return smth NotifyComplete (aResultCode, aErrorInfo); }")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_NotifyComplete_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_NotifyComplete_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_NotifyComplete_TO_BASE(base) COM_FORWARD_IInternalProgressControl_NotifyComplete_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalProgressControl_TO_BASE(base) COM_FORWARD_IInternalProgressControl_TO (base::)")

[
    uuid(6cc49055-dad4-4496-85cf-3f76bcb3b5fa),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISnapshot : IDispatch
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Name ([out, retval] BSTR * aName);
    [propput] HRESULT Name ([in] BSTR aName);

    [propget] HRESULT Description ([out, retval] BSTR * aDescription);
    [propput] HRESULT Description ([in] BSTR aDescription);

    [propget] HRESULT TimeStamp ([out, retval] LONG64 * aTimeStamp);

    [propget] HRESULT Online ([out, retval] BOOL * aOnline);

    [propget] HRESULT Machine ([out, retval] IMachine * * aMachine);

    [propget] HRESULT Parent ([out, retval] ISnapshot * * aParent);

    [propget] HRESULT Children ([out, retval] SAFEARRAY(ISnapshot *) * aChildren);

    [propget] HRESULT ChildrenCount ([out, retval] ULONG * aChildrenCount);

    [propget] HRESULT InternalAndReservedAttribute1ISnapshot ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ISnapshot ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ISnapshot ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ISnapshot ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ISnapshot ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ISnapshot ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ISnapshot ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ISnapshot ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1ISnapshot();

    HRESULT InternalAndReservedMethod2ISnapshot();

    HRESULT InternalAndReservedMethod3ISnapshot();

    HRESULT InternalAndReservedMethod4ISnapshot();

}; /* interface ISnapshot */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Id_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Id_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Name_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshot_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }")
cpp_quote("#define COM_FORWARD_ISnapshot_SETTER_Name_TO_OBJ(obj) COM_FORWARD_ISnapshot_SETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_SETTER_Name_TO_BASE(base) COM_FORWARD_ISnapshot_SETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Description_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Description_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshot_SETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE put_Description (BSTR aDescription) { return smth put_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_ISnapshot_SETTER_Description_TO_OBJ(obj) COM_FORWARD_ISnapshot_SETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_SETTER_Description_TO_BASE(base) COM_FORWARD_ISnapshot_SETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO(smth) HRESULT STDMETHODCALLTYPE get_TimeStamp (LONG64 * aTimeStamp) { return smth get_TimeStamp (aTimeStamp); }")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Online_TO(smth) HRESULT STDMETHODCALLTYPE get_Online (BOOL * aOnline) { return smth get_Online (aOnline); }")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Online_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Online_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Online_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Online_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE get_Machine (IMachine * * aMachine) { return smth get_Machine (aMachine); }")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Machine_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Machine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Machine_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Machine_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Parent_TO(smth) HRESULT STDMETHODCALLTYPE get_Parent (ISnapshot * * aParent) { return smth get_Parent (aParent); }")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Parent_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Parent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Parent_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Parent_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Children_TO(smth) HRESULT STDMETHODCALLTYPE get_Children (SAFEARRAY * * aChildren) { return smth get_Children (aChildren); }")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Children_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Children_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_Children_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Children_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ChildrenCount (ULONG * aChildrenCount) { return smth get_ChildrenCount (aChildrenCount); }")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ISnapshot_TO_OBJ(obj) COM_FORWARD_ISnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_TO_BASE(base) COM_FORWARD_ISnapshot_TO (base::)")

[
    uuid(8d095cb0-0126-43e0-b05d-326e74abb356),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMediumAttachment : IDispatch
{
    [propget] HRESULT Machine ([out, retval] IMachine * * aMachine);

    [propget] HRESULT Medium ([out, retval] IMedium * * aMedium);

    [propget] HRESULT Controller ([out, retval] BSTR * aController);

    [propget] HRESULT Port ([out, retval] LONG * aPort);

    [propget] HRESULT Device ([out, retval] LONG * aDevice);

    [propget] HRESULT Type ([out, retval] DeviceType * aType);

    [propget] HRESULT Passthrough ([out, retval] BOOL * aPassthrough);

    [propget] HRESULT TemporaryEject ([out, retval] BOOL * aTemporaryEject);

    [propget] HRESULT IsEjected ([out, retval] BOOL * aIsEjected);

    [propget] HRESULT NonRotational ([out, retval] BOOL * aNonRotational);

    [propget] HRESULT Discard ([out, retval] BOOL * aDiscard);

    [propget] HRESULT HotPluggable ([out, retval] BOOL * aHotPluggable);

    [propget] HRESULT BandwidthGroup ([out, retval] IBandwidthGroup * * aBandwidthGroup);

    [propget] HRESULT InternalAndReservedAttribute1IMediumAttachment ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IMediumAttachment ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IMediumAttachment ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IMediumAttachment ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IMediumAttachment ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IMediumAttachment ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IMediumAttachment ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IMediumAttachment ([out, retval] ULONG *aReserved);

}; /* interface IMediumAttachment */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE get_Machine (IMachine * * aMachine) { return smth get_Machine (aMachine); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Machine_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Machine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Machine_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Machine_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Medium_TO(smth) HRESULT STDMETHODCALLTYPE get_Medium (IMedium * * aMedium) { return smth get_Medium (aMedium); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Medium_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Medium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Medium_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Medium_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Controller_TO(smth) HRESULT STDMETHODCALLTYPE get_Controller (BSTR * aController) { return smth get_Controller (aController); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Controller_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Controller_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Controller_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Controller_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Port_TO(smth) HRESULT STDMETHODCALLTYPE get_Port (LONG * aPort) { return smth get_Port (aPort); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Port_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Port_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Port_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Port_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Device_TO(smth) HRESULT STDMETHODCALLTYPE get_Device (LONG * aDevice) { return smth get_Device (aDevice); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Device_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Device_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Device_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Device_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (DeviceType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Type_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO(smth) HRESULT STDMETHODCALLTYPE get_Passthrough (BOOL * aPassthrough) { return smth get_Passthrough (aPassthrough); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO(smth) HRESULT STDMETHODCALLTYPE get_TemporaryEject (BOOL * aTemporaryEject) { return smth get_TemporaryEject (aTemporaryEject); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO(smth) HRESULT STDMETHODCALLTYPE get_IsEjected (BOOL * aIsEjected) { return smth get_IsEjected (aIsEjected); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO(smth) HRESULT STDMETHODCALLTYPE get_NonRotational (BOOL * aNonRotational) { return smth get_NonRotational (aNonRotational); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Discard_TO(smth) HRESULT STDMETHODCALLTYPE get_Discard (BOOL * aDiscard) { return smth get_Discard (aDiscard); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Discard_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Discard_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_Discard_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Discard_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO(smth) HRESULT STDMETHODCALLTYPE get_HotPluggable (BOOL * aHotPluggable) { return smth get_HotPluggable (aHotPluggable); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE get_BandwidthGroup (IBandwidthGroup * * aBandwidthGroup) { return smth get_BandwidthGroup (aBandwidthGroup); }")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMediumAttachment_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumAttachment_TO_BASE(base) COM_FORWARD_IMediumAttachment_TO (base::)")

[
    uuid(7d510820-a678-4730-a862-818dcd3fbed0),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMedium : IDispatch
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Description ([out, retval] BSTR * aDescription);
    [propput] HRESULT Description ([in] BSTR aDescription);

    [propget] HRESULT State ([out, retval] MediumState * aState);

    [propget] HRESULT Variant ([out, retval] SAFEARRAY(MediumVariant) * aVariant);

    [propget] HRESULT Location ([out, retval] BSTR * aLocation);
    [propput] HRESULT Location ([in] BSTR aLocation);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT DeviceType ([out, retval] DeviceType * aDeviceType);

    [propget] HRESULT HostDrive ([out, retval] BOOL * aHostDrive);

    [propget] HRESULT Size ([out, retval] LONG64 * aSize);

    [propget] HRESULT Format ([out, retval] BSTR * aFormat);

    [propget] HRESULT MediumFormat ([out, retval] IMediumFormat * * aMediumFormat);

    [propget] HRESULT Type ([out, retval] MediumType * aType);
    [propput] HRESULT Type ([in] MediumType aType);

    [propget] HRESULT AllowedTypes ([out, retval] SAFEARRAY(MediumType) * aAllowedTypes);

    [propget] HRESULT Parent ([out, retval] IMedium * * aParent);

    [propget] HRESULT Children ([out, retval] SAFEARRAY(IMedium *) * aChildren);

    [propget] HRESULT Base ([out, retval] IMedium * * aBase);

    [propget] HRESULT ReadOnly ([out, retval] BOOL * aReadOnly);

    [propget] HRESULT LogicalSize ([out, retval] LONG64 * aLogicalSize);

    [propget] HRESULT AutoReset ([out, retval] BOOL * aAutoReset);
    [propput] HRESULT AutoReset ([in] BOOL aAutoReset);

    [propget] HRESULT LastAccessError ([out, retval] BSTR * aLastAccessError);

    [propget] HRESULT MachineIds ([out, retval] SAFEARRAY(BSTR) * aMachineIds);

    [propget] HRESULT InternalAndReservedAttribute1IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IMedium ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IMedium ([out, retval] ULONG *aReserved);

    HRESULT SetIds (
        [in] BOOL aSetImageId,
        [in] BSTR aImageId,
        [in] BOOL aSetParentId,
        [in] BSTR aParentId
    );

    HRESULT RefreshState (
        [out, retval] MediumState * aState
    );

    HRESULT GetSnapshotIds (
        [in] BSTR aMachineId,
        [out, retval] SAFEARRAY(BSTR) * aSnapshotIds
    );

    HRESULT LockRead (
        [out, retval] IToken * * aToken
    );

    HRESULT LockWrite (
        [out, retval] IToken * * aToken
    );

    HRESULT Close();

    HRESULT GetProperty (
        [in] BSTR aName,
        [out, retval] BSTR * aValue
    );

    HRESULT SetProperty (
        [in] BSTR aName,
        [in] BSTR aValue
    );

    HRESULT GetProperties (
        [in] BSTR aNames,
        [out] SAFEARRAY(BSTR) * aReturnNames,
        [out, retval] SAFEARRAY(BSTR) * aReturnValues
    );

    HRESULT SetProperties (
        [in] SAFEARRAY(BSTR) aNames,
        [in] SAFEARRAY(BSTR) aValues
    );

    HRESULT CreateBaseStorage (
        [in] LONG64 aLogicalSize,
        [in] SAFEARRAY(MediumVariant) aVariant,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DeleteStorage (
        [out, retval] IProgress * * aProgress
    );

    HRESULT CreateDiffStorage (
        [in] IMedium * aTarget,
        [in] SAFEARRAY(MediumVariant) aVariant,
        [out, retval] IProgress * * aProgress
    );

    HRESULT MergeTo (
        [in] IMedium * aTarget,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CloneTo (
        [in] IMedium * aTarget,
        [in] SAFEARRAY(MediumVariant) aVariant,
        [in] IMedium * aParent,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CloneToBase (
        [in] IMedium * aTarget,
        [in] SAFEARRAY(MediumVariant) aVariant,
        [out, retval] IProgress * * aProgress
    );

    HRESULT MoveTo (
        [in] BSTR aLocation,
        [out, retval] IProgress * * aProgress
    );

    HRESULT Compact (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Resize (
        [in] LONG64 aLogicalSize,
        [out, retval] IProgress * * aProgress
    );

    HRESULT Reset (
        [out, retval] IProgress * * aProgress
    );

    HRESULT ChangeEncryption (
        [in] BSTR aCurrentPassword,
        [in] BSTR aCipher,
        [in] BSTR aNewPassword,
        [in] BSTR aNewPasswordId,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetEncryptionSettings (
        [out] BSTR * aCipher,
        [out, retval] BSTR * aPasswordId
    );

    HRESULT CheckEncryptionPassword (
        [in] BSTR aPassword
    );

    HRESULT OpenForIO (
        [in] BOOL aWritable,
        [in] BSTR aPassword,
        [out, retval] IMediumIO * * aMediumIO
    );

    HRESULT ResizeAndCloneTo (
        [in] IMedium * aTarget,
        [in] LONG64 aLogicalSize,
        [in] SAFEARRAY(MediumVariant) aVariant,
        [in] IMedium * aParent,
        [out, retval] IProgress * * aProgress
    );

    HRESULT InternalAndReservedMethod1IMedium();

    HRESULT InternalAndReservedMethod2IMedium();

    HRESULT InternalAndReservedMethod3IMedium();

    HRESULT InternalAndReservedMethod4IMedium();

    HRESULT InternalAndReservedMethod5IMedium();

    HRESULT InternalAndReservedMethod6IMedium();

    HRESULT InternalAndReservedMethod7IMedium();

}; /* interface IMedium */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Id_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Description_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE put_Description (BSTR aDescription) { return smth put_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_Description_TO_OBJ(obj) COM_FORWARD_IMedium_SETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_Description_TO_BASE(base) COM_FORWARD_IMedium_SETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (MediumState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_State_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_State_TO_BASE(base) COM_FORWARD_IMedium_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Variant_TO(smth) HRESULT STDMETHODCALLTYPE get_Variant (SAFEARRAY * * aVariant) { return smth get_Variant (aVariant); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Variant_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Variant_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Variant_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Variant_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Location_TO(smth) HRESULT STDMETHODCALLTYPE get_Location (BSTR * aLocation) { return smth get_Location (aLocation); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Location_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Location_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Location_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Location_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_Location_TO(smth) HRESULT STDMETHODCALLTYPE put_Location (BSTR aLocation) { return smth put_Location (aLocation); }")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_Location_TO_OBJ(obj) COM_FORWARD_IMedium_SETTER_Location_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_Location_TO_BASE(base) COM_FORWARD_IMedium_SETTER_Location_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Name_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_DeviceType_TO(smth) HRESULT STDMETHODCALLTYPE get_DeviceType (DeviceType * aDeviceType) { return smth get_DeviceType (aDeviceType); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_DeviceType_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_DeviceType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_DeviceType_TO_BASE(base) COM_FORWARD_IMedium_GETTER_DeviceType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_HostDrive_TO(smth) HRESULT STDMETHODCALLTYPE get_HostDrive (BOOL * aHostDrive) { return smth get_HostDrive (aHostDrive); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_HostDrive_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_HostDrive_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_HostDrive_TO_BASE(base) COM_FORWARD_IMedium_GETTER_HostDrive_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Size_TO(smth) HRESULT STDMETHODCALLTYPE get_Size (LONG64 * aSize) { return smth get_Size (aSize); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Size_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Size_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Size_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Size_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Format_TO(smth) HRESULT STDMETHODCALLTYPE get_Format (BSTR * aFormat) { return smth get_Format (aFormat); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Format_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Format_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Format_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Format_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_MediumFormat_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumFormat (IMediumFormat * * aMediumFormat) { return smth get_MediumFormat (aMediumFormat); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_MediumFormat_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_MediumFormat_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_MediumFormat_TO_BASE(base) COM_FORWARD_IMedium_GETTER_MediumFormat_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (MediumType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Type_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE put_Type (MediumType aType) { return smth put_Type (aType); }")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_Type_TO_OBJ(obj) COM_FORWARD_IMedium_SETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_Type_TO_BASE(base) COM_FORWARD_IMedium_SETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_AllowedTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_AllowedTypes (SAFEARRAY * * aAllowedTypes) { return smth get_AllowedTypes (aAllowedTypes); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_AllowedTypes_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_AllowedTypes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_AllowedTypes_TO_BASE(base) COM_FORWARD_IMedium_GETTER_AllowedTypes_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Parent_TO(smth) HRESULT STDMETHODCALLTYPE get_Parent (IMedium * * aParent) { return smth get_Parent (aParent); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Parent_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Parent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Parent_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Parent_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Children_TO(smth) HRESULT STDMETHODCALLTYPE get_Children (SAFEARRAY * * aChildren) { return smth get_Children (aChildren); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Children_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Children_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Children_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Children_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Base_TO(smth) HRESULT STDMETHODCALLTYPE get_Base (IMedium * * aBase) { return smth get_Base (aBase); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Base_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Base_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_Base_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Base_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_ReadOnly_TO(smth) HRESULT STDMETHODCALLTYPE get_ReadOnly (BOOL * aReadOnly) { return smth get_ReadOnly (aReadOnly); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_ReadOnly_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_ReadOnly_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_ReadOnly_TO_BASE(base) COM_FORWARD_IMedium_GETTER_ReadOnly_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_LogicalSize_TO(smth) HRESULT STDMETHODCALLTYPE get_LogicalSize (LONG64 * aLogicalSize) { return smth get_LogicalSize (aLogicalSize); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_LogicalSize_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_LogicalSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_LogicalSize_TO_BASE(base) COM_FORWARD_IMedium_GETTER_LogicalSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_AutoReset_TO(smth) HRESULT STDMETHODCALLTYPE get_AutoReset (BOOL * aAutoReset) { return smth get_AutoReset (aAutoReset); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_AutoReset_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_AutoReset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_AutoReset_TO_BASE(base) COM_FORWARD_IMedium_GETTER_AutoReset_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_AutoReset_TO(smth) HRESULT STDMETHODCALLTYPE put_AutoReset (BOOL aAutoReset) { return smth put_AutoReset (aAutoReset); }")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_AutoReset_TO_OBJ(obj) COM_FORWARD_IMedium_SETTER_AutoReset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_SETTER_AutoReset_TO_BASE(base) COM_FORWARD_IMedium_SETTER_AutoReset_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_LastAccessError_TO(smth) HRESULT STDMETHODCALLTYPE get_LastAccessError (BSTR * aLastAccessError) { return smth get_LastAccessError (aLastAccessError); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_LastAccessError_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_LastAccessError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_LastAccessError_TO_BASE(base) COM_FORWARD_IMedium_GETTER_LastAccessError_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_MachineIds_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineIds (SAFEARRAY * * aMachineIds) { return smth get_MachineIds (aMachineIds); }")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_MachineIds_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_MachineIds_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GETTER_MachineIds_TO_BASE(base) COM_FORWARD_IMedium_GETTER_MachineIds_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMedium_SetIds_TO_OBJ(obj) COM_FORWARD_IMedium_SetIds_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_SetIds_TO_BASE(base) COM_FORWARD_IMedium_SetIds_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_RefreshState_TO(smth) HRESULT STDMETHODCALLTYPE RefreshState (MediumState * aState) { return smth RefreshState (aState); }")
cpp_quote("#define COM_FORWARD_IMedium_RefreshState_TO_OBJ(obj) COM_FORWARD_IMedium_RefreshState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_RefreshState_TO_BASE(base) COM_FORWARD_IMedium_RefreshState_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GetSnapshotIds_TO(smth) HRESULT STDMETHODCALLTYPE GetSnapshotIds (BSTR aMachineId, SAFEARRAY * * aSnapshotIds) { return smth GetSnapshotIds (aMachineId, aSnapshotIds); }")
cpp_quote("#define COM_FORWARD_IMedium_GetSnapshotIds_TO_OBJ(obj) COM_FORWARD_IMedium_GetSnapshotIds_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GetSnapshotIds_TO_BASE(base) COM_FORWARD_IMedium_GetSnapshotIds_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_LockRead_TO(smth) HRESULT STDMETHODCALLTYPE LockRead (IToken * * aToken) { return smth LockRead (aToken); }")
cpp_quote("#define COM_FORWARD_IMedium_LockRead_TO_OBJ(obj) COM_FORWARD_IMedium_LockRead_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_LockRead_TO_BASE(base) COM_FORWARD_IMedium_LockRead_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_LockWrite_TO(smth) HRESULT STDMETHODCALLTYPE LockWrite (IToken * * aToken) { return smth LockWrite (aToken); }")
cpp_quote("#define COM_FORWARD_IMedium_LockWrite_TO_OBJ(obj) COM_FORWARD_IMedium_LockWrite_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_LockWrite_TO_BASE(base) COM_FORWARD_IMedium_LockWrite_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_Close_TO(smth) HRESULT STDMETHODCALLTYPE Close() { return smth Close(); }")
cpp_quote("#define COM_FORWARD_IMedium_Close_TO_OBJ(obj) COM_FORWARD_IMedium_Close_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_Close_TO_BASE(base) COM_FORWARD_IMedium_Close_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GetProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetProperty (BSTR aName, BSTR * aValue) { return smth GetProperty (aName, aValue); }")
cpp_quote("#define COM_FORWARD_IMedium_GetProperty_TO_OBJ(obj) COM_FORWARD_IMedium_GetProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GetProperty_TO_BASE(base) COM_FORWARD_IMedium_GetProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_SetProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetProperty (BSTR aName, BSTR aValue) { return smth SetProperty (aName, aValue); }")
cpp_quote("#define COM_FORWARD_IMedium_SetProperty_TO_OBJ(obj) COM_FORWARD_IMedium_SetProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_SetProperty_TO_BASE(base) COM_FORWARD_IMedium_SetProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GetProperties_TO(smth) HRESULT STDMETHODCALLTYPE GetProperties (BSTR aNames, SAFEARRAY * * aReturnNames, SAFEARRAY * * aReturnValues) { return smth GetProperties (aNames, aReturnNames, aReturnValues); }")
cpp_quote("#define COM_FORWARD_IMedium_GetProperties_TO_OBJ(obj) COM_FORWARD_IMedium_GetProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GetProperties_TO_BASE(base) COM_FORWARD_IMedium_GetProperties_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_SetProperties_TO(smth) HRESULT STDMETHODCALLTYPE SetProperties (SAFEARRAY * * aNames, SAFEARRAY * * aValues) { return smth SetProperties (aNames, aValues); }")
cpp_quote("#define COM_FORWARD_IMedium_SetProperties_TO_OBJ(obj) COM_FORWARD_IMedium_SetProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_SetProperties_TO_BASE(base) COM_FORWARD_IMedium_SetProperties_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_CreateBaseStorage_TO(smth) HRESULT STDMETHODCALLTYPE CreateBaseStorage (LONG64 aLogicalSize, SAFEARRAY * * aVariant, IProgress * * aProgress) { return smth CreateBaseStorage (aLogicalSize, aVariant, aProgress); }")
cpp_quote("#define COM_FORWARD_IMedium_CreateBaseStorage_TO_OBJ(obj) COM_FORWARD_IMedium_CreateBaseStorage_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_CreateBaseStorage_TO_BASE(base) COM_FORWARD_IMedium_CreateBaseStorage_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_DeleteStorage_TO(smth) HRESULT STDMETHODCALLTYPE DeleteStorage (IProgress * * aProgress) { return smth DeleteStorage (aProgress); }")
cpp_quote("#define COM_FORWARD_IMedium_DeleteStorage_TO_OBJ(obj) COM_FORWARD_IMedium_DeleteStorage_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_DeleteStorage_TO_BASE(base) COM_FORWARD_IMedium_DeleteStorage_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_CreateDiffStorage_TO(smth) HRESULT STDMETHODCALLTYPE CreateDiffStorage (IMedium * aTarget, SAFEARRAY * * aVariant, IProgress * * aProgress) { return smth CreateDiffStorage (aTarget, aVariant, aProgress); }")
cpp_quote("#define COM_FORWARD_IMedium_CreateDiffStorage_TO_OBJ(obj) COM_FORWARD_IMedium_CreateDiffStorage_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_CreateDiffStorage_TO_BASE(base) COM_FORWARD_IMedium_CreateDiffStorage_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_MergeTo_TO(smth) HRESULT STDMETHODCALLTYPE MergeTo (IMedium * aTarget, IProgress * * aProgress) { return smth MergeTo (aTarget, aProgress); }")
cpp_quote("#define COM_FORWARD_IMedium_MergeTo_TO_OBJ(obj) COM_FORWARD_IMedium_MergeTo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_MergeTo_TO_BASE(base) COM_FORWARD_IMedium_MergeTo_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMedium_CloneTo_TO_OBJ(obj) COM_FORWARD_IMedium_CloneTo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_CloneTo_TO_BASE(base) COM_FORWARD_IMedium_CloneTo_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_CloneToBase_TO(smth) HRESULT STDMETHODCALLTYPE CloneToBase (IMedium * aTarget, SAFEARRAY * * aVariant, IProgress * * aProgress) { return smth CloneToBase (aTarget, aVariant, aProgress); }")
cpp_quote("#define COM_FORWARD_IMedium_CloneToBase_TO_OBJ(obj) COM_FORWARD_IMedium_CloneToBase_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_CloneToBase_TO_BASE(base) COM_FORWARD_IMedium_CloneToBase_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_MoveTo_TO(smth) HRESULT STDMETHODCALLTYPE MoveTo (BSTR aLocation, IProgress * * aProgress) { return smth MoveTo (aLocation, aProgress); }")
cpp_quote("#define COM_FORWARD_IMedium_MoveTo_TO_OBJ(obj) COM_FORWARD_IMedium_MoveTo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_MoveTo_TO_BASE(base) COM_FORWARD_IMedium_MoveTo_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_Compact_TO(smth) HRESULT STDMETHODCALLTYPE Compact (IProgress * * aProgress) { return smth Compact (aProgress); }")
cpp_quote("#define COM_FORWARD_IMedium_Compact_TO_OBJ(obj) COM_FORWARD_IMedium_Compact_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_Compact_TO_BASE(base) COM_FORWARD_IMedium_Compact_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_Resize_TO(smth) HRESULT STDMETHODCALLTYPE Resize (LONG64 aLogicalSize, IProgress * * aProgress) { return smth Resize (aLogicalSize, aProgress); }")
cpp_quote("#define COM_FORWARD_IMedium_Resize_TO_OBJ(obj) COM_FORWARD_IMedium_Resize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_Resize_TO_BASE(base) COM_FORWARD_IMedium_Resize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_Reset_TO(smth) HRESULT STDMETHODCALLTYPE Reset (IProgress * * aProgress) { return smth Reset (aProgress); }")
cpp_quote("#define COM_FORWARD_IMedium_Reset_TO_OBJ(obj) COM_FORWARD_IMedium_Reset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_Reset_TO_BASE(base) COM_FORWARD_IMedium_Reset_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMedium_ChangeEncryption_TO_OBJ(obj) COM_FORWARD_IMedium_ChangeEncryption_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_ChangeEncryption_TO_BASE(base) COM_FORWARD_IMedium_ChangeEncryption_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_GetEncryptionSettings_TO(smth) HRESULT STDMETHODCALLTYPE GetEncryptionSettings (BSTR * aCipher, BSTR * aPasswordId) { return smth GetEncryptionSettings (aCipher, aPasswordId); }")
cpp_quote("#define COM_FORWARD_IMedium_GetEncryptionSettings_TO_OBJ(obj) COM_FORWARD_IMedium_GetEncryptionSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_GetEncryptionSettings_TO_BASE(base) COM_FORWARD_IMedium_GetEncryptionSettings_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_CheckEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE CheckEncryptionPassword (BSTR aPassword) { return smth CheckEncryptionPassword (aPassword); }")
cpp_quote("#define COM_FORWARD_IMedium_CheckEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IMedium_CheckEncryptionPassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_CheckEncryptionPassword_TO_BASE(base) COM_FORWARD_IMedium_CheckEncryptionPassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_OpenForIO_TO(smth) HRESULT STDMETHODCALLTYPE OpenForIO (BOOL aWritable, BSTR aPassword, IMediumIO * * aMediumIO) { return smth OpenForIO (aWritable, aPassword, aMediumIO); }")
cpp_quote("#define COM_FORWARD_IMedium_OpenForIO_TO_OBJ(obj) COM_FORWARD_IMedium_OpenForIO_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_OpenForIO_TO_BASE(base) COM_FORWARD_IMedium_OpenForIO_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMedium_ResizeAndCloneTo_TO_OBJ(obj) COM_FORWARD_IMedium_ResizeAndCloneTo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_ResizeAndCloneTo_TO_BASE(base) COM_FORWARD_IMedium_ResizeAndCloneTo_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMedium_TO_OBJ(obj) COM_FORWARD_IMedium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_TO_BASE(base) COM_FORWARD_IMedium_TO (base::)")

[
    uuid(11be93c7-a862-4dc9-8c89-bf4ba74a886a),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMediumFormat : IDispatch
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Capabilities ([out, retval] SAFEARRAY(MediumFormatCapabilities) * aCapabilities);

    [propget] HRESULT InternalAndReservedAttribute1IMediumFormat ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IMediumFormat ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IMediumFormat ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IMediumFormat ([out, retval] ULONG *aReserved);

    HRESULT DescribeFileExtensions (
        [out] SAFEARRAY(BSTR) * aExtensions,
        [out] SAFEARRAY(DeviceType) * aTypes
    );

    HRESULT DescribeProperties (
        [out] SAFEARRAY(BSTR) * aNames,
        [out] SAFEARRAY(BSTR) * aDescriptions,
        [out] SAFEARRAY(DataType) * aTypes,
        [out] SAFEARRAY(ULONG) * aFlags,
        [out] SAFEARRAY(BSTR) * aDefaults
    );

    HRESULT InternalAndReservedMethod1IMediumFormat();

    HRESULT InternalAndReservedMethod2IMediumFormat();

}; /* interface IMediumFormat */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMediumFormat_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IMediumFormat_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IMediumFormat_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumFormat_GETTER_Id_TO_BASE(base) COM_FORWARD_IMediumFormat_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumFormat_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IMediumFormat_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IMediumFormat_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumFormat_GETTER_Name_TO_BASE(base) COM_FORWARD_IMediumFormat_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO(smth) HRESULT STDMETHODCALLTYPE get_Capabilities (SAFEARRAY * * aCapabilities) { return smth get_Capabilities (aCapabilities); }")
cpp_quote("#define COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO_OBJ(obj) COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO_BASE(base) COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO(smth) HRESULT STDMETHODCALLTYPE DescribeFileExtensions (SAFEARRAY * * aExtensions, SAFEARRAY * * aTypes) { return smth DescribeFileExtensions (aExtensions, aTypes); }")
cpp_quote("#define COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO_OBJ(obj) COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO_BASE(base) COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMediumFormat_DescribeProperties_TO_OBJ(obj) COM_FORWARD_IMediumFormat_DescribeProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumFormat_DescribeProperties_TO_BASE(base) COM_FORWARD_IMediumFormat_DescribeProperties_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMediumFormat_TO_OBJ(obj) COM_FORWARD_IMediumFormat_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumFormat_TO_BASE(base) COM_FORWARD_IMediumFormat_TO (base::)")

[
    uuid(a338ed20-58d9-43ae-8b03-c1fd7088ef15),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDataStream : IDispatch
{
    [propget] HRESULT ReadSize ([out, retval] ULONG * aReadSize);

    [propget] HRESULT InternalAndReservedAttribute1IDataStream ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDataStream ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IDataStream ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IDataStream ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IDataStream ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IDataStream ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IDataStream ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IDataStream ([out, retval] ULONG *aReserved);

    HRESULT Read (
        [in] ULONG aSize,
        [in] ULONG aTimeoutMS,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT InternalAndReservedMethod1IDataStream();

    HRESULT InternalAndReservedMethod2IDataStream();

    HRESULT InternalAndReservedMethod3IDataStream();

    HRESULT InternalAndReservedMethod4IDataStream();

}; /* interface IDataStream */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDataStream_GETTER_ReadSize_TO(smth) HRESULT STDMETHODCALLTYPE get_ReadSize (ULONG * aReadSize) { return smth get_ReadSize (aReadSize); }")
cpp_quote("#define COM_FORWARD_IDataStream_GETTER_ReadSize_TO_OBJ(obj) COM_FORWARD_IDataStream_GETTER_ReadSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDataStream_GETTER_ReadSize_TO_BASE(base) COM_FORWARD_IDataStream_GETTER_ReadSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IDataStream_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (ULONG aSize, ULONG aTimeoutMS, SAFEARRAY * * aData) { return smth Read (aSize, aTimeoutMS, aData); }")
cpp_quote("#define COM_FORWARD_IDataStream_Read_TO_OBJ(obj) COM_FORWARD_IDataStream_Read_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDataStream_Read_TO_BASE(base) COM_FORWARD_IDataStream_Read_TO (base::)")
cpp_quote("#define COM_FORWARD_IDataStream_TO(smth) COM_FORWARD_IDataStream_GETTER_ReadSize_TO (smth) COM_FORWARD_IDataStream_Read_TO (smth) ")
cpp_quote("#define COM_FORWARD_IDataStream_TO_OBJ(obj) COM_FORWARD_IDataStream_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDataStream_TO_BASE(base) COM_FORWARD_IDataStream_TO (base::)")

[
    uuid(e4b301a9-5f86-4d65-ad1b-87ca284fb1c8),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMediumIO : IDispatch
{
    [propget] HRESULT Medium ([out, retval] IMedium * * aMedium);

    [propget] HRESULT Writable ([out, retval] BOOL * aWritable);

    [propget] HRESULT Explorer ([out, retval] IVFSExplorer * * aExplorer);

    [propget] HRESULT InternalAndReservedAttribute1IMediumIO ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IMediumIO ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IMediumIO ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IMediumIO ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IMediumIO ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IMediumIO ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IMediumIO ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IMediumIO ([out, retval] ULONG *aReserved);

    HRESULT Read (
        [in] LONG64 aOffset,
        [in] ULONG aSize,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT Write (
        [in] LONG64 aOffset,
        [in] SAFEARRAY(BYTE) aData,
        [out, retval] ULONG * aWritten
    );

    HRESULT FormatFAT (
        [in] BOOL aQuick
    );

    HRESULT InitializePartitionTable (
        [in] PartitionTableType aFormat,
        [in] BOOL aWholeDiskInOneEntry
    );

    HRESULT ConvertToStream (
        [in] BSTR aFormat,
        [in] SAFEARRAY(MediumVariant) aVariant,
        [in] ULONG aBufferSize,
        [out] IDataStream * * aStream,
        [out, retval] IProgress * * aProgress
    );

    HRESULT Close();

    HRESULT InternalAndReservedMethod1IMediumIO();

    HRESULT InternalAndReservedMethod2IMediumIO();

    HRESULT InternalAndReservedMethod3IMediumIO();

    HRESULT InternalAndReservedMethod4IMediumIO();

}; /* interface IMediumIO */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMediumIO_GETTER_Medium_TO(smth) HRESULT STDMETHODCALLTYPE get_Medium (IMedium * * aMedium) { return smth get_Medium (aMedium); }")
cpp_quote("#define COM_FORWARD_IMediumIO_GETTER_Medium_TO_OBJ(obj) COM_FORWARD_IMediumIO_GETTER_Medium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumIO_GETTER_Medium_TO_BASE(base) COM_FORWARD_IMediumIO_GETTER_Medium_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumIO_GETTER_Writable_TO(smth) HRESULT STDMETHODCALLTYPE get_Writable (BOOL * aWritable) { return smth get_Writable (aWritable); }")
cpp_quote("#define COM_FORWARD_IMediumIO_GETTER_Writable_TO_OBJ(obj) COM_FORWARD_IMediumIO_GETTER_Writable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumIO_GETTER_Writable_TO_BASE(base) COM_FORWARD_IMediumIO_GETTER_Writable_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumIO_GETTER_Explorer_TO(smth) HRESULT STDMETHODCALLTYPE get_Explorer (IVFSExplorer * * aExplorer) { return smth get_Explorer (aExplorer); }")
cpp_quote("#define COM_FORWARD_IMediumIO_GETTER_Explorer_TO_OBJ(obj) COM_FORWARD_IMediumIO_GETTER_Explorer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumIO_GETTER_Explorer_TO_BASE(base) COM_FORWARD_IMediumIO_GETTER_Explorer_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumIO_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (LONG64 aOffset, ULONG aSize, SAFEARRAY * * aData) { return smth Read (aOffset, aSize, aData); }")
cpp_quote("#define COM_FORWARD_IMediumIO_Read_TO_OBJ(obj) COM_FORWARD_IMediumIO_Read_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumIO_Read_TO_BASE(base) COM_FORWARD_IMediumIO_Read_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumIO_Write_TO(smth) HRESULT STDMETHODCALLTYPE Write (LONG64 aOffset, SAFEARRAY * * aData, ULONG * aWritten) { return smth Write (aOffset, aData, aWritten); }")
cpp_quote("#define COM_FORWARD_IMediumIO_Write_TO_OBJ(obj) COM_FORWARD_IMediumIO_Write_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumIO_Write_TO_BASE(base) COM_FORWARD_IMediumIO_Write_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumIO_FormatFAT_TO(smth) HRESULT STDMETHODCALLTYPE FormatFAT (BOOL aQuick) { return smth FormatFAT (aQuick); }")
cpp_quote("#define COM_FORWARD_IMediumIO_FormatFAT_TO_OBJ(obj) COM_FORWARD_IMediumIO_FormatFAT_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumIO_FormatFAT_TO_BASE(base) COM_FORWARD_IMediumIO_FormatFAT_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumIO_InitializePartitionTable_TO(smth) HRESULT STDMETHODCALLTYPE InitializePartitionTable (PartitionTableType aFormat, BOOL aWholeDiskInOneEntry) { return smth InitializePartitionTable (aFormat, aWholeDiskInOneEntry); }")
cpp_quote("#define COM_FORWARD_IMediumIO_InitializePartitionTable_TO_OBJ(obj) COM_FORWARD_IMediumIO_InitializePartitionTable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumIO_InitializePartitionTable_TO_BASE(base) COM_FORWARD_IMediumIO_InitializePartitionTable_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMediumIO_ConvertToStream_TO_OBJ(obj) COM_FORWARD_IMediumIO_ConvertToStream_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumIO_ConvertToStream_TO_BASE(base) COM_FORWARD_IMediumIO_ConvertToStream_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumIO_Close_TO(smth) HRESULT STDMETHODCALLTYPE Close() { return smth Close(); }")
cpp_quote("#define COM_FORWARD_IMediumIO_Close_TO_OBJ(obj) COM_FORWARD_IMediumIO_Close_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumIO_Close_TO_BASE(base) COM_FORWARD_IMediumIO_Close_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMediumIO_TO_OBJ(obj) COM_FORWARD_IMediumIO_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumIO_TO_BASE(base) COM_FORWARD_IMediumIO_TO (base::)")

[
    uuid(20479eaf-d8ed-44cf-85ac-c83a26c95a4d),
    object,
    dual,
    oleautomation
    , proxy
]
interface IToken : IDispatch
{
    [propget] HRESULT InternalAndReservedAttribute1IToken ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IToken ([out, retval] ULONG *aReserved);

    HRESULT Abandon();

    HRESULT Dummy();

    HRESULT InternalAndReservedMethod1IToken();

}; /* interface IToken */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IToken_Abandon_TO(smth) HRESULT STDMETHODCALLTYPE Abandon() { return smth Abandon(); }")
cpp_quote("#define COM_FORWARD_IToken_Abandon_TO_OBJ(obj) COM_FORWARD_IToken_Abandon_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IToken_Abandon_TO_BASE(base) COM_FORWARD_IToken_Abandon_TO (base::)")
cpp_quote("#define COM_FORWARD_IToken_Dummy_TO(smth) HRESULT STDMETHODCALLTYPE Dummy() { return smth Dummy(); }")
cpp_quote("#define COM_FORWARD_IToken_Dummy_TO_OBJ(obj) COM_FORWARD_IToken_Dummy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IToken_Dummy_TO_BASE(base) COM_FORWARD_IToken_Dummy_TO (base::)")
cpp_quote("#define COM_FORWARD_IToken_TO(smth) COM_FORWARD_IToken_Abandon_TO (smth) COM_FORWARD_IToken_Dummy_TO (smth) ")
cpp_quote("#define COM_FORWARD_IToken_TO_OBJ(obj) COM_FORWARD_IToken_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IToken_TO_BASE(base) COM_FORWARD_IToken_TO (base::)")

[
    uuid(755e6bdf-1640-41f9-bd74-3ef5fd653250),
    object,
    dual,
    oleautomation
    , proxy
]
interface IKeyboard : IDispatch
{
    [propget] HRESULT KeyboardLEDs ([out, retval] SAFEARRAY(KeyboardLED) * aKeyboardLEDs);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT InternalAndReservedAttribute1IKeyboard ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IKeyboard ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IKeyboard ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IKeyboard ([out, retval] ULONG *aReserved);

    HRESULT PutScancode (
        [in] LONG aScancode
    );

    HRESULT PutScancodes (
        [in] SAFEARRAY(LONG) aScancodes,
        [out, retval] ULONG * aCodesStored
    );

    HRESULT PutCAD();

    HRESULT ReleaseKeys();

    HRESULT PutUsageCode (
        [in] LONG aUsageCode,
        [in] LONG aUsagePage,
        [in] BOOL aKeyRelease
    );

    HRESULT InternalAndReservedMethod1IKeyboard();

    HRESULT InternalAndReservedMethod2IKeyboard();

    HRESULT InternalAndReservedMethod3IKeyboard();

    HRESULT InternalAndReservedMethod4IKeyboard();

}; /* interface IKeyboard */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyboardLEDs (SAFEARRAY * * aKeyboardLEDs) { return smth get_KeyboardLEDs (aKeyboardLEDs); }")
cpp_quote("#define COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO_OBJ(obj) COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO_BASE(base) COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO (base::)")
cpp_quote("#define COM_FORWARD_IKeyboard_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IKeyboard_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IKeyboard_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboard_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IKeyboard_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IKeyboard_PutScancode_TO(smth) HRESULT STDMETHODCALLTYPE PutScancode (LONG aScancode) { return smth PutScancode (aScancode); }")
cpp_quote("#define COM_FORWARD_IKeyboard_PutScancode_TO_OBJ(obj) COM_FORWARD_IKeyboard_PutScancode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboard_PutScancode_TO_BASE(base) COM_FORWARD_IKeyboard_PutScancode_TO (base::)")
cpp_quote("#define COM_FORWARD_IKeyboard_PutScancodes_TO(smth) HRESULT STDMETHODCALLTYPE PutScancodes (SAFEARRAY * * aScancodes, ULONG * aCodesStored) { return smth PutScancodes (aScancodes, aCodesStored); }")
cpp_quote("#define COM_FORWARD_IKeyboard_PutScancodes_TO_OBJ(obj) COM_FORWARD_IKeyboard_PutScancodes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboard_PutScancodes_TO_BASE(base) COM_FORWARD_IKeyboard_PutScancodes_TO (base::)")
cpp_quote("#define COM_FORWARD_IKeyboard_PutCAD_TO(smth) HRESULT STDMETHODCALLTYPE PutCAD() { return smth PutCAD(); }")
cpp_quote("#define COM_FORWARD_IKeyboard_PutCAD_TO_OBJ(obj) COM_FORWARD_IKeyboard_PutCAD_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboard_PutCAD_TO_BASE(base) COM_FORWARD_IKeyboard_PutCAD_TO (base::)")
cpp_quote("#define COM_FORWARD_IKeyboard_ReleaseKeys_TO(smth) HRESULT STDMETHODCALLTYPE ReleaseKeys() { return smth ReleaseKeys(); }")
cpp_quote("#define COM_FORWARD_IKeyboard_ReleaseKeys_TO_OBJ(obj) COM_FORWARD_IKeyboard_ReleaseKeys_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboard_ReleaseKeys_TO_BASE(base) COM_FORWARD_IKeyboard_ReleaseKeys_TO (base::)")
cpp_quote("#define COM_FORWARD_IKeyboard_PutUsageCode_TO(smth) HRESULT STDMETHODCALLTYPE PutUsageCode (LONG aUsageCode, LONG aUsagePage, BOOL aKeyRelease) { return smth PutUsageCode (aUsageCode, aUsagePage, aKeyRelease); }")
cpp_quote("#define COM_FORWARD_IKeyboard_PutUsageCode_TO_OBJ(obj) COM_FORWARD_IKeyboard_PutUsageCode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboard_PutUsageCode_TO_BASE(base) COM_FORWARD_IKeyboard_PutUsageCode_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IKeyboard_TO_OBJ(obj) COM_FORWARD_IKeyboard_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboard_TO_BASE(base) COM_FORWARD_IKeyboard_TO (base::)")

[
    uuid(1e775ea3-9070-4f9c-b0d5-53054496dbe0),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMousePointerShape : IDispatch
{
    [propget] HRESULT Visible ([out, retval] BOOL * aVisible);

    [propget] HRESULT Alpha ([out, retval] BOOL * aAlpha);

    [propget] HRESULT HotX ([out, retval] ULONG * aHotX);

    [propget] HRESULT HotY ([out, retval] ULONG * aHotY);

    [propget] HRESULT Width ([out, retval] ULONG * aWidth);

    [propget] HRESULT Height ([out, retval] ULONG * aHeight);

    [propget] HRESULT Shape ([out, retval] SAFEARRAY(BYTE) * aShape);

    [propget] HRESULT InternalAndReservedAttribute1IMousePointerShape ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IMousePointerShape ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IMousePointerShape ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IMousePointerShape ([out, retval] ULONG *aReserved);

}; /* interface IMousePointerShape */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Visible_TO(smth) HRESULT STDMETHODCALLTYPE get_Visible (BOOL * aVisible) { return smth get_Visible (aVisible); }")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Visible_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_Visible_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Visible_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_Visible_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO(smth) HRESULT STDMETHODCALLTYPE get_Alpha (BOOL * aAlpha) { return smth get_Alpha (aAlpha); }")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_HotX_TO(smth) HRESULT STDMETHODCALLTYPE get_HotX (ULONG * aHotX) { return smth get_HotX (aHotX); }")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_HotX_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_HotX_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_HotX_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_HotX_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_HotY_TO(smth) HRESULT STDMETHODCALLTYPE get_HotY (ULONG * aHotY) { return smth get_HotY (aHotY); }")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_HotY_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_HotY_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_HotY_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_HotY_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Width_TO(smth) HRESULT STDMETHODCALLTYPE get_Width (ULONG * aWidth) { return smth get_Width (aWidth); }")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Width_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_Width_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Width_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_Width_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Height_TO(smth) HRESULT STDMETHODCALLTYPE get_Height (ULONG * aHeight) { return smth get_Height (aHeight); }")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Height_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_Height_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Height_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_Height_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Shape_TO(smth) HRESULT STDMETHODCALLTYPE get_Shape (SAFEARRAY * * aShape) { return smth get_Shape (aShape); }")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Shape_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_Shape_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_GETTER_Shape_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_Shape_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMousePointerShape_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShape_TO_BASE(base) COM_FORWARD_IMousePointerShape_TO (base::)")

[
    uuid(25360a74-55e5-4f14-ac2a-f5cf8e62e4af),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMouse : IDispatch
{
    [propget] HRESULT AbsoluteSupported ([out, retval] BOOL * aAbsoluteSupported);

    [propget] HRESULT RelativeSupported ([out, retval] BOOL * aRelativeSupported);

    [propget] HRESULT TouchScreenSupported ([out, retval] BOOL * aTouchScreenSupported);

    [propget] HRESULT TouchPadSupported ([out, retval] BOOL * aTouchPadSupported);

    [propget] HRESULT NeedsHostCursor ([out, retval] BOOL * aNeedsHostCursor);

    [propget] HRESULT PointerShape ([out, retval] IMousePointerShape * * aPointerShape);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT InternalAndReservedAttribute1IMouse ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IMouse ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IMouse ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IMouse ([out, retval] ULONG *aReserved);

    HRESULT PutMouseEvent (
        [in] LONG aDx,
        [in] LONG aDy,
        [in] LONG aDz,
        [in] LONG aDw,
        [in] LONG aButtonState
    );

    HRESULT PutMouseEventAbsolute (
        [in] LONG aX,
        [in] LONG aY,
        [in] LONG aDz,
        [in] LONG aDw,
        [in] LONG aButtonState
    );

    HRESULT PutEventMultiTouch (
        [in] LONG aCount,
        [in] SAFEARRAY(LONG64) aContacts,
        [in] BOOL aIsTouchScreen,
        [in] ULONG aScanTime
    );

    HRESULT PutEventMultiTouchString (
        [in] LONG aCount,
        [in] BSTR aContacts,
        [in] BOOL aIsTouchScreen,
        [in] ULONG aScanTime
    );

    HRESULT InternalAndReservedMethod1IMouse();

    HRESULT InternalAndReservedMethod2IMouse();

    HRESULT InternalAndReservedMethod3IMouse();

    HRESULT InternalAndReservedMethod4IMouse();

}; /* interface IMouse */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_AbsoluteSupported (BOOL * aAbsoluteSupported) { return smth get_AbsoluteSupported (aAbsoluteSupported); }")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO_BASE(base) COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO (base::)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_RelativeSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_RelativeSupported (BOOL * aRelativeSupported) { return smth get_RelativeSupported (aRelativeSupported); }")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_RelativeSupported_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_RelativeSupported_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_RelativeSupported_TO_BASE(base) COM_FORWARD_IMouse_GETTER_RelativeSupported_TO (base::)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_TouchScreenSupported (BOOL * aTouchScreenSupported) { return smth get_TouchScreenSupported (aTouchScreenSupported); }")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO_BASE(base) COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO (base::)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_TouchPadSupported (BOOL * aTouchPadSupported) { return smth get_TouchPadSupported (aTouchPadSupported); }")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO_BASE(base) COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO (base::)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO(smth) HRESULT STDMETHODCALLTYPE get_NeedsHostCursor (BOOL * aNeedsHostCursor) { return smth get_NeedsHostCursor (aNeedsHostCursor); }")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO_BASE(base) COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO (base::)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_PointerShape_TO(smth) HRESULT STDMETHODCALLTYPE get_PointerShape (IMousePointerShape * * aPointerShape) { return smth get_PointerShape (aPointerShape); }")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_PointerShape_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_PointerShape_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_PointerShape_TO_BASE(base) COM_FORWARD_IMouse_GETTER_PointerShape_TO (base::)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IMouse_GETTER_EventSource_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMouse_PutMouseEvent_TO_OBJ(obj) COM_FORWARD_IMouse_PutMouseEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_PutMouseEvent_TO_BASE(base) COM_FORWARD_IMouse_PutMouseEvent_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMouse_PutMouseEventAbsolute_TO_OBJ(obj) COM_FORWARD_IMouse_PutMouseEventAbsolute_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_PutMouseEventAbsolute_TO_BASE(base) COM_FORWARD_IMouse_PutMouseEventAbsolute_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMouse_PutEventMultiTouch_TO_OBJ(obj) COM_FORWARD_IMouse_PutEventMultiTouch_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_PutEventMultiTouch_TO_BASE(base) COM_FORWARD_IMouse_PutEventMultiTouch_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMouse_PutEventMultiTouchString_TO_OBJ(obj) COM_FORWARD_IMouse_PutEventMultiTouchString_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_PutEventMultiTouchString_TO_BASE(base) COM_FORWARD_IMouse_PutEventMultiTouchString_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMouse_TO_OBJ(obj) COM_FORWARD_IMouse_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouse_TO_BASE(base) COM_FORWARD_IMouse_TO (base::)")

[
    uuid(5094f67a-8084-11e9-b185-dbe296e54799),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDisplaySourceBitmap : IDispatch
{
    [propget] HRESULT ScreenId ([out, retval] ULONG * aScreenId);

    HRESULT QueryBitmapInfo (
        [out] BYTE * * aAddress,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight,
        [out] ULONG * aBitsPerPixel,
        [out] ULONG * aBytesPerLine,
        [out] BitmapFormat * aBitmapFormat
    );

}; /* interface IDisplaySourceBitmap */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO(smth) HRESULT STDMETHODCALLTYPE get_ScreenId (ULONG * aScreenId) { return smth get_ScreenId (aScreenId); }")
cpp_quote("#define COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO_OBJ(obj) COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO_BASE(base) COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO_OBJ(obj) COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO_BASE(base) COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplaySourceBitmap_TO(smth) COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO (smth) COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO (smth) ")
cpp_quote("#define COM_FORWARD_IDisplaySourceBitmap_TO_OBJ(obj) COM_FORWARD_IDisplaySourceBitmap_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplaySourceBitmap_TO_BASE(base) COM_FORWARD_IDisplaySourceBitmap_TO (base::)")

[
    uuid(1e8d3f27-b45c-48ae-8b36-d35e83d207aa),
    object,
    dual,
    oleautomation
    , proxy
]
interface IFramebuffer : IDispatch
{
    [propget] HRESULT Width ([out, retval] ULONG * aWidth);

    [propget] HRESULT Height ([out, retval] ULONG * aHeight);

    [propget] HRESULT BitsPerPixel ([out, retval] ULONG * aBitsPerPixel);

    [propget] HRESULT BytesPerLine ([out, retval] ULONG * aBytesPerLine);

    [propget] HRESULT PixelFormat ([out, retval] BitmapFormat * aPixelFormat);

    [propget] HRESULT HeightReduction ([out, retval] ULONG * aHeightReduction);

    [propget] HRESULT Overlay ([out, retval] IFramebufferOverlay * * aOverlay);

    [propget] HRESULT WinId ([out, retval] LONG64 * aWinId);

    [propget] HRESULT Capabilities ([out, retval] SAFEARRAY(FramebufferCapabilities) * aCapabilities);

    HRESULT NotifyUpdate (
        [in] ULONG aX,
        [in] ULONG aY,
        [in] ULONG aWidth,
        [in] ULONG aHeight
    );

    HRESULT NotifyUpdateImage (
        [in] ULONG aX,
        [in] ULONG aY,
        [in] ULONG aWidth,
        [in] ULONG aHeight,
        [in] SAFEARRAY(BYTE) aImage
    );

    HRESULT NotifyChange (
        [in] ULONG aScreenId,
        [in] ULONG aXOrigin,
        [in] ULONG aYOrigin,
        [in] ULONG aWidth,
        [in] ULONG aHeight
    );

    HRESULT VideoModeSupported (
        [in] ULONG aWidth,
        [in] ULONG aHeight,
        [in] ULONG aBpp,
        [out, retval] BOOL * aSupported
    );

    HRESULT GetVisibleRegion (
        [in] BYTE * aRectangles,
        [in] ULONG aCount,
        [out, retval] ULONG * aCountCopied
    );

    HRESULT SetVisibleRegion (
        [in] BYTE * aRectangles,
        [in] ULONG aCount
    );

    HRESULT ProcessVHWACommand (
        [in] BYTE * aCommand,
        [in] LONG aEnmCmd,
        [in] BOOL aFromGuest
    );

    HRESULT Notify3DEvent (
        [in] ULONG aType,
        [in] SAFEARRAY(BYTE) aData
    );

}; /* interface IFramebuffer */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Width_TO(smth) HRESULT STDMETHODCALLTYPE get_Width (ULONG * aWidth) { return smth get_Width (aWidth); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Width_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_Width_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Width_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_Width_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Height_TO(smth) HRESULT STDMETHODCALLTYPE get_Height (ULONG * aHeight) { return smth get_Height (aHeight); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Height_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_Height_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Height_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_Height_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO(smth) HRESULT STDMETHODCALLTYPE get_BitsPerPixel (ULONG * aBitsPerPixel) { return smth get_BitsPerPixel (aBitsPerPixel); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO(smth) HRESULT STDMETHODCALLTYPE get_BytesPerLine (ULONG * aBytesPerLine) { return smth get_BytesPerLine (aBytesPerLine); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO(smth) HRESULT STDMETHODCALLTYPE get_PixelFormat (BitmapFormat * aPixelFormat) { return smth get_PixelFormat (aPixelFormat); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO(smth) HRESULT STDMETHODCALLTYPE get_HeightReduction (ULONG * aHeightReduction) { return smth get_HeightReduction (aHeightReduction); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Overlay_TO(smth) HRESULT STDMETHODCALLTYPE get_Overlay (IFramebufferOverlay * * aOverlay) { return smth get_Overlay (aOverlay); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Overlay_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_Overlay_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Overlay_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_Overlay_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_WinId_TO(smth) HRESULT STDMETHODCALLTYPE get_WinId (LONG64 * aWinId) { return smth get_WinId (aWinId); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_WinId_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_WinId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_WinId_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_WinId_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO(smth) HRESULT STDMETHODCALLTYPE get_Capabilities (SAFEARRAY * * aCapabilities) { return smth get_Capabilities (aCapabilities); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_NotifyUpdate_TO_OBJ(obj) COM_FORWARD_IFramebuffer_NotifyUpdate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_NotifyUpdate_TO_BASE(base) COM_FORWARD_IFramebuffer_NotifyUpdate_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_NotifyUpdateImage_TO_OBJ(obj) COM_FORWARD_IFramebuffer_NotifyUpdateImage_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_NotifyUpdateImage_TO_BASE(base) COM_FORWARD_IFramebuffer_NotifyUpdateImage_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_NotifyChange_TO_OBJ(obj) COM_FORWARD_IFramebuffer_NotifyChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_NotifyChange_TO_BASE(base) COM_FORWARD_IFramebuffer_NotifyChange_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_VideoModeSupported_TO_OBJ(obj) COM_FORWARD_IFramebuffer_VideoModeSupported_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_VideoModeSupported_TO_BASE(base) COM_FORWARD_IFramebuffer_VideoModeSupported_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GetVisibleRegion_TO(smth) HRESULT STDMETHODCALLTYPE GetVisibleRegion (BYTE * aRectangles, ULONG aCount, ULONG * aCountCopied) { return smth GetVisibleRegion (aRectangles, aCount, aCountCopied); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GetVisibleRegion_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GetVisibleRegion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GetVisibleRegion_TO_BASE(base) COM_FORWARD_IFramebuffer_GetVisibleRegion_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_SetVisibleRegion_TO(smth) HRESULT STDMETHODCALLTYPE SetVisibleRegion (BYTE * aRectangles, ULONG aCount) { return smth SetVisibleRegion (aRectangles, aCount); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_SetVisibleRegion_TO_OBJ(obj) COM_FORWARD_IFramebuffer_SetVisibleRegion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_SetVisibleRegion_TO_BASE(base) COM_FORWARD_IFramebuffer_SetVisibleRegion_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO(smth) HRESULT STDMETHODCALLTYPE ProcessVHWACommand (BYTE * aCommand, LONG aEnmCmd, BOOL aFromGuest) { return smth ProcessVHWACommand (aCommand, aEnmCmd, aFromGuest); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO_OBJ(obj) COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO_BASE(base) COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_Notify3DEvent_TO(smth) HRESULT STDMETHODCALLTYPE Notify3DEvent (ULONG aType, SAFEARRAY * * aData) { return smth Notify3DEvent (aType, aData); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_Notify3DEvent_TO_OBJ(obj) COM_FORWARD_IFramebuffer_Notify3DEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_Notify3DEvent_TO_BASE(base) COM_FORWARD_IFramebuffer_Notify3DEvent_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IFramebuffer_TO_OBJ(obj) COM_FORWARD_IFramebuffer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_TO_BASE(base) COM_FORWARD_IFramebuffer_TO (base::)")

[
    uuid(af398a9a-6b76-4805-8fab-00a9dcf4732b),
    object,
    dual,
    oleautomation
    , proxy
]
interface IFramebufferOverlay : IFramebuffer
{
    [propget] HRESULT X ([out, retval] ULONG * aX);

    [propget] HRESULT Y ([out, retval] ULONG * aY);

    [propget] HRESULT Visible ([out, retval] BOOL * aVisible);
    [propput] HRESULT Visible ([in] BOOL aVisible);

    [propget] HRESULT Alpha ([out, retval] ULONG * aAlpha);
    [propput] HRESULT Alpha ([in] ULONG aAlpha);

    HRESULT Move (
        [in] ULONG aX,
        [in] ULONG aY
    );

}; /* interface IFramebufferOverlay */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_X_TO(smth) HRESULT STDMETHODCALLTYPE get_X (ULONG * aX) { return smth get_X (aX); }")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_X_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_GETTER_X_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_X_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_GETTER_X_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO(smth) HRESULT STDMETHODCALLTYPE get_Y (ULONG * aY) { return smth get_Y (aY); }")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO(smth) HRESULT STDMETHODCALLTYPE get_Visible (BOOL * aVisible) { return smth get_Visible (aVisible); }")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO(smth) HRESULT STDMETHODCALLTYPE put_Visible (BOOL aVisible) { return smth put_Visible (aVisible); }")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO(smth) HRESULT STDMETHODCALLTYPE get_Alpha (ULONG * aAlpha) { return smth get_Alpha (aAlpha); }")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO(smth) HRESULT STDMETHODCALLTYPE put_Alpha (ULONG aAlpha) { return smth put_Alpha (aAlpha); }")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_Move_TO(smth) HRESULT STDMETHODCALLTYPE Move (ULONG aX, ULONG aY) { return smth Move (aX, aY); }")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_Move_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_Move_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_Move_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_Move_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebufferOverlay_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_TO (base::)")

[
    uuid(6b2f98f8-9641-4397-854a-040439d0114b),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestScreenInfo : IDispatch
{
    [propget] HRESULT ScreenId ([out, retval] ULONG * aScreenId);

    [propget] HRESULT GuestMonitorStatus ([out, retval] GuestMonitorStatus * aGuestMonitorStatus);

    [propget] HRESULT Primary ([out, retval] BOOL * aPrimary);

    [propget] HRESULT Origin ([out, retval] BOOL * aOrigin);

    [propget] HRESULT OriginX ([out, retval] LONG * aOriginX);

    [propget] HRESULT OriginY ([out, retval] LONG * aOriginY);

    [propget] HRESULT Width ([out, retval] ULONG * aWidth);

    [propget] HRESULT Height ([out, retval] ULONG * aHeight);

    [propget] HRESULT BitsPerPixel ([out, retval] ULONG * aBitsPerPixel);

    [propget] HRESULT ExtendedInfo ([out, retval] BSTR * aExtendedInfo);

}; /* interface IGuestScreenInfo */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO(smth) HRESULT STDMETHODCALLTYPE get_ScreenId (ULONG * aScreenId) { return smth get_ScreenId (aScreenId); }")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestMonitorStatus (GuestMonitorStatus * aGuestMonitorStatus) { return smth get_GuestMonitorStatus (aGuestMonitorStatus); }")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO(smth) HRESULT STDMETHODCALLTYPE get_Primary (BOOL * aPrimary) { return smth get_Primary (aPrimary); }")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO(smth) HRESULT STDMETHODCALLTYPE get_Origin (BOOL * aOrigin) { return smth get_Origin (aOrigin); }")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO(smth) HRESULT STDMETHODCALLTYPE get_OriginX (LONG * aOriginX) { return smth get_OriginX (aOriginX); }")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO(smth) HRESULT STDMETHODCALLTYPE get_OriginY (LONG * aOriginY) { return smth get_OriginY (aOriginY); }")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO(smth) HRESULT STDMETHODCALLTYPE get_Width (ULONG * aWidth) { return smth get_Width (aWidth); }")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO(smth) HRESULT STDMETHODCALLTYPE get_Height (ULONG * aHeight) { return smth get_Height (aHeight); }")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO(smth) HRESULT STDMETHODCALLTYPE get_BitsPerPixel (ULONG * aBitsPerPixel) { return smth get_BitsPerPixel (aBitsPerPixel); }")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO(smth) HRESULT STDMETHODCALLTYPE get_ExtendedInfo (BSTR * aExtendedInfo) { return smth get_ExtendedInfo (aExtendedInfo); }")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestScreenInfo_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_TO (base::)")

[
    uuid(14fd6676-ee6b-441a-988b-c83025ab693a),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDisplay : IDispatch
{
    [propget] HRESULT GuestScreenLayout ([out, retval] SAFEARRAY(IGuestScreenInfo *) * aGuestScreenLayout);

    [propget] HRESULT InternalAndReservedAttribute1IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IDisplay ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IDisplay ([out, retval] ULONG *aReserved);

    HRESULT GetScreenResolution (
        [in] ULONG aScreenId,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight,
        [out] ULONG * aBitsPerPixel,
        [out] LONG * aXOrigin,
        [out] LONG * aYOrigin,
        [out] GuestMonitorStatus * aGuestMonitorStatus
    );

    HRESULT AttachFramebuffer (
        [in] ULONG aScreenId,
        [in] IFramebuffer * aFramebuffer,
        [out, retval] BSTR * aId
    );

    HRESULT DetachFramebuffer (
        [in] ULONG aScreenId,
        [in] BSTR aId
    );

    HRESULT QueryFramebuffer (
        [in] ULONG aScreenId,
        [out, retval] IFramebuffer * * aFramebuffer
    );

    HRESULT 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
    );

    HRESULT 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
    );

    HRESULT SetSeamlessMode (
        [in] BOOL aEnabled
    );

    HRESULT TakeScreenShot (
        [in] ULONG aScreenId,
        [in] BYTE * aAddress,
        [in] ULONG aWidth,
        [in] ULONG aHeight,
        [in] BitmapFormat aBitmapFormat
    );

    HRESULT TakeScreenShotToArray (
        [in] ULONG aScreenId,
        [in] ULONG aWidth,
        [in] ULONG aHeight,
        [in] BitmapFormat aBitmapFormat,
        [out, retval] SAFEARRAY(BYTE) * aScreenData
    );

    HRESULT DrawToScreen (
        [in] ULONG aScreenId,
        [in] BYTE * aAddress,
        [in] ULONG aX,
        [in] ULONG aY,
        [in] ULONG aWidth,
        [in] ULONG aHeight
    );

    HRESULT InvalidateAndUpdate();

    HRESULT InvalidateAndUpdateScreen (
        [in] ULONG aScreenId
    );

    HRESULT ViewportChanged (
        [in] ULONG aScreenId,
        [in] ULONG aX,
        [in] ULONG aY,
        [in] ULONG aWidth,
        [in] ULONG aHeight
    );

    HRESULT QuerySourceBitmap (
        [in] ULONG aScreenId,
        [out] IDisplaySourceBitmap * * aDisplaySourceBitmap
    );

    HRESULT NotifyScaleFactorChange (
        [in] ULONG aScreenId,
        [in] ULONG aU32ScaleFactorWMultiplied,
        [in] ULONG aU32ScaleFactorHMultiplied
    );

    HRESULT NotifyHiDPIOutputPolicyChange (
        [in] BOOL aFUnscaledHiDPI
    );

    HRESULT SetScreenLayout (
        [in] ScreenLayoutMode aScreenLayoutMode,
        [in] SAFEARRAY(IGuestScreenInfo *) aGuestScreenInfo
    );

    HRESULT DetachScreens (
        [in] SAFEARRAY(LONG) aScreenIds
    );

    HRESULT 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,
        [out, retval] IGuestScreenInfo * * aGuestScreenInfo
    );

    HRESULT InternalAndReservedMethod1IDisplay();

    HRESULT InternalAndReservedMethod2IDisplay();

    HRESULT InternalAndReservedMethod3IDisplay();

    HRESULT InternalAndReservedMethod4IDisplay();

    HRESULT InternalAndReservedMethod5IDisplay();

    HRESULT InternalAndReservedMethod6IDisplay();

    HRESULT InternalAndReservedMethod7IDisplay();

    HRESULT InternalAndReservedMethod8IDisplay();

}; /* interface IDisplay */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestScreenLayout (SAFEARRAY * * aGuestScreenLayout) { return smth get_GuestScreenLayout (aGuestScreenLayout); }")
cpp_quote("#define COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO_OBJ(obj) COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO_BASE(base) COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDisplay_GetScreenResolution_TO_OBJ(obj) COM_FORWARD_IDisplay_GetScreenResolution_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_GetScreenResolution_TO_BASE(base) COM_FORWARD_IDisplay_GetScreenResolution_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_AttachFramebuffer_TO(smth) HRESULT STDMETHODCALLTYPE AttachFramebuffer (ULONG aScreenId, IFramebuffer * aFramebuffer, BSTR * aId) { return smth AttachFramebuffer (aScreenId, aFramebuffer, aId); }")
cpp_quote("#define COM_FORWARD_IDisplay_AttachFramebuffer_TO_OBJ(obj) COM_FORWARD_IDisplay_AttachFramebuffer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_AttachFramebuffer_TO_BASE(base) COM_FORWARD_IDisplay_AttachFramebuffer_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_DetachFramebuffer_TO(smth) HRESULT STDMETHODCALLTYPE DetachFramebuffer (ULONG aScreenId, BSTR aId) { return smth DetachFramebuffer (aScreenId, aId); }")
cpp_quote("#define COM_FORWARD_IDisplay_DetachFramebuffer_TO_OBJ(obj) COM_FORWARD_IDisplay_DetachFramebuffer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_DetachFramebuffer_TO_BASE(base) COM_FORWARD_IDisplay_DetachFramebuffer_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_QueryFramebuffer_TO(smth) HRESULT STDMETHODCALLTYPE QueryFramebuffer (ULONG aScreenId, IFramebuffer * * aFramebuffer) { return smth QueryFramebuffer (aScreenId, aFramebuffer); }")
cpp_quote("#define COM_FORWARD_IDisplay_QueryFramebuffer_TO_OBJ(obj) COM_FORWARD_IDisplay_QueryFramebuffer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_QueryFramebuffer_TO_BASE(base) COM_FORWARD_IDisplay_QueryFramebuffer_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDisplay_SetVideoModeHint_TO_OBJ(obj) COM_FORWARD_IDisplay_SetVideoModeHint_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_SetVideoModeHint_TO_BASE(base) COM_FORWARD_IDisplay_SetVideoModeHint_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDisplay_GetVideoModeHint_TO_OBJ(obj) COM_FORWARD_IDisplay_GetVideoModeHint_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_GetVideoModeHint_TO_BASE(base) COM_FORWARD_IDisplay_GetVideoModeHint_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_SetSeamlessMode_TO(smth) HRESULT STDMETHODCALLTYPE SetSeamlessMode (BOOL aEnabled) { return smth SetSeamlessMode (aEnabled); }")
cpp_quote("#define COM_FORWARD_IDisplay_SetSeamlessMode_TO_OBJ(obj) COM_FORWARD_IDisplay_SetSeamlessMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_SetSeamlessMode_TO_BASE(base) COM_FORWARD_IDisplay_SetSeamlessMode_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDisplay_TakeScreenShot_TO_OBJ(obj) COM_FORWARD_IDisplay_TakeScreenShot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_TakeScreenShot_TO_BASE(base) COM_FORWARD_IDisplay_TakeScreenShot_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDisplay_TakeScreenShotToArray_TO_OBJ(obj) COM_FORWARD_IDisplay_TakeScreenShotToArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_TakeScreenShotToArray_TO_BASE(base) COM_FORWARD_IDisplay_TakeScreenShotToArray_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDisplay_DrawToScreen_TO_OBJ(obj) COM_FORWARD_IDisplay_DrawToScreen_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_DrawToScreen_TO_BASE(base) COM_FORWARD_IDisplay_DrawToScreen_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_InvalidateAndUpdate_TO(smth) HRESULT STDMETHODCALLTYPE InvalidateAndUpdate() { return smth InvalidateAndUpdate(); }")
cpp_quote("#define COM_FORWARD_IDisplay_InvalidateAndUpdate_TO_OBJ(obj) COM_FORWARD_IDisplay_InvalidateAndUpdate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_InvalidateAndUpdate_TO_BASE(base) COM_FORWARD_IDisplay_InvalidateAndUpdate_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO(smth) HRESULT STDMETHODCALLTYPE InvalidateAndUpdateScreen (ULONG aScreenId) { return smth InvalidateAndUpdateScreen (aScreenId); }")
cpp_quote("#define COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO_OBJ(obj) COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO_BASE(base) COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDisplay_ViewportChanged_TO_OBJ(obj) COM_FORWARD_IDisplay_ViewportChanged_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_ViewportChanged_TO_BASE(base) COM_FORWARD_IDisplay_ViewportChanged_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_QuerySourceBitmap_TO(smth) HRESULT STDMETHODCALLTYPE QuerySourceBitmap (ULONG aScreenId, IDisplaySourceBitmap * * aDisplaySourceBitmap) { return smth QuerySourceBitmap (aScreenId, aDisplaySourceBitmap); }")
cpp_quote("#define COM_FORWARD_IDisplay_QuerySourceBitmap_TO_OBJ(obj) COM_FORWARD_IDisplay_QuerySourceBitmap_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_QuerySourceBitmap_TO_BASE(base) COM_FORWARD_IDisplay_QuerySourceBitmap_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO(smth) HRESULT STDMETHODCALLTYPE NotifyScaleFactorChange (ULONG aScreenId, ULONG aU32ScaleFactorWMultiplied, ULONG aU32ScaleFactorHMultiplied) { return smth NotifyScaleFactorChange (aScreenId, aU32ScaleFactorWMultiplied, aU32ScaleFactorHMultiplied); }")
cpp_quote("#define COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO_OBJ(obj) COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO_BASE(base) COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO(smth) HRESULT STDMETHODCALLTYPE NotifyHiDPIOutputPolicyChange (BOOL aFUnscaledHiDPI) { return smth NotifyHiDPIOutputPolicyChange (aFUnscaledHiDPI); }")
cpp_quote("#define COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO_OBJ(obj) COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO_BASE(base) COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_SetScreenLayout_TO(smth) HRESULT STDMETHODCALLTYPE SetScreenLayout (ScreenLayoutMode aScreenLayoutMode, SAFEARRAY * * aGuestScreenInfo) { return smth SetScreenLayout (aScreenLayoutMode, aGuestScreenInfo); }")
cpp_quote("#define COM_FORWARD_IDisplay_SetScreenLayout_TO_OBJ(obj) COM_FORWARD_IDisplay_SetScreenLayout_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_SetScreenLayout_TO_BASE(base) COM_FORWARD_IDisplay_SetScreenLayout_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_DetachScreens_TO(smth) HRESULT STDMETHODCALLTYPE DetachScreens (SAFEARRAY * * aScreenIds) { return smth DetachScreens (aScreenIds); }")
cpp_quote("#define COM_FORWARD_IDisplay_DetachScreens_TO_OBJ(obj) COM_FORWARD_IDisplay_DetachScreens_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_DetachScreens_TO_BASE(base) COM_FORWARD_IDisplay_DetachScreens_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IDisplay_CreateGuestScreenInfo_TO_OBJ(obj) COM_FORWARD_IDisplay_CreateGuestScreenInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_CreateGuestScreenInfo_TO_BASE(base) COM_FORWARD_IDisplay_CreateGuestScreenInfo_TO (base::)")
cpp_quote("#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_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) ")
cpp_quote("#define COM_FORWARD_IDisplay_TO_OBJ(obj) COM_FORWARD_IDisplay_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_TO_BASE(base) COM_FORWARD_IDisplay_TO (base::)")

[
    uuid(dcf47a1d-ed70-4db8-9a4b-2646bd166905),
    object,
    dual,
    oleautomation
    , proxy
]
interface INetworkAdapter : IDispatch
{
    [propget] HRESULT AdapterType ([out, retval] NetworkAdapterType * aAdapterType);
    [propput] HRESULT AdapterType ([in] NetworkAdapterType aAdapterType);

    [propget] HRESULT Slot ([out, retval] ULONG * aSlot);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT MACAddress ([out, retval] BSTR * aMACAddress);
    [propput] HRESULT MACAddress ([in] BSTR aMACAddress);

    [propget] HRESULT AttachmentType ([out, retval] NetworkAttachmentType * aAttachmentType);
    [propput] HRESULT AttachmentType ([in] NetworkAttachmentType aAttachmentType);

    [propget] HRESULT BridgedInterface ([out, retval] BSTR * aBridgedInterface);
    [propput] HRESULT BridgedInterface ([in] BSTR aBridgedInterface);

    [propget] HRESULT HostOnlyInterface ([out, retval] BSTR * aHostOnlyInterface);
    [propput] HRESULT HostOnlyInterface ([in] BSTR aHostOnlyInterface);

    [propget] HRESULT HostOnlyNetwork ([out, retval] BSTR * aHostOnlyNetwork);
    [propput] HRESULT HostOnlyNetwork ([in] BSTR aHostOnlyNetwork);

    [propget] HRESULT InternalNetwork ([out, retval] BSTR * aInternalNetwork);
    [propput] HRESULT InternalNetwork ([in] BSTR aInternalNetwork);

    [propget] HRESULT NATNetwork ([out, retval] BSTR * aNATNetwork);
    [propput] HRESULT NATNetwork ([in] BSTR aNATNetwork);

    [propget] HRESULT GenericDriver ([out, retval] BSTR * aGenericDriver);
    [propput] HRESULT GenericDriver ([in] BSTR aGenericDriver);

    [propget] HRESULT CloudNetwork ([out, retval] BSTR * aCloudNetwork);
    [propput] HRESULT CloudNetwork ([in] BSTR aCloudNetwork);

    [propget] HRESULT CableConnected ([out, retval] BOOL * aCableConnected);
    [propput] HRESULT CableConnected ([in] BOOL aCableConnected);

    [propget] HRESULT LineSpeed ([out, retval] ULONG * aLineSpeed);
    [propput] HRESULT LineSpeed ([in] ULONG aLineSpeed);

    [propget] HRESULT PromiscModePolicy ([out, retval] NetworkAdapterPromiscModePolicy * aPromiscModePolicy);
    [propput] HRESULT PromiscModePolicy ([in] NetworkAdapterPromiscModePolicy aPromiscModePolicy);

    [propget] HRESULT TraceEnabled ([out, retval] BOOL * aTraceEnabled);
    [propput] HRESULT TraceEnabled ([in] BOOL aTraceEnabled);

    [propget] HRESULT TraceFile ([out, retval] BSTR * aTraceFile);
    [propput] HRESULT TraceFile ([in] BSTR aTraceFile);

    [propget] HRESULT NATEngine ([out, retval] INATEngine * * aNATEngine);

    [propget] HRESULT BootPriority ([out, retval] ULONG * aBootPriority);
    [propput] HRESULT BootPriority ([in] ULONG aBootPriority);

    [propget] HRESULT BandwidthGroup ([out, retval] IBandwidthGroup * * aBandwidthGroup);
    [propput] HRESULT BandwidthGroup ([in] IBandwidthGroup * aBandwidthGroup);

    [propget] HRESULT InternalAndReservedAttribute1INetworkAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2INetworkAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3INetworkAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4INetworkAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5INetworkAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6INetworkAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7INetworkAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8INetworkAdapter ([out, retval] ULONG *aReserved);

    HRESULT GetProperty (
        [in] BSTR aKey,
        [out, retval] BSTR * aValue
    );

    HRESULT SetProperty (
        [in] BSTR aKey,
        [in] BSTR aValue
    );

    HRESULT GetProperties (
        [in] BSTR aNames,
        [out] SAFEARRAY(BSTR) * aReturnNames,
        [out, retval] SAFEARRAY(BSTR) * aReturnValues
    );

    HRESULT InternalAndReservedMethod1INetworkAdapter();

    HRESULT InternalAndReservedMethod2INetworkAdapter();

    HRESULT InternalAndReservedMethod3INetworkAdapter();

    HRESULT InternalAndReservedMethod4INetworkAdapter();

}; /* interface INetworkAdapter */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO(smth) HRESULT STDMETHODCALLTYPE get_AdapterType (NetworkAdapterType * aAdapterType) { return smth get_AdapterType (aAdapterType); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO(smth) HRESULT STDMETHODCALLTYPE put_AdapterType (NetworkAdapterType aAdapterType) { return smth put_AdapterType (aAdapterType); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_Slot_TO(smth) HRESULT STDMETHODCALLTYPE get_Slot (ULONG * aSlot) { return smth get_Slot (aSlot); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_Slot_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_Slot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_Slot_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_Slot_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_MACAddress (BSTR * aMACAddress) { return smth get_MACAddress (aMACAddress); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_MACAddress (BSTR aMACAddress) { return smth put_MACAddress (aMACAddress); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO(smth) HRESULT STDMETHODCALLTYPE get_AttachmentType (NetworkAttachmentType * aAttachmentType) { return smth get_AttachmentType (aAttachmentType); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO(smth) HRESULT STDMETHODCALLTYPE put_AttachmentType (NetworkAttachmentType aAttachmentType) { return smth put_AttachmentType (aAttachmentType); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO(smth) HRESULT STDMETHODCALLTYPE get_BridgedInterface (BSTR * aBridgedInterface) { return smth get_BridgedInterface (aBridgedInterface); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO(smth) HRESULT STDMETHODCALLTYPE put_BridgedInterface (BSTR aBridgedInterface) { return smth put_BridgedInterface (aBridgedInterface); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO(smth) HRESULT STDMETHODCALLTYPE get_HostOnlyInterface (BSTR * aHostOnlyInterface) { return smth get_HostOnlyInterface (aHostOnlyInterface); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO(smth) HRESULT STDMETHODCALLTYPE put_HostOnlyInterface (BSTR aHostOnlyInterface) { return smth put_HostOnlyInterface (aHostOnlyInterface); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO(smth) HRESULT STDMETHODCALLTYPE get_HostOnlyNetwork (BSTR * aHostOnlyNetwork) { return smth get_HostOnlyNetwork (aHostOnlyNetwork); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO(smth) HRESULT STDMETHODCALLTYPE put_HostOnlyNetwork (BSTR aHostOnlyNetwork) { return smth put_HostOnlyNetwork (aHostOnlyNetwork); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO(smth) HRESULT STDMETHODCALLTYPE get_InternalNetwork (BSTR * aInternalNetwork) { return smth get_InternalNetwork (aInternalNetwork); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO(smth) HRESULT STDMETHODCALLTYPE put_InternalNetwork (BSTR aInternalNetwork) { return smth put_InternalNetwork (aInternalNetwork); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO(smth) HRESULT STDMETHODCALLTYPE get_NATNetwork (BSTR * aNATNetwork) { return smth get_NATNetwork (aNATNetwork); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO(smth) HRESULT STDMETHODCALLTYPE put_NATNetwork (BSTR aNATNetwork) { return smth put_NATNetwork (aNATNetwork); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO(smth) HRESULT STDMETHODCALLTYPE get_GenericDriver (BSTR * aGenericDriver) { return smth get_GenericDriver (aGenericDriver); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO(smth) HRESULT STDMETHODCALLTYPE put_GenericDriver (BSTR aGenericDriver) { return smth put_GenericDriver (aGenericDriver); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO(smth) HRESULT STDMETHODCALLTYPE get_CloudNetwork (BSTR * aCloudNetwork) { return smth get_CloudNetwork (aCloudNetwork); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO(smth) HRESULT STDMETHODCALLTYPE put_CloudNetwork (BSTR aCloudNetwork) { return smth put_CloudNetwork (aCloudNetwork); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO(smth) HRESULT STDMETHODCALLTYPE get_CableConnected (BOOL * aCableConnected) { return smth get_CableConnected (aCableConnected); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO(smth) HRESULT STDMETHODCALLTYPE put_CableConnected (BOOL aCableConnected) { return smth put_CableConnected (aCableConnected); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO(smth) HRESULT STDMETHODCALLTYPE get_LineSpeed (ULONG * aLineSpeed) { return smth get_LineSpeed (aLineSpeed); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO(smth) HRESULT STDMETHODCALLTYPE put_LineSpeed (ULONG aLineSpeed) { return smth put_LineSpeed (aLineSpeed); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO(smth) HRESULT STDMETHODCALLTYPE get_PromiscModePolicy (NetworkAdapterPromiscModePolicy * aPromiscModePolicy) { return smth get_PromiscModePolicy (aPromiscModePolicy); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO(smth) HRESULT STDMETHODCALLTYPE put_PromiscModePolicy (NetworkAdapterPromiscModePolicy aPromiscModePolicy) { return smth put_PromiscModePolicy (aPromiscModePolicy); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_TraceEnabled (BOOL * aTraceEnabled) { return smth get_TraceEnabled (aTraceEnabled); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_TraceEnabled (BOOL aTraceEnabled) { return smth put_TraceEnabled (aTraceEnabled); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO(smth) HRESULT STDMETHODCALLTYPE get_TraceFile (BSTR * aTraceFile) { return smth get_TraceFile (aTraceFile); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO(smth) HRESULT STDMETHODCALLTYPE put_TraceFile (BSTR aTraceFile) { return smth put_TraceFile (aTraceFile); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO(smth) HRESULT STDMETHODCALLTYPE get_NATEngine (INATEngine * * aNATEngine) { return smth get_NATEngine (aNATEngine); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO(smth) HRESULT STDMETHODCALLTYPE get_BootPriority (ULONG * aBootPriority) { return smth get_BootPriority (aBootPriority); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO(smth) HRESULT STDMETHODCALLTYPE put_BootPriority (ULONG aBootPriority) { return smth put_BootPriority (aBootPriority); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE get_BandwidthGroup (IBandwidthGroup * * aBandwidthGroup) { return smth get_BandwidthGroup (aBandwidthGroup); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE put_BandwidthGroup (IBandwidthGroup * aBandwidthGroup) { return smth put_BandwidthGroup (aBandwidthGroup); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GetProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetProperty (BSTR aKey, BSTR * aValue) { return smth GetProperty (aKey, aValue); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GetProperty_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GetProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GetProperty_TO_BASE(base) COM_FORWARD_INetworkAdapter_GetProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SetProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetProperty (BSTR aKey, BSTR aValue) { return smth SetProperty (aKey, aValue); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SetProperty_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SetProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_SetProperty_TO_BASE(base) COM_FORWARD_INetworkAdapter_SetProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GetProperties_TO(smth) HRESULT STDMETHODCALLTYPE GetProperties (BSTR aNames, SAFEARRAY * * aReturnNames, SAFEARRAY * * aReturnValues) { return smth GetProperties (aNames, aReturnNames, aReturnValues); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GetProperties_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GetProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GetProperties_TO_BASE(base) COM_FORWARD_INetworkAdapter_GetProperties_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_INetworkAdapter_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_TO_BASE(base) COM_FORWARD_INetworkAdapter_TO (base::)")

[
    uuid(5587d0f6-a227-4f23-8278-2f675eea1bb2),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISerialPort : IDispatch
{
    [propget] HRESULT Slot ([out, retval] ULONG * aSlot);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT IOAddress ([out, retval] ULONG * aIOAddress);
    [propput] HRESULT IOAddress ([in] ULONG aIOAddress);

    [propget] HRESULT IRQ ([out, retval] ULONG * aIRQ);
    [propput] HRESULT IRQ ([in] ULONG aIRQ);

    [propget] HRESULT HostMode ([out, retval] PortMode * aHostMode);
    [propput] HRESULT HostMode ([in] PortMode aHostMode);

    [propget] HRESULT Server ([out, retval] BOOL * aServer);
    [propput] HRESULT Server ([in] BOOL aServer);

    [propget] HRESULT Path ([out, retval] BSTR * aPath);
    [propput] HRESULT Path ([in] BSTR aPath);

    [propget] HRESULT UartType ([out, retval] UartType * aUartType);
    [propput] HRESULT UartType ([in] UartType aUartType);

    [propget] HRESULT InternalAndReservedAttribute1ISerialPort ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ISerialPort ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ISerialPort ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ISerialPort ([out, retval] ULONG *aReserved);

}; /* interface ISerialPort */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Slot_TO(smth) HRESULT STDMETHODCALLTYPE get_Slot (ULONG * aSlot) { return smth get_Slot (aSlot); }")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Slot_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_Slot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Slot_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_Slot_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Enabled_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_Enabled_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_IOAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_IOAddress (ULONG * aIOAddress) { return smth get_IOAddress (aIOAddress); }")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_IOAddress_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_IOAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_IOAddress_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_IOAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_IOAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_IOAddress (ULONG aIOAddress) { return smth put_IOAddress (aIOAddress); }")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_IOAddress_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_IOAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_IOAddress_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_IOAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_IRQ_TO(smth) HRESULT STDMETHODCALLTYPE get_IRQ (ULONG * aIRQ) { return smth get_IRQ (aIRQ); }")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_IRQ_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_IRQ_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_IRQ_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_IRQ_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_IRQ_TO(smth) HRESULT STDMETHODCALLTYPE put_IRQ (ULONG aIRQ) { return smth put_IRQ (aIRQ); }")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_IRQ_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_IRQ_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_IRQ_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_IRQ_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_HostMode_TO(smth) HRESULT STDMETHODCALLTYPE get_HostMode (PortMode * aHostMode) { return smth get_HostMode (aHostMode); }")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_HostMode_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_HostMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_HostMode_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_HostMode_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_HostMode_TO(smth) HRESULT STDMETHODCALLTYPE put_HostMode (PortMode aHostMode) { return smth put_HostMode (aHostMode); }")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_HostMode_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_HostMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_HostMode_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_HostMode_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Server_TO(smth) HRESULT STDMETHODCALLTYPE get_Server (BOOL * aServer) { return smth get_Server (aServer); }")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Server_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_Server_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Server_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_Server_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_Server_TO(smth) HRESULT STDMETHODCALLTYPE put_Server (BOOL aServer) { return smth put_Server (aServer); }")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_Server_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_Server_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_Server_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_Server_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Path_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_Path_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_Path_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_Path_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE put_Path (BSTR aPath) { return smth put_Path (aPath); }")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_Path_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_Path_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_Path_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_Path_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_UartType_TO(smth) HRESULT STDMETHODCALLTYPE get_UartType (UartType * aUartType) { return smth get_UartType (aUartType); }")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_UartType_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_UartType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_UartType_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_UartType_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_UartType_TO(smth) HRESULT STDMETHODCALLTYPE put_UartType (UartType aUartType) { return smth put_UartType (aUartType); }")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_UartType_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_UartType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_UartType_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_UartType_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ISerialPort_TO_OBJ(obj) COM_FORWARD_ISerialPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_TO_BASE(base) COM_FORWARD_ISerialPort_TO (base::)")

[
    uuid(788b87df-7708-444b-9eef-c116ce423d39),
    object,
    dual,
    oleautomation
    , proxy
]
interface IParallelPort : IDispatch
{
    [propget] HRESULT Slot ([out, retval] ULONG * aSlot);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT IOBase ([out, retval] ULONG * aIOBase);
    [propput] HRESULT IOBase ([in] ULONG aIOBase);

    [propget] HRESULT IRQ ([out, retval] ULONG * aIRQ);
    [propput] HRESULT IRQ ([in] ULONG aIRQ);

    [propget] HRESULT Path ([out, retval] BSTR * aPath);
    [propput] HRESULT Path ([in] BSTR aPath);

    [propget] HRESULT InternalAndReservedAttribute1IParallelPort ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IParallelPort ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IParallelPort ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IParallelPort ([out, retval] ULONG *aReserved);

}; /* interface IParallelPort */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_Slot_TO(smth) HRESULT STDMETHODCALLTYPE get_Slot (ULONG * aSlot) { return smth get_Slot (aSlot); }")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_Slot_TO_OBJ(obj) COM_FORWARD_IParallelPort_GETTER_Slot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_Slot_TO_BASE(base) COM_FORWARD_IParallelPort_GETTER_Slot_TO (base::)")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IParallelPort_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IParallelPort_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IParallelPort_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IParallelPort_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_IOBase_TO(smth) HRESULT STDMETHODCALLTYPE get_IOBase (ULONG * aIOBase) { return smth get_IOBase (aIOBase); }")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_IOBase_TO_OBJ(obj) COM_FORWARD_IParallelPort_GETTER_IOBase_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_IOBase_TO_BASE(base) COM_FORWARD_IParallelPort_GETTER_IOBase_TO (base::)")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_IOBase_TO(smth) HRESULT STDMETHODCALLTYPE put_IOBase (ULONG aIOBase) { return smth put_IOBase (aIOBase); }")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_IOBase_TO_OBJ(obj) COM_FORWARD_IParallelPort_SETTER_IOBase_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_IOBase_TO_BASE(base) COM_FORWARD_IParallelPort_SETTER_IOBase_TO (base::)")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_IRQ_TO(smth) HRESULT STDMETHODCALLTYPE get_IRQ (ULONG * aIRQ) { return smth get_IRQ (aIRQ); }")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_IRQ_TO_OBJ(obj) COM_FORWARD_IParallelPort_GETTER_IRQ_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_IRQ_TO_BASE(base) COM_FORWARD_IParallelPort_GETTER_IRQ_TO (base::)")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_IRQ_TO(smth) HRESULT STDMETHODCALLTYPE put_IRQ (ULONG aIRQ) { return smth put_IRQ (aIRQ); }")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_IRQ_TO_OBJ(obj) COM_FORWARD_IParallelPort_SETTER_IRQ_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_IRQ_TO_BASE(base) COM_FORWARD_IParallelPort_SETTER_IRQ_TO (base::)")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_Path_TO_OBJ(obj) COM_FORWARD_IParallelPort_GETTER_Path_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPort_GETTER_Path_TO_BASE(base) COM_FORWARD_IParallelPort_GETTER_Path_TO (base::)")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE put_Path (BSTR aPath) { return smth put_Path (aPath); }")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_Path_TO_OBJ(obj) COM_FORWARD_IParallelPort_SETTER_Path_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPort_SETTER_Path_TO_BASE(base) COM_FORWARD_IParallelPort_SETTER_Path_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IParallelPort_TO_OBJ(obj) COM_FORWARD_IParallelPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPort_TO_BASE(base) COM_FORWARD_IParallelPort_TO (base::)")

[
    uuid(fa43579a-2272-47c4-a443-9713f19a902f),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMachineDebugger : IDispatch
{
    [propget] HRESULT SingleStep ([out, retval] BOOL * aSingleStep);
    [propput] HRESULT SingleStep ([in] BOOL aSingleStep);

    [propget] HRESULT ExecuteAllInIEM ([out, retval] BOOL * aExecuteAllInIEM);
    [propput] HRESULT ExecuteAllInIEM ([in] BOOL aExecuteAllInIEM);

    [propget] HRESULT LogEnabled ([out, retval] BOOL * aLogEnabled);
    [propput] HRESULT LogEnabled ([in] BOOL aLogEnabled);

    [propget] HRESULT LogDbgFlags ([out, retval] BSTR * aLogDbgFlags);

    [propget] HRESULT LogDbgGroups ([out, retval] BSTR * aLogDbgGroups);

    [propget] HRESULT LogDbgDestinations ([out, retval] BSTR * aLogDbgDestinations);

    [propget] HRESULT LogRelFlags ([out, retval] BSTR * aLogRelFlags);

    [propget] HRESULT LogRelGroups ([out, retval] BSTR * aLogRelGroups);

    [propget] HRESULT LogRelDestinations ([out, retval] BSTR * aLogRelDestinations);

    [propget] HRESULT ExecutionEngine ([out, retval] VMExecutionEngine * aExecutionEngine);

    [propget] HRESULT HWVirtExNestedPagingEnabled ([out, retval] BOOL * aHWVirtExNestedPagingEnabled);

    [propget] HRESULT HWVirtExVPIDEnabled ([out, retval] BOOL * aHWVirtExVPIDEnabled);

    [propget] HRESULT HWVirtExUXEnabled ([out, retval] BOOL * aHWVirtExUXEnabled);

    [propget] HRESULT OSName ([out, retval] BSTR * aOSName);

    [propget] HRESULT OSVersion ([out, retval] BSTR * aOSVersion);

    [propget] HRESULT PAEEnabled ([out, retval] BOOL * aPAEEnabled);

    [propget] HRESULT VirtualTimeRate ([out, retval] ULONG * aVirtualTimeRate);
    [propput] HRESULT VirtualTimeRate ([in] ULONG aVirtualTimeRate);

    [propget] HRESULT Uptime ([out, retval] LONG64 * aUptime);

    [propget] HRESULT InternalAndReservedAttribute1IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15IMachineDebugger ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16IMachineDebugger ([out, retval] ULONG *aReserved);

    HRESULT DumpGuestCore (
        [in] BSTR aFilename,
        [in] BSTR aCompression
    );

    HRESULT DumpHostProcessCore (
        [in] BSTR aFilename,
        [in] BSTR aCompression
    );

    HRESULT Info (
        [in] BSTR aName,
        [in] BSTR aArgs,
        [out, retval] BSTR * aInfo
    );

    HRESULT InjectNMI();

    HRESULT ModifyLogGroups (
        [in] BSTR aSettings
    );

    HRESULT ModifyLogFlags (
        [in] BSTR aSettings
    );

    HRESULT ModifyLogDestinations (
        [in] BSTR aSettings
    );

    HRESULT ReadPhysicalMemory (
        [in] LONG64 aAddress,
        [in] ULONG aSize,
        [out, retval] SAFEARRAY(BYTE) * aBytes
    );

    HRESULT WritePhysicalMemory (
        [in] LONG64 aAddress,
        [in] ULONG aSize,
        [in] SAFEARRAY(BYTE) aBytes
    );

    HRESULT ReadVirtualMemory (
        [in] ULONG aCpuId,
        [in] LONG64 aAddress,
        [in] ULONG aSize,
        [out, retval] SAFEARRAY(BYTE) * aBytes
    );

    HRESULT WriteVirtualMemory (
        [in] ULONG aCpuId,
        [in] LONG64 aAddress,
        [in] ULONG aSize,
        [in] SAFEARRAY(BYTE) aBytes
    );

    HRESULT LoadPlugIn (
        [in] BSTR aName,
        [out, retval] BSTR * aPlugInName
    );

    HRESULT UnloadPlugIn (
        [in] BSTR aName
    );

    HRESULT DetectOS (
        [out, retval] BSTR * aOs
    );

    HRESULT QueryOSKernelLog (
        [in] ULONG aMaxMessages,
        [out, retval] BSTR * aDmesg
    );

    HRESULT GetRegister (
        [in] ULONG aCpuId,
        [in] BSTR aName,
        [out, retval] BSTR * aValue
    );

    HRESULT GetRegisters (
        [in] ULONG aCpuId,
        [out] SAFEARRAY(BSTR) * aNames,
        [out] SAFEARRAY(BSTR) * aValues
    );

    HRESULT SetRegister (
        [in] ULONG aCpuId,
        [in] BSTR aName,
        [in] BSTR aValue
    );

    HRESULT SetRegisters (
        [in] ULONG aCpuId,
        [in] SAFEARRAY(BSTR) aNames,
        [in] SAFEARRAY(BSTR) aValues
    );

    HRESULT DumpGuestStack (
        [in] ULONG aCpuId,
        [out, retval] BSTR * aStack
    );

    HRESULT ResetStats (
        [in] BSTR aPattern
    );

    HRESULT DumpStats (
        [in] BSTR aPattern
    );

    HRESULT GetStats (
        [in] BSTR aPattern,
        [in] BOOL aWithDescriptions,
        [out, retval] BSTR * aStats
    );

    HRESULT GetCPULoad (
        [in] ULONG aCpuId,
        [out] ULONG * aPctExecuting,
        [out] ULONG * aPctHalted,
        [out] ULONG * aPctOther,
        [out, retval] LONG64 * aMsInterval
    );

    HRESULT TakeGuestSample (
        [in] BSTR aFilename,
        [in] ULONG aUsInterval,
        [in] LONG64 aUsSampleTime,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetUVMAndVMMFunctionTable (
        [in] LONG64 aMagicVersion,
        [out] LONG64 * aVMMFunctionTable,
        [out, retval] LONG64 * aUVM
    );

    HRESULT InternalAndReservedMethod1IMachineDebugger();

    HRESULT InternalAndReservedMethod2IMachineDebugger();

    HRESULT InternalAndReservedMethod3IMachineDebugger();

    HRESULT InternalAndReservedMethod4IMachineDebugger();

    HRESULT InternalAndReservedMethod5IMachineDebugger();

    HRESULT InternalAndReservedMethod6IMachineDebugger();

    HRESULT InternalAndReservedMethod7IMachineDebugger();

    HRESULT InternalAndReservedMethod8IMachineDebugger();

    HRESULT InternalAndReservedMethod9IMachineDebugger();

    HRESULT InternalAndReservedMethod10IMachineDebugger();

    HRESULT InternalAndReservedMethod11IMachineDebugger();

    HRESULT InternalAndReservedMethod12IMachineDebugger();

    HRESULT InternalAndReservedMethod13IMachineDebugger();

    HRESULT InternalAndReservedMethod14IMachineDebugger();

    HRESULT InternalAndReservedMethod15IMachineDebugger();

    HRESULT InternalAndReservedMethod16IMachineDebugger();

}; /* interface IMachineDebugger */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO(smth) HRESULT STDMETHODCALLTYPE get_SingleStep (BOOL * aSingleStep) { return smth get_SingleStep (aSingleStep); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO(smth) HRESULT STDMETHODCALLTYPE put_SingleStep (BOOL aSingleStep) { return smth put_SingleStep (aSingleStep); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO(smth) HRESULT STDMETHODCALLTYPE get_ExecuteAllInIEM (BOOL * aExecuteAllInIEM) { return smth get_ExecuteAllInIEM (aExecuteAllInIEM); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO(smth) HRESULT STDMETHODCALLTYPE put_ExecuteAllInIEM (BOOL aExecuteAllInIEM) { return smth put_ExecuteAllInIEM (aExecuteAllInIEM); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_LogEnabled (BOOL * aLogEnabled) { return smth get_LogEnabled (aLogEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_LogEnabled (BOOL aLogEnabled) { return smth put_LogEnabled (aLogEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO(smth) HRESULT STDMETHODCALLTYPE get_LogDbgFlags (BSTR * aLogDbgFlags) { return smth get_LogDbgFlags (aLogDbgFlags); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO(smth) HRESULT STDMETHODCALLTYPE get_LogDbgGroups (BSTR * aLogDbgGroups) { return smth get_LogDbgGroups (aLogDbgGroups); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO(smth) HRESULT STDMETHODCALLTYPE get_LogDbgDestinations (BSTR * aLogDbgDestinations) { return smth get_LogDbgDestinations (aLogDbgDestinations); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO(smth) HRESULT STDMETHODCALLTYPE get_LogRelFlags (BSTR * aLogRelFlags) { return smth get_LogRelFlags (aLogRelFlags); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO(smth) HRESULT STDMETHODCALLTYPE get_LogRelGroups (BSTR * aLogRelGroups) { return smth get_LogRelGroups (aLogRelGroups); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO(smth) HRESULT STDMETHODCALLTYPE get_LogRelDestinations (BSTR * aLogRelDestinations) { return smth get_LogRelDestinations (aLogRelDestinations); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO(smth) HRESULT STDMETHODCALLTYPE get_ExecutionEngine (VMExecutionEngine * aExecutionEngine) { return smth get_ExecutionEngine (aExecutionEngine); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_HWVirtExNestedPagingEnabled (BOOL * aHWVirtExNestedPagingEnabled) { return smth get_HWVirtExNestedPagingEnabled (aHWVirtExNestedPagingEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_HWVirtExVPIDEnabled (BOOL * aHWVirtExVPIDEnabled) { return smth get_HWVirtExVPIDEnabled (aHWVirtExVPIDEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_HWVirtExUXEnabled (BOOL * aHWVirtExUXEnabled) { return smth get_HWVirtExUXEnabled (aHWVirtExUXEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_OSName_TO(smth) HRESULT STDMETHODCALLTYPE get_OSName (BSTR * aOSName) { return smth get_OSName (aOSName); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_OSName_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_OSName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_OSName_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_OSName_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_OSVersion (BSTR * aOSVersion) { return smth get_OSVersion (aOSVersion); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_PAEEnabled (BOOL * aPAEEnabled) { return smth get_PAEEnabled (aPAEEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO(smth) HRESULT STDMETHODCALLTYPE get_VirtualTimeRate (ULONG * aVirtualTimeRate) { return smth get_VirtualTimeRate (aVirtualTimeRate); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO(smth) HRESULT STDMETHODCALLTYPE put_VirtualTimeRate (ULONG aVirtualTimeRate) { return smth put_VirtualTimeRate (aVirtualTimeRate); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO(smth) HRESULT STDMETHODCALLTYPE get_Uptime (LONG64 * aUptime) { return smth get_Uptime (aUptime); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpGuestCore_TO(smth) HRESULT STDMETHODCALLTYPE DumpGuestCore (BSTR aFilename, BSTR aCompression) { return smth DumpGuestCore (aFilename, aCompression); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpGuestCore_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_DumpGuestCore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpGuestCore_TO_BASE(base) COM_FORWARD_IMachineDebugger_DumpGuestCore_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO(smth) HRESULT STDMETHODCALLTYPE DumpHostProcessCore (BSTR aFilename, BSTR aCompression) { return smth DumpHostProcessCore (aFilename, aCompression); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO_BASE(base) COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_Info_TO(smth) HRESULT STDMETHODCALLTYPE Info (BSTR aName, BSTR aArgs, BSTR * aInfo) { return smth Info (aName, aArgs, aInfo); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_Info_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_Info_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_Info_TO_BASE(base) COM_FORWARD_IMachineDebugger_Info_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_InjectNMI_TO(smth) HRESULT STDMETHODCALLTYPE InjectNMI() { return smth InjectNMI(); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_InjectNMI_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_InjectNMI_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_InjectNMI_TO_BASE(base) COM_FORWARD_IMachineDebugger_InjectNMI_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO(smth) HRESULT STDMETHODCALLTYPE ModifyLogGroups (BSTR aSettings) { return smth ModifyLogGroups (aSettings); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO_BASE(base) COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO(smth) HRESULT STDMETHODCALLTYPE ModifyLogFlags (BSTR aSettings) { return smth ModifyLogFlags (aSettings); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO_BASE(base) COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO(smth) HRESULT STDMETHODCALLTYPE ModifyLogDestinations (BSTR aSettings) { return smth ModifyLogDestinations (aSettings); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO_BASE(base) COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO(smth) HRESULT STDMETHODCALLTYPE ReadPhysicalMemory (LONG64 aAddress, ULONG aSize, SAFEARRAY * * aBytes) { return smth ReadPhysicalMemory (aAddress, aSize, aBytes); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO_BASE(base) COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO(smth) HRESULT STDMETHODCALLTYPE WritePhysicalMemory (LONG64 aAddress, ULONG aSize, SAFEARRAY * * aBytes) { return smth WritePhysicalMemory (aAddress, aSize, aBytes); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO_BASE(base) COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ReadVirtualMemory_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ReadVirtualMemory_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ReadVirtualMemory_TO_BASE(base) COM_FORWARD_IMachineDebugger_ReadVirtualMemory_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_WriteVirtualMemory_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_WriteVirtualMemory_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_WriteVirtualMemory_TO_BASE(base) COM_FORWARD_IMachineDebugger_WriteVirtualMemory_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_LoadPlugIn_TO(smth) HRESULT STDMETHODCALLTYPE LoadPlugIn (BSTR aName, BSTR * aPlugInName) { return smth LoadPlugIn (aName, aPlugInName); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_LoadPlugIn_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_LoadPlugIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_LoadPlugIn_TO_BASE(base) COM_FORWARD_IMachineDebugger_LoadPlugIn_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO(smth) HRESULT STDMETHODCALLTYPE UnloadPlugIn (BSTR aName) { return smth UnloadPlugIn (aName); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO_BASE(base) COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DetectOS_TO(smth) HRESULT STDMETHODCALLTYPE DetectOS (BSTR * aOs) { return smth DetectOS (aOs); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DetectOS_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_DetectOS_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DetectOS_TO_BASE(base) COM_FORWARD_IMachineDebugger_DetectOS_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO(smth) HRESULT STDMETHODCALLTYPE QueryOSKernelLog (ULONG aMaxMessages, BSTR * aDmesg) { return smth QueryOSKernelLog (aMaxMessages, aDmesg); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO_BASE(base) COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetRegister_TO(smth) HRESULT STDMETHODCALLTYPE GetRegister (ULONG aCpuId, BSTR aName, BSTR * aValue) { return smth GetRegister (aCpuId, aName, aValue); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetRegister_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GetRegister_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetRegister_TO_BASE(base) COM_FORWARD_IMachineDebugger_GetRegister_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetRegisters_TO(smth) HRESULT STDMETHODCALLTYPE GetRegisters (ULONG aCpuId, SAFEARRAY * * aNames, SAFEARRAY * * aValues) { return smth GetRegisters (aCpuId, aNames, aValues); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetRegisters_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GetRegisters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetRegisters_TO_BASE(base) COM_FORWARD_IMachineDebugger_GetRegisters_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SetRegister_TO(smth) HRESULT STDMETHODCALLTYPE SetRegister (ULONG aCpuId, BSTR aName, BSTR aValue) { return smth SetRegister (aCpuId, aName, aValue); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SetRegister_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SetRegister_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SetRegister_TO_BASE(base) COM_FORWARD_IMachineDebugger_SetRegister_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SetRegisters_TO(smth) HRESULT STDMETHODCALLTYPE SetRegisters (ULONG aCpuId, SAFEARRAY * * aNames, SAFEARRAY * * aValues) { return smth SetRegisters (aCpuId, aNames, aValues); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SetRegisters_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SetRegisters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SetRegisters_TO_BASE(base) COM_FORWARD_IMachineDebugger_SetRegisters_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpGuestStack_TO(smth) HRESULT STDMETHODCALLTYPE DumpGuestStack (ULONG aCpuId, BSTR * aStack) { return smth DumpGuestStack (aCpuId, aStack); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpGuestStack_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_DumpGuestStack_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpGuestStack_TO_BASE(base) COM_FORWARD_IMachineDebugger_DumpGuestStack_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ResetStats_TO(smth) HRESULT STDMETHODCALLTYPE ResetStats (BSTR aPattern) { return smth ResetStats (aPattern); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ResetStats_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ResetStats_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_ResetStats_TO_BASE(base) COM_FORWARD_IMachineDebugger_ResetStats_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpStats_TO(smth) HRESULT STDMETHODCALLTYPE DumpStats (BSTR aPattern) { return smth DumpStats (aPattern); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpStats_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_DumpStats_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_DumpStats_TO_BASE(base) COM_FORWARD_IMachineDebugger_DumpStats_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetStats_TO(smth) HRESULT STDMETHODCALLTYPE GetStats (BSTR aPattern, BOOL aWithDescriptions, BSTR * aStats) { return smth GetStats (aPattern, aWithDescriptions, aStats); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetStats_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GetStats_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetStats_TO_BASE(base) COM_FORWARD_IMachineDebugger_GetStats_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetCPULoad_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GetCPULoad_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetCPULoad_TO_BASE(base) COM_FORWARD_IMachineDebugger_GetCPULoad_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_TakeGuestSample_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_TakeGuestSample_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_TakeGuestSample_TO_BASE(base) COM_FORWARD_IMachineDebugger_TakeGuestSample_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO(smth) HRESULT STDMETHODCALLTYPE GetUVMAndVMMFunctionTable (LONG64 aMagicVersion, LONG64 * aVMMFunctionTable, LONG64 * aUVM) { return smth GetUVMAndVMMFunctionTable (aMagicVersion, aVMMFunctionTable, aUVM); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO_BASE(base) COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMachineDebugger_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_TO_BASE(base) COM_FORWARD_IMachineDebugger_TO (base::)")

[
    uuid(9709db9b-3346-49d6-8f1c-41b0c4784ff2),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUSBDeviceFilters : IDispatch
{
    [propget] HRESULT DeviceFilters ([out, retval] SAFEARRAY(IUSBDeviceFilter *) * aDeviceFilters);

    [propget] HRESULT InternalAndReservedAttribute1IUSBDeviceFilters ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IUSBDeviceFilters ([out, retval] ULONG *aReserved);

    HRESULT CreateDeviceFilter (
        [in] BSTR aName,
        [out, retval] IUSBDeviceFilter * * aFilter
    );

    HRESULT InsertDeviceFilter (
        [in] ULONG aPosition,
        [in] IUSBDeviceFilter * aFilter
    );

    HRESULT RemoveDeviceFilter (
        [in] ULONG aPosition,
        [out, retval] IUSBDeviceFilter * * aFilter
    );

    HRESULT InternalAndReservedMethod1IUSBDeviceFilters();

    HRESULT InternalAndReservedMethod2IUSBDeviceFilters();

}; /* interface IUSBDeviceFilters */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO(smth) HRESULT STDMETHODCALLTYPE get_DeviceFilters (SAFEARRAY * * aDeviceFilters) { return smth get_DeviceFilters (aDeviceFilters); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO_BASE(base) COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE CreateDeviceFilter (BSTR aName, IUSBDeviceFilter * * aFilter) { return smth CreateDeviceFilter (aName, aFilter); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE InsertDeviceFilter (ULONG aPosition, IUSBDeviceFilter * aFilter) { return smth InsertDeviceFilter (aPosition, aFilter); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE RemoveDeviceFilter (ULONG aPosition, IUSBDeviceFilter * * aFilter) { return smth RemoveDeviceFilter (aPosition, aFilter); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilters_TO_BASE(base) COM_FORWARD_IUSBDeviceFilters_TO (base::)")

[
    uuid(ee206a6e-7ff8-4a84-bd34-0c651e118bb5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUSBController : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);
    [propput] HRESULT Name ([in] BSTR aName);

    [propget] HRESULT Type ([out, retval] USBControllerType * aType);
    [propput] HRESULT Type ([in] USBControllerType aType);

    [propget] HRESULT USBStandard ([out, retval] USHORT * aUSBStandard);

    [propget] HRESULT InternalAndReservedAttribute1IUSBController ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IUSBController ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IUSBController ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IUSBController ([out, retval] ULONG *aReserved);

}; /* interface IUSBController */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IUSBController_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_Name_TO_BASE(base) COM_FORWARD_IUSBController_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IUSBController_SETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_Name_TO_BASE(base) COM_FORWARD_IUSBController_SETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (USBControllerType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IUSBController_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_Type_TO_BASE(base) COM_FORWARD_IUSBController_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE put_Type (USBControllerType aType) { return smth put_Type (aType); }")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_Type_TO_OBJ(obj) COM_FORWARD_IUSBController_SETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_Type_TO_BASE(base) COM_FORWARD_IUSBController_SETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_USBStandard_TO(smth) HRESULT STDMETHODCALLTYPE get_USBStandard (USHORT * aUSBStandard) { return smth get_USBStandard (aUSBStandard); }")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_USBStandard_TO_OBJ(obj) COM_FORWARD_IUSBController_GETTER_USBStandard_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_USBStandard_TO_BASE(base) COM_FORWARD_IUSBController_GETTER_USBStandard_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IUSBController_TO_OBJ(obj) COM_FORWARD_IUSBController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_TO_BASE(base) COM_FORWARD_IUSBController_TO (base::)")

[
    uuid(6dc83c2c-81a9-4005-9d52-fc45a78bf3f5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUSBDevice : IDispatch
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT VendorId ([out, retval] USHORT * aVendorId);

    [propget] HRESULT ProductId ([out, retval] USHORT * aProductId);

    [propget] HRESULT Revision ([out, retval] USHORT * aRevision);

    [propget] HRESULT Manufacturer ([out, retval] BSTR * aManufacturer);

    [propget] HRESULT Product ([out, retval] BSTR * aProduct);

    [propget] HRESULT SerialNumber ([out, retval] BSTR * aSerialNumber);

    [propget] HRESULT Address ([out, retval] BSTR * aAddress);

    [propget] HRESULT Port ([out, retval] USHORT * aPort);

    [propget] HRESULT PortPath ([out, retval] BSTR * aPortPath);

    [propget] HRESULT Version ([out, retval] USHORT * aVersion);

    [propget] HRESULT Speed ([out, retval] USBConnectionSpeed * aSpeed);

    [propget] HRESULT Remote ([out, retval] BOOL * aRemote);

    [propget] HRESULT DeviceInfo ([out, retval] SAFEARRAY(BSTR) * aDeviceInfo);

    [propget] HRESULT Backend ([out, retval] BSTR * aBackend);

    [propget] HRESULT InternalAndReservedAttribute1IUSBDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IUSBDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IUSBDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IUSBDevice ([out, retval] ULONG *aReserved);

}; /* interface IUSBDevice */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Id_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_VendorId_TO(smth) HRESULT STDMETHODCALLTYPE get_VendorId (USHORT * aVendorId) { return smth get_VendorId (aVendorId); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_VendorId_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_VendorId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_VendorId_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_VendorId_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_ProductId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProductId (USHORT * aProductId) { return smth get_ProductId (aProductId); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_ProductId_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_ProductId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_ProductId_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_ProductId_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Revision_TO(smth) HRESULT STDMETHODCALLTYPE get_Revision (USHORT * aRevision) { return smth get_Revision (aRevision); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Revision_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Revision_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Revision_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Revision_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO(smth) HRESULT STDMETHODCALLTYPE get_Manufacturer (BSTR * aManufacturer) { return smth get_Manufacturer (aManufacturer); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Product_TO(smth) HRESULT STDMETHODCALLTYPE get_Product (BSTR * aProduct) { return smth get_Product (aProduct); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Product_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Product_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Product_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Product_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialNumber (BSTR * aSerialNumber) { return smth get_SerialNumber (aSerialNumber); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Address_TO(smth) HRESULT STDMETHODCALLTYPE get_Address (BSTR * aAddress) { return smth get_Address (aAddress); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Address_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Address_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Address_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Address_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Port_TO(smth) HRESULT STDMETHODCALLTYPE get_Port (USHORT * aPort) { return smth get_Port (aPort); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Port_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Port_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Port_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Port_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_PortPath_TO(smth) HRESULT STDMETHODCALLTYPE get_PortPath (BSTR * aPortPath) { return smth get_PortPath (aPortPath); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_PortPath_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_PortPath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_PortPath_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_PortPath_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Version_TO(smth) HRESULT STDMETHODCALLTYPE get_Version (USHORT * aVersion) { return smth get_Version (aVersion); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Version_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Version_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Version_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Version_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Speed_TO(smth) HRESULT STDMETHODCALLTYPE get_Speed (USBConnectionSpeed * aSpeed) { return smth get_Speed (aSpeed); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Speed_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Speed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Speed_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Speed_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Remote_TO(smth) HRESULT STDMETHODCALLTYPE get_Remote (BOOL * aRemote) { return smth get_Remote (aRemote); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Remote_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Remote_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Remote_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Remote_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO(smth) HRESULT STDMETHODCALLTYPE get_DeviceInfo (SAFEARRAY * * aDeviceInfo) { return smth get_DeviceInfo (aDeviceInfo); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Backend_TO(smth) HRESULT STDMETHODCALLTYPE get_Backend (BSTR * aBackend) { return smth get_Backend (aBackend); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Backend_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Backend_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_Backend_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Backend_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IUSBDevice_TO_OBJ(obj) COM_FORWARD_IUSBDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_TO_BASE(base) COM_FORWARD_IUSBDevice_TO (base::)")

[
    uuid(45587218-4289-ef4e-8e6a-e5b07816b631),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUSBDeviceFilter : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);
    [propput] HRESULT Name ([in] BSTR aName);

    [propget] HRESULT Active ([out, retval] BOOL * aActive);
    [propput] HRESULT Active ([in] BOOL aActive);

    [propget] HRESULT VendorId ([out, retval] BSTR * aVendorId);
    [propput] HRESULT VendorId ([in] BSTR aVendorId);

    [propget] HRESULT ProductId ([out, retval] BSTR * aProductId);
    [propput] HRESULT ProductId ([in] BSTR aProductId);

    [propget] HRESULT Revision ([out, retval] BSTR * aRevision);
    [propput] HRESULT Revision ([in] BSTR aRevision);

    [propget] HRESULT Manufacturer ([out, retval] BSTR * aManufacturer);
    [propput] HRESULT Manufacturer ([in] BSTR aManufacturer);

    [propget] HRESULT Product ([out, retval] BSTR * aProduct);
    [propput] HRESULT Product ([in] BSTR aProduct);

    [propget] HRESULT SerialNumber ([out, retval] BSTR * aSerialNumber);
    [propput] HRESULT SerialNumber ([in] BSTR aSerialNumber);

    [propget] HRESULT Port ([out, retval] BSTR * aPort);
    [propput] HRESULT Port ([in] BSTR aPort);

    [propget] HRESULT Remote ([out, retval] BSTR * aRemote);
    [propput] HRESULT Remote ([in] BSTR aRemote);

    [propget] HRESULT MaskedInterfaces ([out, retval] ULONG * aMaskedInterfaces);
    [propput] HRESULT MaskedInterfaces ([in] ULONG aMaskedInterfaces);

    [propget] HRESULT InternalAndReservedAttribute1IUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IUSBDeviceFilter ([out, retval] ULONG *aReserved);

}; /* interface IUSBDeviceFilter */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO(smth) HRESULT STDMETHODCALLTYPE get_Active (BOOL * aActive) { return smth get_Active (aActive); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO(smth) HRESULT STDMETHODCALLTYPE put_Active (BOOL aActive) { return smth put_Active (aActive); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO(smth) HRESULT STDMETHODCALLTYPE get_VendorId (BSTR * aVendorId) { return smth get_VendorId (aVendorId); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO(smth) HRESULT STDMETHODCALLTYPE put_VendorId (BSTR aVendorId) { return smth put_VendorId (aVendorId); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProductId (BSTR * aProductId) { return smth get_ProductId (aProductId); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO(smth) HRESULT STDMETHODCALLTYPE put_ProductId (BSTR aProductId) { return smth put_ProductId (aProductId); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO(smth) HRESULT STDMETHODCALLTYPE get_Revision (BSTR * aRevision) { return smth get_Revision (aRevision); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO(smth) HRESULT STDMETHODCALLTYPE put_Revision (BSTR aRevision) { return smth put_Revision (aRevision); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO(smth) HRESULT STDMETHODCALLTYPE get_Manufacturer (BSTR * aManufacturer) { return smth get_Manufacturer (aManufacturer); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO(smth) HRESULT STDMETHODCALLTYPE put_Manufacturer (BSTR aManufacturer) { return smth put_Manufacturer (aManufacturer); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO(smth) HRESULT STDMETHODCALLTYPE get_Product (BSTR * aProduct) { return smth get_Product (aProduct); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO(smth) HRESULT STDMETHODCALLTYPE put_Product (BSTR aProduct) { return smth put_Product (aProduct); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialNumber (BSTR * aSerialNumber) { return smth get_SerialNumber (aSerialNumber); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO(smth) HRESULT STDMETHODCALLTYPE put_SerialNumber (BSTR aSerialNumber) { return smth put_SerialNumber (aSerialNumber); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO(smth) HRESULT STDMETHODCALLTYPE get_Port (BSTR * aPort) { return smth get_Port (aPort); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO(smth) HRESULT STDMETHODCALLTYPE put_Port (BSTR aPort) { return smth put_Port (aPort); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO(smth) HRESULT STDMETHODCALLTYPE get_Remote (BSTR * aRemote) { return smth get_Remote (aRemote); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO(smth) HRESULT STDMETHODCALLTYPE put_Remote (BSTR aRemote) { return smth put_Remote (aRemote); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MaskedInterfaces (ULONG * aMaskedInterfaces) { return smth get_MaskedInterfaces (aMaskedInterfaces); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE put_MaskedInterfaces (ULONG aMaskedInterfaces) { return smth put_MaskedInterfaces (aMaskedInterfaces); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_TO (base::)")

[
    uuid(c19073dd-cc7b-431b-98b2-951fda8eab89),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostUSBDevice : IUSBDevice
{
    [propget] HRESULT State ([out, retval] USBDeviceState * aState);

    [propget] HRESULT InternalAndReservedAttribute1IHostUSBDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IHostUSBDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IHostUSBDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IHostUSBDevice ([out, retval] ULONG *aReserved);

}; /* interface IHostUSBDevice */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostUSBDevice_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (USBDeviceState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IHostUSBDevice_GETTER_State_TO_OBJ(obj) COM_FORWARD_IHostUSBDevice_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostUSBDevice_GETTER_State_TO_BASE(base) COM_FORWARD_IHostUSBDevice_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostUSBDevice_TO(smth) COM_FORWARD_IHostUSBDevice_GETTER_State_TO (smth) ")
cpp_quote("#define COM_FORWARD_IHostUSBDevice_TO_OBJ(obj) COM_FORWARD_IHostUSBDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostUSBDevice_TO_BASE(base) COM_FORWARD_IHostUSBDevice_TO (base::)")

[
    uuid(01adb2d6-aedf-461c-be2c-99e91bdad8a1),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostUSBDeviceFilter : IUSBDeviceFilter
{
    [propget] HRESULT Action ([out, retval] USBDeviceFilterAction * aAction);
    [propput] HRESULT Action ([in] USBDeviceFilterAction aAction);

    [propget] HRESULT InternalAndReservedAttribute1IHostUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IHostUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IHostUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IHostUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IHostUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IHostUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IHostUSBDeviceFilter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IHostUSBDeviceFilter ([out, retval] ULONG *aReserved);

}; /* interface IHostUSBDeviceFilter */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO(smth) HRESULT STDMETHODCALLTYPE get_Action (USBDeviceFilterAction * aAction) { return smth get_Action (aAction); }")
cpp_quote("#define COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO_OBJ(obj) COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO_BASE(base) COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO(smth) HRESULT STDMETHODCALLTYPE put_Action (USBDeviceFilterAction aAction) { return smth put_Action (aAction); }")
cpp_quote("#define COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO_OBJ(obj) COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO_BASE(base) COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostUSBDeviceFilter_TO(smth) COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO (smth) COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO (smth) ")
cpp_quote("#define COM_FORWARD_IHostUSBDeviceFilter_TO_OBJ(obj) COM_FORWARD_IHostUSBDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostUSBDeviceFilter_TO_BASE(base) COM_FORWARD_IHostUSBDeviceFilter_TO (base::)")

[
    uuid(dfe56449-6989-4002-80cf-3607f377d40c),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUSBProxyBackend : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Type ([out, retval] BSTR * aType);

    [propget] HRESULT InternalAndReservedAttribute1IUSBProxyBackend ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IUSBProxyBackend ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IUSBProxyBackend ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IUSBProxyBackend ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IUSBProxyBackend ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IUSBProxyBackend ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IUSBProxyBackend ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IUSBProxyBackend ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1IUSBProxyBackend();

    HRESULT InternalAndReservedMethod2IUSBProxyBackend();

    HRESULT InternalAndReservedMethod3IUSBProxyBackend();

    HRESULT InternalAndReservedMethod4IUSBProxyBackend();

}; /* interface IUSBProxyBackend */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO_BASE(base) COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (BSTR * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO_BASE(base) COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBProxyBackend_TO(smth) COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO (smth) COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO (smth) ")
cpp_quote("#define COM_FORWARD_IUSBProxyBackend_TO_OBJ(obj) COM_FORWARD_IUSBProxyBackend_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBProxyBackend_TO_BASE(base) COM_FORWARD_IUSBProxyBackend_TO (base::)")

[
    uuid(5155bfd3-7ba7-45a8-b26d-c91ae3754e37),
    object,
    dual,
    oleautomation
    , proxy
]
interface IAudioAdapter : IDispatch
{
    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT EnabledIn ([out, retval] BOOL * aEnabledIn);
    [propput] HRESULT EnabledIn ([in] BOOL aEnabledIn);

    [propget] HRESULT EnabledOut ([out, retval] BOOL * aEnabledOut);
    [propput] HRESULT EnabledOut ([in] BOOL aEnabledOut);

    [propget] HRESULT AudioController ([out, retval] AudioControllerType * aAudioController);
    [propput] HRESULT AudioController ([in] AudioControllerType aAudioController);

    [propget] HRESULT AudioCodec ([out, retval] AudioCodecType * aAudioCodec);
    [propput] HRESULT AudioCodec ([in] AudioCodecType aAudioCodec);

    [propget] HRESULT AudioDriver ([out, retval] AudioDriverType * aAudioDriver);
    [propput] HRESULT AudioDriver ([in] AudioDriverType aAudioDriver);

    [propget] HRESULT PropertiesList ([out, retval] SAFEARRAY(BSTR) * aPropertiesList);

    [propget] HRESULT InternalAndReservedAttribute1IAudioAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IAudioAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IAudioAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IAudioAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IAudioAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IAudioAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IAudioAdapter ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IAudioAdapter ([out, retval] ULONG *aReserved);

    HRESULT SetProperty (
        [in] BSTR aKey,
        [in] BSTR aValue
    );

    HRESULT GetProperty (
        [in] BSTR aKey,
        [out, retval] BSTR * aValue
    );

    HRESULT InternalAndReservedMethod1IAudioAdapter();

    HRESULT InternalAndReservedMethod2IAudioAdapter();

    HRESULT InternalAndReservedMethod3IAudioAdapter();

    HRESULT InternalAndReservedMethod4IAudioAdapter();

}; /* interface IAudioAdapter */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO(smth) HRESULT STDMETHODCALLTYPE get_EnabledIn (BOOL * aEnabledIn) { return smth get_EnabledIn (aEnabledIn); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO(smth) HRESULT STDMETHODCALLTYPE put_EnabledIn (BOOL aEnabledIn) { return smth put_EnabledIn (aEnabledIn); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO(smth) HRESULT STDMETHODCALLTYPE get_EnabledOut (BOOL * aEnabledOut) { return smth get_EnabledOut (aEnabledOut); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO(smth) HRESULT STDMETHODCALLTYPE put_EnabledOut (BOOL aEnabledOut) { return smth put_EnabledOut (aEnabledOut); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioController (AudioControllerType * aAudioController) { return smth get_AudioController (aAudioController); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioController (AudioControllerType aAudioController) { return smth put_AudioController (aAudioController); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioCodec (AudioCodecType * aAudioCodec) { return smth get_AudioCodec (aAudioCodec); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioCodec (AudioCodecType aAudioCodec) { return smth put_AudioCodec (aAudioCodec); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioDriver (AudioDriverType * aAudioDriver) { return smth get_AudioDriver (aAudioDriver); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioDriver (AudioDriverType aAudioDriver) { return smth put_AudioDriver (aAudioDriver); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO(smth) HRESULT STDMETHODCALLTYPE get_PropertiesList (SAFEARRAY * * aPropertiesList) { return smth get_PropertiesList (aPropertiesList); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SetProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetProperty (BSTR aKey, BSTR aValue) { return smth SetProperty (aKey, aValue); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SetProperty_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SetProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_SetProperty_TO_BASE(base) COM_FORWARD_IAudioAdapter_SetProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GetProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetProperty (BSTR aKey, BSTR * aValue) { return smth GetProperty (aKey, aValue); }")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GetProperty_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GetProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_GetProperty_TO_BASE(base) COM_FORWARD_IAudioAdapter_GetProperty_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IAudioAdapter_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapter_TO_BASE(base) COM_FORWARD_IAudioAdapter_TO (base::)")

[
    uuid(cfde1265-3140-4048-a81f-a1e280dfbd75),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostAudioDevice : IDispatch
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Name ([out, retval] BSTR * aName);
    [propput] HRESULT Name ([in] BSTR aName);

    [propget] HRESULT Type ([out, retval] AudioDeviceType * aType);
    [propput] HRESULT Type ([in] AudioDeviceType aType);

    [propget] HRESULT Usage ([out, retval] AudioDirection * aUsage);
    [propput] HRESULT Usage ([in] AudioDirection aUsage);

    [propget] HRESULT DefaultIn ([out, retval] BOOL * aDefaultIn);
    [propput] HRESULT DefaultIn ([in] BOOL aDefaultIn);

    [propget] HRESULT DefaultOut ([out, retval] BOOL * aDefaultOut);
    [propput] HRESULT DefaultOut ([in] BOOL aDefaultOut);

    [propget] HRESULT IsHotPlug ([out, retval] BOOL * aIsHotPlug);
    [propput] HRESULT IsHotPlug ([in] BOOL aIsHotPlug);

    [propget] HRESULT State ([out, retval] AudioDeviceState * aState);
    [propput] HRESULT State ([in] AudioDeviceState aState);

    [propget] HRESULT InternalAndReservedAttribute1IHostAudioDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IHostAudioDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IHostAudioDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IHostAudioDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IHostAudioDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IHostAudioDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IHostAudioDevice ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IHostAudioDevice ([out, retval] ULONG *aReserved);

    HRESULT GetProperty (
        [in] BSTR aKey,
        [out, retval] BSTR * aValue
    );

    HRESULT InternalAndReservedMethod1IHostAudioDevice();

    HRESULT InternalAndReservedMethod2IHostAudioDevice();

    HRESULT InternalAndReservedMethod3IHostAudioDevice();

    HRESULT InternalAndReservedMethod4IHostAudioDevice();

}; /* interface IHostAudioDevice */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Id_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Name_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_Name_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (AudioDeviceType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Type_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE put_Type (AudioDeviceType aType) { return smth put_Type (aType); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_Type_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_Type_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO(smth) HRESULT STDMETHODCALLTYPE get_Usage (AudioDirection * aUsage) { return smth get_Usage (aUsage); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO(smth) HRESULT STDMETHODCALLTYPE put_Usage (AudioDirection aUsage) { return smth put_Usage (aUsage); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultIn (BOOL * aDefaultIn) { return smth get_DefaultIn (aDefaultIn); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultIn (BOOL aDefaultIn) { return smth put_DefaultIn (aDefaultIn); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultOut (BOOL * aDefaultOut) { return smth get_DefaultOut (aDefaultOut); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultOut (BOOL aDefaultOut) { return smth put_DefaultOut (aDefaultOut); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO(smth) HRESULT STDMETHODCALLTYPE get_IsHotPlug (BOOL * aIsHotPlug) { return smth get_IsHotPlug (aIsHotPlug); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO(smth) HRESULT STDMETHODCALLTYPE put_IsHotPlug (BOOL aIsHotPlug) { return smth put_IsHotPlug (aIsHotPlug); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (AudioDeviceState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_State_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GETTER_State_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE put_State (AudioDeviceState aState) { return smth put_State (aState); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_State_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_SETTER_State_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GetProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetProperty (BSTR aKey, BSTR * aValue) { return smth GetProperty (aKey, aValue); }")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GetProperty_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GetProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_GetProperty_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GetProperty_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDevice_TO_BASE(base) COM_FORWARD_IHostAudioDevice_TO (base::)")

[
    uuid(52f40b16-520e-473f-9428-3e69b0d915c3),
    object,
    dual,
    oleautomation
    , proxy
]
interface IAudioSettings : IDispatch
{
    [propget] HRESULT Adapter ([out, retval] IAudioAdapter * * aAdapter);

    [propget] HRESULT InternalAndReservedAttribute1IAudioSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IAudioSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IAudioSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IAudioSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IAudioSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IAudioSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IAudioSettings ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IAudioSettings ([out, retval] ULONG *aReserved);

    HRESULT GetHostAudioDevice (
        [in] AudioDirection aUsage,
        [out, retval] IHostAudioDevice * * aDevice
    );

    HRESULT SetHostAudioDevice (
        [in] IHostAudioDevice * aDevice,
        [in] AudioDirection aUsage
    );

    HRESULT InternalAndReservedMethod1IAudioSettings();

    HRESULT InternalAndReservedMethod2IAudioSettings();

    HRESULT InternalAndReservedMethod3IAudioSettings();

    HRESULT InternalAndReservedMethod4IAudioSettings();

}; /* interface IAudioSettings */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IAudioSettings_GETTER_Adapter_TO(smth) HRESULT STDMETHODCALLTYPE get_Adapter (IAudioAdapter * * aAdapter) { return smth get_Adapter (aAdapter); }")
cpp_quote("#define COM_FORWARD_IAudioSettings_GETTER_Adapter_TO_OBJ(obj) COM_FORWARD_IAudioSettings_GETTER_Adapter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioSettings_GETTER_Adapter_TO_BASE(base) COM_FORWARD_IAudioSettings_GETTER_Adapter_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO(smth) HRESULT STDMETHODCALLTYPE GetHostAudioDevice (AudioDirection aUsage, IHostAudioDevice * * aDevice) { return smth GetHostAudioDevice (aUsage, aDevice); }")
cpp_quote("#define COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO_OBJ(obj) COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO_BASE(base) COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO(smth) HRESULT STDMETHODCALLTYPE SetHostAudioDevice (IHostAudioDevice * aDevice, AudioDirection aUsage) { return smth SetHostAudioDevice (aDevice, aUsage); }")
cpp_quote("#define COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO_OBJ(obj) COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO_BASE(base) COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IAudioSettings_TO_OBJ(obj) COM_FORWARD_IAudioSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioSettings_TO_BASE(base) COM_FORWARD_IAudioSettings_TO (base::)")

[
    uuid(08e25756-08a2-41af-a05f-d7c661abaebe),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVRDEServer : IDispatch
{
    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT AuthType ([out, retval] AuthType * aAuthType);
    [propput] HRESULT AuthType ([in] AuthType aAuthType);

    [propget] HRESULT AuthTimeout ([out, retval] ULONG * aAuthTimeout);
    [propput] HRESULT AuthTimeout ([in] ULONG aAuthTimeout);

    [propget] HRESULT AllowMultiConnection ([out, retval] BOOL * aAllowMultiConnection);
    [propput] HRESULT AllowMultiConnection ([in] BOOL aAllowMultiConnection);

    [propget] HRESULT ReuseSingleConnection ([out, retval] BOOL * aReuseSingleConnection);
    [propput] HRESULT ReuseSingleConnection ([in] BOOL aReuseSingleConnection);

    [propget] HRESULT VRDEExtPack ([out, retval] BSTR * aVRDEExtPack);
    [propput] HRESULT VRDEExtPack ([in] BSTR aVRDEExtPack);

    [propget] HRESULT AuthLibrary ([out, retval] BSTR * aAuthLibrary);
    [propput] HRESULT AuthLibrary ([in] BSTR aAuthLibrary);

    [propget] HRESULT VRDEProperties ([out, retval] SAFEARRAY(BSTR) * aVRDEProperties);

    [propget] HRESULT InternalAndReservedAttribute1IVRDEServer ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IVRDEServer ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IVRDEServer ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IVRDEServer ([out, retval] ULONG *aReserved);

    HRESULT SetVRDEProperty (
        [in] BSTR aKey,
        [in] BSTR aValue
    );

    HRESULT GetVRDEProperty (
        [in] BSTR aKey,
        [out, retval] BSTR * aValue
    );

    HRESULT InternalAndReservedMethod1IVRDEServer();

    HRESULT InternalAndReservedMethod2IVRDEServer();

}; /* interface IVRDEServer */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AuthType_TO(smth) HRESULT STDMETHODCALLTYPE get_AuthType (AuthType * aAuthType) { return smth get_AuthType (aAuthType); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AuthType_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_AuthType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AuthType_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_AuthType_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AuthType_TO(smth) HRESULT STDMETHODCALLTYPE put_AuthType (AuthType aAuthType) { return smth put_AuthType (aAuthType); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AuthType_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_AuthType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AuthType_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_AuthType_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO(smth) HRESULT STDMETHODCALLTYPE get_AuthTimeout (ULONG * aAuthTimeout) { return smth get_AuthTimeout (aAuthTimeout); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO(smth) HRESULT STDMETHODCALLTYPE put_AuthTimeout (ULONG aAuthTimeout) { return smth put_AuthTimeout (aAuthTimeout); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO(smth) HRESULT STDMETHODCALLTYPE get_AllowMultiConnection (BOOL * aAllowMultiConnection) { return smth get_AllowMultiConnection (aAllowMultiConnection); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO(smth) HRESULT STDMETHODCALLTYPE put_AllowMultiConnection (BOOL aAllowMultiConnection) { return smth put_AllowMultiConnection (aAllowMultiConnection); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO(smth) HRESULT STDMETHODCALLTYPE get_ReuseSingleConnection (BOOL * aReuseSingleConnection) { return smth get_ReuseSingleConnection (aReuseSingleConnection); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO(smth) HRESULT STDMETHODCALLTYPE put_ReuseSingleConnection (BOOL aReuseSingleConnection) { return smth put_ReuseSingleConnection (aReuseSingleConnection); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEExtPack (BSTR * aVRDEExtPack) { return smth get_VRDEExtPack (aVRDEExtPack); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO(smth) HRESULT STDMETHODCALLTYPE put_VRDEExtPack (BSTR aVRDEExtPack) { return smth put_VRDEExtPack (aVRDEExtPack); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE get_AuthLibrary (BSTR * aAuthLibrary) { return smth get_AuthLibrary (aAuthLibrary); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE put_AuthLibrary (BSTR aAuthLibrary) { return smth put_AuthLibrary (aAuthLibrary); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEProperties (SAFEARRAY * * aVRDEProperties) { return smth get_VRDEProperties (aVRDEProperties); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SetVRDEProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetVRDEProperty (BSTR aKey, BSTR aValue) { return smth SetVRDEProperty (aKey, aValue); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_SetVRDEProperty_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SetVRDEProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_SetVRDEProperty_TO_BASE(base) COM_FORWARD_IVRDEServer_SetVRDEProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GetVRDEProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetVRDEProperty (BSTR aKey, BSTR * aValue) { return smth GetVRDEProperty (aKey, aValue); }")
cpp_quote("#define COM_FORWARD_IVRDEServer_GetVRDEProperty_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GetVRDEProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_GetVRDEProperty_TO_BASE(base) COM_FORWARD_IVRDEServer_GetVRDEProperty_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IVRDEServer_TO_OBJ(obj) COM_FORWARD_IVRDEServer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServer_TO_BASE(base) COM_FORWARD_IVRDEServer_TO (base::)")

[
    uuid(0b108b8c-62e0-4e06-9dfa-2f1a2ad70774),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISharedFolder : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT HostPath ([out, retval] BSTR * aHostPath);

    [propget] HRESULT Accessible ([out, retval] BOOL * aAccessible);

    [propget] HRESULT Writable ([out, retval] BOOL * aWritable);
    [propput] HRESULT Writable ([in] BOOL aWritable);

    [propget] HRESULT AutoMount ([out, retval] BOOL * aAutoMount);
    [propput] HRESULT AutoMount ([in] BOOL aAutoMount);

    [propget] HRESULT AutoMountPoint ([out, retval] BSTR * aAutoMountPoint);
    [propput] HRESULT AutoMountPoint ([in] BSTR aAutoMountPoint);

    [propget] HRESULT LastAccessError ([out, retval] BSTR * aLastAccessError);

    [propget] HRESULT SymlinkPolicy ([out, retval] SymlinkPolicy * aSymlinkPolicy);
    [propput] HRESULT SymlinkPolicy ([in] SymlinkPolicy aSymlinkPolicy);

    [propget] HRESULT InternalAndReservedAttribute1ISharedFolder ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ISharedFolder ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ISharedFolder ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ISharedFolder ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ISharedFolder ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ISharedFolder ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ISharedFolder ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ISharedFolder ([out, retval] ULONG *aReserved);

}; /* interface ISharedFolder */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_Name_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_HostPath_TO(smth) HRESULT STDMETHODCALLTYPE get_HostPath (BSTR * aHostPath) { return smth get_HostPath (aHostPath); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_HostPath_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_HostPath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_HostPath_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_HostPath_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_Accessible_TO(smth) HRESULT STDMETHODCALLTYPE get_Accessible (BOOL * aAccessible) { return smth get_Accessible (aAccessible); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_Accessible_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_Accessible_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_Accessible_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_Accessible_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_Writable_TO(smth) HRESULT STDMETHODCALLTYPE get_Writable (BOOL * aWritable) { return smth get_Writable (aWritable); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_Writable_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_Writable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_Writable_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_Writable_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_Writable_TO(smth) HRESULT STDMETHODCALLTYPE put_Writable (BOOL aWritable) { return smth put_Writable (aWritable); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_Writable_TO_OBJ(obj) COM_FORWARD_ISharedFolder_SETTER_Writable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_Writable_TO_BASE(base) COM_FORWARD_ISharedFolder_SETTER_Writable_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO(smth) HRESULT STDMETHODCALLTYPE get_AutoMount (BOOL * aAutoMount) { return smth get_AutoMount (aAutoMount); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO(smth) HRESULT STDMETHODCALLTYPE put_AutoMount (BOOL aAutoMount) { return smth put_AutoMount (aAutoMount); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO_OBJ(obj) COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO_BASE(base) COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO(smth) HRESULT STDMETHODCALLTYPE get_AutoMountPoint (BSTR * aAutoMountPoint) { return smth get_AutoMountPoint (aAutoMountPoint); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO(smth) HRESULT STDMETHODCALLTYPE put_AutoMountPoint (BSTR aAutoMountPoint) { return smth put_AutoMountPoint (aAutoMountPoint); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO_OBJ(obj) COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO_BASE(base) COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO(smth) HRESULT STDMETHODCALLTYPE get_LastAccessError (BSTR * aLastAccessError) { return smth get_LastAccessError (aLastAccessError); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO(smth) HRESULT STDMETHODCALLTYPE get_SymlinkPolicy (SymlinkPolicy * aSymlinkPolicy) { return smth get_SymlinkPolicy (aSymlinkPolicy); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO(smth) HRESULT STDMETHODCALLTYPE put_SymlinkPolicy (SymlinkPolicy aSymlinkPolicy) { return smth put_SymlinkPolicy (aSymlinkPolicy); }")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO_OBJ(obj) COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO_BASE(base) COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ISharedFolder_TO_OBJ(obj) COM_FORWARD_ISharedFolder_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolder_TO_BASE(base) COM_FORWARD_ISharedFolder_TO (base::)")

[
    uuid(84a4e585-4f4a-45bb-99e8-fc9b226376ad),
    object,
    dual,
    oleautomation
    , proxy
]
interface IInternalSessionControl : IDispatch
{
    [propget] HRESULT PID ([out, retval] ULONG * aPID);

    [propget] HRESULT RemoteConsole ([out, retval] IConsole * * aRemoteConsole);

    [propget] HRESULT NominalState ([out, retval] MachineState * aNominalState);

    HRESULT AssignRemoteMachine (
        [in] IMachine * aMachine,
        [in] IConsole * aConsole
    );

    HRESULT UpdateMachineState (
        [in] MachineState aMachineState
    );

    HRESULT Uninitialize();

    HRESULT OnNetworkAdapterChange (
        [in] INetworkAdapter * aNetworkAdapter,
        [in] BOOL aChangeAdapter
    );

    HRESULT OnAudioAdapterChange (
        [in] IAudioAdapter * aAudioAdapter
    );

    HRESULT OnHostAudioDeviceChange (
        [in] IHostAudioDevice * aDevice,
        [in] BOOL aIsNew,
        [in] AudioDeviceState aState,
        [in] IVirtualBoxErrorInfo * aErrorInfo
    );

    HRESULT OnSerialPortChange (
        [in] ISerialPort * aSerialPort
    );

    HRESULT OnParallelPortChange (
        [in] IParallelPort * aParallelPort
    );

    HRESULT OnStorageControllerChange (
        [in] BSTR aMachineId,
        [in] BSTR aControllerName
    );

    HRESULT OnMediumChange (
        [in] IMediumAttachment * aMediumAttachment,
        [in] BOOL aForce
    );

    HRESULT OnStorageDeviceChange (
        [in] IMediumAttachment * aMediumAttachment,
        [in] BOOL aRemove,
        [in] BOOL aSilent
    );

    HRESULT OnVMProcessPriorityChange (
        [in] VMProcPriority aPriority
    );

    HRESULT OnClipboardModeChange (
        [in] ClipboardMode aClipboardMode
    );

    HRESULT OnClipboardFileTransferModeChange (
        [in] BOOL aEnabled
    );

    HRESULT OnDnDModeChange (
        [in] DnDMode aDndMode
    );

    HRESULT OnCPUChange (
        [in] ULONG aCpu,
        [in] BOOL aAdd
    );

    HRESULT OnCPUExecutionCapChange (
        [in] ULONG aExecutionCap
    );

    HRESULT OnVRDEServerChange (
        [in] BOOL aRestart
    );

    HRESULT OnRecordingStateChange (
        [in] RecordingState aState,
        [out] IProgress * * aProgress
    );

    HRESULT OnRecordingScreenStateChange (
        [in] RecordingState aState,
        [in] ULONG aScreen
    );

    HRESULT OnUSBControllerChange();

    HRESULT OnSharedFolderChange (
        [in] BOOL aGlobal
    );

    HRESULT OnGuestDebugControlChange (
        [in] IGuestDebugControl * aGuestDebugControl
    );

    HRESULT OnUSBDeviceAttach (
        [in] IUSBDevice * aDevice,
        [in] IVirtualBoxErrorInfo * aError,
        [in] ULONG aMaskedInterfaces,
        [in] BSTR aCaptureFilename
    );

    HRESULT OnUSBDeviceDetach (
        [in] BSTR aId,
        [in] IVirtualBoxErrorInfo * aError
    );

    HRESULT OnShowWindow (
        [in] BOOL aCheck,
        [out] BOOL * aCanShow,
        [out] LONG64 * aWinId
    );

    HRESULT OnBandwidthGroupChange (
        [in] IBandwidthGroup * aBandwidthGroup
    );

    HRESULT AccessGuestProperty (
        [in] BSTR aName,
        [in] BSTR aValue,
        [in] BSTR aFlags,
        [in] ULONG aAccessMode,
        [out] BSTR * aRetValue,
        [out] LONG64 * aRetTimestamp,
        [out] BSTR * aRetFlags
    );

    HRESULT EnumerateGuestProperties (
        [in] BSTR aPatterns,
        [out] SAFEARRAY(BSTR) * aKeys,
        [out] SAFEARRAY(BSTR) * aValues,
        [out] SAFEARRAY(LONG64) * aTimestamps,
        [out] SAFEARRAY(BSTR) * aFlags
    );

    HRESULT OnlineMergeMedium (
        [in] IMediumAttachment * aMediumAttachment,
        [in] ULONG aSourceIdx,
        [in] ULONG aTargetIdx,
        [in] IProgress * aProgress
    );

    HRESULT ReconfigureMediumAttachments (
        [in] SAFEARRAY(IMediumAttachment *) aAttachments
    );

    HRESULT EnableVMMStatistics (
        [in] BOOL aEnable
    );

    HRESULT PauseWithReason (
        [in] Reason aReason
    );

    HRESULT ResumeWithReason (
        [in] Reason aReason
    );

    HRESULT SaveStateWithReason (
        [in] Reason aReason,
        [in] IProgress * aProgress,
        [in] ISnapshot * aSnapshot,
        [in] BSTR aStateFilePath,
        [in] BOOL aPauseVM,
        [out, retval] BOOL * aLeftPaused
    );

    HRESULT CancelSaveStateWithReason();

    HRESULT AssignMachine (
        [in] IMachine * aMachine,
        [in] LockType aLockType,
        [in] BSTR aTokenId
    );

}; /* interface IInternalSessionControl */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GETTER_PID_TO(smth) HRESULT STDMETHODCALLTYPE get_PID (ULONG * aPID) { return smth get_PID (aPID); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GETTER_PID_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_GETTER_PID_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GETTER_PID_TO_BASE(base) COM_FORWARD_IInternalSessionControl_GETTER_PID_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO(smth) HRESULT STDMETHODCALLTYPE get_RemoteConsole (IConsole * * aRemoteConsole) { return smth get_RemoteConsole (aRemoteConsole); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO_BASE(base) COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO(smth) HRESULT STDMETHODCALLTYPE get_NominalState (MachineState * aNominalState) { return smth get_NominalState (aNominalState); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO_BASE(base) COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO(smth) HRESULT STDMETHODCALLTYPE AssignRemoteMachine (IMachine * aMachine, IConsole * aConsole) { return smth AssignRemoteMachine (aMachine, aConsole); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO_BASE(base) COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO(smth) HRESULT STDMETHODCALLTYPE UpdateMachineState (MachineState aMachineState) { return smth UpdateMachineState (aMachineState); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO_BASE(base) COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_Uninitialize_TO(smth) HRESULT STDMETHODCALLTYPE Uninitialize() { return smth Uninitialize(); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_Uninitialize_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_Uninitialize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_Uninitialize_TO_BASE(base) COM_FORWARD_IInternalSessionControl_Uninitialize_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO(smth) HRESULT STDMETHODCALLTYPE OnNetworkAdapterChange (INetworkAdapter * aNetworkAdapter, BOOL aChangeAdapter) { return smth OnNetworkAdapterChange (aNetworkAdapter, aChangeAdapter); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO(smth) HRESULT STDMETHODCALLTYPE OnAudioAdapterChange (IAudioAdapter * aAudioAdapter) { return smth OnAudioAdapterChange (aAudioAdapter); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnHostAudioDeviceChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnHostAudioDeviceChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnHostAudioDeviceChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnHostAudioDeviceChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO(smth) HRESULT STDMETHODCALLTYPE OnSerialPortChange (ISerialPort * aSerialPort) { return smth OnSerialPortChange (aSerialPort); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO(smth) HRESULT STDMETHODCALLTYPE OnParallelPortChange (IParallelPort * aParallelPort) { return smth OnParallelPortChange (aParallelPort); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO(smth) HRESULT STDMETHODCALLTYPE OnStorageControllerChange (BSTR aMachineId, BSTR aControllerName) { return smth OnStorageControllerChange (aMachineId, aControllerName); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnMediumChange_TO(smth) HRESULT STDMETHODCALLTYPE OnMediumChange (IMediumAttachment * aMediumAttachment, BOOL aForce) { return smth OnMediumChange (aMediumAttachment, aForce); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnMediumChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnMediumChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnMediumChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnMediumChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO(smth) HRESULT STDMETHODCALLTYPE OnStorageDeviceChange (IMediumAttachment * aMediumAttachment, BOOL aRemove, BOOL aSilent) { return smth OnStorageDeviceChange (aMediumAttachment, aRemove, aSilent); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO(smth) HRESULT STDMETHODCALLTYPE OnVMProcessPriorityChange (VMProcPriority aPriority) { return smth OnVMProcessPriorityChange (aPriority); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO(smth) HRESULT STDMETHODCALLTYPE OnClipboardModeChange (ClipboardMode aClipboardMode) { return smth OnClipboardModeChange (aClipboardMode); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO(smth) HRESULT STDMETHODCALLTYPE OnClipboardFileTransferModeChange (BOOL aEnabled) { return smth OnClipboardFileTransferModeChange (aEnabled); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO(smth) HRESULT STDMETHODCALLTYPE OnDnDModeChange (DnDMode aDndMode) { return smth OnDnDModeChange (aDndMode); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnCPUChange_TO(smth) HRESULT STDMETHODCALLTYPE OnCPUChange (ULONG aCpu, BOOL aAdd) { return smth OnCPUChange (aCpu, aAdd); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnCPUChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnCPUChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnCPUChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnCPUChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO(smth) HRESULT STDMETHODCALLTYPE OnCPUExecutionCapChange (ULONG aExecutionCap) { return smth OnCPUExecutionCapChange (aExecutionCap); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO(smth) HRESULT STDMETHODCALLTYPE OnVRDEServerChange (BOOL aRestart) { return smth OnVRDEServerChange (aRestart); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO(smth) HRESULT STDMETHODCALLTYPE OnRecordingStateChange (RecordingState aState, IProgress * * aProgress) { return smth OnRecordingStateChange (aState, aProgress); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO(smth) HRESULT STDMETHODCALLTYPE OnRecordingScreenStateChange (RecordingState aState, ULONG aScreen) { return smth OnRecordingScreenStateChange (aState, aScreen); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO(smth) HRESULT STDMETHODCALLTYPE OnUSBControllerChange() { return smth OnUSBControllerChange(); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO(smth) HRESULT STDMETHODCALLTYPE OnSharedFolderChange (BOOL aGlobal) { return smth OnSharedFolderChange (aGlobal); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO(smth) HRESULT STDMETHODCALLTYPE OnGuestDebugControlChange (IGuestDebugControl * aGuestDebugControl) { return smth OnGuestDebugControlChange (aGuestDebugControl); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceAttach_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnUSBDeviceAttach_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceAttach_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnUSBDeviceAttach_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO(smth) HRESULT STDMETHODCALLTYPE OnUSBDeviceDetach (BSTR aId, IVirtualBoxErrorInfo * aError) { return smth OnUSBDeviceDetach (aId, aError); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnShowWindow_TO(smth) HRESULT STDMETHODCALLTYPE OnShowWindow (BOOL aCheck, BOOL * aCanShow, LONG64 * aWinId) { return smth OnShowWindow (aCheck, aCanShow, aWinId); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnShowWindow_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnShowWindow_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnShowWindow_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnShowWindow_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO(smth) HRESULT STDMETHODCALLTYPE OnBandwidthGroupChange (IBandwidthGroup * aBandwidthGroup) { return smth OnBandwidthGroupChange (aBandwidthGroup); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_AccessGuestProperty_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_AccessGuestProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_AccessGuestProperty_TO_BASE(base) COM_FORWARD_IInternalSessionControl_AccessGuestProperty_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_EnumerateGuestProperties_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_EnumerateGuestProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_EnumerateGuestProperties_TO_BASE(base) COM_FORWARD_IInternalSessionControl_EnumerateGuestProperties_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnlineMergeMedium_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnlineMergeMedium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_OnlineMergeMedium_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnlineMergeMedium_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO(smth) HRESULT STDMETHODCALLTYPE ReconfigureMediumAttachments (SAFEARRAY * * aAttachments) { return smth ReconfigureMediumAttachments (aAttachments); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO_BASE(base) COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO(smth) HRESULT STDMETHODCALLTYPE EnableVMMStatistics (BOOL aEnable) { return smth EnableVMMStatistics (aEnable); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO_BASE(base) COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_PauseWithReason_TO(smth) HRESULT STDMETHODCALLTYPE PauseWithReason (Reason aReason) { return smth PauseWithReason (aReason); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_PauseWithReason_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_PauseWithReason_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_PauseWithReason_TO_BASE(base) COM_FORWARD_IInternalSessionControl_PauseWithReason_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO(smth) HRESULT STDMETHODCALLTYPE ResumeWithReason (Reason aReason) { return smth ResumeWithReason (aReason); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO_BASE(base) COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_SaveStateWithReason_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_SaveStateWithReason_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_SaveStateWithReason_TO_BASE(base) COM_FORWARD_IInternalSessionControl_SaveStateWithReason_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO(smth) HRESULT STDMETHODCALLTYPE CancelSaveStateWithReason() { return smth CancelSaveStateWithReason(); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO_BASE(base) COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_AssignMachine_TO(smth) HRESULT STDMETHODCALLTYPE AssignMachine (IMachine * aMachine, LockType aLockType, BSTR aTokenId) { return smth AssignMachine (aMachine, aLockType, aTokenId); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_AssignMachine_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_AssignMachine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_AssignMachine_TO_BASE(base) COM_FORWARD_IInternalSessionControl_AssignMachine_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_TO_BASE(base) COM_FORWARD_IInternalSessionControl_TO (base::)")

[
    uuid(c0447716-ff5a-4795-b57a-ecd5fffa18a4),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISession : IDispatch
{
    [propget] HRESULT State ([out, retval] SessionState * aState);

    [propget] HRESULT Type ([out, retval] SessionType * aType);

    [propget] HRESULT Name ([out, retval] BSTR * aName);
    [propput] HRESULT Name ([in] BSTR aName);

    [propget] HRESULT Machine ([out, retval] IMachine * * aMachine);

    [propget] HRESULT Console ([out, retval] IConsole * * aConsole);

    [propget] HRESULT InternalAndReservedAttribute1ISession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ISession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ISession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ISession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ISession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ISession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ISession ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ISession ([out, retval] ULONG *aReserved);

    HRESULT UnlockMachine();

    HRESULT InternalAndReservedMethod1ISession();

    HRESULT InternalAndReservedMethod2ISession();

    HRESULT InternalAndReservedMethod3ISession();

    HRESULT InternalAndReservedMethod4ISession();

}; /* interface ISession */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISession_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (SessionState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_ISession_GETTER_State_TO_OBJ(obj) COM_FORWARD_ISession_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISession_GETTER_State_TO_BASE(base) COM_FORWARD_ISession_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (SessionType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Type_TO_OBJ(obj) COM_FORWARD_ISession_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Type_TO_BASE(base) COM_FORWARD_ISession_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ISession_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Name_TO_BASE(base) COM_FORWARD_ISession_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ISession_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }")
cpp_quote("#define COM_FORWARD_ISession_SETTER_Name_TO_OBJ(obj) COM_FORWARD_ISession_SETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISession_SETTER_Name_TO_BASE(base) COM_FORWARD_ISession_SETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE get_Machine (IMachine * * aMachine) { return smth get_Machine (aMachine); }")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Machine_TO_OBJ(obj) COM_FORWARD_ISession_GETTER_Machine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Machine_TO_BASE(base) COM_FORWARD_ISession_GETTER_Machine_TO (base::)")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Console_TO(smth) HRESULT STDMETHODCALLTYPE get_Console (IConsole * * aConsole) { return smth get_Console (aConsole); }")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Console_TO_OBJ(obj) COM_FORWARD_ISession_GETTER_Console_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISession_GETTER_Console_TO_BASE(base) COM_FORWARD_ISession_GETTER_Console_TO (base::)")
cpp_quote("#define COM_FORWARD_ISession_UnlockMachine_TO(smth) HRESULT STDMETHODCALLTYPE UnlockMachine() { return smth UnlockMachine(); }")
cpp_quote("#define COM_FORWARD_ISession_UnlockMachine_TO_OBJ(obj) COM_FORWARD_ISession_UnlockMachine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISession_UnlockMachine_TO_BASE(base) COM_FORWARD_ISession_UnlockMachine_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ISession_TO_OBJ(obj) COM_FORWARD_ISession_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISession_TO_BASE(base) COM_FORWARD_ISession_TO (base::)")

[
    uuid(ddca7247-bf98-47fb-ab2f-b5177533f493),
    object,
    dual,
    oleautomation
    , proxy
]
interface IStorageController : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);
    [propput] HRESULT Name ([in] BSTR aName);

    [propget] HRESULT MaxDevicesPerPortCount ([out, retval] ULONG * aMaxDevicesPerPortCount);

    [propget] HRESULT MinPortCount ([out, retval] ULONG * aMinPortCount);

    [propget] HRESULT MaxPortCount ([out, retval] ULONG * aMaxPortCount);

    [propget] HRESULT Instance ([out, retval] ULONG * aInstance);
    [propput] HRESULT Instance ([in] ULONG aInstance);

    [propget] HRESULT PortCount ([out, retval] ULONG * aPortCount);
    [propput] HRESULT PortCount ([in] ULONG aPortCount);

    [propget] HRESULT Bus ([out, retval] StorageBus * aBus);

    [propget] HRESULT ControllerType ([out, retval] StorageControllerType * aControllerType);
    [propput] HRESULT ControllerType ([in] StorageControllerType aControllerType);

    [propget] HRESULT UseHostIOCache ([out, retval] BOOL * aUseHostIOCache);
    [propput] HRESULT UseHostIOCache ([in] BOOL aUseHostIOCache);

    [propget] HRESULT Bootable ([out, retval] BOOL * aBootable);

    [propget] HRESULT InternalAndReservedAttribute1IStorageController ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IStorageController ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IStorageController ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IStorageController ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IStorageController ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IStorageController ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IStorageController ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IStorageController ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1IStorageController();

    HRESULT InternalAndReservedMethod2IStorageController();

    HRESULT InternalAndReservedMethod3IStorageController();

    HRESULT InternalAndReservedMethod4IStorageController();

}; /* interface IStorageController */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Name_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IStorageController_SETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_Name_TO_BASE(base) COM_FORWARD_IStorageController_SETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxDevicesPerPortCount (ULONG * aMaxDevicesPerPortCount) { return smth get_MaxDevicesPerPortCount (aMaxDevicesPerPortCount); }")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_MinPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MinPortCount (ULONG * aMinPortCount) { return smth get_MinPortCount (aMinPortCount); }")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_MinPortCount_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_MinPortCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_MinPortCount_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_MinPortCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxPortCount (ULONG * aMaxPortCount) { return smth get_MaxPortCount (aMaxPortCount); }")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Instance_TO(smth) HRESULT STDMETHODCALLTYPE get_Instance (ULONG * aInstance) { return smth get_Instance (aInstance); }")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Instance_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_Instance_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Instance_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_Instance_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_Instance_TO(smth) HRESULT STDMETHODCALLTYPE put_Instance (ULONG aInstance) { return smth put_Instance (aInstance); }")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_Instance_TO_OBJ(obj) COM_FORWARD_IStorageController_SETTER_Instance_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_Instance_TO_BASE(base) COM_FORWARD_IStorageController_SETTER_Instance_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_PortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_PortCount (ULONG * aPortCount) { return smth get_PortCount (aPortCount); }")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_PortCount_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_PortCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_PortCount_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_PortCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_PortCount_TO(smth) HRESULT STDMETHODCALLTYPE put_PortCount (ULONG aPortCount) { return smth put_PortCount (aPortCount); }")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_PortCount_TO_OBJ(obj) COM_FORWARD_IStorageController_SETTER_PortCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_PortCount_TO_BASE(base) COM_FORWARD_IStorageController_SETTER_PortCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Bus_TO(smth) HRESULT STDMETHODCALLTYPE get_Bus (StorageBus * aBus) { return smth get_Bus (aBus); }")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Bus_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_Bus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Bus_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_Bus_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_ControllerType_TO(smth) HRESULT STDMETHODCALLTYPE get_ControllerType (StorageControllerType * aControllerType) { return smth get_ControllerType (aControllerType); }")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_ControllerType_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_ControllerType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_ControllerType_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_ControllerType_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_ControllerType_TO(smth) HRESULT STDMETHODCALLTYPE put_ControllerType (StorageControllerType aControllerType) { return smth put_ControllerType (aControllerType); }")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_ControllerType_TO_OBJ(obj) COM_FORWARD_IStorageController_SETTER_ControllerType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_ControllerType_TO_BASE(base) COM_FORWARD_IStorageController_SETTER_ControllerType_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO(smth) HRESULT STDMETHODCALLTYPE get_UseHostIOCache (BOOL * aUseHostIOCache) { return smth get_UseHostIOCache (aUseHostIOCache); }")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO(smth) HRESULT STDMETHODCALLTYPE put_UseHostIOCache (BOOL aUseHostIOCache) { return smth put_UseHostIOCache (aUseHostIOCache); }")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO_OBJ(obj) COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO_BASE(base) COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Bootable_TO(smth) HRESULT STDMETHODCALLTYPE get_Bootable (BOOL * aBootable) { return smth get_Bootable (aBootable); }")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Bootable_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_Bootable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GETTER_Bootable_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_Bootable_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IStorageController_TO_OBJ(obj) COM_FORWARD_IStorageController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_TO_BASE(base) COM_FORWARD_IStorageController_TO (base::)")

[
    uuid(81314d14-fd1c-411a-95c5-e9bb1414e632),
    object,
    dual,
    oleautomation
    , proxy
]
interface IPerformanceMetric : IDispatch
{
    [propget] HRESULT MetricName ([out, retval] BSTR * aMetricName);

    [propget] HRESULT Object ([out, retval] IUnknown * * aObject);

    [propget] HRESULT Description ([out, retval] BSTR * aDescription);

    [propget] HRESULT Period ([out, retval] ULONG * aPeriod);

    [propget] HRESULT Count ([out, retval] ULONG * aCount);

    [propget] HRESULT Unit ([out, retval] BSTR * aUnit);

    [propget] HRESULT MinimumValue ([out, retval] LONG * aMinimumValue);

    [propget] HRESULT MaximumValue ([out, retval] LONG * aMaximumValue);

    [propget] HRESULT InternalAndReservedAttribute1IPerformanceMetric ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IPerformanceMetric ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IPerformanceMetric ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IPerformanceMetric ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IPerformanceMetric ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IPerformanceMetric ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IPerformanceMetric ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IPerformanceMetric ([out, retval] ULONG *aReserved);

}; /* interface IPerformanceMetric */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO(smth) HRESULT STDMETHODCALLTYPE get_MetricName (BSTR * aMetricName) { return smth get_MetricName (aMetricName); }")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO (base::)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Object_TO(smth) HRESULT STDMETHODCALLTYPE get_Object (IUnknown * * aObject) { return smth get_Object (aObject); }")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Object_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_Object_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Object_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_Object_TO (base::)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Description_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Period_TO(smth) HRESULT STDMETHODCALLTYPE get_Period (ULONG * aPeriod) { return smth get_Period (aPeriod); }")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Period_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_Period_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Period_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_Period_TO (base::)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Count_TO(smth) HRESULT STDMETHODCALLTYPE get_Count (ULONG * aCount) { return smth get_Count (aCount); }")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Count_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_Count_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Count_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_Count_TO (base::)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO(smth) HRESULT STDMETHODCALLTYPE get_Unit (BSTR * aUnit) { return smth get_Unit (aUnit); }")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO (base::)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO(smth) HRESULT STDMETHODCALLTYPE get_MinimumValue (LONG * aMinimumValue) { return smth get_MinimumValue (aMinimumValue); }")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO (base::)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO(smth) HRESULT STDMETHODCALLTYPE get_MaximumValue (LONG * aMaximumValue) { return smth get_MaximumValue (aMaximumValue); }")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceMetric_TO_BASE(base) COM_FORWARD_IPerformanceMetric_TO (base::)")

[
    uuid(b14290ad-cd54-400c-b858-797bcb82570e),
    object,
    dual,
    oleautomation
    , proxy
]
interface IPerformanceCollector : IDispatch
{
    [propget] HRESULT MetricNames ([out, retval] SAFEARRAY(BSTR) * aMetricNames);

    [propget] HRESULT InternalAndReservedAttribute1IPerformanceCollector ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IPerformanceCollector ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IPerformanceCollector ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IPerformanceCollector ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IPerformanceCollector ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IPerformanceCollector ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IPerformanceCollector ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IPerformanceCollector ([out, retval] ULONG *aReserved);

    HRESULT GetMetrics (
        [in] SAFEARRAY(BSTR) aMetricNames,
        [in] SAFEARRAY(IUnknown *) aObjects,
        [out, retval] SAFEARRAY(IPerformanceMetric *) * aMetrics
    );

    HRESULT SetupMetrics (
        [in] SAFEARRAY(BSTR) aMetricNames,
        [in] SAFEARRAY(IUnknown *) aObjects,
        [in] ULONG aPeriod,
        [in] ULONG aCount,
        [out, retval] SAFEARRAY(IPerformanceMetric *) * aAffectedMetrics
    );

    HRESULT EnableMetrics (
        [in] SAFEARRAY(BSTR) aMetricNames,
        [in] SAFEARRAY(IUnknown *) aObjects,
        [out, retval] SAFEARRAY(IPerformanceMetric *) * aAffectedMetrics
    );

    HRESULT DisableMetrics (
        [in] SAFEARRAY(BSTR) aMetricNames,
        [in] SAFEARRAY(IUnknown *) aObjects,
        [out, retval] SAFEARRAY(IPerformanceMetric *) * aAffectedMetrics
    );

    HRESULT QueryMetricsData (
        [in] SAFEARRAY(BSTR) aMetricNames,
        [in] SAFEARRAY(IUnknown *) aObjects,
        [out] SAFEARRAY(BSTR) * aReturnMetricNames,
        [out] SAFEARRAY(IUnknown *) * aReturnObjects,
        [out] SAFEARRAY(BSTR) * aReturnUnits,
        [out] SAFEARRAY(ULONG) * aReturnScales,
        [out] SAFEARRAY(ULONG) * aReturnSequenceNumbers,
        [out] SAFEARRAY(ULONG) * aReturnDataIndices,
        [out] SAFEARRAY(ULONG) * aReturnDataLengths,
        [out, retval] SAFEARRAY(LONG) * aReturnData
    );

    HRESULT InternalAndReservedMethod1IPerformanceCollector();

    HRESULT InternalAndReservedMethod2IPerformanceCollector();

    HRESULT InternalAndReservedMethod3IPerformanceCollector();

    HRESULT InternalAndReservedMethod4IPerformanceCollector();

}; /* interface IPerformanceCollector */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO(smth) HRESULT STDMETHODCALLTYPE get_MetricNames (SAFEARRAY * * aMetricNames) { return smth get_MetricNames (aMetricNames); }")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO_BASE(base) COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO (base::)")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_GetMetrics_TO(smth) HRESULT STDMETHODCALLTYPE GetMetrics (SAFEARRAY * * aMetricNames, SAFEARRAY * * aObjects, SAFEARRAY * * aMetrics) { return smth GetMetrics (aMetricNames, aObjects, aMetrics); }")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_GetMetrics_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_GetMetrics_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_GetMetrics_TO_BASE(base) COM_FORWARD_IPerformanceCollector_GetMetrics_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_SetupMetrics_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_SetupMetrics_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_SetupMetrics_TO_BASE(base) COM_FORWARD_IPerformanceCollector_SetupMetrics_TO (base::)")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_EnableMetrics_TO(smth) HRESULT STDMETHODCALLTYPE EnableMetrics (SAFEARRAY * * aMetricNames, SAFEARRAY * * aObjects, SAFEARRAY * * aAffectedMetrics) { return smth EnableMetrics (aMetricNames, aObjects, aAffectedMetrics); }")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_EnableMetrics_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_EnableMetrics_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_EnableMetrics_TO_BASE(base) COM_FORWARD_IPerformanceCollector_EnableMetrics_TO (base::)")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_DisableMetrics_TO(smth) HRESULT STDMETHODCALLTYPE DisableMetrics (SAFEARRAY * * aMetricNames, SAFEARRAY * * aObjects, SAFEARRAY * * aAffectedMetrics) { return smth DisableMetrics (aMetricNames, aObjects, aAffectedMetrics); }")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_DisableMetrics_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_DisableMetrics_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_DisableMetrics_TO_BASE(base) COM_FORWARD_IPerformanceCollector_DisableMetrics_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_QueryMetricsData_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_QueryMetricsData_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_QueryMetricsData_TO_BASE(base) COM_FORWARD_IPerformanceCollector_QueryMetricsData_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IPerformanceCollector_TO_BASE(base) COM_FORWARD_IPerformanceCollector_TO (base::)")

[
    uuid(55f6cedb-141d-41bb-9995-ee2fc7f9101a),
    object,
    dual,
    oleautomation
    , proxy
]
interface INATEngine : IDispatch
{
    [propget] HRESULT Network ([out, retval] BSTR * aNetwork);
    [propput] HRESULT Network ([in] BSTR aNetwork);

    [propget] HRESULT HostIP ([out, retval] BSTR * aHostIP);
    [propput] HRESULT HostIP ([in] BSTR aHostIP);

    [propget] HRESULT TFTPPrefix ([out, retval] BSTR * aTFTPPrefix);
    [propput] HRESULT TFTPPrefix ([in] BSTR aTFTPPrefix);

    [propget] HRESULT TFTPBootFile ([out, retval] BSTR * aTFTPBootFile);
    [propput] HRESULT TFTPBootFile ([in] BSTR aTFTPBootFile);

    [propget] HRESULT TFTPNextServer ([out, retval] BSTR * aTFTPNextServer);
    [propput] HRESULT TFTPNextServer ([in] BSTR aTFTPNextServer);

    [propget] HRESULT AliasMode ([out, retval] ULONG * aAliasMode);
    [propput] HRESULT AliasMode ([in] ULONG aAliasMode);

    [propget] HRESULT DNSPassDomain ([out, retval] BOOL * aDNSPassDomain);
    [propput] HRESULT DNSPassDomain ([in] BOOL aDNSPassDomain);

    [propget] HRESULT DNSProxy ([out, retval] BOOL * aDNSProxy);
    [propput] HRESULT DNSProxy ([in] BOOL aDNSProxy);

    [propget] HRESULT DNSUseHostResolver ([out, retval] BOOL * aDNSUseHostResolver);
    [propput] HRESULT DNSUseHostResolver ([in] BOOL aDNSUseHostResolver);

    [propget] HRESULT Redirects ([out, retval] SAFEARRAY(BSTR) * aRedirects);

    [propget] HRESULT LocalhostReachable ([out, retval] BOOL * aLocalhostReachable);
    [propput] HRESULT LocalhostReachable ([in] BOOL aLocalhostReachable);

    [propget] HRESULT ForwardBroadcast ([out, retval] BOOL * aForwardBroadcast);
    [propput] HRESULT ForwardBroadcast ([in] BOOL aForwardBroadcast);

    [propget] HRESULT EnableTFTP ([out, retval] BOOL * aEnableTFTP);
    [propput] HRESULT EnableTFTP ([in] BOOL aEnableTFTP);

    [propget] HRESULT NatMRU ([out, retval] ULONG * aNatMRU);
    [propput] HRESULT NatMRU ([in] ULONG aNatMRU);

    [propget] HRESULT IPv6Enabled ([out, retval] BOOL * aIPv6Enabled);
    [propput] HRESULT IPv6Enabled ([in] BOOL aIPv6Enabled);

    [propget] HRESULT IPv6Prefix ([out, retval] BSTR * aIPv6Prefix);
    [propput] HRESULT IPv6Prefix ([in] BSTR aIPv6Prefix);

    [propget] HRESULT InternalAndReservedAttribute1INATEngine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2INATEngine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3INATEngine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4INATEngine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5INATEngine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6INATEngine ([out, retval] ULONG *aReserved);

    HRESULT SetNetworkSettings (
        [in] ULONG aMtu,
        [in] ULONG aSockSnd,
        [in] ULONG aSockRcv,
        [in] ULONG aTcpWndSnd,
        [in] ULONG aTcpWndRcv
    );

    HRESULT GetNetworkSettings (
        [out] ULONG * aMtu,
        [out] ULONG * aSockSnd,
        [out] ULONG * aSockRcv,
        [out] ULONG * aTcpWndSnd,
        [out] ULONG * aTcpWndRcv
    );

    HRESULT AddRedirect (
        [in] BSTR aName,
        [in] NATProtocol aProto,
        [in] BSTR aHostIP,
        [in] USHORT aHostPort,
        [in] BSTR aGuestIP,
        [in] USHORT aGuestPort
    );

    HRESULT RemoveRedirect (
        [in] BSTR aName
    );

    HRESULT InternalAndReservedMethod1INATEngine();

    HRESULT InternalAndReservedMethod2INATEngine();

    HRESULT InternalAndReservedMethod3INATEngine();

    HRESULT InternalAndReservedMethod4INATEngine();

}; /* interface INATEngine */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_Network_TO(smth) HRESULT STDMETHODCALLTYPE get_Network (BSTR * aNetwork) { return smth get_Network (aNetwork); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_Network_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_Network_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_Network_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_Network_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_Network_TO(smth) HRESULT STDMETHODCALLTYPE put_Network (BSTR aNetwork) { return smth put_Network (aNetwork); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_Network_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_Network_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_Network_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_Network_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_HostIP_TO(smth) HRESULT STDMETHODCALLTYPE get_HostIP (BSTR * aHostIP) { return smth get_HostIP (aHostIP); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_HostIP_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_HostIP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_HostIP_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_HostIP_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_HostIP_TO(smth) HRESULT STDMETHODCALLTYPE put_HostIP (BSTR aHostIP) { return smth put_HostIP (aHostIP); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_HostIP_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_HostIP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_HostIP_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_HostIP_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO(smth) HRESULT STDMETHODCALLTYPE get_TFTPPrefix (BSTR * aTFTPPrefix) { return smth get_TFTPPrefix (aTFTPPrefix); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO(smth) HRESULT STDMETHODCALLTYPE put_TFTPPrefix (BSTR aTFTPPrefix) { return smth put_TFTPPrefix (aTFTPPrefix); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO(smth) HRESULT STDMETHODCALLTYPE get_TFTPBootFile (BSTR * aTFTPBootFile) { return smth get_TFTPBootFile (aTFTPBootFile); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO(smth) HRESULT STDMETHODCALLTYPE put_TFTPBootFile (BSTR aTFTPBootFile) { return smth put_TFTPBootFile (aTFTPBootFile); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO(smth) HRESULT STDMETHODCALLTYPE get_TFTPNextServer (BSTR * aTFTPNextServer) { return smth get_TFTPNextServer (aTFTPNextServer); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO(smth) HRESULT STDMETHODCALLTYPE put_TFTPNextServer (BSTR aTFTPNextServer) { return smth put_TFTPNextServer (aTFTPNextServer); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_AliasMode_TO(smth) HRESULT STDMETHODCALLTYPE get_AliasMode (ULONG * aAliasMode) { return smth get_AliasMode (aAliasMode); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_AliasMode_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_AliasMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_AliasMode_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_AliasMode_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_AliasMode_TO(smth) HRESULT STDMETHODCALLTYPE put_AliasMode (ULONG aAliasMode) { return smth put_AliasMode (aAliasMode); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_AliasMode_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_AliasMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_AliasMode_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_AliasMode_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO(smth) HRESULT STDMETHODCALLTYPE get_DNSPassDomain (BOOL * aDNSPassDomain) { return smth get_DNSPassDomain (aDNSPassDomain); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO(smth) HRESULT STDMETHODCALLTYPE put_DNSPassDomain (BOOL aDNSPassDomain) { return smth put_DNSPassDomain (aDNSPassDomain); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_DNSProxy_TO(smth) HRESULT STDMETHODCALLTYPE get_DNSProxy (BOOL * aDNSProxy) { return smth get_DNSProxy (aDNSProxy); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_DNSProxy_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_DNSProxy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_DNSProxy_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_DNSProxy_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_DNSProxy_TO(smth) HRESULT STDMETHODCALLTYPE put_DNSProxy (BOOL aDNSProxy) { return smth put_DNSProxy (aDNSProxy); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_DNSProxy_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_DNSProxy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_DNSProxy_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_DNSProxy_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO(smth) HRESULT STDMETHODCALLTYPE get_DNSUseHostResolver (BOOL * aDNSUseHostResolver) { return smth get_DNSUseHostResolver (aDNSUseHostResolver); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO(smth) HRESULT STDMETHODCALLTYPE put_DNSUseHostResolver (BOOL aDNSUseHostResolver) { return smth put_DNSUseHostResolver (aDNSUseHostResolver); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_Redirects_TO(smth) HRESULT STDMETHODCALLTYPE get_Redirects (SAFEARRAY * * aRedirects) { return smth get_Redirects (aRedirects); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_Redirects_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_Redirects_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_Redirects_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_Redirects_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO(smth) HRESULT STDMETHODCALLTYPE get_LocalhostReachable (BOOL * aLocalhostReachable) { return smth get_LocalhostReachable (aLocalhostReachable); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO(smth) HRESULT STDMETHODCALLTYPE put_LocalhostReachable (BOOL aLocalhostReachable) { return smth put_LocalhostReachable (aLocalhostReachable); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO(smth) HRESULT STDMETHODCALLTYPE get_ForwardBroadcast (BOOL * aForwardBroadcast) { return smth get_ForwardBroadcast (aForwardBroadcast); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO(smth) HRESULT STDMETHODCALLTYPE put_ForwardBroadcast (BOOL aForwardBroadcast) { return smth put_ForwardBroadcast (aForwardBroadcast); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_EnableTFTP_TO(smth) HRESULT STDMETHODCALLTYPE get_EnableTFTP (BOOL * aEnableTFTP) { return smth get_EnableTFTP (aEnableTFTP); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_EnableTFTP_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_EnableTFTP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_EnableTFTP_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_EnableTFTP_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_EnableTFTP_TO(smth) HRESULT STDMETHODCALLTYPE put_EnableTFTP (BOOL aEnableTFTP) { return smth put_EnableTFTP (aEnableTFTP); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_EnableTFTP_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_EnableTFTP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_EnableTFTP_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_EnableTFTP_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_NatMRU_TO(smth) HRESULT STDMETHODCALLTYPE get_NatMRU (ULONG * aNatMRU) { return smth get_NatMRU (aNatMRU); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_NatMRU_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_NatMRU_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_NatMRU_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_NatMRU_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_NatMRU_TO(smth) HRESULT STDMETHODCALLTYPE put_NatMRU (ULONG aNatMRU) { return smth put_NatMRU (aNatMRU); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_NatMRU_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_NatMRU_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_NatMRU_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_NatMRU_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_IPv6Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_IPv6Enabled (BOOL * aIPv6Enabled) { return smth get_IPv6Enabled (aIPv6Enabled); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_IPv6Enabled_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_IPv6Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_IPv6Enabled_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_IPv6Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_IPv6Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_IPv6Enabled (BOOL aIPv6Enabled) { return smth put_IPv6Enabled (aIPv6Enabled); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_IPv6Enabled_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_IPv6Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_IPv6Enabled_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_IPv6Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_IPv6Prefix_TO(smth) HRESULT STDMETHODCALLTYPE get_IPv6Prefix (BSTR * aIPv6Prefix) { return smth get_IPv6Prefix (aIPv6Prefix); }")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_IPv6Prefix_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_IPv6Prefix_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GETTER_IPv6Prefix_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_IPv6Prefix_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_IPv6Prefix_TO(smth) HRESULT STDMETHODCALLTYPE put_IPv6Prefix (BSTR aIPv6Prefix) { return smth put_IPv6Prefix (aIPv6Prefix); }")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_IPv6Prefix_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_IPv6Prefix_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SETTER_IPv6Prefix_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_IPv6Prefix_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_INATEngine_SetNetworkSettings_TO_OBJ(obj) COM_FORWARD_INATEngine_SetNetworkSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_SetNetworkSettings_TO_BASE(base) COM_FORWARD_INATEngine_SetNetworkSettings_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_INATEngine_GetNetworkSettings_TO_OBJ(obj) COM_FORWARD_INATEngine_GetNetworkSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_GetNetworkSettings_TO_BASE(base) COM_FORWARD_INATEngine_GetNetworkSettings_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_INATEngine_AddRedirect_TO_OBJ(obj) COM_FORWARD_INATEngine_AddRedirect_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_AddRedirect_TO_BASE(base) COM_FORWARD_INATEngine_AddRedirect_TO (base::)")
cpp_quote("#define COM_FORWARD_INATEngine_RemoveRedirect_TO(smth) HRESULT STDMETHODCALLTYPE RemoveRedirect (BSTR aName) { return smth RemoveRedirect (aName); }")
cpp_quote("#define COM_FORWARD_INATEngine_RemoveRedirect_TO_OBJ(obj) COM_FORWARD_INATEngine_RemoveRedirect_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_RemoveRedirect_TO_BASE(base) COM_FORWARD_INATEngine_RemoveRedirect_TO (base::)")
cpp_quote("#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_GETTER_EnableTFTP_TO (smth) COM_FORWARD_INATEngine_SETTER_EnableTFTP_TO (smth) COM_FORWARD_INATEngine_GETTER_NatMRU_TO (smth) COM_FORWARD_INATEngine_SETTER_NatMRU_TO (smth) COM_FORWARD_INATEngine_GETTER_IPv6Enabled_TO (smth) COM_FORWARD_INATEngine_SETTER_IPv6Enabled_TO (smth) COM_FORWARD_INATEngine_GETTER_IPv6Prefix_TO (smth) COM_FORWARD_INATEngine_SETTER_IPv6Prefix_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) ")
cpp_quote("#define COM_FORWARD_INATEngine_TO_OBJ(obj) COM_FORWARD_INATEngine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATEngine_TO_BASE(base) COM_FORWARD_INATEngine_TO (base::)")

[
    uuid(78861431-d545-44aa-8013-181b8c288554),
    object,
    dual,
    oleautomation
    , proxy
]
interface IExtPackPlugIn : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Description ([out, retval] BSTR * aDescription);

    [propget] HRESULT Frontend ([out, retval] BSTR * aFrontend);

    [propget] HRESULT ModulePath ([out, retval] BSTR * aModulePath);

    [propget] HRESULT InternalAndReservedAttribute1IExtPackPlugIn ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IExtPackPlugIn ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IExtPackPlugIn ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IExtPackPlugIn ([out, retval] ULONG *aReserved);

}; /* interface IExtPackPlugIn */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO_BASE(base) COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO_BASE(base) COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO(smth) HRESULT STDMETHODCALLTYPE get_Frontend (BSTR * aFrontend) { return smth get_Frontend (aFrontend); }")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO_OBJ(obj) COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO_BASE(base) COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO(smth) HRESULT STDMETHODCALLTYPE get_ModulePath (BSTR * aModulePath) { return smth get_ModulePath (aModulePath); }")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO_OBJ(obj) COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO_BASE(base) COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_TO_OBJ(obj) COM_FORWARD_IExtPackPlugIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackPlugIn_TO_BASE(base) COM_FORWARD_IExtPackPlugIn_TO (base::)")

[
    uuid(aa204a12-5b29-45a5-b5d6-c2bafcdb9b0b),
    object,
    dual,
    oleautomation
    , proxy
]
interface IExtPackBase : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Description ([out, retval] BSTR * aDescription);

    [propget] HRESULT Version ([out, retval] BSTR * aVersion);

    [propget] HRESULT Revision ([out, retval] ULONG * aRevision);

    [propget] HRESULT Edition ([out, retval] BSTR * aEdition);

    [propget] HRESULT VRDEModule ([out, retval] BSTR * aVRDEModule);

    [propget] HRESULT CryptoModule ([out, retval] BSTR * aCryptoModule);

    [propget] HRESULT PlugIns ([out, retval] SAFEARRAY(IExtPackPlugIn *) * aPlugIns);

    [propget] HRESULT Usable ([out, retval] BOOL * aUsable);

    [propget] HRESULT WhyUnusable ([out, retval] BSTR * aWhyUnusable);

    [propget] HRESULT ShowLicense ([out, retval] BOOL * aShowLicense);

    [propget] HRESULT License ([out, retval] BSTR * aLicense);

    [propget] HRESULT InternalAndReservedAttribute1IExtPackBase ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IExtPackBase ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IExtPackBase ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IExtPackBase ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IExtPackBase ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IExtPackBase ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IExtPackBase ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IExtPackBase ([out, retval] ULONG *aReserved);

    HRESULT QueryLicense (
        [in] BSTR aPreferredLocale,
        [in] BSTR aPreferredLanguage,
        [in] BSTR aFormat,
        [out, retval] BSTR * aLicenseText
    );

    HRESULT InternalAndReservedMethod1IExtPackBase();

    HRESULT InternalAndReservedMethod2IExtPackBase();

    HRESULT InternalAndReservedMethod3IExtPackBase();

    HRESULT InternalAndReservedMethod4IExtPackBase();

}; /* interface IExtPackBase */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Name_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Description_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Version_TO(smth) HRESULT STDMETHODCALLTYPE get_Version (BSTR * aVersion) { return smth get_Version (aVersion); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Version_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Version_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Version_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Version_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Revision_TO(smth) HRESULT STDMETHODCALLTYPE get_Revision (ULONG * aRevision) { return smth get_Revision (aRevision); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Revision_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Revision_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Revision_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Revision_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Edition_TO(smth) HRESULT STDMETHODCALLTYPE get_Edition (BSTR * aEdition) { return smth get_Edition (aEdition); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Edition_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Edition_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Edition_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Edition_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEModule (BSTR * aVRDEModule) { return smth get_VRDEModule (aVRDEModule); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO(smth) HRESULT STDMETHODCALLTYPE get_CryptoModule (BSTR * aCryptoModule) { return smth get_CryptoModule (aCryptoModule); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO(smth) HRESULT STDMETHODCALLTYPE get_PlugIns (SAFEARRAY * * aPlugIns) { return smth get_PlugIns (aPlugIns); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Usable_TO(smth) HRESULT STDMETHODCALLTYPE get_Usable (BOOL * aUsable) { return smth get_Usable (aUsable); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Usable_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Usable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_Usable_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Usable_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO(smth) HRESULT STDMETHODCALLTYPE get_WhyUnusable (BSTR * aWhyUnusable) { return smth get_WhyUnusable (aWhyUnusable); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO(smth) HRESULT STDMETHODCALLTYPE get_ShowLicense (BOOL * aShowLicense) { return smth get_ShowLicense (aShowLicense); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_License_TO(smth) HRESULT STDMETHODCALLTYPE get_License (BSTR * aLicense) { return smth get_License (aLicense); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_License_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_License_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_GETTER_License_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_License_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IExtPackBase_QueryLicense_TO_OBJ(obj) COM_FORWARD_IExtPackBase_QueryLicense_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_QueryLicense_TO_BASE(base) COM_FORWARD_IExtPackBase_QueryLicense_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IExtPackBase_TO_OBJ(obj) COM_FORWARD_IExtPackBase_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackBase_TO_BASE(base) COM_FORWARD_IExtPackBase_TO (base::)")

[
    uuid(431685da-3618-4ebc-b038-833ba829b4b2),
    object,
    dual,
    oleautomation
    , proxy
]
interface IExtPack : IExtPackBase
{
    HRESULT QueryObject (
        [in] BSTR aObjUuid,
        [out, retval] IUnknown * * aReturnInterface
    );

}; /* interface IExtPack */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IExtPack_QueryObject_TO(smth) HRESULT STDMETHODCALLTYPE QueryObject (BSTR aObjUuid, IUnknown * * aReturnInterface) { return smth QueryObject (aObjUuid, aReturnInterface); }")
cpp_quote("#define COM_FORWARD_IExtPack_QueryObject_TO_OBJ(obj) COM_FORWARD_IExtPack_QueryObject_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPack_QueryObject_TO_BASE(base) COM_FORWARD_IExtPack_QueryObject_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPack_TO(smth) COM_FORWARD_IExtPack_QueryObject_TO (smth) ")
cpp_quote("#define COM_FORWARD_IExtPack_TO_OBJ(obj) COM_FORWARD_IExtPack_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPack_TO_BASE(base) COM_FORWARD_IExtPack_TO (base::)")

[
    uuid(41304f1b-7e72-4f34-b8f6-682785620c57),
    object,
    dual,
    oleautomation
    , proxy
]
interface IExtPackFile : IExtPackBase
{
    [propget] HRESULT FilePath ([out, retval] BSTR * aFilePath);

    [propget] HRESULT InternalAndReservedAttribute1IExtPackFile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IExtPackFile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IExtPackFile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IExtPackFile ([out, retval] ULONG *aReserved);

    HRESULT Install (
        [in] BOOL aReplace,
        [in] BSTR aDisplayInfo,
        [out, retval] IProgress * * aProgress
    );

    HRESULT InternalAndReservedMethod1IExtPackFile();

    HRESULT InternalAndReservedMethod2IExtPackFile();

}; /* interface IExtPackFile */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IExtPackFile_GETTER_FilePath_TO(smth) HRESULT STDMETHODCALLTYPE get_FilePath (BSTR * aFilePath) { return smth get_FilePath (aFilePath); }")
cpp_quote("#define COM_FORWARD_IExtPackFile_GETTER_FilePath_TO_OBJ(obj) COM_FORWARD_IExtPackFile_GETTER_FilePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackFile_GETTER_FilePath_TO_BASE(base) COM_FORWARD_IExtPackFile_GETTER_FilePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackFile_Install_TO(smth) HRESULT STDMETHODCALLTYPE Install (BOOL aReplace, BSTR aDisplayInfo, IProgress * * aProgress) { return smth Install (aReplace, aDisplayInfo, aProgress); }")
cpp_quote("#define COM_FORWARD_IExtPackFile_Install_TO_OBJ(obj) COM_FORWARD_IExtPackFile_Install_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackFile_Install_TO_BASE(base) COM_FORWARD_IExtPackFile_Install_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackFile_TO(smth) COM_FORWARD_IExtPackFile_GETTER_FilePath_TO (smth) COM_FORWARD_IExtPackFile_Install_TO (smth) ")
cpp_quote("#define COM_FORWARD_IExtPackFile_TO_OBJ(obj) COM_FORWARD_IExtPackFile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackFile_TO_BASE(base) COM_FORWARD_IExtPackFile_TO (base::)")

[
    uuid(70401eef-c8e9-466b-9660-45cb3e9979e4),
    object,
    dual,
    oleautomation
    , proxy
]
interface IExtPackManager : IDispatch
{
    [propget] HRESULT InstalledExtPacks ([out, retval] SAFEARRAY(IExtPack *) * aInstalledExtPacks);

    [propget] HRESULT InternalAndReservedAttribute1IExtPackManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IExtPackManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IExtPackManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IExtPackManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IExtPackManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IExtPackManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IExtPackManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IExtPackManager ([out, retval] ULONG *aReserved);

    HRESULT Find (
        [in] BSTR aName,
        [out, retval] IExtPack * * aReturnData
    );

    HRESULT OpenExtPackFile (
        [in] BSTR aPath,
        [out, retval] IExtPackFile * * aFile
    );

    HRESULT Uninstall (
        [in] BSTR aName,
        [in] BOOL aForcedRemoval,
        [in] BSTR aDisplayInfo,
        [out, retval] IProgress * * aProgress
    );

    HRESULT Cleanup();

    HRESULT QueryAllPlugInsForFrontend (
        [in] BSTR aFrontendName,
        [out, retval] SAFEARRAY(BSTR) * aPlugInModules
    );

    HRESULT IsExtPackUsable (
        [in] BSTR aName,
        [out, retval] BOOL * aUsable
    );

    HRESULT InternalAndReservedMethod1IExtPackManager();

    HRESULT InternalAndReservedMethod2IExtPackManager();

    HRESULT InternalAndReservedMethod3IExtPackManager();

    HRESULT InternalAndReservedMethod4IExtPackManager();

}; /* interface IExtPackManager */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO(smth) HRESULT STDMETHODCALLTYPE get_InstalledExtPacks (SAFEARRAY * * aInstalledExtPacks) { return smth get_InstalledExtPacks (aInstalledExtPacks); }")
cpp_quote("#define COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO_OBJ(obj) COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO_BASE(base) COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackManager_Find_TO(smth) HRESULT STDMETHODCALLTYPE Find (BSTR aName, IExtPack * * aReturnData) { return smth Find (aName, aReturnData); }")
cpp_quote("#define COM_FORWARD_IExtPackManager_Find_TO_OBJ(obj) COM_FORWARD_IExtPackManager_Find_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackManager_Find_TO_BASE(base) COM_FORWARD_IExtPackManager_Find_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackManager_OpenExtPackFile_TO(smth) HRESULT STDMETHODCALLTYPE OpenExtPackFile (BSTR aPath, IExtPackFile * * aFile) { return smth OpenExtPackFile (aPath, aFile); }")
cpp_quote("#define COM_FORWARD_IExtPackManager_OpenExtPackFile_TO_OBJ(obj) COM_FORWARD_IExtPackManager_OpenExtPackFile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackManager_OpenExtPackFile_TO_BASE(base) COM_FORWARD_IExtPackManager_OpenExtPackFile_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackManager_Uninstall_TO(smth) HRESULT STDMETHODCALLTYPE Uninstall (BSTR aName, BOOL aForcedRemoval, BSTR aDisplayInfo, IProgress * * aProgress) { return smth Uninstall (aName, aForcedRemoval, aDisplayInfo, aProgress); }")
cpp_quote("#define COM_FORWARD_IExtPackManager_Uninstall_TO_OBJ(obj) COM_FORWARD_IExtPackManager_Uninstall_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackManager_Uninstall_TO_BASE(base) COM_FORWARD_IExtPackManager_Uninstall_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackManager_Cleanup_TO(smth) HRESULT STDMETHODCALLTYPE Cleanup() { return smth Cleanup(); }")
cpp_quote("#define COM_FORWARD_IExtPackManager_Cleanup_TO_OBJ(obj) COM_FORWARD_IExtPackManager_Cleanup_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackManager_Cleanup_TO_BASE(base) COM_FORWARD_IExtPackManager_Cleanup_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO(smth) HRESULT STDMETHODCALLTYPE QueryAllPlugInsForFrontend (BSTR aFrontendName, SAFEARRAY * * aPlugInModules) { return smth QueryAllPlugInsForFrontend (aFrontendName, aPlugInModules); }")
cpp_quote("#define COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO_OBJ(obj) COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO_BASE(base) COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackManager_IsExtPackUsable_TO(smth) HRESULT STDMETHODCALLTYPE IsExtPackUsable (BSTR aName, BOOL * aUsable) { return smth IsExtPackUsable (aName, aUsable); }")
cpp_quote("#define COM_FORWARD_IExtPackManager_IsExtPackUsable_TO_OBJ(obj) COM_FORWARD_IExtPackManager_IsExtPackUsable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackManager_IsExtPackUsable_TO_BASE(base) COM_FORWARD_IExtPackManager_IsExtPackUsable_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IExtPackManager_TO_OBJ(obj) COM_FORWARD_IExtPackManager_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackManager_TO_BASE(base) COM_FORWARD_IExtPackManager_TO (base::)")

[
    uuid(31587f93-2d12-4d7c-ba6d-ce51d0d5b265),
    object,
    dual,
    oleautomation
    , proxy
]
interface IBandwidthGroup : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Type ([out, retval] BandwidthGroupType * aType);

    [propget] HRESULT Reference ([out, retval] ULONG * aReference);

    [propget] HRESULT MaxBytesPerSec ([out, retval] LONG64 * aMaxBytesPerSec);
    [propput] HRESULT MaxBytesPerSec ([in] LONG64 aMaxBytesPerSec);

    [propget] HRESULT InternalAndReservedAttribute1IBandwidthGroup ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IBandwidthGroup ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IBandwidthGroup ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IBandwidthGroup ([out, retval] ULONG *aReserved);

}; /* interface IBandwidthGroup */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_Name_TO_BASE(base) COM_FORWARD_IBandwidthGroup_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (BandwidthGroupType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_Type_TO_BASE(base) COM_FORWARD_IBandwidthGroup_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO(smth) HRESULT STDMETHODCALLTYPE get_Reference (ULONG * aReference) { return smth get_Reference (aReference); }")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO_BASE(base) COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO (base::)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxBytesPerSec (LONG64 * aMaxBytesPerSec) { return smth get_MaxBytesPerSec (aMaxBytesPerSec); }")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO_BASE(base) COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO (base::)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO(smth) HRESULT STDMETHODCALLTYPE put_MaxBytesPerSec (LONG64 aMaxBytesPerSec) { return smth put_MaxBytesPerSec (aMaxBytesPerSec); }")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO_BASE(base) COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_TO_BASE(base) COM_FORWARD_IBandwidthGroup_TO (base::)")

[
    uuid(48c7f4c0-c9d6-4742-957c-a6fd52e8c4ae),
    object,
    dual,
    oleautomation
    , proxy
]
interface IBandwidthControl : IDispatch
{
    [propget] HRESULT NumGroups ([out, retval] ULONG * aNumGroups);

    [propget] HRESULT InternalAndReservedAttribute1IBandwidthControl ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IBandwidthControl ([out, retval] ULONG *aReserved);

    HRESULT CreateBandwidthGroup (
        [in] BSTR aName,
        [in] BandwidthGroupType aType,
        [in] LONG64 aMaxBytesPerSec
    );

    HRESULT DeleteBandwidthGroup (
        [in] BSTR aName
    );

    HRESULT GetBandwidthGroup (
        [in] BSTR aName,
        [out, retval] IBandwidthGroup * * aBandwidthGroup
    );

    HRESULT GetAllBandwidthGroups (
        [out, retval] SAFEARRAY(IBandwidthGroup *) * aBandwidthGroups
    );

    HRESULT InternalAndReservedMethod1IBandwidthControl();

    HRESULT InternalAndReservedMethod2IBandwidthControl();

}; /* interface IBandwidthControl */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO(smth) HRESULT STDMETHODCALLTYPE get_NumGroups (ULONG * aNumGroups) { return smth get_NumGroups (aNumGroups); }")
cpp_quote("#define COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO_BASE(base) COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO (base::)")
cpp_quote("#define COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE CreateBandwidthGroup (BSTR aName, BandwidthGroupType aType, LONG64 aMaxBytesPerSec) { return smth CreateBandwidthGroup (aName, aType, aMaxBytesPerSec); }")
cpp_quote("#define COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO_BASE(base) COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO (base::)")
cpp_quote("#define COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE DeleteBandwidthGroup (BSTR aName) { return smth DeleteBandwidthGroup (aName); }")
cpp_quote("#define COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO_BASE(base) COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO (base::)")
cpp_quote("#define COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE GetBandwidthGroup (BSTR aName, IBandwidthGroup * * aBandwidthGroup) { return smth GetBandwidthGroup (aName, aBandwidthGroup); }")
cpp_quote("#define COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO_BASE(base) COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO (base::)")
cpp_quote("#define COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO(smth) HRESULT STDMETHODCALLTYPE GetAllBandwidthGroups (SAFEARRAY * * aBandwidthGroups) { return smth GetAllBandwidthGroups (aBandwidthGroups); }")
cpp_quote("#define COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO_BASE(base) COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IBandwidthControl_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthControl_TO_BASE(base) COM_FORWARD_IBandwidthControl_TO (base::)")

[
    uuid(1474bb3a-f096-4cd7-a857-8d8e3cea7331),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestDebugControl : IDispatch
{
    [propget] HRESULT DebugProvider ([out, retval] GuestDebugProvider * aDebugProvider);
    [propput] HRESULT DebugProvider ([in] GuestDebugProvider aDebugProvider);

    [propget] HRESULT DebugIoProvider ([out, retval] GuestDebugIoProvider * aDebugIoProvider);
    [propput] HRESULT DebugIoProvider ([in] GuestDebugIoProvider aDebugIoProvider);

    [propget] HRESULT DebugAddress ([out, retval] BSTR * aDebugAddress);
    [propput] HRESULT DebugAddress ([in] BSTR aDebugAddress);

    [propget] HRESULT DebugPort ([out, retval] ULONG * aDebugPort);
    [propput] HRESULT DebugPort ([in] ULONG aDebugPort);

    [propget] HRESULT InternalAndReservedAttribute1IGuestDebugControl ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IGuestDebugControl ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1IGuestDebugControl();

    HRESULT InternalAndReservedMethod2IGuestDebugControl();

}; /* interface IGuestDebugControl */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO(smth) HRESULT STDMETHODCALLTYPE get_DebugProvider (GuestDebugProvider * aDebugProvider) { return smth get_DebugProvider (aDebugProvider); }")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO_BASE(base) COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO(smth) HRESULT STDMETHODCALLTYPE put_DebugProvider (GuestDebugProvider aDebugProvider) { return smth put_DebugProvider (aDebugProvider); }")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO_BASE(base) COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO(smth) HRESULT STDMETHODCALLTYPE get_DebugIoProvider (GuestDebugIoProvider * aDebugIoProvider) { return smth get_DebugIoProvider (aDebugIoProvider); }")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO_BASE(base) COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO(smth) HRESULT STDMETHODCALLTYPE put_DebugIoProvider (GuestDebugIoProvider aDebugIoProvider) { return smth put_DebugIoProvider (aDebugIoProvider); }")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO_BASE(base) COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_DebugAddress (BSTR * aDebugAddress) { return smth get_DebugAddress (aDebugAddress); }")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO_BASE(base) COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_DebugAddress (BSTR aDebugAddress) { return smth put_DebugAddress (aDebugAddress); }")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO_BASE(base) COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO(smth) HRESULT STDMETHODCALLTYPE get_DebugPort (ULONG * aDebugPort) { return smth get_DebugPort (aDebugPort); }")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO_BASE(base) COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO(smth) HRESULT STDMETHODCALLTYPE put_DebugPort (ULONG aDebugPort) { return smth put_DebugPort (aDebugPort); }")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO_BASE(base) COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControl_TO_BASE(base) COM_FORWARD_IGuestDebugControl_TO (base::)")

[
    uuid(d2937a8e-cb8d-4382-90ba-b7da78a74573),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVirtualBoxClient : IDispatch
{
    [propget] HRESULT VirtualBox ([out, retval] IVirtualBox * * aVirtualBox);

    [propget] HRESULT Session ([out, retval] ISession * * aSession);

    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    [propget] HRESULT InternalAndReservedAttribute1IVirtualBoxClient ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IVirtualBoxClient ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IVirtualBoxClient ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IVirtualBoxClient ([out, retval] ULONG *aReserved);

    HRESULT CheckMachineError (
        [in] IMachine * aMachine
    );

    HRESULT InternalAndReservedMethod1IVirtualBoxClient();

    HRESULT InternalAndReservedMethod2IVirtualBoxClient();

    HRESULT InternalAndReservedMethod3IVirtualBoxClient();

    HRESULT InternalAndReservedMethod4IVirtualBoxClient();

}; /* interface IVirtualBoxClient */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO(smth) HRESULT STDMETHODCALLTYPE get_VirtualBox (IVirtualBox * * aVirtualBox) { return smth get_VirtualBox (aVirtualBox); }")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO_OBJ(obj) COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO_BASE(base) COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO (base::)")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO(smth) HRESULT STDMETHODCALLTYPE get_Session (ISession * * aSession) { return smth get_Session (aSession); }")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO_OBJ(obj) COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO_BASE(base) COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO (base::)")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO (base::)")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO(smth) HRESULT STDMETHODCALLTYPE CheckMachineError (IMachine * aMachine) { return smth CheckMachineError (aMachine); }")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO_OBJ(obj) COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO_BASE(base) COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_TO_OBJ(obj) COM_FORWARD_IVirtualBoxClient_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBoxClient_TO_BASE(base) COM_FORWARD_IVirtualBoxClient_TO (base::)")

[
    uuid(9b6e1aee-35f3-4f4d-b5bb-ed0ecefd8538),
    object,
    dual,
    oleautomation
    , proxy
]
interface IEventSource : IDispatch
{
    HRESULT CreateListener (
        [out, retval] IEventListener * * aListener
    );

    HRESULT CreateAggregator (
        [in] SAFEARRAY(IEventSource *) aSubordinates,
        [out, retval] IEventSource * * aResult
    );

    HRESULT RegisterListener (
        [in] IEventListener * aListener,
        [in] SAFEARRAY(VBoxEventType) aInteresting,
        [in] BOOL aActive
    );

    HRESULT UnregisterListener (
        [in] IEventListener * aListener
    );

    HRESULT FireEvent (
        [in] IEvent * aEvent,
        [in] LONG aTimeout,
        [out, retval] BOOL * aResult
    );

    HRESULT GetEvent (
        [in] IEventListener * aListener,
        [in] LONG aTimeout,
        [out, retval] IEvent * * aEvent
    );

    HRESULT EventProcessed (
        [in] IEventListener * aListener,
        [in] IEvent * aEvent
    );

}; /* interface IEventSource */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IEventSource_CreateListener_TO(smth) HRESULT STDMETHODCALLTYPE CreateListener (IEventListener * * aListener) { return smth CreateListener (aListener); }")
cpp_quote("#define COM_FORWARD_IEventSource_CreateListener_TO_OBJ(obj) COM_FORWARD_IEventSource_CreateListener_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSource_CreateListener_TO_BASE(base) COM_FORWARD_IEventSource_CreateListener_TO (base::)")
cpp_quote("#define COM_FORWARD_IEventSource_CreateAggregator_TO(smth) HRESULT STDMETHODCALLTYPE CreateAggregator (SAFEARRAY * * aSubordinates, IEventSource * * aResult) { return smth CreateAggregator (aSubordinates, aResult); }")
cpp_quote("#define COM_FORWARD_IEventSource_CreateAggregator_TO_OBJ(obj) COM_FORWARD_IEventSource_CreateAggregator_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSource_CreateAggregator_TO_BASE(base) COM_FORWARD_IEventSource_CreateAggregator_TO (base::)")
cpp_quote("#define COM_FORWARD_IEventSource_RegisterListener_TO(smth) HRESULT STDMETHODCALLTYPE RegisterListener (IEventListener * aListener, SAFEARRAY * * aInteresting, BOOL aActive) { return smth RegisterListener (aListener, aInteresting, aActive); }")
cpp_quote("#define COM_FORWARD_IEventSource_RegisterListener_TO_OBJ(obj) COM_FORWARD_IEventSource_RegisterListener_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSource_RegisterListener_TO_BASE(base) COM_FORWARD_IEventSource_RegisterListener_TO (base::)")
cpp_quote("#define COM_FORWARD_IEventSource_UnregisterListener_TO(smth) HRESULT STDMETHODCALLTYPE UnregisterListener (IEventListener * aListener) { return smth UnregisterListener (aListener); }")
cpp_quote("#define COM_FORWARD_IEventSource_UnregisterListener_TO_OBJ(obj) COM_FORWARD_IEventSource_UnregisterListener_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSource_UnregisterListener_TO_BASE(base) COM_FORWARD_IEventSource_UnregisterListener_TO (base::)")
cpp_quote("#define COM_FORWARD_IEventSource_FireEvent_TO(smth) HRESULT STDMETHODCALLTYPE FireEvent (IEvent * aEvent, LONG aTimeout, BOOL * aResult) { return smth FireEvent (aEvent, aTimeout, aResult); }")
cpp_quote("#define COM_FORWARD_IEventSource_FireEvent_TO_OBJ(obj) COM_FORWARD_IEventSource_FireEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSource_FireEvent_TO_BASE(base) COM_FORWARD_IEventSource_FireEvent_TO (base::)")
cpp_quote("#define COM_FORWARD_IEventSource_GetEvent_TO(smth) HRESULT STDMETHODCALLTYPE GetEvent (IEventListener * aListener, LONG aTimeout, IEvent * * aEvent) { return smth GetEvent (aListener, aTimeout, aEvent); }")
cpp_quote("#define COM_FORWARD_IEventSource_GetEvent_TO_OBJ(obj) COM_FORWARD_IEventSource_GetEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSource_GetEvent_TO_BASE(base) COM_FORWARD_IEventSource_GetEvent_TO (base::)")
cpp_quote("#define COM_FORWARD_IEventSource_EventProcessed_TO(smth) HRESULT STDMETHODCALLTYPE EventProcessed (IEventListener * aListener, IEvent * aEvent) { return smth EventProcessed (aListener, aEvent); }")
cpp_quote("#define COM_FORWARD_IEventSource_EventProcessed_TO_OBJ(obj) COM_FORWARD_IEventSource_EventProcessed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSource_EventProcessed_TO_BASE(base) COM_FORWARD_IEventSource_EventProcessed_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IEventSource_TO_OBJ(obj) COM_FORWARD_IEventSource_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSource_TO_BASE(base) COM_FORWARD_IEventSource_TO (base::)")

[
    uuid(67099191-32e7-4f6c-85ee-422304c71b90),
    object,
    dual,
    oleautomation
    , proxy
]
interface IEventListener : IDispatch
{
    HRESULT HandleEvent (
        [in] IEvent * aEvent
    );

}; /* interface IEventListener */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IEventListener_HandleEvent_TO(smth) HRESULT STDMETHODCALLTYPE HandleEvent (IEvent * aEvent) { return smth HandleEvent (aEvent); }")
cpp_quote("#define COM_FORWARD_IEventListener_HandleEvent_TO_OBJ(obj) COM_FORWARD_IEventListener_HandleEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventListener_HandleEvent_TO_BASE(base) COM_FORWARD_IEventListener_HandleEvent_TO (base::)")
cpp_quote("#define COM_FORWARD_IEventListener_TO(smth) COM_FORWARD_IEventListener_HandleEvent_TO (smth) ")
cpp_quote("#define COM_FORWARD_IEventListener_TO_OBJ(obj) COM_FORWARD_IEventListener_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventListener_TO_BASE(base) COM_FORWARD_IEventListener_TO (base::)")

[
    uuid(0ca2adba-8f30-401b-a8cd-fe31dbe839c0),
    object,
    dual,
    oleautomation
    , proxy
]
interface IEvent : IDispatch
{
    [propget] HRESULT Type ([out, retval] VBoxEventType * aType);

    [propget] HRESULT Source ([out, retval] IEventSource * * aSource);

    [propget] HRESULT Waitable ([out, retval] BOOL * aWaitable);

    HRESULT SetProcessed();

    HRESULT WaitProcessed (
        [in] LONG aTimeout,
        [out, retval] BOOL * aResult
    );

}; /* interface IEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IEvent_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (VBoxEventType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IEvent_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IEvent_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEvent_GETTER_Type_TO_BASE(base) COM_FORWARD_IEvent_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IEvent_GETTER_Source_TO(smth) HRESULT STDMETHODCALLTYPE get_Source (IEventSource * * aSource) { return smth get_Source (aSource); }")
cpp_quote("#define COM_FORWARD_IEvent_GETTER_Source_TO_OBJ(obj) COM_FORWARD_IEvent_GETTER_Source_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEvent_GETTER_Source_TO_BASE(base) COM_FORWARD_IEvent_GETTER_Source_TO (base::)")
cpp_quote("#define COM_FORWARD_IEvent_GETTER_Waitable_TO(smth) HRESULT STDMETHODCALLTYPE get_Waitable (BOOL * aWaitable) { return smth get_Waitable (aWaitable); }")
cpp_quote("#define COM_FORWARD_IEvent_GETTER_Waitable_TO_OBJ(obj) COM_FORWARD_IEvent_GETTER_Waitable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEvent_GETTER_Waitable_TO_BASE(base) COM_FORWARD_IEvent_GETTER_Waitable_TO (base::)")
cpp_quote("#define COM_FORWARD_IEvent_SetProcessed_TO(smth) HRESULT STDMETHODCALLTYPE SetProcessed() { return smth SetProcessed(); }")
cpp_quote("#define COM_FORWARD_IEvent_SetProcessed_TO_OBJ(obj) COM_FORWARD_IEvent_SetProcessed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEvent_SetProcessed_TO_BASE(base) COM_FORWARD_IEvent_SetProcessed_TO (base::)")
cpp_quote("#define COM_FORWARD_IEvent_WaitProcessed_TO(smth) HRESULT STDMETHODCALLTYPE WaitProcessed (LONG aTimeout, BOOL * aResult) { return smth WaitProcessed (aTimeout, aResult); }")
cpp_quote("#define COM_FORWARD_IEvent_WaitProcessed_TO_OBJ(obj) COM_FORWARD_IEvent_WaitProcessed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEvent_WaitProcessed_TO_BASE(base) COM_FORWARD_IEvent_WaitProcessed_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IEvent_TO_OBJ(obj) COM_FORWARD_IEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEvent_TO_BASE(base) COM_FORWARD_IEvent_TO (base::)")

[
    uuid(69bfb134-80f6-4266-8e20-16371f68fa25),
    object,
    dual,
    oleautomation
    , proxy
]
interface IReusableEvent : IEvent
{
    [propget] HRESULT Generation ([out, retval] ULONG * aGeneration);

    HRESULT Reuse();

}; /* interface IReusableEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IReusableEvent_GETTER_Generation_TO(smth) HRESULT STDMETHODCALLTYPE get_Generation (ULONG * aGeneration) { return smth get_Generation (aGeneration); }")
cpp_quote("#define COM_FORWARD_IReusableEvent_GETTER_Generation_TO_OBJ(obj) COM_FORWARD_IReusableEvent_GETTER_Generation_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IReusableEvent_GETTER_Generation_TO_BASE(base) COM_FORWARD_IReusableEvent_GETTER_Generation_TO (base::)")
cpp_quote("#define COM_FORWARD_IReusableEvent_Reuse_TO(smth) HRESULT STDMETHODCALLTYPE Reuse() { return smth Reuse(); }")
cpp_quote("#define COM_FORWARD_IReusableEvent_Reuse_TO_OBJ(obj) COM_FORWARD_IReusableEvent_Reuse_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IReusableEvent_Reuse_TO_BASE(base) COM_FORWARD_IReusableEvent_Reuse_TO (base::)")
cpp_quote("#define COM_FORWARD_IReusableEvent_TO(smth) COM_FORWARD_IReusableEvent_GETTER_Generation_TO (smth) COM_FORWARD_IReusableEvent_Reuse_TO (smth) ")
cpp_quote("#define COM_FORWARD_IReusableEvent_TO_OBJ(obj) COM_FORWARD_IReusableEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IReusableEvent_TO_BASE(base) COM_FORWARD_IReusableEvent_TO (base::)")

[
    uuid(92ed7b1a-0d96-40ed-ae46-a564d484325e),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMachineEvent : IEvent
{
    [propget] HRESULT MachineId ([out, retval] BSTR * aMachineId);

}; /* interface IMachineEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMachineEvent_GETTER_MachineId_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineId (BSTR * aMachineId) { return smth get_MachineId (aMachineId); }")
cpp_quote("#define COM_FORWARD_IMachineEvent_GETTER_MachineId_TO_OBJ(obj) COM_FORWARD_IMachineEvent_GETTER_MachineId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineEvent_GETTER_MachineId_TO_BASE(base) COM_FORWARD_IMachineEvent_GETTER_MachineId_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineEvent_TO(smth) COM_FORWARD_IMachineEvent_GETTER_MachineId_TO (smth) ")
cpp_quote("#define COM_FORWARD_IMachineEvent_TO_OBJ(obj) COM_FORWARD_IMachineEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineEvent_TO_BASE(base) COM_FORWARD_IMachineEvent_TO (base::)")

[
    uuid(5748F794-48DF-438D-85EB-98FFD70D18C9),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMachineStateChangedEvent : IMachineEvent
{
    [propget] HRESULT State ([out, retval] MachineState * aState);

}; /* interface IMachineStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (MachineState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineStateChangedEvent_TO(smth) COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO (smth) ")
cpp_quote("#define COM_FORWARD_IMachineStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IMachineStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineStateChangedEvent_TO_BASE(base) COM_FORWARD_IMachineStateChangedEvent_TO (base::)")

[
    uuid(29059fea-2c99-11ee-be56-0242ac120002),
    object,
    dual,
    oleautomation
    , proxy
]
interface IExtPackInstalledEvent : IEvent
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

}; /* interface IExtPackInstalledEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackInstalledEvent_TO(smth) COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO (smth) ")
cpp_quote("#define COM_FORWARD_IExtPackInstalledEvent_TO_OBJ(obj) COM_FORWARD_IExtPackInstalledEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackInstalledEvent_TO_BASE(base) COM_FORWARD_IExtPackInstalledEvent_TO (base::)")

[
    uuid(31aab263-95ef-48a4-9ce7-eaf0d3ae150f),
    object,
    dual,
    oleautomation
    , proxy
]
interface IExtPackUninstalledEvent : IEvent
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

}; /* interface IExtPackUninstalledEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtPackUninstalledEvent_TO(smth) COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO (smth) ")
cpp_quote("#define COM_FORWARD_IExtPackUninstalledEvent_TO_OBJ(obj) COM_FORWARD_IExtPackUninstalledEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtPackUninstalledEvent_TO_BASE(base) COM_FORWARD_IExtPackUninstalledEvent_TO (base::)")

[
    uuid(abe94809-2e88-4436-83d7-50f3e64d0503),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMachineDataChangedEvent : IMachineEvent
{
    [propget] HRESULT Temporary ([out, retval] BOOL * aTemporary);

}; /* interface IMachineDataChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO(smth) HRESULT STDMETHODCALLTYPE get_Temporary (BOOL * aTemporary) { return smth get_Temporary (aTemporary); }")
cpp_quote("#define COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO_OBJ(obj) COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO_BASE(base) COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDataChangedEvent_TO(smth) COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO (smth) ")
cpp_quote("#define COM_FORWARD_IMachineDataChangedEvent_TO_OBJ(obj) COM_FORWARD_IMachineDataChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDataChangedEvent_TO_BASE(base) COM_FORWARD_IMachineDataChangedEvent_TO (base::)")

[
    uuid(53fac49a-b7f1-4a5a-a4ef-a11dd9c2a458),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMediumRegisteredEvent : IEvent
{
    [propget] HRESULT MediumId ([out, retval] BSTR * aMediumId);

    [propget] HRESULT MediumType ([out, retval] DeviceType * aMediumType);

    [propget] HRESULT Registered ([out, retval] BOOL * aRegistered);

}; /* interface IMediumRegisteredEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumId (BSTR * aMediumId) { return smth get_MediumId (aMediumId); }")
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO_OBJ(obj) COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO_BASE(base) COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumType (DeviceType * aMediumType) { return smth get_MediumType (aMediumType); }")
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO_OBJ(obj) COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO_BASE(base) COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }")
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IMediumRegisteredEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumRegisteredEvent_TO_BASE(base) COM_FORWARD_IMediumRegisteredEvent_TO (base::)")

[
    uuid(dd3e2654-a161-41f1-b583-4892f4a9d5d5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMediumConfigChangedEvent : IEvent
{
    [propget] HRESULT Medium ([out, retval] IMedium * * aMedium);

}; /* interface IMediumConfigChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO(smth) HRESULT STDMETHODCALLTYPE get_Medium (IMedium * * aMedium) { return smth get_Medium (aMedium); }")
cpp_quote("#define COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO_OBJ(obj) COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO_BASE(base) COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumConfigChangedEvent_TO(smth) COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO (smth) ")
cpp_quote("#define COM_FORWARD_IMediumConfigChangedEvent_TO_OBJ(obj) COM_FORWARD_IMediumConfigChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumConfigChangedEvent_TO_BASE(base) COM_FORWARD_IMediumConfigChangedEvent_TO (base::)")

[
    uuid(c354a762-3ff2-4f2e-8f09-07382ee25088),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMachineRegisteredEvent : IMachineEvent
{
    [propget] HRESULT Registered ([out, retval] BOOL * aRegistered);

}; /* interface IMachineRegisteredEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }")
cpp_quote("#define COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineRegisteredEvent_TO(smth) COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO (smth) ")
cpp_quote("#define COM_FORWARD_IMachineRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IMachineRegisteredEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineRegisteredEvent_TO_BASE(base) COM_FORWARD_IMachineRegisteredEvent_TO (base::)")

[
    uuid(714a3eef-799a-4489-86cd-fe8e45b2ff8e),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISessionStateChangedEvent : IMachineEvent
{
    [propget] HRESULT State ([out, retval] SessionState * aState);

}; /* interface ISessionStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (SessionState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_ISessionStateChangedEvent_TO(smth) COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO (smth) ")
cpp_quote("#define COM_FORWARD_ISessionStateChangedEvent_TO_OBJ(obj) COM_FORWARD_ISessionStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISessionStateChangedEvent_TO_BASE(base) COM_FORWARD_ISessionStateChangedEvent_TO (base::)")

[
    uuid(2d0f4c6f-a77e-45c5-96d2-7ca7daae63a9),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestPropertyChangedEvent : IMachineEvent
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Value ([out, retval] BSTR * aValue);

    [propget] HRESULT Flags ([out, retval] BSTR * aFlags);

    [propget] HRESULT FWasDeleted ([out, retval] BOOL * aFWasDeleted);

}; /* interface IGuestPropertyChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO(smth) HRESULT STDMETHODCALLTYPE get_Value (BSTR * aValue) { return smth get_Value (aValue); }")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO_OBJ(obj) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO_BASE(base) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO(smth) HRESULT STDMETHODCALLTYPE get_Flags (BSTR * aFlags) { return smth get_Flags (aFlags); }")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO_OBJ(obj) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO_BASE(base) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO(smth) HRESULT STDMETHODCALLTYPE get_FWasDeleted (BOOL * aFWasDeleted) { return smth get_FWasDeleted (aFWasDeleted); }")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO_OBJ(obj) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO_BASE(base) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestPropertyChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestPropertyChangedEvent_TO_BASE(base) COM_FORWARD_IGuestPropertyChangedEvent_TO (base::)")

[
    uuid(21637b0e-34b8-42d3-acfb-7e96daf77c22),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISnapshotEvent : IMachineEvent
{
    [propget] HRESULT SnapshotId ([out, retval] BSTR * aSnapshotId);

}; /* interface ISnapshotEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO(smth) HRESULT STDMETHODCALLTYPE get_SnapshotId (BSTR * aSnapshotId) { return smth get_SnapshotId (aSnapshotId); }")
cpp_quote("#define COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO_OBJ(obj) COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO_BASE(base) COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshotEvent_TO(smth) COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO (smth) ")
cpp_quote("#define COM_FORWARD_ISnapshotEvent_TO_OBJ(obj) COM_FORWARD_ISnapshotEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshotEvent_TO_BASE(base) COM_FORWARD_ISnapshotEvent_TO (base::)")

[
    uuid(d27c0b3d-6038-422c-b45e-6d4a0503d9f1),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISnapshotTakenEvent : ISnapshotEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface ISnapshotTakenEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshotTakenEvent_TO(smth) COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_ISnapshotTakenEvent_TO_OBJ(obj) COM_FORWARD_ISnapshotTakenEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshotTakenEvent_TO_BASE(base) COM_FORWARD_ISnapshotTakenEvent_TO (base::)")

[
    uuid(c48f3401-4a9e-43f4-b7a7-54bd285e22f4),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISnapshotDeletedEvent : ISnapshotEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface ISnapshotDeletedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshotDeletedEvent_TO(smth) COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_ISnapshotDeletedEvent_TO_OBJ(obj) COM_FORWARD_ISnapshotDeletedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshotDeletedEvent_TO_BASE(base) COM_FORWARD_ISnapshotDeletedEvent_TO (base::)")

[
    uuid(f4d803b4-9b2d-4377-bfe6-9702e881516b),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISnapshotRestoredEvent : ISnapshotEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface ISnapshotRestoredEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshotRestoredEvent_TO(smth) COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_ISnapshotRestoredEvent_TO_OBJ(obj) COM_FORWARD_ISnapshotRestoredEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshotRestoredEvent_TO_BASE(base) COM_FORWARD_ISnapshotRestoredEvent_TO (base::)")

[
    uuid(07541941-8079-447a-a33e-47a69c7980db),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISnapshotChangedEvent : ISnapshotEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface ISnapshotChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_ISnapshotChangedEvent_TO(smth) COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_ISnapshotChangedEvent_TO_OBJ(obj) COM_FORWARD_ISnapshotChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshotChangedEvent_TO_BASE(base) COM_FORWARD_ISnapshotChangedEvent_TO (base::)")

[
    uuid(a6dcf6e8-416b-4181-8c4a-45ec95177aef),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMousePointerShapeChangedEvent : IEvent
{
    [propget] HRESULT Visible ([out, retval] BOOL * aVisible);

    [propget] HRESULT Alpha ([out, retval] BOOL * aAlpha);

    [propget] HRESULT Xhot ([out, retval] ULONG * aXhot);

    [propget] HRESULT Yhot ([out, retval] ULONG * aYhot);

    [propget] HRESULT Width ([out, retval] ULONG * aWidth);

    [propget] HRESULT Height ([out, retval] ULONG * aHeight);

    [propget] HRESULT Shape ([out, retval] SAFEARRAY(BYTE) * aShape);

}; /* interface IMousePointerShapeChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO(smth) HRESULT STDMETHODCALLTYPE get_Visible (BOOL * aVisible) { return smth get_Visible (aVisible); }")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO(smth) HRESULT STDMETHODCALLTYPE get_Alpha (BOOL * aAlpha) { return smth get_Alpha (aAlpha); }")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO(smth) HRESULT STDMETHODCALLTYPE get_Xhot (ULONG * aXhot) { return smth get_Xhot (aXhot); }")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO(smth) HRESULT STDMETHODCALLTYPE get_Yhot (ULONG * aYhot) { return smth get_Yhot (aYhot); }")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO(smth) HRESULT STDMETHODCALLTYPE get_Width (ULONG * aWidth) { return smth get_Width (aWidth); }")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO(smth) HRESULT STDMETHODCALLTYPE get_Height (ULONG * aHeight) { return smth get_Height (aHeight); }")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO (base::)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO(smth) HRESULT STDMETHODCALLTYPE get_Shape (SAFEARRAY * * aShape) { return smth get_Shape (aShape); }")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMousePointerShapeChangedEvent_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_TO (base::)")

[
    uuid(4a773393-7a8c-4d57-b228-9ade4049a81f),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMouseCapabilityChangedEvent : IEvent
{
    [propget] HRESULT SupportsAbsolute ([out, retval] BOOL * aSupportsAbsolute);

    [propget] HRESULT SupportsRelative ([out, retval] BOOL * aSupportsRelative);

    [propget] HRESULT SupportsTouchScreen ([out, retval] BOOL * aSupportsTouchScreen);

    [propget] HRESULT SupportsTouchPad ([out, retval] BOOL * aSupportsTouchPad);

    [propget] HRESULT NeedsHostCursor ([out, retval] BOOL * aNeedsHostCursor);

}; /* interface IMouseCapabilityChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportsAbsolute (BOOL * aSupportsAbsolute) { return smth get_SupportsAbsolute (aSupportsAbsolute); }")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO (base::)")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportsRelative (BOOL * aSupportsRelative) { return smth get_SupportsRelative (aSupportsRelative); }")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO (base::)")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportsTouchScreen (BOOL * aSupportsTouchScreen) { return smth get_SupportsTouchScreen (aSupportsTouchScreen); }")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO (base::)")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportsTouchPad (BOOL * aSupportsTouchPad) { return smth get_SupportsTouchPad (aSupportsTouchPad); }")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO (base::)")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO(smth) HRESULT STDMETHODCALLTYPE get_NeedsHostCursor (BOOL * aNeedsHostCursor) { return smth get_NeedsHostCursor (aNeedsHostCursor); }")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMouseCapabilityChangedEvent_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_TO (base::)")

[
    uuid(6DDEF35E-4737-457B-99FC-BC52C851A44F),
    object,
    dual,
    oleautomation
    , proxy
]
interface IKeyboardLedsChangedEvent : IEvent
{
    [propget] HRESULT NumLock ([out, retval] BOOL * aNumLock);

    [propget] HRESULT CapsLock ([out, retval] BOOL * aCapsLock);

    [propget] HRESULT ScrollLock ([out, retval] BOOL * aScrollLock);

}; /* interface IKeyboardLedsChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO(smth) HRESULT STDMETHODCALLTYPE get_NumLock (BOOL * aNumLock) { return smth get_NumLock (aNumLock); }")
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO_OBJ(obj) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO_BASE(base) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO (base::)")
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO(smth) HRESULT STDMETHODCALLTYPE get_CapsLock (BOOL * aCapsLock) { return smth get_CapsLock (aCapsLock); }")
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO_OBJ(obj) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO_BASE(base) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO (base::)")
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO(smth) HRESULT STDMETHODCALLTYPE get_ScrollLock (BOOL * aScrollLock) { return smth get_ScrollLock (aScrollLock); }")
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO_OBJ(obj) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO_BASE(base) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_TO_OBJ(obj) COM_FORWARD_IKeyboardLedsChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IKeyboardLedsChangedEvent_TO_BASE(base) COM_FORWARD_IKeyboardLedsChangedEvent_TO (base::)")

[
    uuid(4376693C-CF37-453B-9289-3B0F521CAF27),
    object,
    dual,
    oleautomation
    , proxy
]
interface IStateChangedEvent : IEvent
{
    [propget] HRESULT State ([out, retval] MachineState * aState);

}; /* interface IStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (MachineState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IStateChangedEvent_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IStateChangedEvent_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IStateChangedEvent_TO(smth) COM_FORWARD_IStateChangedEvent_GETTER_State_TO (smth) ")
cpp_quote("#define COM_FORWARD_IStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStateChangedEvent_TO_BASE(base) COM_FORWARD_IStateChangedEvent_TO (base::)")

[
    uuid(D70F7915-DA7C-44C8-A7AC-9F173490446A),
    object,
    dual,
    oleautomation
    , proxy
]
interface IAdditionsStateChangedEvent : IEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IAdditionsStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IAdditionsStateChangedEvent_TO(smth) COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IAdditionsStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IAdditionsStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAdditionsStateChangedEvent_TO_BASE(base) COM_FORWARD_IAdditionsStateChangedEvent_TO (base::)")

[
    uuid(08889892-1EC6-4883-801D-77F56CFD0103),
    object,
    dual,
    oleautomation
    , proxy
]
interface INetworkAdapterChangedEvent : IEvent
{
    [propget] HRESULT NetworkAdapter ([out, retval] INetworkAdapter * * aNetworkAdapter);

}; /* interface INetworkAdapterChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkAdapter (INetworkAdapter * * aNetworkAdapter) { return smth get_NetworkAdapter (aNetworkAdapter); }")
cpp_quote("#define COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO_OBJ(obj) COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO_BASE(base) COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO (base::)")
cpp_quote("#define COM_FORWARD_INetworkAdapterChangedEvent_TO(smth) COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO (smth) ")
cpp_quote("#define COM_FORWARD_INetworkAdapterChangedEvent_TO_OBJ(obj) COM_FORWARD_INetworkAdapterChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapterChangedEvent_TO_BASE(base) COM_FORWARD_INetworkAdapterChangedEvent_TO (base::)")

[
    uuid(D5ABC823-04D0-4DB6-8D66-DC2F033120E1),
    object,
    dual,
    oleautomation
    , proxy
]
interface IAudioAdapterChangedEvent : IEvent
{
    [propget] HRESULT AudioAdapter ([out, retval] IAudioAdapter * * aAudioAdapter);

}; /* interface IAudioAdapterChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioAdapter (IAudioAdapter * * aAudioAdapter) { return smth get_AudioAdapter (aAudioAdapter); }")
cpp_quote("#define COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO_OBJ(obj) COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO_BASE(base) COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO (base::)")
cpp_quote("#define COM_FORWARD_IAudioAdapterChangedEvent_TO(smth) COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO (smth) ")
cpp_quote("#define COM_FORWARD_IAudioAdapterChangedEvent_TO_OBJ(obj) COM_FORWARD_IAudioAdapterChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IAudioAdapterChangedEvent_TO_BASE(base) COM_FORWARD_IAudioAdapterChangedEvent_TO (base::)")

[
    uuid(3BA329DC-659C-488B-835C-4ECA7AE71C6C),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISerialPortChangedEvent : IEvent
{
    [propget] HRESULT SerialPort ([out, retval] ISerialPort * * aSerialPort);

}; /* interface ISerialPortChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialPort (ISerialPort * * aSerialPort) { return smth get_SerialPort (aSerialPort); }")
cpp_quote("#define COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO_OBJ(obj) COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO_BASE(base) COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPortChangedEvent_TO(smth) COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO (smth) ")
cpp_quote("#define COM_FORWARD_ISerialPortChangedEvent_TO_OBJ(obj) COM_FORWARD_ISerialPortChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPortChangedEvent_TO_BASE(base) COM_FORWARD_ISerialPortChangedEvent_TO (base::)")

[
    uuid(813C99FC-9849-4F47-813E-24A75DC85615),
    object,
    dual,
    oleautomation
    , proxy
]
interface IParallelPortChangedEvent : IEvent
{
    [propget] HRESULT ParallelPort ([out, retval] IParallelPort * * aParallelPort);

}; /* interface IParallelPortChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO(smth) HRESULT STDMETHODCALLTYPE get_ParallelPort (IParallelPort * * aParallelPort) { return smth get_ParallelPort (aParallelPort); }")
cpp_quote("#define COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO_OBJ(obj) COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO_BASE(base) COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO (base::)")
cpp_quote("#define COM_FORWARD_IParallelPortChangedEvent_TO(smth) COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO (smth) ")
cpp_quote("#define COM_FORWARD_IParallelPortChangedEvent_TO_OBJ(obj) COM_FORWARD_IParallelPortChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IParallelPortChangedEvent_TO_BASE(base) COM_FORWARD_IParallelPortChangedEvent_TO (base::)")

[
    uuid(6BB335CC-1C58-440C-BB7B-3A1397284C7B),
    object,
    dual,
    oleautomation
    , proxy
]
interface IStorageControllerChangedEvent : IEvent
{
    [propget] HRESULT MachinId ([out, retval] BSTR * aMachinId);

    [propget] HRESULT ControllerName ([out, retval] BSTR * aControllerName);

}; /* interface IStorageControllerChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO(smth) HRESULT STDMETHODCALLTYPE get_MachinId (BSTR * aMachinId) { return smth get_MachinId (aMachinId); }")
cpp_quote("#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO_OBJ(obj) COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO_BASE(base) COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO(smth) HRESULT STDMETHODCALLTYPE get_ControllerName (BSTR * aControllerName) { return smth get_ControllerName (aControllerName); }")
cpp_quote("#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO_OBJ(obj) COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO_BASE(base) COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageControllerChangedEvent_TO(smth) COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO (smth) COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO (smth) ")
cpp_quote("#define COM_FORWARD_IStorageControllerChangedEvent_TO_OBJ(obj) COM_FORWARD_IStorageControllerChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageControllerChangedEvent_TO_BASE(base) COM_FORWARD_IStorageControllerChangedEvent_TO (base::)")

[
    uuid(0FE2DA40-5637-472A-9736-72019EABD7DE),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMediumChangedEvent : IEvent
{
    [propget] HRESULT MediumAttachment ([out, retval] IMediumAttachment * * aMediumAttachment);

}; /* interface IMediumChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumAttachment (IMediumAttachment * * aMediumAttachment) { return smth get_MediumAttachment (aMediumAttachment); }")
cpp_quote("#define COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO_OBJ(obj) COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO_BASE(base) COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO (base::)")
cpp_quote("#define COM_FORWARD_IMediumChangedEvent_TO(smth) COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO (smth) ")
cpp_quote("#define COM_FORWARD_IMediumChangedEvent_TO_OBJ(obj) COM_FORWARD_IMediumChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMediumChangedEvent_TO_BASE(base) COM_FORWARD_IMediumChangedEvent_TO (base::)")

[
    uuid(cac21692-7997-4595-a731-3a509db604e5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IClipboardModeChangedEvent : IEvent
{
    [propget] HRESULT ClipboardMode ([out, retval] ClipboardMode * aClipboardMode);

}; /* interface IClipboardModeChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO(smth) HRESULT STDMETHODCALLTYPE get_ClipboardMode (ClipboardMode * aClipboardMode) { return smth get_ClipboardMode (aClipboardMode); }")
cpp_quote("#define COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO_OBJ(obj) COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO_BASE(base) COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IClipboardModeChangedEvent_TO(smth) COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO (smth) ")
cpp_quote("#define COM_FORWARD_IClipboardModeChangedEvent_TO_OBJ(obj) COM_FORWARD_IClipboardModeChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IClipboardModeChangedEvent_TO_BASE(base) COM_FORWARD_IClipboardModeChangedEvent_TO (base::)")

[
    uuid(00391758-00B1-4E9D-0000-11FA00F9D583),
    object,
    dual,
    oleautomation
    , proxy
]
interface IClipboardFileTransferModeChangedEvent : IEvent
{
    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);

}; /* interface IClipboardFileTransferModeChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_TO(smth) COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO (smth) ")
cpp_quote("#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_TO_OBJ(obj) COM_FORWARD_IClipboardFileTransferModeChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_TO_BASE(base) COM_FORWARD_IClipboardFileTransferModeChangedEvent_TO (base::)")

[
    uuid(f22dd3b4-e4d0-437a-bfdf-0372896ba162),
    object,
    dual,
    oleautomation
    , proxy
]
interface IClipboardEvent : IEvent
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

}; /* interface IClipboardEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IClipboardEvent_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IClipboardEvent_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IClipboardEvent_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IClipboardEvent_GETTER_Id_TO_BASE(base) COM_FORWARD_IClipboardEvent_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IClipboardEvent_TO(smth) COM_FORWARD_IClipboardEvent_GETTER_Id_TO (smth) ")
cpp_quote("#define COM_FORWARD_IClipboardEvent_TO_OBJ(obj) COM_FORWARD_IClipboardEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IClipboardEvent_TO_BASE(base) COM_FORWARD_IClipboardEvent_TO (base::)")

[
    uuid(9e5f6f25-beda-46ad-8ddb-23c0268ac345),
    object,
    dual,
    oleautomation
    , proxy
]
interface IClipboardErrorEvent : IClipboardEvent
{
    [propget] HRESULT Msg ([out, retval] BSTR * aMsg);

    [propget] HRESULT RcError ([out, retval] LONG * aRcError);

}; /* interface IClipboardErrorEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO(smth) HRESULT STDMETHODCALLTYPE get_Msg (BSTR * aMsg) { return smth get_Msg (aMsg); }")
cpp_quote("#define COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO_OBJ(obj) COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO_BASE(base) COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO (base::)")
cpp_quote("#define COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO(smth) HRESULT STDMETHODCALLTYPE get_RcError (LONG * aRcError) { return smth get_RcError (aRcError); }")
cpp_quote("#define COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO_OBJ(obj) COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO_BASE(base) COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO (base::)")
cpp_quote("#define COM_FORWARD_IClipboardErrorEvent_TO(smth) COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO (smth) COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO (smth) ")
cpp_quote("#define COM_FORWARD_IClipboardErrorEvent_TO_OBJ(obj) COM_FORWARD_IClipboardErrorEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IClipboardErrorEvent_TO_BASE(base) COM_FORWARD_IClipboardErrorEvent_TO (base::)")

[
    uuid(b55cf856-1f8b-4692-abb4-462429fae5e9),
    object,
    dual,
    oleautomation
    , proxy
]
interface IDnDModeChangedEvent : IEvent
{
    [propget] HRESULT DndMode ([out, retval] DnDMode * aDndMode);

}; /* interface IDnDModeChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO(smth) HRESULT STDMETHODCALLTYPE get_DndMode (DnDMode * aDndMode) { return smth get_DndMode (aDndMode); }")
cpp_quote("#define COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO_OBJ(obj) COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO_BASE(base) COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IDnDModeChangedEvent_TO(smth) COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO (smth) ")
cpp_quote("#define COM_FORWARD_IDnDModeChangedEvent_TO_OBJ(obj) COM_FORWARD_IDnDModeChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDnDModeChangedEvent_TO_BASE(base) COM_FORWARD_IDnDModeChangedEvent_TO (base::)")

[
    uuid(4da2dec7-71b2-4817-9a64-4ed12c17388e),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICPUChangedEvent : IEvent
{
    [propget] HRESULT CPU ([out, retval] ULONG * aCPU);

    [propget] HRESULT Add ([out, retval] BOOL * aAdd);

}; /* interface ICPUChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO(smth) HRESULT STDMETHODCALLTYPE get_CPU (ULONG * aCPU) { return smth get_CPU (aCPU); }")
cpp_quote("#define COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO_OBJ(obj) COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO_BASE(base) COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO (base::)")
cpp_quote("#define COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO(smth) HRESULT STDMETHODCALLTYPE get_Add (BOOL * aAdd) { return smth get_Add (aAdd); }")
cpp_quote("#define COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO_OBJ(obj) COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO_BASE(base) COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO (base::)")
cpp_quote("#define COM_FORWARD_ICPUChangedEvent_TO(smth) COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO (smth) COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO (smth) ")
cpp_quote("#define COM_FORWARD_ICPUChangedEvent_TO_OBJ(obj) COM_FORWARD_ICPUChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICPUChangedEvent_TO_BASE(base) COM_FORWARD_ICPUChangedEvent_TO (base::)")

[
    uuid(dfa7e4f5-b4a4-44ce-85a8-127ac5eb59dc),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICPUExecutionCapChangedEvent : IEvent
{
    [propget] HRESULT ExecutionCap ([out, retval] ULONG * aExecutionCap);

}; /* interface ICPUExecutionCapChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO(smth) HRESULT STDMETHODCALLTYPE get_ExecutionCap (ULONG * aExecutionCap) { return smth get_ExecutionCap (aExecutionCap); }")
cpp_quote("#define COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO_OBJ(obj) COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO_BASE(base) COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO (base::)")
cpp_quote("#define COM_FORWARD_ICPUExecutionCapChangedEvent_TO(smth) COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO (smth) ")
cpp_quote("#define COM_FORWARD_ICPUExecutionCapChangedEvent_TO_OBJ(obj) COM_FORWARD_ICPUExecutionCapChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICPUExecutionCapChangedEvent_TO_BASE(base) COM_FORWARD_ICPUExecutionCapChangedEvent_TO (base::)")

[
    uuid(88394258-7006-40d4-b339-472ee3801844),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestKeyboardEvent : IEvent
{
    [propget] HRESULT Scancodes ([out, retval] SAFEARRAY(LONG) * aScancodes);

}; /* interface IGuestKeyboardEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO(smth) HRESULT STDMETHODCALLTYPE get_Scancodes (SAFEARRAY * * aScancodes) { return smth get_Scancodes (aScancodes); }")
cpp_quote("#define COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO_OBJ(obj) COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO_BASE(base) COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestKeyboardEvent_TO(smth) COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestKeyboardEvent_TO_OBJ(obj) COM_FORWARD_IGuestKeyboardEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestKeyboardEvent_TO_BASE(base) COM_FORWARD_IGuestKeyboardEvent_TO (base::)")

[
    uuid(179f8647-319c-4e7e-8150-c5837bd265f6),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestMouseEvent : IReusableEvent
{
    [propget] HRESULT Mode ([out, retval] GuestMouseEventMode * aMode);

    [propget] HRESULT X ([out, retval] LONG * aX);

    [propget] HRESULT Y ([out, retval] LONG * aY);

    [propget] HRESULT Z ([out, retval] LONG * aZ);

    [propget] HRESULT W ([out, retval] LONG * aW);

    [propget] HRESULT Buttons ([out, retval] LONG * aButtons);

}; /* interface IGuestMouseEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO(smth) HRESULT STDMETHODCALLTYPE get_Mode (GuestMouseEventMode * aMode) { return smth get_Mode (aMode); }")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_X_TO(smth) HRESULT STDMETHODCALLTYPE get_X (LONG * aX) { return smth get_X (aX); }")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_X_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_X_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_X_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_X_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO(smth) HRESULT STDMETHODCALLTYPE get_Y (LONG * aY) { return smth get_Y (aY); }")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO(smth) HRESULT STDMETHODCALLTYPE get_Z (LONG * aZ) { return smth get_Z (aZ); }")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_W_TO(smth) HRESULT STDMETHODCALLTYPE get_W (LONG * aW) { return smth get_W (aW); }")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_W_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_W_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_W_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_W_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO(smth) HRESULT STDMETHODCALLTYPE get_Buttons (LONG * aButtons) { return smth get_Buttons (aButtons); }")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_TO (base::)")

[
    uuid(1f99d9dc-c144-4c28-9f88-e6f488db5441),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestMultiTouchEvent : IEvent
{
    [propget] HRESULT ContactCount ([out, retval] LONG * aContactCount);

    [propget] HRESULT XPositions ([out, retval] SAFEARRAY(SHORT) * aXPositions);

    [propget] HRESULT YPositions ([out, retval] SAFEARRAY(SHORT) * aYPositions);

    [propget] HRESULT ContactIds ([out, retval] SAFEARRAY(USHORT) * aContactIds);

    [propget] HRESULT ContactFlags ([out, retval] SAFEARRAY(USHORT) * aContactFlags);

    [propget] HRESULT IsTouchScreen ([out, retval] BOOL * aIsTouchScreen);

    [propget] HRESULT ScanTime ([out, retval] ULONG * aScanTime);

}; /* interface IGuestMultiTouchEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ContactCount (LONG * aContactCount) { return smth get_ContactCount (aContactCount); }")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO(smth) HRESULT STDMETHODCALLTYPE get_XPositions (SAFEARRAY * * aXPositions) { return smth get_XPositions (aXPositions); }")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO(smth) HRESULT STDMETHODCALLTYPE get_YPositions (SAFEARRAY * * aYPositions) { return smth get_YPositions (aYPositions); }")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO(smth) HRESULT STDMETHODCALLTYPE get_ContactIds (SAFEARRAY * * aContactIds) { return smth get_ContactIds (aContactIds); }")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO(smth) HRESULT STDMETHODCALLTYPE get_ContactFlags (SAFEARRAY * * aContactFlags) { return smth get_ContactFlags (aContactFlags); }")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO(smth) HRESULT STDMETHODCALLTYPE get_IsTouchScreen (BOOL * aIsTouchScreen) { return smth get_IsTouchScreen (aIsTouchScreen); }")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO(smth) HRESULT STDMETHODCALLTYPE get_ScanTime (ULONG * aScanTime) { return smth get_ScanTime (aScanTime); }")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMultiTouchEvent_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_TO (base::)")

[
    uuid(b9acd33f-647d-45ac-8fe9-f49b3183ba37),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestSessionEvent : IEvent
{
    [propget] HRESULT Session ([out, retval] IGuestSession * * aSession);

}; /* interface IGuestSessionEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO(smth) HRESULT STDMETHODCALLTYPE get_Session (IGuestSession * * aSession) { return smth get_Session (aSession); }")
cpp_quote("#define COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO_OBJ(obj) COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO_BASE(base) COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSessionEvent_TO(smth) COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestSessionEvent_TO_OBJ(obj) COM_FORWARD_IGuestSessionEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSessionEvent_TO_BASE(base) COM_FORWARD_IGuestSessionEvent_TO (base::)")

[
    uuid(327e3c00-ee61-462f-aed3-0dff6cbf9904),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestSessionStateChangedEvent : IGuestSessionEvent
{
    [propget] HRESULT Id ([out, retval] ULONG * aId);

    [propget] HRESULT Status ([out, retval] GuestSessionStatus * aStatus);

    [propget] HRESULT Error ([out, retval] IVirtualBoxErrorInfo * * aError);

}; /* interface IGuestSessionStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (ULONG * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO_BASE(base) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (GuestSessionStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }")
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestSessionStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSessionStateChangedEvent_TO_BASE(base) COM_FORWARD_IGuestSessionStateChangedEvent_TO (base::)")

[
    uuid(b79de686-eabd-4fa6-960a-f1756c99ea1c),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestSessionRegisteredEvent : IGuestSessionEvent
{
    [propget] HRESULT Registered ([out, retval] BOOL * aRegistered);

}; /* interface IGuestSessionRegisteredEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }")
cpp_quote("#define COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestSessionRegisteredEvent_TO(smth) COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestSessionRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IGuestSessionRegisteredEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestSessionRegisteredEvent_TO_BASE(base) COM_FORWARD_IGuestSessionRegisteredEvent_TO (base::)")

[
    uuid(2405f0e5-6588-40a3-9b0a-68c05ba52c4b),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestProcessEvent : IGuestSessionEvent
{
    [propget] HRESULT Process ([out, retval] IGuestProcess * * aProcess);

    [propget] HRESULT Pid ([out, retval] ULONG * aPid);

}; /* interface IGuestProcessEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO(smth) HRESULT STDMETHODCALLTYPE get_Process (IGuestProcess * * aProcess) { return smth get_Process (aProcess); }")
cpp_quote("#define COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO_OBJ(obj) COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO_BASE(base) COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO(smth) HRESULT STDMETHODCALLTYPE get_Pid (ULONG * aPid) { return smth get_Pid (aPid); }")
cpp_quote("#define COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO_OBJ(obj) COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO_BASE(base) COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestProcessEvent_TO(smth) COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO (smth) COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestProcessEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessEvent_TO_BASE(base) COM_FORWARD_IGuestProcessEvent_TO (base::)")

[
    uuid(1d89e2b3-c6ea-45b6-9d43-dc6f70cc9f02),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestProcessRegisteredEvent : IGuestProcessEvent
{
    [propget] HRESULT Registered ([out, retval] BOOL * aRegistered);

}; /* interface IGuestProcessRegisteredEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }")
cpp_quote("#define COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestProcessRegisteredEvent_TO(smth) COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestProcessRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessRegisteredEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessRegisteredEvent_TO_BASE(base) COM_FORWARD_IGuestProcessRegisteredEvent_TO (base::)")

[
    uuid(c365fb7b-4430-499f-92c8-8bed814a567a),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestProcessStateChangedEvent : IGuestProcessEvent
{
    [propget] HRESULT Status ([out, retval] ProcessStatus * aStatus);

    [propget] HRESULT Error ([out, retval] IVirtualBoxErrorInfo * * aError);

}; /* interface IGuestProcessStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (ProcessStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }")
cpp_quote("#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestProcessStateChangedEvent_TO(smth) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO (smth) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestProcessStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessStateChangedEvent_TO_BASE(base) COM_FORWARD_IGuestProcessStateChangedEvent_TO (base::)")

[
    uuid(9ea9227c-e9bb-49b3-bfc7-c5171e93ef38),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestProcessIOEvent : IGuestProcessEvent
{
    [propget] HRESULT Handle ([out, retval] ULONG * aHandle);

    [propget] HRESULT Processed ([out, retval] ULONG * aProcessed);

}; /* interface IGuestProcessIOEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO(smth) HRESULT STDMETHODCALLTYPE get_Handle (ULONG * aHandle) { return smth get_Handle (aHandle); }")
cpp_quote("#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO_OBJ(obj) COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO_BASE(base) COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO(smth) HRESULT STDMETHODCALLTYPE get_Processed (ULONG * aProcessed) { return smth get_Processed (aProcessed); }")
cpp_quote("#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO_OBJ(obj) COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO_BASE(base) COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestProcessIOEvent_TO(smth) COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO (smth) COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestProcessIOEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessIOEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessIOEvent_TO_BASE(base) COM_FORWARD_IGuestProcessIOEvent_TO (base::)")

[
    uuid(0de887f2-b7db-4616-aac6-cfb94d89ba78),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestProcessInputNotifyEvent : IGuestProcessIOEvent
{
    [propget] HRESULT Status ([out, retval] ProcessInputStatus * aStatus);

}; /* interface IGuestProcessInputNotifyEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (ProcessInputStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestProcessInputNotifyEvent_TO(smth) COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestProcessInputNotifyEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessInputNotifyEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessInputNotifyEvent_TO_BASE(base) COM_FORWARD_IGuestProcessInputNotifyEvent_TO (base::)")

[
    uuid(d3d5f1ee-bcb2-4905-a7ab-cc85448a742b),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestProcessOutputEvent : IGuestProcessIOEvent
{
    [propget] HRESULT Data ([out, retval] SAFEARRAY(BYTE) * aData);

}; /* interface IGuestProcessOutputEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO(smth) HRESULT STDMETHODCALLTYPE get_Data (SAFEARRAY * * aData) { return smth get_Data (aData); }")
cpp_quote("#define COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO_OBJ(obj) COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO_BASE(base) COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestProcessOutputEvent_TO(smth) COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestProcessOutputEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessOutputEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestProcessOutputEvent_TO_BASE(base) COM_FORWARD_IGuestProcessOutputEvent_TO (base::)")

[
    uuid(02b69798-7cc2-4005-ac57-1ad7ff7a0997),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestDirectoryEvent : IGuestSessionEvent
{
    [propget] HRESULT Directory ([out, retval] IGuestDirectory * * aDirectory);

}; /* interface IGuestDirectoryEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO(smth) HRESULT STDMETHODCALLTYPE get_Directory (IGuestDirectory * * aDirectory) { return smth get_Directory (aDirectory); }")
cpp_quote("#define COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO_BASE(base) COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryEvent_TO(smth) COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestDirectoryEvent_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryEvent_TO_BASE(base) COM_FORWARD_IGuestDirectoryEvent_TO (base::)")

[
    uuid(926baa39-cfc9-462e-a1a1-c439e28f7f89),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestDirectoryRegisteredEvent : IGuestDirectoryEvent
{
    [propget] HRESULT Registered ([out, retval] BOOL * aRegistered);

}; /* interface IGuestDirectoryRegisteredEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }")
cpp_quote("#define COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryRegisteredEvent_TO(smth) COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestDirectoryRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryRegisteredEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryRegisteredEvent_TO_BASE(base) COM_FORWARD_IGuestDirectoryRegisteredEvent_TO (base::)")

[
    uuid(c32bce60-d69d-4eb7-a02a-411ecbab6a18),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestDirectoryStateChangedEvent : IGuestDirectoryEvent
{
    [propget] HRESULT Status ([out, retval] DirectoryStatus * aStatus);

    [propget] HRESULT Error ([out, retval] IVirtualBoxErrorInfo * * aError);

}; /* interface IGuestDirectoryStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (DirectoryStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }")
cpp_quote("#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryStateChangedEvent_TO(smth) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO (smth) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestDirectoryStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryStateChangedEvent_TO_BASE(base) COM_FORWARD_IGuestDirectoryStateChangedEvent_TO (base::)")

[
    uuid(4e774bbe-5285-4517-8d34-21260633c513),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestDirectoryReadEvent : IGuestDirectoryEvent
{
    [propget] HRESULT Path ([out, retval] BSTR * aPath);

    [propget] HRESULT ObjInfo ([out, retval] IFsObjInfo * * aObjInfo);

    [propget] HRESULT Owner ([out, retval] BSTR * aOwner);

    [propget] HRESULT Groups ([out, retval] BSTR * aGroups);

}; /* interface IGuestDirectoryReadEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO_BASE(base) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO(smth) HRESULT STDMETHODCALLTYPE get_ObjInfo (IFsObjInfo * * aObjInfo) { return smth get_ObjInfo (aObjInfo); }")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO_BASE(base) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO(smth) HRESULT STDMETHODCALLTYPE get_Owner (BSTR * aOwner) { return smth get_Owner (aOwner); }")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO_BASE(base) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO(smth) HRESULT STDMETHODCALLTYPE get_Groups (BSTR * aGroups) { return smth get_Groups (aGroups); }")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO_BASE(base) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryReadEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirectoryReadEvent_TO_BASE(base) COM_FORWARD_IGuestDirectoryReadEvent_TO (base::)")

[
    uuid(c8adb7b0-057d-4391-b928-f14b06b710c5),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFileEvent : IGuestSessionEvent
{
    [propget] HRESULT File ([out, retval] IGuestFile * * aFile);

}; /* interface IGuestFileEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFileEvent_GETTER_File_TO(smth) HRESULT STDMETHODCALLTYPE get_File (IGuestFile * * aFile) { return smth get_File (aFile); }")
cpp_quote("#define COM_FORWARD_IGuestFileEvent_GETTER_File_TO_OBJ(obj) COM_FORWARD_IGuestFileEvent_GETTER_File_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileEvent_GETTER_File_TO_BASE(base) COM_FORWARD_IGuestFileEvent_GETTER_File_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFileEvent_TO(smth) COM_FORWARD_IGuestFileEvent_GETTER_File_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFileEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileEvent_TO_BASE(base) COM_FORWARD_IGuestFileEvent_TO (base::)")

[
    uuid(d0d93830-70a2-487e-895e-d3fc9679f7b3),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFileRegisteredEvent : IGuestFileEvent
{
    [propget] HRESULT Registered ([out, retval] BOOL * aRegistered);

}; /* interface IGuestFileRegisteredEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }")
cpp_quote("#define COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFileRegisteredEvent_TO(smth) COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFileRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileRegisteredEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileRegisteredEvent_TO_BASE(base) COM_FORWARD_IGuestFileRegisteredEvent_TO (base::)")

[
    uuid(d37fe88f-0979-486c-baa1-3abb144dc82d),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFileStateChangedEvent : IGuestFileEvent
{
    [propget] HRESULT Status ([out, retval] FileStatus * aStatus);

    [propget] HRESULT Error ([out, retval] IVirtualBoxErrorInfo * * aError);

}; /* interface IGuestFileStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (FileStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }")
cpp_quote("#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFileStateChangedEvent_TO(smth) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO (smth) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFileStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileStateChangedEvent_TO_BASE(base) COM_FORWARD_IGuestFileStateChangedEvent_TO (base::)")

[
    uuid(b5191a7c-9536-4ef8-820e-3b0e17e5bbc8),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFileIOEvent : IGuestFileEvent
{
    [propget] HRESULT Offset ([out, retval] LONG64 * aOffset);

    [propget] HRESULT Processed ([out, retval] ULONG * aProcessed);

}; /* interface IGuestFileIOEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO(smth) HRESULT STDMETHODCALLTYPE get_Offset (LONG64 * aOffset) { return smth get_Offset (aOffset); }")
cpp_quote("#define COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO_OBJ(obj) COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO_BASE(base) COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO(smth) HRESULT STDMETHODCALLTYPE get_Processed (ULONG * aProcessed) { return smth get_Processed (aProcessed); }")
cpp_quote("#define COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO_OBJ(obj) COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO_BASE(base) COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFileIOEvent_TO(smth) COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO (smth) COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFileIOEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileIOEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileIOEvent_TO_BASE(base) COM_FORWARD_IGuestFileIOEvent_TO (base::)")

[
    uuid(e8f79a21-1207-4179-94cf-ca250036308f),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFileOffsetChangedEvent : IGuestFileIOEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IGuestFileOffsetChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFileOffsetChangedEvent_TO(smth) COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFileOffsetChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileOffsetChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileOffsetChangedEvent_TO_BASE(base) COM_FORWARD_IGuestFileOffsetChangedEvent_TO (base::)")

[
    uuid(d78374e9-486e-472f-481b-969746af2480),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFileSizeChangedEvent : IGuestFileEvent
{
    [propget] HRESULT NewSize ([out, retval] LONG64 * aNewSize);

}; /* interface IGuestFileSizeChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO(smth) HRESULT STDMETHODCALLTYPE get_NewSize (LONG64 * aNewSize) { return smth get_NewSize (aNewSize); }")
cpp_quote("#define COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO_OBJ(obj) COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO_BASE(base) COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFileSizeChangedEvent_TO(smth) COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFileSizeChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileSizeChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileSizeChangedEvent_TO_BASE(base) COM_FORWARD_IGuestFileSizeChangedEvent_TO (base::)")

[
    uuid(4ee3cbcb-486f-40db-9150-deee3fd24189),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFileReadEvent : IGuestFileIOEvent
{
    [propget] HRESULT Data ([out, retval] SAFEARRAY(BYTE) * aData);

}; /* interface IGuestFileReadEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO(smth) HRESULT STDMETHODCALLTYPE get_Data (SAFEARRAY * * aData) { return smth get_Data (aData); }")
cpp_quote("#define COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO_OBJ(obj) COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO_BASE(base) COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFileReadEvent_TO(smth) COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFileReadEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileReadEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileReadEvent_TO_BASE(base) COM_FORWARD_IGuestFileReadEvent_TO (base::)")

[
    uuid(e062a915-3cf5-4c0a-bc90-9b8d4cc94d89),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestFileWriteEvent : IGuestFileIOEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IGuestFileWriteEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestFileWriteEvent_TO(smth) COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestFileWriteEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileWriteEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestFileWriteEvent_TO_BASE(base) COM_FORWARD_IGuestFileWriteEvent_TO (base::)")

[
    uuid(a06fd66a-3188-4c8c-8756-1395e8cb691c),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVRDEServerChangedEvent : IEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IVRDEServerChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerChangedEvent_TO(smth) COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IVRDEServerChangedEvent_TO_OBJ(obj) COM_FORWARD_IVRDEServerChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerChangedEvent_TO_BASE(base) COM_FORWARD_IVRDEServerChangedEvent_TO (base::)")

[
    uuid(dd6a1080-e1b7-4339-a549-f0878115596e),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVRDEServerInfoChangedEvent : IEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IVRDEServerInfoChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfoChangedEvent_TO(smth) COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IVRDEServerInfoChangedEvent_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfoChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVRDEServerInfoChangedEvent_TO_BASE(base) COM_FORWARD_IVRDEServerInfoChangedEvent_TO (base::)")

[
    uuid(210498ae-c922-4e86-9c45-8cfb51395fc3),
    object,
    dual,
    oleautomation
    , proxy
]
interface IRecordingStateChangedEvent : IEvent
{
    [propget] HRESULT State ([out, retval] RecordingState * aState);

    [propget] HRESULT Error ([out, retval] IVirtualBoxErrorInfo * * aError);

}; /* interface IRecordingStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (RecordingState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IRecordingStateChangedEvent_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IRecordingStateChangedEvent_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }")
cpp_quote("#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingStateChangedEvent_TO(smth) COM_FORWARD_IRecordingStateChangedEvent_GETTER_State_TO (smth) COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO (smth) ")
cpp_quote("#define COM_FORWARD_IRecordingStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IRecordingStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingStateChangedEvent_TO_BASE(base) COM_FORWARD_IRecordingStateChangedEvent_TO (base::)")

[
    uuid(5900472f-cc58-48ac-a088-b571b77f839b),
    object,
    dual,
    oleautomation
    , proxy
]
interface IRecordingScreenStateChangedEvent : IRecordingStateChangedEvent
{
    [propget] HRESULT Screen ([out, retval] ULONG * aScreen);

}; /* interface IRecordingScreenStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO(smth) HRESULT STDMETHODCALLTYPE get_Screen (ULONG * aScreen) { return smth get_Screen (aScreen); }")
cpp_quote("#define COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO_OBJ(obj) COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO_BASE(base) COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO (base::)")
cpp_quote("#define COM_FORWARD_IRecordingScreenStateChangedEvent_TO(smth) COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO (smth) ")
cpp_quote("#define COM_FORWARD_IRecordingScreenStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IRecordingScreenStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRecordingScreenStateChangedEvent_TO_BASE(base) COM_FORWARD_IRecordingScreenStateChangedEvent_TO (base::)")

[
    uuid(93BADC0C-61D9-4940-A084-E6BB29AF3D83),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUSBControllerChangedEvent : IEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IUSBControllerChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBControllerChangedEvent_TO(smth) COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IUSBControllerChangedEvent_TO_OBJ(obj) COM_FORWARD_IUSBControllerChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBControllerChangedEvent_TO_BASE(base) COM_FORWARD_IUSBControllerChangedEvent_TO (base::)")

[
    uuid(806da61b-6679-422a-b629-51b06b0c6d93),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUSBDeviceStateChangedEvent : IEvent
{
    [propget] HRESULT Device ([out, retval] IUSBDevice * * aDevice);

    [propget] HRESULT Attached ([out, retval] BOOL * aAttached);

    [propget] HRESULT Error ([out, retval] IVirtualBoxErrorInfo * * aError);

}; /* interface IUSBDeviceStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO(smth) HRESULT STDMETHODCALLTYPE get_Device (IUSBDevice * * aDevice) { return smth get_Device (aDevice); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO_OBJ(obj) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO_BASE(base) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO(smth) HRESULT STDMETHODCALLTYPE get_Attached (BOOL * aAttached) { return smth get_Attached (aAttached); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO_OBJ(obj) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO_BASE(base) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }")
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IUSBDeviceStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDeviceStateChangedEvent_TO_BASE(base) COM_FORWARD_IUSBDeviceStateChangedEvent_TO (base::)")

[
    uuid(B66349B5-3534-4239-B2DE-8E1535D94C0B),
    object,
    dual,
    oleautomation
    , proxy
]
interface ISharedFolderChangedEvent : IEvent
{
    [propget] HRESULT Scope ([out, retval] Scope * aScope);

}; /* interface ISharedFolderChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO(smth) HRESULT STDMETHODCALLTYPE get_Scope (Scope * aScope) { return smth get_Scope (aScope); }")
cpp_quote("#define COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO_OBJ(obj) COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO_BASE(base) COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO (base::)")
cpp_quote("#define COM_FORWARD_ISharedFolderChangedEvent_TO(smth) COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO (smth) ")
cpp_quote("#define COM_FORWARD_ISharedFolderChangedEvent_TO_OBJ(obj) COM_FORWARD_ISharedFolderChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISharedFolderChangedEvent_TO_BASE(base) COM_FORWARD_ISharedFolderChangedEvent_TO (base::)")

[
    uuid(883DD18B-0721-4CDE-867C-1A82ABAF914C),
    object,
    dual,
    oleautomation
    , proxy
]
interface IRuntimeErrorEvent : IEvent
{
    [propget] HRESULT Fatal ([out, retval] BOOL * aFatal);

    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Message ([out, retval] BSTR * aMessage);

}; /* interface IRuntimeErrorEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO(smth) HRESULT STDMETHODCALLTYPE get_Fatal (BOOL * aFatal) { return smth get_Fatal (aFatal); }")
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO_OBJ(obj) COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO_BASE(base) COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO (base::)")
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO_BASE(base) COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO(smth) HRESULT STDMETHODCALLTYPE get_Message (BSTR * aMessage) { return smth get_Message (aMessage); }")
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO_OBJ(obj) COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO_BASE(base) COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_TO_OBJ(obj) COM_FORWARD_IRuntimeErrorEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRuntimeErrorEvent_TO_BASE(base) COM_FORWARD_IRuntimeErrorEvent_TO (base::)")

[
    uuid(e7932cb8-f6d4-4ab6-9cbf-558eb8959a6a),
    object,
    dual,
    oleautomation
    , proxy
]
interface IEventSourceChangedEvent : IEvent
{
    [propget] HRESULT Listener ([out, retval] IEventListener * * aListener);

    [propget] HRESULT Add ([out, retval] BOOL * aAdd);

}; /* interface IEventSourceChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO(smth) HRESULT STDMETHODCALLTYPE get_Listener (IEventListener * * aListener) { return smth get_Listener (aListener); }")
cpp_quote("#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO_OBJ(obj) COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO_BASE(base) COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO (base::)")
cpp_quote("#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO(smth) HRESULT STDMETHODCALLTYPE get_Add (BOOL * aAdd) { return smth get_Add (aAdd); }")
cpp_quote("#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO_OBJ(obj) COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO_BASE(base) COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO (base::)")
cpp_quote("#define COM_FORWARD_IEventSourceChangedEvent_TO(smth) COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO (smth) COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO (smth) ")
cpp_quote("#define COM_FORWARD_IEventSourceChangedEvent_TO_OBJ(obj) COM_FORWARD_IEventSourceChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IEventSourceChangedEvent_TO_BASE(base) COM_FORWARD_IEventSourceChangedEvent_TO (base::)")

[
    uuid(024F00CE-6E0B-492A-A8D0-968472A94DC7),
    object,
    dual,
    oleautomation
    , proxy
]
interface IExtraDataChangedEvent : IEvent
{
    [propget] HRESULT MachineId ([out, retval] BSTR * aMachineId);

    [propget] HRESULT Key ([out, retval] BSTR * aKey);

    [propget] HRESULT Value ([out, retval] BSTR * aValue);

}; /* interface IExtraDataChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineId (BSTR * aMachineId) { return smth get_MachineId (aMachineId); }")
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO_OBJ(obj) COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO_BASE(base) COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO(smth) HRESULT STDMETHODCALLTYPE get_Key (BSTR * aKey) { return smth get_Key (aKey); }")
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO_OBJ(obj) COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO_BASE(base) COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO(smth) HRESULT STDMETHODCALLTYPE get_Value (BSTR * aValue) { return smth get_Value (aValue); }")
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO_OBJ(obj) COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO_BASE(base) COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_TO_OBJ(obj) COM_FORWARD_IExtraDataChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtraDataChangedEvent_TO_BASE(base) COM_FORWARD_IExtraDataChangedEvent_TO (base::)")

[
    uuid(7c5e945f-2354-4267-883f-2f417d216519),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVetoEvent : IEvent
{
    HRESULT AddVeto (
        [in] BSTR aReason
    );

    HRESULT IsVetoed (
        [out, retval] BOOL * aResult
    );

    HRESULT GetVetos (
        [out, retval] SAFEARRAY(BSTR) * aResult
    );

    HRESULT AddApproval (
        [in] BSTR aReason
    );

    HRESULT IsApproved (
        [out, retval] BOOL * aResult
    );

    HRESULT GetApprovals (
        [out, retval] SAFEARRAY(BSTR) * aResult
    );

}; /* interface IVetoEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVetoEvent_AddVeto_TO(smth) HRESULT STDMETHODCALLTYPE AddVeto (BSTR aReason) { return smth AddVeto (aReason); }")
cpp_quote("#define COM_FORWARD_IVetoEvent_AddVeto_TO_OBJ(obj) COM_FORWARD_IVetoEvent_AddVeto_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVetoEvent_AddVeto_TO_BASE(base) COM_FORWARD_IVetoEvent_AddVeto_TO (base::)")
cpp_quote("#define COM_FORWARD_IVetoEvent_IsVetoed_TO(smth) HRESULT STDMETHODCALLTYPE IsVetoed (BOOL * aResult) { return smth IsVetoed (aResult); }")
cpp_quote("#define COM_FORWARD_IVetoEvent_IsVetoed_TO_OBJ(obj) COM_FORWARD_IVetoEvent_IsVetoed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVetoEvent_IsVetoed_TO_BASE(base) COM_FORWARD_IVetoEvent_IsVetoed_TO (base::)")
cpp_quote("#define COM_FORWARD_IVetoEvent_GetVetos_TO(smth) HRESULT STDMETHODCALLTYPE GetVetos (SAFEARRAY * * aResult) { return smth GetVetos (aResult); }")
cpp_quote("#define COM_FORWARD_IVetoEvent_GetVetos_TO_OBJ(obj) COM_FORWARD_IVetoEvent_GetVetos_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVetoEvent_GetVetos_TO_BASE(base) COM_FORWARD_IVetoEvent_GetVetos_TO (base::)")
cpp_quote("#define COM_FORWARD_IVetoEvent_AddApproval_TO(smth) HRESULT STDMETHODCALLTYPE AddApproval (BSTR aReason) { return smth AddApproval (aReason); }")
cpp_quote("#define COM_FORWARD_IVetoEvent_AddApproval_TO_OBJ(obj) COM_FORWARD_IVetoEvent_AddApproval_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVetoEvent_AddApproval_TO_BASE(base) COM_FORWARD_IVetoEvent_AddApproval_TO (base::)")
cpp_quote("#define COM_FORWARD_IVetoEvent_IsApproved_TO(smth) HRESULT STDMETHODCALLTYPE IsApproved (BOOL * aResult) { return smth IsApproved (aResult); }")
cpp_quote("#define COM_FORWARD_IVetoEvent_IsApproved_TO_OBJ(obj) COM_FORWARD_IVetoEvent_IsApproved_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVetoEvent_IsApproved_TO_BASE(base) COM_FORWARD_IVetoEvent_IsApproved_TO (base::)")
cpp_quote("#define COM_FORWARD_IVetoEvent_GetApprovals_TO(smth) HRESULT STDMETHODCALLTYPE GetApprovals (SAFEARRAY * * aResult) { return smth GetApprovals (aResult); }")
cpp_quote("#define COM_FORWARD_IVetoEvent_GetApprovals_TO_OBJ(obj) COM_FORWARD_IVetoEvent_GetApprovals_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVetoEvent_GetApprovals_TO_BASE(base) COM_FORWARD_IVetoEvent_GetApprovals_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IVetoEvent_TO_OBJ(obj) COM_FORWARD_IVetoEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVetoEvent_TO_BASE(base) COM_FORWARD_IVetoEvent_TO (base::)")

[
    uuid(245d88bd-800a-40f8-87a6-170d02249a55),
    object,
    dual,
    oleautomation
    , proxy
]
interface IExtraDataCanChangeEvent : IVetoEvent
{
    [propget] HRESULT MachineId ([out, retval] BSTR * aMachineId);

    [propget] HRESULT Key ([out, retval] BSTR * aKey);

    [propget] HRESULT Value ([out, retval] BSTR * aValue);

}; /* interface IExtraDataCanChangeEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineId (BSTR * aMachineId) { return smth get_MachineId (aMachineId); }")
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO_OBJ(obj) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO_BASE(base) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO(smth) HRESULT STDMETHODCALLTYPE get_Key (BSTR * aKey) { return smth get_Key (aKey); }")
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO_OBJ(obj) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO_BASE(base) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO (base::)")
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO(smth) HRESULT STDMETHODCALLTYPE get_Value (BSTR * aValue) { return smth get_Value (aValue); }")
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO_OBJ(obj) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO_BASE(base) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_TO_OBJ(obj) COM_FORWARD_IExtraDataCanChangeEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IExtraDataCanChangeEvent_TO_BASE(base) COM_FORWARD_IExtraDataCanChangeEvent_TO (base::)")

[
    uuid(adf292b0-92c9-4a77-9d35-e058b39fe0b9),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICanShowWindowEvent : IVetoEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface ICanShowWindowEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_ICanShowWindowEvent_TO(smth) COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_ICanShowWindowEvent_TO_OBJ(obj) COM_FORWARD_ICanShowWindowEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICanShowWindowEvent_TO_BASE(base) COM_FORWARD_ICanShowWindowEvent_TO (base::)")

[
    uuid(B0A0904D-2F05-4D28-855F-488F96BAD2B2),
    object,
    dual,
    oleautomation
    , proxy
]
interface IShowWindowEvent : IEvent
{
    [propget] HRESULT WinId ([out, retval] LONG64 * aWinId);
    [propput] HRESULT WinId ([in] LONG64 aWinId);

}; /* interface IShowWindowEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO(smth) HRESULT STDMETHODCALLTYPE get_WinId (LONG64 * aWinId) { return smth get_WinId (aWinId); }")
cpp_quote("#define COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO_OBJ(obj) COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO_BASE(base) COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO (base::)")
cpp_quote("#define COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO(smth) HRESULT STDMETHODCALLTYPE put_WinId (LONG64 aWinId) { return smth put_WinId (aWinId); }")
cpp_quote("#define COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO_OBJ(obj) COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO_BASE(base) COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO (base::)")
cpp_quote("#define COM_FORWARD_IShowWindowEvent_TO(smth) COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO (smth) COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO (smth) ")
cpp_quote("#define COM_FORWARD_IShowWindowEvent_TO_OBJ(obj) COM_FORWARD_IShowWindowEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IShowWindowEvent_TO_BASE(base) COM_FORWARD_IShowWindowEvent_TO (base::)")

[
    uuid(24eef068-c380-4510-bc7c-19314a7352f1),
    object,
    dual,
    oleautomation
    , proxy
]
interface INATRedirectEvent : IMachineEvent
{
    [propget] HRESULT Slot ([out, retval] ULONG * aSlot);

    [propget] HRESULT Remove ([out, retval] BOOL * aRemove);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Proto ([out, retval] NATProtocol * aProto);

    [propget] HRESULT HostIP ([out, retval] BSTR * aHostIP);

    [propget] HRESULT HostPort ([out, retval] LONG * aHostPort);

    [propget] HRESULT GuestIP ([out, retval] BSTR * aGuestIP);

    [propget] HRESULT GuestPort ([out, retval] LONG * aGuestPort);

}; /* interface INATRedirectEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO(smth) HRESULT STDMETHODCALLTYPE get_Slot (ULONG * aSlot) { return smth get_Slot (aSlot); }")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO (base::)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO(smth) HRESULT STDMETHODCALLTYPE get_Remove (BOOL * aRemove) { return smth get_Remove (aRemove); }")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO (base::)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO(smth) HRESULT STDMETHODCALLTYPE get_Proto (NATProtocol * aProto) { return smth get_Proto (aProto); }")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO (base::)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO(smth) HRESULT STDMETHODCALLTYPE get_HostIP (BSTR * aHostIP) { return smth get_HostIP (aHostIP); }")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO (base::)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO(smth) HRESULT STDMETHODCALLTYPE get_HostPort (LONG * aHostPort) { return smth get_HostPort (aHostPort); }")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO (base::)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestIP (BSTR * aGuestIP) { return smth get_GuestIP (aGuestIP); }")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO (base::)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestPort (LONG * aGuestPort) { return smth get_GuestPort (aGuestPort); }")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATRedirectEvent_TO_BASE(base) COM_FORWARD_INATRedirectEvent_TO (base::)")

[
    uuid(8dcc633f-7b03-4f0a-9f40-7a784dd0835a),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostAudioDeviceChangedEvent : IEvent
{
    [propget] HRESULT Device ([out, retval] IHostAudioDevice * * aDevice);

    [propget] HRESULT New ([out, retval] BOOL * aNew);

    [propget] HRESULT State ([out, retval] AudioDeviceState * aState);

    [propget] HRESULT Error ([out, retval] IVirtualBoxErrorInfo * * aError);

}; /* interface IHostAudioDeviceChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO(smth) HRESULT STDMETHODCALLTYPE get_Device (IHostAudioDevice * * aDevice) { return smth get_Device (aDevice); }")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO_OBJ(obj) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO_BASE(base) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO(smth) HRESULT STDMETHODCALLTYPE get_New (BOOL * aNew) { return smth get_New (aNew); }")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO_OBJ(obj) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO_BASE(base) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (AudioDeviceState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_TO_OBJ(obj) COM_FORWARD_IHostAudioDeviceChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostAudioDeviceChangedEvent_TO_BASE(base) COM_FORWARD_IHostAudioDeviceChangedEvent_TO (base::)")

[
    uuid(a0bad6df-d612-47d3-89d4-db3992533948),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostPCIDevicePlugEvent : IMachineEvent
{
    [propget] HRESULT Plugged ([out, retval] BOOL * aPlugged);

    [propget] HRESULT Success ([out, retval] BOOL * aSuccess);

    [propget] HRESULT Attachment ([out, retval] IPCIDeviceAttachment * * aAttachment);

    [propget] HRESULT Message ([out, retval] BSTR * aMessage);

}; /* interface IHostPCIDevicePlugEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO(smth) HRESULT STDMETHODCALLTYPE get_Plugged (BOOL * aPlugged) { return smth get_Plugged (aPlugged); }")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO_OBJ(obj) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO_BASE(base) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO(smth) HRESULT STDMETHODCALLTYPE get_Success (BOOL * aSuccess) { return smth get_Success (aSuccess); }")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO_OBJ(obj) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO_BASE(base) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO(smth) HRESULT STDMETHODCALLTYPE get_Attachment (IPCIDeviceAttachment * * aAttachment) { return smth get_Attachment (aAttachment); }")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO_OBJ(obj) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO_BASE(base) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO(smth) HRESULT STDMETHODCALLTYPE get_Message (BSTR * aMessage) { return smth get_Message (aMessage); }")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO_OBJ(obj) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO_BASE(base) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_TO_OBJ(obj) COM_FORWARD_IHostPCIDevicePlugEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostPCIDevicePlugEvent_TO_BASE(base) COM_FORWARD_IHostPCIDevicePlugEvent_TO (base::)")

[
    uuid(97c78fcd-d4fc-485f-8613-5af88bfcfcdc),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVBoxSVCAvailabilityChangedEvent : IEvent
{
    [propget] HRESULT Available ([out, retval] BOOL * aAvailable);

}; /* interface IVBoxSVCAvailabilityChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO(smth) HRESULT STDMETHODCALLTYPE get_Available (BOOL * aAvailable) { return smth get_Available (aAvailable); }")
cpp_quote("#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO_OBJ(obj) COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO_BASE(base) COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO (base::)")
cpp_quote("#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_TO(smth) COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO (smth) ")
cpp_quote("#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_TO_OBJ(obj) COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_TO_BASE(base) COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_TO (base::)")

[
    uuid(334df94a-7556-4cbc-8c04-043096b02d82),
    object,
    dual,
    oleautomation
    , proxy
]
interface IBandwidthGroupChangedEvent : IEvent
{
    [propget] HRESULT BandwidthGroup ([out, retval] IBandwidthGroup * * aBandwidthGroup);

}; /* interface IBandwidthGroupChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE get_BandwidthGroup (IBandwidthGroup * * aBandwidthGroup) { return smth get_BandwidthGroup (aBandwidthGroup); }")
cpp_quote("#define COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO_OBJ(obj) COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO_BASE(base) COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO (base::)")
cpp_quote("#define COM_FORWARD_IBandwidthGroupChangedEvent_TO(smth) COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO (smth) ")
cpp_quote("#define COM_FORWARD_IBandwidthGroupChangedEvent_TO_OBJ(obj) COM_FORWARD_IBandwidthGroupChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthGroupChangedEvent_TO_BASE(base) COM_FORWARD_IBandwidthGroupChangedEvent_TO (base::)")

[
    uuid(0f7b8a22-c71f-4a36-8e5f-a77d01d76090),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestMonitorChangedEvent : IEvent
{
    [propget] HRESULT ChangeType ([out, retval] GuestMonitorChangedEventType * aChangeType);

    [propget] HRESULT ScreenId ([out, retval] ULONG * aScreenId);

    [propget] HRESULT OriginX ([out, retval] ULONG * aOriginX);

    [propget] HRESULT OriginY ([out, retval] ULONG * aOriginY);

    [propget] HRESULT Width ([out, retval] ULONG * aWidth);

    [propget] HRESULT Height ([out, retval] ULONG * aHeight);

}; /* interface IGuestMonitorChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO(smth) HRESULT STDMETHODCALLTYPE get_ChangeType (GuestMonitorChangedEventType * aChangeType) { return smth get_ChangeType (aChangeType); }")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO(smth) HRESULT STDMETHODCALLTYPE get_ScreenId (ULONG * aScreenId) { return smth get_ScreenId (aScreenId); }")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO(smth) HRESULT STDMETHODCALLTYPE get_OriginX (ULONG * aOriginX) { return smth get_OriginX (aOriginX); }")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO(smth) HRESULT STDMETHODCALLTYPE get_OriginY (ULONG * aOriginY) { return smth get_OriginY (aOriginY); }")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO(smth) HRESULT STDMETHODCALLTYPE get_Width (ULONG * aWidth) { return smth get_Width (aWidth); }")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO(smth) HRESULT STDMETHODCALLTYPE get_Height (ULONG * aHeight) { return smth get_Height (aHeight); }")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMonitorChangedEvent_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_TO (base::)")

[
    uuid(39b4e759-1ec0-4c0f-857f-fbe2a737a256),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestUserStateChangedEvent : IEvent
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Domain ([out, retval] BSTR * aDomain);

    [propget] HRESULT State ([out, retval] GuestUserState * aState);

    [propget] HRESULT StateDetails ([out, retval] BSTR * aStateDetails);

}; /* interface IGuestUserStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO(smth) HRESULT STDMETHODCALLTYPE get_Domain (BSTR * aDomain) { return smth get_Domain (aDomain); }")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO_OBJ(obj) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO_BASE(base) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (GuestUserState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO(smth) HRESULT STDMETHODCALLTYPE get_StateDetails (BSTR * aStateDetails) { return smth get_StateDetails (aStateDetails); }")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO_OBJ(obj) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO_BASE(base) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestUserStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestUserStateChangedEvent_TO_BASE(base) COM_FORWARD_IGuestUserStateChangedEvent_TO (base::)")

[
    uuid(232e9151-ae84-4b8e-b0f3-5c20c35caac9),
    object,
    dual,
    oleautomation
    , proxy
]
interface IStorageDeviceChangedEvent : IEvent
{
    [propget] HRESULT StorageDevice ([out, retval] IMediumAttachment * * aStorageDevice);

    [propget] HRESULT Removed ([out, retval] BOOL * aRemoved);

    [propget] HRESULT Silent ([out, retval] BOOL * aSilent);

}; /* interface IStorageDeviceChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO(smth) HRESULT STDMETHODCALLTYPE get_StorageDevice (IMediumAttachment * * aStorageDevice) { return smth get_StorageDevice (aStorageDevice); }")
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO_OBJ(obj) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO_BASE(base) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO(smth) HRESULT STDMETHODCALLTYPE get_Removed (BOOL * aRemoved) { return smth get_Removed (aRemoved); }")
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO_OBJ(obj) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO_BASE(base) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO(smth) HRESULT STDMETHODCALLTYPE get_Silent (BOOL * aSilent) { return smth get_Silent (aSilent); }")
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO_OBJ(obj) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO_BASE(base) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_TO_OBJ(obj) COM_FORWARD_IStorageDeviceChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageDeviceChangedEvent_TO_BASE(base) COM_FORWARD_IStorageDeviceChangedEvent_TO (base::)")

[
    uuid(101ae042-1a29-4a19-92cf-02285773f3b5),
    object,
    dual,
    oleautomation
    , proxy
]
interface INATNetworkChangedEvent : IEvent
{
    [propget] HRESULT NetworkName ([out, retval] BSTR * aNetworkName);

}; /* interface INATNetworkChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkName (BSTR * aNetworkName) { return smth get_NetworkName (aNetworkName); }")
cpp_quote("#define COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO_BASE(base) COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkChangedEvent_TO(smth) COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO (smth) ")
cpp_quote("#define COM_FORWARD_INATNetworkChangedEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkChangedEvent_TO_BASE(base) COM_FORWARD_INATNetworkChangedEvent_TO (base::)")

[
    uuid(269d8f6b-fa1e-4cee-91c7-6d8496bea3c1),
    object,
    dual,
    oleautomation
    , proxy
]
interface INATNetworkStartStopEvent : INATNetworkChangedEvent
{
    [propget] HRESULT StartEvent ([out, retval] BOOL * aStartEvent);

}; /* interface INATNetworkStartStopEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO(smth) HRESULT STDMETHODCALLTYPE get_StartEvent (BOOL * aStartEvent) { return smth get_StartEvent (aStartEvent); }")
cpp_quote("#define COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO_BASE(base) COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkStartStopEvent_TO(smth) COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO (smth) ")
cpp_quote("#define COM_FORWARD_INATNetworkStartStopEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkStartStopEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkStartStopEvent_TO_BASE(base) COM_FORWARD_INATNetworkStartStopEvent_TO (base::)")

[
    uuid(d947adf5-4022-dc80-5535-6fb116815604),
    object,
    dual,
    oleautomation
    , proxy
]
interface INATNetworkAlterEvent : INATNetworkChangedEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface INATNetworkAlterEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkAlterEvent_TO(smth) COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_INATNetworkAlterEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkAlterEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkAlterEvent_TO_BASE(base) COM_FORWARD_INATNetworkAlterEvent_TO (base::)")

[
    uuid(8d984a7e-b855-40b8-ab0c-44d3515b4528),
    object,
    dual,
    oleautomation
    , proxy
]
interface INATNetworkCreationDeletionEvent : INATNetworkAlterEvent
{
    [propget] HRESULT CreationEvent ([out, retval] BOOL * aCreationEvent);

}; /* interface INATNetworkCreationDeletionEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO(smth) HRESULT STDMETHODCALLTYPE get_CreationEvent (BOOL * aCreationEvent) { return smth get_CreationEvent (aCreationEvent); }")
cpp_quote("#define COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO_BASE(base) COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkCreationDeletionEvent_TO(smth) COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO (smth) ")
cpp_quote("#define COM_FORWARD_INATNetworkCreationDeletionEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkCreationDeletionEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkCreationDeletionEvent_TO_BASE(base) COM_FORWARD_INATNetworkCreationDeletionEvent_TO (base::)")

[
    uuid(9db3a9e6-7f29-4aae-a627-5a282c83092c),
    object,
    dual,
    oleautomation
    , proxy
]
interface INATNetworkSettingEvent : INATNetworkAlterEvent
{
    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);

    [propget] HRESULT Network ([out, retval] BSTR * aNetwork);

    [propget] HRESULT Gateway ([out, retval] BSTR * aGateway);

    [propget] HRESULT AdvertiseDefaultIPv6RouteEnabled ([out, retval] BOOL * aAdvertiseDefaultIPv6RouteEnabled);

    [propget] HRESULT NeedDhcpServer ([out, retval] BOOL * aNeedDhcpServer);

}; /* interface INATNetworkSettingEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO(smth) HRESULT STDMETHODCALLTYPE get_Network (BSTR * aNetwork) { return smth get_Network (aNetwork); }")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO(smth) HRESULT STDMETHODCALLTYPE get_Gateway (BSTR * aGateway) { return smth get_Gateway (aGateway); }")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_AdvertiseDefaultIPv6RouteEnabled (BOOL * aAdvertiseDefaultIPv6RouteEnabled) { return smth get_AdvertiseDefaultIPv6RouteEnabled (aAdvertiseDefaultIPv6RouteEnabled); }")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO(smth) HRESULT STDMETHODCALLTYPE get_NeedDhcpServer (BOOL * aNeedDhcpServer) { return smth get_NeedDhcpServer (aNeedDhcpServer); }")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkSettingEvent_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_TO (base::)")

[
    uuid(2514881b-23d0-430a-a7ff-7ed7f05534bc),
    object,
    dual,
    oleautomation
    , proxy
]
interface INATNetworkPortForwardEvent : INATNetworkAlterEvent
{
    [propget] HRESULT Create ([out, retval] BOOL * aCreate);

    [propget] HRESULT Ipv6 ([out, retval] BOOL * aIpv6);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Proto ([out, retval] NATProtocol * aProto);

    [propget] HRESULT HostIp ([out, retval] BSTR * aHostIp);

    [propget] HRESULT HostPort ([out, retval] LONG * aHostPort);

    [propget] HRESULT GuestIp ([out, retval] BSTR * aGuestIp);

    [propget] HRESULT GuestPort ([out, retval] LONG * aGuestPort);

}; /* interface INATNetworkPortForwardEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO(smth) HRESULT STDMETHODCALLTYPE get_Create (BOOL * aCreate) { return smth get_Create (aCreate); }")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO(smth) HRESULT STDMETHODCALLTYPE get_Ipv6 (BOOL * aIpv6) { return smth get_Ipv6 (aIpv6); }")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO(smth) HRESULT STDMETHODCALLTYPE get_Proto (NATProtocol * aProto) { return smth get_Proto (aProto); }")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO(smth) HRESULT STDMETHODCALLTYPE get_HostIp (BSTR * aHostIp) { return smth get_HostIp (aHostIp); }")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO(smth) HRESULT STDMETHODCALLTYPE get_HostPort (LONG * aHostPort) { return smth get_HostPort (aHostPort); }")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestIp (BSTR * aGuestIp) { return smth get_GuestIp (aGuestIp); }")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO (base::)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestPort (LONG * aGuestPort) { return smth get_GuestPort (aGuestPort); }")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INATNetworkPortForwardEvent_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_TO (base::)")

[
    uuid(f9b9e1cf-cb63-47a1-84fb-02c4894b89a9),
    object,
    dual,
    oleautomation
    , proxy
]
interface IHostNameResolutionConfigurationChangeEvent : IEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IHostNameResolutionConfigurationChangeEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_TO(smth) COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_TO_OBJ(obj) COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_TO_BASE(base) COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_TO (base::)")

[
    uuid(daaf9016-1f04-4191-aa2f-1fac9646ae4c),
    object,
    dual,
    oleautomation
    , proxy
]
interface IProgressEvent : IEvent
{
    [propget] HRESULT ProgressId ([out, retval] BSTR * aProgressId);

}; /* interface IProgressEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProgressId (BSTR * aProgressId) { return smth get_ProgressId (aProgressId); }")
cpp_quote("#define COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO_OBJ(obj) COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO_BASE(base) COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgressEvent_TO(smth) COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO (smth) ")
cpp_quote("#define COM_FORWARD_IProgressEvent_TO_OBJ(obj) COM_FORWARD_IProgressEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgressEvent_TO_BASE(base) COM_FORWARD_IProgressEvent_TO (base::)")

[
    uuid(a85bba40-1b93-47bb-b125-dec708c30fc0),
    object,
    dual,
    oleautomation
    , proxy
]
interface IProgressCreatedEvent : IProgressEvent
{
    [propget] HRESULT Create ([out, retval] BOOL * aCreate);

}; /* interface IProgressCreatedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO(smth) HRESULT STDMETHODCALLTYPE get_Create (BOOL * aCreate) { return smth get_Create (aCreate); }")
cpp_quote("#define COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO_OBJ(obj) COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO_BASE(base) COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgressCreatedEvent_TO(smth) COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO (smth) ")
cpp_quote("#define COM_FORWARD_IProgressCreatedEvent_TO_OBJ(obj) COM_FORWARD_IProgressCreatedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgressCreatedEvent_TO_BASE(base) COM_FORWARD_IProgressCreatedEvent_TO (base::)")

[
    uuid(f05d7e60-1bcf-4218-9807-04e036cc70f1),
    object,
    dual,
    oleautomation
    , proxy
]
interface IProgressPercentageChangedEvent : IProgressEvent
{
    [propget] HRESULT Percent ([out, retval] LONG * aPercent);

}; /* interface IProgressPercentageChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO(smth) HRESULT STDMETHODCALLTYPE get_Percent (LONG * aPercent) { return smth get_Percent (aPercent); }")
cpp_quote("#define COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO_OBJ(obj) COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO_BASE(base) COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgressPercentageChangedEvent_TO(smth) COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO (smth) ")
cpp_quote("#define COM_FORWARD_IProgressPercentageChangedEvent_TO_OBJ(obj) COM_FORWARD_IProgressPercentageChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgressPercentageChangedEvent_TO_BASE(base) COM_FORWARD_IProgressPercentageChangedEvent_TO (base::)")

[
    uuid(a5bbdb7d-8ce7-469f-a4c2-6476f581ff72),
    object,
    dual,
    oleautomation
    , proxy
]
interface IProgressTaskCompletedEvent : IProgressEvent
{
    [propget] HRESULT MidlDoesNotLikeEmptyInterfaces ([out, retval] BOOL * aMidlDoesNotLikeEmptyInterfaces);

}; /* interface IProgressTaskCompletedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }")
cpp_quote("#define COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgressTaskCompletedEvent_TO(smth) COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) ")
cpp_quote("#define COM_FORWARD_IProgressTaskCompletedEvent_TO_OBJ(obj) COM_FORWARD_IProgressTaskCompletedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgressTaskCompletedEvent_TO_BASE(base) COM_FORWARD_IProgressTaskCompletedEvent_TO (base::)")

[
    uuid(6f302674-c927-11e7-b788-33c248e71fc7),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICursorPositionChangedEvent : IEvent
{
    [propget] HRESULT HasData ([out, retval] BOOL * aHasData);

    [propget] HRESULT X ([out, retval] ULONG * aX);

    [propget] HRESULT Y ([out, retval] ULONG * aY);

}; /* interface ICursorPositionChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO(smth) HRESULT STDMETHODCALLTYPE get_HasData (BOOL * aHasData) { return smth get_HasData (aHasData); }")
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO_OBJ(obj) COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO_BASE(base) COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO (base::)")
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO(smth) HRESULT STDMETHODCALLTYPE get_X (ULONG * aX) { return smth get_X (aX); }")
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO_OBJ(obj) COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO_BASE(base) COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO (base::)")
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO(smth) HRESULT STDMETHODCALLTYPE get_Y (ULONG * aY) { return smth get_Y (aY); }")
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO_OBJ(obj) COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO_BASE(base) COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_TO_OBJ(obj) COM_FORWARD_ICursorPositionChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICursorPositionChangedEvent_TO_BASE(base) COM_FORWARD_ICursorPositionChangedEvent_TO (base::)")

[
    uuid(a443da5b-aa82-4720-bc84-bd097b2b13b8),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestAdditionsStatusChangedEvent : IEvent
{
    [propget] HRESULT Facility ([out, retval] AdditionsFacilityType * aFacility);

    [propget] HRESULT Status ([out, retval] AdditionsFacilityStatus * aStatus);

    [propget] HRESULT RunLevel ([out, retval] AdditionsRunLevelType * aRunLevel);

    [propget] HRESULT Timestamp ([out, retval] LONG64 * aTimestamp);

}; /* interface IGuestAdditionsStatusChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO(smth) HRESULT STDMETHODCALLTYPE get_Facility (AdditionsFacilityType * aFacility) { return smth get_Facility (aFacility); }")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO_OBJ(obj) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO_BASE(base) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (AdditionsFacilityStatus * aStatus) { return smth get_Status (aStatus); }")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO(smth) HRESULT STDMETHODCALLTYPE get_RunLevel (AdditionsRunLevelType * aRunLevel) { return smth get_RunLevel (aRunLevel); }")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO_OBJ(obj) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO_BASE(base) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO(smth) HRESULT STDMETHODCALLTYPE get_Timestamp (LONG64 * aTimestamp) { return smth get_Timestamp (aTimestamp); }")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO_OBJ(obj) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO_BASE(base) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestAdditionsStatusChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_TO_BASE(base) COM_FORWARD_IGuestAdditionsStatusChangedEvent_TO (base::)")

[
    uuid(0b3cdeb2-808e-11e9-b773-133d9330f849),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestMonitorInfoChangedEvent : IEvent
{
    [propget] HRESULT Output ([out, retval] ULONG * aOutput);

}; /* interface IGuestMonitorInfoChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO(smth) HRESULT STDMETHODCALLTYPE get_Output (ULONG * aOutput) { return smth get_Output (aOutput); }")
cpp_quote("#define COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO_OBJ(obj) COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO_BASE(base) COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestMonitorInfoChangedEvent_TO(smth) COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestMonitorInfoChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestMonitorInfoChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMonitorInfoChangedEvent_TO_BASE(base) COM_FORWARD_IGuestMonitorInfoChangedEvent_TO (base::)")

[
    uuid(ff58a51d-54a1-411c-93e9-3047eb4dcd21),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUpdateAgentEvent : IEvent
{
    [propget] HRESULT Agent ([out, retval] IUpdateAgent * * aAgent);

}; /* interface IUpdateAgentEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO(smth) HRESULT STDMETHODCALLTYPE get_Agent (IUpdateAgent * * aAgent) { return smth get_Agent (aAgent); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO_BASE(base) COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgentEvent_TO(smth) COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO (smth) ")
cpp_quote("#define COM_FORWARD_IUpdateAgentEvent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentEvent_TO_BASE(base) COM_FORWARD_IUpdateAgentEvent_TO (base::)")

[
    uuid(abef51ae-1493-49f4-aa03-efaf106bf086),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUpdateAgentSettingsChangedEvent : IUpdateAgentEvent
{
    [propget] HRESULT AttributeHint ([out, retval] BSTR * aAttributeHint);

}; /* interface IUpdateAgentSettingsChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO(smth) HRESULT STDMETHODCALLTYPE get_AttributeHint (BSTR * aAttributeHint) { return smth get_AttributeHint (aAttributeHint); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO_OBJ(obj) COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO_BASE(base) COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_TO(smth) COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO (smth) ")
cpp_quote("#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentSettingsChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_TO_BASE(base) COM_FORWARD_IUpdateAgentSettingsChangedEvent_TO (base::)")

[
    uuid(2a88033d-82db-4ac2-97b5-e786c839420e),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUpdateAgentErrorEvent : IUpdateAgentEvent
{
    [propget] HRESULT Msg ([out, retval] BSTR * aMsg);

    [propget] HRESULT RcError ([out, retval] LONG * aRcError);

}; /* interface IUpdateAgentErrorEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO(smth) HRESULT STDMETHODCALLTYPE get_Msg (BSTR * aMsg) { return smth get_Msg (aMsg); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO_OBJ(obj) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO_BASE(base) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO(smth) HRESULT STDMETHODCALLTYPE get_RcError (LONG * aRcError) { return smth get_RcError (aRcError); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO_OBJ(obj) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO_BASE(base) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgentErrorEvent_TO(smth) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO (smth) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO (smth) ")
cpp_quote("#define COM_FORWARD_IUpdateAgentErrorEvent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentErrorEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentErrorEvent_TO_BASE(base) COM_FORWARD_IUpdateAgentErrorEvent_TO (base::)")

[
    uuid(243829cb-15b7-42a4-8664-7aa4e34993da),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUpdateAgentAvailableEvent : IUpdateAgentEvent
{
    [propget] HRESULT Version ([out, retval] BSTR * aVersion);

    [propget] HRESULT Channel ([out, retval] UpdateChannel * aChannel);

    [propget] HRESULT Severity ([out, retval] UpdateSeverity * aSeverity);

    [propget] HRESULT DownloadURL ([out, retval] BSTR * aDownloadURL);

    [propget] HRESULT WebURL ([out, retval] BSTR * aWebURL);

    [propget] HRESULT ReleaseNotes ([out, retval] BSTR * aReleaseNotes);

}; /* interface IUpdateAgentAvailableEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO(smth) HRESULT STDMETHODCALLTYPE get_Version (BSTR * aVersion) { return smth get_Version (aVersion); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO(smth) HRESULT STDMETHODCALLTYPE get_Channel (UpdateChannel * aChannel) { return smth get_Channel (aChannel); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO(smth) HRESULT STDMETHODCALLTYPE get_Severity (UpdateSeverity * aSeverity) { return smth get_Severity (aSeverity); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO(smth) HRESULT STDMETHODCALLTYPE get_DownloadURL (BSTR * aDownloadURL) { return smth get_DownloadURL (aDownloadURL); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO(smth) HRESULT STDMETHODCALLTYPE get_WebURL (BSTR * aWebURL) { return smth get_WebURL (aWebURL); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO(smth) HRESULT STDMETHODCALLTYPE get_ReleaseNotes (BSTR * aReleaseNotes) { return smth get_ReleaseNotes (aReleaseNotes); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentAvailableEvent_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_TO (base::)")

[
    uuid(eb000a0e-2079-4f47-bbcc-c6b28a4e50df),
    object,
    dual,
    oleautomation
    , proxy
]
interface IUpdateAgentStateChangedEvent : IUpdateAgentEvent
{
    [propget] HRESULT State ([out, retval] UpdateState * aState);

}; /* interface IUpdateAgentStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (UpdateState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_IUpdateAgentStateChangedEvent_TO(smth) COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO (smth) ")
cpp_quote("#define COM_FORWARD_IUpdateAgentStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentStateChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUpdateAgentStateChangedEvent_TO_BASE(base) COM_FORWARD_IUpdateAgentStateChangedEvent_TO (base::)")

[
    uuid(a3d2799e-d3ad-4f73-91ef-7d839689f6d6),
    object,
    dual,
    oleautomation
    , proxy
]
interface IGuestDebugControlChangedEvent : IEvent
{
    [propget] HRESULT GuestDebugControl ([out, retval] IGuestDebugControl * * aGuestDebugControl);

}; /* interface IGuestDebugControlChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestDebugControl (IGuestDebugControl * * aGuestDebugControl) { return smth get_GuestDebugControl (aGuestDebugControl); }")
cpp_quote("#define COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO_OBJ(obj) COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO_BASE(base) COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDebugControlChangedEvent_TO(smth) COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestDebugControlChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestDebugControlChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDebugControlChangedEvent_TO_BASE(base) COM_FORWARD_IGuestDebugControlChangedEvent_TO (base::)")

[
    uuid(ee37afb5-7002-4786-a5c4-a9c29e1cce75),
    object,
    dual,
    oleautomation
    , proxy
]
interface IMachineGroupsChangedEvent : IMachineEvent
{
    [propget] HRESULT Dummy ([out, retval] BOOL * aDummy);

}; /* interface IMachineGroupsChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO(smth) HRESULT STDMETHODCALLTYPE get_Dummy (BOOL * aDummy) { return smth get_Dummy (aDummy); }")
cpp_quote("#define COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO_OBJ(obj) COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO_BASE(base) COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineGroupsChangedEvent_TO(smth) COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO (smth) ")
cpp_quote("#define COM_FORWARD_IMachineGroupsChangedEvent_TO_OBJ(obj) COM_FORWARD_IMachineGroupsChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineGroupsChangedEvent_TO_BASE(base) COM_FORWARD_IMachineGroupsChangedEvent_TO (base::)")

[
    uuid(3890b2c8-604d-11e9-92d3-53cb473db9fb),
    object,
    dual,
    oleautomation
    , proxy
]
interface IStringArray : IDispatch
{
    [propget] HRESULT Values ([out, retval] SAFEARRAY(BSTR) * aValues);

    HRESULT InternalAndReservedMethod1IStringArray();

    HRESULT InternalAndReservedMethod2IStringArray();

    HRESULT InternalAndReservedMethod3IStringArray();

    HRESULT InternalAndReservedMethod4IStringArray();

}; /* interface IStringArray */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IStringArray_GETTER_Values_TO(smth) HRESULT STDMETHODCALLTYPE get_Values (SAFEARRAY * * aValues) { return smth get_Values (aValues); }")
cpp_quote("#define COM_FORWARD_IStringArray_GETTER_Values_TO_OBJ(obj) COM_FORWARD_IStringArray_GETTER_Values_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStringArray_GETTER_Values_TO_BASE(base) COM_FORWARD_IStringArray_GETTER_Values_TO (base::)")
cpp_quote("#define COM_FORWARD_IStringArray_TO(smth) COM_FORWARD_IStringArray_GETTER_Values_TO (smth) ")
cpp_quote("#define COM_FORWARD_IStringArray_TO_OBJ(obj) COM_FORWARD_IStringArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStringArray_TO_BASE(base) COM_FORWARD_IStringArray_TO (base::)")

[
    uuid(67c50afe-3e78-11e9-b25e-7768f80c0e07),
    object,
    dual,
    oleautomation
    , proxy
]
interface IFormValue : IDispatch
{
    [propget] HRESULT Type ([out, retval] FormValueType * aType);

    [propget] HRESULT Generation ([out, retval] LONG * aGeneration);

    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);

    [propget] HRESULT Visible ([out, retval] BOOL * aVisible);

    [propget] HRESULT Label ([out, retval] BSTR * aLabel);

    [propget] HRESULT Description ([out, retval] BSTR * aDescription);

    [propget] HRESULT Help ([out, retval] BSTR * aHelp);

    [propget] HRESULT InternalAndReservedAttribute1IFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5IFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6IFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7IFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8IFormValue ([out, retval] ULONG *aReserved);

    HRESULT InternalAndReservedMethod1IFormValue();

    HRESULT InternalAndReservedMethod2IFormValue();

    HRESULT InternalAndReservedMethod3IFormValue();

    HRESULT InternalAndReservedMethod4IFormValue();

}; /* interface IFormValue */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (FormValueType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Type_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Generation_TO(smth) HRESULT STDMETHODCALLTYPE get_Generation (LONG * aGeneration) { return smth get_Generation (aGeneration); }")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Generation_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Generation_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Generation_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Generation_TO (base::)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Visible_TO(smth) HRESULT STDMETHODCALLTYPE get_Visible (BOOL * aVisible) { return smth get_Visible (aVisible); }")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Visible_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Visible_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Visible_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Visible_TO (base::)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Label_TO(smth) HRESULT STDMETHODCALLTYPE get_Label (BSTR * aLabel) { return smth get_Label (aLabel); }")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Label_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Label_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Label_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Label_TO (base::)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Description_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Description_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Description_TO (base::)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Help_TO(smth) HRESULT STDMETHODCALLTYPE get_Help (BSTR * aHelp) { return smth get_Help (aHelp); }")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Help_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Help_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFormValue_GETTER_Help_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Help_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IFormValue_TO_OBJ(obj) COM_FORWARD_IFormValue_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFormValue_TO_BASE(base) COM_FORWARD_IFormValue_TO (base::)")

[
    uuid(4f4adcf6-3e87-11e9-8af2-576e84223953),
    object,
    dual,
    oleautomation
    , proxy
]
interface IBooleanFormValue : IFormValue
{
    [propget] HRESULT InternalAndReservedAttribute1IBooleanFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IBooleanFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IBooleanFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IBooleanFormValue ([out, retval] ULONG *aReserved);

    HRESULT GetSelected (
        [out, retval] BOOL * aSelected
    );

    HRESULT SetSelected (
        [in] BOOL aSelected,
        [out, retval] IProgress * * aProgress
    );

    HRESULT InternalAndReservedMethod1IBooleanFormValue();

    HRESULT InternalAndReservedMethod2IBooleanFormValue();

    HRESULT InternalAndReservedMethod3IBooleanFormValue();

    HRESULT InternalAndReservedMethod4IBooleanFormValue();

}; /* interface IBooleanFormValue */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IBooleanFormValue_GetSelected_TO(smth) HRESULT STDMETHODCALLTYPE GetSelected (BOOL * aSelected) { return smth GetSelected (aSelected); }")
cpp_quote("#define COM_FORWARD_IBooleanFormValue_GetSelected_TO_OBJ(obj) COM_FORWARD_IBooleanFormValue_GetSelected_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBooleanFormValue_GetSelected_TO_BASE(base) COM_FORWARD_IBooleanFormValue_GetSelected_TO (base::)")
cpp_quote("#define COM_FORWARD_IBooleanFormValue_SetSelected_TO(smth) HRESULT STDMETHODCALLTYPE SetSelected (BOOL aSelected, IProgress * * aProgress) { return smth SetSelected (aSelected, aProgress); }")
cpp_quote("#define COM_FORWARD_IBooleanFormValue_SetSelected_TO_OBJ(obj) COM_FORWARD_IBooleanFormValue_SetSelected_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBooleanFormValue_SetSelected_TO_BASE(base) COM_FORWARD_IBooleanFormValue_SetSelected_TO (base::)")
cpp_quote("#define COM_FORWARD_IBooleanFormValue_TO(smth) COM_FORWARD_IBooleanFormValue_GetSelected_TO (smth) COM_FORWARD_IBooleanFormValue_SetSelected_TO (smth) ")
cpp_quote("#define COM_FORWARD_IBooleanFormValue_TO_OBJ(obj) COM_FORWARD_IBooleanFormValue_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBooleanFormValue_TO_BASE(base) COM_FORWARD_IBooleanFormValue_TO (base::)")

[
    uuid(b31c4052-7bdc-11e9-8bc2-8ffdb8b19219),
    object,
    dual,
    oleautomation
    , proxy
]
interface IRangedIntegerFormValue : IFormValue
{
    [propget] HRESULT Suffix ([out, retval] BSTR * aSuffix);

    [propget] HRESULT Minimum ([out, retval] LONG * aMinimum);

    [propget] HRESULT Maximum ([out, retval] LONG * aMaximum);

    [propget] HRESULT InternalAndReservedAttribute1IRangedIntegerFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IRangedIntegerFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IRangedIntegerFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IRangedIntegerFormValue ([out, retval] ULONG *aReserved);

    HRESULT GetInteger (
        [out, retval] LONG * aValue
    );

    HRESULT SetInteger (
        [in] LONG aValue,
        [out, retval] IProgress * * aProgress
    );

    HRESULT InternalAndReservedMethod1IRangedIntegerFormValue();

    HRESULT InternalAndReservedMethod2IRangedIntegerFormValue();

    HRESULT InternalAndReservedMethod3IRangedIntegerFormValue();

    HRESULT InternalAndReservedMethod4IRangedIntegerFormValue();

}; /* interface IRangedIntegerFormValue */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO(smth) HRESULT STDMETHODCALLTYPE get_Suffix (BSTR * aSuffix) { return smth get_Suffix (aSuffix); }")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO (base::)")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO(smth) HRESULT STDMETHODCALLTYPE get_Minimum (LONG * aMinimum) { return smth get_Minimum (aMinimum); }")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO (base::)")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO(smth) HRESULT STDMETHODCALLTYPE get_Maximum (LONG * aMaximum) { return smth get_Maximum (aMaximum); }")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO (base::)")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO(smth) HRESULT STDMETHODCALLTYPE GetInteger (LONG * aValue) { return smth GetInteger (aValue); }")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO (base::)")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO(smth) HRESULT STDMETHODCALLTYPE SetInteger (LONG aValue, IProgress * * aProgress) { return smth SetInteger (aValue, aProgress); }")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedIntegerFormValue_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_TO (base::)")

[
    uuid(f01e8b48-f44d-42cc-8a83-512f6a8552f1),
    object,
    dual,
    oleautomation
    , proxy
]
interface IRangedInteger64FormValue : IFormValue
{
    [propget] HRESULT Suffix ([out, retval] BSTR * aSuffix);

    [propget] HRESULT Minimum ([out, retval] LONG64 * aMinimum);

    [propget] HRESULT Maximum ([out, retval] LONG64 * aMaximum);

    [propget] HRESULT InternalAndReservedAttribute1IRangedInteger64FormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IRangedInteger64FormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IRangedInteger64FormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IRangedInteger64FormValue ([out, retval] ULONG *aReserved);

    HRESULT GetInteger (
        [out, retval] LONG64 * aValue
    );

    HRESULT SetInteger (
        [in] LONG64 aValue,
        [out, retval] IProgress * * aProgress
    );

    HRESULT InternalAndReservedMethod1IRangedInteger64FormValue();

    HRESULT InternalAndReservedMethod2IRangedInteger64FormValue();

    HRESULT InternalAndReservedMethod3IRangedInteger64FormValue();

    HRESULT InternalAndReservedMethod4IRangedInteger64FormValue();

}; /* interface IRangedInteger64FormValue */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO(smth) HRESULT STDMETHODCALLTYPE get_Suffix (BSTR * aSuffix) { return smth get_Suffix (aSuffix); }")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO (base::)")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO(smth) HRESULT STDMETHODCALLTYPE get_Minimum (LONG64 * aMinimum) { return smth get_Minimum (aMinimum); }")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO (base::)")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO(smth) HRESULT STDMETHODCALLTYPE get_Maximum (LONG64 * aMaximum) { return smth get_Maximum (aMaximum); }")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO (base::)")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO(smth) HRESULT STDMETHODCALLTYPE GetInteger (LONG64 * aValue) { return smth GetInteger (aValue); }")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO (base::)")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO(smth) HRESULT STDMETHODCALLTYPE SetInteger (LONG64 aValue, IProgress * * aProgress) { return smth SetInteger (aValue, aProgress); }")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IRangedInteger64FormValue_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_TO (base::)")

[
    uuid(cb6f0f2c-8384-11e9-921d-8b984e28a686),
    object,
    dual,
    oleautomation
    , proxy
]
interface IStringFormValue : IFormValue
{
    [propget] HRESULT Multiline ([out, retval] BOOL * aMultiline);

    [propget] HRESULT ClipboardString ([out, retval] BSTR * aClipboardString);

    [propget] HRESULT InternalAndReservedAttribute1IStringFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IStringFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IStringFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IStringFormValue ([out, retval] ULONG *aReserved);

    HRESULT GetString (
        [out, retval] BSTR * aText
    );

    HRESULT SetString (
        [in] BSTR aText,
        [out, retval] IProgress * * aProgress
    );

    HRESULT InternalAndReservedMethod1IStringFormValue();

    HRESULT InternalAndReservedMethod2IStringFormValue();

    HRESULT InternalAndReservedMethod3IStringFormValue();

    HRESULT InternalAndReservedMethod4IStringFormValue();

}; /* interface IStringFormValue */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IStringFormValue_GETTER_Multiline_TO(smth) HRESULT STDMETHODCALLTYPE get_Multiline (BOOL * aMultiline) { return smth get_Multiline (aMultiline); }")
cpp_quote("#define COM_FORWARD_IStringFormValue_GETTER_Multiline_TO_OBJ(obj) COM_FORWARD_IStringFormValue_GETTER_Multiline_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStringFormValue_GETTER_Multiline_TO_BASE(base) COM_FORWARD_IStringFormValue_GETTER_Multiline_TO (base::)")
cpp_quote("#define COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO(smth) HRESULT STDMETHODCALLTYPE get_ClipboardString (BSTR * aClipboardString) { return smth get_ClipboardString (aClipboardString); }")
cpp_quote("#define COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO_OBJ(obj) COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO_BASE(base) COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO (base::)")
cpp_quote("#define COM_FORWARD_IStringFormValue_GetString_TO(smth) HRESULT STDMETHODCALLTYPE GetString (BSTR * aText) { return smth GetString (aText); }")
cpp_quote("#define COM_FORWARD_IStringFormValue_GetString_TO_OBJ(obj) COM_FORWARD_IStringFormValue_GetString_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStringFormValue_GetString_TO_BASE(base) COM_FORWARD_IStringFormValue_GetString_TO (base::)")
cpp_quote("#define COM_FORWARD_IStringFormValue_SetString_TO(smth) HRESULT STDMETHODCALLTYPE SetString (BSTR aText, IProgress * * aProgress) { return smth SetString (aText, aProgress); }")
cpp_quote("#define COM_FORWARD_IStringFormValue_SetString_TO_OBJ(obj) COM_FORWARD_IStringFormValue_SetString_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStringFormValue_SetString_TO_BASE(base) COM_FORWARD_IStringFormValue_SetString_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IStringFormValue_TO_OBJ(obj) COM_FORWARD_IStringFormValue_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStringFormValue_TO_BASE(base) COM_FORWARD_IStringFormValue_TO (base::)")

[
    uuid(7191cf38-3e8a-11e9-825c-ab7b2cabce23),
    object,
    dual,
    oleautomation
    , proxy
]
interface IChoiceFormValue : IFormValue
{
    [propget] HRESULT Values ([out, retval] SAFEARRAY(BSTR) * aValues);

    [propget] HRESULT InternalAndReservedAttribute1IChoiceFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IChoiceFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IChoiceFormValue ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IChoiceFormValue ([out, retval] ULONG *aReserved);

    HRESULT GetSelectedIndex (
        [out, retval] LONG * aIndex
    );

    HRESULT SetSelectedIndex (
        [in] LONG aIndex,
        [out, retval] IProgress * * aProgress
    );

    HRESULT InternalAndReservedMethod1IChoiceFormValue();

    HRESULT InternalAndReservedMethod2IChoiceFormValue();

    HRESULT InternalAndReservedMethod3IChoiceFormValue();

    HRESULT InternalAndReservedMethod4IChoiceFormValue();

}; /* interface IChoiceFormValue */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IChoiceFormValue_GETTER_Values_TO(smth) HRESULT STDMETHODCALLTYPE get_Values (SAFEARRAY * * aValues) { return smth get_Values (aValues); }")
cpp_quote("#define COM_FORWARD_IChoiceFormValue_GETTER_Values_TO_OBJ(obj) COM_FORWARD_IChoiceFormValue_GETTER_Values_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IChoiceFormValue_GETTER_Values_TO_BASE(base) COM_FORWARD_IChoiceFormValue_GETTER_Values_TO (base::)")
cpp_quote("#define COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO(smth) HRESULT STDMETHODCALLTYPE GetSelectedIndex (LONG * aIndex) { return smth GetSelectedIndex (aIndex); }")
cpp_quote("#define COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO_OBJ(obj) COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO_BASE(base) COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO (base::)")
cpp_quote("#define COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO(smth) HRESULT STDMETHODCALLTYPE SetSelectedIndex (LONG aIndex, IProgress * * aProgress) { return smth SetSelectedIndex (aIndex, aProgress); }")
cpp_quote("#define COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO_OBJ(obj) COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO_BASE(base) COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IChoiceFormValue_TO_OBJ(obj) COM_FORWARD_IChoiceFormValue_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IChoiceFormValue_TO_BASE(base) COM_FORWARD_IChoiceFormValue_TO (base::)")

[
    uuid(d05c91e2-3e8a-11e9-8082-db8ae479ef87),
    object,
    dual,
    oleautomation
    , proxy
]
interface IForm : IDispatch
{
    [propget] HRESULT Values ([out, retval] SAFEARRAY(IFormValue *) * aValues);

    [propget] HRESULT InternalAndReservedAttribute1IForm ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IForm ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IForm ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IForm ([out, retval] ULONG *aReserved);

    HRESULT GetFieldGroup (
        [in] BSTR aField,
        [out, retval] SAFEARRAY(BSTR) * aGroup
    );

    HRESULT Apply (
        [out, retval] IProgress * * aProgress
    );

    HRESULT InternalAndReservedMethod1IForm();

    HRESULT InternalAndReservedMethod2IForm();

    HRESULT InternalAndReservedMethod3IForm();

    HRESULT InternalAndReservedMethod4IForm();

}; /* interface IForm */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IForm_GETTER_Values_TO(smth) HRESULT STDMETHODCALLTYPE get_Values (SAFEARRAY * * aValues) { return smth get_Values (aValues); }")
cpp_quote("#define COM_FORWARD_IForm_GETTER_Values_TO_OBJ(obj) COM_FORWARD_IForm_GETTER_Values_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IForm_GETTER_Values_TO_BASE(base) COM_FORWARD_IForm_GETTER_Values_TO (base::)")
cpp_quote("#define COM_FORWARD_IForm_GetFieldGroup_TO(smth) HRESULT STDMETHODCALLTYPE GetFieldGroup (BSTR aField, SAFEARRAY * * aGroup) { return smth GetFieldGroup (aField, aGroup); }")
cpp_quote("#define COM_FORWARD_IForm_GetFieldGroup_TO_OBJ(obj) COM_FORWARD_IForm_GetFieldGroup_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IForm_GetFieldGroup_TO_BASE(base) COM_FORWARD_IForm_GetFieldGroup_TO (base::)")
cpp_quote("#define COM_FORWARD_IForm_Apply_TO(smth) HRESULT STDMETHODCALLTYPE Apply (IProgress * * aProgress) { return smth Apply (aProgress); }")
cpp_quote("#define COM_FORWARD_IForm_Apply_TO_OBJ(obj) COM_FORWARD_IForm_Apply_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IForm_Apply_TO_BASE(base) COM_FORWARD_IForm_Apply_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_IForm_TO_OBJ(obj) COM_FORWARD_IForm_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IForm_TO_BASE(base) COM_FORWARD_IForm_TO (base::)")

[
    uuid(14c2db8a-3ee4-11e9-b872-cb9447aad965),
    object,
    dual,
    oleautomation
    , proxy
]
interface IVirtualSystemDescriptionForm : IForm
{
    [propget] HRESULT InternalAndReservedAttribute1IVirtualSystemDescriptionForm ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2IVirtualSystemDescriptionForm ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3IVirtualSystemDescriptionForm ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4IVirtualSystemDescriptionForm ([out, retval] ULONG *aReserved);

    HRESULT GetVirtualSystemDescription (
        [out, retval] IVirtualSystemDescription * * aDescription
    );

    HRESULT InternalAndReservedMethod1IVirtualSystemDescriptionForm();

    HRESULT InternalAndReservedMethod2IVirtualSystemDescriptionForm();

    HRESULT InternalAndReservedMethod3IVirtualSystemDescriptionForm();

    HRESULT InternalAndReservedMethod4IVirtualSystemDescriptionForm();

}; /* interface IVirtualSystemDescriptionForm */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO(smth) HRESULT STDMETHODCALLTYPE GetVirtualSystemDescription (IVirtualSystemDescription * * aDescription) { return smth GetVirtualSystemDescription (aDescription); }")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO_BASE(base) COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO (base::)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescriptionForm_TO(smth) COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO (smth) ")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescriptionForm_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescriptionForm_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualSystemDescriptionForm_TO_BASE(base) COM_FORWARD_IVirtualSystemDescriptionForm_TO (base::)")

[
    uuid(89a63ace-0c65-11ea-ad23-0ff257c71a7f),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudNetworkGatewayInfo : IDispatch
{
    [propget] HRESULT PublicIP ([out, retval] BSTR * aPublicIP);

    [propget] HRESULT SecondaryPublicIP ([out, retval] BSTR * aSecondaryPublicIP);

    [propget] HRESULT MacAddress ([out, retval] BSTR * aMacAddress);

    [propget] HRESULT InstanceId ([out, retval] BSTR * aInstanceId);

    [propget] HRESULT InternalAndReservedAttribute1ICloudNetworkGatewayInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ICloudNetworkGatewayInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ICloudNetworkGatewayInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ICloudNetworkGatewayInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ICloudNetworkGatewayInfo ([out, retval] ULONG *aReserved);

}; /* interface ICloudNetworkGatewayInfo */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO(smth) HRESULT STDMETHODCALLTYPE get_PublicIP (BSTR * aPublicIP) { return smth get_PublicIP (aPublicIP); }")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO_OBJ(obj) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO_BASE(base) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO(smth) HRESULT STDMETHODCALLTYPE get_SecondaryPublicIP (BSTR * aSecondaryPublicIP) { return smth get_SecondaryPublicIP (aSecondaryPublicIP); }")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO_OBJ(obj) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO_BASE(base) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_MacAddress (BSTR * aMacAddress) { return smth get_MacAddress (aMacAddress); }")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO_OBJ(obj) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO_BASE(base) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO(smth) HRESULT STDMETHODCALLTYPE get_InstanceId (BSTR * aInstanceId) { return smth get_InstanceId (aInstanceId); }")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO_OBJ(obj) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO_BASE(base) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_TO_OBJ(obj) COM_FORWARD_ICloudNetworkGatewayInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudNetworkGatewayInfo_TO_BASE(base) COM_FORWARD_ICloudNetworkGatewayInfo_TO (base::)")

[
    uuid(181dfb55-394d-44d3-9edb-af2c4472c40a),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudNetworkEnvironmentInfo : IDispatch
{
    [propget] HRESULT TunnelNetworkId ([out, retval] BSTR * aTunnelNetworkId);

    [propget] HRESULT InternalAndReservedAttribute1ICloudNetworkEnvironmentInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ICloudNetworkEnvironmentInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ICloudNetworkEnvironmentInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ICloudNetworkEnvironmentInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ICloudNetworkEnvironmentInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ICloudNetworkEnvironmentInfo ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ICloudNetworkEnvironmentInfo ([out, retval] ULONG *aReserved);

}; /* interface ICloudNetworkEnvironmentInfo */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO(smth) HRESULT STDMETHODCALLTYPE get_TunnelNetworkId (BSTR * aTunnelNetworkId) { return smth get_TunnelNetworkId (aTunnelNetworkId); }")
cpp_quote("#define COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO_OBJ(obj) COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO_BASE(base) COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudNetworkEnvironmentInfo_TO(smth) COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO (smth) ")
cpp_quote("#define COM_FORWARD_ICloudNetworkEnvironmentInfo_TO_OBJ(obj) COM_FORWARD_ICloudNetworkEnvironmentInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudNetworkEnvironmentInfo_TO_BASE(base) COM_FORWARD_ICloudNetworkEnvironmentInfo_TO (base::)")

[
    uuid(147816c8-17e0-11eb-81fa-87cea6263e1a),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudMachine : IDispatch
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT CloudId ([out, retval] BSTR * aCloudId);

    [propget] HRESULT Accessible ([out, retval] BOOL * aAccessible);

    [propget] HRESULT AccessError ([out, retval] IVirtualBoxErrorInfo * * aAccessError);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT OSTypeId ([out, retval] BSTR * aOSTypeId);

    [propget] HRESULT State ([out, retval] CloudMachineState * aState);

    [propget] HRESULT ConsoleConnectionFingerprint ([out, retval] BSTR * aConsoleConnectionFingerprint);

    [propget] HRESULT SerialConsoleCommand ([out, retval] BSTR * aSerialConsoleCommand);

    [propget] HRESULT SerialConsoleCommandWindows ([out, retval] BSTR * aSerialConsoleCommandWindows);

    [propget] HRESULT VNCConsoleCommand ([out, retval] BSTR * aVNCConsoleCommand);

    [propget] HRESULT VNCConsoleCommandWindows ([out, retval] BSTR * aVNCConsoleCommandWindows);

    [propget] HRESULT InternalAndReservedAttribute1ICloudMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ICloudMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ICloudMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ICloudMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ICloudMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ICloudMachine ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ICloudMachine ([out, retval] ULONG *aReserved);

    HRESULT Refresh (
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetDetailsForm (
        [out, retval] IForm * * aForm
    );

    HRESULT GetSettingsForm (
        [out] IForm * * aForm,
        [out, retval] IProgress * * aProgress
    );

    HRESULT PowerUp (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Reboot (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Reset (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Shutdown (
        [out, retval] IProgress * * aProgress
    );

    HRESULT PowerDown (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Terminate (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Unregister (
        [out, retval] IProgress * * aProgress
    );

    HRESULT Remove (
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetConsoleHistory (
        [out] IDataStream * * aStream,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CreateConsoleConnection (
        [in] BSTR aSshPublicKey,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DeleteConsoleConnection (
        [out, retval] IProgress * * aProgress
    );

    HRESULT ListMetricNames (
        [out] IStringArray * * aMetricNames,
        [out, retval] IProgress * * aProgress
    );

    HRESULT EnumerateMetricData (
        [in] MetricType aMetricType,
        [in] ULONG aPointsNumber,
        [out] IStringArray * * aValues,
        [out] IStringArray * * aTimestamps,
        [out] IStringArray * * aUnit,
        [out, retval] IProgress * * aProgress
    );

    HRESULT InternalAndReservedMethod1ICloudMachine();

    HRESULT InternalAndReservedMethod2ICloudMachine();

    HRESULT InternalAndReservedMethod3ICloudMachine();

    HRESULT InternalAndReservedMethod4ICloudMachine();

    HRESULT InternalAndReservedMethod5ICloudMachine();

    HRESULT InternalAndReservedMethod6ICloudMachine();

    HRESULT InternalAndReservedMethod7ICloudMachine();

    HRESULT InternalAndReservedMethod8ICloudMachine();

    HRESULT InternalAndReservedMethod9ICloudMachine();

    HRESULT InternalAndReservedMethod10ICloudMachine();

    HRESULT InternalAndReservedMethod11ICloudMachine();

    HRESULT InternalAndReservedMethod12ICloudMachine();

    HRESULT InternalAndReservedMethod13ICloudMachine();

}; /* interface ICloudMachine */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_Id_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_Id_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_CloudId_TO(smth) HRESULT STDMETHODCALLTYPE get_CloudId (BSTR * aCloudId) { return smth get_CloudId (aCloudId); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_CloudId_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_CloudId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_CloudId_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_CloudId_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_Accessible_TO(smth) HRESULT STDMETHODCALLTYPE get_Accessible (BOOL * aAccessible) { return smth get_Accessible (aAccessible); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_Accessible_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_Accessible_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_Accessible_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_Accessible_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_AccessError_TO(smth) HRESULT STDMETHODCALLTYPE get_AccessError (IVirtualBoxErrorInfo * * aAccessError) { return smth get_AccessError (aAccessError); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_AccessError_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_AccessError_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_AccessError_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_AccessError_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_Name_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO(smth) HRESULT STDMETHODCALLTYPE get_OSTypeId (BSTR * aOSTypeId) { return smth get_OSTypeId (aOSTypeId); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (CloudMachineState * aState) { return smth get_State (aState); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_State_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_State_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_State_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_State_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO(smth) HRESULT STDMETHODCALLTYPE get_ConsoleConnectionFingerprint (BSTR * aConsoleConnectionFingerprint) { return smth get_ConsoleConnectionFingerprint (aConsoleConnectionFingerprint); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialConsoleCommand (BSTR * aSerialConsoleCommand) { return smth get_SerialConsoleCommand (aSerialConsoleCommand); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialConsoleCommandWindows (BSTR * aSerialConsoleCommandWindows) { return smth get_SerialConsoleCommandWindows (aSerialConsoleCommandWindows); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO(smth) HRESULT STDMETHODCALLTYPE get_VNCConsoleCommand (BSTR * aVNCConsoleCommand) { return smth get_VNCConsoleCommand (aVNCConsoleCommand); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO(smth) HRESULT STDMETHODCALLTYPE get_VNCConsoleCommandWindows (BSTR * aVNCConsoleCommandWindows) { return smth get_VNCConsoleCommandWindows (aVNCConsoleCommandWindows); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Refresh_TO(smth) HRESULT STDMETHODCALLTYPE Refresh (IProgress * * aProgress) { return smth Refresh (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_Refresh_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Refresh_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Refresh_TO_BASE(base) COM_FORWARD_ICloudMachine_Refresh_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GetDetailsForm_TO(smth) HRESULT STDMETHODCALLTYPE GetDetailsForm (IForm * * aForm) { return smth GetDetailsForm (aForm); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GetDetailsForm_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GetDetailsForm_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GetDetailsForm_TO_BASE(base) COM_FORWARD_ICloudMachine_GetDetailsForm_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GetSettingsForm_TO(smth) HRESULT STDMETHODCALLTYPE GetSettingsForm (IForm * * aForm, IProgress * * aProgress) { return smth GetSettingsForm (aForm, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GetSettingsForm_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GetSettingsForm_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GetSettingsForm_TO_BASE(base) COM_FORWARD_ICloudMachine_GetSettingsForm_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_PowerUp_TO(smth) HRESULT STDMETHODCALLTYPE PowerUp (IProgress * * aProgress) { return smth PowerUp (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_PowerUp_TO_OBJ(obj) COM_FORWARD_ICloudMachine_PowerUp_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_PowerUp_TO_BASE(base) COM_FORWARD_ICloudMachine_PowerUp_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Reboot_TO(smth) HRESULT STDMETHODCALLTYPE Reboot (IProgress * * aProgress) { return smth Reboot (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_Reboot_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Reboot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Reboot_TO_BASE(base) COM_FORWARD_ICloudMachine_Reboot_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Reset_TO(smth) HRESULT STDMETHODCALLTYPE Reset (IProgress * * aProgress) { return smth Reset (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_Reset_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Reset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Reset_TO_BASE(base) COM_FORWARD_ICloudMachine_Reset_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Shutdown_TO(smth) HRESULT STDMETHODCALLTYPE Shutdown (IProgress * * aProgress) { return smth Shutdown (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_Shutdown_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Shutdown_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Shutdown_TO_BASE(base) COM_FORWARD_ICloudMachine_Shutdown_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_PowerDown_TO(smth) HRESULT STDMETHODCALLTYPE PowerDown (IProgress * * aProgress) { return smth PowerDown (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_PowerDown_TO_OBJ(obj) COM_FORWARD_ICloudMachine_PowerDown_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_PowerDown_TO_BASE(base) COM_FORWARD_ICloudMachine_PowerDown_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Terminate_TO(smth) HRESULT STDMETHODCALLTYPE Terminate (IProgress * * aProgress) { return smth Terminate (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_Terminate_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Terminate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Terminate_TO_BASE(base) COM_FORWARD_ICloudMachine_Terminate_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Unregister_TO(smth) HRESULT STDMETHODCALLTYPE Unregister (IProgress * * aProgress) { return smth Unregister (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_Unregister_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Unregister_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Unregister_TO_BASE(base) COM_FORWARD_ICloudMachine_Unregister_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Remove_TO(smth) HRESULT STDMETHODCALLTYPE Remove (IProgress * * aProgress) { return smth Remove (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_Remove_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Remove_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_Remove_TO_BASE(base) COM_FORWARD_ICloudMachine_Remove_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GetConsoleHistory_TO(smth) HRESULT STDMETHODCALLTYPE GetConsoleHistory (IDataStream * * aStream, IProgress * * aProgress) { return smth GetConsoleHistory (aStream, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_GetConsoleHistory_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GetConsoleHistory_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_GetConsoleHistory_TO_BASE(base) COM_FORWARD_ICloudMachine_GetConsoleHistory_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO(smth) HRESULT STDMETHODCALLTYPE CreateConsoleConnection (BSTR aSshPublicKey, IProgress * * aProgress) { return smth CreateConsoleConnection (aSshPublicKey, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO_OBJ(obj) COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO_BASE(base) COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO(smth) HRESULT STDMETHODCALLTYPE DeleteConsoleConnection (IProgress * * aProgress) { return smth DeleteConsoleConnection (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO_OBJ(obj) COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO_BASE(base) COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudMachine_ListMetricNames_TO(smth) HRESULT STDMETHODCALLTYPE ListMetricNames (IStringArray * * aMetricNames, IProgress * * aProgress) { return smth ListMetricNames (aMetricNames, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_ListMetricNames_TO_OBJ(obj) COM_FORWARD_ICloudMachine_ListMetricNames_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_ListMetricNames_TO_BASE(base) COM_FORWARD_ICloudMachine_ListMetricNames_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_ICloudMachine_EnumerateMetricData_TO_OBJ(obj) COM_FORWARD_ICloudMachine_EnumerateMetricData_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_EnumerateMetricData_TO_BASE(base) COM_FORWARD_ICloudMachine_EnumerateMetricData_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ICloudMachine_TO_OBJ(obj) COM_FORWARD_ICloudMachine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudMachine_TO_BASE(base) COM_FORWARD_ICloudMachine_TO (base::)")

[
    uuid(c2db178a-7485-11ec-aec4-2fbf90681a84),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudClient : IDispatch
{
    [propget] HRESULT CloudMachineList ([out, retval] SAFEARRAY(ICloudMachine *) * aCloudMachineList);

    [propget] HRESULT CloudMachineStubList ([out, retval] SAFEARRAY(ICloudMachine *) * aCloudMachineStubList);

    [propget] HRESULT InternalAndReservedAttribute1ICloudClient ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ICloudClient ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ICloudClient ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ICloudClient ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ICloudClient ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ICloudClient ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ICloudClient ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ICloudClient ([out, retval] ULONG *aReserved);

    HRESULT GetExportDescriptionForm (
        [in] IVirtualSystemDescription * aDescription,
        [out] IVirtualSystemDescriptionForm * * aForm,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ExportVM (
        [in] IVirtualSystemDescription * aDescription,
        [in] IProgress * aProgress
    );

    HRESULT GetLaunchDescriptionForm (
        [in] IVirtualSystemDescription * aDescription,
        [out] IVirtualSystemDescriptionForm * * aForm,
        [out, retval] IProgress * * aProgress
    );

    HRESULT LaunchVM (
        [in] IVirtualSystemDescription * aDescription,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetImportDescriptionForm (
        [in] IVirtualSystemDescription * aDescription,
        [out] IVirtualSystemDescriptionForm * * aForm,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ImportInstance (
        [in] IVirtualSystemDescription * aDescription,
        [in] IProgress * aProgress
    );

    HRESULT GetCloudMachine (
        [in] BSTR aId,
        [out, retval] ICloudMachine * * aMachine
    );

    HRESULT ReadCloudMachineList (
        [out, retval] IProgress * * aProgress
    );

    HRESULT ReadCloudMachineStubList (
        [out, retval] IProgress * * aProgress
    );

    HRESULT AddCloudMachine (
        [in] BSTR aInstanceId,
        [out] ICloudMachine * * aMachine,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CreateCloudMachine (
        [in] IVirtualSystemDescription * aDescription,
        [out] ICloudMachine * * aMachine,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ListInstances (
        [in] SAFEARRAY(CloudMachineState) aMachineState,
        [out] IStringArray * * aReturnNames,
        [out] IStringArray * * aReturnIds,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ListSourceInstances (
        [out] IStringArray * * aReturnNames,
        [out] IStringArray * * aReturnIds,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ListImages (
        [in] SAFEARRAY(CloudImageState) aImageState,
        [out] IStringArray * * aReturnNames,
        [out] IStringArray * * aReturnIds,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ListBootVolumes (
        [out] IStringArray * * aReturnNames,
        [out] IStringArray * * aReturnIds,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ListSourceBootVolumes (
        [out] IStringArray * * aReturnNames,
        [out] IStringArray * * aReturnIds,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ListVnicAttachments (
        [in] SAFEARRAY(BSTR) aParameters,
        [out] IStringArray * * aReturnVnicAttachmentIds,
        [out] IStringArray * * aReturnVnicIds,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetInstanceInfo (
        [in] BSTR aUid,
        [in] IVirtualSystemDescription * aDescription,
        [out, retval] IProgress * * aProgress
    );

    HRESULT StartInstance (
        [in] BSTR aUid,
        [out, retval] IProgress * * aProgress
    );

    HRESULT PauseInstance (
        [in] BSTR aUid,
        [out, retval] IProgress * * aProgress
    );

    HRESULT TerminateInstance (
        [in] BSTR aUid,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ResetInstance (
        [in] BSTR aUid,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CloneInstance (
        [in] BSTR aUid,
        [in] BSTR aNewName,
        [out] ICloudMachine * * aClone,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CreateImage (
        [in] SAFEARRAY(BSTR) aParameters,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ExportImage (
        [in] IMedium * aImage,
        [in] SAFEARRAY(BSTR) aParameters,
        [out, retval] IProgress * * aProgress
    );

    HRESULT ImportImage (
        [in] BSTR aUid,
        [in] SAFEARRAY(BSTR) aParameters,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DeleteImage (
        [in] BSTR aUid,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetImageInfo (
        [in] BSTR aUid,
        [out] IStringArray * * aInfoArray,
        [out, retval] IProgress * * aProgress
    );

    HRESULT StartCloudNetworkGateway (
        [in] ICloudNetwork * aNetwork,
        [in] BSTR aSshPublicKey,
        [out] ICloudNetworkGatewayInfo * * aGatewayInfo,
        [out, retval] IProgress * * aProgress
    );

    HRESULT SetupCloudNetworkEnvironment (
        [in] BSTR aTunnelNetworkName,
        [in] BSTR aTunnelNetworkRange,
        [in] BSTR aGatewayOsName,
        [in] BSTR aGatewayOsVersion,
        [in] BSTR aGatewayShape,
        [out] ICloudNetworkEnvironmentInfo * * aNetworkEnvironmentInfo,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetVnicInfo (
        [in] BSTR aUid,
        [out] IStringArray * * aInfoArray,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetSubnetSelectionForm (
        [in] IVirtualSystemDescription * aDescription,
        [out] IVirtualSystemDescriptionForm * * aForm,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetMetricTypeByName (
        [in] BSTR aMetricName,
        [out, retval] MetricType * aMetricType
    );

    HRESULT InternalAndReservedMethod1ICloudClient();

    HRESULT InternalAndReservedMethod2ICloudClient();

    HRESULT InternalAndReservedMethod3ICloudClient();

    HRESULT InternalAndReservedMethod4ICloudClient();

    HRESULT InternalAndReservedMethod5ICloudClient();

    HRESULT InternalAndReservedMethod6ICloudClient();

    HRESULT InternalAndReservedMethod7ICloudClient();

    HRESULT InternalAndReservedMethod8ICloudClient();

    HRESULT InternalAndReservedMethod9ICloudClient();

    HRESULT InternalAndReservedMethod10ICloudClient();

    HRESULT InternalAndReservedMethod11ICloudClient();

    HRESULT InternalAndReservedMethod12ICloudClient();

    HRESULT InternalAndReservedMethod13ICloudClient();

}; /* interface ICloudClient */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO(smth) HRESULT STDMETHODCALLTYPE get_CloudMachineList (SAFEARRAY * * aCloudMachineList) { return smth get_CloudMachineList (aCloudMachineList); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO_OBJ(obj) COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO_BASE(base) COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO(smth) HRESULT STDMETHODCALLTYPE get_CloudMachineStubList (SAFEARRAY * * aCloudMachineStubList) { return smth get_CloudMachineStubList (aCloudMachineStubList); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO_OBJ(obj) COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO_BASE(base) COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO(smth) HRESULT STDMETHODCALLTYPE GetExportDescriptionForm (IVirtualSystemDescription * aDescription, IVirtualSystemDescriptionForm * * aForm, IProgress * * aProgress) { return smth GetExportDescriptionForm (aDescription, aForm, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO_BASE(base) COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_ExportVM_TO(smth) HRESULT STDMETHODCALLTYPE ExportVM (IVirtualSystemDescription * aDescription, IProgress * aProgress) { return smth ExportVM (aDescription, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ExportVM_TO_OBJ(obj) COM_FORWARD_ICloudClient_ExportVM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ExportVM_TO_BASE(base) COM_FORWARD_ICloudClient_ExportVM_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO(smth) HRESULT STDMETHODCALLTYPE GetLaunchDescriptionForm (IVirtualSystemDescription * aDescription, IVirtualSystemDescriptionForm * * aForm, IProgress * * aProgress) { return smth GetLaunchDescriptionForm (aDescription, aForm, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO_BASE(base) COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_LaunchVM_TO(smth) HRESULT STDMETHODCALLTYPE LaunchVM (IVirtualSystemDescription * aDescription, IProgress * * aProgress) { return smth LaunchVM (aDescription, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_LaunchVM_TO_OBJ(obj) COM_FORWARD_ICloudClient_LaunchVM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_LaunchVM_TO_BASE(base) COM_FORWARD_ICloudClient_LaunchVM_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO(smth) HRESULT STDMETHODCALLTYPE GetImportDescriptionForm (IVirtualSystemDescription * aDescription, IVirtualSystemDescriptionForm * * aForm, IProgress * * aProgress) { return smth GetImportDescriptionForm (aDescription, aForm, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO_BASE(base) COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_ImportInstance_TO(smth) HRESULT STDMETHODCALLTYPE ImportInstance (IVirtualSystemDescription * aDescription, IProgress * aProgress) { return smth ImportInstance (aDescription, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ImportInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_ImportInstance_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ImportInstance_TO_BASE(base) COM_FORWARD_ICloudClient_ImportInstance_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetCloudMachine_TO(smth) HRESULT STDMETHODCALLTYPE GetCloudMachine (BSTR aId, ICloudMachine * * aMachine) { return smth GetCloudMachine (aId, aMachine); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GetCloudMachine_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetCloudMachine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetCloudMachine_TO_BASE(base) COM_FORWARD_ICloudClient_GetCloudMachine_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_ReadCloudMachineList_TO(smth) HRESULT STDMETHODCALLTYPE ReadCloudMachineList (IProgress * * aProgress) { return smth ReadCloudMachineList (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ReadCloudMachineList_TO_OBJ(obj) COM_FORWARD_ICloudClient_ReadCloudMachineList_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ReadCloudMachineList_TO_BASE(base) COM_FORWARD_ICloudClient_ReadCloudMachineList_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO(smth) HRESULT STDMETHODCALLTYPE ReadCloudMachineStubList (IProgress * * aProgress) { return smth ReadCloudMachineStubList (aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO_OBJ(obj) COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO_BASE(base) COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_AddCloudMachine_TO(smth) HRESULT STDMETHODCALLTYPE AddCloudMachine (BSTR aInstanceId, ICloudMachine * * aMachine, IProgress * * aProgress) { return smth AddCloudMachine (aInstanceId, aMachine, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_AddCloudMachine_TO_OBJ(obj) COM_FORWARD_ICloudClient_AddCloudMachine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_AddCloudMachine_TO_BASE(base) COM_FORWARD_ICloudClient_AddCloudMachine_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_CreateCloudMachine_TO(smth) HRESULT STDMETHODCALLTYPE CreateCloudMachine (IVirtualSystemDescription * aDescription, ICloudMachine * * aMachine, IProgress * * aProgress) { return smth CreateCloudMachine (aDescription, aMachine, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_CreateCloudMachine_TO_OBJ(obj) COM_FORWARD_ICloudClient_CreateCloudMachine_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_CreateCloudMachine_TO_BASE(base) COM_FORWARD_ICloudClient_CreateCloudMachine_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ListInstances_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListInstances_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ListInstances_TO_BASE(base) COM_FORWARD_ICloudClient_ListInstances_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_ListSourceInstances_TO(smth) HRESULT STDMETHODCALLTYPE ListSourceInstances (IStringArray * * aReturnNames, IStringArray * * aReturnIds, IProgress * * aProgress) { return smth ListSourceInstances (aReturnNames, aReturnIds, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ListSourceInstances_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListSourceInstances_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ListSourceInstances_TO_BASE(base) COM_FORWARD_ICloudClient_ListSourceInstances_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ListImages_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListImages_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ListImages_TO_BASE(base) COM_FORWARD_ICloudClient_ListImages_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_ListBootVolumes_TO(smth) HRESULT STDMETHODCALLTYPE ListBootVolumes (IStringArray * * aReturnNames, IStringArray * * aReturnIds, IProgress * * aProgress) { return smth ListBootVolumes (aReturnNames, aReturnIds, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ListBootVolumes_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListBootVolumes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ListBootVolumes_TO_BASE(base) COM_FORWARD_ICloudClient_ListBootVolumes_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO(smth) HRESULT STDMETHODCALLTYPE ListSourceBootVolumes (IStringArray * * aReturnNames, IStringArray * * aReturnIds, IProgress * * aProgress) { return smth ListSourceBootVolumes (aReturnNames, aReturnIds, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO_BASE(base) COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ListVnicAttachments_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListVnicAttachments_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ListVnicAttachments_TO_BASE(base) COM_FORWARD_ICloudClient_ListVnicAttachments_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetInstanceInfo_TO(smth) HRESULT STDMETHODCALLTYPE GetInstanceInfo (BSTR aUid, IVirtualSystemDescription * aDescription, IProgress * * aProgress) { return smth GetInstanceInfo (aUid, aDescription, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GetInstanceInfo_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetInstanceInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetInstanceInfo_TO_BASE(base) COM_FORWARD_ICloudClient_GetInstanceInfo_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_StartInstance_TO(smth) HRESULT STDMETHODCALLTYPE StartInstance (BSTR aUid, IProgress * * aProgress) { return smth StartInstance (aUid, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_StartInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_StartInstance_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_StartInstance_TO_BASE(base) COM_FORWARD_ICloudClient_StartInstance_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_PauseInstance_TO(smth) HRESULT STDMETHODCALLTYPE PauseInstance (BSTR aUid, IProgress * * aProgress) { return smth PauseInstance (aUid, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_PauseInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_PauseInstance_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_PauseInstance_TO_BASE(base) COM_FORWARD_ICloudClient_PauseInstance_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_TerminateInstance_TO(smth) HRESULT STDMETHODCALLTYPE TerminateInstance (BSTR aUid, IProgress * * aProgress) { return smth TerminateInstance (aUid, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_TerminateInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_TerminateInstance_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_TerminateInstance_TO_BASE(base) COM_FORWARD_ICloudClient_TerminateInstance_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_ResetInstance_TO(smth) HRESULT STDMETHODCALLTYPE ResetInstance (BSTR aUid, IProgress * * aProgress) { return smth ResetInstance (aUid, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ResetInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_ResetInstance_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ResetInstance_TO_BASE(base) COM_FORWARD_ICloudClient_ResetInstance_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_ICloudClient_CloneInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_CloneInstance_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_CloneInstance_TO_BASE(base) COM_FORWARD_ICloudClient_CloneInstance_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_CreateImage_TO(smth) HRESULT STDMETHODCALLTYPE CreateImage (SAFEARRAY * * aParameters, IProgress * * aProgress) { return smth CreateImage (aParameters, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_CreateImage_TO_OBJ(obj) COM_FORWARD_ICloudClient_CreateImage_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_CreateImage_TO_BASE(base) COM_FORWARD_ICloudClient_CreateImage_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_ExportImage_TO(smth) HRESULT STDMETHODCALLTYPE ExportImage (IMedium * aImage, SAFEARRAY * * aParameters, IProgress * * aProgress) { return smth ExportImage (aImage, aParameters, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ExportImage_TO_OBJ(obj) COM_FORWARD_ICloudClient_ExportImage_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ExportImage_TO_BASE(base) COM_FORWARD_ICloudClient_ExportImage_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_ImportImage_TO(smth) HRESULT STDMETHODCALLTYPE ImportImage (BSTR aUid, SAFEARRAY * * aParameters, IProgress * * aProgress) { return smth ImportImage (aUid, aParameters, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_ImportImage_TO_OBJ(obj) COM_FORWARD_ICloudClient_ImportImage_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_ImportImage_TO_BASE(base) COM_FORWARD_ICloudClient_ImportImage_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_DeleteImage_TO(smth) HRESULT STDMETHODCALLTYPE DeleteImage (BSTR aUid, IProgress * * aProgress) { return smth DeleteImage (aUid, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_DeleteImage_TO_OBJ(obj) COM_FORWARD_ICloudClient_DeleteImage_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_DeleteImage_TO_BASE(base) COM_FORWARD_ICloudClient_DeleteImage_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetImageInfo_TO(smth) HRESULT STDMETHODCALLTYPE GetImageInfo (BSTR aUid, IStringArray * * aInfoArray, IProgress * * aProgress) { return smth GetImageInfo (aUid, aInfoArray, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GetImageInfo_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetImageInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetImageInfo_TO_BASE(base) COM_FORWARD_ICloudClient_GetImageInfo_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_ICloudClient_StartCloudNetworkGateway_TO_OBJ(obj) COM_FORWARD_ICloudClient_StartCloudNetworkGateway_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_StartCloudNetworkGateway_TO_BASE(base) COM_FORWARD_ICloudClient_StartCloudNetworkGateway_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_ICloudClient_SetupCloudNetworkEnvironment_TO_OBJ(obj) COM_FORWARD_ICloudClient_SetupCloudNetworkEnvironment_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_SetupCloudNetworkEnvironment_TO_BASE(base) COM_FORWARD_ICloudClient_SetupCloudNetworkEnvironment_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetVnicInfo_TO(smth) HRESULT STDMETHODCALLTYPE GetVnicInfo (BSTR aUid, IStringArray * * aInfoArray, IProgress * * aProgress) { return smth GetVnicInfo (aUid, aInfoArray, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GetVnicInfo_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetVnicInfo_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetVnicInfo_TO_BASE(base) COM_FORWARD_ICloudClient_GetVnicInfo_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO(smth) HRESULT STDMETHODCALLTYPE GetSubnetSelectionForm (IVirtualSystemDescription * aDescription, IVirtualSystemDescriptionForm * * aForm, IProgress * * aProgress) { return smth GetSubnetSelectionForm (aDescription, aForm, aProgress); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO_BASE(base) COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetMetricTypeByName_TO(smth) HRESULT STDMETHODCALLTYPE GetMetricTypeByName (BSTR aMetricName, MetricType * aMetricType) { return smth GetMetricTypeByName (aMetricName, aMetricType); }")
cpp_quote("#define COM_FORWARD_ICloudClient_GetMetricTypeByName_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetMetricTypeByName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_GetMetricTypeByName_TO_BASE(base) COM_FORWARD_ICloudClient_GetMetricTypeByName_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ICloudClient_TO_OBJ(obj) COM_FORWARD_ICloudClient_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudClient_TO_BASE(base) COM_FORWARD_ICloudClient_TO (base::)")

[
    uuid(b1d978b8-f7b7-4b05-900e-2a9253c00f51),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudProfile : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);
    [propput] HRESULT Name ([in] BSTR aName);

    [propget] HRESULT ProviderId ([out, retval] BSTR * aProviderId);

    [propget] HRESULT InternalAndReservedAttribute1ICloudProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ICloudProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ICloudProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ICloudProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ICloudProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ICloudProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ICloudProfile ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ICloudProfile ([out, retval] ULONG *aReserved);

    HRESULT GetProperty (
        [in] BSTR aName,
        [out, retval] BSTR * aValue
    );

    HRESULT SetProperty (
        [in] BSTR aName,
        [in] BSTR aValue
    );

    HRESULT GetProperties (
        [in] BSTR aNames,
        [out] SAFEARRAY(BSTR) * aReturnNames,
        [out, retval] SAFEARRAY(BSTR) * aReturnValues
    );

    HRESULT SetProperties (
        [in] SAFEARRAY(BSTR) aNames,
        [in] SAFEARRAY(BSTR) aValues
    );

    HRESULT Remove();

    HRESULT CreateCloudClient (
        [out, retval] ICloudClient * * aCloudClient
    );

    HRESULT InternalAndReservedMethod1ICloudProfile();

    HRESULT InternalAndReservedMethod2ICloudProfile();

    HRESULT InternalAndReservedMethod3ICloudProfile();

    HRESULT InternalAndReservedMethod4ICloudProfile();

}; /* interface ICloudProfile */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudProfile_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_ICloudProfile_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudProfile_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfile_GETTER_Name_TO_BASE(base) COM_FORWARD_ICloudProfile_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfile_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }")
cpp_quote("#define COM_FORWARD_ICloudProfile_SETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudProfile_SETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfile_SETTER_Name_TO_BASE(base) COM_FORWARD_ICloudProfile_SETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProviderId (BSTR * aProviderId) { return smth get_ProviderId (aProviderId); }")
cpp_quote("#define COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO_OBJ(obj) COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO_BASE(base) COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfile_GetProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetProperty (BSTR aName, BSTR * aValue) { return smth GetProperty (aName, aValue); }")
cpp_quote("#define COM_FORWARD_ICloudProfile_GetProperty_TO_OBJ(obj) COM_FORWARD_ICloudProfile_GetProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfile_GetProperty_TO_BASE(base) COM_FORWARD_ICloudProfile_GetProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfile_SetProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetProperty (BSTR aName, BSTR aValue) { return smth SetProperty (aName, aValue); }")
cpp_quote("#define COM_FORWARD_ICloudProfile_SetProperty_TO_OBJ(obj) COM_FORWARD_ICloudProfile_SetProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfile_SetProperty_TO_BASE(base) COM_FORWARD_ICloudProfile_SetProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfile_GetProperties_TO(smth) HRESULT STDMETHODCALLTYPE GetProperties (BSTR aNames, SAFEARRAY * * aReturnNames, SAFEARRAY * * aReturnValues) { return smth GetProperties (aNames, aReturnNames, aReturnValues); }")
cpp_quote("#define COM_FORWARD_ICloudProfile_GetProperties_TO_OBJ(obj) COM_FORWARD_ICloudProfile_GetProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfile_GetProperties_TO_BASE(base) COM_FORWARD_ICloudProfile_GetProperties_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfile_SetProperties_TO(smth) HRESULT STDMETHODCALLTYPE SetProperties (SAFEARRAY * * aNames, SAFEARRAY * * aValues) { return smth SetProperties (aNames, aValues); }")
cpp_quote("#define COM_FORWARD_ICloudProfile_SetProperties_TO_OBJ(obj) COM_FORWARD_ICloudProfile_SetProperties_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfile_SetProperties_TO_BASE(base) COM_FORWARD_ICloudProfile_SetProperties_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfile_Remove_TO(smth) HRESULT STDMETHODCALLTYPE Remove() { return smth Remove(); }")
cpp_quote("#define COM_FORWARD_ICloudProfile_Remove_TO_OBJ(obj) COM_FORWARD_ICloudProfile_Remove_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfile_Remove_TO_BASE(base) COM_FORWARD_ICloudProfile_Remove_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfile_CreateCloudClient_TO(smth) HRESULT STDMETHODCALLTYPE CreateCloudClient (ICloudClient * * aCloudClient) { return smth CreateCloudClient (aCloudClient); }")
cpp_quote("#define COM_FORWARD_ICloudProfile_CreateCloudClient_TO_OBJ(obj) COM_FORWARD_ICloudProfile_CreateCloudClient_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfile_CreateCloudClient_TO_BASE(base) COM_FORWARD_ICloudProfile_CreateCloudClient_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ICloudProfile_TO_OBJ(obj) COM_FORWARD_ICloudProfile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfile_TO_BASE(base) COM_FORWARD_ICloudProfile_TO (base::)")

[
    uuid(22363cfc-07da-41ec-ac4a-3dd99db35594),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudProvider : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT ShortName ([out, retval] BSTR * aShortName);

    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Profiles ([out, retval] SAFEARRAY(ICloudProfile *) * aProfiles);

    [propget] HRESULT ProfileNames ([out, retval] SAFEARRAY(BSTR) * aProfileNames);

    [propget] HRESULT SupportedPropertyNames ([out, retval] SAFEARRAY(BSTR) * aSupportedPropertyNames);

    [propget] HRESULT InternalAndReservedAttribute1ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute9ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute10ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute11ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute12ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute13ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute14ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute15ICloudProvider ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute16ICloudProvider ([out, retval] ULONG *aReserved);

    HRESULT GetPropertyDescription (
        [in] BSTR aName,
        [out, retval] BSTR * aDescription
    );

    HRESULT CreateProfile (
        [in] BSTR aProfileName,
        [in] SAFEARRAY(BSTR) aNames,
        [in] SAFEARRAY(BSTR) aValues
    );

    HRESULT ImportProfiles();

    HRESULT RestoreProfiles();

    HRESULT SaveProfiles();

    HRESULT GetProfileByName (
        [in] BSTR aProfileName,
        [out, retval] ICloudProfile * * aProfile
    );

    HRESULT PrepareUninstall();

    HRESULT InternalAndReservedMethod1ICloudProvider();

    HRESULT InternalAndReservedMethod2ICloudProvider();

    HRESULT InternalAndReservedMethod3ICloudProvider();

    HRESULT InternalAndReservedMethod4ICloudProvider();

    HRESULT InternalAndReservedMethod5ICloudProvider();

    HRESULT InternalAndReservedMethod6ICloudProvider();

    HRESULT InternalAndReservedMethod7ICloudProvider();

    HRESULT InternalAndReservedMethod8ICloudProvider();

}; /* interface ICloudProvider */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_Name_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_ShortName_TO(smth) HRESULT STDMETHODCALLTYPE get_ShortName (BSTR * aShortName) { return smth get_ShortName (aShortName); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_ShortName_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_ShortName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_ShortName_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_ShortName_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_Id_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_Id_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_Profiles_TO(smth) HRESULT STDMETHODCALLTYPE get_Profiles (SAFEARRAY * * aProfiles) { return smth get_Profiles (aProfiles); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_Profiles_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_Profiles_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_Profiles_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_Profiles_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO(smth) HRESULT STDMETHODCALLTYPE get_ProfileNames (SAFEARRAY * * aProfileNames) { return smth get_ProfileNames (aProfileNames); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedPropertyNames (SAFEARRAY * * aSupportedPropertyNames) { return smth get_SupportedPropertyNames (aSupportedPropertyNames); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GetPropertyDescription_TO(smth) HRESULT STDMETHODCALLTYPE GetPropertyDescription (BSTR aName, BSTR * aDescription) { return smth GetPropertyDescription (aName, aDescription); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_GetPropertyDescription_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GetPropertyDescription_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GetPropertyDescription_TO_BASE(base) COM_FORWARD_ICloudProvider_GetPropertyDescription_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_CreateProfile_TO(smth) HRESULT STDMETHODCALLTYPE CreateProfile (BSTR aProfileName, SAFEARRAY * * aNames, SAFEARRAY * * aValues) { return smth CreateProfile (aProfileName, aNames, aValues); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_CreateProfile_TO_OBJ(obj) COM_FORWARD_ICloudProvider_CreateProfile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_CreateProfile_TO_BASE(base) COM_FORWARD_ICloudProvider_CreateProfile_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_ImportProfiles_TO(smth) HRESULT STDMETHODCALLTYPE ImportProfiles() { return smth ImportProfiles(); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_ImportProfiles_TO_OBJ(obj) COM_FORWARD_ICloudProvider_ImportProfiles_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_ImportProfiles_TO_BASE(base) COM_FORWARD_ICloudProvider_ImportProfiles_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_RestoreProfiles_TO(smth) HRESULT STDMETHODCALLTYPE RestoreProfiles() { return smth RestoreProfiles(); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_RestoreProfiles_TO_OBJ(obj) COM_FORWARD_ICloudProvider_RestoreProfiles_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_RestoreProfiles_TO_BASE(base) COM_FORWARD_ICloudProvider_RestoreProfiles_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_SaveProfiles_TO(smth) HRESULT STDMETHODCALLTYPE SaveProfiles() { return smth SaveProfiles(); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_SaveProfiles_TO_OBJ(obj) COM_FORWARD_ICloudProvider_SaveProfiles_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_SaveProfiles_TO_BASE(base) COM_FORWARD_ICloudProvider_SaveProfiles_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GetProfileByName_TO(smth) HRESULT STDMETHODCALLTYPE GetProfileByName (BSTR aProfileName, ICloudProfile * * aProfile) { return smth GetProfileByName (aProfileName, aProfile); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_GetProfileByName_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GetProfileByName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_GetProfileByName_TO_BASE(base) COM_FORWARD_ICloudProvider_GetProfileByName_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProvider_PrepareUninstall_TO(smth) HRESULT STDMETHODCALLTYPE PrepareUninstall() { return smth PrepareUninstall(); }")
cpp_quote("#define COM_FORWARD_ICloudProvider_PrepareUninstall_TO_OBJ(obj) COM_FORWARD_ICloudProvider_PrepareUninstall_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_PrepareUninstall_TO_BASE(base) COM_FORWARD_ICloudProvider_PrepareUninstall_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ICloudProvider_TO_OBJ(obj) COM_FORWARD_ICloudProvider_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProvider_TO_BASE(base) COM_FORWARD_ICloudProvider_TO (base::)")

[
    uuid(9128800f-762e-4120-871c-a2014234a607),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudProviderManager : IDispatch
{
    [propget] HRESULT Providers ([out, retval] SAFEARRAY(ICloudProvider *) * aProviders);

    [propget] HRESULT InternalAndReservedAttribute1ICloudProviderManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute2ICloudProviderManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute3ICloudProviderManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute4ICloudProviderManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute5ICloudProviderManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute6ICloudProviderManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute7ICloudProviderManager ([out, retval] ULONG *aReserved);

    [propget] HRESULT InternalAndReservedAttribute8ICloudProviderManager ([out, retval] ULONG *aReserved);

    HRESULT GetProviderById (
        [in] BSTR aProviderId,
        [out, retval] ICloudProvider * * aProvider
    );

    HRESULT GetProviderByShortName (
        [in] BSTR aProviderName,
        [out, retval] ICloudProvider * * aProvider
    );

    HRESULT GetProviderByName (
        [in] BSTR aProviderName,
        [out, retval] ICloudProvider * * aProvider
    );

    HRESULT InternalAndReservedMethod1ICloudProviderManager();

    HRESULT InternalAndReservedMethod2ICloudProviderManager();

    HRESULT InternalAndReservedMethod3ICloudProviderManager();

    HRESULT InternalAndReservedMethod4ICloudProviderManager();

}; /* interface ICloudProviderManager */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO(smth) HRESULT STDMETHODCALLTYPE get_Providers (SAFEARRAY * * aProviders) { return smth get_Providers (aProviders); }")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO_OBJ(obj) COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO_BASE(base) COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GetProviderById_TO(smth) HRESULT STDMETHODCALLTYPE GetProviderById (BSTR aProviderId, ICloudProvider * * aProvider) { return smth GetProviderById (aProviderId, aProvider); }")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GetProviderById_TO_OBJ(obj) COM_FORWARD_ICloudProviderManager_GetProviderById_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GetProviderById_TO_BASE(base) COM_FORWARD_ICloudProviderManager_GetProviderById_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO(smth) HRESULT STDMETHODCALLTYPE GetProviderByShortName (BSTR aProviderName, ICloudProvider * * aProvider) { return smth GetProviderByShortName (aProviderName, aProvider); }")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO_OBJ(obj) COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO_BASE(base) COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GetProviderByName_TO(smth) HRESULT STDMETHODCALLTYPE GetProviderByName (BSTR aProviderName, ICloudProvider * * aProvider) { return smth GetProviderByName (aProviderName, aProvider); }")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GetProviderByName_TO_OBJ(obj) COM_FORWARD_ICloudProviderManager_GetProviderByName_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_GetProviderByName_TO_BASE(base) COM_FORWARD_ICloudProviderManager_GetProviderByName_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_TO_OBJ(obj) COM_FORWARD_ICloudProviderManager_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderManager_TO_BASE(base) COM_FORWARD_ICloudProviderManager_TO (base::)")

[
    uuid(a54d9cca-f23f-11ea-9755-efd0f1f792d9),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudProviderListChangedEvent : IEvent
{
    [propget] HRESULT Registered ([out, retval] BOOL * aRegistered);

}; /* interface ICloudProviderListChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }")
cpp_quote("#define COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProviderListChangedEvent_TO(smth) COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO (smth) ")
cpp_quote("#define COM_FORWARD_ICloudProviderListChangedEvent_TO_OBJ(obj) COM_FORWARD_ICloudProviderListChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderListChangedEvent_TO_BASE(base) COM_FORWARD_ICloudProviderListChangedEvent_TO (base::)")

[
    uuid(e28e227a-f231-11ea-9641-9b500c6d5365),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudProviderRegisteredEvent : IEvent
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Registered ([out, retval] BOOL * aRegistered);

}; /* interface ICloudProviderRegisteredEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO_OBJ(obj) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO_BASE(base) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }")
cpp_quote("#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProviderRegisteredEvent_TO(smth) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO (smth) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO (smth) ")
cpp_quote("#define COM_FORWARD_ICloudProviderRegisteredEvent_TO_OBJ(obj) COM_FORWARD_ICloudProviderRegisteredEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderRegisteredEvent_TO_BASE(base) COM_FORWARD_ICloudProviderRegisteredEvent_TO (base::)")

[
    uuid(f01f1066-f231-11ea-8eee-33bb2afb0b6e),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudProviderUninstallEvent : IEvent
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

}; /* interface ICloudProviderUninstallEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }")
cpp_quote("#define COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO_OBJ(obj) COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO_BASE(base) COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProviderUninstallEvent_TO(smth) COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO (smth) ")
cpp_quote("#define COM_FORWARD_ICloudProviderUninstallEvent_TO_OBJ(obj) COM_FORWARD_ICloudProviderUninstallEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProviderUninstallEvent_TO_BASE(base) COM_FORWARD_ICloudProviderUninstallEvent_TO (base::)")

[
    uuid(6a5e65ba-eeb9-11ea-ae38-73242bc0f172),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudProfileRegisteredEvent : IEvent
{
    [propget] HRESULT ProviderId ([out, retval] BSTR * aProviderId);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Registered ([out, retval] BOOL * aRegistered);

}; /* interface ICloudProfileRegisteredEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProviderId (BSTR * aProviderId) { return smth get_ProviderId (aProviderId); }")
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO_OBJ(obj) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO_BASE(base) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }")
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO (base::)")
cpp_quote("#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) ")
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_TO_OBJ(obj) COM_FORWARD_ICloudProfileRegisteredEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfileRegisteredEvent_TO_BASE(base) COM_FORWARD_ICloudProfileRegisteredEvent_TO (base::)")

[
    uuid(83795a4c-fce1-11ea-8a17-636028ae0be2),
    object,
    dual,
    oleautomation
    , proxy
]
interface ICloudProfileChangedEvent : IEvent
{
    [propget] HRESULT ProviderId ([out, retval] BSTR * aProviderId);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

}; /* interface ICloudProfileChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProviderId (BSTR * aProviderId) { return smth get_ProviderId (aProviderId); }")
cpp_quote("#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO_OBJ(obj) COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO_BASE(base) COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_ICloudProfileChangedEvent_TO(smth) COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO (smth) COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO (smth) ")
cpp_quote("#define COM_FORWARD_ICloudProfileChangedEvent_TO_OBJ(obj) COM_FORWARD_ICloudProfileChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ICloudProfileChangedEvent_TO_BASE(base) COM_FORWARD_ICloudProfileChangedEvent_TO (base::)")

[
    uuid(28935887-782b-4c94-8410-ce557b9cfe44),
    object,
    dual,
    oleautomation
    , proxy
]
interface ILanguageChangedEvent : IEvent
{
    [propget] HRESULT LanguageId ([out, retval] BSTR * aLanguageId);

}; /* interface ILanguageChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO(smth) HRESULT STDMETHODCALLTYPE get_LanguageId (BSTR * aLanguageId) { return smth get_LanguageId (aLanguageId); }")
cpp_quote("#define COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO_OBJ(obj) COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO_BASE(base) COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO (base::)")
cpp_quote("#define COM_FORWARD_ILanguageChangedEvent_TO(smth) COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO (smth) ")
cpp_quote("#define COM_FORWARD_ILanguageChangedEvent_TO_OBJ(obj) COM_FORWARD_ILanguageChangedEvent_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ILanguageChangedEvent_TO_BASE(base) COM_FORWARD_ILanguageChangedEvent_TO (base::)")

[
    uuid(9e106366-4521-44cc-df95-186e4d057c83),
    object,

    oleautomation
    , proxy
]
interface IVBoxSVCRegistration : IUnknown
{
    HRESULT GetVirtualBox (
        [out, retval] IUnknown * * aResult
    );

}; /* interface IVBoxSVCRegistration */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO(smth) HRESULT STDMETHODCALLTYPE GetVirtualBox (IUnknown * * aResult) { return smth GetVirtualBox (aResult); }")
cpp_quote("#define COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO_OBJ(obj) COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO_BASE(base) COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO (base::)")
cpp_quote("#define COM_FORWARD_IVBoxSVCRegistration_TO(smth) COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO (smth) ")
cpp_quote("#define COM_FORWARD_IVBoxSVCRegistration_TO_OBJ(obj) COM_FORWARD_IVBoxSVCRegistration_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVBoxSVCRegistration_TO_BASE(base) COM_FORWARD_IVBoxSVCRegistration_TO (base::)")

[
    uuid(890ed3dc-cc19-43fa-8ebf-baecb6b9ec87),
    object,

    oleautomation
    , proxy
]
interface IVirtualBoxSDS : IUnknown
{
    HRESULT RegisterVBoxSVC (
        [in] IVBoxSVCRegistration * aVboxSVC,
        [in] LONG aPid,
        [out, retval] IUnknown * * aExistingVirtualBox
    );

    HRESULT DeregisterVBoxSVC (
        [in] IVBoxSVCRegistration * aVboxSVC,
        [in] LONG aPid
    );

    HRESULT LaunchVMProcess (
        [in] BSTR aMachine,
        [in] BSTR aComment,
        [in] BSTR aFrontend,
        [in] SAFEARRAY(BSTR) aEnvironmentChanges,
        [in] BSTR aCmdOptions,
        [in] ULONG aSessionId,
        [out, retval] ULONG * aPid
    );

}; /* interface IVirtualBoxSDS */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO(smth) HRESULT STDMETHODCALLTYPE RegisterVBoxSVC (IVBoxSVCRegistration * aVboxSVC, LONG aPid, IUnknown * * aExistingVirtualBox) { return smth RegisterVBoxSVC (aVboxSVC, aPid, aExistingVirtualBox); }")
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO_OBJ(obj) COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO_BASE(base) COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO (base::)")
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO(smth) HRESULT STDMETHODCALLTYPE DeregisterVBoxSVC (IVBoxSVCRegistration * aVboxSVC, LONG aPid) { return smth DeregisterVBoxSVC (aVboxSVC, aPid); }")
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO_OBJ(obj) COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO_BASE(base) COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO (base::)")
cpp_quote("#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); }")
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO_OBJ(obj) COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO_BASE(base) COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO (base::)")
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_TO(smth) COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO (smth) COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO (smth) COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO (smth) ")
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_TO_OBJ(obj) COM_FORWARD_IVirtualBoxSDS_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBoxSDS_TO_BASE(base) COM_FORWARD_IVirtualBoxSDS_TO (base::)")



[
    uuid(d7569351-1750-46f0-936e-bd127d5bc264),
    version(1.3),
    helpstring("VirtualBox Type Library")
]
library VirtualBox
{

importlib("stdole2.tlb");

cpp_quote("#define VBOX_E_OBJECT_NOT_FOUND ((HRESULT)0x80BB0001)")
cpp_quote("#define VBOX_E_INVALID_VM_STATE ((HRESULT)0x80BB0002)")
cpp_quote("#define VBOX_E_VM_ERROR ((HRESULT)0x80BB0003)")
cpp_quote("#define VBOX_E_FILE_ERROR ((HRESULT)0x80BB0004)")
cpp_quote("#define VBOX_E_IPRT_ERROR ((HRESULT)0x80BB0005)")
cpp_quote("#define VBOX_E_PDM_ERROR ((HRESULT)0x80BB0006)")
cpp_quote("#define VBOX_E_INVALID_OBJECT_STATE ((HRESULT)0x80BB0007)")
cpp_quote("#define VBOX_E_HOST_ERROR ((HRESULT)0x80BB0008)")
cpp_quote("#define VBOX_E_NOT_SUPPORTED ((HRESULT)0x80BB0009)")
cpp_quote("#define VBOX_E_XML_ERROR ((HRESULT)0x80BB000A)")
cpp_quote("#define VBOX_E_INVALID_SESSION_STATE ((HRESULT)0x80BB000B)")
cpp_quote("#define VBOX_E_OBJECT_IN_USE ((HRESULT)0x80BB000C)")
cpp_quote("#define VBOX_E_PASSWORD_INCORRECT ((HRESULT)0x80BB000D)")
cpp_quote("#define VBOX_E_MAXIMUM_REACHED ((HRESULT)0x80BB000E)")
cpp_quote("#define VBOX_E_GSTCTL_GUEST_ERROR ((HRESULT)0x80BB000F)")
cpp_quote("#define VBOX_E_TIMEOUT ((HRESULT)0x80BB0010)")
cpp_quote("#define VBOX_E_DND_ERROR ((HRESULT)0x80BB0011)")
cpp_quote("#define VBOX_E_PLATFORM_ARCH_NOT_SUPPORTED ((HRESULT)0x80BB0012)")
cpp_quote("#define VBOX_E_RECORDING_ERROR ((HRESULT)0x80BB0013)")


interface IVirtualBoxErrorInfo;
interface INATNetwork;
interface ICloudNetwork;
interface IHostOnlyNetwork;
interface IDHCPServer;
interface IDHCPConfig;
interface IDHCPGlobalConfig;
interface IDHCPGroupCondition;
interface IDHCPGroupConfig;
interface IDHCPIndividualConfig;
interface IVirtualBox;
interface IVFSExplorer;
interface ICertificate;
interface IAppliance;
interface IVirtualSystemDescription;
interface IUnattended;
interface IInternalMachineControl;
interface IGraphicsAdapter;
interface IFirmwareSettings;
interface ITrustedPlatformModule;
interface IRecordingScreenSettings;
interface IRecordingSettings;
interface IPCIAddress;
interface IPCIDeviceAttachment;
interface IUefiVariableStore;
interface INvramStore;
interface IResourceStore;
interface IPlatform;
interface IPlatformX86;
interface IPlatformARM;
interface IMachine;
interface IEmulatedUSB;
interface IVRDEServerInfo;
interface IConsole;
interface IHostNetworkInterface;
interface IHostVideoInputDevice;
interface IUpdateAgent;
interface IHostUpdateAgent;
interface IHostDrivePartition;
interface IHostDrive;
interface IHostX86;
interface IHost;
interface ICPUProfile;
interface IPlatformProperties;
interface ISystemProperties;
interface IGuestOSType;
interface IAdditionsFacility;
interface IDnDBase;
interface IDnDSource;
interface IGuestDnDSource;
interface IDnDTarget;
interface IGuestDnDTarget;
interface IGuestSession;
interface IProcess;
interface IGuestProcess;
interface IDirectory;
interface IGuestDirectory;
interface IFile;
interface IGuestFile;
interface IFsInfo;
interface IFsObjInfo;
interface IGuestFsInfo;
interface IGuestFsObjInfo;
interface IGuest;
interface IProgress;
interface IInternalProgressControl;
interface ISnapshot;
interface IMediumAttachment;
interface IMedium;
interface IMediumFormat;
interface IDataStream;
interface IMediumIO;
interface IToken;
interface IKeyboard;
interface IMousePointerShape;
interface IMouse;
interface IDisplaySourceBitmap;
interface IFramebuffer;
interface IFramebufferOverlay;
interface IGuestScreenInfo;
interface IDisplay;
interface INetworkAdapter;
interface ISerialPort;
interface IParallelPort;
interface IMachineDebugger;
interface IUSBDeviceFilters;
interface IUSBController;
interface IUSBDevice;
interface IUSBDeviceFilter;
interface IHostUSBDevice;
interface IHostUSBDeviceFilter;
interface IUSBProxyBackend;
interface IAudioAdapter;
interface IHostAudioDevice;
interface IAudioSettings;
interface IVRDEServer;
interface ISharedFolder;
interface IInternalSessionControl;
interface ISession;
interface IStorageController;
interface IPerformanceMetric;
interface IPerformanceCollector;
interface INATEngine;
interface IExtPackPlugIn;
interface IExtPackBase;
interface IExtPack;
interface IExtPackFile;
interface IExtPackManager;
interface IBandwidthGroup;
interface IBandwidthControl;
interface IGuestDebugControl;
interface IVirtualBoxClient;
interface IEventSource;
interface IEventListener;
interface IEvent;
interface IReusableEvent;
interface IMachineEvent;
interface IMachineStateChangedEvent;
interface IExtPackInstalledEvent;
interface IExtPackUninstalledEvent;
interface IMachineDataChangedEvent;
interface IMediumRegisteredEvent;
interface IMediumConfigChangedEvent;
interface IMachineRegisteredEvent;
interface ISessionStateChangedEvent;
interface IGuestPropertyChangedEvent;
interface ISnapshotEvent;
interface ISnapshotTakenEvent;
interface ISnapshotDeletedEvent;
interface ISnapshotRestoredEvent;
interface ISnapshotChangedEvent;
interface IMousePointerShapeChangedEvent;
interface IMouseCapabilityChangedEvent;
interface IKeyboardLedsChangedEvent;
interface IStateChangedEvent;
interface IAdditionsStateChangedEvent;
interface INetworkAdapterChangedEvent;
interface IAudioAdapterChangedEvent;
interface ISerialPortChangedEvent;
interface IParallelPortChangedEvent;
interface IStorageControllerChangedEvent;
interface IMediumChangedEvent;
interface IClipboardModeChangedEvent;
interface IClipboardFileTransferModeChangedEvent;
interface IClipboardEvent;
interface IClipboardErrorEvent;
interface IDnDModeChangedEvent;
interface ICPUChangedEvent;
interface ICPUExecutionCapChangedEvent;
interface IGuestKeyboardEvent;
interface IGuestMouseEvent;
interface IGuestMultiTouchEvent;
interface IGuestSessionEvent;
interface IGuestSessionStateChangedEvent;
interface IGuestSessionRegisteredEvent;
interface IGuestProcessEvent;
interface IGuestProcessRegisteredEvent;
interface IGuestProcessStateChangedEvent;
interface IGuestProcessIOEvent;
interface IGuestProcessInputNotifyEvent;
interface IGuestProcessOutputEvent;
interface IGuestDirectoryEvent;
interface IGuestDirectoryRegisteredEvent;
interface IGuestDirectoryStateChangedEvent;
interface IGuestDirectoryReadEvent;
interface IGuestFileEvent;
interface IGuestFileRegisteredEvent;
interface IGuestFileStateChangedEvent;
interface IGuestFileIOEvent;
interface IGuestFileOffsetChangedEvent;
interface IGuestFileSizeChangedEvent;
interface IGuestFileReadEvent;
interface IGuestFileWriteEvent;
interface IVRDEServerChangedEvent;
interface IVRDEServerInfoChangedEvent;
interface IRecordingStateChangedEvent;
interface IRecordingScreenStateChangedEvent;
interface IUSBControllerChangedEvent;
interface IUSBDeviceStateChangedEvent;
interface ISharedFolderChangedEvent;
interface IRuntimeErrorEvent;
interface IEventSourceChangedEvent;
interface IExtraDataChangedEvent;
interface IVetoEvent;
interface IExtraDataCanChangeEvent;
interface ICanShowWindowEvent;
interface IShowWindowEvent;
interface INATRedirectEvent;
interface IHostAudioDeviceChangedEvent;
interface IHostPCIDevicePlugEvent;
interface IVBoxSVCAvailabilityChangedEvent;
interface IBandwidthGroupChangedEvent;
interface IGuestMonitorChangedEvent;
interface IGuestUserStateChangedEvent;
interface IStorageDeviceChangedEvent;
interface INATNetworkChangedEvent;
interface INATNetworkStartStopEvent;
interface INATNetworkAlterEvent;
interface INATNetworkCreationDeletionEvent;
interface INATNetworkSettingEvent;
interface INATNetworkPortForwardEvent;
interface IHostNameResolutionConfigurationChangeEvent;
interface IProgressEvent;
interface IProgressCreatedEvent;
interface IProgressPercentageChangedEvent;
interface IProgressTaskCompletedEvent;
interface ICursorPositionChangedEvent;
interface IGuestAdditionsStatusChangedEvent;
interface IGuestMonitorInfoChangedEvent;
interface IUpdateAgentEvent;
interface IUpdateAgentSettingsChangedEvent;
interface IUpdateAgentErrorEvent;
interface IUpdateAgentAvailableEvent;
interface IUpdateAgentStateChangedEvent;
interface IGuestDebugControlChangedEvent;
interface IMachineGroupsChangedEvent;
interface IStringArray;
interface IFormValue;
interface IBooleanFormValue;
interface IRangedIntegerFormValue;
interface IRangedInteger64FormValue;
interface IStringFormValue;
interface IChoiceFormValue;
interface IForm;
interface IVirtualSystemDescriptionForm;
interface ICloudNetworkGatewayInfo;
interface ICloudNetworkEnvironmentInfo;
interface ICloudMachine;
interface ICloudClient;
interface ICloudProfile;
interface ICloudProvider;
interface ICloudProviderManager;
interface ICloudProviderListChangedEvent;
interface ICloudProviderRegisteredEvent;
interface ICloudProviderUninstallEvent;
interface ICloudProfileRegisteredEvent;
interface ICloudProfileChangedEvent;
interface ILanguageChangedEvent;
interface IVBoxSVCRegistration;
interface IVirtualBoxSDS;
enum SettingsVersion;

enum AccessMode;

enum MachineState;

enum SessionState;

enum PlatformArchitecture;

enum CPUArchitecture;

enum CPUPropertyTypeX86;

enum CPUPropertyTypeARM;

enum HWVirtExPropertyType;

enum ParavirtProvider;

enum LockType;

enum SessionType;

enum DeviceType;

enum DeviceActivity;

enum ClipboardMode;

enum DnDMode;

enum Scope;

enum FirmwareBootMenuMode;

enum APICMode;

enum ProcessorFeature;

enum FirmwareType;

enum PointingHIDType;

enum KeyboardHIDType;

enum BitmapFormat;

enum PartitioningType;

enum PartitionType;

enum TrackedObjectState;

enum DHCPOption;

enum DHCPOptionEncoding;

enum DHCPConfigScope;

enum DHCPGroupConditionType;

enum VFSType;

enum ImportOptions;

enum ExportOptions;

enum CertificateVersion;

enum VirtualSystemDescriptionType;

enum VirtualSystemDescriptionValueType;

enum TpmType;

enum RecordingDestination;

enum RecordingFeature;

enum RecordingAudioCodec;

enum RecordingCodecDeadline;

enum RecordingVideoCodec;

enum RecordingVideoScalingMode;

enum RecordingRateControlMode;

enum RecordingState;

enum SignatureType;

enum UefiVariableAttributes;

enum GraphicsControllerType;

enum GraphicsFeature;

enum CleanupMode;

enum CloneMode;

enum CloneOptions;

enum AutostopType;

enum VMProcPriority;

enum IommuType;

enum VMExecutionEngine;

enum HostNetworkInterfaceMediumType;

enum HostNetworkInterfaceStatus;

enum HostNetworkInterfaceType;

enum UpdateChannel;

enum UpdateSeverity;

enum UpdateState;

enum ProxyMode;

enum AdditionsFacilityType;

enum AdditionsFacilityClass;

enum AdditionsFacilityStatus;

enum AdditionsRunLevelType;

enum AdditionsUpdateFlag;

enum GuestShutdownFlag;

enum GuestSessionStatus;

enum GuestSessionWaitForFlag;

enum GuestSessionWaitResult;

enum GuestUserState;

enum FileSeekOrigin;

enum ProcessInputFlag;

enum ProcessOutputFlag;

enum ProcessWaitForFlag;

enum ProcessWaitResult;

enum FileCopyFlag;

enum FsObjMoveFlag;

enum DirectoryCreateFlag;

enum DirectoryCopyFlag;

enum DirectoryRemoveRecFlag;

enum FsObjRenameFlag;

enum ProcessCreateFlag;

enum ProcessPriority;

enum SymlinkType;

enum SymlinkReadFlag;

enum ProcessStatus;

enum ProcessInputStatus;

enum PathStyle;

enum DirectoryStatus;

enum FileAccessMode;

enum FileOpenAction;

enum FileSharingMode;

enum FileOpenExFlag;

enum FileStatus;

enum FsObjType;

enum DnDAction;

enum DirectoryOpenFlag;

enum MediumState;

enum MediumType;

enum MediumVariant;

enum DataType;

enum DataFlags;

enum MediumFormatCapabilities;

enum PartitionTableType;

enum KeyboardLED;

enum MouseButtonState;

enum TouchContactState;

enum FramebufferCapabilities;

enum GuestMonitorStatus;

enum ScreenLayoutMode;

enum NetworkAttachmentType;

enum NetworkAdapterType;

enum NetworkAdapterPromiscModePolicy;

enum PortMode;

enum UartType;

enum USBControllerType;

enum USBConnectionSpeed;

enum USBDeviceState;

enum USBDeviceFilterAction;

enum AudioDriverType;

enum AudioControllerType;

enum AudioCodecType;

enum AudioDirection;

enum AudioDeviceType;

enum AudioDeviceState;

enum AuthType;

enum Reason;

enum StorageBus;

enum StorageControllerType;

enum ChipsetType;

enum NATAliasMode;

enum NATProtocol;

enum BandwidthGroupType;

enum GuestDebugProvider;

enum GuestDebugIoProvider;

enum VBoxEventType;

enum GuestMouseEventMode;

enum GuestMonitorChangedEventType;

enum FormValueType;

enum CloudMachineState;

enum CloudImageState;

enum MetricType;

enum SymlinkPolicy;

[
    uuid(B1A7A4F2-47B9-4A1E-82B2-07CCD5323C3F)
]
coclass VirtualBox
{
    [default] interface IVirtualBox;

}; /* coclass VirtualBox */

[
    uuid(dd3fc71d-26c0-4fe1-bf6f-67f633265bba)
]
coclass VirtualBoxClient
{
    [default] interface IVirtualBoxClient;

}; /* coclass VirtualBoxClient */

[
    uuid(3C02F46D-C9D2-4F11-A384-53F0CF917214)
]
coclass Session
{
    [default] interface ISession;

}; /* coclass Session */

[
    uuid(74ab5ffe-8726-4435-aa7e-876d705bcba5)
]
coclass VirtualBoxSDS
{
    [default] interface IVirtualBoxSDS;

}; /* coclass VirtualBoxSDS */

}; /* library VirtualBox */

