
/*
 *  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
 */
  
import "unknwn.idl";

cpp_quote("enum {")

cpp_quote("    kTypeLibraryMajorVersion = 1,")

cpp_quote("    kTypeLibraryMinorVersion = 0")

cpp_quote("};")

[
    uuid(46137EEC-703B-4fe5-AFD4-7C9BBBBA0259),
    version(1.3),
    helpstring("VirtualBox Type Library")
]
library VirtualBox
{

importlib("stdole2.tlb");

cpp_quote("#define VBOX_E_OBJECT_NOT_FOUND 0x80BB0001")
cpp_quote("#define VBOX_E_INVALID_VM_STATE 0x80BB0002")
cpp_quote("#define VBOX_E_VM_ERROR 0x80BB0003")
cpp_quote("#define VBOX_E_FILE_ERROR 0x80BB0004")
cpp_quote("#define VBOX_E_IPRT_ERROR 0x80BB0005")
cpp_quote("#define VBOX_E_PDM_ERROR 0x80BB0006")
cpp_quote("#define VBOX_E_INVALID_OBJECT_STATE 0x80BB0007")
cpp_quote("#define VBOX_E_HOST_ERROR 0x80BB0008")
cpp_quote("#define VBOX_E_NOT_SUPPORTED 0x80BB0009")
cpp_quote("#define VBOX_E_XML_ERROR 0x80BB000A")
cpp_quote("#define VBOX_E_INVALID_SESSION_STATE 0x80BB000B")
cpp_quote("#define VBOX_E_OBJECT_IN_USE 0x80BB000C")

interface IVirtualBoxErrorInfo;
interface IDHCPServer;
interface IVirtualBox;
interface IVFSExplorer;
interface IAppliance;
interface IVirtualSystemDescription;
interface IInternalMachineControl;
interface IBIOSSettings;
interface IPciAddress;
interface IPciDeviceAttachment;
interface IMachine;
interface IVRDEServerInfo;
interface IConsole;
interface IHostNetworkInterface;
interface IHost;
interface ISystemProperties;
interface IGuestOSType;
interface IAdditionsFacility;
interface IGuestDirEntry;
interface IGuest;
interface IProgress;
interface ISnapshot;
interface IMediumAttachment;
interface IMedium;
interface IMediumFormat;
interface IKeyboard;
interface IMouse;
interface IFramebuffer;
interface IFramebufferOverlay;
interface IDisplay;
interface INetworkAdapter;
interface ISerialPort;
interface IParallelPort;
interface IMachineDebugger;
interface IUSBController;
interface IUSBDevice;
interface IUSBDeviceFilter;
interface IHostUSBDevice;
interface IHostUSBDeviceFilter;
interface IAudioAdapter;
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 IVirtualBoxClient;
interface IEventSource;
interface IEventListener;
interface IEvent;
interface IReusableEvent;
interface IMachineEvent;
interface IMachineStateChangedEvent;
interface IMachineDataChangedEvent;
interface IMediumRegisteredEvent;
interface IMachineRegisteredEvent;
interface ISessionStateChangedEvent;
interface IGuestPropertyChangedEvent;
interface ISnapshotEvent;
interface ISnapshotTakenEvent;
interface ISnapshotDeletedEvent;
interface ISnapshotChangedEvent;
interface IMousePointerShapeChangedEvent;
interface IMouseCapabilityChangedEvent;
interface IKeyboardLedsChangedEvent;
interface IStateChangedEvent;
interface IAdditionsStateChangedEvent;
interface INetworkAdapterChangedEvent;
interface ISerialPortChangedEvent;
interface IParallelPortChangedEvent;
interface IStorageControllerChangedEvent;
interface IMediumChangedEvent;
interface ICPUChangedEvent;
interface ICPUExecutionCapChangedEvent;
interface IGuestKeyboardEvent;
interface IGuestMouseEvent;
interface IVRDEServerChangedEvent;
interface IVRDEServerInfoChangedEvent;
interface IUSBControllerChangedEvent;
interface IUSBDeviceStateChangedEvent;
interface ISharedFolderChangedEvent;
interface IRuntimeErrorEvent;
interface IEventSourceChangedEvent;
interface IExtraDataChangedEvent;
interface IVetoEvent;
interface IExtraDataCanChangeEvent;
interface ICanShowWindowEvent;
interface IShowWindowEvent;
interface INATRedirectEvent;
interface IHostPciDevicePlugEvent;
interface IVBoxSVCAvailabilityChangedEvent;
interface IBandwidthGroupChangedEvent;
interface IGuestMonitorChangedEvent;
interface IStorageDeviceChangedEvent;

[
    uuid(52bd6f5f-1adb-4493-975d-581a9c4b803f),
    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_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(ec6c6a9e-113d-4ff4-b44f-0b69f21c97fe),
    v1_enum
]
typedef enum 
{
    MachineState_Null = 0,
    MachineState_PoweredOff = 1,
    MachineState_Saved = 2,
    MachineState_Teleported = 3,
    MachineState_Aborted = 4,
    MachineState_Running = 5,
    MachineState_Paused = 6,
    MachineState_Stuck = 7,
    MachineState_Teleporting = 8,
    MachineState_LiveSnapshotting = 9,
    MachineState_Starting = 10,
    MachineState_Stopping = 11,
    MachineState_Saving = 12,
    MachineState_Restoring = 13,
    MachineState_TeleportingPausedVM = 14,
    MachineState_TeleportingIn = 15,
    MachineState_FaultTolerantSyncing = 16,
    MachineState_DeletingSnapshotOnline = 17,
    MachineState_DeletingSnapshotPaused = 18,
    MachineState_RestoringSnapshot = 19,
    MachineState_DeletingSnapshot = 20,
    MachineState_SettingUp = 21,
    MachineState_FirstOnline = 5,
    MachineState_LastOnline = 18,
    MachineState_FirstTransient = 8,
    MachineState_LastTransient = 21
} 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(24d356a6-2f45-4abd-b977-1cbe9c4701f5),
    v1_enum
]
typedef enum 
{
    CPUPropertyType_Null = 0,
    CPUPropertyType_PAE = 1,
    CPUPropertyType_Synthetic = 2
} CPUPropertyType;

/* cross-platform type name for CPUPropertyType */
cpp_quote("#define CPUPropertyType_T CPUPropertyType")



[
    uuid(ce81dfdd-d2b8-4a90-bbea-40ee8b7ffcee),
    v1_enum
]
typedef enum 
{
    HWVirtExPropertyType_Null = 0,
    HWVirtExPropertyType_Enabled = 1,
    HWVirtExPropertyType_Exclusive = 2,
    HWVirtExPropertyType_VPID = 3,
    HWVirtExPropertyType_NestedPaging = 4,
    HWVirtExPropertyType_LargePages = 5,
    HWVirtExPropertyType_Force = 6
} HWVirtExPropertyType;

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



[
    uuid(5124f7ec-6b67-493c-9dee-ee45a44114e1),
    v1_enum
]
typedef enum 
{
    FaultToleranceState_Inactive = 1,
    FaultToleranceState_Master = 2,
    FaultToleranceState_Standby = 3
} FaultToleranceState;

/* cross-platform type name for FaultToleranceState */
cpp_quote("#define FaultToleranceState_T FaultToleranceState")



[
    uuid(138b53f8-db4b-47c5-b32b-4ef52f769413),
    v1_enum
]
typedef enum 
{
    LockType_Write = 2,
    LockType_Shared = 1
} 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(6d9420f7-0b56-4636-99f9-7346f1b01e57),
    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;

/* 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(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(ae4fb9f7-29d2-45b4-b2c7-d579603135d5),
    v1_enum
]
typedef enum 
{
    BIOSBootMenuMode_Disabled = 0,
    BIOSBootMenuMode_MenuOnly = 1,
    BIOSBootMenuMode_MessageAndMenu = 2
} BIOSBootMenuMode;

/* cross-platform type name for BIOSBootMenuMode */
cpp_quote("#define BIOSBootMenuMode_T BIOSBootMenuMode")



[
    uuid(64c38e6b-8bcf-45ad-ac03-9b406287c5bf),
    v1_enum
]
typedef enum 
{
    ProcessorFeature_HWVirtEx = 0,
    ProcessorFeature_PAE = 1,
    ProcessorFeature_LongMode = 2,
    ProcessorFeature_NestedPaging = 3
} 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(0d3c17a2-821a-4b2e-ae41-890c6c60aa97),
    v1_enum
]
typedef enum 
{
    PointingHidType_None = 1,
    PointingHidType_PS2Mouse = 2,
    PointingHidType_USBMouse = 3,
    PointingHidType_USBTablet = 4,
    PointingHidType_ComboMouse = 5
} PointingHidType;

/* cross-platform type name for PointingHidType */
cpp_quote("#define PointingHidType_T PointingHidType")



[
    uuid(5a5b0996-3a3e-44bb-9019-56979812cbcc),
    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(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(714333cd-44e2-415f-a245-d378fa9b1242),
    v1_enum
]
typedef enum 
{
    VFSFileType_Unknown = 1,
    VFSFileType_Fifo = 2,
    VFSFileType_DevChar = 3,
    VFSFileType_Directory = 4,
    VFSFileType_DevBlock = 5,
    VFSFileType_File = 6,
    VFSFileType_SymLink = 7,
    VFSFileType_Socket = 8,
    VFSFileType_WhiteOut = 9
} VFSFileType;

/* cross-platform type name for VFSFileType */
cpp_quote("#define VFSFileType_T VFSFileType")



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

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



[
    uuid(303c0900-a746-4612-8c67-79003e91f459),
    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;

/* 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(67897c50-7cca-47a9-83f6-ce8fd8eb5441),
    v1_enum
]
typedef enum 
{
    CleanupMode_UnregisterOnly = 1,
    CleanupMode_DetachAllReturnNone = 2,
    CleanupMode_DetachAllReturnHardDisksOnly = 3,
    CleanupMode_Full = 4
} 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;

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



[
    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_Bridged = 1,
    HostNetworkInterfaceType_HostOnly = 2
} HostNetworkInterfaceType;

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



[
    uuid(98f7f957-89fb-49b6-a3b1-31e3285eb1d8),
    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_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(286ceb91-5f66-4c96-9845-4483e90e00ae),
    v1_enum
]
typedef enum 
{
    ExecuteProcessFlag_None = 0,
    ExecuteProcessFlag_WaitForProcessStartOnly = 1,
    ExecuteProcessFlag_IgnoreOrphanedProcesses = 2,
    ExecuteProcessFlag_Hidden = 4,
    ExecuteProcessFlag_NoProfile = 8,
    ExecuteProcessFlag_WaitForStdOut = 16,
    ExecuteProcessFlag_WaitForStdErr = 32
} ExecuteProcessFlag;

/* cross-platform type name for ExecuteProcessFlag */
cpp_quote("#define ExecuteProcessFlag_T ExecuteProcessFlag")



[
    uuid(153768d9-d971-4098-8b5a-c5cb1ab9ea88),
    v1_enum
]
typedef enum 
{
    ExecuteProcessStatus_Undefined = 0,
    ExecuteProcessStatus_Started = 1,
    ExecuteProcessStatus_TerminatedNormally = 2,
    ExecuteProcessStatus_TerminatedSignal = 3,
    ExecuteProcessStatus_TerminatedAbnormally = 4,
    ExecuteProcessStatus_TimedOutKilled = 5,
    ExecuteProcessStatus_TimedOutAbnormally = 6,
    ExecuteProcessStatus_Down = 7,
    ExecuteProcessStatus_Error = 8
} ExecuteProcessStatus;

/* cross-platform type name for ExecuteProcessStatus */
cpp_quote("#define ExecuteProcessStatus_T ExecuteProcessStatus")



[
    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(23f79fdf-738a-493d-b80b-42d607c9b916),
    v1_enum
]
typedef enum 
{
    CopyFileFlag_None = 0,
    CopyFileFlag_Recursive = 1,
    CopyFileFlag_Update = 2,
    CopyFileFlag_FollowLinks = 4
} CopyFileFlag;

/* cross-platform type name for CopyFileFlag */
cpp_quote("#define CopyFileFlag_T CopyFileFlag")



[
    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(fc8f6203-0072-4f34-bd08-0b35e50bf071),
    v1_enum
]
typedef enum 
{
    DirectoryOpenFlag_None = 0
} DirectoryOpenFlag;

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



[
    uuid(6d19d924-1b77-4fc8-b369-a3b2c85c8241),
    v1_enum
]
typedef enum 
{
    GuestDirEntryType_Unknown = 0,
    GuestDirEntryType_Directory = 4,
    GuestDirEntryType_File = 10,
    GuestDirEntryType_Symlink = 12
} GuestDirEntryType;

/* cross-platform type name for GuestDirEntryType */
cpp_quote("#define GuestDirEntryType_T GuestDirEntryType")



[
    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(584ea502-143b-4ab0-ad14-d1028fdf0316),
    v1_enum
]
typedef enum 
{
    MediumVariant_Standard = 0,
    MediumVariant_VmdkSplit2G = 0x01,
    MediumVariant_VmdkStreamOptimized = 0x04,
    MediumVariant_VmdkESX = 0x08,
    MediumVariant_Fixed = 0x10000,
    MediumVariant_Diff = 0x20000,
    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_CapabilityMask = 0x3FF
} MediumFormatCapabilities;

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



[
    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(7acfd5ed-29e3-45e3-8136-73c9224f3d2d),
    v1_enum
]
typedef enum 
{
    FramebufferPixelFormat_Opaque = 0,
    FramebufferPixelFormat_FOURCC_RGB = 0x32424752
} FramebufferPixelFormat;

/* cross-platform type name for FramebufferPixelFormat */
cpp_quote("#define FramebufferPixelFormat_T FramebufferPixelFormat")



[
    uuid(2ac4bc71-6b82-417a-acd1-f7426d2570d6),
    v1_enum
]
typedef enum 
{
    NetworkAttachmentType_Null = 0,
    NetworkAttachmentType_NAT = 1,
    NetworkAttachmentType_Bridged = 2,
    NetworkAttachmentType_Internal = 3,
    NetworkAttachmentType_HostOnly = 4,
    NetworkAttachmentType_Generic = 5
} 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;

/* 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(533b5fe3-0185-4197-86a7-17e37dd39d76),
    v1_enum
]
typedef enum 
{
    PortMode_Disconnected = 0,
    PortMode_HostPipe = 1,
    PortMode_HostDevice = 2,
    PortMode_RawFile = 3
} PortMode;

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



[
    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(4bcc3d73-c2fe-40db-b72f-0c2ca9d68496),
    v1_enum
]
typedef enum 
{
    AudioDriverType_Null = 0,
    AudioDriverType_WinMM = 1,
    AudioDriverType_OSS = 2,
    AudioDriverType_ALSA = 3,
    AudioDriverType_DirectSound = 4,
    AudioDriverType_CoreAudio = 5,
    AudioDriverType_MMPM = 6,
    AudioDriverType_Pulse = 7,
    AudioDriverType_SolAudio = 8
} AudioDriverType;

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



[
    uuid(7afd395c-42c3-444e-8788-3ce80292f36c),
    v1_enum
]
typedef enum 
{
    AudioControllerType_AC97 = 0,
    AudioControllerType_SB16 = 1,
    AudioControllerType_HDA = 2
} AudioControllerType;

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



[
    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(eee67ab3-668d-4ef5-91e0-7025fe4a0d7a),
    v1_enum
]
typedef enum 
{
    StorageBus_Null = 0,
    StorageBus_IDE = 1,
    StorageBus_SATA = 2,
    StorageBus_SCSI = 3,
    StorageBus_Floppy = 4,
    StorageBus_SAS = 5
} StorageBus;

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



[
    uuid(8a412b8a-f43e-4456-bd37-b474f0879a58),
    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;

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



[
    uuid(8b4096a8-a7c3-4d3b-bbb1-05a0a51ec394),
    v1_enum
]
typedef enum 
{
    ChipsetType_Null = 0,
    ChipsetType_PIIX3 = 1,
    ChipsetType_ICH9 = 2
} 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(cce48db6-8561-479d-8d46-1358bab45d4e),
    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_Last = 72
} VBoxEventType;

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



[
    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(e053d3c0-f493-491b-a735-3a9f0b1feed4),
    object,
    dual,
    oleautomation
]
interface IVirtualBoxErrorInfo : IErrorInfo
{
    [propget] HRESULT ResultCode ([out, retval] LONG * aResultCode);

    [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_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_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(6cfe387c-74fb-4ca7-bff6-973bec8af7a3),
    object,
    dual,
    oleautomation
]
interface IDHCPServer : IDispatch
{
    [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);

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

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

    HRESULT Stop();

}; /* interface IDHCPServer */

/* Interface implementation forwarder macro */
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_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 aNetworkName, BSTR aTrunkName, BSTR aTrunkType) { return smth Start (aNetworkName, 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_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_SetConfiguration_TO (smth) COM_FORWARD_IDHCPServer_Start_TO (smth) COM_FORWARD_IDHCPServer_Stop_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(c28be65f-1a8f-43b4-81f1-eb60cb516e66),
    object,
    dual,
    oleautomation
]
interface IVirtualBox : IDispatch
{
    [propget] HRESULT Version ([out, retval] BSTR * aVersion);

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

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

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

    [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 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 SharedFolders ([out, retval] SAFEARRAY(ISharedFolder *) * aSharedFolders);

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

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

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

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

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

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

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

    HRESULT CreateMachine (
        [in] BSTR aSettingsFile,
        [in] BSTR aName,
        [in] BSTR aOsTypeId,
        [in] BSTR aId,
        [in] BOOL aForceOverwrite,
        [out, retval] IMachine * * aMachine
    );

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

    HRESULT RegisterMachine (
        [in] IMachine * aMachine
    );

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

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

    HRESULT CreateHardDisk (
        [in] BSTR aFormat,
        [in] BSTR aLocation,
        [out, retval] IMedium * * aMedium
    );

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

    HRESULT FindMedium (
        [in] BSTR aLocation,
        [in] DeviceType aType,
        [out, retval] IMedium * * aMedium
    );

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

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

    HRESULT RemoveSharedFolder (
        [in] BSTR aName
    );

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

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

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

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

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

    HRESULT RemoveDHCPServer (
        [in] IDHCPServer * aServer
    );

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

}; /* 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_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_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_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_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_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_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_ComposeMachineFilename_TO(smth) HRESULT STDMETHODCALLTYPE ComposeMachineFilename (BSTR aName, BSTR aBaseFolder, BSTR * aFile) { return smth ComposeMachineFilename (aName, 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_CreateMachine_TO(smth) HRESULT STDMETHODCALLTYPE CreateMachine (BSTR aSettingsFile, BSTR aName, BSTR aOsTypeId, BSTR aId, BOOL aForceOverwrite, IMachine * * aMachine) { return smth CreateMachine (aSettingsFile, aName, aOsTypeId, aId, aForceOverwrite, 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, IMachine * * aMachine) { return smth OpenMachine (aSettingsFile, 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_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_CreateHardDisk_TO(smth) HRESULT STDMETHODCALLTYPE CreateHardDisk (BSTR aFormat, BSTR aLocation, IMedium * * aMedium) { return smth CreateHardDisk (aFormat, aLocation, aMedium); }")
cpp_quote("#define COM_FORWARD_IVirtualBox_CreateHardDisk_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CreateHardDisk_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBox_CreateHardDisk_TO_BASE(base) COM_FORWARD_IVirtualBox_CreateHardDisk_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_FindMedium_TO(smth) HRESULT STDMETHODCALLTYPE FindMedium (BSTR aLocation, DeviceType aType, IMedium * * aMedium) { return smth FindMedium (aLocation, aType, aMedium); }")
cpp_quote("#define COM_FORWARD_IVirtualBox_FindMedium_TO_OBJ(obj) COM_FORWARD_IVirtualBox_FindMedium_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IVirtualBox_FindMedium_TO_BASE(base) COM_FORWARD_IVirtualBox_FindMedium_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_CreateSharedFolder_TO(smth) HRESULT STDMETHODCALLTYPE CreateSharedFolder (BSTR aName, BSTR aHostPath, BOOL aWritable, BOOL aAutomount) { return smth CreateSharedFolder (aName, aHostPath, aWritable, aAutomount); }")
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 * * aValue) { return smth GetExtraDataKeys (aValue); }")
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_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_CheckFirmwarePresent_TO(smth) HRESULT STDMETHODCALLTYPE CheckFirmwarePresent (FirmwareType aFirmwareType, BSTR aVersion, BSTR * aUrl, BSTR * aFile, BOOL * aResult) { return smth CheckFirmwarePresent (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_TO(smth) COM_FORWARD_IVirtualBox_GETTER_Version_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_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_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_SharedFolders_TO (smth) COM_FORWARD_IVirtualBox_GETTER_PerformanceCollector_TO (smth) COM_FORWARD_IVirtualBox_GETTER_DHCPServers_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_GenericNetworkDrivers_TO (smth) COM_FORWARD_IVirtualBox_ComposeMachineFilename_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_CreateAppliance_TO (smth) COM_FORWARD_IVirtualBox_CreateHardDisk_TO (smth) COM_FORWARD_IVirtualBox_OpenMedium_TO (smth) COM_FORWARD_IVirtualBox_FindMedium_TO (smth) COM_FORWARD_IVirtualBox_GetGuestOSType_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_CreateDHCPServer_TO (smth) COM_FORWARD_IVirtualBox_FindDHCPServerByNetworkName_TO (smth) COM_FORWARD_IVirtualBox_RemoveDHCPServer_TO (smth) COM_FORWARD_IVirtualBox_CheckFirmwarePresent_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(003d7f92-d38e-487f-b790-8c5e8631cb2f),
    object,
    dual,
    oleautomation
]
interface IVFSExplorer : IDispatch
{
    [propget] HRESULT Path ([out, retval] BSTR * aPath);

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

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

    HRESULT Cd (
        [in] BSTR aADir,
        [out, retval] IProgress * * aAProgress
    );

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

    HRESULT EntryList (
        [out] SAFEARRAY(BSTR) * aANames,
        [out] SAFEARRAY(ULONG) * aATypes,
        [out] SAFEARRAY(ULONG) * aASizes,
        [out] SAFEARRAY(ULONG) * aAModes
    );

    HRESULT Exists (
        [in] SAFEARRAY(BSTR) aANames,
        [out, retval] SAFEARRAY(BSTR) * aAExists
    );

    HRESULT Remove (
        [in] SAFEARRAY(BSTR) aANames,
        [out, retval] IProgress * * aAProgress
    );

}; /* 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 * * aAProgress) { return smth Update (aAProgress); }")
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 aADir, IProgress * * aAProgress) { return smth Cd (aADir, aAProgress); }")
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 * * aAProgress) { return smth CdUp (aAProgress); }")
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 * * aANames, SAFEARRAY * * aATypes, SAFEARRAY * * aASizes, SAFEARRAY * * aAModes) { return smth EntryList (aANames, aATypes, aASizes, aAModes); }")
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 * * aANames, SAFEARRAY * * aAExists) { return smth Exists (aANames, aAExists); }")
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 * * aANames, IProgress * * aAProgress) { return smth Remove (aANames, aAProgress); }")
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(3059cf9e-25c7-4f0b-9fa5-3c42e441670b),
    object,
    dual,
    oleautomation
]
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);

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

    HRESULT Interpret();

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

    HRESULT CreateVFSExplorer (
        [in] BSTR aAUri,
        [out, retval] IVFSExplorer * * aAExplorer
    );

    HRESULT Write (
        [in] BSTR aFormat,
        [in] BOOL aManifest,
        [in] BSTR aPath,
        [out, retval] IProgress * * aProgress
    );

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

}; /* 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_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (BSTR aFile, IProgress * * aAProgress) { return smth Read (aFile, aAProgress); }")
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 * * aAProgress) { return smth ImportMachines (aOptions, aAProgress); }")
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 aAUri, IVFSExplorer * * aAExplorer) { return smth CreateVFSExplorer (aAUri, aAExplorer); }")
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, BOOL aManifest, BSTR aPath, IProgress * * aProgress) { return smth Write (aFormat, aManifest, 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 * * aAWarnings) { return smth GetWarnings (aAWarnings); }")
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_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_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) ")
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(d7525e6c-531a-4c51-8e04-41235083a3d8),
    object,
    dual,
    oleautomation
]
interface IVirtualSystemDescription : IDispatch
{
    [propget] HRESULT Count ([out, retval] ULONG * aCount);

    HRESULT GetDescription (
        [out] SAFEARRAY(VirtualSystemDescriptionType) * aATypes,
        [out] SAFEARRAY(BSTR) * aARefs,
        [out] SAFEARRAY(BSTR) * aAOvfValues,
        [out] SAFEARRAY(BSTR) * aAVBoxValues,
        [out] SAFEARRAY(BSTR) * aAExtraConfigValues
    );

    HRESULT GetDescriptionByType (
        [in] VirtualSystemDescriptionType aAType,
        [out] SAFEARRAY(VirtualSystemDescriptionType) * aATypes,
        [out] SAFEARRAY(BSTR) * aARefs,
        [out] SAFEARRAY(BSTR) * aAOvfValues,
        [out] SAFEARRAY(BSTR) * aAVBoxValues,
        [out] SAFEARRAY(BSTR) * aAExtraConfigValues
    );

    HRESULT GetValuesByType (
        [in] VirtualSystemDescriptionType aAType,
        [in] VirtualSystemDescriptionValueType aAWhich,
        [out, retval] SAFEARRAY(BSTR) * aAValues
    );

    HRESULT SetFinalValues (
        [in] SAFEARRAY(BOOL) aAEnabled,
        [in] SAFEARRAY(BSTR) aAVBoxValues,
        [in] SAFEARRAY(BSTR) aAExtraConfigValues
    );

    HRESULT AddDescription (
        [in] VirtualSystemDescriptionType aAType,
        [in] BSTR aAVBoxValue,
        [in] BSTR aAExtraConfigValue
    );

}; /* 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 * * aATypes, SAFEARRAY * * aARefs, SAFEARRAY * * aAOvfValues, SAFEARRAY * * aAVBoxValues, SAFEARRAY * * aAExtraConfigValues) { return smth GetDescription (aATypes, aARefs, aAOvfValues, aAVBoxValues, aAExtraConfigValues); }")
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 aAType, SAFEARRAY * * aATypes, SAFEARRAY * * aARefs, SAFEARRAY * * aAOvfValues, SAFEARRAY * * aAVBoxValues, SAFEARRAY * * aAExtraConfigValues) { return smth GetDescriptionByType (aAType, aATypes, aARefs, aAOvfValues, aAVBoxValues, aAExtraConfigValues); }")
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_GetValuesByType_TO(smth) HRESULT STDMETHODCALLTYPE GetValuesByType (VirtualSystemDescriptionType aAType, VirtualSystemDescriptionValueType aAWhich, SAFEARRAY * * aAValues) { return smth GetValuesByType (aAType, aAWhich, aAValues); }")
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 * * aAEnabled, SAFEARRAY * * aAVBoxValues, SAFEARRAY * * aAExtraConfigValues) { return smth SetFinalValues (aAEnabled, aAVBoxValues, aAExtraConfigValues); }")
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 aAType, BSTR aAVBoxValue, BSTR aAExtraConfigValue) { return smth AddDescription (aAType, aAVBoxValue, aAExtraConfigValue); }")
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_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(ec824977-e43f-479c-81c9-ac6cae1423a5),
    object,
    dual,
    oleautomation
]
interface IInternalMachineControl : IDispatch
{
    HRESULT SetRemoveSavedStateFile (
        [in] BOOL aARemove
    );

    HRESULT UpdateState (
        [in] MachineState aState
    );

    HRESULT GetIPCId (
        [out, retval] BSTR * aId
    );

    HRESULT BeginPowerUp (
        [in] IProgress * aAProgress
    );

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

    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 BeginSavingState (
        [out] IProgress * * aProgress,
        [out] BSTR * aStateFilePath
    );

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

    HRESULT AdoptSavedState (
        [in] BSTR aSavedStateFile
    );

    HRESULT BeginTakingSnapshot (
        [in] IConsole * aInitiator,
        [in] BSTR aName,
        [in] BSTR aDescription,
        [in] IProgress * aConsoleProgress,
        [in] BOOL aFTakingSnapshotOnline,
        [out] BSTR * aStateFilePath
    );

    HRESULT EndTakingSnapshot (
        [in] BOOL aSuccess
    );

    HRESULT DeleteSnapshot (
        [in] IConsole * aInitiator,
        [in] BSTR aStartId,
        [in] BSTR aEndId,
        [in] BOOL aDeleteAllChildren,
        [out] MachineState * aMachineState,
        [out, retval] IProgress * * aProgress
    );

    HRESULT FinishOnlineMergeMedium (
        [in] IMediumAttachment * aMediumAttachment,
        [in] IMedium * aSource,
        [in] IMedium * aTarget,
        [in] BOOL aMergeForward,
        [in] IMedium * aParentForTarget,
        [in] SAFEARRAY(IMedium *) aChildrenToReparent
    );

    HRESULT RestoreSnapshot (
        [in] IConsole * aInitiator,
        [in] ISnapshot * aSnapshot,
        [out] MachineState * aMachineState,
        [out, retval] IProgress * * aProgress
    );

    HRESULT PullGuestProperties (
        [out] SAFEARRAY(BSTR) * aName,
        [out] SAFEARRAY(BSTR) * aValue,
        [out] SAFEARRAY(LONG64) * aTimestamp,
        [out] SAFEARRAY(BSTR) * aFlags
    );

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

    HRESULT LockMedia();

    HRESULT UnlockMedia();

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

    HRESULT ReportGuestStatistics (
        [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
    );

}; /* interface IInternalMachineControl */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IInternalMachineControl_SetRemoveSavedStateFile_TO(smth) HRESULT STDMETHODCALLTYPE SetRemoveSavedStateFile (BOOL aARemove) { return smth SetRemoveSavedStateFile (aARemove); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_SetRemoveSavedStateFile_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_SetRemoveSavedStateFile_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_SetRemoveSavedStateFile_TO_BASE(base) COM_FORWARD_IInternalMachineControl_SetRemoveSavedStateFile_TO (base::)")
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_GetIPCId_TO(smth) HRESULT STDMETHODCALLTYPE GetIPCId (BSTR * aId) { return smth GetIPCId (aId); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_GetIPCId_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_GetIPCId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_GetIPCId_TO_BASE(base) COM_FORWARD_IInternalMachineControl_GetIPCId_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO(smth) HRESULT STDMETHODCALLTYPE BeginPowerUp (IProgress * aAProgress) { return smth BeginPowerUp (aAProgress); }")
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) { return smth CaptureUSBDevice (aId); }")
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_BeginSavingState_TO(smth) HRESULT STDMETHODCALLTYPE BeginSavingState (IProgress * * aProgress, BSTR * aStateFilePath) { return smth BeginSavingState (aProgress, aStateFilePath); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginSavingState_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_BeginSavingState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginSavingState_TO_BASE(base) COM_FORWARD_IInternalMachineControl_BeginSavingState_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndSavingState_TO(smth) HRESULT STDMETHODCALLTYPE EndSavingState (LONG aResult, BSTR aErrMsg) { return smth EndSavingState (aResult, aErrMsg); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndSavingState_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_EndSavingState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndSavingState_TO_BASE(base) COM_FORWARD_IInternalMachineControl_EndSavingState_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_AdoptSavedState_TO(smth) HRESULT STDMETHODCALLTYPE AdoptSavedState (BSTR aSavedStateFile) { return smth AdoptSavedState (aSavedStateFile); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_AdoptSavedState_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_AdoptSavedState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_AdoptSavedState_TO_BASE(base) COM_FORWARD_IInternalMachineControl_AdoptSavedState_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginTakingSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE BeginTakingSnapshot (IConsole * aInitiator, BSTR aName, BSTR aDescription, IProgress * aConsoleProgress, BOOL aFTakingSnapshotOnline, BSTR * aStateFilePath) { return smth BeginTakingSnapshot (aInitiator, aName, aDescription, aConsoleProgress, aFTakingSnapshotOnline, aStateFilePath); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginTakingSnapshot_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_BeginTakingSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_BeginTakingSnapshot_TO_BASE(base) COM_FORWARD_IInternalMachineControl_BeginTakingSnapshot_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndTakingSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE EndTakingSnapshot (BOOL aSuccess) { return smth EndTakingSnapshot (aSuccess); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndTakingSnapshot_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_EndTakingSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_EndTakingSnapshot_TO_BASE(base) COM_FORWARD_IInternalMachineControl_EndTakingSnapshot_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_DeleteSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE DeleteSnapshot (IConsole * aInitiator, BSTR aStartId, BSTR aEndId, BOOL aDeleteAllChildren, MachineState * aMachineState, IProgress * * aProgress) { return smth DeleteSnapshot (aInitiator, aStartId, aEndId, aDeleteAllChildren, aMachineState, aProgress); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_DeleteSnapshot_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_DeleteSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_DeleteSnapshot_TO_BASE(base) COM_FORWARD_IInternalMachineControl_DeleteSnapshot_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO(smth) HRESULT STDMETHODCALLTYPE FinishOnlineMergeMedium (IMediumAttachment * aMediumAttachment, IMedium * aSource, IMedium * aTarget, BOOL aMergeForward, IMedium * aParentForTarget, SAFEARRAY * * aChildrenToReparent) { return smth FinishOnlineMergeMedium (aMediumAttachment, aSource, aTarget, aMergeForward, aParentForTarget, aChildrenToReparent); }")
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_RestoreSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE RestoreSnapshot (IConsole * aInitiator, ISnapshot * aSnapshot, MachineState * aMachineState, IProgress * * aProgress) { return smth RestoreSnapshot (aInitiator, aSnapshot, aMachineState, aProgress); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_RestoreSnapshot_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_RestoreSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_RestoreSnapshot_TO_BASE(base) COM_FORWARD_IInternalMachineControl_RestoreSnapshot_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO(smth) HRESULT STDMETHODCALLTYPE PullGuestProperties (SAFEARRAY * * aName, SAFEARRAY * * aValue, SAFEARRAY * * aTimestamp, SAFEARRAY * * aFlags) { return smth PullGuestProperties (aName, aValue, aTimestamp, 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) { return smth PushGuestProperty (aName, aValue, aTimestamp, aFlags); }")
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_ReportGuestStatistics_TO(smth) HRESULT STDMETHODCALLTYPE ReportGuestStatistics (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) { return smth ReportGuestStatistics (aValidStats, aCpuUser, aCpuKernel, aCpuIdle, aMemTotal, aMemFree, aMemBalloon, aMemShared, aMemCache, aPagedTotal, aMemAllocTotal, aMemFreeTotal, aMemBalloonTotal, aMemSharedTotal); }")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_ReportGuestStatistics_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_ReportGuestStatistics_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_ReportGuestStatistics_TO_BASE(base) COM_FORWARD_IInternalMachineControl_ReportGuestStatistics_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalMachineControl_TO(smth) COM_FORWARD_IInternalMachineControl_SetRemoveSavedStateFile_TO (smth) COM_FORWARD_IInternalMachineControl_UpdateState_TO (smth) COM_FORWARD_IInternalMachineControl_GetIPCId_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_BeginSavingState_TO (smth) COM_FORWARD_IInternalMachineControl_EndSavingState_TO (smth) COM_FORWARD_IInternalMachineControl_AdoptSavedState_TO (smth) COM_FORWARD_IInternalMachineControl_BeginTakingSnapshot_TO (smth) COM_FORWARD_IInternalMachineControl_EndTakingSnapshot_TO (smth) COM_FORWARD_IInternalMachineControl_DeleteSnapshot_TO (smth) COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO (smth) COM_FORWARD_IInternalMachineControl_RestoreSnapshot_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_ReportGuestStatistics_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(38b54279-dc35-4f5e-a431-835b867c6b5e),
    object,
    dual,
    oleautomation
]
interface IBIOSSettings : IDispatch
{
    [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] BIOSBootMenuMode * aBootMenuMode);
    [propput] HRESULT BootMenuMode ([in] BIOSBootMenuMode 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 TimeOffset ([out, retval] LONG64 * aTimeOffset);
    [propput] HRESULT TimeOffset ([in] LONG64 aTimeOffset);

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

}; /* interface IBIOSSettings */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoFadeIn_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoFadeIn (BOOL * aLogoFadeIn) { return smth get_LogoFadeIn (aLogoFadeIn); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoFadeIn_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_GETTER_LogoFadeIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoFadeIn_TO_BASE(base) COM_FORWARD_IBIOSSettings_GETTER_LogoFadeIn_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoFadeIn_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoFadeIn (BOOL aLogoFadeIn) { return smth put_LogoFadeIn (aLogoFadeIn); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoFadeIn_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_SETTER_LogoFadeIn_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoFadeIn_TO_BASE(base) COM_FORWARD_IBIOSSettings_SETTER_LogoFadeIn_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoFadeOut_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoFadeOut (BOOL * aLogoFadeOut) { return smth get_LogoFadeOut (aLogoFadeOut); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoFadeOut_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_GETTER_LogoFadeOut_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoFadeOut_TO_BASE(base) COM_FORWARD_IBIOSSettings_GETTER_LogoFadeOut_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoFadeOut_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoFadeOut (BOOL aLogoFadeOut) { return smth put_LogoFadeOut (aLogoFadeOut); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoFadeOut_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_SETTER_LogoFadeOut_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoFadeOut_TO_BASE(base) COM_FORWARD_IBIOSSettings_SETTER_LogoFadeOut_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoDisplayTime_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoDisplayTime (ULONG * aLogoDisplayTime) { return smth get_LogoDisplayTime (aLogoDisplayTime); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoDisplayTime_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_GETTER_LogoDisplayTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoDisplayTime_TO_BASE(base) COM_FORWARD_IBIOSSettings_GETTER_LogoDisplayTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoDisplayTime_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoDisplayTime (ULONG aLogoDisplayTime) { return smth put_LogoDisplayTime (aLogoDisplayTime); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoDisplayTime_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_SETTER_LogoDisplayTime_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoDisplayTime_TO_BASE(base) COM_FORWARD_IBIOSSettings_SETTER_LogoDisplayTime_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoImagePath_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoImagePath (BSTR * aLogoImagePath) { return smth get_LogoImagePath (aLogoImagePath); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoImagePath_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_GETTER_LogoImagePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_LogoImagePath_TO_BASE(base) COM_FORWARD_IBIOSSettings_GETTER_LogoImagePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoImagePath_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoImagePath (BSTR aLogoImagePath) { return smth put_LogoImagePath (aLogoImagePath); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoImagePath_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_SETTER_LogoImagePath_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_LogoImagePath_TO_BASE(base) COM_FORWARD_IBIOSSettings_SETTER_LogoImagePath_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_BootMenuMode_TO(smth) HRESULT STDMETHODCALLTYPE get_BootMenuMode (BIOSBootMenuMode * aBootMenuMode) { return smth get_BootMenuMode (aBootMenuMode); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_BootMenuMode_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_GETTER_BootMenuMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_BootMenuMode_TO_BASE(base) COM_FORWARD_IBIOSSettings_GETTER_BootMenuMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_BootMenuMode_TO(smth) HRESULT STDMETHODCALLTYPE put_BootMenuMode (BIOSBootMenuMode aBootMenuMode) { return smth put_BootMenuMode (aBootMenuMode); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_BootMenuMode_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_SETTER_BootMenuMode_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_BootMenuMode_TO_BASE(base) COM_FORWARD_IBIOSSettings_SETTER_BootMenuMode_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_ACPIEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_ACPIEnabled (BOOL * aACPIEnabled) { return smth get_ACPIEnabled (aACPIEnabled); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_ACPIEnabled_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_GETTER_ACPIEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_ACPIEnabled_TO_BASE(base) COM_FORWARD_IBIOSSettings_GETTER_ACPIEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_ACPIEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_ACPIEnabled (BOOL aACPIEnabled) { return smth put_ACPIEnabled (aACPIEnabled); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_ACPIEnabled_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_SETTER_ACPIEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_ACPIEnabled_TO_BASE(base) COM_FORWARD_IBIOSSettings_SETTER_ACPIEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_IOAPICEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_IOAPICEnabled (BOOL * aIOAPICEnabled) { return smth get_IOAPICEnabled (aIOAPICEnabled); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_IOAPICEnabled_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_GETTER_IOAPICEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_IOAPICEnabled_TO_BASE(base) COM_FORWARD_IBIOSSettings_GETTER_IOAPICEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_IOAPICEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_IOAPICEnabled (BOOL aIOAPICEnabled) { return smth put_IOAPICEnabled (aIOAPICEnabled); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_IOAPICEnabled_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_SETTER_IOAPICEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_IOAPICEnabled_TO_BASE(base) COM_FORWARD_IBIOSSettings_SETTER_IOAPICEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_TimeOffset_TO(smth) HRESULT STDMETHODCALLTYPE get_TimeOffset (LONG64 * aTimeOffset) { return smth get_TimeOffset (aTimeOffset); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_TimeOffset_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_GETTER_TimeOffset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_TimeOffset_TO_BASE(base) COM_FORWARD_IBIOSSettings_GETTER_TimeOffset_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_TimeOffset_TO(smth) HRESULT STDMETHODCALLTYPE put_TimeOffset (LONG64 aTimeOffset) { return smth put_TimeOffset (aTimeOffset); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_TimeOffset_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_SETTER_TimeOffset_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_TimeOffset_TO_BASE(base) COM_FORWARD_IBIOSSettings_SETTER_TimeOffset_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_PXEDebugEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_PXEDebugEnabled (BOOL * aPXEDebugEnabled) { return smth get_PXEDebugEnabled (aPXEDebugEnabled); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_PXEDebugEnabled_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_GETTER_PXEDebugEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_GETTER_PXEDebugEnabled_TO_BASE(base) COM_FORWARD_IBIOSSettings_GETTER_PXEDebugEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_PXEDebugEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_PXEDebugEnabled (BOOL aPXEDebugEnabled) { return smth put_PXEDebugEnabled (aPXEDebugEnabled); }")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_PXEDebugEnabled_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_SETTER_PXEDebugEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_SETTER_PXEDebugEnabled_TO_BASE(base) COM_FORWARD_IBIOSSettings_SETTER_PXEDebugEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_TO(smth) COM_FORWARD_IBIOSSettings_GETTER_LogoFadeIn_TO (smth) COM_FORWARD_IBIOSSettings_SETTER_LogoFadeIn_TO (smth) COM_FORWARD_IBIOSSettings_GETTER_LogoFadeOut_TO (smth) COM_FORWARD_IBIOSSettings_SETTER_LogoFadeOut_TO (smth) COM_FORWARD_IBIOSSettings_GETTER_LogoDisplayTime_TO (smth) COM_FORWARD_IBIOSSettings_SETTER_LogoDisplayTime_TO (smth) COM_FORWARD_IBIOSSettings_GETTER_LogoImagePath_TO (smth) COM_FORWARD_IBIOSSettings_SETTER_LogoImagePath_TO (smth) COM_FORWARD_IBIOSSettings_GETTER_BootMenuMode_TO (smth) COM_FORWARD_IBIOSSettings_SETTER_BootMenuMode_TO (smth) COM_FORWARD_IBIOSSettings_GETTER_ACPIEnabled_TO (smth) COM_FORWARD_IBIOSSettings_SETTER_ACPIEnabled_TO (smth) COM_FORWARD_IBIOSSettings_GETTER_IOAPICEnabled_TO (smth) COM_FORWARD_IBIOSSettings_SETTER_IOAPICEnabled_TO (smth) COM_FORWARD_IBIOSSettings_GETTER_TimeOffset_TO (smth) COM_FORWARD_IBIOSSettings_SETTER_TimeOffset_TO (smth) COM_FORWARD_IBIOSSettings_GETTER_PXEDebugEnabled_TO (smth) COM_FORWARD_IBIOSSettings_SETTER_PXEDebugEnabled_TO (smth) ")
cpp_quote("#define COM_FORWARD_IBIOSSettings_TO_OBJ(obj) COM_FORWARD_IBIOSSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBIOSSettings_TO_BASE(base) COM_FORWARD_IBIOSSettings_TO (base::)")

[
    uuid(D88B324F-DB19-4D3B-A1A9-BF5B127199A8),
    object,
    dual,
    oleautomation
]
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
]
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(5eaa9319-62fc-4b0a-843c-0cb1940f8a91),
    object,
    dual,
    oleautomation
]
interface IMachine : IDispatch
{
    [propget] HRESULT Parent ([out, retval] IVirtualBox * * aParent);

    [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 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 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 VRAMSize ([out, retval] ULONG * aVRAMSize);
    [propput] HRESULT VRAMSize ([in] ULONG aVRAMSize);

    [propget] HRESULT Accelerate3DEnabled ([out, retval] BOOL * aAccelerate3DEnabled);
    [propput] HRESULT Accelerate3DEnabled ([in] BOOL aAccelerate3DEnabled);

    [propget] HRESULT Accelerate2DVideoEnabled ([out, retval] BOOL * aAccelerate2DVideoEnabled);
    [propput] HRESULT Accelerate2DVideoEnabled ([in] BOOL aAccelerate2DVideoEnabled);

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

    [propget] HRESULT BIOSSettings ([out, retval] IBIOSSettings * * aBIOSSettings);

    [propget] HRESULT FirmwareType ([out, retval] FirmwareType * aFirmwareType);
    [propput] HRESULT FirmwareType ([in] FirmwareType aFirmwareType);

    [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 HpetEnabled ([out, retval] BOOL * aHpetEnabled);
    [propput] HRESULT HpetEnabled ([in] BOOL aHpetEnabled);

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

    [propget] HRESULT SnapshotFolder ([out, retval] BSTR * aSnapshotFolder);
    [propput] HRESULT SnapshotFolder ([in] BSTR aSnapshotFolder);

    [propget] HRESULT VRDEServer ([out, retval] IVRDEServer * * aVRDEServer);

    [propget] HRESULT EmulatedUSBWebcameraEnabled ([out, retval] BOOL * aEmulatedUSBWebcameraEnabled);
    [propput] HRESULT EmulatedUSBWebcameraEnabled ([in] BOOL aEmulatedUSBWebcameraEnabled);

    [propget] HRESULT EmulatedUSBCardReaderEnabled ([out, retval] BOOL * aEmulatedUSBCardReaderEnabled);
    [propput] HRESULT EmulatedUSBCardReaderEnabled ([in] BOOL aEmulatedUSBCardReaderEnabled);

    [propget] HRESULT MediumAttachments ([out, retval] SAFEARRAY(IMediumAttachment *) * aMediumAttachments);

    [propget] HRESULT USBController ([out, retval] IUSBController * * aUSBController);

    [propget] HRESULT AudioAdapter ([out, retval] IAudioAdapter * * aAudioAdapter);

    [propget] HRESULT StorageControllers ([out, retval] SAFEARRAY(IStorageController *) * aStorageControllers);

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

    [propget] HRESULT SettingsModified ([out, retval] BOOL * aSettingsModified);

    [propget] HRESULT SessionState ([out, retval] SessionState * aSessionState);

    [propget] HRESULT SessionType ([out, retval] BSTR * aSessionType);

    [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 GuestPropertyNotificationPatterns ([out, retval] BSTR * aGuestPropertyNotificationPatterns);
    [propput] HRESULT GuestPropertyNotificationPatterns ([in] BSTR aGuestPropertyNotificationPatterns);

    [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 FaultToleranceState ([out, retval] FaultToleranceState * aFaultToleranceState);
    [propput] HRESULT FaultToleranceState ([in] FaultToleranceState aFaultToleranceState);

    [propget] HRESULT FaultTolerancePort ([out, retval] ULONG * aFaultTolerancePort);
    [propput] HRESULT FaultTolerancePort ([in] ULONG aFaultTolerancePort);

    [propget] HRESULT FaultToleranceAddress ([out, retval] BSTR * aFaultToleranceAddress);
    [propput] HRESULT FaultToleranceAddress ([in] BSTR aFaultToleranceAddress);

    [propget] HRESULT FaultTolerancePassword ([out, retval] BSTR * aFaultTolerancePassword);
    [propput] HRESULT FaultTolerancePassword ([in] BSTR aFaultTolerancePassword);

    [propget] HRESULT FaultToleranceSyncInterval ([out, retval] ULONG * aFaultToleranceSyncInterval);
    [propput] HRESULT FaultToleranceSyncInterval ([in] ULONG aFaultToleranceSyncInterval);

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

    [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 BandwidthControl ([out, retval] IBandwidthControl * * aBandwidthControl);

    [propget] HRESULT PciDeviceAssignments ([out, retval] SAFEARRAY(IPciDeviceAttachment *) * aPciDeviceAssignments);

    HRESULT LockMachine (
        [in] ISession * aSession,
        [in] LockType aLockType
    );

    HRESULT LaunchVMProcess (
        [in] ISession * aSession,
        [in] BSTR aType,
        [in] BSTR aEnvironment,
        [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 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 SetBandwidthGroupForDevice (
        [in] BSTR aName,
        [in] LONG aControllerPort,
        [in] LONG aDevice,
        [in] IBandwidthGroup * aBandwidthGroup
    );

    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] ULONG aInstance,
        [out, retval] IStorageController * * aStorageController
    );

    HRESULT RemoveStorageController (
        [in] BSTR aName
    );

    HRESULT SetStorageControllerBootable (
        [in] BSTR aName,
        [in] BOOL aBootable
    );

    HRESULT GetSerialPort (
        [in] ULONG aSlot,
        [out, retval] ISerialPort * * aPort
    );

    HRESULT GetParallelPort (
        [in] ULONG aSlot,
        [out, retval] IParallelPort * * aPort
    );

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

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

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

    HRESULT GetCPUProperty (
        [in] CPUPropertyType aProperty,
        [out, retval] BOOL * aValue
    );

    HRESULT SetCPUProperty (
        [in] CPUPropertyType aProperty,
        [in] BOOL aValue
    );

    HRESULT GetCPUIDLeaf (
        [in] ULONG aId,
        [out] ULONG * aValEax,
        [out] ULONG * aValEbx,
        [out] ULONG * aValEcx,
        [out] ULONG * aValEdx
    );

    HRESULT SetCPUIDLeaf (
        [in] ULONG aId,
        [in] ULONG aValEax,
        [in] ULONG aValEbx,
        [in] ULONG aValEcx,
        [in] ULONG aValEdx
    );

    HRESULT RemoveCPUIDLeaf (
        [in] ULONG aId
    );

    HRESULT RemoveAllCPUIDLeaves();

    HRESULT GetHWVirtExProperty (
        [in] HWVirtExPropertyType aProperty,
        [out, retval] BOOL * aValue
    );

    HRESULT SetHWVirtExProperty (
        [in] HWVirtExPropertyType aProperty,
        [in] BOOL aValue
    );

    HRESULT SaveSettings();

    HRESULT DiscardSettings();

    HRESULT Unregister (
        [in] CleanupMode aCleanupMode,
        [out, retval] SAFEARRAY(IMedium *) * aAMedia
    );

    HRESULT Delete (
        [in] SAFEARRAY(IMedium *) aAMedia,
        [out, retval] IProgress * * aAProgress
    );

    HRESULT Export (
        [in] IAppliance * aAAppliance,
        [in] BSTR aLocation,
        [out, retval] IVirtualSystemDescription * * aADescription
    );

    HRESULT FindSnapshot (
        [in] BSTR aNameOrId,
        [out, retval] ISnapshot * * aSnapshot
    );

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

    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 EnumerateGuestProperties (
        [in] BSTR aPatterns,
        [out] SAFEARRAY(BSTR) * aName,
        [out] SAFEARRAY(BSTR) * aValue,
        [out] SAFEARRAY(LONG64) * aTimestamp,
        [out] SAFEARRAY(BSTR) * aFlags
    );

    HRESULT QuerySavedGuestSize (
        [in] ULONG aScreenId,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight
    );

    HRESULT QuerySavedThumbnailSize (
        [in] ULONG aScreenId,
        [out] ULONG * aSize,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight
    );

    HRESULT ReadSavedThumbnailToArray (
        [in] ULONG aScreenId,
        [in] BOOL aBGR,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT ReadSavedThumbnailPNGToArray (
        [in] ULONG aScreenId,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT QuerySavedScreenshotPNGSize (
        [in] ULONG aScreenId,
        [out] ULONG * aSize,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight
    );

    HRESULT ReadSavedScreenshotPNGToArray (
        [in] ULONG aScreenId,
        [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 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
    );

}; /* 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_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_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_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_VRAMSize_TO(smth) HRESULT STDMETHODCALLTYPE get_VRAMSize (ULONG * aVRAMSize) { return smth get_VRAMSize (aVRAMSize); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VRAMSize_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_VRAMSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_VRAMSize_TO_BASE(base) COM_FORWARD_IMachine_GETTER_VRAMSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_VRAMSize_TO(smth) HRESULT STDMETHODCALLTYPE put_VRAMSize (ULONG aVRAMSize) { return smth put_VRAMSize (aVRAMSize); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_VRAMSize_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_VRAMSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_VRAMSize_TO_BASE(base) COM_FORWARD_IMachine_SETTER_VRAMSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Accelerate3DEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Accelerate3DEnabled (BOOL * aAccelerate3DEnabled) { return smth get_Accelerate3DEnabled (aAccelerate3DEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Accelerate3DEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Accelerate3DEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Accelerate3DEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Accelerate3DEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Accelerate3DEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Accelerate3DEnabled (BOOL aAccelerate3DEnabled) { return smth put_Accelerate3DEnabled (aAccelerate3DEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Accelerate3DEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_Accelerate3DEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Accelerate3DEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_Accelerate3DEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Accelerate2DVideoEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Accelerate2DVideoEnabled (BOOL * aAccelerate2DVideoEnabled) { return smth get_Accelerate2DVideoEnabled (aAccelerate2DVideoEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Accelerate2DVideoEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Accelerate2DVideoEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_Accelerate2DVideoEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Accelerate2DVideoEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Accelerate2DVideoEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Accelerate2DVideoEnabled (BOOL aAccelerate2DVideoEnabled) { return smth put_Accelerate2DVideoEnabled (aAccelerate2DVideoEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Accelerate2DVideoEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_Accelerate2DVideoEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_Accelerate2DVideoEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_Accelerate2DVideoEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MonitorCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MonitorCount (ULONG * aMonitorCount) { return smth get_MonitorCount (aMonitorCount); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MonitorCount_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_MonitorCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_MonitorCount_TO_BASE(base) COM_FORWARD_IMachine_GETTER_MonitorCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_MonitorCount_TO(smth) HRESULT STDMETHODCALLTYPE put_MonitorCount (ULONG aMonitorCount) { return smth put_MonitorCount (aMonitorCount); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_MonitorCount_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_MonitorCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_MonitorCount_TO_BASE(base) COM_FORWARD_IMachine_SETTER_MonitorCount_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_BIOSSettings_TO(smth) HRESULT STDMETHODCALLTYPE get_BIOSSettings (IBIOSSettings * * aBIOSSettings) { return smth get_BIOSSettings (aBIOSSettings); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_BIOSSettings_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_BIOSSettings_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_BIOSSettings_TO_BASE(base) COM_FORWARD_IMachine_GETTER_BIOSSettings_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FirmwareType_TO(smth) HRESULT STDMETHODCALLTYPE get_FirmwareType (FirmwareType * aFirmwareType) { return smth get_FirmwareType (aFirmwareType); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FirmwareType_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_FirmwareType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FirmwareType_TO_BASE(base) COM_FORWARD_IMachine_GETTER_FirmwareType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FirmwareType_TO(smth) HRESULT STDMETHODCALLTYPE put_FirmwareType (FirmwareType aFirmwareType) { return smth put_FirmwareType (aFirmwareType); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FirmwareType_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_FirmwareType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FirmwareType_TO_BASE(base) COM_FORWARD_IMachine_SETTER_FirmwareType_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_HpetEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_HpetEnabled (BOOL * aHpetEnabled) { return smth get_HpetEnabled (aHpetEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_HpetEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_HpetEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_HpetEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_HpetEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_HpetEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_HpetEnabled (BOOL aHpetEnabled) { return smth put_HpetEnabled (aHpetEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_HpetEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_HpetEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_HpetEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_HpetEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ChipsetType_TO(smth) HRESULT STDMETHODCALLTYPE get_ChipsetType (ChipsetType * aChipsetType) { return smth get_ChipsetType (aChipsetType); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ChipsetType_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_ChipsetType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_ChipsetType_TO_BASE(base) COM_FORWARD_IMachine_GETTER_ChipsetType_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ChipsetType_TO(smth) HRESULT STDMETHODCALLTYPE put_ChipsetType (ChipsetType aChipsetType) { return smth put_ChipsetType (aChipsetType); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ChipsetType_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_ChipsetType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_ChipsetType_TO_BASE(base) COM_FORWARD_IMachine_SETTER_ChipsetType_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_EmulatedUSBWebcameraEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_EmulatedUSBWebcameraEnabled (BOOL * aEmulatedUSBWebcameraEnabled) { return smth get_EmulatedUSBWebcameraEnabled (aEmulatedUSBWebcameraEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_EmulatedUSBWebcameraEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_EmulatedUSBWebcameraEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_EmulatedUSBWebcameraEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_EmulatedUSBWebcameraEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_EmulatedUSBWebcameraEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_EmulatedUSBWebcameraEnabled (BOOL aEmulatedUSBWebcameraEnabled) { return smth put_EmulatedUSBWebcameraEnabled (aEmulatedUSBWebcameraEnabled); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_EmulatedUSBWebcameraEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_EmulatedUSBWebcameraEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_EmulatedUSBWebcameraEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_EmulatedUSBWebcameraEnabled_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_USBController_TO(smth) HRESULT STDMETHODCALLTYPE get_USBController (IUSBController * * aUSBController) { return smth get_USBController (aUSBController); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBController_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_USBController_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_USBController_TO_BASE(base) COM_FORWARD_IMachine_GETTER_USBController_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AudioAdapter_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioAdapter (IAudioAdapter * * aAudioAdapter) { return smth get_AudioAdapter (aAudioAdapter); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AudioAdapter_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AudioAdapter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_AudioAdapter_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AudioAdapter_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_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_SessionType_TO(smth) HRESULT STDMETHODCALLTYPE get_SessionType (BSTR * aSessionType) { return smth get_SessionType (aSessionType); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionType_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SessionType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_SessionType_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SessionType_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_GuestPropertyNotificationPatterns_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestPropertyNotificationPatterns (BSTR * aGuestPropertyNotificationPatterns) { return smth get_GuestPropertyNotificationPatterns (aGuestPropertyNotificationPatterns); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_GuestPropertyNotificationPatterns_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_GuestPropertyNotificationPatterns_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_GuestPropertyNotificationPatterns_TO_BASE(base) COM_FORWARD_IMachine_GETTER_GuestPropertyNotificationPatterns_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_GuestPropertyNotificationPatterns_TO(smth) HRESULT STDMETHODCALLTYPE put_GuestPropertyNotificationPatterns (BSTR aGuestPropertyNotificationPatterns) { return smth put_GuestPropertyNotificationPatterns (aGuestPropertyNotificationPatterns); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_GuestPropertyNotificationPatterns_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_GuestPropertyNotificationPatterns_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_GuestPropertyNotificationPatterns_TO_BASE(base) COM_FORWARD_IMachine_SETTER_GuestPropertyNotificationPatterns_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_FaultToleranceState_TO(smth) HRESULT STDMETHODCALLTYPE get_FaultToleranceState (FaultToleranceState * aFaultToleranceState) { return smth get_FaultToleranceState (aFaultToleranceState); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultToleranceState_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_FaultToleranceState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultToleranceState_TO_BASE(base) COM_FORWARD_IMachine_GETTER_FaultToleranceState_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultToleranceState_TO(smth) HRESULT STDMETHODCALLTYPE put_FaultToleranceState (FaultToleranceState aFaultToleranceState) { return smth put_FaultToleranceState (aFaultToleranceState); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultToleranceState_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_FaultToleranceState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultToleranceState_TO_BASE(base) COM_FORWARD_IMachine_SETTER_FaultToleranceState_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultTolerancePort_TO(smth) HRESULT STDMETHODCALLTYPE get_FaultTolerancePort (ULONG * aFaultTolerancePort) { return smth get_FaultTolerancePort (aFaultTolerancePort); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultTolerancePort_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_FaultTolerancePort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultTolerancePort_TO_BASE(base) COM_FORWARD_IMachine_GETTER_FaultTolerancePort_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultTolerancePort_TO(smth) HRESULT STDMETHODCALLTYPE put_FaultTolerancePort (ULONG aFaultTolerancePort) { return smth put_FaultTolerancePort (aFaultTolerancePort); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultTolerancePort_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_FaultTolerancePort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultTolerancePort_TO_BASE(base) COM_FORWARD_IMachine_SETTER_FaultTolerancePort_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultToleranceAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_FaultToleranceAddress (BSTR * aFaultToleranceAddress) { return smth get_FaultToleranceAddress (aFaultToleranceAddress); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultToleranceAddress_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_FaultToleranceAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultToleranceAddress_TO_BASE(base) COM_FORWARD_IMachine_GETTER_FaultToleranceAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultToleranceAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_FaultToleranceAddress (BSTR aFaultToleranceAddress) { return smth put_FaultToleranceAddress (aFaultToleranceAddress); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultToleranceAddress_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_FaultToleranceAddress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultToleranceAddress_TO_BASE(base) COM_FORWARD_IMachine_SETTER_FaultToleranceAddress_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultTolerancePassword_TO(smth) HRESULT STDMETHODCALLTYPE get_FaultTolerancePassword (BSTR * aFaultTolerancePassword) { return smth get_FaultTolerancePassword (aFaultTolerancePassword); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultTolerancePassword_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_FaultTolerancePassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultTolerancePassword_TO_BASE(base) COM_FORWARD_IMachine_GETTER_FaultTolerancePassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultTolerancePassword_TO(smth) HRESULT STDMETHODCALLTYPE put_FaultTolerancePassword (BSTR aFaultTolerancePassword) { return smth put_FaultTolerancePassword (aFaultTolerancePassword); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultTolerancePassword_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_FaultTolerancePassword_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultTolerancePassword_TO_BASE(base) COM_FORWARD_IMachine_SETTER_FaultTolerancePassword_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultToleranceSyncInterval_TO(smth) HRESULT STDMETHODCALLTYPE get_FaultToleranceSyncInterval (ULONG * aFaultToleranceSyncInterval) { return smth get_FaultToleranceSyncInterval (aFaultToleranceSyncInterval); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultToleranceSyncInterval_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_FaultToleranceSyncInterval_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_FaultToleranceSyncInterval_TO_BASE(base) COM_FORWARD_IMachine_GETTER_FaultToleranceSyncInterval_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultToleranceSyncInterval_TO(smth) HRESULT STDMETHODCALLTYPE put_FaultToleranceSyncInterval (ULONG aFaultToleranceSyncInterval) { return smth put_FaultToleranceSyncInterval (aFaultToleranceSyncInterval); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultToleranceSyncInterval_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_FaultToleranceSyncInterval_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_FaultToleranceSyncInterval_TO_BASE(base) COM_FORWARD_IMachine_SETTER_FaultToleranceSyncInterval_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_RTCUseUTC_TO(smth) HRESULT STDMETHODCALLTYPE get_RTCUseUTC (BOOL * aRTCUseUTC) { return smth get_RTCUseUTC (aRTCUseUTC); }")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_RTCUseUTC_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_RTCUseUTC_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GETTER_RTCUseUTC_TO_BASE(base) COM_FORWARD_IMachine_GETTER_RTCUseUTC_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_RTCUseUTC_TO(smth) HRESULT STDMETHODCALLTYPE put_RTCUseUTC (BOOL aRTCUseUTC) { return smth put_RTCUseUTC (aRTCUseUTC); }")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_RTCUseUTC_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_RTCUseUTC_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SETTER_RTCUseUTC_TO_BASE(base) COM_FORWARD_IMachine_SETTER_RTCUseUTC_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_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_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_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 aType, BSTR aEnvironment, IProgress * * aProgress) { return smth LaunchVMProcess (aSession, aType, aEnvironment, 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_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_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_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 (ULONG aInstance, IStorageController * * aStorageController) { return smth GetStorageControllerByInstance (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_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 * * aValue) { return smth GetExtraDataKeys (aValue); }")
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_GetCPUProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUProperty (CPUPropertyType aProperty, BOOL * aValue) { return smth GetCPUProperty (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IMachine_GetCPUProperty_TO_OBJ(obj) COM_FORWARD_IMachine_GetCPUProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetCPUProperty_TO_BASE(base) COM_FORWARD_IMachine_GetCPUProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SetCPUProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetCPUProperty (CPUPropertyType aProperty, BOOL aValue) { return smth SetCPUProperty (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IMachine_SetCPUProperty_TO_OBJ(obj) COM_FORWARD_IMachine_SetCPUProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetCPUProperty_TO_BASE(base) COM_FORWARD_IMachine_SetCPUProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetCPUIDLeaf_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUIDLeaf (ULONG aId, ULONG * aValEax, ULONG * aValEbx, ULONG * aValEcx, ULONG * aValEdx) { return smth GetCPUIDLeaf (aId, aValEax, aValEbx, aValEcx, aValEdx); }")
cpp_quote("#define COM_FORWARD_IMachine_GetCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IMachine_GetCPUIDLeaf_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetCPUIDLeaf_TO_BASE(base) COM_FORWARD_IMachine_GetCPUIDLeaf_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SetCPUIDLeaf_TO(smth) HRESULT STDMETHODCALLTYPE SetCPUIDLeaf (ULONG aId, ULONG aValEax, ULONG aValEbx, ULONG aValEcx, ULONG aValEdx) { return smth SetCPUIDLeaf (aId, aValEax, aValEbx, aValEcx, aValEdx); }")
cpp_quote("#define COM_FORWARD_IMachine_SetCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IMachine_SetCPUIDLeaf_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetCPUIDLeaf_TO_BASE(base) COM_FORWARD_IMachine_SetCPUIDLeaf_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveCPUIDLeaf_TO(smth) HRESULT STDMETHODCALLTYPE RemoveCPUIDLeaf (ULONG aId) { return smth RemoveCPUIDLeaf (aId); }")
cpp_quote("#define COM_FORWARD_IMachine_RemoveCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IMachine_RemoveCPUIDLeaf_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveCPUIDLeaf_TO_BASE(base) COM_FORWARD_IMachine_RemoveCPUIDLeaf_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveAllCPUIDLeaves_TO(smth) HRESULT STDMETHODCALLTYPE RemoveAllCPUIDLeaves() { return smth RemoveAllCPUIDLeaves(); }")
cpp_quote("#define COM_FORWARD_IMachine_RemoveAllCPUIDLeaves_TO_OBJ(obj) COM_FORWARD_IMachine_RemoveAllCPUIDLeaves_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_RemoveAllCPUIDLeaves_TO_BASE(base) COM_FORWARD_IMachine_RemoveAllCPUIDLeaves_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_GetHWVirtExProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetHWVirtExProperty (HWVirtExPropertyType aProperty, BOOL * aValue) { return smth GetHWVirtExProperty (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IMachine_GetHWVirtExProperty_TO_OBJ(obj) COM_FORWARD_IMachine_GetHWVirtExProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_GetHWVirtExProperty_TO_BASE(base) COM_FORWARD_IMachine_GetHWVirtExProperty_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_SetHWVirtExProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetHWVirtExProperty (HWVirtExPropertyType aProperty, BOOL aValue) { return smth SetHWVirtExProperty (aProperty, aValue); }")
cpp_quote("#define COM_FORWARD_IMachine_SetHWVirtExProperty_TO_OBJ(obj) COM_FORWARD_IMachine_SetHWVirtExProperty_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_SetHWVirtExProperty_TO_BASE(base) COM_FORWARD_IMachine_SetHWVirtExProperty_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 * * aAMedia) { return smth Unregister (aCleanupMode, aAMedia); }")
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_Delete_TO(smth) HRESULT STDMETHODCALLTYPE Delete (SAFEARRAY * * aAMedia, IProgress * * aAProgress) { return smth Delete (aAMedia, aAProgress); }")
cpp_quote("#define COM_FORWARD_IMachine_Delete_TO_OBJ(obj) COM_FORWARD_IMachine_Delete_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_Delete_TO_BASE(base) COM_FORWARD_IMachine_Delete_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_Export_TO(smth) HRESULT STDMETHODCALLTYPE Export (IAppliance * aAAppliance, BSTR aLocation, IVirtualSystemDescription * * aADescription) { return smth Export (aAAppliance, aLocation, aADescription); }")
cpp_quote("#define COM_FORWARD_IMachine_Export_TO_OBJ(obj) COM_FORWARD_IMachine_Export_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_Export_TO_BASE(base) COM_FORWARD_IMachine_Export_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) { return smth CreateSharedFolder (aName, aHostPath, aWritable, aAutomount); }")
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_EnumerateGuestProperties_TO(smth) HRESULT STDMETHODCALLTYPE EnumerateGuestProperties (BSTR aPatterns, SAFEARRAY * * aName, SAFEARRAY * * aValue, SAFEARRAY * * aTimestamp, SAFEARRAY * * aFlags) { return smth EnumerateGuestProperties (aPatterns, aName, aValue, aTimestamp, 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_QuerySavedGuestSize_TO(smth) HRESULT STDMETHODCALLTYPE QuerySavedGuestSize (ULONG aScreenId, ULONG * aWidth, ULONG * aHeight) { return smth QuerySavedGuestSize (aScreenId, aWidth, aHeight); }")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedGuestSize_TO_OBJ(obj) COM_FORWARD_IMachine_QuerySavedGuestSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedGuestSize_TO_BASE(base) COM_FORWARD_IMachine_QuerySavedGuestSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedThumbnailSize_TO(smth) HRESULT STDMETHODCALLTYPE QuerySavedThumbnailSize (ULONG aScreenId, ULONG * aSize, ULONG * aWidth, ULONG * aHeight) { return smth QuerySavedThumbnailSize (aScreenId, aSize, aWidth, aHeight); }")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedThumbnailSize_TO_OBJ(obj) COM_FORWARD_IMachine_QuerySavedThumbnailSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedThumbnailSize_TO_BASE(base) COM_FORWARD_IMachine_QuerySavedThumbnailSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO(smth) HRESULT STDMETHODCALLTYPE ReadSavedThumbnailToArray (ULONG aScreenId, BOOL aBGR, ULONG * aWidth, ULONG * aHeight, SAFEARRAY * * aData) { return smth ReadSavedThumbnailToArray (aScreenId, aBGR, 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_ReadSavedThumbnailPNGToArray_TO(smth) HRESULT STDMETHODCALLTYPE ReadSavedThumbnailPNGToArray (ULONG aScreenId, ULONG * aWidth, ULONG * aHeight, SAFEARRAY * * aData) { return smth ReadSavedThumbnailPNGToArray (aScreenId, aWidth, aHeight, aData); }")
cpp_quote("#define COM_FORWARD_IMachine_ReadSavedThumbnailPNGToArray_TO_OBJ(obj) COM_FORWARD_IMachine_ReadSavedThumbnailPNGToArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_ReadSavedThumbnailPNGToArray_TO_BASE(base) COM_FORWARD_IMachine_ReadSavedThumbnailPNGToArray_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedScreenshotPNGSize_TO(smth) HRESULT STDMETHODCALLTYPE QuerySavedScreenshotPNGSize (ULONG aScreenId, ULONG * aSize, ULONG * aWidth, ULONG * aHeight) { return smth QuerySavedScreenshotPNGSize (aScreenId, aSize, aWidth, aHeight); }")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedScreenshotPNGSize_TO_OBJ(obj) COM_FORWARD_IMachine_QuerySavedScreenshotPNGSize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_QuerySavedScreenshotPNGSize_TO_BASE(base) COM_FORWARD_IMachine_QuerySavedScreenshotPNGSize_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachine_ReadSavedScreenshotPNGToArray_TO(smth) HRESULT STDMETHODCALLTYPE ReadSavedScreenshotPNGToArray (ULONG aScreenId, ULONG * aWidth, ULONG * aHeight, SAFEARRAY * * aData) { return smth ReadSavedScreenshotPNGToArray (aScreenId, aWidth, aHeight, aData); }")
cpp_quote("#define COM_FORWARD_IMachine_ReadSavedScreenshotPNGToArray_TO_OBJ(obj) COM_FORWARD_IMachine_ReadSavedScreenshotPNGToArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachine_ReadSavedScreenshotPNGToArray_TO_BASE(base) COM_FORWARD_IMachine_ReadSavedScreenshotPNGToArray_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_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_TO(smth) COM_FORWARD_IMachine_GETTER_Parent_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_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_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_VRAMSize_TO (smth) COM_FORWARD_IMachine_SETTER_VRAMSize_TO (smth) COM_FORWARD_IMachine_GETTER_Accelerate3DEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_Accelerate3DEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_Accelerate2DVideoEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_Accelerate2DVideoEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_MonitorCount_TO (smth) COM_FORWARD_IMachine_SETTER_MonitorCount_TO (smth) COM_FORWARD_IMachine_GETTER_BIOSSettings_TO (smth) COM_FORWARD_IMachine_GETTER_FirmwareType_TO (smth) COM_FORWARD_IMachine_SETTER_FirmwareType_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_HpetEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_HpetEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_ChipsetType_TO (smth) COM_FORWARD_IMachine_SETTER_ChipsetType_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_EmulatedUSBWebcameraEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_EmulatedUSBWebcameraEnabled_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_USBController_TO (smth) COM_FORWARD_IMachine_GETTER_AudioAdapter_TO (smth) COM_FORWARD_IMachine_GETTER_StorageControllers_TO (smth) COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO (smth) COM_FORWARD_IMachine_GETTER_SettingsModified_TO (smth) COM_FORWARD_IMachine_GETTER_SessionState_TO (smth) COM_FORWARD_IMachine_GETTER_SessionType_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_GuestPropertyNotificationPatterns_TO (smth) COM_FORWARD_IMachine_SETTER_GuestPropertyNotificationPatterns_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_FaultToleranceState_TO (smth) COM_FORWARD_IMachine_SETTER_FaultToleranceState_TO (smth) COM_FORWARD_IMachine_GETTER_FaultTolerancePort_TO (smth) COM_FORWARD_IMachine_SETTER_FaultTolerancePort_TO (smth) COM_FORWARD_IMachine_GETTER_FaultToleranceAddress_TO (smth) COM_FORWARD_IMachine_SETTER_FaultToleranceAddress_TO (smth) COM_FORWARD_IMachine_GETTER_FaultTolerancePassword_TO (smth) COM_FORWARD_IMachine_SETTER_FaultTolerancePassword_TO (smth) COM_FORWARD_IMachine_GETTER_FaultToleranceSyncInterval_TO (smth) COM_FORWARD_IMachine_SETTER_FaultToleranceSyncInterval_TO (smth) COM_FORWARD_IMachine_GETTER_RTCUseUTC_TO (smth) COM_FORWARD_IMachine_SETTER_RTCUseUTC_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_BandwidthControl_TO (smth) COM_FORWARD_IMachine_GETTER_PciDeviceAssignments_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_DetachDevice_TO (smth) COM_FORWARD_IMachine_PassthroughDevice_TO (smth) COM_FORWARD_IMachine_TemporaryEjectDevice_TO (smth) COM_FORWARD_IMachine_NonRotationalDevice_TO (smth) COM_FORWARD_IMachine_SetBandwidthGroupForDevice_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_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_GetCPUProperty_TO (smth) COM_FORWARD_IMachine_SetCPUProperty_TO (smth) COM_FORWARD_IMachine_GetCPUIDLeaf_TO (smth) COM_FORWARD_IMachine_SetCPUIDLeaf_TO (smth) COM_FORWARD_IMachine_RemoveCPUIDLeaf_TO (smth) COM_FORWARD_IMachine_RemoveAllCPUIDLeaves_TO (smth) COM_FORWARD_IMachine_GetHWVirtExProperty_TO (smth) COM_FORWARD_IMachine_SetHWVirtExProperty_TO (smth) COM_FORWARD_IMachine_SaveSettings_TO (smth) COM_FORWARD_IMachine_DiscardSettings_TO (smth) COM_FORWARD_IMachine_Unregister_TO (smth) COM_FORWARD_IMachine_Delete_TO (smth) COM_FORWARD_IMachine_Export_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_EnumerateGuestProperties_TO (smth) COM_FORWARD_IMachine_QuerySavedGuestSize_TO (smth) COM_FORWARD_IMachine_QuerySavedThumbnailSize_TO (smth) COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO (smth) COM_FORWARD_IMachine_ReadSavedThumbnailPNGToArray_TO (smth) COM_FORWARD_IMachine_QuerySavedScreenshotPNGSize_TO (smth) COM_FORWARD_IMachine_ReadSavedScreenshotPNGToArray_TO (smth) COM_FORWARD_IMachine_HotPlugCPU_TO (smth) COM_FORWARD_IMachine_HotUnplugCPU_TO (smth) COM_FORWARD_IMachine_GetCPUStatus_TO (smth) COM_FORWARD_IMachine_QueryLogFilename_TO (smth) COM_FORWARD_IMachine_ReadLog_TO (smth) COM_FORWARD_IMachine_CloneTo_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(714434a1-58c3-4aab-9049-7652c5df113b),
    object,
    dual,
    oleautomation
]
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);

}; /* 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(1968b7d3-e3bf-4ceb-99e0-cb7c913317bb),
    object,
    dual,
    oleautomation
]
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);

    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 SaveState (
        [out, retval] IProgress * * aProgress
    );

    HRESULT AdoptSavedState (
        [in] BSTR aSavedStateFile
    );

    HRESULT DiscardSavedState (
        [in] BOOL aFRemoveFile
    );

    HRESULT GetDeviceActivity (
        [in] DeviceType aType,
        [out, retval] DeviceActivity * aActivity
    );

    HRESULT AttachUSBDevice (
        [in] BSTR aId
    );

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

    HRESULT RemoveSharedFolder (
        [in] BSTR aName
    );

    HRESULT TakeSnapshot (
        [in] BSTR aName,
        [in] BSTR aDescription,
        [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 Teleport (
        [in] BSTR aHostname,
        [in] ULONG aTcpport,
        [in] BSTR aPassword,
        [in] ULONG aMaxDowntime,
        [out, retval] IProgress * * aProgress
    );

}; /* 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_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_SaveState_TO(smth) HRESULT STDMETHODCALLTYPE SaveState (IProgress * * aProgress) { return smth SaveState (aProgress); }")
cpp_quote("#define COM_FORWARD_IConsole_SaveState_TO_OBJ(obj) COM_FORWARD_IConsole_SaveState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_SaveState_TO_BASE(base) COM_FORWARD_IConsole_SaveState_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_AdoptSavedState_TO(smth) HRESULT STDMETHODCALLTYPE AdoptSavedState (BSTR aSavedStateFile) { return smth AdoptSavedState (aSavedStateFile); }")
cpp_quote("#define COM_FORWARD_IConsole_AdoptSavedState_TO_OBJ(obj) COM_FORWARD_IConsole_AdoptSavedState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_AdoptSavedState_TO_BASE(base) COM_FORWARD_IConsole_AdoptSavedState_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_DiscardSavedState_TO(smth) HRESULT STDMETHODCALLTYPE DiscardSavedState (BOOL aFRemoveFile) { return smth DiscardSavedState (aFRemoveFile); }")
cpp_quote("#define COM_FORWARD_IConsole_DiscardSavedState_TO_OBJ(obj) COM_FORWARD_IConsole_DiscardSavedState_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_DiscardSavedState_TO_BASE(base) COM_FORWARD_IConsole_DiscardSavedState_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_GetDeviceActivity_TO(smth) HRESULT STDMETHODCALLTYPE GetDeviceActivity (DeviceType aType, DeviceActivity * 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) { return smth AttachUSBDevice (aId); }")
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) { return smth CreateSharedFolder (aName, aHostPath, aWritable, aAutomount); }")
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_TakeSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE TakeSnapshot (BSTR aName, BSTR aDescription, IProgress * * aProgress) { return smth TakeSnapshot (aName, aDescription, aProgress); }")
cpp_quote("#define COM_FORWARD_IConsole_TakeSnapshot_TO_OBJ(obj) COM_FORWARD_IConsole_TakeSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_TakeSnapshot_TO_BASE(base) COM_FORWARD_IConsole_TakeSnapshot_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_DeleteSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE DeleteSnapshot (BSTR aId, IProgress * * aProgress) { return smth DeleteSnapshot (aId, aProgress); }")
cpp_quote("#define COM_FORWARD_IConsole_DeleteSnapshot_TO_OBJ(obj) COM_FORWARD_IConsole_DeleteSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_DeleteSnapshot_TO_BASE(base) COM_FORWARD_IConsole_DeleteSnapshot_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_DeleteSnapshotAndAllChildren_TO(smth) HRESULT STDMETHODCALLTYPE DeleteSnapshotAndAllChildren (BSTR aId, IProgress * * aProgress) { return smth DeleteSnapshotAndAllChildren (aId, aProgress); }")
cpp_quote("#define COM_FORWARD_IConsole_DeleteSnapshotAndAllChildren_TO_OBJ(obj) COM_FORWARD_IConsole_DeleteSnapshotAndAllChildren_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_DeleteSnapshotAndAllChildren_TO_BASE(base) COM_FORWARD_IConsole_DeleteSnapshotAndAllChildren_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_DeleteSnapshotRange_TO(smth) HRESULT STDMETHODCALLTYPE DeleteSnapshotRange (BSTR aStartId, BSTR aEndId, IProgress * * aProgress) { return smth DeleteSnapshotRange (aStartId, aEndId, aProgress); }")
cpp_quote("#define COM_FORWARD_IConsole_DeleteSnapshotRange_TO_OBJ(obj) COM_FORWARD_IConsole_DeleteSnapshotRange_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_DeleteSnapshotRange_TO_BASE(base) COM_FORWARD_IConsole_DeleteSnapshotRange_TO (base::)")
cpp_quote("#define COM_FORWARD_IConsole_RestoreSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE RestoreSnapshot (ISnapshot * aSnapshot, IProgress * * aProgress) { return smth RestoreSnapshot (aSnapshot, aProgress); }")
cpp_quote("#define COM_FORWARD_IConsole_RestoreSnapshot_TO_OBJ(obj) COM_FORWARD_IConsole_RestoreSnapshot_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IConsole_RestoreSnapshot_TO_BASE(base) COM_FORWARD_IConsole_RestoreSnapshot_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_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_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_SaveState_TO (smth) COM_FORWARD_IConsole_AdoptSavedState_TO (smth) COM_FORWARD_IConsole_DiscardSavedState_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_TakeSnapshot_TO (smth) COM_FORWARD_IConsole_DeleteSnapshot_TO (smth) COM_FORWARD_IConsole_DeleteSnapshotAndAllChildren_TO (smth) COM_FORWARD_IConsole_DeleteSnapshotRange_TO (smth) COM_FORWARD_IConsole_RestoreSnapshot_TO (smth) COM_FORWARD_IConsole_Teleport_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(ce6fae58-7642-4102-b5db-c9005c2320a8),
    object,
    dual,
    oleautomation
]
interface IHostNetworkInterface : IDispatch
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

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

    HRESULT EnableStaticIpConfig (
        [in] BSTR aIPAddress,
        [in] BSTR aNetworkMask
    );

    HRESULT EnableStaticIpConfigV6 (
        [in] BSTR aIPV6Address,
        [in] ULONG aIPV6NetworkMaskPrefixLength
    );

    HRESULT EnableDynamicIpConfig();

    HRESULT DhcpRediscover();

}; /* 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_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_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_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_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(dab4a2b8-c735-4f08-94fc-9bec84182e2f),
    object,
    dual,
    oleautomation
]
interface IHost : IDispatch
{
    [propget] HRESULT DVDDrives ([out, retval] SAFEARRAY(IMedium *) * aDVDDrives);

    [propget] HRESULT FloppyDrives ([out, retval] SAFEARRAY(IMedium *) * aFloppyDrives);

    [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 ProcessorCount ([out, retval] ULONG * aProcessorCount);

    [propget] HRESULT ProcessorOnlineCount ([out, retval] ULONG * aProcessorOnlineCount);

    [propget] HRESULT ProcessorCoreCount ([out, retval] ULONG * aProcessorCoreCount);

    [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 Acceleration3DAvailable ([out, retval] BOOL * aAcceleration3DAvailable);

    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 GetProcessorCPUIDLeaf (
        [in] ULONG aCpuId,
        [in] ULONG aLeaf,
        [in] ULONG aSubLeaf,
        [out] ULONG * aValEax,
        [out] ULONG * aValEbx,
        [out] ULONG * aValEcx,
        [out] ULONG * aValEdx
    );

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

}; /* interface IHost */

/* Interface implementation forwarder macro */
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_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_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_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_Acceleration3DAvailable_TO(smth) HRESULT STDMETHODCALLTYPE get_Acceleration3DAvailable (BOOL * aAcceleration3DAvailable) { return smth get_Acceleration3DAvailable (aAcceleration3DAvailable); }")
cpp_quote("#define COM_FORWARD_IHost_GETTER_Acceleration3DAvailable_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_Acceleration3DAvailable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GETTER_Acceleration3DAvailable_TO_BASE(base) COM_FORWARD_IHost_GETTER_Acceleration3DAvailable_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_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_IHost_GetProcessorCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IHost_GetProcessorCPUIDLeaf_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IHost_GetProcessorCPUIDLeaf_TO_BASE(base) COM_FORWARD_IHost_GetProcessorCPUIDLeaf_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_TO(smth) COM_FORWARD_IHost_GETTER_DVDDrives_TO (smth) COM_FORWARD_IHost_GETTER_FloppyDrives_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_ProcessorCount_TO (smth) COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO (smth) COM_FORWARD_IHost_GETTER_ProcessorCoreCount_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_Acceleration3DAvailable_TO (smth) COM_FORWARD_IHost_GetProcessorSpeed_TO (smth) COM_FORWARD_IHost_GetProcessorFeature_TO (smth) COM_FORWARD_IHost_GetProcessorDescription_TO (smth) COM_FORWARD_IHost_GetProcessorCPUIDLeaf_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) ")
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(8a0ab9ab-48c1-4d04-954b-4a751413d084),
    object,
    dual,
    oleautomation
]
interface ISystemProperties : IDispatch
{
    [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 SerialPortCount ([out, retval] ULONG * aSerialPortCount);

    [propget] HRESULT ParallelPortCount ([out, retval] ULONG * aParallelPortCount);

    [propget] HRESULT MaxBootPosition ([out, retval] ULONG * aMaxBootPosition);

    [propget] HRESULT DefaultMachineFolder ([out, retval] BSTR * aDefaultMachineFolder);
    [propput] HRESULT DefaultMachineFolder ([in] BSTR aDefaultMachineFolder);

    [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 LogHistoryCount ([out, retval] ULONG * aLogHistoryCount);
    [propput] HRESULT LogHistoryCount ([in] ULONG aLogHistoryCount);

    [propget] HRESULT DefaultAudioDriver ([out, retval] AudioDriverType * aDefaultAudioDriver);

    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 GetDeviceTypesForStorageBus (
        [in] StorageBus aBus,
        [out, retval] SAFEARRAY(DeviceType) * aDeviceTypes
    );

    HRESULT GetDefaultIoCacheSettingForStorageController (
        [in] StorageControllerType aControllerType,
        [out, retval] BOOL * aEnabled
    );

}; /* interface ISystemProperties */

/* Interface implementation forwarder macro */
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_SerialPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialPortCount (ULONG * aSerialPortCount) { return smth get_SerialPortCount (aSerialPortCount); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SerialPortCount_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SerialPortCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_SerialPortCount_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SerialPortCount_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ParallelPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ParallelPortCount (ULONG * aParallelPortCount) { return smth get_ParallelPortCount (aParallelPortCount); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ParallelPortCount_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_ParallelPortCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_ParallelPortCount_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_ParallelPortCount_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxBootPosition_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxBootPosition (ULONG * aMaxBootPosition) { return smth get_MaxBootPosition (aMaxBootPosition); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxBootPosition_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MaxBootPosition_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GETTER_MaxBootPosition_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MaxBootPosition_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_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_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_GetMaxNetworkAdapters_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxNetworkAdapters (ChipsetType aChipset, ULONG * aMaxNetworkAdapters) { return smth GetMaxNetworkAdapters (aChipset, aMaxNetworkAdapters); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxNetworkAdapters_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetMaxNetworkAdapters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxNetworkAdapters_TO_BASE(base) COM_FORWARD_ISystemProperties_GetMaxNetworkAdapters_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxNetworkAdaptersOfType_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxNetworkAdaptersOfType (ChipsetType aChipset, NetworkAttachmentType aType, ULONG * aMaxNetworkAdapters) { return smth GetMaxNetworkAdaptersOfType (aChipset, aType, aMaxNetworkAdapters); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxNetworkAdaptersOfType_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetMaxNetworkAdaptersOfType_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxNetworkAdaptersOfType_TO_BASE(base) COM_FORWARD_ISystemProperties_GetMaxNetworkAdaptersOfType_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxDevicesPerPortForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxDevicesPerPortForStorageBus (StorageBus aBus, ULONG * aMaxDevicesPerPort) { return smth GetMaxDevicesPerPortForStorageBus (aBus, aMaxDevicesPerPort); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxDevicesPerPortForStorageBus_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetMaxDevicesPerPortForStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxDevicesPerPortForStorageBus_TO_BASE(base) COM_FORWARD_ISystemProperties_GetMaxDevicesPerPortForStorageBus_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMinPortCountForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMinPortCountForStorageBus (StorageBus aBus, ULONG * aMinPortCount) { return smth GetMinPortCountForStorageBus (aBus, aMinPortCount); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMinPortCountForStorageBus_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetMinPortCountForStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMinPortCountForStorageBus_TO_BASE(base) COM_FORWARD_ISystemProperties_GetMinPortCountForStorageBus_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxPortCountForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxPortCountForStorageBus (StorageBus aBus, ULONG * aMaxPortCount) { return smth GetMaxPortCountForStorageBus (aBus, aMaxPortCount); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxPortCountForStorageBus_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetMaxPortCountForStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxPortCountForStorageBus_TO_BASE(base) COM_FORWARD_ISystemProperties_GetMaxPortCountForStorageBus_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxInstancesOfStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxInstancesOfStorageBus (ChipsetType aChipset, StorageBus aBus, ULONG * aMaxInstances) { return smth GetMaxInstancesOfStorageBus (aChipset, aBus, aMaxInstances); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxInstancesOfStorageBus_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetMaxInstancesOfStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetMaxInstancesOfStorageBus_TO_BASE(base) COM_FORWARD_ISystemProperties_GetMaxInstancesOfStorageBus_TO (base::)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetDeviceTypesForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetDeviceTypesForStorageBus (StorageBus aBus, SAFEARRAY * * aDeviceTypes) { return smth GetDeviceTypesForStorageBus (aBus, aDeviceTypes); }")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetDeviceTypesForStorageBus_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetDeviceTypesForStorageBus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISystemProperties_GetDeviceTypesForStorageBus_TO_BASE(base) COM_FORWARD_ISystemProperties_GetDeviceTypesForStorageBus_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_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_SerialPortCount_TO (smth) COM_FORWARD_ISystemProperties_GETTER_ParallelPortCount_TO (smth) COM_FORWARD_ISystemProperties_GETTER_MaxBootPosition_TO (smth) COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO (smth) COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_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_LogHistoryCount_TO (smth) COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO (smth) COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO (smth) COM_FORWARD_ISystemProperties_GetMaxNetworkAdapters_TO (smth) COM_FORWARD_ISystemProperties_GetMaxNetworkAdaptersOfType_TO (smth) COM_FORWARD_ISystemProperties_GetMaxDevicesPerPortForStorageBus_TO (smth) COM_FORWARD_ISystemProperties_GetMinPortCountForStorageBus_TO (smth) COM_FORWARD_ISystemProperties_GetMaxPortCountForStorageBus_TO (smth) COM_FORWARD_ISystemProperties_GetMaxInstancesOfStorageBus_TO (smth) COM_FORWARD_ISystemProperties_GetDeviceTypesForStorageBus_TO (smth) COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_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(432c1546-1354-4abf-bf08-878a32a373f5),
    object,
    dual,
    oleautomation
]
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 Description ([out, retval] BSTR * aDescription);

    [propget] HRESULT Is64Bit ([out, retval] BOOL * aIs64Bit);

    [propget] HRESULT RecommendedIOAPIC ([out, retval] BOOL * aRecommendedIOAPIC);

    [propget] HRESULT RecommendedVirtEx ([out, retval] BOOL * aRecommendedVirtEx);

    [propget] HRESULT RecommendedRAM ([out, retval] ULONG * aRecommendedRAM);

    [propget] HRESULT RecommendedVRAM ([out, retval] ULONG * aRecommendedVRAM);

    [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 RecommendedAudioController ([out, retval] AudioControllerType * aRecommendedAudioController);

}; /* 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_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_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_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_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_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_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_Description_TO (smth) COM_FORWARD_IGuestOSType_GETTER_Is64Bit_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_RecommendedVRAM_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_RecommendedAudioController_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(54992946-6af1-4e49-98ec-58b558b7291e),
    object,
    dual,
    oleautomation
]
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);

}; /* 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(20a66efc-c2f6-4438-826f-38454c04369e),
    object,
    dual,
    oleautomation
]
interface IGuestDirEntry : IDispatch
{
    [propget] HRESULT NodeId ([out, retval] LONG64 * aNodeId);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

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

}; /* interface IGuestDirEntry */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IGuestDirEntry_GETTER_NodeId_TO(smth) HRESULT STDMETHODCALLTYPE get_NodeId (LONG64 * aNodeId) { return smth get_NodeId (aNodeId); }")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_GETTER_NodeId_TO_OBJ(obj) COM_FORWARD_IGuestDirEntry_GETTER_NodeId_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_GETTER_NodeId_TO_BASE(base) COM_FORWARD_IGuestDirEntry_GETTER_NodeId_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IGuestDirEntry_GETTER_Name_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_GETTER_Name_TO_BASE(base) COM_FORWARD_IGuestDirEntry_GETTER_Name_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (GuestDirEntryType * aType) { return smth get_Type (aType); }")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IGuestDirEntry_GETTER_Type_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_GETTER_Type_TO_BASE(base) COM_FORWARD_IGuestDirEntry_GETTER_Type_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_TO(smth) COM_FORWARD_IGuestDirEntry_GETTER_NodeId_TO (smth) COM_FORWARD_IGuestDirEntry_GETTER_Name_TO (smth) COM_FORWARD_IGuestDirEntry_GETTER_Type_TO (smth) ")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_TO_OBJ(obj) COM_FORWARD_IGuestDirEntry_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestDirEntry_TO_BASE(base) COM_FORWARD_IGuestDirEntry_TO (base::)")

[
    uuid(ed109b6e-0578-4b17-8ace-52646789f1a0),
    object,
    dual,
    oleautomation
]
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 Facilities ([out, retval] SAFEARRAY(IAdditionsFacility *) * aFacilities);

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

    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 ExecuteProcess (
        [in] BSTR aExecName,
        [in] ULONG aFlags,
        [in] SAFEARRAY(BSTR) aArguments,
        [in] SAFEARRAY(BSTR) aEnvironment,
        [in] BSTR aUserName,
        [in] BSTR aPassword,
        [in] ULONG aTimeoutMS,
        [out] ULONG * aPid,
        [out, retval] IProgress * * aProgress
    );

    HRESULT GetProcessOutput (
        [in] ULONG aPid,
        [in] ULONG aFlags,
        [in] ULONG aTimeoutMS,
        [in] LONG64 aSize,
        [out, retval] SAFEARRAY(BYTE) * aData
    );

    HRESULT GetProcessStatus (
        [in] ULONG aPid,
        [out] ULONG * aExitcode,
        [out] ULONG * aFlags,
        [out, retval] ExecuteProcessStatus * aReason
    );

    HRESULT CopyFromGuest (
        [in] BSTR aSource,
        [in] BSTR aDest,
        [in] BSTR aUserName,
        [in] BSTR aPassword,
        [in] ULONG aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CopyToGuest (
        [in] BSTR aSource,
        [in] BSTR aDest,
        [in] BSTR aUserName,
        [in] BSTR aPassword,
        [in] ULONG aFlags,
        [out, retval] IProgress * * aProgress
    );

    HRESULT DirectoryClose (
        [in] ULONG aHandle
    );

    HRESULT DirectoryCreate (
        [in] BSTR aDirectory,
        [in] BSTR aUserName,
        [in] BSTR aPassword,
        [in] ULONG aMode,
        [in] ULONG aFlags
    );

    HRESULT DirectoryOpen (
        [in] BSTR aDirectory,
        [in] BSTR aFilter,
        [in] ULONG aFlags,
        [in] BSTR aUserName,
        [in] BSTR aPassword,
        [out, retval] ULONG * aHandle
    );

    HRESULT DirectoryRead (
        [in] ULONG aHandle,
        [out, retval] IGuestDirEntry * * aEntry
    );

    HRESULT FileExists (
        [in] BSTR aFile,
        [in] BSTR aUserName,
        [in] BSTR aPassword,
        [out, retval] BOOL * aExists
    );

    HRESULT FileQuerySize (
        [in] BSTR aFile,
        [in] BSTR aUserName,
        [in] BSTR aPassword,
        [out, retval] LONG64 * aSize
    );

    HRESULT SetProcessInput (
        [in] ULONG aPid,
        [in] ULONG aFlags,
        [in] ULONG aTimeoutMS,
        [in] SAFEARRAY(BYTE) aData,
        [out, retval] ULONG * aWritten
    );

    HRESULT UpdateGuestAdditions (
        [in] BSTR aSource,
        [in] ULONG aFlags,
        [out, retval] IProgress * * aProgress
    );

}; /* 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_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_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_ExecuteProcess_TO(smth) HRESULT STDMETHODCALLTYPE ExecuteProcess (BSTR aExecName, ULONG aFlags, SAFEARRAY * * aArguments, SAFEARRAY * * aEnvironment, BSTR aUserName, BSTR aPassword, ULONG aTimeoutMS, ULONG * aPid, IProgress * * aProgress) { return smth ExecuteProcess (aExecName, aFlags, aArguments, aEnvironment, aUserName, aPassword, aTimeoutMS, aPid, aProgress); }")
cpp_quote("#define COM_FORWARD_IGuest_ExecuteProcess_TO_OBJ(obj) COM_FORWARD_IGuest_ExecuteProcess_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_ExecuteProcess_TO_BASE(base) COM_FORWARD_IGuest_ExecuteProcess_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GetProcessOutput_TO(smth) HRESULT STDMETHODCALLTYPE GetProcessOutput (ULONG aPid, ULONG aFlags, ULONG aTimeoutMS, LONG64 aSize, SAFEARRAY * * aData) { return smth GetProcessOutput (aPid, aFlags, aTimeoutMS, aSize, aData); }")
cpp_quote("#define COM_FORWARD_IGuest_GetProcessOutput_TO_OBJ(obj) COM_FORWARD_IGuest_GetProcessOutput_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GetProcessOutput_TO_BASE(base) COM_FORWARD_IGuest_GetProcessOutput_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_GetProcessStatus_TO(smth) HRESULT STDMETHODCALLTYPE GetProcessStatus (ULONG aPid, ULONG * aExitcode, ULONG * aFlags, ExecuteProcessStatus * aReason) { return smth GetProcessStatus (aPid, aExitcode, aFlags, aReason); }")
cpp_quote("#define COM_FORWARD_IGuest_GetProcessStatus_TO_OBJ(obj) COM_FORWARD_IGuest_GetProcessStatus_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_GetProcessStatus_TO_BASE(base) COM_FORWARD_IGuest_GetProcessStatus_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_CopyFromGuest_TO(smth) HRESULT STDMETHODCALLTYPE CopyFromGuest (BSTR aSource, BSTR aDest, BSTR aUserName, BSTR aPassword, ULONG aFlags, IProgress * * aProgress) { return smth CopyFromGuest (aSource, aDest, aUserName, aPassword, aFlags, aProgress); }")
cpp_quote("#define COM_FORWARD_IGuest_CopyFromGuest_TO_OBJ(obj) COM_FORWARD_IGuest_CopyFromGuest_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_CopyFromGuest_TO_BASE(base) COM_FORWARD_IGuest_CopyFromGuest_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_CopyToGuest_TO(smth) HRESULT STDMETHODCALLTYPE CopyToGuest (BSTR aSource, BSTR aDest, BSTR aUserName, BSTR aPassword, ULONG aFlags, IProgress * * aProgress) { return smth CopyToGuest (aSource, aDest, aUserName, aPassword, aFlags, aProgress); }")
cpp_quote("#define COM_FORWARD_IGuest_CopyToGuest_TO_OBJ(obj) COM_FORWARD_IGuest_CopyToGuest_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_CopyToGuest_TO_BASE(base) COM_FORWARD_IGuest_CopyToGuest_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryClose_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryClose (ULONG aHandle) { return smth DirectoryClose (aHandle); }")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryClose_TO_OBJ(obj) COM_FORWARD_IGuest_DirectoryClose_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryClose_TO_BASE(base) COM_FORWARD_IGuest_DirectoryClose_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryCreate_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryCreate (BSTR aDirectory, BSTR aUserName, BSTR aPassword, ULONG aMode, ULONG aFlags) { return smth DirectoryCreate (aDirectory, aUserName, aPassword, aMode, aFlags); }")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryCreate_TO_OBJ(obj) COM_FORWARD_IGuest_DirectoryCreate_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryCreate_TO_BASE(base) COM_FORWARD_IGuest_DirectoryCreate_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryOpen_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryOpen (BSTR aDirectory, BSTR aFilter, ULONG aFlags, BSTR aUserName, BSTR aPassword, ULONG * aHandle) { return smth DirectoryOpen (aDirectory, aFilter, aFlags, aUserName, aPassword, aHandle); }")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryOpen_TO_OBJ(obj) COM_FORWARD_IGuest_DirectoryOpen_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryOpen_TO_BASE(base) COM_FORWARD_IGuest_DirectoryOpen_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryRead_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryRead (ULONG aHandle, IGuestDirEntry * * aEntry) { return smth DirectoryRead (aHandle, aEntry); }")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryRead_TO_OBJ(obj) COM_FORWARD_IGuest_DirectoryRead_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_DirectoryRead_TO_BASE(base) COM_FORWARD_IGuest_DirectoryRead_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_FileExists_TO(smth) HRESULT STDMETHODCALLTYPE FileExists (BSTR aFile, BSTR aUserName, BSTR aPassword, BOOL * aExists) { return smth FileExists (aFile, aUserName, aPassword, aExists); }")
cpp_quote("#define COM_FORWARD_IGuest_FileExists_TO_OBJ(obj) COM_FORWARD_IGuest_FileExists_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_FileExists_TO_BASE(base) COM_FORWARD_IGuest_FileExists_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_FileQuerySize_TO(smth) HRESULT STDMETHODCALLTYPE FileQuerySize (BSTR aFile, BSTR aUserName, BSTR aPassword, LONG64 * aSize) { return smth FileQuerySize (aFile, aUserName, aPassword, aSize); }")
cpp_quote("#define COM_FORWARD_IGuest_FileQuerySize_TO_OBJ(obj) COM_FORWARD_IGuest_FileQuerySize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_FileQuerySize_TO_BASE(base) COM_FORWARD_IGuest_FileQuerySize_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_SetProcessInput_TO(smth) HRESULT STDMETHODCALLTYPE SetProcessInput (ULONG aPid, ULONG aFlags, ULONG aTimeoutMS, SAFEARRAY * * aData, ULONG * aWritten) { return smth SetProcessInput (aPid, aFlags, aTimeoutMS, aData, aWritten); }")
cpp_quote("#define COM_FORWARD_IGuest_SetProcessInput_TO_OBJ(obj) COM_FORWARD_IGuest_SetProcessInput_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuest_SetProcessInput_TO_BASE(base) COM_FORWARD_IGuest_SetProcessInput_TO (base::)")
cpp_quote("#define COM_FORWARD_IGuest_UpdateGuestAdditions_TO(smth) HRESULT STDMETHODCALLTYPE UpdateGuestAdditions (BSTR aSource, ULONG aFlags, IProgress * * aProgress) { return smth UpdateGuestAdditions (aSource, 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_Facilities_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_ExecuteProcess_TO (smth) COM_FORWARD_IGuest_GetProcessOutput_TO (smth) COM_FORWARD_IGuest_GetProcessStatus_TO (smth) COM_FORWARD_IGuest_CopyFromGuest_TO (smth) COM_FORWARD_IGuest_CopyToGuest_TO (smth) COM_FORWARD_IGuest_DirectoryClose_TO (smth) COM_FORWARD_IGuest_DirectoryCreate_TO (smth) COM_FORWARD_IGuest_DirectoryOpen_TO (smth) COM_FORWARD_IGuest_DirectoryRead_TO (smth) COM_FORWARD_IGuest_FileExists_TO (smth) COM_FORWARD_IGuest_FileQuerySize_TO (smth) COM_FORWARD_IGuest_SetProcessInput_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(c20238e4-3221-4d3f-8891-81ce92d9f913),
    object,
    dual,
    oleautomation
]
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);

    HRESULT SetCurrentOperationProgress (
        [in] ULONG aPercent
    );

    HRESULT SetNextOperation (
        [in] BSTR aNextOperationDescription,
        [in] ULONG aNextOperationsWeight
    );

    HRESULT WaitForCompletion (
        [in] LONG aTimeout
    );

    HRESULT WaitForOperationCompletion (
        [in] ULONG aOperation,
        [in] LONG aTimeout
    );

    HRESULT WaitForAsyncProgressCompletion (
        [in] IProgress * aPProgressAsync
    );

    HRESULT Cancel();

}; /* 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_SetCurrentOperationProgress_TO(smth) HRESULT STDMETHODCALLTYPE SetCurrentOperationProgress (ULONG aPercent) { return smth SetCurrentOperationProgress (aPercent); }")
cpp_quote("#define COM_FORWARD_IProgress_SetCurrentOperationProgress_TO_OBJ(obj) COM_FORWARD_IProgress_SetCurrentOperationProgress_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_SetCurrentOperationProgress_TO_BASE(base) COM_FORWARD_IProgress_SetCurrentOperationProgress_TO (base::)")
cpp_quote("#define COM_FORWARD_IProgress_SetNextOperation_TO(smth) HRESULT STDMETHODCALLTYPE SetNextOperation (BSTR aNextOperationDescription, ULONG aNextOperationsWeight) { return smth SetNextOperation (aNextOperationDescription, aNextOperationsWeight); }")
cpp_quote("#define COM_FORWARD_IProgress_SetNextOperation_TO_OBJ(obj) COM_FORWARD_IProgress_SetNextOperation_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_SetNextOperation_TO_BASE(base) COM_FORWARD_IProgress_SetNextOperation_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_WaitForAsyncProgressCompletion_TO(smth) HRESULT STDMETHODCALLTYPE WaitForAsyncProgressCompletion (IProgress * aPProgressAsync) { return smth WaitForAsyncProgressCompletion (aPProgressAsync); }")
cpp_quote("#define COM_FORWARD_IProgress_WaitForAsyncProgressCompletion_TO_OBJ(obj) COM_FORWARD_IProgress_WaitForAsyncProgressCompletion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IProgress_WaitForAsyncProgressCompletion_TO_BASE(base) COM_FORWARD_IProgress_WaitForAsyncProgressCompletion_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_SetCurrentOperationProgress_TO (smth) COM_FORWARD_IProgress_SetNextOperation_TO (smth) COM_FORWARD_IProgress_WaitForCompletion_TO (smth) COM_FORWARD_IProgress_WaitForOperationCompletion_TO (smth) COM_FORWARD_IProgress_WaitForAsyncProgressCompletion_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(0472823b-c6e7-472a-8e9f-d732e86b8463),
    object,
    dual,
    oleautomation
]
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);

    HRESULT GetChildrenCount (
        [out, retval] ULONG * aChildrenCount
    );

}; /* 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_GetChildrenCount_TO(smth) HRESULT STDMETHODCALLTYPE GetChildrenCount (ULONG * aChildrenCount) { return smth GetChildrenCount (aChildrenCount); }")
cpp_quote("#define COM_FORWARD_ISnapshot_GetChildrenCount_TO_OBJ(obj) COM_FORWARD_ISnapshot_GetChildrenCount_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISnapshot_GetChildrenCount_TO_BASE(base) COM_FORWARD_ISnapshot_GetChildrenCount_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_GetChildrenCount_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(b5dfbb8c-7498-48c3-bf10-78fc60f064e1),
    object,
    dual,
    oleautomation
]
interface IMediumAttachment : IDispatch
{
    [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 BandwidthGroup ([out, retval] IBandwidthGroup * * aBandwidthGroup);

}; /* interface IMediumAttachment */

/* Interface implementation forwarder macro */
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_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_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_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(53f9cc0c-e0fd-40a5-a404-a7a5272082cd),
    object,
    dual,
    oleautomation
]
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] ULONG * 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);

    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] MediumState * aState
    );

    HRESULT UnlockRead (
        [out, retval] MediumState * aState
    );

    HRESULT LockWrite (
        [out, retval] MediumState * aState
    );

    HRESULT UnlockWrite (
        [out, retval] MediumState * aState
    );

    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] ULONG aVariant,
        [out, retval] IProgress * * aProgress
    );

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

    HRESULT CreateDiffStorage (
        [in] IMedium * aTarget,
        [in] ULONG aVariant,
        [out, retval] IProgress * * aProgress
    );

    HRESULT MergeTo (
        [in] IMedium * aTarget,
        [out, retval] IProgress * * aProgress
    );

    HRESULT CloneTo (
        [in] IMedium * aTarget,
        [in] ULONG aVariant,
        [in] IMedium * aParent,
        [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
    );

}; /* 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 (ULONG * 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 (MediumState * aState) { return smth LockRead (aState); }")
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_UnlockRead_TO(smth) HRESULT STDMETHODCALLTYPE UnlockRead (MediumState * aState) { return smth UnlockRead (aState); }")
cpp_quote("#define COM_FORWARD_IMedium_UnlockRead_TO_OBJ(obj) COM_FORWARD_IMedium_UnlockRead_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_UnlockRead_TO_BASE(base) COM_FORWARD_IMedium_UnlockRead_TO (base::)")
cpp_quote("#define COM_FORWARD_IMedium_LockWrite_TO(smth) HRESULT STDMETHODCALLTYPE LockWrite (MediumState * aState) { return smth LockWrite (aState); }")
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_UnlockWrite_TO(smth) HRESULT STDMETHODCALLTYPE UnlockWrite (MediumState * aState) { return smth UnlockWrite (aState); }")
cpp_quote("#define COM_FORWARD_IMedium_UnlockWrite_TO_OBJ(obj) COM_FORWARD_IMedium_UnlockWrite_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMedium_UnlockWrite_TO_BASE(base) COM_FORWARD_IMedium_UnlockWrite_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, ULONG 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, ULONG 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, ULONG 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_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_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_UnlockRead_TO (smth) COM_FORWARD_IMedium_LockWrite_TO (smth) COM_FORWARD_IMedium_UnlockWrite_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_Compact_TO (smth) COM_FORWARD_IMedium_Resize_TO (smth) COM_FORWARD_IMedium_Reset_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(9bd5b655-ea47-4637-99f3-aad0948be35b),
    object,
    dual,
    oleautomation
]
interface IMediumFormat : IDispatch
{
    [propget] HRESULT Id ([out, retval] BSTR * aId);

    [propget] HRESULT Name ([out, retval] BSTR * aName);

    [propget] HRESULT Capabilities ([out, retval] ULONG * aCapabilities);

    HRESULT DescribeFileExtensions (
        [out] SAFEARRAY(BSTR) * aExtensions,
        [out] SAFEARRAY(DeviceType) * aType
    );

    HRESULT DescribeProperties (
        [out] SAFEARRAY(BSTR) * aNames,
        [out] SAFEARRAY(BSTR) * aDescription,
        [out] SAFEARRAY(DataType) * aTypes,
        [out] SAFEARRAY(ULONG) * aFlags,
        [out] SAFEARRAY(BSTR) * aDefaults
    );

}; /* 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 (ULONG * 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 * * aType) { return smth DescribeFileExtensions (aExtensions, aType); }")
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 * * aDescription, SAFEARRAY * * aTypes, SAFEARRAY * * aFlags, SAFEARRAY * * aDefaults) { return smth DescribeProperties (aNames, aDescription, 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(f6916ec5-a881-4237-898f-7de58cf88672),
    object,
    dual,
    oleautomation
]
interface IKeyboard : IDispatch
{
    [propget] HRESULT EventSource ([out, retval] IEventSource * * aEventSource);

    HRESULT PutScancode (
        [in] LONG aScancode
    );

    HRESULT PutScancodes (
        [in] SAFEARRAY(LONG) aScancodes,
        [out, retval] ULONG * aCodesStored
    );

    HRESULT PutCAD();

}; /* interface IKeyboard */

/* Interface implementation forwarder macro */
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_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) ")
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(05044a52-7811-4f00-ae3a-0ab7ff707b10),
    object,
    dual,
    oleautomation
]
interface IMouse : IDispatch
{
    [propget] HRESULT AbsoluteSupported ([out, retval] BOOL * aAbsoluteSupported);

    [propget] HRESULT RelativeSupported ([out, retval] BOOL * aRelativeSupported);

    [propget] HRESULT NeedsHostCursor ([out, retval] BOOL * aNeedsHostCursor);

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

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

}; /* 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_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_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_TO(smth) COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO (smth) COM_FORWARD_IMouse_GETTER_RelativeSupported_TO (smth) COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO (smth) COM_FORWARD_IMouse_GETTER_EventSource_TO (smth) COM_FORWARD_IMouse_PutMouseEvent_TO (smth) COM_FORWARD_IMouse_PutMouseEventAbsolute_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(b7ed347a-5765-40a0-ae1c-f543eb4ddeaf),
    object,
    dual,
    oleautomation
]
interface IFramebuffer : IDispatch
{
    [propget] HRESULT Address ([out, retval] BYTE * * aAddress);

    [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] ULONG * aPixelFormat);

    [propget] HRESULT UsesGuestVRAM ([out, retval] BOOL * aUsesGuestVRAM);

    [propget] HRESULT HeightReduction ([out, retval] ULONG * aHeightReduction);

    [propget] HRESULT Overlay ([out, retval] IFramebufferOverlay * * aOverlay);

    [propget] HRESULT WinId ([out, retval] LONG64 * aWinId);

    HRESULT Lock();

    HRESULT Unlock();

    HRESULT NotifyUpdate (
        [in] ULONG aX,
        [in] ULONG aY,
        [in] ULONG aWidth,
        [in] ULONG aHeight
    );

    HRESULT RequestResize (
        [in] ULONG aScreenId,
        [in] ULONG aPixelFormat,
        [in] BYTE * aVRAM,
        [in] ULONG aBitsPerPixel,
        [in] ULONG aBytesPerLine,
        [in] ULONG aWidth,
        [in] ULONG aHeight,
        [out, retval] BOOL * aFinished
    );

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

}; /* interface IFramebuffer */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Address_TO(smth) HRESULT STDMETHODCALLTYPE get_Address (BYTE * * aAddress) { return smth get_Address (aAddress); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Address_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_Address_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_Address_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_Address_TO (base::)")
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 (ULONG * 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_UsesGuestVRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_UsesGuestVRAM (BOOL * aUsesGuestVRAM) { return smth get_UsesGuestVRAM (aUsesGuestVRAM); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_UsesGuestVRAM_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_UsesGuestVRAM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_GETTER_UsesGuestVRAM_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_UsesGuestVRAM_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_Lock_TO(smth) HRESULT STDMETHODCALLTYPE Lock() { return smth Lock(); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_Lock_TO_OBJ(obj) COM_FORWARD_IFramebuffer_Lock_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_Lock_TO_BASE(base) COM_FORWARD_IFramebuffer_Lock_TO (base::)")
cpp_quote("#define COM_FORWARD_IFramebuffer_Unlock_TO(smth) HRESULT STDMETHODCALLTYPE Unlock() { return smth Unlock(); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_Unlock_TO_OBJ(obj) COM_FORWARD_IFramebuffer_Unlock_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_Unlock_TO_BASE(base) COM_FORWARD_IFramebuffer_Unlock_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_RequestResize_TO(smth) HRESULT STDMETHODCALLTYPE RequestResize (ULONG aScreenId, ULONG aPixelFormat, BYTE * aVRAM, ULONG aBitsPerPixel, ULONG aBytesPerLine, ULONG aWidth, ULONG aHeight, BOOL * aFinished) { return smth RequestResize (aScreenId, aPixelFormat, aVRAM, aBitsPerPixel, aBytesPerLine, aWidth, aHeight, aFinished); }")
cpp_quote("#define COM_FORWARD_IFramebuffer_RequestResize_TO_OBJ(obj) COM_FORWARD_IFramebuffer_RequestResize_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IFramebuffer_RequestResize_TO_BASE(base) COM_FORWARD_IFramebuffer_RequestResize_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) { return smth ProcessVHWACommand (aCommand); }")
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_TO(smth) COM_FORWARD_IFramebuffer_GETTER_Address_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_UsesGuestVRAM_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_Lock_TO (smth) COM_FORWARD_IFramebuffer_Unlock_TO (smth) COM_FORWARD_IFramebuffer_NotifyUpdate_TO (smth) COM_FORWARD_IFramebuffer_RequestResize_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) ")
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(0bcc1c7e-e415-47d2-bfdb-e4c705fb0f47),
    object,
    dual,
    oleautomation
]
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(09EED313-CD56-4D06-BD56-FAC0F716B5DD),
    object,
    dual,
    oleautomation
]
interface IDisplay : IDispatch
{
    HRESULT GetScreenResolution (
        [in] ULONG aScreenId,
        [out] ULONG * aWidth,
        [out] ULONG * aHeight,
        [out] ULONG * aBitsPerPixel
    );

    HRESULT SetFramebuffer (
        [in] ULONG aScreenId,
        [in] IFramebuffer * aFramebuffer
    );

    HRESULT GetFramebuffer (
        [in] ULONG aScreenId,
        [out] IFramebuffer * * aFramebuffer,
        [out] LONG * aXOrigin,
        [out] LONG * aYOrigin
    );

    HRESULT SetVideoModeHint (
        [in] ULONG aWidth,
        [in] ULONG aHeight,
        [in] ULONG aBitsPerPixel,
        [in] ULONG aDisplay
    );

    HRESULT SetSeamlessMode (
        [in] BOOL aEnabled
    );

    HRESULT TakeScreenShot (
        [in] ULONG aScreenId,
        [in] BYTE * aAddress,
        [in] ULONG aWidth,
        [in] ULONG aHeight
    );

    HRESULT TakeScreenShotToArray (
        [in] ULONG aScreenId,
        [in] ULONG aWidth,
        [in] ULONG aHeight,
        [out, retval] SAFEARRAY(BYTE) * aScreenData
    );

    HRESULT TakeScreenShotPNGToArray (
        [in] ULONG aScreenId,
        [in] ULONG aWidth,
        [in] ULONG aHeight,
        [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 ResizeCompleted (
        [in] ULONG aScreenId
    );

    HRESULT CompleteVHWACommand (
        [in] BYTE * aCommand
    );

}; /* interface IDisplay */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IDisplay_GetScreenResolution_TO(smth) HRESULT STDMETHODCALLTYPE GetScreenResolution (ULONG aScreenId, ULONG * aWidth, ULONG * aHeight, ULONG * aBitsPerPixel) { return smth GetScreenResolution (aScreenId, aWidth, aHeight, aBitsPerPixel); }")
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_SetFramebuffer_TO(smth) HRESULT STDMETHODCALLTYPE SetFramebuffer (ULONG aScreenId, IFramebuffer * aFramebuffer) { return smth SetFramebuffer (aScreenId, aFramebuffer); }")
cpp_quote("#define COM_FORWARD_IDisplay_SetFramebuffer_TO_OBJ(obj) COM_FORWARD_IDisplay_SetFramebuffer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_SetFramebuffer_TO_BASE(base) COM_FORWARD_IDisplay_SetFramebuffer_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_GetFramebuffer_TO(smth) HRESULT STDMETHODCALLTYPE GetFramebuffer (ULONG aScreenId, IFramebuffer * * aFramebuffer, LONG * aXOrigin, LONG * aYOrigin) { return smth GetFramebuffer (aScreenId, aFramebuffer, aXOrigin, aYOrigin); }")
cpp_quote("#define COM_FORWARD_IDisplay_GetFramebuffer_TO_OBJ(obj) COM_FORWARD_IDisplay_GetFramebuffer_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_GetFramebuffer_TO_BASE(base) COM_FORWARD_IDisplay_GetFramebuffer_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_SetVideoModeHint_TO(smth) HRESULT STDMETHODCALLTYPE SetVideoModeHint (ULONG aWidth, ULONG aHeight, ULONG aBitsPerPixel, ULONG aDisplay) { return smth SetVideoModeHint (aWidth, aHeight, aBitsPerPixel, aDisplay); }")
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_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) { return smth TakeScreenShot (aScreenId, aAddress, aWidth, aHeight); }")
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, SAFEARRAY * * aScreenData) { return smth TakeScreenShotToArray (aScreenId, aWidth, aHeight, 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_TakeScreenShotPNGToArray_TO(smth) HRESULT STDMETHODCALLTYPE TakeScreenShotPNGToArray (ULONG aScreenId, ULONG aWidth, ULONG aHeight, SAFEARRAY * * aScreenData) { return smth TakeScreenShotPNGToArray (aScreenId, aWidth, aHeight, aScreenData); }")
cpp_quote("#define COM_FORWARD_IDisplay_TakeScreenShotPNGToArray_TO_OBJ(obj) COM_FORWARD_IDisplay_TakeScreenShotPNGToArray_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_TakeScreenShotPNGToArray_TO_BASE(base) COM_FORWARD_IDisplay_TakeScreenShotPNGToArray_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_ResizeCompleted_TO(smth) HRESULT STDMETHODCALLTYPE ResizeCompleted (ULONG aScreenId) { return smth ResizeCompleted (aScreenId); }")
cpp_quote("#define COM_FORWARD_IDisplay_ResizeCompleted_TO_OBJ(obj) COM_FORWARD_IDisplay_ResizeCompleted_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_ResizeCompleted_TO_BASE(base) COM_FORWARD_IDisplay_ResizeCompleted_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_CompleteVHWACommand_TO(smth) HRESULT STDMETHODCALLTYPE CompleteVHWACommand (BYTE * aCommand) { return smth CompleteVHWACommand (aCommand); }")
cpp_quote("#define COM_FORWARD_IDisplay_CompleteVHWACommand_TO_OBJ(obj) COM_FORWARD_IDisplay_CompleteVHWACommand_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IDisplay_CompleteVHWACommand_TO_BASE(base) COM_FORWARD_IDisplay_CompleteVHWACommand_TO (base::)")
cpp_quote("#define COM_FORWARD_IDisplay_TO(smth) COM_FORWARD_IDisplay_GetScreenResolution_TO (smth) COM_FORWARD_IDisplay_SetFramebuffer_TO (smth) COM_FORWARD_IDisplay_GetFramebuffer_TO (smth) COM_FORWARD_IDisplay_SetVideoModeHint_TO (smth) COM_FORWARD_IDisplay_SetSeamlessMode_TO (smth) COM_FORWARD_IDisplay_TakeScreenShot_TO (smth) COM_FORWARD_IDisplay_TakeScreenShotToArray_TO (smth) COM_FORWARD_IDisplay_TakeScreenShotPNGToArray_TO (smth) COM_FORWARD_IDisplay_DrawToScreen_TO (smth) COM_FORWARD_IDisplay_InvalidateAndUpdate_TO (smth) COM_FORWARD_IDisplay_ResizeCompleted_TO (smth) COM_FORWARD_IDisplay_CompleteVHWACommand_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(8b2e705c-0547-4008-b7bc-788757346092),
    object,
    dual,
    oleautomation
]
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 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 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 NatDriver ([out, retval] INATEngine * * aNatDriver);

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

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

}; /* 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_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_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_NatDriver_TO(smth) HRESULT STDMETHODCALLTYPE get_NatDriver (INATEngine * * aNatDriver) { return smth get_NatDriver (aNatDriver); }")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_NatDriver_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_NatDriver_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_INetworkAdapter_GETTER_NatDriver_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_NatDriver_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_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_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_NatDriver_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(937f6970-5103-4745-b78e-d28dcf1479a8),
    object,
    dual,
    oleautomation
]
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 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 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);

}; /* 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_IOBase_TO(smth) HRESULT STDMETHODCALLTYPE get_IOBase (ULONG * aIOBase) { return smth get_IOBase (aIOBase); }")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_IOBase_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_IOBase_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_GETTER_IOBase_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_IOBase_TO (base::)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_IOBase_TO(smth) HRESULT STDMETHODCALLTYPE put_IOBase (ULONG aIOBase) { return smth put_IOBase (aIOBase); }")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_IOBase_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_IOBase_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_ISerialPort_SETTER_IOBase_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_IOBase_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_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_IOBase_TO (smth) COM_FORWARD_ISerialPort_SETTER_IOBase_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) ")
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(0c925f06-dd10-4b77-8de8-294d738c3214),
    object,
    dual,
    oleautomation
]
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);

}; /* 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(1bfd2fa9-0d91-44d3-9515-368dcbb3eb4d),
    object,
    dual,
    oleautomation
]
interface IMachineDebugger : IDispatch
{
    [propget] HRESULT Singlestep ([out, retval] BOOL * aSinglestep);
    [propput] HRESULT Singlestep ([in] BOOL aSinglestep);

    [propget] HRESULT RecompileUser ([out, retval] BOOL * aRecompileUser);
    [propput] HRESULT RecompileUser ([in] BOOL aRecompileUser);

    [propget] HRESULT RecompileSupervisor ([out, retval] BOOL * aRecompileSupervisor);
    [propput] HRESULT RecompileSupervisor ([in] BOOL aRecompileSupervisor);

    [propget] HRESULT PATMEnabled ([out, retval] BOOL * aPATMEnabled);
    [propput] HRESULT PATMEnabled ([in] BOOL aPATMEnabled);

    [propget] HRESULT CSAMEnabled ([out, retval] BOOL * aCSAMEnabled);
    [propput] HRESULT CSAMEnabled ([in] BOOL aCSAMEnabled);

    [propget] HRESULT LogEnabled ([out, retval] BOOL * aLogEnabled);
    [propput] HRESULT LogEnabled ([in] BOOL aLogEnabled);

    [propget] HRESULT LogFlags ([out, retval] BSTR * aLogFlags);

    [propget] HRESULT LogGroups ([out, retval] BSTR * aLogGroups);

    [propget] HRESULT LogDestinations ([out, retval] BSTR * aLogDestinations);

    [propget] HRESULT HWVirtExEnabled ([out, retval] BOOL * aHWVirtExEnabled);

    [propget] HRESULT HWVirtExNestedPagingEnabled ([out, retval] BOOL * aHWVirtExNestedPagingEnabled);

    [propget] HRESULT HWVirtExVPIDEnabled ([out, retval] BOOL * aHWVirtExVPIDEnabled);

    [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 VM ([out, retval] LONG64 * aVM);

    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 DetectOS (
        [out, retval] BSTR * aOs
    );

    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] BSTR * aStats
    );

}; /* 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_RecompileUser_TO(smth) HRESULT STDMETHODCALLTYPE get_RecompileUser (BOOL * aRecompileUser) { return smth get_RecompileUser (aRecompileUser); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_RecompileUser_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_RecompileUser_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_RecompileUser_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_RecompileUser_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_RecompileUser_TO(smth) HRESULT STDMETHODCALLTYPE put_RecompileUser (BOOL aRecompileUser) { return smth put_RecompileUser (aRecompileUser); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_RecompileUser_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_RecompileUser_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_RecompileUser_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_RecompileUser_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_RecompileSupervisor_TO(smth) HRESULT STDMETHODCALLTYPE get_RecompileSupervisor (BOOL * aRecompileSupervisor) { return smth get_RecompileSupervisor (aRecompileSupervisor); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_RecompileSupervisor_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_RecompileSupervisor_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_RecompileSupervisor_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_RecompileSupervisor_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_RecompileSupervisor_TO(smth) HRESULT STDMETHODCALLTYPE put_RecompileSupervisor (BOOL aRecompileSupervisor) { return smth put_RecompileSupervisor (aRecompileSupervisor); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_RecompileSupervisor_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_RecompileSupervisor_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_RecompileSupervisor_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_RecompileSupervisor_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_PATMEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_PATMEnabled (BOOL * aPATMEnabled) { return smth get_PATMEnabled (aPATMEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_PATMEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_PATMEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_PATMEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_PATMEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_PATMEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_PATMEnabled (BOOL aPATMEnabled) { return smth put_PATMEnabled (aPATMEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_PATMEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_PATMEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_PATMEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_PATMEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_CSAMEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_CSAMEnabled (BOOL * aCSAMEnabled) { return smth get_CSAMEnabled (aCSAMEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_CSAMEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_CSAMEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_CSAMEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_CSAMEnabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_CSAMEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_CSAMEnabled (BOOL aCSAMEnabled) { return smth put_CSAMEnabled (aCSAMEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_CSAMEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_CSAMEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_SETTER_CSAMEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_CSAMEnabled_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_LogFlags_TO(smth) HRESULT STDMETHODCALLTYPE get_LogFlags (BSTR * aLogFlags) { return smth get_LogFlags (aLogFlags); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogFlags_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogFlags_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogFlags_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogFlags_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogGroups_TO(smth) HRESULT STDMETHODCALLTYPE get_LogGroups (BSTR * aLogGroups) { return smth get_LogGroups (aLogGroups); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogGroups_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogGroups_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogGroups_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogGroups_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDestinations_TO(smth) HRESULT STDMETHODCALLTYPE get_LogDestinations (BSTR * aLogDestinations) { return smth get_LogDestinations (aLogDestinations); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDestinations_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogDestinations_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_LogDestinations_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogDestinations_TO (base::)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_HWVirtExEnabled (BOOL * aHWVirtExEnabled) { return smth get_HWVirtExEnabled (aHWVirtExEnabled); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExEnabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExEnabled_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_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_VM_TO(smth) HRESULT STDMETHODCALLTYPE get_VM (LONG64 * aVM) { return smth get_VM (aVM); }")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_VM_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_VM_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IMachineDebugger_GETTER_VM_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_VM_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_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_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_TO(smth) COM_FORWARD_IMachineDebugger_GETTER_Singlestep_TO (smth) COM_FORWARD_IMachineDebugger_SETTER_Singlestep_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_RecompileUser_TO (smth) COM_FORWARD_IMachineDebugger_SETTER_RecompileUser_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_RecompileSupervisor_TO (smth) COM_FORWARD_IMachineDebugger_SETTER_RecompileSupervisor_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_PATMEnabled_TO (smth) COM_FORWARD_IMachineDebugger_SETTER_PATMEnabled_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_CSAMEnabled_TO (smth) COM_FORWARD_IMachineDebugger_SETTER_CSAMEnabled_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO (smth) COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogFlags_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogGroups_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogDestinations_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExEnabled_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_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_VM_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_DetectOS_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) ")
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(6fdcccc5-abd3-4fec-9387-2ad3914fc4a8),
    object,
    dual,
    oleautomation
]
interface IUSBController : IDispatch
{
    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT EnabledEhci ([out, retval] BOOL * aEnabledEhci);
    [propput] HRESULT EnabledEhci ([in] BOOL aEnabledEhci);

    [propget] HRESULT ProxyAvailable ([out, retval] BOOL * aProxyAvailable);

    [propget] HRESULT USBStandard ([out, retval] USHORT * aUSBStandard);

    [propget] HRESULT DeviceFilters ([out, retval] SAFEARRAY(IUSBDeviceFilter *) * aDeviceFilters);

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

}; /* interface IUSBController */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IUSBController_GETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IUSBController_GETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IUSBController_SETTER_Enabled_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IUSBController_SETTER_Enabled_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_EnabledEhci_TO(smth) HRESULT STDMETHODCALLTYPE get_EnabledEhci (BOOL * aEnabledEhci) { return smth get_EnabledEhci (aEnabledEhci); }")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_EnabledEhci_TO_OBJ(obj) COM_FORWARD_IUSBController_GETTER_EnabledEhci_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_EnabledEhci_TO_BASE(base) COM_FORWARD_IUSBController_GETTER_EnabledEhci_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_EnabledEhci_TO(smth) HRESULT STDMETHODCALLTYPE put_EnabledEhci (BOOL aEnabledEhci) { return smth put_EnabledEhci (aEnabledEhci); }")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_EnabledEhci_TO_OBJ(obj) COM_FORWARD_IUSBController_SETTER_EnabledEhci_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_SETTER_EnabledEhci_TO_BASE(base) COM_FORWARD_IUSBController_SETTER_EnabledEhci_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_ProxyAvailable_TO(smth) HRESULT STDMETHODCALLTYPE get_ProxyAvailable (BOOL * aProxyAvailable) { return smth get_ProxyAvailable (aProxyAvailable); }")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_ProxyAvailable_TO_OBJ(obj) COM_FORWARD_IUSBController_GETTER_ProxyAvailable_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_ProxyAvailable_TO_BASE(base) COM_FORWARD_IUSBController_GETTER_ProxyAvailable_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_GETTER_DeviceFilters_TO(smth) HRESULT STDMETHODCALLTYPE get_DeviceFilters (SAFEARRAY * * aDeviceFilters) { return smth get_DeviceFilters (aDeviceFilters); }")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_DeviceFilters_TO_OBJ(obj) COM_FORWARD_IUSBController_GETTER_DeviceFilters_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_GETTER_DeviceFilters_TO_BASE(base) COM_FORWARD_IUSBController_GETTER_DeviceFilters_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_CreateDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE CreateDeviceFilter (BSTR aName, IUSBDeviceFilter * * aFilter) { return smth CreateDeviceFilter (aName, aFilter); }")
cpp_quote("#define COM_FORWARD_IUSBController_CreateDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBController_CreateDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_CreateDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBController_CreateDeviceFilter_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_InsertDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE InsertDeviceFilter (ULONG aPosition, IUSBDeviceFilter * aFilter) { return smth InsertDeviceFilter (aPosition, aFilter); }")
cpp_quote("#define COM_FORWARD_IUSBController_InsertDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBController_InsertDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_InsertDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBController_InsertDeviceFilter_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_RemoveDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE RemoveDeviceFilter (ULONG aPosition, IUSBDeviceFilter * * aFilter) { return smth RemoveDeviceFilter (aPosition, aFilter); }")
cpp_quote("#define COM_FORWARD_IUSBController_RemoveDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBController_RemoveDeviceFilter_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBController_RemoveDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBController_RemoveDeviceFilter_TO (base::)")
cpp_quote("#define COM_FORWARD_IUSBController_TO(smth) COM_FORWARD_IUSBController_GETTER_Enabled_TO (smth) COM_FORWARD_IUSBController_SETTER_Enabled_TO (smth) COM_FORWARD_IUSBController_GETTER_EnabledEhci_TO (smth) COM_FORWARD_IUSBController_SETTER_EnabledEhci_TO (smth) COM_FORWARD_IUSBController_GETTER_ProxyAvailable_TO (smth) COM_FORWARD_IUSBController_GETTER_USBStandard_TO (smth) COM_FORWARD_IUSBController_GETTER_DeviceFilters_TO (smth) COM_FORWARD_IUSBController_CreateDeviceFilter_TO (smth) COM_FORWARD_IUSBController_InsertDeviceFilter_TO (smth) COM_FORWARD_IUSBController_RemoveDeviceFilter_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(f8967b0b-4483-400f-92b5-8b675d98a85b),
    object,
    dual,
    oleautomation
]
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 Version ([out, retval] USHORT * aVersion);

    [propget] HRESULT PortVersion ([out, retval] USHORT * aPortVersion);

    [propget] HRESULT Remote ([out, retval] BOOL * aRemote);

}; /* 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_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_PortVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_PortVersion (USHORT * aPortVersion) { return smth get_PortVersion (aPortVersion); }")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_PortVersion_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_PortVersion_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IUSBDevice_GETTER_PortVersion_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_PortVersion_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_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_Version_TO (smth) COM_FORWARD_IUSBDevice_GETTER_PortVersion_TO (smth) COM_FORWARD_IUSBDevice_GETTER_Remote_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(d6831fb4-1a94-4c2c-96ef-8d0d6192066d),
    object,
    dual,
    oleautomation
]
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);

}; /* 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(173b4b44-d268-4334-a00d-b6521c9a740a),
    object,
    dual,
    oleautomation
]
interface IHostUSBDevice : IUSBDevice
{
    [propget] HRESULT State ([out, retval] USBDeviceState * aState);

}; /* 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(4cc70246-d74a-400f-8222-3900489c0374),
    object,
    dual,
    oleautomation
]
interface IHostUSBDeviceFilter : IUSBDeviceFilter
{
    [propget] HRESULT Action ([out, retval] USBDeviceFilterAction * aAction);
    [propput] HRESULT Action ([in] USBDeviceFilterAction aAction);

}; /* 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(921873db-5f3f-4b69-91f9-7be9e535a2cb),
    object,
    dual,
    oleautomation
]
interface IAudioAdapter : IDispatch
{
    [propget] HRESULT Enabled ([out, retval] BOOL * aEnabled);
    [propput] HRESULT Enabled ([in] BOOL aEnabled);

    [propget] HRESULT AudioController ([out, retval] AudioControllerType * aAudioController);
    [propput] HRESULT AudioController ([in] AudioControllerType aAudioController);

    [propget] HRESULT AudioDriver ([out, retval] AudioDriverType * aAudioDriver);
    [propput] HRESULT AudioDriver ([in] AudioDriverType aAudioDriver);

}; /* 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_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_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_TO(smth) COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO (smth) COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO (smth) COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO (smth) COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO (smth) COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO (smth) COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_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(d38de40a-c2c1-4e95-b5a4-167b05f5694c),
    object,
    dual,
    oleautomation
]
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);

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

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

}; /* 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(8388da11-b559-4574-a5b7-2bd7acd5cef8),
    object,
    dual,
    oleautomation
]
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);

    [propget] HRESULT AutoMount ([out, retval] BOOL * aAutoMount);

    [propget] HRESULT LastAccessError ([out, retval] BSTR * aLastAccessError);

}; /* 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_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_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_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_GETTER_AutoMount_TO (smth) COM_FORWARD_ISharedFolder_GETTER_LastAccessError_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(c2b4cd5f-d3ce-4dd6-b915-123272163ef5),
    object,
    dual,
    oleautomation
]
interface IInternalSessionControl : IDispatch
{
    HRESULT GetPID (
        [out, retval] ULONG * aPid
    );

    HRESULT GetRemoteConsole (
        [out, retval] IConsole * * aConsole
    );

    HRESULT AssignMachine (
        [in] IMachine * aMachine
    );

    HRESULT AssignRemoteMachine (
        [in] IMachine * aMachine,
        [in] IConsole * aConsole
    );

    HRESULT UpdateMachineState (
        [in] MachineState aAMachineState
    );

    HRESULT Uninitialize();

    HRESULT OnNetworkAdapterChange (
        [in] INetworkAdapter * aNetworkAdapter,
        [in] BOOL aChangeAdapter
    );

    HRESULT OnSerialPortChange (
        [in] ISerialPort * aSerialPort
    );

    HRESULT OnParallelPortChange (
        [in] IParallelPort * aParallelPort
    );

    HRESULT OnStorageControllerChange();

    HRESULT OnMediumChange (
        [in] IMediumAttachment * aMediumAttachment,
        [in] BOOL aForce
    );

    HRESULT OnStorageDeviceChange (
        [in] IMediumAttachment * aMediumAttachment,
        [in] BOOL aRemove
    );

    HRESULT OnCPUChange (
        [in] ULONG aCpu,
        [in] BOOL aAdd
    );

    HRESULT OnCPUExecutionCapChange (
        [in] ULONG aExecutionCap
    );

    HRESULT OnVRDEServerChange (
        [in] BOOL aRestart
    );

    HRESULT OnUSBControllerChange();

    HRESULT OnSharedFolderChange (
        [in] BOOL aGlobal
    );

    HRESULT OnUSBDeviceAttach (
        [in] IUSBDevice * aDevice,
        [in] IVirtualBoxErrorInfo * aError,
        [in] ULONG aMaskedInterfaces
    );

    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] BOOL aIsSetter,
        [out] BSTR * aRetValue,
        [out] LONG64 * aRetTimestamp,
        [out] BSTR * aRetFlags
    );

    HRESULT EnumerateGuestProperties (
        [in] BSTR aPatterns,
        [out] SAFEARRAY(BSTR) * aKey,
        [out] SAFEARRAY(BSTR) * aValue,
        [out] SAFEARRAY(LONG64) * aTimestamp,
        [out] SAFEARRAY(BSTR) * aFlags
    );

    HRESULT OnlineMergeMedium (
        [in] IMediumAttachment * aMediumAttachment,
        [in] ULONG aSourceIdx,
        [in] ULONG aTargetIdx,
        [in] IMedium * aSource,
        [in] IMedium * aTarget,
        [in] BOOL aMergeForward,
        [in] IMedium * aParentForTarget,
        [in] SAFEARRAY(IMedium *) aChildrenToReparent,
        [in] IProgress * aProgress
    );

    HRESULT EnableVMMStatistics (
        [in] BOOL aEnable
    );

}; /* interface IInternalSessionControl */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GetPID_TO(smth) HRESULT STDMETHODCALLTYPE GetPID (ULONG * aPid) { return smth GetPID (aPid); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GetPID_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_GetPID_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GetPID_TO_BASE(base) COM_FORWARD_IInternalSessionControl_GetPID_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GetRemoteConsole_TO(smth) HRESULT STDMETHODCALLTYPE GetRemoteConsole (IConsole * * aConsole) { return smth GetRemoteConsole (aConsole); }")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GetRemoteConsole_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_GetRemoteConsole_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_GetRemoteConsole_TO_BASE(base) COM_FORWARD_IInternalSessionControl_GetRemoteConsole_TO (base::)")
cpp_quote("#define COM_FORWARD_IInternalSessionControl_AssignMachine_TO(smth) HRESULT STDMETHODCALLTYPE AssignMachine (IMachine * aMachine) { return smth AssignMachine (aMachine); }")
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_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 aAMachineState) { return smth UpdateMachineState (aAMachineState); }")
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_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() { return smth OnStorageControllerChange(); }")
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) { return smth OnStorageDeviceChange (aMediumAttachment, aRemove); }")
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_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_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_OnUSBDeviceAttach_TO(smth) HRESULT STDMETHODCALLTYPE OnUSBDeviceAttach (IUSBDevice * aDevice, IVirtualBoxErrorInfo * aError, ULONG aMaskedInterfaces) { return smth OnUSBDeviceAttach (aDevice, aError, aMaskedInterfaces); }")
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, BOOL aIsSetter, BSTR * aRetValue, LONG64 * aRetTimestamp, BSTR * aRetFlags) { return smth AccessGuestProperty (aName, aValue, aFlags, aIsSetter, 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 * * aKey, SAFEARRAY * * aValue, SAFEARRAY * * aTimestamp, SAFEARRAY * * aFlags) { return smth EnumerateGuestProperties (aPatterns, aKey, aValue, aTimestamp, 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, IMedium * aSource, IMedium * aTarget, BOOL aMergeForward, IMedium * aParentForTarget, SAFEARRAY * * aChildrenToReparent, IProgress * aProgress) { return smth OnlineMergeMedium (aMediumAttachment, aSourceIdx, aTargetIdx, aSource, aTarget, aMergeForward, aParentForTarget, aChildrenToReparent, 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_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_TO(smth) COM_FORWARD_IInternalSessionControl_GetPID_TO (smth) COM_FORWARD_IInternalSessionControl_GetRemoteConsole_TO (smth) COM_FORWARD_IInternalSessionControl_AssignMachine_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_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_OnCPUChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_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_EnableVMMStatistics_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(12F4DCDB-12B2-4EC1-B7CD-DDD9F6C5BF4D),
    object,
    dual,
    oleautomation
]
interface ISession : IDispatch
{
    [propget] HRESULT State ([out, retval] SessionState * aState);

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

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

    [propget] HRESULT Console ([out, retval] IConsole * * aConsole);

    HRESULT UnlockMachine();

}; /* 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_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_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(a1556333-09b6-46d9-bfb7-fc239b7fbe1e),
    object,
    dual,
    oleautomation
]
interface IStorageController : IDispatch
{
    [propget] HRESULT Name ([out, retval] 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);

    HRESULT GetIDEEmulationPort (
        [in] LONG aDevicePosition,
        [out, retval] LONG * aPortNumber
    );

    HRESULT SetIDEEmulationPort (
        [in] LONG aDevicePosition,
        [in] LONG aPortNumber
    );

}; /* 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_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_GetIDEEmulationPort_TO(smth) HRESULT STDMETHODCALLTYPE GetIDEEmulationPort (LONG aDevicePosition, LONG * aPortNumber) { return smth GetIDEEmulationPort (aDevicePosition, aPortNumber); }")
cpp_quote("#define COM_FORWARD_IStorageController_GetIDEEmulationPort_TO_OBJ(obj) COM_FORWARD_IStorageController_GetIDEEmulationPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_GetIDEEmulationPort_TO_BASE(base) COM_FORWARD_IStorageController_GetIDEEmulationPort_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_SetIDEEmulationPort_TO(smth) HRESULT STDMETHODCALLTYPE SetIDEEmulationPort (LONG aDevicePosition, LONG aPortNumber) { return smth SetIDEEmulationPort (aDevicePosition, aPortNumber); }")
cpp_quote("#define COM_FORWARD_IStorageController_SetIDEEmulationPort_TO_OBJ(obj) COM_FORWARD_IStorageController_SetIDEEmulationPort_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IStorageController_SetIDEEmulationPort_TO_BASE(base) COM_FORWARD_IStorageController_SetIDEEmulationPort_TO (base::)")
cpp_quote("#define COM_FORWARD_IStorageController_TO(smth) COM_FORWARD_IStorageController_GETTER_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) COM_FORWARD_IStorageController_GetIDEEmulationPort_TO (smth) COM_FORWARD_IStorageController_SetIDEEmulationPort_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(2a1a60ae-9345-4019-ad53-d34ba41cbfe9),
    object,
    dual,
    oleautomation
]
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);

}; /* 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(e22e1acb-ac4a-43bb-a31c-17321659b0c6),
    object,
    dual,
    oleautomation
]
interface IPerformanceCollector : IDispatch
{
    [propget] HRESULT MetricNames ([out, retval] SAFEARRAY(BSTR) * aMetricNames);

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

}; /* 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(4b286616-eb03-11de-b0fb-1701eca42246),
    object,
    dual,
    oleautomation
]
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);

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

}; /* 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_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_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(58000040-e718-4746-bbce-4b86d96da461),
    object,
    dual,
    oleautomation
]
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);

}; /* 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(5ffb0b64-0ad6-467d-af62-1157e7dc3c99),
    object,
    dual,
    oleautomation
]
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 VRDEModule ([out, retval] BSTR * aVRDEModule);

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

    HRESULT QueryLicense (
        [in] BSTR aPreferredLocale,
        [in] BSTR aPreferredLanguage,
        [in] BSTR aFormat,
        [out, retval] BSTR * aLicenseText
    );

}; /* 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_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_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_VRDEModule_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
]
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(b6b49f55-efcc-4f08-b486-56e8d8afb10b),
    object,
    dual,
    oleautomation
]
interface IExtPackFile : IExtPackBase
{
    [propget] HRESULT FilePath ([out, retval] BSTR * aFilePath);

    HRESULT Install (
        [in] BOOL aReplace,
        [in] BSTR aDisplayInfo,
        [out, retval] IProgress * * aProgess
    );

}; /* 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 * * aProgess) { return smth Install (aReplace, aDisplayInfo, aProgess); }")
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(3295e6ce-b051-47b2-9514-2c588bfe7554),
    object,
    dual,
    oleautomation
]
interface IExtPackManager : IDispatch
{
    [propget] HRESULT InstalledExtPacks ([out, retval] SAFEARRAY(IExtPack *) * aInstalledExtPacks);

    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 * * aProgess
    );

    HRESULT Cleanup();

    HRESULT QueryAllPlugInsForFrontend (
        [in] BSTR aFrontendName,
        [out, retval] SAFEARRAY(BSTR) * aPlugInModules
    );

    HRESULT IsExtPackUsable (
        [in] BSTR aName,
        [out, retval] BOOL * aUsable
    );

}; /* 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 * * aProgess) { return smth Uninstall (aName, aForcedRemoval, aDisplayInfo, aProgess); }")
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(badea2d7-0261-4146-89f0-6a57cc34833d),
    object,
    dual,
    oleautomation
]
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 MaxMbPerSec ([out, retval] ULONG * aMaxMbPerSec);
    [propput] HRESULT MaxMbPerSec ([in] ULONG aMaxMbPerSec);

}; /* 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_MaxMbPerSec_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxMbPerSec (ULONG * aMaxMbPerSec) { return smth get_MaxMbPerSec (aMaxMbPerSec); }")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_MaxMbPerSec_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_GETTER_MaxMbPerSec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_GETTER_MaxMbPerSec_TO_BASE(base) COM_FORWARD_IBandwidthGroup_GETTER_MaxMbPerSec_TO (base::)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_SETTER_MaxMbPerSec_TO(smth) HRESULT STDMETHODCALLTYPE put_MaxMbPerSec (ULONG aMaxMbPerSec) { return smth put_MaxMbPerSec (aMaxMbPerSec); }")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_SETTER_MaxMbPerSec_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_SETTER_MaxMbPerSec_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IBandwidthGroup_SETTER_MaxMbPerSec_TO_BASE(base) COM_FORWARD_IBandwidthGroup_SETTER_MaxMbPerSec_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_MaxMbPerSec_TO (smth) COM_FORWARD_IBandwidthGroup_SETTER_MaxMbPerSec_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(e2eb3930-d2f4-4f87-be17-0707e30f019f),
    object,
    dual,
    oleautomation
]
interface IBandwidthControl : IDispatch
{
    [propget] HRESULT NumGroups ([out, retval] ULONG * aNumGroups);

    HRESULT CreateBandwidthGroup (
        [in] BSTR aName,
        [in] BandwidthGroupType aType,
        [in] ULONG aMaxMbPerSec
    );

    HRESULT DeleteBandwidthGroup (
        [in] BSTR aName
    );

    HRESULT GetBandwidthGroup (
        [in] BSTR aName,
        [out, retval] IBandwidthGroup * * aBandwidthGroup
    );

    HRESULT GetAllBandwidthGroups (
        [out, retval] SAFEARRAY(IBandwidthGroup *) * aBandwidthGroups
    );

}; /* 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, ULONG aMaxMbPerSec) { return smth CreateBandwidthGroup (aName, aType, aMaxMbPerSec); }")
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(5fe0bd48-1181-40d1-991f-3b02f269a823),
    object,
    dual,
    oleautomation
]
interface IVirtualBoxClient : IDispatch
{
    [propget] HRESULT VirtualBox ([out, retval] IVirtualBox * * aVirtualBox);

    [propget] HRESULT Session ([out, retval] ISession * * aSession);

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

}; /* 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_TO(smth) COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO (smth) COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO (smth) COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_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
]
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
]
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
]
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
]
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
]
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
]
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(abe94809-2e88-4436-83d7-50f3e64d0503),
    object,
    dual,
    oleautomation
]
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
]
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(c354a762-3ff2-4f2e-8f09-07382ee25088),
    object,
    dual,
    oleautomation
]
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
]
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(3f63597a-26f1-4edb-8dd2-6bddd0912368),
    object,
    dual,
    oleautomation
]
interface IGuestPropertyChangedEvent : IMachineEvent
{
    [propget] HRESULT Name ([out, retval] BSTR * aName);

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

    [propget] HRESULT Flags ([out, retval] BSTR * aFlags);

}; /* 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_TO(smth) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO (smth) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO (smth) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_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
]
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
]
interface ISnapshotTakenEvent : ISnapshotEvent
{
}; /* interface ISnapshotTakenEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISnapshotTakenEvent_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
]
interface ISnapshotDeletedEvent : ISnapshotEvent
{
}; /* interface ISnapshotDeletedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISnapshotDeletedEvent_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(07541941-8079-447a-a33e-47a69c7980db),
    object,
    dual,
    oleautomation
]
interface ISnapshotChangedEvent : ISnapshotEvent
{
}; /* interface ISnapshotChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ISnapshotChangedEvent_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
]
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(d633ad48-820c-4207-b46c-6bd3596640d5),
    object,
    dual,
    oleautomation
]
interface IMouseCapabilityChangedEvent : IEvent
{
    [propget] HRESULT SupportsAbsolute ([out, retval] BOOL * aSupportsAbsolute);

    [propget] HRESULT SupportsRelative ([out, retval] BOOL * aSupportsRelative);

    [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_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_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
]
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
]
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
]
interface IAdditionsStateChangedEvent : IEvent
{
}; /* interface IAdditionsStateChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IAdditionsStateChangedEvent_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
]
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(3BA329DC-659C-488B-835C-4ECA7AE71C6C),
    object,
    dual,
    oleautomation
]
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
]
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(715212BF-DA59-426E-8230-3831FAA52C56),
    object,
    dual,
    oleautomation
]
interface IStorageControllerChangedEvent : IEvent
{
}; /* interface IStorageControllerChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IStorageControllerChangedEvent_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
]
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(D0F0BECC-EE17-4D17-A8CC-383B0EB55E9D),
    object,
    dual,
    oleautomation
]
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
]
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
]
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(1f85d35c-c524-40ff-8e98-307000df0992),
    object,
    dual,
    oleautomation
]
interface IGuestMouseEvent : IReusableEvent
{
    [propget] HRESULT Absolute ([out, retval] BOOL * aAbsolute);

    [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_Absolute_TO(smth) HRESULT STDMETHODCALLTYPE get_Absolute (BOOL * aAbsolute) { return smth get_Absolute (aAbsolute); }")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Absolute_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_Absolute_TO ((obj)->)")
cpp_quote("#define COM_FORWARD_IGuestMouseEvent_GETTER_Absolute_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_Absolute_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_Absolute_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(a06fd66a-3188-4c8c-8756-1395e8cb691c),
    object,
    dual,
    oleautomation
]
interface IVRDEServerChangedEvent : IEvent
{
}; /* interface IVRDEServerChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVRDEServerChangedEvent_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
]
interface IVRDEServerInfoChangedEvent : IEvent
{
}; /* interface IVRDEServerInfoChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IVRDEServerInfoChangedEvent_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(93BADC0C-61D9-4940-A084-E6BB29AF3D83),
    object,
    dual,
    oleautomation
]
interface IUSBControllerChangedEvent : IEvent
{
}; /* interface IUSBControllerChangedEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_IUSBControllerChangedEvent_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
]
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
]
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
]
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
]
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
]
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(9a1a4130-69fe-472f-ac10-c6fa25d75007),
    object,
    dual,
    oleautomation
]
interface IVetoEvent : IEvent
{
    HRESULT AddVeto (
        [in] BSTR aReason
    );

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

    HRESULT GetVetos (
        [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_TO(smth) COM_FORWARD_IVetoEvent_AddVeto_TO (smth) COM_FORWARD_IVetoEvent_IsVetoed_TO (smth) COM_FORWARD_IVetoEvent_GetVetos_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
]
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
]
interface ICanShowWindowEvent : IVetoEvent
{
}; /* interface ICanShowWindowEvent */

/* Interface implementation forwarder macro */
cpp_quote("#define COM_FORWARD_ICanShowWindowEvent_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
]
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(57DE97D7-3CBB-42A0-888F-610D5832D16B),
    object,
    dual,
    oleautomation
]
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(9cebfc27-c579-4965-8eb7-d31794cd7dcf),
    object,
    dual,
    oleautomation
]
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
]
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
]
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
]
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(8a5c2dce-e341-49d4-afce-c95979f7d70c),
    object,
    dual,
    oleautomation
]
interface IStorageDeviceChangedEvent : IEvent
{
    [propget] HRESULT StorageDevice ([out, retval] IMediumAttachment * * aStorageDevice);

    [propget] HRESULT Removed ([out, retval] BOOL * aRemoved);

}; /* 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_TO(smth) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO (smth) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_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(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 */

}; /* library VirtualBox */

