blob: ce3d486b038aaa649e8b7528163272ed14fa3711 [file] [log] [blame]
/* Automated generated idl file <imapi2>.
* Generated by genidl tool (c) 2009, 2010 Mingw-w64 project.
*/
#include <windows.h>
/* Interface forward declarations. */
interface DDiscMaster2Events;
interface DWriteEngine2Events;
interface DDiscFormat2EraseEvents;
interface DDiscFormat2DataEvents;
interface DDiscFormat2TrackAtOnceEvents;
interface DDiscFormat2RawCDEvents;
interface IStream;
interface ISequentialStream;
interface IBurnVerification;
interface IConnectionPointContainer;
interface IEnumConnectionPoints;
interface IConnectionPoint;
interface IEnumConnections;
interface IDiscRecorder2Ex;
interface IStreamPseudoRandomBased;
interface IStreamConcatenate;
interface IStreamInterleave;
interface IMultisessionSequential;
interface IMultisession;
/* Structure forward declarations. */
struct _LARGE_INTEGER;
struct _ULARGE_INTEGER;
struct tagSTATSTG;
struct _FILETIME;
struct tagCONNECTDATA;
/* Union record forward declarations. */
dispinterface IWriteEngine2EventArgs;
dispinterface IDiscFormat2DataEventArgs;
dispinterface IDiscFormat2TrackAtOnceEventArgs;
dispinterface IDiscFormat2RawCDEventArgs;
dispinterface IWriteSpeedDescriptor;
dispinterface IRawCDImageCreator;
dispinterface IRawCDImageTrackInfo;
dispinterface IDiscMaster2;
dispinterface IDiscRecorder2;
dispinterface IWriteEngine2;
dispinterface IDiscFormat2Erase;
dispinterface IDiscFormat2;
dispinterface IDiscFormat2Data;
dispinterface IDiscFormat2TrackAtOnce;
dispinterface IDiscFormat2RawCD;
/* Union record forward declarations. */
coclass MsftDiscMaster2;
coclass MsftDiscRecorder2;
coclass MsftWriteEngine2;
coclass MsftDiscFormat2Erase;
coclass MsftDiscFormat2Data;
coclass MsftDiscFormat2TrackAtOnce;
coclass MsftDiscFormat2RawCD;
coclass MsftStreamZero;
coclass MsftStreamPrng001;
coclass MsftStreamConcatenate;
coclass MsftStreamInterleave;
coclass MsftWriteSpeedDescriptor;
coclass MsftMultisessionSequential;
coclass MsftRawCDImageCreator;
/* Enumeration declarations. */
[
helpstring("The current action being performed for the data write")
]
enum _IMAPI_FORMAT2_DATA_WRITE_ACTION
{
IMAPI_FORMAT2_DATA_WRITE_ACTION_VALIDATING_MEDIA = (int) 201326592,
IMAPI_FORMAT2_DATA_WRITE_ACTION_FORMATTING_MEDIA = (int) 201326593,
IMAPI_FORMAT2_DATA_WRITE_ACTION_INITIALIZING_HARDWARE = (int) 201326594,
IMAPI_FORMAT2_DATA_WRITE_ACTION_CALIBRATING_POWER = (int) 201326595,
IMAPI_FORMAT2_DATA_WRITE_ACTION_WRITING_DATA = (int) 201326596,
IMAPI_FORMAT2_DATA_WRITE_ACTION_FINALIZATION = (int) 201326597,
IMAPI_FORMAT2_DATA_WRITE_ACTION_COMPLETED = (int) 201326598,
IMAPI_FORMAT2_DATA_WRITE_ACTION_VERIFYING = (int) 201326599
};
[
helpstring("Current action when writing to CD in Track-at-Once mode")
]
enum _IMAPI_FORMAT2_TAO_WRITE_ACTION
{
IMAPI_FORMAT2_TAO_WRITE_ACTION_UNKNOWN = (int) 201326592,
IMAPI_FORMAT2_TAO_WRITE_ACTION_PREPARING = (int) 201326593,
IMAPI_FORMAT2_TAO_WRITE_ACTION_WRITING = (int) 201326594,
IMAPI_FORMAT2_TAO_WRITE_ACTION_FINISHING = (int) 201326595,
IMAPI_FORMAT2_TAO_WRITE_ACTION_VERIFYING = (int) 201326596
};
[
helpstring("Current action when writing to the CD in Disc-At-Once (RAW) mode")
]
enum _IMAPI_FORMAT2_RAW_CD_WRITE_ACTION
{
IMAPI_FORMAT2_RAW_CD_WRITE_ACTION_UNKNOWN = (int) 201326592,
IMAPI_FORMAT2_RAW_CD_WRITE_ACTION_PREPARING = (int) 201326593,
IMAPI_FORMAT2_RAW_CD_WRITE_ACTION_WRITING = (int) 201326594,
IMAPI_FORMAT2_RAW_CD_WRITE_ACTION_FINISHING = (int) 201326595
};
[
helpstring("Physical type of the optical media")
]
enum _IMAPI_MEDIA_PHYSICAL_TYPE
{
IMAPI_MEDIA_TYPE_UNKNOWN = (int) 201326592,
IMAPI_MEDIA_TYPE_CDROM = (int) 201326593,
IMAPI_MEDIA_TYPE_CDR = (int) 201326594,
IMAPI_MEDIA_TYPE_CDRW = (int) 201326595,
IMAPI_MEDIA_TYPE_DVDROM = (int) 201326596,
IMAPI_MEDIA_TYPE_DVDRAM = (int) 201326597,
IMAPI_MEDIA_TYPE_DVDPLUSR = (int) 201326598,
IMAPI_MEDIA_TYPE_DVDPLUSRW = (int) 201326599,
IMAPI_MEDIA_TYPE_DVDPLUSR_DUALLAYER = (int) 201326600,
IMAPI_MEDIA_TYPE_DVDDASHR = (int) 201326601,
IMAPI_MEDIA_TYPE_DVDDASHRW = (int) 201326602,
IMAPI_MEDIA_TYPE_DVDDASHR_DUALLAYER = (int) 201326603,
IMAPI_MEDIA_TYPE_DISK = (int) 201326604,
IMAPI_MEDIA_TYPE_DVDPLUSRW_DUALLAYER = (int) 201326605,
IMAPI_MEDIA_TYPE_HDDVDROM = (int) 201326606,
IMAPI_MEDIA_TYPE_HDDVDR = (int) 201326607,
IMAPI_MEDIA_TYPE_HDDVDRAM = (int) 201326608,
IMAPI_MEDIA_TYPE_BDROM = (int) 201326609,
IMAPI_MEDIA_TYPE_BDR = (int) 201326610,
IMAPI_MEDIA_TYPE_BDRE = (int) 201326611,
IMAPI_MEDIA_TYPE_MAX = (int) 201326611
};
[
helpstring("The CD sector type for provided data")
]
enum _IMAPI_CD_SECTOR_TYPE
{
IMAPI_CD_SECTOR_AUDIO = (int) 201326592,
IMAPI_CD_SECTOR_MODE_ZERO = (int) 201326593,
IMAPI_CD_SECTOR_MODE1 = (int) 201326594,
IMAPI_CD_SECTOR_MODE2FORM0 = (int) 201326595,
IMAPI_CD_SECTOR_MODE2FORM1 = (int) 201326596,
IMAPI_CD_SECTOR_MODE2FORM2 = (int) 201326597,
IMAPI_CD_SECTOR_MODE1RAW = (int) 201326598,
IMAPI_CD_SECTOR_MODE2FORM0RAW = (int) 201326599,
IMAPI_CD_SECTOR_MODE2FORM1RAW = (int) 201326600,
IMAPI_CD_SECTOR_MODE2FORM2RAW = (int) 201326601
};
[
helpstring("Data sector type to use when writing to CD in Disc-At-Once (RAW) mode")
]
enum _IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE
{
IMAPI_FORMAT2_RAW_CD_SUBCODE_PQ_ONLY = (int) 201326593,
IMAPI_FORMAT2_RAW_CD_SUBCODE_IS_COOKED = (int) 201326594,
IMAPI_FORMAT2_RAW_CD_SUBCODE_IS_RAW = (int) 201326595
};
[
helpstring("The audio track digital copy setting")
]
enum _IMAPI_CD_TRACK_DIGITAL_COPY_SETTING
{
IMAPI_CD_TRACK_DIGITAL_COPY_PERMITTED = (int) 201326592,
IMAPI_CD_TRACK_DIGITAL_COPY_PROHIBITED = (int) 201326593,
IMAPI_CD_TRACK_DIGITAL_COPY_SCMS = (int) 201326594
};
[
helpstring("Burn verification level")
]
enum _IMAPI_BURN_VERIFICATION_LEVEL
{
IMAPI_BURN_VERIFICATION_NONE = (int) 201326592,
IMAPI_BURN_VERIFICATION_QUICK = (int) 201326593,
IMAPI_BURN_VERIFICATION_FULL = (int) 201326594
};
[
helpstring("Address type provided for reading track information")
]
enum _IMAPI_READ_TRACK_ADDRESS_TYPE
{
IMAPI_READ_TRACK_ADDRESS_TYPE_LBA = (int) 201326592,
IMAPI_READ_TRACK_ADDRESS_TYPE_TRACK = (int) 201326593,
IMAPI_READ_TRACK_ADDRESS_TYPE_SESSION = (int) 201326594
};
[
helpstring("Type of the feature page data")
]
enum _IMAPI_FEATURE_PAGE_TYPE
{
IMAPI_FEATURE_PAGE_TYPE_PROFILE_LIST = (int) 201326592,
IMAPI_FEATURE_PAGE_TYPE_CORE = (int) 201326593,
IMAPI_FEATURE_PAGE_TYPE_MORPHING = (int) 201326594,
IMAPI_FEATURE_PAGE_TYPE_REMOVABLE_MEDIUM = (int) 201326595,
IMAPI_FEATURE_PAGE_TYPE_WRITE_PROTECT = (int) 201326596,
IMAPI_FEATURE_PAGE_TYPE_RANDOMLY_READABLE = (int) 201326608,
IMAPI_FEATURE_PAGE_TYPE_CD_MULTIREAD = (int) 201326621,
IMAPI_FEATURE_PAGE_TYPE_CD_READ = (int) 201326622,
IMAPI_FEATURE_PAGE_TYPE_DVD_READ = (int) 201326623,
IMAPI_FEATURE_PAGE_TYPE_RANDOMLY_WRITABLE = (int) 201326624,
IMAPI_FEATURE_PAGE_TYPE_INCREMENTAL_STREAMING_WRITABLE = (int) 201326625,
IMAPI_FEATURE_PAGE_TYPE_SECTOR_ERASABLE = (int) 201326626,
IMAPI_FEATURE_PAGE_TYPE_FORMATTABLE = (int) 201326627,
IMAPI_FEATURE_PAGE_TYPE_HARDWARE_DEFECT_MANAGEMENT = (int) 201326628,
IMAPI_FEATURE_PAGE_TYPE_WRITE_ONCE = (int) 201326629,
IMAPI_FEATURE_PAGE_TYPE_RESTRICTED_OVERWRITE = (int) 201326630,
IMAPI_FEATURE_PAGE_TYPE_CDRW_CAV_WRITE = (int) 201326631,
IMAPI_FEATURE_PAGE_TYPE_MRW = (int) 201326632,
IMAPI_FEATURE_PAGE_TYPE_ENHANCED_DEFECT_REPORTING = (int) 201326633,
IMAPI_FEATURE_PAGE_TYPE_DVD_PLUS_RW = (int) 201326634,
IMAPI_FEATURE_PAGE_TYPE_DVD_PLUS_R = (int) 201326635,
IMAPI_FEATURE_PAGE_TYPE_RIGID_RESTRICTED_OVERWRITE = (int) 201326636,
IMAPI_FEATURE_PAGE_TYPE_CD_TRACK_AT_ONCE = (int) 201326637,
IMAPI_FEATURE_PAGE_TYPE_CD_MASTERING = (int) 201326638,
IMAPI_FEATURE_PAGE_TYPE_DVD_DASH_WRITE = (int) 201326639,
IMAPI_FEATURE_PAGE_TYPE_DOUBLE_DENSITY_CD_READ = (int) 201326640,
IMAPI_FEATURE_PAGE_TYPE_DOUBLE_DENSITY_CD_R_WRITE = (int) 201326641,
IMAPI_FEATURE_PAGE_TYPE_DOUBLE_DENSITY_CD_RW_WRITE = (int) 201326642,
IMAPI_FEATURE_PAGE_TYPE_LAYER_JUMP_RECORDING = (int) 201326643,
IMAPI_FEATURE_PAGE_TYPE_CD_RW_MEDIA_WRITE_SUPPORT = (int) 201326647,
IMAPI_FEATURE_PAGE_TYPE_BD_PSEUDO_OVERWRITE = (int) 201326648,
IMAPI_FEATURE_PAGE_TYPE_DVD_PLUS_R_DUAL_LAYER = (int) 201326651,
IMAPI_FEATURE_PAGE_TYPE_BD_READ = (int) 201326656,
IMAPI_FEATURE_PAGE_TYPE_BD_WRITE = (int) 201326657,
IMAPI_FEATURE_PAGE_TYPE_HD_DVD_READ = (int) 201326672,
IMAPI_FEATURE_PAGE_TYPE_HD_DVD_WRITE = (int) 201326673,
IMAPI_FEATURE_PAGE_TYPE_POWER_MANAGEMENT = (int) 201326848,
IMAPI_FEATURE_PAGE_TYPE_SMART = (int) 201326849,
IMAPI_FEATURE_PAGE_TYPE_EMBEDDED_CHANGER = (int) 201326850,
IMAPI_FEATURE_PAGE_TYPE_CD_ANALOG_PLAY = (int) 201326851,
IMAPI_FEATURE_PAGE_TYPE_MICROCODE_UPDATE = (int) 201326852,
IMAPI_FEATURE_PAGE_TYPE_TIMEOUT = (int) 201326853,
IMAPI_FEATURE_PAGE_TYPE_DVD_CSS = (int) 201326854,
IMAPI_FEATURE_PAGE_TYPE_REAL_TIME_STREAMING = (int) 201326855,
IMAPI_FEATURE_PAGE_TYPE_LOGICAL_UNIT_SERIAL_NUMBER = (int) 201326856,
IMAPI_FEATURE_PAGE_TYPE_MEDIA_SERIAL_NUMBER = (int) 201326857,
IMAPI_FEATURE_PAGE_TYPE_DISC_CONTROL_BLOCKS = (int) 201326858,
IMAPI_FEATURE_PAGE_TYPE_DVD_CPRM = (int) 201326859,
IMAPI_FEATURE_PAGE_TYPE_FIRMWARE_INFORMATION = (int) 201326860,
IMAPI_FEATURE_PAGE_TYPE_AACS = (int) 201326861,
IMAPI_FEATURE_PAGE_TYPE_VCPS = (int) 201326864
};
[
helpstring("Type of the mode page data")
]
enum _IMAPI_MODE_PAGE_TYPE
{
IMAPI_MODE_PAGE_TYPE_READ_WRITE_ERROR_RECOVERY = (int) 201326593,
IMAPI_MODE_PAGE_TYPE_MRW = (int) 201326595,
IMAPI_MODE_PAGE_TYPE_WRITE_PARAMETERS = (int) 201326597,
IMAPI_MODE_PAGE_TYPE_CACHING = (int) 201326600,
IMAPI_MODE_PAGE_TYPE_INFORMATIONAL_EXCEPTIONS = (int) 201326620,
IMAPI_MODE_PAGE_TYPE_TIMEOUT_AND_PROTECT = (int) 201326621,
IMAPI_MODE_PAGE_TYPE_POWER_CONDITION = (int) 201326618,
IMAPI_MODE_PAGE_TYPE_LEGACY_CAPABILITIES = (int) 201326634
};
[
helpstring("Mode page data type to request")
]
enum _IMAPI_MODE_PAGE_REQUEST_TYPE
{
IMAPI_MODE_PAGE_REQUEST_TYPE_CURRENT_VALUES = (int) 201326592,
IMAPI_MODE_PAGE_REQUEST_TYPE_CHANGEABLE_VALUES = (int) 201326593,
IMAPI_MODE_PAGE_REQUEST_TYPE_DEFAULT_VALUES = (int) 201326594,
IMAPI_MODE_PAGE_REQUEST_TYPE_SAVED_VALUES = (int) 201326595
};
[
helpstring("Type of the profile in feature page data")
]
enum _IMAPI_PROFILE_TYPE
{
IMAPI_PROFILE_TYPE_INVALID = (int) 201326592,
IMAPI_PROFILE_TYPE_NON_REMOVABLE_DISK = (int) 201326593,
IMAPI_PROFILE_TYPE_REMOVABLE_DISK = (int) 201326594,
IMAPI_PROFILE_TYPE_MO_ERASABLE = (int) 201326595,
IMAPI_PROFILE_TYPE_MO_WRITE_ONCE = (int) 201326596,
IMAPI_PROFILE_TYPE_AS_MO = (int) 201326597,
IMAPI_PROFILE_TYPE_CDROM = (int) 201326600,
IMAPI_PROFILE_TYPE_CD_RECORDABLE = (int) 201326601,
IMAPI_PROFILE_TYPE_CD_REWRITABLE = (int) 201326602,
IMAPI_PROFILE_TYPE_DVDROM = (int) 201326608,
IMAPI_PROFILE_TYPE_DVD_DASH_RECORDABLE = (int) 201326609,
IMAPI_PROFILE_TYPE_DVD_RAM = (int) 201326610,
IMAPI_PROFILE_TYPE_DVD_DASH_REWRITABLE = (int) 201326611,
IMAPI_PROFILE_TYPE_DVD_DASH_RW_SEQUENTIAL = (int) 201326612,
IMAPI_PROFILE_TYPE_DVD_DASH_R_DUAL_SEQUENTIAL = (int) 201326613,
IMAPI_PROFILE_TYPE_DVD_DASH_R_DUAL_LAYER_JUMP = (int) 201326614,
IMAPI_PROFILE_TYPE_DVD_PLUS_RW = (int) 201326618,
IMAPI_PROFILE_TYPE_DVD_PLUS_R = (int) 201326619,
IMAPI_PROFILE_TYPE_DDCDROM = (int) 201326624,
IMAPI_PROFILE_TYPE_DDCD_RECORDABLE = (int) 201326625,
IMAPI_PROFILE_TYPE_DDCD_REWRITABLE = (int) 201326626,
IMAPI_PROFILE_TYPE_DVD_PLUS_RW_DUAL = (int) 201326634,
IMAPI_PROFILE_TYPE_DVD_PLUS_R_DUAL = (int) 201326635,
IMAPI_PROFILE_TYPE_BD_ROM = (int) 201326656,
IMAPI_PROFILE_TYPE_BD_R_SEQUENTIAL = (int) 201326657,
IMAPI_PROFILE_TYPE_BD_R_RANDOM_RECORDING = (int) 201326658,
IMAPI_PROFILE_TYPE_BD_REWRITABLE = (int) 201326659,
IMAPI_PROFILE_TYPE_HD_DVD_ROM = (int) 201326672,
IMAPI_PROFILE_TYPE_HD_DVD_RECORDABLE = (int) 201326673,
IMAPI_PROFILE_TYPE_HD_DVD_RAM = (int) 201326674,
IMAPI_PROFILE_TYPE_NON_STANDARD = (int) 201392127
};
[
helpstring("Set of flags to indicate current media state")
]
enum _IMAPI_FORMAT2_DATA_MEDIA_STATE
{
IMAPI_FORMAT2_DATA_MEDIA_STATE_UNKNOWN = (int) 201326592,
IMAPI_FORMAT2_DATA_MEDIA_STATE_INFORMATIONAL_MASK = (int) 201326607,
IMAPI_FORMAT2_DATA_MEDIA_STATE_UNSUPPORTED_MASK = (int) 201391104,
IMAPI_FORMAT2_DATA_MEDIA_STATE_OVERWRITE_ONLY = (int) 201326593,
IMAPI_FORMAT2_DATA_MEDIA_STATE_RANDOMLY_WRITABLE = (int) 201326593,
IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK = (int) 201326594,
IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE = (int) 201326596,
IMAPI_FORMAT2_DATA_MEDIA_STATE_FINAL_SESSION = (int) 201326600,
IMAPI_FORMAT2_DATA_MEDIA_STATE_DAMAGED = (int) 201327616,
IMAPI_FORMAT2_DATA_MEDIA_STATE_ERASE_REQUIRED = (int) 201328640,
IMAPI_FORMAT2_DATA_MEDIA_STATE_NON_EMPTY_SESSION = (int) 201330688,
IMAPI_FORMAT2_DATA_MEDIA_STATE_WRITE_PROTECTED = (int) 201334784,
IMAPI_FORMAT2_DATA_MEDIA_STATE_FINALIZED = (int) 201342976,
IMAPI_FORMAT2_DATA_MEDIA_STATE_UNSUPPORTED_MEDIA = (int) 201359360
};
[
helpstring("Detected write protection type of the media")
]
enum _IMAPI_MEDIA_WRITE_PROTECT_STATE
{
IMAPI_WRITEPROTECTED_UNTIL_POWERDOWN = (int) 201326593,
IMAPI_WRITEPROTECTED_BY_CARTRIDGE = (int) 201326594,
IMAPI_WRITEPROTECTED_BY_MEDIA_SPECIFIC_REASON = (int) 201326596,
IMAPI_WRITEPROTECTED_BY_SOFTWARE_WRITE_PROTECT = (int) 201326600,
IMAPI_WRITEPROTECTED_BY_DISC_CONTROL_BLOCK = (int) 201326608,
IMAPI_WRITEPROTECTED_READ_ONLY_MEDIA = (int) 201342976
};
/* Structure/union declarations. */
struct _LARGE_INTEGER
{
LONGLONG QuadPart;
};
struct _ULARGE_INTEGER
{
ULONGLONG QuadPart;
};
struct tagSTATSTG
{
LPWSTR pwcsName;
UINT type;
struct _ULARGE_INTEGER cbSize;
struct _FILETIME mtime;
struct _FILETIME ctime;
struct _FILETIME atime;
UINT grfMode;
UINT grfLocksSupported;
struct GUID clsid;
UINT grfStateBits;
UINT reserved;
};
struct _FILETIME
{
UINT dwLowDateTime;
UINT dwHighDateTime;
};
struct tagCONNECTDATA
{
IUnknown * pUnk;
UINT dwCookie;
};
/* Type definitions. */
[
helpstring("The current action being performed for the data write")
]
typedef enum _IMAPI_FORMAT2_DATA_WRITE_ACTION IMAPI_FORMAT2_DATA_WRITE_ACTION;
[
helpstring("Current action when writing to CD in Track-at-Once mode")
]
typedef enum _IMAPI_FORMAT2_TAO_WRITE_ACTION IMAPI_FORMAT2_TAO_WRITE_ACTION;
[
helpstring("Current action when writing to the CD in Disc-At-Once (RAW) mode")
]
typedef enum _IMAPI_FORMAT2_RAW_CD_WRITE_ACTION IMAPI_FORMAT2_RAW_CD_WRITE_ACTION;
[
helpstring("Physical type of the optical media")
]
typedef enum _IMAPI_MEDIA_PHYSICAL_TYPE IMAPI_MEDIA_PHYSICAL_TYPE;
[
helpstring("The CD sector type for provided data")
]
typedef enum _IMAPI_CD_SECTOR_TYPE IMAPI_CD_SECTOR_TYPE;
[
helpstring("Data sector type to use when writing to CD in Disc-At-Once (RAW) mode")
]
typedef enum _IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE;
[
helpstring("The audio track digital copy setting")
]
typedef enum _IMAPI_CD_TRACK_DIGITAL_COPY_SETTING IMAPI_CD_TRACK_DIGITAL_COPY_SETTING;
[
helpstring("Burn verification level")
]
typedef enum _IMAPI_BURN_VERIFICATION_LEVEL IMAPI_BURN_VERIFICATION_LEVEL;
[
helpstring("Address type provided for reading track information")
]
typedef enum _IMAPI_READ_TRACK_ADDRESS_TYPE IMAPI_READ_TRACK_ADDRESS_TYPE;
[
helpstring("Type of the feature page data")
]
typedef enum _IMAPI_FEATURE_PAGE_TYPE IMAPI_FEATURE_PAGE_TYPE;
[
helpstring("Type of the mode page data")
]
typedef enum _IMAPI_MODE_PAGE_TYPE IMAPI_MODE_PAGE_TYPE;
[
helpstring("Mode page data type to request")
]
typedef enum _IMAPI_MODE_PAGE_REQUEST_TYPE IMAPI_MODE_PAGE_REQUEST_TYPE;
[
helpstring("Type of the profile in feature page data")
]
typedef enum _IMAPI_PROFILE_TYPE IMAPI_PROFILE_TYPE;
[
helpstring("Set of flags to indicate current media state")
]
typedef enum _IMAPI_FORMAT2_DATA_MEDIA_STATE IMAPI_FORMAT2_DATA_MEDIA_STATE;
[
helpstring("Detected write protection type of the media")
]
typedef enum _IMAPI_MEDIA_WRITE_PROTECT_STATE IMAPI_MEDIA_WRITE_PROTECT_STATE;
[
uuid(2735412F-7F64-5B0F-8F00-5D77AFBE261E),
version(1.0),
helpstring("Microsoft IMAPI2 Base Functionality")
]
library imapi2
{
importlib("stdole2.tlb");
/* CoClass declarations. */
[
uuid(2735412E-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 Disc Master"),
cancreate
]
coclass MsftDiscMaster2
{
dispinterface IDiscMaster2;
interface IConnectionPointContainer;
interface DDiscMaster2Events;
};
[
uuid(2735412D-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 Disc Recorder"),
cancreate
]
coclass MsftDiscRecorder2
{
dispinterface IDiscRecorder2;
interface IDiscRecorder2Ex;
};
[
uuid(2735412C-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 CD Write Engine"),
cancreate
]
coclass MsftWriteEngine2
{
dispinterface IWriteEngine2;
interface IConnectionPointContainer;
interface DWriteEngine2Events;
};
[
uuid(2735412B-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 Media Erase/Blank"),
cancreate
]
coclass MsftDiscFormat2Erase
{
dispinterface IDiscFormat2Erase;
interface IConnectionPointContainer;
interface DDiscFormat2EraseEvents;
};
[
uuid(2735412A-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 Data Writer"),
cancreate
]
coclass MsftDiscFormat2Data
{
dispinterface IDiscFormat2Data;
interface IBurnVerification;
interface IConnectionPointContainer;
interface DDiscFormat2DataEvents;
};
[
uuid(27354129-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 Track-at-Once Audio CD Writer"),
cancreate
]
coclass MsftDiscFormat2TrackAtOnce
{
dispinterface IDiscFormat2TrackAtOnce;
interface IBurnVerification;
interface IConnectionPointContainer;
interface DDiscFormat2TrackAtOnceEvents;
};
[
uuid(27354128-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 Disc-at-Once RAW CD Image Writer"),
cancreate
]
coclass MsftDiscFormat2RawCD
{
dispinterface IDiscFormat2RawCD;
interface IConnectionPointContainer;
interface DDiscFormat2RawCDEvents;
};
[
uuid(27354127-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 /dev/zero Stream "),
cancreate
]
coclass MsftStreamZero
{
interface IStream;
};
[
uuid(27354126-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 PRNG based Stream (LCG: 0x19660D, 0x3C6EF35F)"),
cancreate
]
coclass MsftStreamPrng001
{
interface IStreamPseudoRandomBased;
};
[
uuid(27354125-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 concatenation stream"),
cancreate
]
coclass MsftStreamConcatenate
{
interface IStreamConcatenate;
};
[
uuid(27354124-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 interleave stream"),
cancreate
]
coclass MsftStreamInterleave
{
interface IStreamInterleave;
};
[
uuid(27354123-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 Write Speed Descriptor")
]
coclass MsftWriteSpeedDescriptor
{
dispinterface IWriteSpeedDescriptor;
};
[
uuid(27354122-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Microsoft IMAPIv2 sequential Multi-session")
]
coclass MsftMultisessionSequential
{
interface IMultisessionSequential;
};
[
uuid(25983561-9D65-49CE-B335-40630D901227),
helpstring("Microsoft IMAPIv2 RAW CD Image Creator"),
cancreate
]
coclass MsftRawCDImageCreator
{
dispinterface IRawCDImageCreator;
};
/* Dispatch interface declarations. */
[
uuid(27354136-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("CD Write Engine"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IWriteEngine2EventArgs : IDispatch
{
[id(256), propget]
HRESULT __stdcall StartLba (
[out retval] long *value
);
[propget]
HRESULT __stdcall SectorCount (
[out retval] long *value
);
[propget]
HRESULT __stdcall LastReadLba (
[out retval] long *value
);
[propget]
HRESULT __stdcall LastWrittenLba (
[out retval] long *value
);
[id(262), propget]
HRESULT __stdcall TotalSystemBuffer (
[out retval] long *value
);
[propget]
HRESULT __stdcall UsedSystemBuffer (
[out retval] long *value
);
[propget]
HRESULT __stdcall FreeSystemBuffer (
[out retval] long *value
);
};
[
uuid(2735413D-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Track-at-once Data Writer"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IDiscFormat2DataEventArgs : IWriteEngine2EventArgs
{
[id(768), propget]
HRESULT __stdcall ElapsedTime (
[out retval] long *value
);
[propget]
HRESULT __stdcall RemainingTime (
[out retval] long *value
);
[propget]
HRESULT __stdcall TotalTime (
[out retval] long *value
);
[propget]
HRESULT __stdcall CurrentAction (
[out retval] IMAPI_FORMAT2_DATA_WRITE_ACTION *value
);
};
[
uuid(27354140-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("CD Track-at-once Audio Writer Event Arguments"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IDiscFormat2TrackAtOnceEventArgs : IWriteEngine2EventArgs
{
[id(768), propget]
HRESULT __stdcall CurrentTrackNumber (
[out retval] long *value
);
[propget]
HRESULT __stdcall CurrentAction (
[out retval] IMAPI_FORMAT2_TAO_WRITE_ACTION *value
);
[propget]
HRESULT __stdcall ElapsedTime (
[out retval] long *value
);
[propget]
HRESULT __stdcall RemainingTime (
[out retval] long *value
);
};
[
uuid(27354143-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("CD Disc-At-Once RAW Writer Event Arguments"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IDiscFormat2RawCDEventArgs : IWriteEngine2EventArgs
{
[id(769), propget]
HRESULT __stdcall CurrentAction (
[out retval] IMAPI_FORMAT2_RAW_CD_WRITE_ACTION *value
);
[propget]
HRESULT __stdcall ElapsedTime (
[out retval] long *value
);
[propget]
HRESULT __stdcall RemainingTime (
[out retval] long *value
);
};
[
uuid(27354144-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("A single optical drive Write Speed Configuration"),
dual,
oleautomation,
dispatchable
]
dispinterface IWriteSpeedDescriptor : IDispatch
{
[id(257), propget]
HRESULT __stdcall MediaType (
[out retval] IMAPI_MEDIA_PHYSICAL_TYPE *value
);
[propget]
HRESULT __stdcall RotationTypeIsPureCAV (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall WriteSpeed (
[out retval] long *value
);
};
[
uuid(25983550-9D65-49CE-B335-40630D901227),
helpstring("CD Raw CD (Disc-at-Once) Image Creator"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IRawCDImageCreator : IDispatch
{
[id(512)]
HRESULT __stdcall CreateResultImage (
[out retval] interface IStream **resultStream
);
HRESULT __stdcall AddTrack (
[in] IMAPI_CD_SECTOR_TYPE dataType,
[in] interface IStream *data,
[out retval] long *trackIndex
);
HRESULT __stdcall AddSpecialPregap (
[in] interface IStream *data
);
HRESULT __stdcall AddSubcodeRWGenerator (
[in] interface IStream *subcode
);
[id(256), propput]
HRESULT __stdcall ResultingImageType (
[in] IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE argNo1
);
[id(256), propget]
HRESULT __stdcall ResultingImageType (
[out retval] IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE *value
);
[propget]
HRESULT __stdcall StartOfLeadout (
[out retval] long *value
);
[propput]
HRESULT __stdcall StartOfLeadoutLimit (
[in] long argNo1
);
[id(258), propget]
HRESULT __stdcall StartOfLeadoutLimit (
[out retval] long *value
);
[propput]
HRESULT __stdcall DisableGaplessAudio (
[in] WINBOOL argNo1
);
[id(259), propget]
HRESULT __stdcall DisableGaplessAudio (
[out retval] WINBOOL *value
);
[propput]
HRESULT __stdcall MediaCatalogNumber (
[in] BSTR argNo1
);
[id(260), propget]
HRESULT __stdcall MediaCatalogNumber (
[out retval] BSTR *value
);
[propput]
HRESULT __stdcall StartingTrackNumber (
[in] long argNo1
);
[id(261), propget]
HRESULT __stdcall StartingTrackNumber (
[out retval] long *value
);
[propget]
HRESULT __stdcall TrackInfo (
[in] long trackIndex,
[out retval] dispinterface IRawCDImageTrackInfo **value
);
[propget]
HRESULT __stdcall NumberOfExistingTracks (
[out retval] long *value
);
[propget]
HRESULT __stdcall LastUsedUserSectorInImage (
[out retval] long *value
);
[propget]
HRESULT __stdcall ExpectedTableOfContents (
[out retval] VARIANT value[]*
);
};
[
uuid(25983551-9D65-49CE-B335-40630D901227),
helpstring("CD Raw CD (Disc-at-Once) Per-Track Information"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IRawCDImageTrackInfo : IDispatch
{
[id(256), propget]
HRESULT __stdcall StartingLba (
[out retval] long *value
);
[propget]
HRESULT __stdcall SectorCount (
[out retval] long *value
);
[propget]
HRESULT __stdcall TrackNumber (
[out retval] long *value
);
[propget]
HRESULT __stdcall SectorType (
[out retval] IMAPI_CD_SECTOR_TYPE *value
);
[propget]
HRESULT __stdcall ISRC (
[out retval] BSTR *value
);
[id(260), propput]
HRESULT __stdcall ISRC (
[in] BSTR argNo1
);
[propget]
HRESULT __stdcall DigitalAudioCopySetting (
[out retval] IMAPI_CD_TRACK_DIGITAL_COPY_SETTING *value
);
[id(261), propput]
HRESULT __stdcall DigitalAudioCopySetting (
[in] IMAPI_CD_TRACK_DIGITAL_COPY_SETTING argNo1
);
[propget]
HRESULT __stdcall AudioHasPreemphasis (
[out retval] WINBOOL *value
);
[id(262), propput]
HRESULT __stdcall AudioHasPreemphasis (
[in] WINBOOL argNo1
);
[propget]
HRESULT __stdcall TrackIndexes (
[out retval] VARIANT value[]*
);
[id(512)]
HRESULT __stdcall AddTrackIndex (
[in] long lbaOffset
);
HRESULT __stdcall ClearTrackIndex (
[in] long lbaOffset
);
};
[
uuid(27354130-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("IDiscMaster2 is used to get an enumerator for the set of CD/DVD (optical) devices on the system"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IDiscMaster2 : IDispatch
{
[id(-4), propget, restricted, hidden]
HRESULT __stdcall _NewEnum (
[out retval] interface IEnumVARIANT **ppunk
);
[id(0), propget]
HRESULT __stdcall Item (
[in] long index,
[out retval] BSTR *value
);
[propget]
HRESULT __stdcall Count (
[out retval] long *value
);
[propget]
HRESULT __stdcall IsSupportedEnvironment (
[out retval] WINBOOL *value
);
};
[
uuid(27354133-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Represents a single CD/DVD type device, and enables many common operations via a simplified API."),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IDiscRecorder2 : IDispatch
{
[id(256)]
HRESULT __stdcall EjectMedia (void);
HRESULT __stdcall CloseTray (void);
HRESULT __stdcall AcquireExclusiveAccess (
[in] WINBOOL force,
[in] BSTR __MIDL__IDiscRecorder20000
);
HRESULT __stdcall ReleaseExclusiveAccess (void);
HRESULT __stdcall DisableMcn (void);
HRESULT __stdcall EnableMcn (void);
HRESULT __stdcall InitializeDiscRecorder (
[in] BSTR recorderUniqueId
);
[id(0), propget]
HRESULT __stdcall ActiveDiscRecorder (
[out retval] BSTR *value
);
[id(513), propget]
HRESULT __stdcall VendorId (
[out retval] BSTR *value
);
[propget]
HRESULT __stdcall ProductId (
[out retval] BSTR *value
);
[propget]
HRESULT __stdcall ProductRevision (
[out retval] BSTR *value
);
[propget]
HRESULT __stdcall VolumeName (
[out retval] BSTR *value
);
[propget]
HRESULT __stdcall VolumePathNames (
[out retval] VARIANT value[]*
);
[propget]
HRESULT __stdcall DeviceCanLoadMedia (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall LegacyDeviceNumber (
[out retval] long *LegacyDeviceNumber
);
[propget]
HRESULT __stdcall SupportedFeaturePages (
[out retval] VARIANT value[]*
);
[propget]
HRESULT __stdcall CurrentFeaturePages (
[out retval] VARIANT value[]*
);
[propget]
HRESULT __stdcall SupportedProfiles (
[out retval] VARIANT value[]*
);
[propget]
HRESULT __stdcall CurrentProfiles (
[out retval] VARIANT value[]*
);
[propget]
HRESULT __stdcall SupportedModePages (
[out retval] VARIANT value[]*
);
[propget]
HRESULT __stdcall ExclusiveAccessOwner (
[out retval] BSTR *value
);
};
[
uuid(27354135-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Write Engine"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IWriteEngine2 : IDispatch
{
[id(512)]
HRESULT __stdcall WriteSection (
[in] interface IStream *data,
[in] long startingBlockAddress,
[in] long numberOfBlocks
);
HRESULT __stdcall CancelWrite (void);
[id(256), propput]
HRESULT __stdcall Recorder (
[in] interface IDiscRecorder2Ex *argNo1
);
[id(256), propget]
HRESULT __stdcall Recorder (
[out retval] interface IDiscRecorder2Ex **value
);
[propput]
HRESULT __stdcall UseStreamingWrite12 (
[in] WINBOOL argNo1
);
[id(257), propget]
HRESULT __stdcall UseStreamingWrite12 (
[out retval] WINBOOL *value
);
[propput]
HRESULT __stdcall StartingSectorsPerSecond (
[in] long argNo1
);
[id(258), propget]
HRESULT __stdcall StartingSectorsPerSecond (
[out retval] long *value
);
[propput]
HRESULT __stdcall EndingSectorsPerSecond (
[in] long argNo1
);
[id(259), propget]
HRESULT __stdcall EndingSectorsPerSecond (
[out retval] long *value
);
[propput]
HRESULT __stdcall BytesPerSector (
[in] long argNo1
);
[id(260), propget]
HRESULT __stdcall BytesPerSector (
[out retval] long *value
);
[propget]
HRESULT __stdcall WriteInProgress (
[out retval] WINBOOL *value
);
};
[
uuid(27354156-8F64-5B0F-8F00-5D77AFBE261E),
helpstring("Optical media erase"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IDiscFormat2Erase : IDiscFormat2
{
[id(256), propput]
HRESULT __stdcall Recorder (
[in] dispinterface IDiscRecorder2 *argNo1
);
[id(256), propget]
HRESULT __stdcall Recorder (
[out retval] dispinterface IDiscRecorder2 **value
);
[propput]
HRESULT __stdcall FullErase (
[in] WINBOOL argNo1
);
[id(257), propget]
HRESULT __stdcall FullErase (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall CurrentPhysicalMediaType (
[out retval] IMAPI_MEDIA_PHYSICAL_TYPE *value
);
[propput]
HRESULT __stdcall ClientName (
[in] BSTR argNo1
);
[id(259), propget]
HRESULT __stdcall ClientName (
[out retval] BSTR *value
);
[id(513)]
HRESULT __stdcall EraseMedia (void);
};
[
uuid(27354152-8F64-5B0F-8F00-5D77AFBE261E),
helpstring("Common Disc Format (writer) Operations"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IDiscFormat2 : IDispatch
{
[id(2048)]
HRESULT __stdcall IsRecorderSupported (
[in] dispinterface IDiscRecorder2 *Recorder,
[out retval] WINBOOL *value
);
HRESULT __stdcall IsCurrentMediaSupported (
[in] dispinterface IDiscRecorder2 *Recorder,
[out retval] WINBOOL *value
);
[id(1792), propget]
HRESULT __stdcall MediaPhysicallyBlank (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall MediaHeuristicallyBlank (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall SupportedMediaTypes (
[out retval] VARIANT value[]*
);
};
[
uuid(27354153-9F64-5B0F-8F00-5D77AFBE261E),
helpstring("Data Writer"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IDiscFormat2Data : IDiscFormat2
{
[id(256), propput]
HRESULT __stdcall Recorder (
[in] dispinterface IDiscRecorder2 *argNo1
);
[id(256), propget]
HRESULT __stdcall Recorder (
[out retval] dispinterface IDiscRecorder2 **value
);
[propput]
HRESULT __stdcall BufferUnderrunFreeDisabled (
[in] WINBOOL argNo1
);
[id(257), propget]
HRESULT __stdcall BufferUnderrunFreeDisabled (
[out retval] WINBOOL *value
);
[id(260), propput]
HRESULT __stdcall PostgapAlreadyInImage (
[in] WINBOOL argNo1
);
[id(260), propget]
HRESULT __stdcall PostgapAlreadyInImage (
[out retval] WINBOOL *value
);
[id(262), propget]
HRESULT __stdcall CurrentMediaStatus (
[out retval] IMAPI_FORMAT2_DATA_MEDIA_STATE *value
);
[propget]
HRESULT __stdcall WriteProtectStatus (
[out retval] IMAPI_MEDIA_WRITE_PROTECT_STATE *value
);
[propget]
HRESULT __stdcall TotalSectorsOnMedia (
[out retval] long *value
);
[propget]
HRESULT __stdcall FreeSectorsOnMedia (
[out retval] long *value
);
[propget]
HRESULT __stdcall NextWritableAddress (
[out retval] long *value
);
[propget]
HRESULT __stdcall StartAddressOfPreviousSession (
[out retval] long *value
);
[propget]
HRESULT __stdcall LastWrittenAddressOfPreviousSession (
[out retval] long *value
);
[propput]
HRESULT __stdcall ForceMediaToBeClosed (
[in] WINBOOL argNo1
);
[id(269), propget]
HRESULT __stdcall ForceMediaToBeClosed (
[out retval] WINBOOL *value
);
[propput]
HRESULT __stdcall DisableConsumerDvdCompatibilityMode (
[in] WINBOOL argNo1
);
[id(270), propget]
HRESULT __stdcall DisableConsumerDvdCompatibilityMode (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall CurrentPhysicalMediaType (
[out retval] IMAPI_MEDIA_PHYSICAL_TYPE *value
);
[propput]
HRESULT __stdcall ClientName (
[in] BSTR argNo1
);
[id(272), propget]
HRESULT __stdcall ClientName (
[out retval] BSTR *value
);
[propget]
HRESULT __stdcall RequestedWriteSpeed (
[out retval] long *value
);
[propget]
HRESULT __stdcall RequestedRotationTypeIsPureCAV (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall CurrentWriteSpeed (
[out retval] long *value
);
[propget]
HRESULT __stdcall CurrentRotationTypeIsPureCAV (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall SupportedWriteSpeeds (
[out retval] VARIANT supportedSpeeds[]*
);
[propget]
HRESULT __stdcall SupportedWriteSpeedDescriptors (
[out retval] VARIANT supportedSpeedDescriptors[]*
);
[propput]
HRESULT __stdcall ForceOverwrite (
[in] WINBOOL argNo1
);
[id(279), propget]
HRESULT __stdcall ForceOverwrite (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall MultisessionInterfaces (
[out retval] VARIANT value[]*
);
[id(512)]
HRESULT __stdcall Write (
[in] interface IStream *data
);
HRESULT __stdcall CancelWrite (void);
HRESULT __stdcall SetWriteSpeed (
[in] long RequestedSectorsPerSecond,
[in] WINBOOL RotationTypeIsPureCAV
);
};
[
uuid(27354154-8F64-5B0F-8F00-5D77AFBE261E),
helpstring("CD Track-at-Once Audio Writer"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IDiscFormat2TrackAtOnce : IDiscFormat2
{
[id(512)]
HRESULT __stdcall PrepareMedia (void);
HRESULT __stdcall AddAudioTrack (
[in] interface IStream *data
);
HRESULT __stdcall CancelAddTrack (void);
HRESULT __stdcall ReleaseMedia (void);
HRESULT __stdcall SetWriteSpeed (
[in] long RequestedSectorsPerSecond,
[in] WINBOOL RotationTypeIsPureCAV
);
[id(256), propput]
HRESULT __stdcall Recorder (
[in] dispinterface IDiscRecorder2 *argNo1
);
[id(256), propget]
HRESULT __stdcall Recorder (
[out retval] dispinterface IDiscRecorder2 **value
);
[id(258), propput]
HRESULT __stdcall BufferUnderrunFreeDisabled (
[in] WINBOOL argNo1
);
[id(258), propget]
HRESULT __stdcall BufferUnderrunFreeDisabled (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall NumberOfExistingTracks (
[out retval] long *value
);
[propget]
HRESULT __stdcall TotalSectorsOnMedia (
[out retval] long *value
);
[propget]
HRESULT __stdcall FreeSectorsOnMedia (
[out retval] long *value
);
[propget]
HRESULT __stdcall UsedSectorsOnMedia (
[out retval] long *value
);
[propput]
HRESULT __stdcall DoNotFinalizeMedia (
[in] WINBOOL argNo1
);
[id(263), propget]
HRESULT __stdcall DoNotFinalizeMedia (
[out retval] WINBOOL *value
);
[id(266), propget]
HRESULT __stdcall ExpectedTableOfContents (
[out retval] VARIANT value[]*
);
[propget]
HRESULT __stdcall CurrentPhysicalMediaType (
[out retval] IMAPI_MEDIA_PHYSICAL_TYPE *value
);
[id(270), propput]
HRESULT __stdcall ClientName (
[in] BSTR argNo1
);
[id(270), propget]
HRESULT __stdcall ClientName (
[out retval] BSTR *value
);
[propget]
HRESULT __stdcall RequestedWriteSpeed (
[out retval] long *value
);
[propget]
HRESULT __stdcall RequestedRotationTypeIsPureCAV (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall CurrentWriteSpeed (
[out retval] long *value
);
[propget]
HRESULT __stdcall CurrentRotationTypeIsPureCAV (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall SupportedWriteSpeeds (
[out retval] VARIANT supportedSpeeds[]*
);
[propget]
HRESULT __stdcall SupportedWriteSpeedDescriptors (
[out retval] VARIANT supportedSpeedDescriptors[]*
);
};
[
uuid(27354155-8F64-5B0F-8F00-5D77AFBE261E),
helpstring("CD Disc-At-Once RAW Writer"),
dual,
nonextensible,
oleautomation,
dispatchable
]
dispinterface IDiscFormat2RawCD : IDiscFormat2
{
[id(512)]
HRESULT __stdcall PrepareMedia (void);
HRESULT __stdcall WriteMedia (
[in] interface IStream *data
);
HRESULT __stdcall WriteMedia2 (
[in] interface IStream *data,
[in] long streamLeadInSectors
);
HRESULT __stdcall CancelWrite (void);
HRESULT __stdcall ReleaseMedia (void);
HRESULT __stdcall SetWriteSpeed (
[in] long RequestedSectorsPerSecond,
[in] WINBOOL RotationTypeIsPureCAV
);
[id(256), propput]
HRESULT __stdcall Recorder (
[in] dispinterface IDiscRecorder2 *argNo1
);
[id(256), propget]
HRESULT __stdcall Recorder (
[out retval] dispinterface IDiscRecorder2 **value
);
[id(258), propput]
HRESULT __stdcall BufferUnderrunFreeDisabled (
[in] WINBOOL argNo1
);
[id(258), propget]
HRESULT __stdcall BufferUnderrunFreeDisabled (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall StartOfNextSession (
[out retval] long *value
);
[propget]
HRESULT __stdcall LastPossibleStartOfLeadout (
[out retval] long *value
);
[propget]
HRESULT __stdcall CurrentPhysicalMediaType (
[out retval] IMAPI_MEDIA_PHYSICAL_TYPE *value
);
[id(264), propget]
HRESULT __stdcall SupportedSectorTypes (
[out retval] VARIANT value[]*
);
[propput]
HRESULT __stdcall RequestedSectorType (
[in] IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE argNo1
);
[id(265), propget]
HRESULT __stdcall RequestedSectorType (
[out retval] IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE *value
);
[propput]
HRESULT __stdcall ClientName (
[in] BSTR argNo1
);
[id(266), propget]
HRESULT __stdcall ClientName (
[out retval] BSTR *value
);
[propget]
HRESULT __stdcall RequestedWriteSpeed (
[out retval] long *value
);
[propget]
HRESULT __stdcall RequestedRotationTypeIsPureCAV (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall CurrentWriteSpeed (
[out retval] long *value
);
[propget]
HRESULT __stdcall CurrentRotationTypeIsPureCAV (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall SupportedWriteSpeeds (
[out retval] VARIANT supportedSpeeds[]*
);
[propget]
HRESULT __stdcall SupportedWriteSpeedDescriptors (
[out retval] VARIANT supportedSpeedDescriptors[]*
);
};
};
/* Interface declarations. */
[
uuid(27354131-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Provides notification of the arrival/removal of CD/DVD (optical) devices."),
nonextensible,
oleautomation,
dispatchable
]
interface DDiscMaster2Events : IDispatch
{
[id(256)]
HRESULT __stdcall NotifyDeviceAdded (
[in] IDispatch * object,
[in] BSTR uniqueId
);
HRESULT __stdcall NotifyDeviceRemoved (
[in] IDispatch * object,
[in] BSTR uniqueId
);
};
[
uuid(27354137-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Provides notification of the progress of the WriteEngine2 writing."),
nonextensible,
oleautomation,
dispatchable
]
interface DWriteEngine2Events : IDispatch
{
[id(256)]
HRESULT __stdcall Update (
[in] IDispatch * object,
[in] IDispatch * progress
);
};
[
uuid(2735413A-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Provides notification of media erase progress."),
nonextensible,
oleautomation,
dispatchable
]
interface DDiscFormat2EraseEvents : IDispatch
{
[id(512)]
HRESULT __stdcall Update (
[in] IDispatch * object,
[in] long elapsedSeconds,
[in] long estimatedTotalSeconds
);
};
[
uuid(2735413C-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Data Writer"),
nonextensible,
oleautomation,
dispatchable
]
interface DDiscFormat2DataEvents : IDispatch
{
[id(512)]
HRESULT __stdcall Update (
[in] IDispatch * object,
[in] IDispatch * progress
);
};
[
uuid(2735413F-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("CD Track-at-Once Audio Writer Events"),
nonextensible,
oleautomation,
dispatchable
]
interface DDiscFormat2TrackAtOnceEvents : IDispatch
{
[id(512)]
HRESULT __stdcall Update (
[in] IDispatch * object,
[in] IDispatch * progress
);
};
[
uuid(27354142-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("CD Disc-At-Once RAW Writer Events"),
nonextensible,
oleautomation,
dispatchable
]
interface DDiscFormat2RawCDEvents : IDispatch
{
[id(512)]
HRESULT __stdcall Update (
[in] IDispatch * object,
[in] IDispatch * progress
);
};
[
uuid(0000000C-0000-0000-C000-000000000046)
]
interface IStream : ISequentialStream
{
[id(1610743808)]
HRESULT __stdcall RemoteSeek (
[in] struct _LARGE_INTEGER dlibMove,
[in] UINT dwOrigin,
[out] struct _ULARGE_INTEGER *plibNewPosition
);
HRESULT __stdcall SetSize (
[in] struct _ULARGE_INTEGER libNewSize
);
HRESULT __stdcall RemoteCopyTo (
[in] interface IStream *pstm,
[in] struct _ULARGE_INTEGER cb,
[out] struct _ULARGE_INTEGER *pcbRead,
[out] struct _ULARGE_INTEGER *pcbWritten
);
HRESULT __stdcall Commit (
[in] UINT grfCommitFlags
);
HRESULT __stdcall Revert (void);
HRESULT __stdcall LockRegion (
[in] struct _ULARGE_INTEGER libOffset,
[in] struct _ULARGE_INTEGER cb,
[in] UINT dwLockType
);
HRESULT __stdcall UnlockRegion (
[in] struct _ULARGE_INTEGER libOffset,
[in] struct _ULARGE_INTEGER cb,
[in] UINT dwLockType
);
HRESULT __stdcall Stat (
[out] struct tagSTATSTG *pstatstg,
[in] UINT grfStatFlag
);
HRESULT __stdcall Clone (
[out] interface IStream **ppstm
);
};
[
uuid(0C733A30-2A1C-11CE-ADE5-00AA0044773D)
]
interface ISequentialStream : IUnknown
{
[id(1610678272)]
HRESULT __stdcall RemoteRead (
[out] UCHAR *pv,
[in] UINT cb,
[out] UINT *pcbRead
);
HRESULT __stdcall RemoteWrite (
[in] UCHAR *pv,
[in] UINT cb,
[out] UINT *pcbWritten
);
};
[
uuid(D2FFD834-958B-426D-8470-2A13879C6A91),
helpstring("An interface to control burn verification for a burning object")
]
interface IBurnVerification : IUnknown
{
[id(1024), propput]
HRESULT __stdcall BurnVerificationLevel (
[in] IMAPI_BURN_VERIFICATION_LEVEL argNo1
);
[id(1024), propget]
HRESULT __stdcall BurnVerificationLevel (
[out retval] IMAPI_BURN_VERIFICATION_LEVEL *value
);
};
[
uuid(B196B284-BAB4-101A-B69C-00AA00341D07)
]
interface IConnectionPointContainer : IUnknown
{
[id(1610678272)]
HRESULT __stdcall EnumConnectionPoints (
[out] interface IEnumConnectionPoints **ppEnum
);
HRESULT __stdcall FindConnectionPoint (
[in] struct GUID *riid,
[out] interface IConnectionPoint **ppCP
);
};
[
uuid(B196B285-BAB4-101A-B69C-00AA00341D07)
]
interface IEnumConnectionPoints : IUnknown
{
[id(1610678272)]
HRESULT __stdcall RemoteNext (
[in] UINT cConnections,
[out] interface IConnectionPoint **ppCP,
[out] UINT *pcFetched
);
HRESULT __stdcall Skip (
[in] UINT cConnections
);
HRESULT __stdcall Reset (void);
HRESULT __stdcall Clone (
[out] interface IEnumConnectionPoints **ppEnum
);
};
[
uuid(B196B286-BAB4-101A-B69C-00AA00341D07)
]
interface IConnectionPoint : IUnknown
{
[id(1610678272)]
HRESULT __stdcall GetConnectionInterface (
[out] struct GUID *pIID
);
HRESULT __stdcall GetConnectionPointContainer (
[out] interface IConnectionPointContainer **ppCPC
);
HRESULT __stdcall Advise (
[in] IUnknown * pUnkSink,
[out] UINT *pdwCookie
);
HRESULT __stdcall Unadvise (
[in] UINT dwCookie
);
HRESULT __stdcall EnumConnections (
[out] interface IEnumConnections **ppEnum
);
};
[
uuid(B196B287-BAB4-101A-B69C-00AA00341D07)
]
interface IEnumConnections : IUnknown
{
[id(1610678272)]
HRESULT __stdcall RemoteNext (
[in] UINT cConnections,
[out] struct tagCONNECTDATA *rgcd,
[out] UINT *pcFetched
);
HRESULT __stdcall Skip (
[in] UINT cConnections
);
HRESULT __stdcall Reset (void);
HRESULT __stdcall Clone (
[out] interface IEnumConnections **ppEnum
);
};
[
uuid(27354132-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Represents a single CD/DVD type device, enabling additional commands requiring advanced marshalling code.")
]
interface IDiscRecorder2Ex : IUnknown
{
[id(1610678272)]
HRESULT __stdcall SendCommandNoData (
[in] UCHAR *Cdb,
[in] UINT CdbSize,
[out] UCHAR SenseBuffer[18],
[in] UINT Timeout
);
HRESULT __stdcall SendCommandSendDataToDevice (
[in] UCHAR *Cdb,
[in] UINT CdbSize,
[out] UCHAR SenseBuffer[18],
[in] UINT Timeout,
[in] UCHAR *Buffer,
[in] UINT BufferSize
);
HRESULT __stdcall SendCommandGetDataFromDevice (
[in] UCHAR *Cdb,
[in] UINT CdbSize,
[out] UCHAR SenseBuffer[18],
[in] UINT Timeout,
[out] UCHAR *Buffer,
[in] UINT BufferSize,
[out] UINT *BufferFetched
);
HRESULT __stdcall ReadDvdStructure (
[in] UINT format,
[in] UINT address,
[in] UINT layer,
[in] UINT agid,
[out] UCHAR *data,
[out] UINT *Count
);
HRESULT __stdcall SendDvdStructure (
[in] UINT format,
[in] UCHAR *data,
[in] UINT Count
);
HRESULT __stdcall GetAdapterDescriptor (
[out] UCHAR *data,
[out] UINT *byteSize
);
HRESULT __stdcall GetDeviceDescriptor (
[out] UCHAR *data,
[out] UINT *byteSize
);
HRESULT __stdcall GetDiscInformation (
[out] UCHAR *discInformation,
[out] UINT *byteSize
);
HRESULT __stdcall GetTrackInformation (
[in] UINT address,
[in] IMAPI_READ_TRACK_ADDRESS_TYPE addressType,
[out] UCHAR *trackInformation,
[out] UINT *byteSize
);
HRESULT __stdcall GetFeaturePage (
[in] IMAPI_FEATURE_PAGE_TYPE requestedFeature,
[in] CHAR currentFeatureOnly,
[out] UCHAR *featureData,
[out] UINT *byteSize
);
HRESULT __stdcall GetModePage (
[in] IMAPI_MODE_PAGE_TYPE requestedModePage,
[in] IMAPI_MODE_PAGE_REQUEST_TYPE requestType,
[out] UCHAR *modePageData,
[out] UINT *byteSize
);
HRESULT __stdcall SetModePage (
[in] IMAPI_MODE_PAGE_REQUEST_TYPE requestType,
[in] UCHAR *data,
[in] UINT byteSize
);
HRESULT __stdcall GetSupportedFeaturePages (
[in] CHAR currentFeatureOnly,
[out] IMAPI_FEATURE_PAGE_TYPE **featureData,
[out] UINT *byteSize
);
HRESULT __stdcall GetSupportedProfiles (
[in] CHAR currentOnly,
[out] IMAPI_PROFILE_TYPE **profileTypes,
[out] UINT *validProfiles
);
HRESULT __stdcall GetSupportedModePages (
[in] IMAPI_MODE_PAGE_REQUEST_TYPE requestType,
[out] IMAPI_MODE_PAGE_TYPE **modePageTypes,
[out] UINT *validPages
);
HRESULT __stdcall GetByteAlignmentMask (
[out retval] UINT *value
);
HRESULT __stdcall GetMaximumNonPageAlignedTransferSize (
[out retval] UINT *value
);
HRESULT __stdcall GetMaximumPageAlignedTransferSize (
[out retval] UINT *value
);
};
[
uuid(27354145-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Pseudo-random based IStream data (implementation dependent)")
]
interface IStreamPseudoRandomBased : IStream
{
[id(1610809344)]
HRESULT __stdcall put_Seed (
[in] UINT value
);
HRESULT __stdcall get_Seed (
[out] UINT *value
);
HRESULT __stdcall put_ExtendedSeed (
[in] UINT *values,
[in] UINT eCount
);
HRESULT __stdcall get_ExtendedSeed (
[out] UINT *values,
[out] UINT *eCount
);
};
[
uuid(27354146-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Stream concatenation")
]
interface IStreamConcatenate : IStream
{
[id(1610809344)]
HRESULT __stdcall Initialize (
[in] interface IStream *stream1,
[in] interface IStream *stream2
);
HRESULT __stdcall Initialize2 (
[in] interface IStream **streams,
[in] UINT streamCount
);
HRESULT __stdcall Append (
[in] interface IStream *stream
);
HRESULT __stdcall Append2 (
[in] interface IStream **streams,
[in] UINT streamCount
);
};
[
uuid(27354147-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Stream interleave: each stream gets interleaveSize bytes, then cycles to the next stream")
]
interface IStreamInterleave : IStream
{
[id(1610809344)]
HRESULT __stdcall Initialize (
[in] interface IStream **streams,
[in] UINT *interleaveSizes,
[in] UINT streamCount
);
};
[
uuid(27354151-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Sequential multisession support interface."),
dispatchable
]
interface IMultisessionSequential : IMultisession
{
[id(512), propget]
HRESULT __stdcall IsFirstDataSession (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall StartAddressOfPreviousSession (
[out retval] long *value
);
[propget]
HRESULT __stdcall LastWrittenAddressOfPreviousSession (
[out retval] long *value
);
[propget]
HRESULT __stdcall NextWritableAddress (
[out retval] long *value
);
[propget]
HRESULT __stdcall FreeSectorsOnMedia (
[out retval] long *value
);
};
[
uuid(27354150-7F64-5B0F-8F00-5D77AFBE261E),
helpstring("Generic multisession support interface."),
dispatchable
]
interface IMultisession : IDispatch
{
[id(256), propget]
HRESULT __stdcall IsSupportedOnCurrentMediaState (
[out retval] WINBOOL *value
);
[propput]
HRESULT __stdcall InUse (
[in] WINBOOL argNo1
);
[id(257), propget]
HRESULT __stdcall InUse (
[out retval] WINBOOL *value
);
[propget]
HRESULT __stdcall ImportRecorder (
[out retval] dispinterface IDiscRecorder2 **value
);
};