Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2612 lines
78 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for imapi.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __imapi_h__
  27. #define __imapi_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IDiscRecorder_FWD_DEFINED__
  33. #define __IDiscRecorder_FWD_DEFINED__
  34. typedef interface IDiscRecorder IDiscRecorder;
  35. #endif /* __IDiscRecorder_FWD_DEFINED__ */
  36. #ifndef __IEnumDiscRecorders_FWD_DEFINED__
  37. #define __IEnumDiscRecorders_FWD_DEFINED__
  38. typedef interface IEnumDiscRecorders IEnumDiscRecorders;
  39. #endif /* __IEnumDiscRecorders_FWD_DEFINED__ */
  40. #ifndef __IEnumDiscMasterFormats_FWD_DEFINED__
  41. #define __IEnumDiscMasterFormats_FWD_DEFINED__
  42. typedef interface IEnumDiscMasterFormats IEnumDiscMasterFormats;
  43. #endif /* __IEnumDiscMasterFormats_FWD_DEFINED__ */
  44. #ifndef __IRedbookDiscMaster_FWD_DEFINED__
  45. #define __IRedbookDiscMaster_FWD_DEFINED__
  46. typedef interface IRedbookDiscMaster IRedbookDiscMaster;
  47. #endif /* __IRedbookDiscMaster_FWD_DEFINED__ */
  48. #ifndef __IJolietDiscMaster_FWD_DEFINED__
  49. #define __IJolietDiscMaster_FWD_DEFINED__
  50. typedef interface IJolietDiscMaster IJolietDiscMaster;
  51. #endif /* __IJolietDiscMaster_FWD_DEFINED__ */
  52. #ifndef __IDiscMasterProgressEvents_FWD_DEFINED__
  53. #define __IDiscMasterProgressEvents_FWD_DEFINED__
  54. typedef interface IDiscMasterProgressEvents IDiscMasterProgressEvents;
  55. #endif /* __IDiscMasterProgressEvents_FWD_DEFINED__ */
  56. #ifndef __IDiscMaster_FWD_DEFINED__
  57. #define __IDiscMaster_FWD_DEFINED__
  58. typedef interface IDiscMaster IDiscMaster;
  59. #endif /* __IDiscMaster_FWD_DEFINED__ */
  60. #ifndef __IDiscStash_FWD_DEFINED__
  61. #define __IDiscStash_FWD_DEFINED__
  62. typedef interface IDiscStash IDiscStash;
  63. #endif /* __IDiscStash_FWD_DEFINED__ */
  64. #ifndef __IBurnEngine_FWD_DEFINED__
  65. #define __IBurnEngine_FWD_DEFINED__
  66. typedef interface IBurnEngine IBurnEngine;
  67. #endif /* __IBurnEngine_FWD_DEFINED__ */
  68. #ifndef __MSDiscRecorderObj_FWD_DEFINED__
  69. #define __MSDiscRecorderObj_FWD_DEFINED__
  70. #ifdef __cplusplus
  71. typedef class MSDiscRecorderObj MSDiscRecorderObj;
  72. #else
  73. typedef struct MSDiscRecorderObj MSDiscRecorderObj;
  74. #endif /* __cplusplus */
  75. #endif /* __MSDiscRecorderObj_FWD_DEFINED__ */
  76. #ifndef __MSDiscMasterObj_FWD_DEFINED__
  77. #define __MSDiscMasterObj_FWD_DEFINED__
  78. #ifdef __cplusplus
  79. typedef class MSDiscMasterObj MSDiscMasterObj;
  80. #else
  81. typedef struct MSDiscMasterObj MSDiscMasterObj;
  82. #endif /* __cplusplus */
  83. #endif /* __MSDiscMasterObj_FWD_DEFINED__ */
  84. #ifndef __MSDiscStashObj_FWD_DEFINED__
  85. #define __MSDiscStashObj_FWD_DEFINED__
  86. #ifdef __cplusplus
  87. typedef class MSDiscStashObj MSDiscStashObj;
  88. #else
  89. typedef struct MSDiscStashObj MSDiscStashObj;
  90. #endif /* __cplusplus */
  91. #endif /* __MSDiscStashObj_FWD_DEFINED__ */
  92. #ifndef __MSBurnEngineObj_FWD_DEFINED__
  93. #define __MSBurnEngineObj_FWD_DEFINED__
  94. #ifdef __cplusplus
  95. typedef class MSBurnEngineObj MSBurnEngineObj;
  96. #else
  97. typedef struct MSBurnEngineObj MSBurnEngineObj;
  98. #endif /* __cplusplus */
  99. #endif /* __MSBurnEngineObj_FWD_DEFINED__ */
  100. #ifndef __MSEnumDiscRecordersObj_FWD_DEFINED__
  101. #define __MSEnumDiscRecordersObj_FWD_DEFINED__
  102. #ifdef __cplusplus
  103. typedef class MSEnumDiscRecordersObj MSEnumDiscRecordersObj;
  104. #else
  105. typedef struct MSEnumDiscRecordersObj MSEnumDiscRecordersObj;
  106. #endif /* __cplusplus */
  107. #endif /* __MSEnumDiscRecordersObj_FWD_DEFINED__ */
  108. /* header files for imported files */
  109. #include "oaidl.h"
  110. #include "ocidl.h"
  111. #include "propidl.h"
  112. #ifdef __cplusplus
  113. extern "C"{
  114. #endif
  115. void * __RPC_USER MIDL_user_allocate(size_t);
  116. void __RPC_USER MIDL_user_free( void * );
  117. #ifndef __IDiscRecorder_INTERFACE_DEFINED__
  118. #define __IDiscRecorder_INTERFACE_DEFINED__
  119. /* interface IDiscRecorder */
  120. /* [unique][helpstring][uuid][object] */
  121. enum MEDIA_TYPES
  122. { MEDIA_CDDA_CDROM = 1,
  123. MEDIA_CD_ROM_XA = MEDIA_CDDA_CDROM + 1,
  124. MEDIA_CD_I = MEDIA_CD_ROM_XA + 1,
  125. MEDIA_CD_EXTRA = MEDIA_CD_I + 1,
  126. MEDIA_CD_OTHER = MEDIA_CD_EXTRA + 1,
  127. MEDIA_SPECIAL = MEDIA_CD_OTHER + 1
  128. } ;
  129. enum MEDIA_FLAGS
  130. { MEDIA_BLANK = 0x1,
  131. MEDIA_RW = 0x2,
  132. MEDIA_WRITABLE = 0x4,
  133. MEDIA_FORMAT_UNUSABLE_BY_IMAPI = 0x8
  134. } ;
  135. enum RECORDER_TYPES
  136. { RECORDER_CDR = 0x1,
  137. RECORDER_CDRW = 0x2
  138. } ;
  139. #define RECORDER_DOING_NOTHING ( 0 )
  140. #define RECORDER_OPENED ( 0x1 )
  141. #define RECORDER_BURNING ( 0x2 )
  142. EXTERN_C const IID IID_IDiscRecorder;
  143. #if defined(__cplusplus) && !defined(CINTERFACE)
  144. MIDL_INTERFACE("85AC9776-CA88-4cf2-894E-09598C078A41")
  145. IDiscRecorder : public IUnknown
  146. {
  147. public:
  148. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Init(
  149. /* [size_is][in] */ byte *pbyUniqueID,
  150. /* [in] */ ULONG nulIDSize,
  151. /* [in] */ ULONG nulDriveNumber) = 0;
  152. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRecorderGUID(
  153. /* [size_is][unique][out][in] */ byte *pbyUniqueID,
  154. /* [in] */ ULONG ulBufferSize,
  155. /* [out] */ ULONG *pulReturnSizeRequired) = 0;
  156. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRecorderType(
  157. /* [out] */ long *fTypeCode) = 0;
  158. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDisplayNames(
  159. /* [unique][out][in] */ BSTR *pbstrVendorID,
  160. /* [unique][out][in] */ BSTR *pbstrProductID,
  161. /* [unique][out][in] */ BSTR *pbstrRevision) = 0;
  162. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBasePnPID(
  163. /* [out] */ BSTR *pbstrBasePnPID) = 0;
  164. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPath(
  165. /* [out] */ BSTR *pbstrPath) = 0;
  166. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRecorderProperties(
  167. /* [out] */ IPropertyStorage **ppPropStg) = 0;
  168. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRecorderProperties(
  169. /* [in] */ IPropertyStorage *pPropStg) = 0;
  170. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRecorderState(
  171. /* [out] */ ULONG *pulDevStateFlags) = 0;
  172. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenExclusive( void) = 0;
  173. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryMediaType(
  174. /* [out] */ long *fMediaType,
  175. /* [out] */ long *fMediaFlags) = 0;
  176. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryMediaInfo(
  177. /* [out] */ byte *pbSessions,
  178. /* [out] */ byte *pbLastTrack,
  179. /* [out] */ ULONG *ulStartAddress,
  180. /* [out] */ ULONG *ulNextWritable,
  181. /* [out] */ ULONG *ulFreeBlocks) = 0;
  182. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Eject( void) = 0;
  183. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Erase(
  184. /* [in] */ boolean bFullErase) = 0;
  185. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  186. };
  187. #else /* C style interface */
  188. typedef struct IDiscRecorderVtbl
  189. {
  190. BEGIN_INTERFACE
  191. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  192. IDiscRecorder * This,
  193. /* [in] */ REFIID riid,
  194. /* [iid_is][out] */ void **ppvObject);
  195. ULONG ( STDMETHODCALLTYPE *AddRef )(
  196. IDiscRecorder * This);
  197. ULONG ( STDMETHODCALLTYPE *Release )(
  198. IDiscRecorder * This);
  199. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Init )(
  200. IDiscRecorder * This,
  201. /* [size_is][in] */ byte *pbyUniqueID,
  202. /* [in] */ ULONG nulIDSize,
  203. /* [in] */ ULONG nulDriveNumber);
  204. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRecorderGUID )(
  205. IDiscRecorder * This,
  206. /* [size_is][unique][out][in] */ byte *pbyUniqueID,
  207. /* [in] */ ULONG ulBufferSize,
  208. /* [out] */ ULONG *pulReturnSizeRequired);
  209. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRecorderType )(
  210. IDiscRecorder * This,
  211. /* [out] */ long *fTypeCode);
  212. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDisplayNames )(
  213. IDiscRecorder * This,
  214. /* [unique][out][in] */ BSTR *pbstrVendorID,
  215. /* [unique][out][in] */ BSTR *pbstrProductID,
  216. /* [unique][out][in] */ BSTR *pbstrRevision);
  217. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBasePnPID )(
  218. IDiscRecorder * This,
  219. /* [out] */ BSTR *pbstrBasePnPID);
  220. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPath )(
  221. IDiscRecorder * This,
  222. /* [out] */ BSTR *pbstrPath);
  223. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRecorderProperties )(
  224. IDiscRecorder * This,
  225. /* [out] */ IPropertyStorage **ppPropStg);
  226. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRecorderProperties )(
  227. IDiscRecorder * This,
  228. /* [in] */ IPropertyStorage *pPropStg);
  229. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRecorderState )(
  230. IDiscRecorder * This,
  231. /* [out] */ ULONG *pulDevStateFlags);
  232. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenExclusive )(
  233. IDiscRecorder * This);
  234. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryMediaType )(
  235. IDiscRecorder * This,
  236. /* [out] */ long *fMediaType,
  237. /* [out] */ long *fMediaFlags);
  238. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryMediaInfo )(
  239. IDiscRecorder * This,
  240. /* [out] */ byte *pbSessions,
  241. /* [out] */ byte *pbLastTrack,
  242. /* [out] */ ULONG *ulStartAddress,
  243. /* [out] */ ULONG *ulNextWritable,
  244. /* [out] */ ULONG *ulFreeBlocks);
  245. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Eject )(
  246. IDiscRecorder * This);
  247. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Erase )(
  248. IDiscRecorder * This,
  249. /* [in] */ boolean bFullErase);
  250. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )(
  251. IDiscRecorder * This);
  252. END_INTERFACE
  253. } IDiscRecorderVtbl;
  254. interface IDiscRecorder
  255. {
  256. CONST_VTBL struct IDiscRecorderVtbl *lpVtbl;
  257. };
  258. #ifdef COBJMACROS
  259. #define IDiscRecorder_QueryInterface(This,riid,ppvObject) \
  260. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  261. #define IDiscRecorder_AddRef(This) \
  262. (This)->lpVtbl -> AddRef(This)
  263. #define IDiscRecorder_Release(This) \
  264. (This)->lpVtbl -> Release(This)
  265. #define IDiscRecorder_Init(This,pbyUniqueID,nulIDSize,nulDriveNumber) \
  266. (This)->lpVtbl -> Init(This,pbyUniqueID,nulIDSize,nulDriveNumber)
  267. #define IDiscRecorder_GetRecorderGUID(This,pbyUniqueID,ulBufferSize,pulReturnSizeRequired) \
  268. (This)->lpVtbl -> GetRecorderGUID(This,pbyUniqueID,ulBufferSize,pulReturnSizeRequired)
  269. #define IDiscRecorder_GetRecorderType(This,fTypeCode) \
  270. (This)->lpVtbl -> GetRecorderType(This,fTypeCode)
  271. #define IDiscRecorder_GetDisplayNames(This,pbstrVendorID,pbstrProductID,pbstrRevision) \
  272. (This)->lpVtbl -> GetDisplayNames(This,pbstrVendorID,pbstrProductID,pbstrRevision)
  273. #define IDiscRecorder_GetBasePnPID(This,pbstrBasePnPID) \
  274. (This)->lpVtbl -> GetBasePnPID(This,pbstrBasePnPID)
  275. #define IDiscRecorder_GetPath(This,pbstrPath) \
  276. (This)->lpVtbl -> GetPath(This,pbstrPath)
  277. #define IDiscRecorder_GetRecorderProperties(This,ppPropStg) \
  278. (This)->lpVtbl -> GetRecorderProperties(This,ppPropStg)
  279. #define IDiscRecorder_SetRecorderProperties(This,pPropStg) \
  280. (This)->lpVtbl -> SetRecorderProperties(This,pPropStg)
  281. #define IDiscRecorder_GetRecorderState(This,pulDevStateFlags) \
  282. (This)->lpVtbl -> GetRecorderState(This,pulDevStateFlags)
  283. #define IDiscRecorder_OpenExclusive(This) \
  284. (This)->lpVtbl -> OpenExclusive(This)
  285. #define IDiscRecorder_QueryMediaType(This,fMediaType,fMediaFlags) \
  286. (This)->lpVtbl -> QueryMediaType(This,fMediaType,fMediaFlags)
  287. #define IDiscRecorder_QueryMediaInfo(This,pbSessions,pbLastTrack,ulStartAddress,ulNextWritable,ulFreeBlocks) \
  288. (This)->lpVtbl -> QueryMediaInfo(This,pbSessions,pbLastTrack,ulStartAddress,ulNextWritable,ulFreeBlocks)
  289. #define IDiscRecorder_Eject(This) \
  290. (This)->lpVtbl -> Eject(This)
  291. #define IDiscRecorder_Erase(This,bFullErase) \
  292. (This)->lpVtbl -> Erase(This,bFullErase)
  293. #define IDiscRecorder_Close(This) \
  294. (This)->lpVtbl -> Close(This)
  295. #endif /* COBJMACROS */
  296. #endif /* C style interface */
  297. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_Init_Proxy(
  298. IDiscRecorder * This,
  299. /* [size_is][in] */ byte *pbyUniqueID,
  300. /* [in] */ ULONG nulIDSize,
  301. /* [in] */ ULONG nulDriveNumber);
  302. void __RPC_STUB IDiscRecorder_Init_Stub(
  303. IRpcStubBuffer *This,
  304. IRpcChannelBuffer *_pRpcChannelBuffer,
  305. PRPC_MESSAGE _pRpcMessage,
  306. DWORD *_pdwStubPhase);
  307. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_GetRecorderGUID_Proxy(
  308. IDiscRecorder * This,
  309. /* [size_is][unique][out][in] */ byte *pbyUniqueID,
  310. /* [in] */ ULONG ulBufferSize,
  311. /* [out] */ ULONG *pulReturnSizeRequired);
  312. void __RPC_STUB IDiscRecorder_GetRecorderGUID_Stub(
  313. IRpcStubBuffer *This,
  314. IRpcChannelBuffer *_pRpcChannelBuffer,
  315. PRPC_MESSAGE _pRpcMessage,
  316. DWORD *_pdwStubPhase);
  317. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_GetRecorderType_Proxy(
  318. IDiscRecorder * This,
  319. /* [out] */ long *fTypeCode);
  320. void __RPC_STUB IDiscRecorder_GetRecorderType_Stub(
  321. IRpcStubBuffer *This,
  322. IRpcChannelBuffer *_pRpcChannelBuffer,
  323. PRPC_MESSAGE _pRpcMessage,
  324. DWORD *_pdwStubPhase);
  325. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_GetDisplayNames_Proxy(
  326. IDiscRecorder * This,
  327. /* [unique][out][in] */ BSTR *pbstrVendorID,
  328. /* [unique][out][in] */ BSTR *pbstrProductID,
  329. /* [unique][out][in] */ BSTR *pbstrRevision);
  330. void __RPC_STUB IDiscRecorder_GetDisplayNames_Stub(
  331. IRpcStubBuffer *This,
  332. IRpcChannelBuffer *_pRpcChannelBuffer,
  333. PRPC_MESSAGE _pRpcMessage,
  334. DWORD *_pdwStubPhase);
  335. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_GetBasePnPID_Proxy(
  336. IDiscRecorder * This,
  337. /* [out] */ BSTR *pbstrBasePnPID);
  338. void __RPC_STUB IDiscRecorder_GetBasePnPID_Stub(
  339. IRpcStubBuffer *This,
  340. IRpcChannelBuffer *_pRpcChannelBuffer,
  341. PRPC_MESSAGE _pRpcMessage,
  342. DWORD *_pdwStubPhase);
  343. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_GetPath_Proxy(
  344. IDiscRecorder * This,
  345. /* [out] */ BSTR *pbstrPath);
  346. void __RPC_STUB IDiscRecorder_GetPath_Stub(
  347. IRpcStubBuffer *This,
  348. IRpcChannelBuffer *_pRpcChannelBuffer,
  349. PRPC_MESSAGE _pRpcMessage,
  350. DWORD *_pdwStubPhase);
  351. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_GetRecorderProperties_Proxy(
  352. IDiscRecorder * This,
  353. /* [out] */ IPropertyStorage **ppPropStg);
  354. void __RPC_STUB IDiscRecorder_GetRecorderProperties_Stub(
  355. IRpcStubBuffer *This,
  356. IRpcChannelBuffer *_pRpcChannelBuffer,
  357. PRPC_MESSAGE _pRpcMessage,
  358. DWORD *_pdwStubPhase);
  359. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_SetRecorderProperties_Proxy(
  360. IDiscRecorder * This,
  361. /* [in] */ IPropertyStorage *pPropStg);
  362. void __RPC_STUB IDiscRecorder_SetRecorderProperties_Stub(
  363. IRpcStubBuffer *This,
  364. IRpcChannelBuffer *_pRpcChannelBuffer,
  365. PRPC_MESSAGE _pRpcMessage,
  366. DWORD *_pdwStubPhase);
  367. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_GetRecorderState_Proxy(
  368. IDiscRecorder * This,
  369. /* [out] */ ULONG *pulDevStateFlags);
  370. void __RPC_STUB IDiscRecorder_GetRecorderState_Stub(
  371. IRpcStubBuffer *This,
  372. IRpcChannelBuffer *_pRpcChannelBuffer,
  373. PRPC_MESSAGE _pRpcMessage,
  374. DWORD *_pdwStubPhase);
  375. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_OpenExclusive_Proxy(
  376. IDiscRecorder * This);
  377. void __RPC_STUB IDiscRecorder_OpenExclusive_Stub(
  378. IRpcStubBuffer *This,
  379. IRpcChannelBuffer *_pRpcChannelBuffer,
  380. PRPC_MESSAGE _pRpcMessage,
  381. DWORD *_pdwStubPhase);
  382. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_QueryMediaType_Proxy(
  383. IDiscRecorder * This,
  384. /* [out] */ long *fMediaType,
  385. /* [out] */ long *fMediaFlags);
  386. void __RPC_STUB IDiscRecorder_QueryMediaType_Stub(
  387. IRpcStubBuffer *This,
  388. IRpcChannelBuffer *_pRpcChannelBuffer,
  389. PRPC_MESSAGE _pRpcMessage,
  390. DWORD *_pdwStubPhase);
  391. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_QueryMediaInfo_Proxy(
  392. IDiscRecorder * This,
  393. /* [out] */ byte *pbSessions,
  394. /* [out] */ byte *pbLastTrack,
  395. /* [out] */ ULONG *ulStartAddress,
  396. /* [out] */ ULONG *ulNextWritable,
  397. /* [out] */ ULONG *ulFreeBlocks);
  398. void __RPC_STUB IDiscRecorder_QueryMediaInfo_Stub(
  399. IRpcStubBuffer *This,
  400. IRpcChannelBuffer *_pRpcChannelBuffer,
  401. PRPC_MESSAGE _pRpcMessage,
  402. DWORD *_pdwStubPhase);
  403. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_Eject_Proxy(
  404. IDiscRecorder * This);
  405. void __RPC_STUB IDiscRecorder_Eject_Stub(
  406. IRpcStubBuffer *This,
  407. IRpcChannelBuffer *_pRpcChannelBuffer,
  408. PRPC_MESSAGE _pRpcMessage,
  409. DWORD *_pdwStubPhase);
  410. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_Erase_Proxy(
  411. IDiscRecorder * This,
  412. /* [in] */ boolean bFullErase);
  413. void __RPC_STUB IDiscRecorder_Erase_Stub(
  414. IRpcStubBuffer *This,
  415. IRpcChannelBuffer *_pRpcChannelBuffer,
  416. PRPC_MESSAGE _pRpcMessage,
  417. DWORD *_pdwStubPhase);
  418. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscRecorder_Close_Proxy(
  419. IDiscRecorder * This);
  420. void __RPC_STUB IDiscRecorder_Close_Stub(
  421. IRpcStubBuffer *This,
  422. IRpcChannelBuffer *_pRpcChannelBuffer,
  423. PRPC_MESSAGE _pRpcMessage,
  424. DWORD *_pdwStubPhase);
  425. #endif /* __IDiscRecorder_INTERFACE_DEFINED__ */
  426. #ifndef __IEnumDiscRecorders_INTERFACE_DEFINED__
  427. #define __IEnumDiscRecorders_INTERFACE_DEFINED__
  428. /* interface IEnumDiscRecorders */
  429. /* [unique][helpstring][uuid][object] */
  430. EXTERN_C const IID IID_IEnumDiscRecorders;
  431. #if defined(__cplusplus) && !defined(CINTERFACE)
  432. MIDL_INTERFACE("9B1921E1-54AC-11d3-9144-00104BA11C5E")
  433. IEnumDiscRecorders : public IUnknown
  434. {
  435. public:
  436. virtual HRESULT STDMETHODCALLTYPE Next(
  437. /* [in] */ ULONG cRecorders,
  438. /* [length_is][size_is][out] */ IDiscRecorder **ppRecorder,
  439. /* [out] */ ULONG *pcFetched) = 0;
  440. virtual HRESULT STDMETHODCALLTYPE Skip(
  441. /* [in] */ ULONG cRecorders) = 0;
  442. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  443. virtual HRESULT STDMETHODCALLTYPE Clone(
  444. /* [out] */ IEnumDiscRecorders **ppEnum) = 0;
  445. };
  446. #else /* C style interface */
  447. typedef struct IEnumDiscRecordersVtbl
  448. {
  449. BEGIN_INTERFACE
  450. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  451. IEnumDiscRecorders * This,
  452. /* [in] */ REFIID riid,
  453. /* [iid_is][out] */ void **ppvObject);
  454. ULONG ( STDMETHODCALLTYPE *AddRef )(
  455. IEnumDiscRecorders * This);
  456. ULONG ( STDMETHODCALLTYPE *Release )(
  457. IEnumDiscRecorders * This);
  458. HRESULT ( STDMETHODCALLTYPE *Next )(
  459. IEnumDiscRecorders * This,
  460. /* [in] */ ULONG cRecorders,
  461. /* [length_is][size_is][out] */ IDiscRecorder **ppRecorder,
  462. /* [out] */ ULONG *pcFetched);
  463. HRESULT ( STDMETHODCALLTYPE *Skip )(
  464. IEnumDiscRecorders * This,
  465. /* [in] */ ULONG cRecorders);
  466. HRESULT ( STDMETHODCALLTYPE *Reset )(
  467. IEnumDiscRecorders * This);
  468. HRESULT ( STDMETHODCALLTYPE *Clone )(
  469. IEnumDiscRecorders * This,
  470. /* [out] */ IEnumDiscRecorders **ppEnum);
  471. END_INTERFACE
  472. } IEnumDiscRecordersVtbl;
  473. interface IEnumDiscRecorders
  474. {
  475. CONST_VTBL struct IEnumDiscRecordersVtbl *lpVtbl;
  476. };
  477. #ifdef COBJMACROS
  478. #define IEnumDiscRecorders_QueryInterface(This,riid,ppvObject) \
  479. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  480. #define IEnumDiscRecorders_AddRef(This) \
  481. (This)->lpVtbl -> AddRef(This)
  482. #define IEnumDiscRecorders_Release(This) \
  483. (This)->lpVtbl -> Release(This)
  484. #define IEnumDiscRecorders_Next(This,cRecorders,ppRecorder,pcFetched) \
  485. (This)->lpVtbl -> Next(This,cRecorders,ppRecorder,pcFetched)
  486. #define IEnumDiscRecorders_Skip(This,cRecorders) \
  487. (This)->lpVtbl -> Skip(This,cRecorders)
  488. #define IEnumDiscRecorders_Reset(This) \
  489. (This)->lpVtbl -> Reset(This)
  490. #define IEnumDiscRecorders_Clone(This,ppEnum) \
  491. (This)->lpVtbl -> Clone(This,ppEnum)
  492. #endif /* COBJMACROS */
  493. #endif /* C style interface */
  494. HRESULT STDMETHODCALLTYPE IEnumDiscRecorders_Next_Proxy(
  495. IEnumDiscRecorders * This,
  496. /* [in] */ ULONG cRecorders,
  497. /* [length_is][size_is][out] */ IDiscRecorder **ppRecorder,
  498. /* [out] */ ULONG *pcFetched);
  499. void __RPC_STUB IEnumDiscRecorders_Next_Stub(
  500. IRpcStubBuffer *This,
  501. IRpcChannelBuffer *_pRpcChannelBuffer,
  502. PRPC_MESSAGE _pRpcMessage,
  503. DWORD *_pdwStubPhase);
  504. HRESULT STDMETHODCALLTYPE IEnumDiscRecorders_Skip_Proxy(
  505. IEnumDiscRecorders * This,
  506. /* [in] */ ULONG cRecorders);
  507. void __RPC_STUB IEnumDiscRecorders_Skip_Stub(
  508. IRpcStubBuffer *This,
  509. IRpcChannelBuffer *_pRpcChannelBuffer,
  510. PRPC_MESSAGE _pRpcMessage,
  511. DWORD *_pdwStubPhase);
  512. HRESULT STDMETHODCALLTYPE IEnumDiscRecorders_Reset_Proxy(
  513. IEnumDiscRecorders * This);
  514. void __RPC_STUB IEnumDiscRecorders_Reset_Stub(
  515. IRpcStubBuffer *This,
  516. IRpcChannelBuffer *_pRpcChannelBuffer,
  517. PRPC_MESSAGE _pRpcMessage,
  518. DWORD *_pdwStubPhase);
  519. HRESULT STDMETHODCALLTYPE IEnumDiscRecorders_Clone_Proxy(
  520. IEnumDiscRecorders * This,
  521. /* [out] */ IEnumDiscRecorders **ppEnum);
  522. void __RPC_STUB IEnumDiscRecorders_Clone_Stub(
  523. IRpcStubBuffer *This,
  524. IRpcChannelBuffer *_pRpcChannelBuffer,
  525. PRPC_MESSAGE _pRpcMessage,
  526. DWORD *_pdwStubPhase);
  527. #endif /* __IEnumDiscRecorders_INTERFACE_DEFINED__ */
  528. #ifndef __IEnumDiscMasterFormats_INTERFACE_DEFINED__
  529. #define __IEnumDiscMasterFormats_INTERFACE_DEFINED__
  530. /* interface IEnumDiscMasterFormats */
  531. /* [unique][helpstring][uuid][object] */
  532. EXTERN_C const IID IID_IEnumDiscMasterFormats;
  533. #if defined(__cplusplus) && !defined(CINTERFACE)
  534. MIDL_INTERFACE("DDF445E1-54BA-11d3-9144-00104BA11C5E")
  535. IEnumDiscMasterFormats : public IUnknown
  536. {
  537. public:
  538. virtual HRESULT STDMETHODCALLTYPE Next(
  539. /* [in] */ ULONG cFormats,
  540. /* [length_is][size_is][out] */ LPIID lpiidFormatID,
  541. /* [out] */ ULONG *pcFetched) = 0;
  542. virtual HRESULT STDMETHODCALLTYPE Skip(
  543. /* [in] */ ULONG cFormats) = 0;
  544. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  545. virtual HRESULT STDMETHODCALLTYPE Clone(
  546. /* [out] */ IEnumDiscMasterFormats **ppEnum) = 0;
  547. };
  548. #else /* C style interface */
  549. typedef struct IEnumDiscMasterFormatsVtbl
  550. {
  551. BEGIN_INTERFACE
  552. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  553. IEnumDiscMasterFormats * This,
  554. /* [in] */ REFIID riid,
  555. /* [iid_is][out] */ void **ppvObject);
  556. ULONG ( STDMETHODCALLTYPE *AddRef )(
  557. IEnumDiscMasterFormats * This);
  558. ULONG ( STDMETHODCALLTYPE *Release )(
  559. IEnumDiscMasterFormats * This);
  560. HRESULT ( STDMETHODCALLTYPE *Next )(
  561. IEnumDiscMasterFormats * This,
  562. /* [in] */ ULONG cFormats,
  563. /* [length_is][size_is][out] */ LPIID lpiidFormatID,
  564. /* [out] */ ULONG *pcFetched);
  565. HRESULT ( STDMETHODCALLTYPE *Skip )(
  566. IEnumDiscMasterFormats * This,
  567. /* [in] */ ULONG cFormats);
  568. HRESULT ( STDMETHODCALLTYPE *Reset )(
  569. IEnumDiscMasterFormats * This);
  570. HRESULT ( STDMETHODCALLTYPE *Clone )(
  571. IEnumDiscMasterFormats * This,
  572. /* [out] */ IEnumDiscMasterFormats **ppEnum);
  573. END_INTERFACE
  574. } IEnumDiscMasterFormatsVtbl;
  575. interface IEnumDiscMasterFormats
  576. {
  577. CONST_VTBL struct IEnumDiscMasterFormatsVtbl *lpVtbl;
  578. };
  579. #ifdef COBJMACROS
  580. #define IEnumDiscMasterFormats_QueryInterface(This,riid,ppvObject) \
  581. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  582. #define IEnumDiscMasterFormats_AddRef(This) \
  583. (This)->lpVtbl -> AddRef(This)
  584. #define IEnumDiscMasterFormats_Release(This) \
  585. (This)->lpVtbl -> Release(This)
  586. #define IEnumDiscMasterFormats_Next(This,cFormats,lpiidFormatID,pcFetched) \
  587. (This)->lpVtbl -> Next(This,cFormats,lpiidFormatID,pcFetched)
  588. #define IEnumDiscMasterFormats_Skip(This,cFormats) \
  589. (This)->lpVtbl -> Skip(This,cFormats)
  590. #define IEnumDiscMasterFormats_Reset(This) \
  591. (This)->lpVtbl -> Reset(This)
  592. #define IEnumDiscMasterFormats_Clone(This,ppEnum) \
  593. (This)->lpVtbl -> Clone(This,ppEnum)
  594. #endif /* COBJMACROS */
  595. #endif /* C style interface */
  596. HRESULT STDMETHODCALLTYPE IEnumDiscMasterFormats_Next_Proxy(
  597. IEnumDiscMasterFormats * This,
  598. /* [in] */ ULONG cFormats,
  599. /* [length_is][size_is][out] */ LPIID lpiidFormatID,
  600. /* [out] */ ULONG *pcFetched);
  601. void __RPC_STUB IEnumDiscMasterFormats_Next_Stub(
  602. IRpcStubBuffer *This,
  603. IRpcChannelBuffer *_pRpcChannelBuffer,
  604. PRPC_MESSAGE _pRpcMessage,
  605. DWORD *_pdwStubPhase);
  606. HRESULT STDMETHODCALLTYPE IEnumDiscMasterFormats_Skip_Proxy(
  607. IEnumDiscMasterFormats * This,
  608. /* [in] */ ULONG cFormats);
  609. void __RPC_STUB IEnumDiscMasterFormats_Skip_Stub(
  610. IRpcStubBuffer *This,
  611. IRpcChannelBuffer *_pRpcChannelBuffer,
  612. PRPC_MESSAGE _pRpcMessage,
  613. DWORD *_pdwStubPhase);
  614. HRESULT STDMETHODCALLTYPE IEnumDiscMasterFormats_Reset_Proxy(
  615. IEnumDiscMasterFormats * This);
  616. void __RPC_STUB IEnumDiscMasterFormats_Reset_Stub(
  617. IRpcStubBuffer *This,
  618. IRpcChannelBuffer *_pRpcChannelBuffer,
  619. PRPC_MESSAGE _pRpcMessage,
  620. DWORD *_pdwStubPhase);
  621. HRESULT STDMETHODCALLTYPE IEnumDiscMasterFormats_Clone_Proxy(
  622. IEnumDiscMasterFormats * This,
  623. /* [out] */ IEnumDiscMasterFormats **ppEnum);
  624. void __RPC_STUB IEnumDiscMasterFormats_Clone_Stub(
  625. IRpcStubBuffer *This,
  626. IRpcChannelBuffer *_pRpcChannelBuffer,
  627. PRPC_MESSAGE _pRpcMessage,
  628. DWORD *_pdwStubPhase);
  629. #endif /* __IEnumDiscMasterFormats_INTERFACE_DEFINED__ */
  630. #ifndef __IRedbookDiscMaster_INTERFACE_DEFINED__
  631. #define __IRedbookDiscMaster_INTERFACE_DEFINED__
  632. /* interface IRedbookDiscMaster */
  633. /* [unique][helpstring][uuid][object] */
  634. EXTERN_C const IID IID_IRedbookDiscMaster;
  635. #if defined(__cplusplus) && !defined(CINTERFACE)
  636. MIDL_INTERFACE("E3BC42CD-4E5C-11D3-9144-00104BA11C5E")
  637. IRedbookDiscMaster : public IUnknown
  638. {
  639. public:
  640. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTotalAudioTracks(
  641. /* [retval][out] */ long *pnTracks) = 0;
  642. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTotalAudioBlocks(
  643. /* [retval][out] */ long *pnBlocks) = 0;
  644. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUsedAudioBlocks(
  645. /* [retval][out] */ long *pnBlocks) = 0;
  646. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAvailableAudioTrackBlocks(
  647. /* [retval][out] */ long *pnBlocks) = 0;
  648. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAudioBlockSize(
  649. /* [retval][out] */ long *pnBlockBytes) = 0;
  650. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAudioTrack(
  651. /* [in] */ long nBlocks) = 0;
  652. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddAudioTrackBlocks(
  653. /* [size_is][in] */ byte *pby,
  654. /* [in] */ long cb) = 0;
  655. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CloseAudioTrack( void) = 0;
  656. };
  657. #else /* C style interface */
  658. typedef struct IRedbookDiscMasterVtbl
  659. {
  660. BEGIN_INTERFACE
  661. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  662. IRedbookDiscMaster * This,
  663. /* [in] */ REFIID riid,
  664. /* [iid_is][out] */ void **ppvObject);
  665. ULONG ( STDMETHODCALLTYPE *AddRef )(
  666. IRedbookDiscMaster * This);
  667. ULONG ( STDMETHODCALLTYPE *Release )(
  668. IRedbookDiscMaster * This);
  669. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTotalAudioTracks )(
  670. IRedbookDiscMaster * This,
  671. /* [retval][out] */ long *pnTracks);
  672. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTotalAudioBlocks )(
  673. IRedbookDiscMaster * This,
  674. /* [retval][out] */ long *pnBlocks);
  675. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUsedAudioBlocks )(
  676. IRedbookDiscMaster * This,
  677. /* [retval][out] */ long *pnBlocks);
  678. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioTrackBlocks )(
  679. IRedbookDiscMaster * This,
  680. /* [retval][out] */ long *pnBlocks);
  681. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAudioBlockSize )(
  682. IRedbookDiscMaster * This,
  683. /* [retval][out] */ long *pnBlockBytes);
  684. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAudioTrack )(
  685. IRedbookDiscMaster * This,
  686. /* [in] */ long nBlocks);
  687. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAudioTrackBlocks )(
  688. IRedbookDiscMaster * This,
  689. /* [size_is][in] */ byte *pby,
  690. /* [in] */ long cb);
  691. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CloseAudioTrack )(
  692. IRedbookDiscMaster * This);
  693. END_INTERFACE
  694. } IRedbookDiscMasterVtbl;
  695. interface IRedbookDiscMaster
  696. {
  697. CONST_VTBL struct IRedbookDiscMasterVtbl *lpVtbl;
  698. };
  699. #ifdef COBJMACROS
  700. #define IRedbookDiscMaster_QueryInterface(This,riid,ppvObject) \
  701. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  702. #define IRedbookDiscMaster_AddRef(This) \
  703. (This)->lpVtbl -> AddRef(This)
  704. #define IRedbookDiscMaster_Release(This) \
  705. (This)->lpVtbl -> Release(This)
  706. #define IRedbookDiscMaster_GetTotalAudioTracks(This,pnTracks) \
  707. (This)->lpVtbl -> GetTotalAudioTracks(This,pnTracks)
  708. #define IRedbookDiscMaster_GetTotalAudioBlocks(This,pnBlocks) \
  709. (This)->lpVtbl -> GetTotalAudioBlocks(This,pnBlocks)
  710. #define IRedbookDiscMaster_GetUsedAudioBlocks(This,pnBlocks) \
  711. (This)->lpVtbl -> GetUsedAudioBlocks(This,pnBlocks)
  712. #define IRedbookDiscMaster_GetAvailableAudioTrackBlocks(This,pnBlocks) \
  713. (This)->lpVtbl -> GetAvailableAudioTrackBlocks(This,pnBlocks)
  714. #define IRedbookDiscMaster_GetAudioBlockSize(This,pnBlockBytes) \
  715. (This)->lpVtbl -> GetAudioBlockSize(This,pnBlockBytes)
  716. #define IRedbookDiscMaster_CreateAudioTrack(This,nBlocks) \
  717. (This)->lpVtbl -> CreateAudioTrack(This,nBlocks)
  718. #define IRedbookDiscMaster_AddAudioTrackBlocks(This,pby,cb) \
  719. (This)->lpVtbl -> AddAudioTrackBlocks(This,pby,cb)
  720. #define IRedbookDiscMaster_CloseAudioTrack(This) \
  721. (This)->lpVtbl -> CloseAudioTrack(This)
  722. #endif /* COBJMACROS */
  723. #endif /* C style interface */
  724. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRedbookDiscMaster_GetTotalAudioTracks_Proxy(
  725. IRedbookDiscMaster * This,
  726. /* [retval][out] */ long *pnTracks);
  727. void __RPC_STUB IRedbookDiscMaster_GetTotalAudioTracks_Stub(
  728. IRpcStubBuffer *This,
  729. IRpcChannelBuffer *_pRpcChannelBuffer,
  730. PRPC_MESSAGE _pRpcMessage,
  731. DWORD *_pdwStubPhase);
  732. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRedbookDiscMaster_GetTotalAudioBlocks_Proxy(
  733. IRedbookDiscMaster * This,
  734. /* [retval][out] */ long *pnBlocks);
  735. void __RPC_STUB IRedbookDiscMaster_GetTotalAudioBlocks_Stub(
  736. IRpcStubBuffer *This,
  737. IRpcChannelBuffer *_pRpcChannelBuffer,
  738. PRPC_MESSAGE _pRpcMessage,
  739. DWORD *_pdwStubPhase);
  740. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRedbookDiscMaster_GetUsedAudioBlocks_Proxy(
  741. IRedbookDiscMaster * This,
  742. /* [retval][out] */ long *pnBlocks);
  743. void __RPC_STUB IRedbookDiscMaster_GetUsedAudioBlocks_Stub(
  744. IRpcStubBuffer *This,
  745. IRpcChannelBuffer *_pRpcChannelBuffer,
  746. PRPC_MESSAGE _pRpcMessage,
  747. DWORD *_pdwStubPhase);
  748. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRedbookDiscMaster_GetAvailableAudioTrackBlocks_Proxy(
  749. IRedbookDiscMaster * This,
  750. /* [retval][out] */ long *pnBlocks);
  751. void __RPC_STUB IRedbookDiscMaster_GetAvailableAudioTrackBlocks_Stub(
  752. IRpcStubBuffer *This,
  753. IRpcChannelBuffer *_pRpcChannelBuffer,
  754. PRPC_MESSAGE _pRpcMessage,
  755. DWORD *_pdwStubPhase);
  756. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRedbookDiscMaster_GetAudioBlockSize_Proxy(
  757. IRedbookDiscMaster * This,
  758. /* [retval][out] */ long *pnBlockBytes);
  759. void __RPC_STUB IRedbookDiscMaster_GetAudioBlockSize_Stub(
  760. IRpcStubBuffer *This,
  761. IRpcChannelBuffer *_pRpcChannelBuffer,
  762. PRPC_MESSAGE _pRpcMessage,
  763. DWORD *_pdwStubPhase);
  764. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRedbookDiscMaster_CreateAudioTrack_Proxy(
  765. IRedbookDiscMaster * This,
  766. /* [in] */ long nBlocks);
  767. void __RPC_STUB IRedbookDiscMaster_CreateAudioTrack_Stub(
  768. IRpcStubBuffer *This,
  769. IRpcChannelBuffer *_pRpcChannelBuffer,
  770. PRPC_MESSAGE _pRpcMessage,
  771. DWORD *_pdwStubPhase);
  772. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRedbookDiscMaster_AddAudioTrackBlocks_Proxy(
  773. IRedbookDiscMaster * This,
  774. /* [size_is][in] */ byte *pby,
  775. /* [in] */ long cb);
  776. void __RPC_STUB IRedbookDiscMaster_AddAudioTrackBlocks_Stub(
  777. IRpcStubBuffer *This,
  778. IRpcChannelBuffer *_pRpcChannelBuffer,
  779. PRPC_MESSAGE _pRpcMessage,
  780. DWORD *_pdwStubPhase);
  781. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRedbookDiscMaster_CloseAudioTrack_Proxy(
  782. IRedbookDiscMaster * This);
  783. void __RPC_STUB IRedbookDiscMaster_CloseAudioTrack_Stub(
  784. IRpcStubBuffer *This,
  785. IRpcChannelBuffer *_pRpcChannelBuffer,
  786. PRPC_MESSAGE _pRpcMessage,
  787. DWORD *_pdwStubPhase);
  788. #endif /* __IRedbookDiscMaster_INTERFACE_DEFINED__ */
  789. #ifndef __IJolietDiscMaster_INTERFACE_DEFINED__
  790. #define __IJolietDiscMaster_INTERFACE_DEFINED__
  791. /* interface IJolietDiscMaster */
  792. /* [unique][helpstring][uuid][object] */
  793. EXTERN_C const IID IID_IJolietDiscMaster;
  794. #if defined(__cplusplus) && !defined(CINTERFACE)
  795. MIDL_INTERFACE("E3BC42CE-4E5C-11D3-9144-00104BA11C5E")
  796. IJolietDiscMaster : public IUnknown
  797. {
  798. public:
  799. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTotalDataBlocks(
  800. /* [retval][out] */ long *pnBlocks) = 0;
  801. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetUsedDataBlocks(
  802. /* [retval][out] */ long *pnBlocks) = 0;
  803. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataBlockSize(
  804. /* [retval][out] */ long *pnBlockBytes) = 0;
  805. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddData(
  806. /* [in] */ IStorage *pStorage,
  807. long lFileOverwrite) = 0;
  808. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetJolietProperties(
  809. /* [out] */ IPropertyStorage **ppPropStg) = 0;
  810. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetJolietProperties(
  811. /* [in] */ IPropertyStorage *pPropStg) = 0;
  812. };
  813. #else /* C style interface */
  814. typedef struct IJolietDiscMasterVtbl
  815. {
  816. BEGIN_INTERFACE
  817. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  818. IJolietDiscMaster * This,
  819. /* [in] */ REFIID riid,
  820. /* [iid_is][out] */ void **ppvObject);
  821. ULONG ( STDMETHODCALLTYPE *AddRef )(
  822. IJolietDiscMaster * This);
  823. ULONG ( STDMETHODCALLTYPE *Release )(
  824. IJolietDiscMaster * This);
  825. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTotalDataBlocks )(
  826. IJolietDiscMaster * This,
  827. /* [retval][out] */ long *pnBlocks);
  828. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetUsedDataBlocks )(
  829. IJolietDiscMaster * This,
  830. /* [retval][out] */ long *pnBlocks);
  831. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataBlockSize )(
  832. IJolietDiscMaster * This,
  833. /* [retval][out] */ long *pnBlockBytes);
  834. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddData )(
  835. IJolietDiscMaster * This,
  836. /* [in] */ IStorage *pStorage,
  837. long lFileOverwrite);
  838. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetJolietProperties )(
  839. IJolietDiscMaster * This,
  840. /* [out] */ IPropertyStorage **ppPropStg);
  841. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetJolietProperties )(
  842. IJolietDiscMaster * This,
  843. /* [in] */ IPropertyStorage *pPropStg);
  844. END_INTERFACE
  845. } IJolietDiscMasterVtbl;
  846. interface IJolietDiscMaster
  847. {
  848. CONST_VTBL struct IJolietDiscMasterVtbl *lpVtbl;
  849. };
  850. #ifdef COBJMACROS
  851. #define IJolietDiscMaster_QueryInterface(This,riid,ppvObject) \
  852. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  853. #define IJolietDiscMaster_AddRef(This) \
  854. (This)->lpVtbl -> AddRef(This)
  855. #define IJolietDiscMaster_Release(This) \
  856. (This)->lpVtbl -> Release(This)
  857. #define IJolietDiscMaster_GetTotalDataBlocks(This,pnBlocks) \
  858. (This)->lpVtbl -> GetTotalDataBlocks(This,pnBlocks)
  859. #define IJolietDiscMaster_GetUsedDataBlocks(This,pnBlocks) \
  860. (This)->lpVtbl -> GetUsedDataBlocks(This,pnBlocks)
  861. #define IJolietDiscMaster_GetDataBlockSize(This,pnBlockBytes) \
  862. (This)->lpVtbl -> GetDataBlockSize(This,pnBlockBytes)
  863. #define IJolietDiscMaster_AddData(This,pStorage,lFileOverwrite) \
  864. (This)->lpVtbl -> AddData(This,pStorage,lFileOverwrite)
  865. #define IJolietDiscMaster_GetJolietProperties(This,ppPropStg) \
  866. (This)->lpVtbl -> GetJolietProperties(This,ppPropStg)
  867. #define IJolietDiscMaster_SetJolietProperties(This,pPropStg) \
  868. (This)->lpVtbl -> SetJolietProperties(This,pPropStg)
  869. #endif /* COBJMACROS */
  870. #endif /* C style interface */
  871. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IJolietDiscMaster_GetTotalDataBlocks_Proxy(
  872. IJolietDiscMaster * This,
  873. /* [retval][out] */ long *pnBlocks);
  874. void __RPC_STUB IJolietDiscMaster_GetTotalDataBlocks_Stub(
  875. IRpcStubBuffer *This,
  876. IRpcChannelBuffer *_pRpcChannelBuffer,
  877. PRPC_MESSAGE _pRpcMessage,
  878. DWORD *_pdwStubPhase);
  879. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IJolietDiscMaster_GetUsedDataBlocks_Proxy(
  880. IJolietDiscMaster * This,
  881. /* [retval][out] */ long *pnBlocks);
  882. void __RPC_STUB IJolietDiscMaster_GetUsedDataBlocks_Stub(
  883. IRpcStubBuffer *This,
  884. IRpcChannelBuffer *_pRpcChannelBuffer,
  885. PRPC_MESSAGE _pRpcMessage,
  886. DWORD *_pdwStubPhase);
  887. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IJolietDiscMaster_GetDataBlockSize_Proxy(
  888. IJolietDiscMaster * This,
  889. /* [retval][out] */ long *pnBlockBytes);
  890. void __RPC_STUB IJolietDiscMaster_GetDataBlockSize_Stub(
  891. IRpcStubBuffer *This,
  892. IRpcChannelBuffer *_pRpcChannelBuffer,
  893. PRPC_MESSAGE _pRpcMessage,
  894. DWORD *_pdwStubPhase);
  895. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IJolietDiscMaster_AddData_Proxy(
  896. IJolietDiscMaster * This,
  897. /* [in] */ IStorage *pStorage,
  898. long lFileOverwrite);
  899. void __RPC_STUB IJolietDiscMaster_AddData_Stub(
  900. IRpcStubBuffer *This,
  901. IRpcChannelBuffer *_pRpcChannelBuffer,
  902. PRPC_MESSAGE _pRpcMessage,
  903. DWORD *_pdwStubPhase);
  904. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IJolietDiscMaster_GetJolietProperties_Proxy(
  905. IJolietDiscMaster * This,
  906. /* [out] */ IPropertyStorage **ppPropStg);
  907. void __RPC_STUB IJolietDiscMaster_GetJolietProperties_Stub(
  908. IRpcStubBuffer *This,
  909. IRpcChannelBuffer *_pRpcChannelBuffer,
  910. PRPC_MESSAGE _pRpcMessage,
  911. DWORD *_pdwStubPhase);
  912. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IJolietDiscMaster_SetJolietProperties_Proxy(
  913. IJolietDiscMaster * This,
  914. /* [in] */ IPropertyStorage *pPropStg);
  915. void __RPC_STUB IJolietDiscMaster_SetJolietProperties_Stub(
  916. IRpcStubBuffer *This,
  917. IRpcChannelBuffer *_pRpcChannelBuffer,
  918. PRPC_MESSAGE _pRpcMessage,
  919. DWORD *_pdwStubPhase);
  920. #endif /* __IJolietDiscMaster_INTERFACE_DEFINED__ */
  921. #ifndef __IDiscMasterProgressEvents_INTERFACE_DEFINED__
  922. #define __IDiscMasterProgressEvents_INTERFACE_DEFINED__
  923. /* interface IDiscMasterProgressEvents */
  924. /* [unique][helpstring][uuid][object] */
  925. EXTERN_C const IID IID_IDiscMasterProgressEvents;
  926. #if defined(__cplusplus) && !defined(CINTERFACE)
  927. MIDL_INTERFACE("EC9E51C1-4E5D-11D3-9144-00104BA11C5E")
  928. IDiscMasterProgressEvents : public IUnknown
  929. {
  930. public:
  931. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryCancel(
  932. /* [retval][out] */ boolean *pbCancel) = 0;
  933. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NotifyPnPActivity( void) = 0;
  934. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NotifyAddProgress(
  935. /* [in] */ long nCompletedSteps,
  936. /* [in] */ long nTotalSteps) = 0;
  937. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NotifyBlockProgress(
  938. /* [in] */ long nCompleted,
  939. /* [in] */ long nTotal) = 0;
  940. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NotifyTrackProgress(
  941. /* [in] */ long nCurrentTrack,
  942. /* [in] */ long nTotalTracks) = 0;
  943. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NotifyPreparingBurn(
  944. /* [in] */ long nEstimatedSeconds) = 0;
  945. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NotifyClosingDisc(
  946. /* [in] */ long nEstimatedSeconds) = 0;
  947. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NotifyBurnComplete(
  948. /* [in] */ HRESULT status) = 0;
  949. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NotifyEraseComplete(
  950. /* [in] */ HRESULT status) = 0;
  951. };
  952. #else /* C style interface */
  953. typedef struct IDiscMasterProgressEventsVtbl
  954. {
  955. BEGIN_INTERFACE
  956. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  957. IDiscMasterProgressEvents * This,
  958. /* [in] */ REFIID riid,
  959. /* [iid_is][out] */ void **ppvObject);
  960. ULONG ( STDMETHODCALLTYPE *AddRef )(
  961. IDiscMasterProgressEvents * This);
  962. ULONG ( STDMETHODCALLTYPE *Release )(
  963. IDiscMasterProgressEvents * This);
  964. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryCancel )(
  965. IDiscMasterProgressEvents * This,
  966. /* [retval][out] */ boolean *pbCancel);
  967. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NotifyPnPActivity )(
  968. IDiscMasterProgressEvents * This);
  969. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NotifyAddProgress )(
  970. IDiscMasterProgressEvents * This,
  971. /* [in] */ long nCompletedSteps,
  972. /* [in] */ long nTotalSteps);
  973. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NotifyBlockProgress )(
  974. IDiscMasterProgressEvents * This,
  975. /* [in] */ long nCompleted,
  976. /* [in] */ long nTotal);
  977. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NotifyTrackProgress )(
  978. IDiscMasterProgressEvents * This,
  979. /* [in] */ long nCurrentTrack,
  980. /* [in] */ long nTotalTracks);
  981. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NotifyPreparingBurn )(
  982. IDiscMasterProgressEvents * This,
  983. /* [in] */ long nEstimatedSeconds);
  984. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NotifyClosingDisc )(
  985. IDiscMasterProgressEvents * This,
  986. /* [in] */ long nEstimatedSeconds);
  987. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NotifyBurnComplete )(
  988. IDiscMasterProgressEvents * This,
  989. /* [in] */ HRESULT status);
  990. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NotifyEraseComplete )(
  991. IDiscMasterProgressEvents * This,
  992. /* [in] */ HRESULT status);
  993. END_INTERFACE
  994. } IDiscMasterProgressEventsVtbl;
  995. interface IDiscMasterProgressEvents
  996. {
  997. CONST_VTBL struct IDiscMasterProgressEventsVtbl *lpVtbl;
  998. };
  999. #ifdef COBJMACROS
  1000. #define IDiscMasterProgressEvents_QueryInterface(This,riid,ppvObject) \
  1001. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1002. #define IDiscMasterProgressEvents_AddRef(This) \
  1003. (This)->lpVtbl -> AddRef(This)
  1004. #define IDiscMasterProgressEvents_Release(This) \
  1005. (This)->lpVtbl -> Release(This)
  1006. #define IDiscMasterProgressEvents_QueryCancel(This,pbCancel) \
  1007. (This)->lpVtbl -> QueryCancel(This,pbCancel)
  1008. #define IDiscMasterProgressEvents_NotifyPnPActivity(This) \
  1009. (This)->lpVtbl -> NotifyPnPActivity(This)
  1010. #define IDiscMasterProgressEvents_NotifyAddProgress(This,nCompletedSteps,nTotalSteps) \
  1011. (This)->lpVtbl -> NotifyAddProgress(This,nCompletedSteps,nTotalSteps)
  1012. #define IDiscMasterProgressEvents_NotifyBlockProgress(This,nCompleted,nTotal) \
  1013. (This)->lpVtbl -> NotifyBlockProgress(This,nCompleted,nTotal)
  1014. #define IDiscMasterProgressEvents_NotifyTrackProgress(This,nCurrentTrack,nTotalTracks) \
  1015. (This)->lpVtbl -> NotifyTrackProgress(This,nCurrentTrack,nTotalTracks)
  1016. #define IDiscMasterProgressEvents_NotifyPreparingBurn(This,nEstimatedSeconds) \
  1017. (This)->lpVtbl -> NotifyPreparingBurn(This,nEstimatedSeconds)
  1018. #define IDiscMasterProgressEvents_NotifyClosingDisc(This,nEstimatedSeconds) \
  1019. (This)->lpVtbl -> NotifyClosingDisc(This,nEstimatedSeconds)
  1020. #define IDiscMasterProgressEvents_NotifyBurnComplete(This,status) \
  1021. (This)->lpVtbl -> NotifyBurnComplete(This,status)
  1022. #define IDiscMasterProgressEvents_NotifyEraseComplete(This,status) \
  1023. (This)->lpVtbl -> NotifyEraseComplete(This,status)
  1024. #endif /* COBJMACROS */
  1025. #endif /* C style interface */
  1026. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMasterProgressEvents_QueryCancel_Proxy(
  1027. IDiscMasterProgressEvents * This,
  1028. /* [retval][out] */ boolean *pbCancel);
  1029. void __RPC_STUB IDiscMasterProgressEvents_QueryCancel_Stub(
  1030. IRpcStubBuffer *This,
  1031. IRpcChannelBuffer *_pRpcChannelBuffer,
  1032. PRPC_MESSAGE _pRpcMessage,
  1033. DWORD *_pdwStubPhase);
  1034. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMasterProgressEvents_NotifyPnPActivity_Proxy(
  1035. IDiscMasterProgressEvents * This);
  1036. void __RPC_STUB IDiscMasterProgressEvents_NotifyPnPActivity_Stub(
  1037. IRpcStubBuffer *This,
  1038. IRpcChannelBuffer *_pRpcChannelBuffer,
  1039. PRPC_MESSAGE _pRpcMessage,
  1040. DWORD *_pdwStubPhase);
  1041. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMasterProgressEvents_NotifyAddProgress_Proxy(
  1042. IDiscMasterProgressEvents * This,
  1043. /* [in] */ long nCompletedSteps,
  1044. /* [in] */ long nTotalSteps);
  1045. void __RPC_STUB IDiscMasterProgressEvents_NotifyAddProgress_Stub(
  1046. IRpcStubBuffer *This,
  1047. IRpcChannelBuffer *_pRpcChannelBuffer,
  1048. PRPC_MESSAGE _pRpcMessage,
  1049. DWORD *_pdwStubPhase);
  1050. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMasterProgressEvents_NotifyBlockProgress_Proxy(
  1051. IDiscMasterProgressEvents * This,
  1052. /* [in] */ long nCompleted,
  1053. /* [in] */ long nTotal);
  1054. void __RPC_STUB IDiscMasterProgressEvents_NotifyBlockProgress_Stub(
  1055. IRpcStubBuffer *This,
  1056. IRpcChannelBuffer *_pRpcChannelBuffer,
  1057. PRPC_MESSAGE _pRpcMessage,
  1058. DWORD *_pdwStubPhase);
  1059. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMasterProgressEvents_NotifyTrackProgress_Proxy(
  1060. IDiscMasterProgressEvents * This,
  1061. /* [in] */ long nCurrentTrack,
  1062. /* [in] */ long nTotalTracks);
  1063. void __RPC_STUB IDiscMasterProgressEvents_NotifyTrackProgress_Stub(
  1064. IRpcStubBuffer *This,
  1065. IRpcChannelBuffer *_pRpcChannelBuffer,
  1066. PRPC_MESSAGE _pRpcMessage,
  1067. DWORD *_pdwStubPhase);
  1068. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMasterProgressEvents_NotifyPreparingBurn_Proxy(
  1069. IDiscMasterProgressEvents * This,
  1070. /* [in] */ long nEstimatedSeconds);
  1071. void __RPC_STUB IDiscMasterProgressEvents_NotifyPreparingBurn_Stub(
  1072. IRpcStubBuffer *This,
  1073. IRpcChannelBuffer *_pRpcChannelBuffer,
  1074. PRPC_MESSAGE _pRpcMessage,
  1075. DWORD *_pdwStubPhase);
  1076. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMasterProgressEvents_NotifyClosingDisc_Proxy(
  1077. IDiscMasterProgressEvents * This,
  1078. /* [in] */ long nEstimatedSeconds);
  1079. void __RPC_STUB IDiscMasterProgressEvents_NotifyClosingDisc_Stub(
  1080. IRpcStubBuffer *This,
  1081. IRpcChannelBuffer *_pRpcChannelBuffer,
  1082. PRPC_MESSAGE _pRpcMessage,
  1083. DWORD *_pdwStubPhase);
  1084. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMasterProgressEvents_NotifyBurnComplete_Proxy(
  1085. IDiscMasterProgressEvents * This,
  1086. /* [in] */ HRESULT status);
  1087. void __RPC_STUB IDiscMasterProgressEvents_NotifyBurnComplete_Stub(
  1088. IRpcStubBuffer *This,
  1089. IRpcChannelBuffer *_pRpcChannelBuffer,
  1090. PRPC_MESSAGE _pRpcMessage,
  1091. DWORD *_pdwStubPhase);
  1092. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMasterProgressEvents_NotifyEraseComplete_Proxy(
  1093. IDiscMasterProgressEvents * This,
  1094. /* [in] */ HRESULT status);
  1095. void __RPC_STUB IDiscMasterProgressEvents_NotifyEraseComplete_Stub(
  1096. IRpcStubBuffer *This,
  1097. IRpcChannelBuffer *_pRpcChannelBuffer,
  1098. PRPC_MESSAGE _pRpcMessage,
  1099. DWORD *_pdwStubPhase);
  1100. #endif /* __IDiscMasterProgressEvents_INTERFACE_DEFINED__ */
  1101. #ifndef __IDiscMaster_INTERFACE_DEFINED__
  1102. #define __IDiscMaster_INTERFACE_DEFINED__
  1103. /* interface IDiscMaster */
  1104. /* [unique][helpstring][uuid][object] */
  1105. EXTERN_C const IID IID_IDiscMaster;
  1106. #if defined(__cplusplus) && !defined(CINTERFACE)
  1107. MIDL_INTERFACE("520CCA62-51A5-11D3-9144-00104BA11C5E")
  1108. IDiscMaster : public IUnknown
  1109. {
  1110. public:
  1111. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Open( void) = 0;
  1112. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumDiscMasterFormats(
  1113. /* [out] */ IEnumDiscMasterFormats **ppEnum) = 0;
  1114. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetActiveDiscMasterFormat(
  1115. /* [out] */ LPIID lpiid) = 0;
  1116. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetActiveDiscMasterFormat(
  1117. /* [in] */ REFIID riid,
  1118. /* [iid_is][out] */ void **ppUnk) = 0;
  1119. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumDiscRecorders(
  1120. /* [out] */ IEnumDiscRecorders **ppEnum) = 0;
  1121. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetActiveDiscRecorder(
  1122. /* [out] */ IDiscRecorder **ppRecorder) = 0;
  1123. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetActiveDiscRecorder(
  1124. /* [in] */ IDiscRecorder *pRecorder) = 0;
  1125. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearFormatContent( void) = 0;
  1126. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProgressAdvise(
  1127. /* [in] */ IDiscMasterProgressEvents *pEvents,
  1128. /* [retval][out] */ UINT_PTR *pvCookie) = 0;
  1129. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ProgressUnadvise(
  1130. /* [in] */ UINT_PTR vCookie) = 0;
  1131. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RecordDisc(
  1132. /* [in] */ boolean bSimulate,
  1133. /* [in] */ boolean bEjectAfterBurn) = 0;
  1134. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  1135. };
  1136. #else /* C style interface */
  1137. typedef struct IDiscMasterVtbl
  1138. {
  1139. BEGIN_INTERFACE
  1140. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1141. IDiscMaster * This,
  1142. /* [in] */ REFIID riid,
  1143. /* [iid_is][out] */ void **ppvObject);
  1144. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1145. IDiscMaster * This);
  1146. ULONG ( STDMETHODCALLTYPE *Release )(
  1147. IDiscMaster * This);
  1148. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )(
  1149. IDiscMaster * This);
  1150. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumDiscMasterFormats )(
  1151. IDiscMaster * This,
  1152. /* [out] */ IEnumDiscMasterFormats **ppEnum);
  1153. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetActiveDiscMasterFormat )(
  1154. IDiscMaster * This,
  1155. /* [out] */ LPIID lpiid);
  1156. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetActiveDiscMasterFormat )(
  1157. IDiscMaster * This,
  1158. /* [in] */ REFIID riid,
  1159. /* [iid_is][out] */ void **ppUnk);
  1160. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumDiscRecorders )(
  1161. IDiscMaster * This,
  1162. /* [out] */ IEnumDiscRecorders **ppEnum);
  1163. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetActiveDiscRecorder )(
  1164. IDiscMaster * This,
  1165. /* [out] */ IDiscRecorder **ppRecorder);
  1166. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetActiveDiscRecorder )(
  1167. IDiscMaster * This,
  1168. /* [in] */ IDiscRecorder *pRecorder);
  1169. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearFormatContent )(
  1170. IDiscMaster * This);
  1171. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProgressAdvise )(
  1172. IDiscMaster * This,
  1173. /* [in] */ IDiscMasterProgressEvents *pEvents,
  1174. /* [retval][out] */ UINT_PTR *pvCookie);
  1175. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ProgressUnadvise )(
  1176. IDiscMaster * This,
  1177. /* [in] */ UINT_PTR vCookie);
  1178. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RecordDisc )(
  1179. IDiscMaster * This,
  1180. /* [in] */ boolean bSimulate,
  1181. /* [in] */ boolean bEjectAfterBurn);
  1182. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )(
  1183. IDiscMaster * This);
  1184. END_INTERFACE
  1185. } IDiscMasterVtbl;
  1186. interface IDiscMaster
  1187. {
  1188. CONST_VTBL struct IDiscMasterVtbl *lpVtbl;
  1189. };
  1190. #ifdef COBJMACROS
  1191. #define IDiscMaster_QueryInterface(This,riid,ppvObject) \
  1192. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1193. #define IDiscMaster_AddRef(This) \
  1194. (This)->lpVtbl -> AddRef(This)
  1195. #define IDiscMaster_Release(This) \
  1196. (This)->lpVtbl -> Release(This)
  1197. #define IDiscMaster_Open(This) \
  1198. (This)->lpVtbl -> Open(This)
  1199. #define IDiscMaster_EnumDiscMasterFormats(This,ppEnum) \
  1200. (This)->lpVtbl -> EnumDiscMasterFormats(This,ppEnum)
  1201. #define IDiscMaster_GetActiveDiscMasterFormat(This,lpiid) \
  1202. (This)->lpVtbl -> GetActiveDiscMasterFormat(This,lpiid)
  1203. #define IDiscMaster_SetActiveDiscMasterFormat(This,riid,ppUnk) \
  1204. (This)->lpVtbl -> SetActiveDiscMasterFormat(This,riid,ppUnk)
  1205. #define IDiscMaster_EnumDiscRecorders(This,ppEnum) \
  1206. (This)->lpVtbl -> EnumDiscRecorders(This,ppEnum)
  1207. #define IDiscMaster_GetActiveDiscRecorder(This,ppRecorder) \
  1208. (This)->lpVtbl -> GetActiveDiscRecorder(This,ppRecorder)
  1209. #define IDiscMaster_SetActiveDiscRecorder(This,pRecorder) \
  1210. (This)->lpVtbl -> SetActiveDiscRecorder(This,pRecorder)
  1211. #define IDiscMaster_ClearFormatContent(This) \
  1212. (This)->lpVtbl -> ClearFormatContent(This)
  1213. #define IDiscMaster_ProgressAdvise(This,pEvents,pvCookie) \
  1214. (This)->lpVtbl -> ProgressAdvise(This,pEvents,pvCookie)
  1215. #define IDiscMaster_ProgressUnadvise(This,vCookie) \
  1216. (This)->lpVtbl -> ProgressUnadvise(This,vCookie)
  1217. #define IDiscMaster_RecordDisc(This,bSimulate,bEjectAfterBurn) \
  1218. (This)->lpVtbl -> RecordDisc(This,bSimulate,bEjectAfterBurn)
  1219. #define IDiscMaster_Close(This) \
  1220. (This)->lpVtbl -> Close(This)
  1221. #endif /* COBJMACROS */
  1222. #endif /* C style interface */
  1223. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_Open_Proxy(
  1224. IDiscMaster * This);
  1225. void __RPC_STUB IDiscMaster_Open_Stub(
  1226. IRpcStubBuffer *This,
  1227. IRpcChannelBuffer *_pRpcChannelBuffer,
  1228. PRPC_MESSAGE _pRpcMessage,
  1229. DWORD *_pdwStubPhase);
  1230. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_EnumDiscMasterFormats_Proxy(
  1231. IDiscMaster * This,
  1232. /* [out] */ IEnumDiscMasterFormats **ppEnum);
  1233. void __RPC_STUB IDiscMaster_EnumDiscMasterFormats_Stub(
  1234. IRpcStubBuffer *This,
  1235. IRpcChannelBuffer *_pRpcChannelBuffer,
  1236. PRPC_MESSAGE _pRpcMessage,
  1237. DWORD *_pdwStubPhase);
  1238. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_GetActiveDiscMasterFormat_Proxy(
  1239. IDiscMaster * This,
  1240. /* [out] */ LPIID lpiid);
  1241. void __RPC_STUB IDiscMaster_GetActiveDiscMasterFormat_Stub(
  1242. IRpcStubBuffer *This,
  1243. IRpcChannelBuffer *_pRpcChannelBuffer,
  1244. PRPC_MESSAGE _pRpcMessage,
  1245. DWORD *_pdwStubPhase);
  1246. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_SetActiveDiscMasterFormat_Proxy(
  1247. IDiscMaster * This,
  1248. /* [in] */ REFIID riid,
  1249. /* [iid_is][out] */ void **ppUnk);
  1250. void __RPC_STUB IDiscMaster_SetActiveDiscMasterFormat_Stub(
  1251. IRpcStubBuffer *This,
  1252. IRpcChannelBuffer *_pRpcChannelBuffer,
  1253. PRPC_MESSAGE _pRpcMessage,
  1254. DWORD *_pdwStubPhase);
  1255. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_EnumDiscRecorders_Proxy(
  1256. IDiscMaster * This,
  1257. /* [out] */ IEnumDiscRecorders **ppEnum);
  1258. void __RPC_STUB IDiscMaster_EnumDiscRecorders_Stub(
  1259. IRpcStubBuffer *This,
  1260. IRpcChannelBuffer *_pRpcChannelBuffer,
  1261. PRPC_MESSAGE _pRpcMessage,
  1262. DWORD *_pdwStubPhase);
  1263. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_GetActiveDiscRecorder_Proxy(
  1264. IDiscMaster * This,
  1265. /* [out] */ IDiscRecorder **ppRecorder);
  1266. void __RPC_STUB IDiscMaster_GetActiveDiscRecorder_Stub(
  1267. IRpcStubBuffer *This,
  1268. IRpcChannelBuffer *_pRpcChannelBuffer,
  1269. PRPC_MESSAGE _pRpcMessage,
  1270. DWORD *_pdwStubPhase);
  1271. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_SetActiveDiscRecorder_Proxy(
  1272. IDiscMaster * This,
  1273. /* [in] */ IDiscRecorder *pRecorder);
  1274. void __RPC_STUB IDiscMaster_SetActiveDiscRecorder_Stub(
  1275. IRpcStubBuffer *This,
  1276. IRpcChannelBuffer *_pRpcChannelBuffer,
  1277. PRPC_MESSAGE _pRpcMessage,
  1278. DWORD *_pdwStubPhase);
  1279. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_ClearFormatContent_Proxy(
  1280. IDiscMaster * This);
  1281. void __RPC_STUB IDiscMaster_ClearFormatContent_Stub(
  1282. IRpcStubBuffer *This,
  1283. IRpcChannelBuffer *_pRpcChannelBuffer,
  1284. PRPC_MESSAGE _pRpcMessage,
  1285. DWORD *_pdwStubPhase);
  1286. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_ProgressAdvise_Proxy(
  1287. IDiscMaster * This,
  1288. /* [in] */ IDiscMasterProgressEvents *pEvents,
  1289. /* [retval][out] */ UINT_PTR *pvCookie);
  1290. void __RPC_STUB IDiscMaster_ProgressAdvise_Stub(
  1291. IRpcStubBuffer *This,
  1292. IRpcChannelBuffer *_pRpcChannelBuffer,
  1293. PRPC_MESSAGE _pRpcMessage,
  1294. DWORD *_pdwStubPhase);
  1295. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_ProgressUnadvise_Proxy(
  1296. IDiscMaster * This,
  1297. /* [in] */ UINT_PTR vCookie);
  1298. void __RPC_STUB IDiscMaster_ProgressUnadvise_Stub(
  1299. IRpcStubBuffer *This,
  1300. IRpcChannelBuffer *_pRpcChannelBuffer,
  1301. PRPC_MESSAGE _pRpcMessage,
  1302. DWORD *_pdwStubPhase);
  1303. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_RecordDisc_Proxy(
  1304. IDiscMaster * This,
  1305. /* [in] */ boolean bSimulate,
  1306. /* [in] */ boolean bEjectAfterBurn);
  1307. void __RPC_STUB IDiscMaster_RecordDisc_Stub(
  1308. IRpcStubBuffer *This,
  1309. IRpcChannelBuffer *_pRpcChannelBuffer,
  1310. PRPC_MESSAGE _pRpcMessage,
  1311. DWORD *_pdwStubPhase);
  1312. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscMaster_Close_Proxy(
  1313. IDiscMaster * This);
  1314. void __RPC_STUB IDiscMaster_Close_Stub(
  1315. IRpcStubBuffer *This,
  1316. IRpcChannelBuffer *_pRpcChannelBuffer,
  1317. PRPC_MESSAGE _pRpcMessage,
  1318. DWORD *_pdwStubPhase);
  1319. #endif /* __IDiscMaster_INTERFACE_DEFINED__ */
  1320. #ifndef __IDiscStash_INTERFACE_DEFINED__
  1321. #define __IDiscStash_INTERFACE_DEFINED__
  1322. /* interface IDiscStash */
  1323. /* [unique][helpstring][uuid][object] */
  1324. EXTERN_C const IID IID_IDiscStash;
  1325. #if defined(__cplusplus) && !defined(CINTERFACE)
  1326. MIDL_INTERFACE("520CCA64-51A5-11D3-9144-00104BA11C5E")
  1327. IDiscStash : public IUnknown
  1328. {
  1329. public:
  1330. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenExclusive(
  1331. /* [retval][out] */ UINT_PTR *pvCookie) = 0;
  1332. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTotalStashBytes(
  1333. /* [in] */ UINT_PTR vCookie,
  1334. /* [retval][out] */ unsigned __int64 *plibStashBytes) = 0;
  1335. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Read(
  1336. /* [in] */ UINT_PTR vCookie,
  1337. /* [length_is][size_is][out] */ byte *pby,
  1338. /* [in] */ long cb,
  1339. /* [retval][out] */ long *pcbRead) = 0;
  1340. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Write(
  1341. /* [in] */ UINT_PTR vCookie,
  1342. /* [size_is][in] */ byte *pby,
  1343. /* [in] */ long cb) = 0;
  1344. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Seek(
  1345. /* [in] */ UINT_PTR vCookie,
  1346. /* [in] */ __int64 dlibMove,
  1347. /* [in] */ long dwOrigin,
  1348. /* [out] */ unsigned __int64 *plibNewPosition) = 0;
  1349. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Close(
  1350. /* [in] */ UINT_PTR vCookie) = 0;
  1351. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFileHandle(
  1352. /* [retval][out] */ UINT_PTR *phFileHandle) = 0;
  1353. };
  1354. #else /* C style interface */
  1355. typedef struct IDiscStashVtbl
  1356. {
  1357. BEGIN_INTERFACE
  1358. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1359. IDiscStash * This,
  1360. /* [in] */ REFIID riid,
  1361. /* [iid_is][out] */ void **ppvObject);
  1362. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1363. IDiscStash * This);
  1364. ULONG ( STDMETHODCALLTYPE *Release )(
  1365. IDiscStash * This);
  1366. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenExclusive )(
  1367. IDiscStash * This,
  1368. /* [retval][out] */ UINT_PTR *pvCookie);
  1369. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTotalStashBytes )(
  1370. IDiscStash * This,
  1371. /* [in] */ UINT_PTR vCookie,
  1372. /* [retval][out] */ unsigned __int64 *plibStashBytes);
  1373. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  1374. IDiscStash * This,
  1375. /* [in] */ UINT_PTR vCookie,
  1376. /* [length_is][size_is][out] */ byte *pby,
  1377. /* [in] */ long cb,
  1378. /* [retval][out] */ long *pcbRead);
  1379. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )(
  1380. IDiscStash * This,
  1381. /* [in] */ UINT_PTR vCookie,
  1382. /* [size_is][in] */ byte *pby,
  1383. /* [in] */ long cb);
  1384. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
  1385. IDiscStash * This,
  1386. /* [in] */ UINT_PTR vCookie,
  1387. /* [in] */ __int64 dlibMove,
  1388. /* [in] */ long dwOrigin,
  1389. /* [out] */ unsigned __int64 *plibNewPosition);
  1390. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )(
  1391. IDiscStash * This,
  1392. /* [in] */ UINT_PTR vCookie);
  1393. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFileHandle )(
  1394. IDiscStash * This,
  1395. /* [retval][out] */ UINT_PTR *phFileHandle);
  1396. END_INTERFACE
  1397. } IDiscStashVtbl;
  1398. interface IDiscStash
  1399. {
  1400. CONST_VTBL struct IDiscStashVtbl *lpVtbl;
  1401. };
  1402. #ifdef COBJMACROS
  1403. #define IDiscStash_QueryInterface(This,riid,ppvObject) \
  1404. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1405. #define IDiscStash_AddRef(This) \
  1406. (This)->lpVtbl -> AddRef(This)
  1407. #define IDiscStash_Release(This) \
  1408. (This)->lpVtbl -> Release(This)
  1409. #define IDiscStash_OpenExclusive(This,pvCookie) \
  1410. (This)->lpVtbl -> OpenExclusive(This,pvCookie)
  1411. #define IDiscStash_GetTotalStashBytes(This,vCookie,plibStashBytes) \
  1412. (This)->lpVtbl -> GetTotalStashBytes(This,vCookie,plibStashBytes)
  1413. #define IDiscStash_Read(This,vCookie,pby,cb,pcbRead) \
  1414. (This)->lpVtbl -> Read(This,vCookie,pby,cb,pcbRead)
  1415. #define IDiscStash_Write(This,vCookie,pby,cb) \
  1416. (This)->lpVtbl -> Write(This,vCookie,pby,cb)
  1417. #define IDiscStash_Seek(This,vCookie,dlibMove,dwOrigin,plibNewPosition) \
  1418. (This)->lpVtbl -> Seek(This,vCookie,dlibMove,dwOrigin,plibNewPosition)
  1419. #define IDiscStash_Close(This,vCookie) \
  1420. (This)->lpVtbl -> Close(This,vCookie)
  1421. #define IDiscStash_GetFileHandle(This,phFileHandle) \
  1422. (This)->lpVtbl -> GetFileHandle(This,phFileHandle)
  1423. #endif /* COBJMACROS */
  1424. #endif /* C style interface */
  1425. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscStash_OpenExclusive_Proxy(
  1426. IDiscStash * This,
  1427. /* [retval][out] */ UINT_PTR *pvCookie);
  1428. void __RPC_STUB IDiscStash_OpenExclusive_Stub(
  1429. IRpcStubBuffer *This,
  1430. IRpcChannelBuffer *_pRpcChannelBuffer,
  1431. PRPC_MESSAGE _pRpcMessage,
  1432. DWORD *_pdwStubPhase);
  1433. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscStash_GetTotalStashBytes_Proxy(
  1434. IDiscStash * This,
  1435. /* [in] */ UINT_PTR vCookie,
  1436. /* [retval][out] */ unsigned __int64 *plibStashBytes);
  1437. void __RPC_STUB IDiscStash_GetTotalStashBytes_Stub(
  1438. IRpcStubBuffer *This,
  1439. IRpcChannelBuffer *_pRpcChannelBuffer,
  1440. PRPC_MESSAGE _pRpcMessage,
  1441. DWORD *_pdwStubPhase);
  1442. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscStash_Read_Proxy(
  1443. IDiscStash * This,
  1444. /* [in] */ UINT_PTR vCookie,
  1445. /* [length_is][size_is][out] */ byte *pby,
  1446. /* [in] */ long cb,
  1447. /* [retval][out] */ long *pcbRead);
  1448. void __RPC_STUB IDiscStash_Read_Stub(
  1449. IRpcStubBuffer *This,
  1450. IRpcChannelBuffer *_pRpcChannelBuffer,
  1451. PRPC_MESSAGE _pRpcMessage,
  1452. DWORD *_pdwStubPhase);
  1453. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscStash_Write_Proxy(
  1454. IDiscStash * This,
  1455. /* [in] */ UINT_PTR vCookie,
  1456. /* [size_is][in] */ byte *pby,
  1457. /* [in] */ long cb);
  1458. void __RPC_STUB IDiscStash_Write_Stub(
  1459. IRpcStubBuffer *This,
  1460. IRpcChannelBuffer *_pRpcChannelBuffer,
  1461. PRPC_MESSAGE _pRpcMessage,
  1462. DWORD *_pdwStubPhase);
  1463. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscStash_Seek_Proxy(
  1464. IDiscStash * This,
  1465. /* [in] */ UINT_PTR vCookie,
  1466. /* [in] */ __int64 dlibMove,
  1467. /* [in] */ long dwOrigin,
  1468. /* [out] */ unsigned __int64 *plibNewPosition);
  1469. void __RPC_STUB IDiscStash_Seek_Stub(
  1470. IRpcStubBuffer *This,
  1471. IRpcChannelBuffer *_pRpcChannelBuffer,
  1472. PRPC_MESSAGE _pRpcMessage,
  1473. DWORD *_pdwStubPhase);
  1474. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscStash_Close_Proxy(
  1475. IDiscStash * This,
  1476. /* [in] */ UINT_PTR vCookie);
  1477. void __RPC_STUB IDiscStash_Close_Stub(
  1478. IRpcStubBuffer *This,
  1479. IRpcChannelBuffer *_pRpcChannelBuffer,
  1480. PRPC_MESSAGE _pRpcMessage,
  1481. DWORD *_pdwStubPhase);
  1482. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiscStash_GetFileHandle_Proxy(
  1483. IDiscStash * This,
  1484. /* [retval][out] */ UINT_PTR *phFileHandle);
  1485. void __RPC_STUB IDiscStash_GetFileHandle_Stub(
  1486. IRpcStubBuffer *This,
  1487. IRpcChannelBuffer *_pRpcChannelBuffer,
  1488. PRPC_MESSAGE _pRpcMessage,
  1489. DWORD *_pdwStubPhase);
  1490. #endif /* __IDiscStash_INTERFACE_DEFINED__ */
  1491. #ifndef __IBurnEngine_INTERFACE_DEFINED__
  1492. #define __IBurnEngine_INTERFACE_DEFINED__
  1493. /* interface IBurnEngine */
  1494. /* [unique][helpstring][uuid][object] */
  1495. typedef /* [public][public][public][public] */
  1496. enum __MIDL_IBurnEngine_0001
  1497. { eBurnProgressNoError = 0,
  1498. eBurnProgressNotStarted = eBurnProgressNoError + 1,
  1499. eBurnProgressBurning = eBurnProgressNotStarted + 1,
  1500. eBurnProgressComplete = eBurnProgressBurning + 1,
  1501. eBurnProgressError = eBurnProgressComplete + 1,
  1502. eBurnProgressLossOfStreamingError = eBurnProgressError + 1,
  1503. eBurnProgressMediaWriteProtect = eBurnProgressLossOfStreamingError + 1,
  1504. eBurnProgressUnableToWriteToMedia = eBurnProgressMediaWriteProtect + 1,
  1505. eBurnProgressBadHandle = eBurnProgressUnableToWriteToMedia + 1
  1506. } BURN_PROGRESS_STATUS;
  1507. typedef struct tag_BURN_PROGRESS
  1508. {
  1509. DWORD dwCancelBurn;
  1510. DWORD dwSectionsDone;
  1511. DWORD dwTotalSections;
  1512. DWORD dwBlocksDone;
  1513. DWORD dwTotalBlocks;
  1514. BURN_PROGRESS_STATUS eStatus;
  1515. } BURN_PROGRESS;
  1516. typedef struct tag_BURN_PROGRESS *PBURN_PROGRESS;
  1517. EXTERN_C const IID IID_IBurnEngine;
  1518. #if defined(__cplusplus) && !defined(CINTERFACE)
  1519. MIDL_INTERFACE("520CCA66-51A5-11D3-9144-00104BA11C5E")
  1520. IBurnEngine : public IUnknown
  1521. {
  1522. public:
  1523. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReadOpen(
  1524. /* [in] */ long bOpen) = 0;
  1525. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumDiscRecorders(
  1526. /* [out] */ IEnumDiscRecorders **ppEnum) = 0;
  1527. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetActiveDiscRecorder(
  1528. /* [retval][out] */ IDiscRecorder **ppRecorder) = 0;
  1529. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetActiveDiscRecorder(
  1530. /* [in] */ IDiscRecorder *pRecorder) = 0;
  1531. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Read(
  1532. /* [out][in] */ byte *pby,
  1533. /* [in] */ long sb,
  1534. /* [in] */ long hmb,
  1535. /* [in] */ long *br) = 0;
  1536. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSessionInfo(
  1537. /* [out][in] */ byte *pbsessions,
  1538. /* [out][in] */ byte *pblasttrack,
  1539. /* [out][in] */ unsigned long *ulstartaddress,
  1540. /* [out][in] */ unsigned long *ulnextwritable,
  1541. /* [out][in] */ unsigned long *ulfreeblocks) = 0;
  1542. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Burn(
  1543. /* [size_is][in] */ byte *pby,
  1544. /* [in] */ long cb,
  1545. /* [in] */ long bSimulate,
  1546. /* [in] */ unsigned long ulsession,
  1547. /* [in] */ unsigned long ulstartoffset,
  1548. /* [in] */ long bEjectAfterBurn) = 0;
  1549. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBurnProgress(
  1550. /* [out][in] */ PBURN_PROGRESS pBurnProgress) = 0;
  1551. };
  1552. #else /* C style interface */
  1553. typedef struct IBurnEngineVtbl
  1554. {
  1555. BEGIN_INTERFACE
  1556. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1557. IBurnEngine * This,
  1558. /* [in] */ REFIID riid,
  1559. /* [iid_is][out] */ void **ppvObject);
  1560. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1561. IBurnEngine * This);
  1562. ULONG ( STDMETHODCALLTYPE *Release )(
  1563. IBurnEngine * This);
  1564. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReadOpen )(
  1565. IBurnEngine * This,
  1566. /* [in] */ long bOpen);
  1567. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumDiscRecorders )(
  1568. IBurnEngine * This,
  1569. /* [out] */ IEnumDiscRecorders **ppEnum);
  1570. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetActiveDiscRecorder )(
  1571. IBurnEngine * This,
  1572. /* [retval][out] */ IDiscRecorder **ppRecorder);
  1573. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetActiveDiscRecorder )(
  1574. IBurnEngine * This,
  1575. /* [in] */ IDiscRecorder *pRecorder);
  1576. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  1577. IBurnEngine * This,
  1578. /* [out][in] */ byte *pby,
  1579. /* [in] */ long sb,
  1580. /* [in] */ long hmb,
  1581. /* [in] */ long *br);
  1582. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSessionInfo )(
  1583. IBurnEngine * This,
  1584. /* [out][in] */ byte *pbsessions,
  1585. /* [out][in] */ byte *pblasttrack,
  1586. /* [out][in] */ unsigned long *ulstartaddress,
  1587. /* [out][in] */ unsigned long *ulnextwritable,
  1588. /* [out][in] */ unsigned long *ulfreeblocks);
  1589. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Burn )(
  1590. IBurnEngine * This,
  1591. /* [size_is][in] */ byte *pby,
  1592. /* [in] */ long cb,
  1593. /* [in] */ long bSimulate,
  1594. /* [in] */ unsigned long ulsession,
  1595. /* [in] */ unsigned long ulstartoffset,
  1596. /* [in] */ long bEjectAfterBurn);
  1597. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBurnProgress )(
  1598. IBurnEngine * This,
  1599. /* [out][in] */ PBURN_PROGRESS pBurnProgress);
  1600. END_INTERFACE
  1601. } IBurnEngineVtbl;
  1602. interface IBurnEngine
  1603. {
  1604. CONST_VTBL struct IBurnEngineVtbl *lpVtbl;
  1605. };
  1606. #ifdef COBJMACROS
  1607. #define IBurnEngine_QueryInterface(This,riid,ppvObject) \
  1608. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1609. #define IBurnEngine_AddRef(This) \
  1610. (This)->lpVtbl -> AddRef(This)
  1611. #define IBurnEngine_Release(This) \
  1612. (This)->lpVtbl -> Release(This)
  1613. #define IBurnEngine_ReadOpen(This,bOpen) \
  1614. (This)->lpVtbl -> ReadOpen(This,bOpen)
  1615. #define IBurnEngine_EnumDiscRecorders(This,ppEnum) \
  1616. (This)->lpVtbl -> EnumDiscRecorders(This,ppEnum)
  1617. #define IBurnEngine_GetActiveDiscRecorder(This,ppRecorder) \
  1618. (This)->lpVtbl -> GetActiveDiscRecorder(This,ppRecorder)
  1619. #define IBurnEngine_SetActiveDiscRecorder(This,pRecorder) \
  1620. (This)->lpVtbl -> SetActiveDiscRecorder(This,pRecorder)
  1621. #define IBurnEngine_Read(This,pby,sb,hmb,br) \
  1622. (This)->lpVtbl -> Read(This,pby,sb,hmb,br)
  1623. #define IBurnEngine_GetSessionInfo(This,pbsessions,pblasttrack,ulstartaddress,ulnextwritable,ulfreeblocks) \
  1624. (This)->lpVtbl -> GetSessionInfo(This,pbsessions,pblasttrack,ulstartaddress,ulnextwritable,ulfreeblocks)
  1625. #define IBurnEngine_Burn(This,pby,cb,bSimulate,ulsession,ulstartoffset,bEjectAfterBurn) \
  1626. (This)->lpVtbl -> Burn(This,pby,cb,bSimulate,ulsession,ulstartoffset,bEjectAfterBurn)
  1627. #define IBurnEngine_GetBurnProgress(This,pBurnProgress) \
  1628. (This)->lpVtbl -> GetBurnProgress(This,pBurnProgress)
  1629. #endif /* COBJMACROS */
  1630. #endif /* C style interface */
  1631. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBurnEngine_ReadOpen_Proxy(
  1632. IBurnEngine * This,
  1633. /* [in] */ long bOpen);
  1634. void __RPC_STUB IBurnEngine_ReadOpen_Stub(
  1635. IRpcStubBuffer *This,
  1636. IRpcChannelBuffer *_pRpcChannelBuffer,
  1637. PRPC_MESSAGE _pRpcMessage,
  1638. DWORD *_pdwStubPhase);
  1639. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBurnEngine_EnumDiscRecorders_Proxy(
  1640. IBurnEngine * This,
  1641. /* [out] */ IEnumDiscRecorders **ppEnum);
  1642. void __RPC_STUB IBurnEngine_EnumDiscRecorders_Stub(
  1643. IRpcStubBuffer *This,
  1644. IRpcChannelBuffer *_pRpcChannelBuffer,
  1645. PRPC_MESSAGE _pRpcMessage,
  1646. DWORD *_pdwStubPhase);
  1647. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBurnEngine_GetActiveDiscRecorder_Proxy(
  1648. IBurnEngine * This,
  1649. /* [retval][out] */ IDiscRecorder **ppRecorder);
  1650. void __RPC_STUB IBurnEngine_GetActiveDiscRecorder_Stub(
  1651. IRpcStubBuffer *This,
  1652. IRpcChannelBuffer *_pRpcChannelBuffer,
  1653. PRPC_MESSAGE _pRpcMessage,
  1654. DWORD *_pdwStubPhase);
  1655. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBurnEngine_SetActiveDiscRecorder_Proxy(
  1656. IBurnEngine * This,
  1657. /* [in] */ IDiscRecorder *pRecorder);
  1658. void __RPC_STUB IBurnEngine_SetActiveDiscRecorder_Stub(
  1659. IRpcStubBuffer *This,
  1660. IRpcChannelBuffer *_pRpcChannelBuffer,
  1661. PRPC_MESSAGE _pRpcMessage,
  1662. DWORD *_pdwStubPhase);
  1663. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBurnEngine_Read_Proxy(
  1664. IBurnEngine * This,
  1665. /* [out][in] */ byte *pby,
  1666. /* [in] */ long sb,
  1667. /* [in] */ long hmb,
  1668. /* [in] */ long *br);
  1669. void __RPC_STUB IBurnEngine_Read_Stub(
  1670. IRpcStubBuffer *This,
  1671. IRpcChannelBuffer *_pRpcChannelBuffer,
  1672. PRPC_MESSAGE _pRpcMessage,
  1673. DWORD *_pdwStubPhase);
  1674. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBurnEngine_GetSessionInfo_Proxy(
  1675. IBurnEngine * This,
  1676. /* [out][in] */ byte *pbsessions,
  1677. /* [out][in] */ byte *pblasttrack,
  1678. /* [out][in] */ unsigned long *ulstartaddress,
  1679. /* [out][in] */ unsigned long *ulnextwritable,
  1680. /* [out][in] */ unsigned long *ulfreeblocks);
  1681. void __RPC_STUB IBurnEngine_GetSessionInfo_Stub(
  1682. IRpcStubBuffer *This,
  1683. IRpcChannelBuffer *_pRpcChannelBuffer,
  1684. PRPC_MESSAGE _pRpcMessage,
  1685. DWORD *_pdwStubPhase);
  1686. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBurnEngine_Burn_Proxy(
  1687. IBurnEngine * This,
  1688. /* [size_is][in] */ byte *pby,
  1689. /* [in] */ long cb,
  1690. /* [in] */ long bSimulate,
  1691. /* [in] */ unsigned long ulsession,
  1692. /* [in] */ unsigned long ulstartoffset,
  1693. /* [in] */ long bEjectAfterBurn);
  1694. void __RPC_STUB IBurnEngine_Burn_Stub(
  1695. IRpcStubBuffer *This,
  1696. IRpcChannelBuffer *_pRpcChannelBuffer,
  1697. PRPC_MESSAGE _pRpcMessage,
  1698. DWORD *_pdwStubPhase);
  1699. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBurnEngine_GetBurnProgress_Proxy(
  1700. IBurnEngine * This,
  1701. /* [out][in] */ PBURN_PROGRESS pBurnProgress);
  1702. void __RPC_STUB IBurnEngine_GetBurnProgress_Stub(
  1703. IRpcStubBuffer *This,
  1704. IRpcChannelBuffer *_pRpcChannelBuffer,
  1705. PRPC_MESSAGE _pRpcMessage,
  1706. DWORD *_pdwStubPhase);
  1707. #endif /* __IBurnEngine_INTERFACE_DEFINED__ */
  1708. #ifndef __IMAPILib_LIBRARY_DEFINED__
  1709. #define __IMAPILib_LIBRARY_DEFINED__
  1710. /* library IMAPILib */
  1711. /* [helpstring][version][uuid] */
  1712. EXTERN_C const IID LIBID_IMAPILib;
  1713. EXTERN_C const CLSID CLSID_MSDiscRecorderObj;
  1714. #ifdef __cplusplus
  1715. class DECLSPEC_UUID("520CCA61-51A5-11D3-9144-00104BA11C5E")
  1716. MSDiscRecorderObj;
  1717. #endif
  1718. EXTERN_C const CLSID CLSID_MSDiscMasterObj;
  1719. #ifdef __cplusplus
  1720. class DECLSPEC_UUID("520CCA63-51A5-11D3-9144-00104BA11C5E")
  1721. MSDiscMasterObj;
  1722. #endif
  1723. EXTERN_C const CLSID CLSID_MSDiscStashObj;
  1724. #ifdef __cplusplus
  1725. class DECLSPEC_UUID("520CCA65-51A5-11D3-9144-00104BA11C5E")
  1726. MSDiscStashObj;
  1727. #endif
  1728. EXTERN_C const CLSID CLSID_MSBurnEngineObj;
  1729. #ifdef __cplusplus
  1730. class DECLSPEC_UUID("520CCA67-51A5-11D3-9144-00104BA11C5E")
  1731. MSBurnEngineObj;
  1732. #endif
  1733. EXTERN_C const CLSID CLSID_MSEnumDiscRecordersObj;
  1734. #ifdef __cplusplus
  1735. class DECLSPEC_UUID("8A03567A-63CB-4BA8-BAF6-52119816D1EF")
  1736. MSEnumDiscRecordersObj;
  1737. #endif
  1738. #endif /* __IMAPILib_LIBRARY_DEFINED__ */
  1739. /* Additional Prototypes for ALL interfaces */
  1740. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  1741. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  1742. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  1743. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  1744. /* end of Additional Prototypes */
  1745. #ifdef __cplusplus
  1746. }
  1747. #endif
  1748. #endif