Leaked source code of windows server 2003
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.

7939 lines
259 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 5.01.0164 */
  3. /* at Wed Aug 08 01:15:08 2001
  4. */
  5. /* Compiler settings for .\mswmdm.idl:
  6. Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. */
  9. //@@MIDL_FILE_HEADING( )
  10. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  11. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  12. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  13. #endif
  14. #include "rpc.h"
  15. #include "rpcndr.h"
  16. #ifndef __RPCNDR_H_VERSION__
  17. #error this stub requires an updated version of <rpcndr.h>
  18. #endif // __RPCNDR_H_VERSION__
  19. #ifndef COM_NO_WINDOWS_H
  20. #include "windows.h"
  21. #include "ole2.h"
  22. #endif /*COM_NO_WINDOWS_H*/
  23. #ifndef __mswmdm_h__
  24. #define __mswmdm_h__
  25. #ifdef __cplusplus
  26. extern "C"{
  27. #endif
  28. /* Forward Declarations */
  29. #ifndef __IWMDeviceManager_FWD_DEFINED__
  30. #define __IWMDeviceManager_FWD_DEFINED__
  31. typedef interface IWMDeviceManager IWMDeviceManager;
  32. #endif /* __IWMDeviceManager_FWD_DEFINED__ */
  33. #ifndef __IWMDeviceManager2_FWD_DEFINED__
  34. #define __IWMDeviceManager2_FWD_DEFINED__
  35. typedef interface IWMDeviceManager2 IWMDeviceManager2;
  36. #endif /* __IWMDeviceManager2_FWD_DEFINED__ */
  37. #ifndef __IWMDMStorageGlobals_FWD_DEFINED__
  38. #define __IWMDMStorageGlobals_FWD_DEFINED__
  39. typedef interface IWMDMStorageGlobals IWMDMStorageGlobals;
  40. #endif /* __IWMDMStorageGlobals_FWD_DEFINED__ */
  41. #ifndef __IWMDMStorage_FWD_DEFINED__
  42. #define __IWMDMStorage_FWD_DEFINED__
  43. typedef interface IWMDMStorage IWMDMStorage;
  44. #endif /* __IWMDMStorage_FWD_DEFINED__ */
  45. #ifndef __IWMDMStorage2_FWD_DEFINED__
  46. #define __IWMDMStorage2_FWD_DEFINED__
  47. typedef interface IWMDMStorage2 IWMDMStorage2;
  48. #endif /* __IWMDMStorage2_FWD_DEFINED__ */
  49. #ifndef __IWMDMOperation_FWD_DEFINED__
  50. #define __IWMDMOperation_FWD_DEFINED__
  51. typedef interface IWMDMOperation IWMDMOperation;
  52. #endif /* __IWMDMOperation_FWD_DEFINED__ */
  53. #ifndef __IWMDMOperation2_FWD_DEFINED__
  54. #define __IWMDMOperation2_FWD_DEFINED__
  55. typedef interface IWMDMOperation2 IWMDMOperation2;
  56. #endif /* __IWMDMOperation2_FWD_DEFINED__ */
  57. #ifndef __IWMDMProgress_FWD_DEFINED__
  58. #define __IWMDMProgress_FWD_DEFINED__
  59. typedef interface IWMDMProgress IWMDMProgress;
  60. #endif /* __IWMDMProgress_FWD_DEFINED__ */
  61. #ifndef __IWMDMProgress2_FWD_DEFINED__
  62. #define __IWMDMProgress2_FWD_DEFINED__
  63. typedef interface IWMDMProgress2 IWMDMProgress2;
  64. #endif /* __IWMDMProgress2_FWD_DEFINED__ */
  65. #ifndef __IWMDMDevice_FWD_DEFINED__
  66. #define __IWMDMDevice_FWD_DEFINED__
  67. typedef interface IWMDMDevice IWMDMDevice;
  68. #endif /* __IWMDMDevice_FWD_DEFINED__ */
  69. #ifndef __IWMDMDevice2_FWD_DEFINED__
  70. #define __IWMDMDevice2_FWD_DEFINED__
  71. typedef interface IWMDMDevice2 IWMDMDevice2;
  72. #endif /* __IWMDMDevice2_FWD_DEFINED__ */
  73. #ifndef __IWMDMEnumDevice_FWD_DEFINED__
  74. #define __IWMDMEnumDevice_FWD_DEFINED__
  75. typedef interface IWMDMEnumDevice IWMDMEnumDevice;
  76. #endif /* __IWMDMEnumDevice_FWD_DEFINED__ */
  77. #ifndef __IWMDMDeviceControl_FWD_DEFINED__
  78. #define __IWMDMDeviceControl_FWD_DEFINED__
  79. typedef interface IWMDMDeviceControl IWMDMDeviceControl;
  80. #endif /* __IWMDMDeviceControl_FWD_DEFINED__ */
  81. #ifndef __IWMDMEnumStorage_FWD_DEFINED__
  82. #define __IWMDMEnumStorage_FWD_DEFINED__
  83. typedef interface IWMDMEnumStorage IWMDMEnumStorage;
  84. #endif /* __IWMDMEnumStorage_FWD_DEFINED__ */
  85. #ifndef __IWMDMStorageControl_FWD_DEFINED__
  86. #define __IWMDMStorageControl_FWD_DEFINED__
  87. typedef interface IWMDMStorageControl IWMDMStorageControl;
  88. #endif /* __IWMDMStorageControl_FWD_DEFINED__ */
  89. #ifndef __IWMDMStorageControl2_FWD_DEFINED__
  90. #define __IWMDMStorageControl2_FWD_DEFINED__
  91. typedef interface IWMDMStorageControl2 IWMDMStorageControl2;
  92. #endif /* __IWMDMStorageControl2_FWD_DEFINED__ */
  93. #ifndef __IWMDMObjectInfo_FWD_DEFINED__
  94. #define __IWMDMObjectInfo_FWD_DEFINED__
  95. typedef interface IWMDMObjectInfo IWMDMObjectInfo;
  96. #endif /* __IWMDMObjectInfo_FWD_DEFINED__ */
  97. #ifndef __IWMDMRevoked_FWD_DEFINED__
  98. #define __IWMDMRevoked_FWD_DEFINED__
  99. typedef interface IWMDMRevoked IWMDMRevoked;
  100. #endif /* __IWMDMRevoked_FWD_DEFINED__ */
  101. #ifndef __IMDServiceProvider_FWD_DEFINED__
  102. #define __IMDServiceProvider_FWD_DEFINED__
  103. typedef interface IMDServiceProvider IMDServiceProvider;
  104. #endif /* __IMDServiceProvider_FWD_DEFINED__ */
  105. #ifndef __IMDServiceProvider2_FWD_DEFINED__
  106. #define __IMDServiceProvider2_FWD_DEFINED__
  107. typedef interface IMDServiceProvider2 IMDServiceProvider2;
  108. #endif /* __IMDServiceProvider2_FWD_DEFINED__ */
  109. #ifndef __IMDSPEnumDevice_FWD_DEFINED__
  110. #define __IMDSPEnumDevice_FWD_DEFINED__
  111. typedef interface IMDSPEnumDevice IMDSPEnumDevice;
  112. #endif /* __IMDSPEnumDevice_FWD_DEFINED__ */
  113. #ifndef __IMDSPDevice_FWD_DEFINED__
  114. #define __IMDSPDevice_FWD_DEFINED__
  115. typedef interface IMDSPDevice IMDSPDevice;
  116. #endif /* __IMDSPDevice_FWD_DEFINED__ */
  117. #ifndef __IMDSPDevice2_FWD_DEFINED__
  118. #define __IMDSPDevice2_FWD_DEFINED__
  119. typedef interface IMDSPDevice2 IMDSPDevice2;
  120. #endif /* __IMDSPDevice2_FWD_DEFINED__ */
  121. #ifndef __IMDSPDeviceControl_FWD_DEFINED__
  122. #define __IMDSPDeviceControl_FWD_DEFINED__
  123. typedef interface IMDSPDeviceControl IMDSPDeviceControl;
  124. #endif /* __IMDSPDeviceControl_FWD_DEFINED__ */
  125. #ifndef __IMDSPEnumStorage_FWD_DEFINED__
  126. #define __IMDSPEnumStorage_FWD_DEFINED__
  127. typedef interface IMDSPEnumStorage IMDSPEnumStorage;
  128. #endif /* __IMDSPEnumStorage_FWD_DEFINED__ */
  129. #ifndef __IMDSPStorage_FWD_DEFINED__
  130. #define __IMDSPStorage_FWD_DEFINED__
  131. typedef interface IMDSPStorage IMDSPStorage;
  132. #endif /* __IMDSPStorage_FWD_DEFINED__ */
  133. #ifndef __IMDSPStorage2_FWD_DEFINED__
  134. #define __IMDSPStorage2_FWD_DEFINED__
  135. typedef interface IMDSPStorage2 IMDSPStorage2;
  136. #endif /* __IMDSPStorage2_FWD_DEFINED__ */
  137. #ifndef __IMDSPStorageGlobals_FWD_DEFINED__
  138. #define __IMDSPStorageGlobals_FWD_DEFINED__
  139. typedef interface IMDSPStorageGlobals IMDSPStorageGlobals;
  140. #endif /* __IMDSPStorageGlobals_FWD_DEFINED__ */
  141. #ifndef __IMDSPObjectInfo_FWD_DEFINED__
  142. #define __IMDSPObjectInfo_FWD_DEFINED__
  143. typedef interface IMDSPObjectInfo IMDSPObjectInfo;
  144. #endif /* __IMDSPObjectInfo_FWD_DEFINED__ */
  145. #ifndef __IMDSPObject_FWD_DEFINED__
  146. #define __IMDSPObject_FWD_DEFINED__
  147. typedef interface IMDSPObject IMDSPObject;
  148. #endif /* __IMDSPObject_FWD_DEFINED__ */
  149. #ifndef __IMDSPRevoked_FWD_DEFINED__
  150. #define __IMDSPRevoked_FWD_DEFINED__
  151. typedef interface IMDSPRevoked IMDSPRevoked;
  152. #endif /* __IMDSPRevoked_FWD_DEFINED__ */
  153. #ifndef __ISCPSecureAuthenticate_FWD_DEFINED__
  154. #define __ISCPSecureAuthenticate_FWD_DEFINED__
  155. typedef interface ISCPSecureAuthenticate ISCPSecureAuthenticate;
  156. #endif /* __ISCPSecureAuthenticate_FWD_DEFINED__ */
  157. #ifndef __ISCPSecureQuery_FWD_DEFINED__
  158. #define __ISCPSecureQuery_FWD_DEFINED__
  159. typedef interface ISCPSecureQuery ISCPSecureQuery;
  160. #endif /* __ISCPSecureQuery_FWD_DEFINED__ */
  161. #ifndef __ISCPSecureQuery2_FWD_DEFINED__
  162. #define __ISCPSecureQuery2_FWD_DEFINED__
  163. typedef interface ISCPSecureQuery2 ISCPSecureQuery2;
  164. #endif /* __ISCPSecureQuery2_FWD_DEFINED__ */
  165. #ifndef __ISCPSecureExchange_FWD_DEFINED__
  166. #define __ISCPSecureExchange_FWD_DEFINED__
  167. typedef interface ISCPSecureExchange ISCPSecureExchange;
  168. #endif /* __ISCPSecureExchange_FWD_DEFINED__ */
  169. #ifndef __IComponentAuthenticate_FWD_DEFINED__
  170. #define __IComponentAuthenticate_FWD_DEFINED__
  171. typedef interface IComponentAuthenticate IComponentAuthenticate;
  172. #endif /* __IComponentAuthenticate_FWD_DEFINED__ */
  173. #ifndef __MediaDevMgrClassFactory_FWD_DEFINED__
  174. #define __MediaDevMgrClassFactory_FWD_DEFINED__
  175. #ifdef __cplusplus
  176. typedef class MediaDevMgrClassFactory MediaDevMgrClassFactory;
  177. #else
  178. typedef struct MediaDevMgrClassFactory MediaDevMgrClassFactory;
  179. #endif /* __cplusplus */
  180. #endif /* __MediaDevMgrClassFactory_FWD_DEFINED__ */
  181. #ifndef __MediaDevMgr_FWD_DEFINED__
  182. #define __MediaDevMgr_FWD_DEFINED__
  183. #ifdef __cplusplus
  184. typedef class MediaDevMgr MediaDevMgr;
  185. #else
  186. typedef struct MediaDevMgr MediaDevMgr;
  187. #endif /* __cplusplus */
  188. #endif /* __MediaDevMgr_FWD_DEFINED__ */
  189. #ifndef __WMDMDevice_FWD_DEFINED__
  190. #define __WMDMDevice_FWD_DEFINED__
  191. #ifdef __cplusplus
  192. typedef class WMDMDevice WMDMDevice;
  193. #else
  194. typedef struct WMDMDevice WMDMDevice;
  195. #endif /* __cplusplus */
  196. #endif /* __WMDMDevice_FWD_DEFINED__ */
  197. #ifndef __WMDMStorage_FWD_DEFINED__
  198. #define __WMDMStorage_FWD_DEFINED__
  199. #ifdef __cplusplus
  200. typedef class WMDMStorage WMDMStorage;
  201. #else
  202. typedef struct WMDMStorage WMDMStorage;
  203. #endif /* __cplusplus */
  204. #endif /* __WMDMStorage_FWD_DEFINED__ */
  205. #ifndef __WMDMStorageGlobal_FWD_DEFINED__
  206. #define __WMDMStorageGlobal_FWD_DEFINED__
  207. #ifdef __cplusplus
  208. typedef class WMDMStorageGlobal WMDMStorageGlobal;
  209. #else
  210. typedef struct WMDMStorageGlobal WMDMStorageGlobal;
  211. #endif /* __cplusplus */
  212. #endif /* __WMDMStorageGlobal_FWD_DEFINED__ */
  213. #ifndef __WMDMDeviceEnum_FWD_DEFINED__
  214. #define __WMDMDeviceEnum_FWD_DEFINED__
  215. #ifdef __cplusplus
  216. typedef class WMDMDeviceEnum WMDMDeviceEnum;
  217. #else
  218. typedef struct WMDMDeviceEnum WMDMDeviceEnum;
  219. #endif /* __cplusplus */
  220. #endif /* __WMDMDeviceEnum_FWD_DEFINED__ */
  221. #ifndef __WMDMStorageEnum_FWD_DEFINED__
  222. #define __WMDMStorageEnum_FWD_DEFINED__
  223. #ifdef __cplusplus
  224. typedef class WMDMStorageEnum WMDMStorageEnum;
  225. #else
  226. typedef struct WMDMStorageEnum WMDMStorageEnum;
  227. #endif /* __cplusplus */
  228. #endif /* __WMDMStorageEnum_FWD_DEFINED__ */
  229. /* header files for imported files */
  230. #include "oaidl.h"
  231. #include "ocidl.h"
  232. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  233. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  234. /* interface __MIDL_itf_mswmdm_0000 */
  235. /* [local] */
  236. typedef struct _tWAVEFORMATEX
  237. {
  238. WORD wFormatTag;
  239. WORD nChannels;
  240. DWORD nSamplesPerSec;
  241. DWORD nAvgBytesPerSec;
  242. WORD nBlockAlign;
  243. WORD wBitsPerSample;
  244. WORD cbSize;
  245. } _WAVEFORMATEX;
  246. typedef struct _tagBITMAPINFOHEADER
  247. {
  248. DWORD biSize;
  249. LONG biWidth;
  250. LONG biHeight;
  251. WORD biPlanes;
  252. WORD biBitCount;
  253. DWORD biCompression;
  254. DWORD biSizeImage;
  255. LONG biXPelsPerMeter;
  256. LONG biYPelsPerMeter;
  257. DWORD biClrUsed;
  258. DWORD biClrImportant;
  259. } _BITMAPINFOHEADER;
  260. typedef struct _tagVIDEOINFOHEADER
  261. {
  262. RECT rcSource;
  263. RECT rcTarget;
  264. DWORD dwBitRate;
  265. DWORD dwBitErrorRate;
  266. LONGLONG AvgTimePerFrame;
  267. _BITMAPINFOHEADER bmiHeader;
  268. } _VIDEOINFOHEADER;
  269. typedef struct _tagWMFILECAPABILITIES
  270. {
  271. LPWSTR pwszMimeType;
  272. DWORD dwReserved;
  273. } WMFILECAPABILITIES;
  274. typedef struct __OPAQUECOMMAND
  275. {
  276. GUID guidCommand;
  277. DWORD dwDataLen;
  278. /* [size_is] */ BYTE __RPC_FAR *pData;
  279. BYTE abMAC[ 20 ];
  280. } OPAQUECOMMAND;
  281. #define WMDMID_LENGTH 128
  282. typedef struct __WMDMID
  283. {
  284. UINT cbSize;
  285. DWORD dwVendorID;
  286. BYTE pID[ 128 ];
  287. UINT SerialNumberLength;
  288. } WMDMID;
  289. typedef struct __WMDMID __RPC_FAR *PWMDMID;
  290. typedef struct _WMDMDATETIME
  291. {
  292. WORD wYear;
  293. WORD wMonth;
  294. WORD wDay;
  295. WORD wHour;
  296. WORD wMinute;
  297. WORD wSecond;
  298. } WMDMDATETIME;
  299. typedef struct _WMDMDATETIME __RPC_FAR *PWMDMDATETIME;
  300. typedef struct __WMDMRIGHTS
  301. {
  302. UINT cbSize;
  303. DWORD dwContentType;
  304. DWORD fuFlags;
  305. DWORD fuRights;
  306. DWORD dwAppSec;
  307. DWORD dwPlaybackCount;
  308. WMDMDATETIME ExpirationDate;
  309. } WMDMRIGHTS;
  310. typedef struct __WMDMRIGHTS __RPC_FAR *PWMDMRIGHTS;
  311. #define WMDM_MAC_LENGTH 8
  312. // WMDM HRESULTS
  313. #define WMDM_E_BUSY 0x80045000L
  314. #define WMDM_E_INTERFACEDEAD 0x80045001L
  315. #define WMDM_E_INVALIDTYPE 0x80045002L
  316. #define WMDM_E_PROCESSFAILED 0x80045003L
  317. #define WMDM_E_NOTSUPPORTED 0x80045004L
  318. #define WMDM_E_NOTCERTIFIED 0x80045005L
  319. #define WMDM_E_NORIGHTS 0x80045006L
  320. #define WMDM_E_CALL_OUT_OF_SEQUENCE 0x80045007L
  321. #define WMDM_E_BUFFERTOOSMALL 0x80045008L
  322. #define WMDM_E_MOREDATA 0x80045009L
  323. #define WMDM_E_MAC_CHECK_FAILED 0x8004500AL
  324. #define WMDM_E_USER_CANCELLED 0x8004500BL
  325. #define WMDM_E_SDMI_TRIGGER 0x8004500CL
  326. #define WMDM_E_SDMI_NOMORECOPIES 0x8004500DL
  327. #define WMDM_E_REVOKED 0x8004500EL
  328. // Revocation Flags
  329. #define WMDM_WMDM_REVOKED 0x00000001
  330. #define WMDM_APP_REVOKED 0x00000002
  331. #define WMDM_SP_REVOKED 0x00000004
  332. #define WMDM_SCP_REVOKED 0x00000008
  333. // GetFormatSupport2 Flags
  334. #define WMDM_GET_FORMAT_SUPPORT_AUDIO 0x00000001
  335. #define WMDM_GET_FORMAT_SUPPORT_VIDEO 0x00000002
  336. #define WMDM_GET_FORMAT_SUPPORT_FILE 0x00000004
  337. // MDMRIGHTS Flags
  338. #define WMDM_RIGHTS_PLAYBACKCOUNT 0x00000001
  339. #define WMDM_RIGHTS_EXPIRATIONDATE 0x00000002
  340. #define WMDM_RIGHTS_GROUPID 0x00000004
  341. #define WMDM_RIGHTS_FREESERIALIDS 0x00000008
  342. #define WMDM_RIGHTS_NAMEDSERIALIDS 0x00000010
  343. // Device Type Flags
  344. #define WMDM_DEVICE_TYPE_PLAYBACK 0x00000001
  345. #define WMDM_DEVICE_TYPE_RECORD 0x00000002
  346. #define WMDM_DEVICE_TYPE_DECODE 0x00000004
  347. #define WMDM_DEVICE_TYPE_ENCODE 0x00000008
  348. #define WMDM_DEVICE_TYPE_STORAGE 0x00000010
  349. #define WMDM_DEVICE_TYPE_VIRTUAL 0x00000020
  350. #define WMDM_DEVICE_TYPE_SDMI 0x00000040
  351. #define WMDM_DEVICE_TYPE_NONSDMI 0x00000080
  352. #define WMDM_DEVICE_TYPE_NONREENTRANT 0x00000100
  353. #define WMDM_DEVICE_TYPE_FILELISTRESYNC 0x00000200
  354. // Device Power Source Flags
  355. #define WMDM_POWER_CAP_BATTERY 0x00000001
  356. #define WMDM_POWER_CAP_EXTERNAL 0x00000002
  357. #define WMDM_POWER_IS_BATTERY 0x00000004
  358. #define WMDM_POWER_IS_EXTERNAL 0x00000008
  359. #define WMDM_POWER_PERCENT_AVAILABLE 0x00000010
  360. // Device Status Flags
  361. #define WMDM_STATUS_READY 0x00000001
  362. #define WMDM_STATUS_BUSY 0x00000002
  363. #define WMDM_STATUS_DEVICE_NOTPRESENT 0x00000004
  364. #define WMDM_STATUS_DEVICECONTROL_PLAYING 0x00000008
  365. #define WMDM_STATUS_DEVICECONTROL_RECORDING 0x00000010
  366. #define WMDM_STATUS_DEVICECONTROL_PAUSED 0x00000020
  367. #define WMDM_STATUS_DEVICECONTROL_REMOTE 0x00000040
  368. #define WMDM_STATUS_DEVICECONTROL_STREAM 0x00000080
  369. #define WMDM_STATUS_STORAGE_NOTPRESENT 0x00000100
  370. #define WMDM_STATUS_STORAGE_INITIALIZING 0x00000200
  371. #define WMDM_STATUS_STORAGE_BROKEN 0x00000400
  372. #define WMDM_STATUS_STORAGE_NOTSUPPORTED 0x00000800
  373. #define WMDM_STATUS_STORAGE_UNFORMATTED 0x00001000
  374. #define WMDM_STATUS_STORAGECONTROL_INSERTING 0x00002000
  375. #define WMDM_STATUS_STORAGECONTROL_DELETING 0x00004000
  376. #define WMDM_STATUS_STORAGECONTROL_APPENDING 0x00008000
  377. #define WMDM_STATUS_STORAGECONTROL_MOVING 0x00010000
  378. #define WMDM_STATUS_STORAGECONTROL_READING 0x00020000
  379. // Device Capabilities Flags
  380. #define WMDM_DEVICECAP_CANPLAY 0x00000001
  381. #define WMDM_DEVICECAP_CANSTREAMPLAY 0x00000002
  382. #define WMDM_DEVICECAP_CANRECORD 0x00000004
  383. #define WMDM_DEVICECAP_CANSTREAMRECORD 0x00000008
  384. #define WMDM_DEVICECAP_CANPAUSE 0x00000010
  385. #define WMDM_DEVICECAP_CANRESUME 0x00000020
  386. #define WMDM_DEVICECAP_CANSTOP 0x00000040
  387. #define WMDM_DEVICECAP_CANSEEK 0x00000080
  388. // WMDM Seek Flags
  389. #define WMDM_SEEK_REMOTECONTROL 0x00000001
  390. #define WMDM_SEEK_STREAMINGAUDIO 0x00000002
  391. // Storage Attributes Flags
  392. #define WMDM_STORAGE_ATTR_FILESYSTEM 0x00000001
  393. #define WMDM_STORAGE_ATTR_REMOVABLE 0x00000002
  394. #define WMDM_STORAGE_ATTR_NONREMOVABLE 0x00000004
  395. #define WMDM_FILE_ATTR_FOLDER 0x00000008
  396. #define WMDM_FILE_ATTR_LINK 0x00000010
  397. #define WMDM_FILE_ATTR_FILE 0x00000020
  398. #define WMDM_FILE_ATTR_VIDEO 0x00000040
  399. #define WMDM_STORAGE_ATTR_FOLDERS 0x00000100
  400. #define WMDM_FILE_ATTR_AUDIO 0x00001000
  401. #define WMDM_FILE_ATTR_DATA 0x00002000
  402. #define WMDM_FILE_ATTR_CANPLAY 0x00004000
  403. #define WMDM_FILE_ATTR_CANDELETE 0x00008000
  404. #define WMDM_FILE_ATTR_CANMOVE 0x00010000
  405. #define WMDM_FILE_ATTR_CANRENAME 0x00020000
  406. #define WMDM_FILE_ATTR_CANREAD 0x00040000
  407. #define WMDM_FILE_ATTR_MUSIC 0x00080000
  408. #define WMDM_FILE_CREATE_OVERWRITE 0x00100000
  409. #define WMDM_FILE_ATTR_AUDIOBOOK 0x00200000
  410. #define WMDM_FILE_ATTR_HIDDEN 0x00400000
  411. #define WMDM_FILE_ATTR_SYSTEM 0x00800000
  412. #define WMDM_FILE_ATTR_READONLY 0x01000000
  413. #define WMDM_STORAGE_ATTR_HAS_FOLDERS 0x02000000
  414. #define WMDM_STORAGE_ATTR_HAS_FILES 0x04000000
  415. #define WMDM_STORAGE_IS_DEFAULT 0x08000000
  416. #define WMDM_STORAGE_CONTAINS_DEFAULT 0x10000000
  417. // Storage Capabilities Flags
  418. #define WMDM_STORAGECAP_FOLDERSINROOT 0x00000001
  419. #define WMDM_STORAGECAP_FILESINROOT 0x00000002
  420. #define WMDM_STORAGECAP_FOLDERSINFOLDERS 0x00000004
  421. #define WMDM_STORAGECAP_FILESINFOLDERS 0x00000008
  422. #define WMDM_STORAGECAP_FOLDERLIMITEXISTS 0x00000010
  423. #define WMDM_STORAGECAP_FILELIMITEXISTS 0x00000020
  424. // WMDM Mode Flags
  425. #define WMDM_MODE_BLOCK 0x00000001
  426. #define WMDM_MODE_THREAD 0x00000002
  427. #define WMDM_CONTENT_FILE 0x00000004
  428. #define WMDM_CONTENT_FOLDER 0x00000008
  429. #define WMDM_CONTENT_OPERATIONINTERFACE 0x00000010
  430. #define WMDM_MODE_QUERY 0x00000020
  431. #define WMDM_MODE_PROGRESS 0x00000040
  432. #define WMDM_MODE_TRANSFER_PROTECTED 0x00000080
  433. #define WMDM_MODE_TRANSFER_UNPROTECTED 0x00000100
  434. #define WMDM_STORAGECONTROL_INSERTBEFORE 0x00000200
  435. #define WMDM_STORAGECONTROL_INSERTAFTER 0x00000400
  436. #define WMDM_STORAGECONTROL_INSERTINTO 0x00000800
  437. #define WMDM_MODE_RECURSIVE 0x00001000
  438. // WMDM Rights Flags
  439. // NON_SDMI = !SDMI_PROTECTED
  440. // SDMI = SDMI_VALIDATED
  441. #define WMDM_RIGHTS_PLAY_ON_PC 0x00000001
  442. #define WMDM_RIGHTS_COPY_TO_NON_SDMI_DEVICE 0x00000002
  443. #define WMDM_RIGHTS_COPY_TO_CD 0x00000008
  444. #define WMDM_RIGHTS_COPY_TO_SDMI_DEVICE 0x00000010
  445. // WMDM Seek Flags
  446. #define WMDM_SEEK_BEGIN 0x00000001
  447. #define WMDM_SEEK_CURRENT 0x00000002
  448. #define WMDM_SEEK_END 0x00000008
  449. extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_v0_0_c_ifspec;
  450. extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_v0_0_s_ifspec;
  451. #ifndef __IWMDeviceManager_INTERFACE_DEFINED__
  452. #define __IWMDeviceManager_INTERFACE_DEFINED__
  453. /* interface IWMDeviceManager */
  454. /* [unique][uuid][object] */
  455. EXTERN_C const IID IID_IWMDeviceManager;
  456. #if defined(__cplusplus) && !defined(CINTERFACE)
  457. MIDL_INTERFACE("1DCB3A00-33ED-11d3-8470-00C04F79DBC0")
  458. IWMDeviceManager : public IUnknown
  459. {
  460. public:
  461. virtual HRESULT STDMETHODCALLTYPE GetRevision(
  462. /* [out] */ DWORD __RPC_FAR *pdwRevision) = 0;
  463. virtual HRESULT STDMETHODCALLTYPE GetDeviceCount(
  464. /* [out] */ DWORD __RPC_FAR *pdwCount) = 0;
  465. virtual HRESULT STDMETHODCALLTYPE EnumDevices(
  466. /* [out] */ IWMDMEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice) = 0;
  467. };
  468. #else /* C style interface */
  469. typedef struct IWMDeviceManagerVtbl
  470. {
  471. BEGIN_INTERFACE
  472. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  473. IWMDeviceManager __RPC_FAR * This,
  474. /* [in] */ REFIID riid,
  475. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  476. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  477. IWMDeviceManager __RPC_FAR * This);
  478. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  479. IWMDeviceManager __RPC_FAR * This);
  480. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRevision )(
  481. IWMDeviceManager __RPC_FAR * This,
  482. /* [out] */ DWORD __RPC_FAR *pdwRevision);
  483. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDeviceCount )(
  484. IWMDeviceManager __RPC_FAR * This,
  485. /* [out] */ DWORD __RPC_FAR *pdwCount);
  486. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumDevices )(
  487. IWMDeviceManager __RPC_FAR * This,
  488. /* [out] */ IWMDMEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice);
  489. END_INTERFACE
  490. } IWMDeviceManagerVtbl;
  491. interface IWMDeviceManager
  492. {
  493. CONST_VTBL struct IWMDeviceManagerVtbl __RPC_FAR *lpVtbl;
  494. };
  495. #ifdef COBJMACROS
  496. #define IWMDeviceManager_QueryInterface(This,riid,ppvObject) \
  497. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  498. #define IWMDeviceManager_AddRef(This) \
  499. (This)->lpVtbl -> AddRef(This)
  500. #define IWMDeviceManager_Release(This) \
  501. (This)->lpVtbl -> Release(This)
  502. #define IWMDeviceManager_GetRevision(This,pdwRevision) \
  503. (This)->lpVtbl -> GetRevision(This,pdwRevision)
  504. #define IWMDeviceManager_GetDeviceCount(This,pdwCount) \
  505. (This)->lpVtbl -> GetDeviceCount(This,pdwCount)
  506. #define IWMDeviceManager_EnumDevices(This,ppEnumDevice) \
  507. (This)->lpVtbl -> EnumDevices(This,ppEnumDevice)
  508. #endif /* COBJMACROS */
  509. #endif /* C style interface */
  510. HRESULT STDMETHODCALLTYPE IWMDeviceManager_GetRevision_Proxy(
  511. IWMDeviceManager __RPC_FAR * This,
  512. /* [out] */ DWORD __RPC_FAR *pdwRevision);
  513. void __RPC_STUB IWMDeviceManager_GetRevision_Stub(
  514. IRpcStubBuffer *This,
  515. IRpcChannelBuffer *_pRpcChannelBuffer,
  516. PRPC_MESSAGE _pRpcMessage,
  517. DWORD *_pdwStubPhase);
  518. HRESULT STDMETHODCALLTYPE IWMDeviceManager_GetDeviceCount_Proxy(
  519. IWMDeviceManager __RPC_FAR * This,
  520. /* [out] */ DWORD __RPC_FAR *pdwCount);
  521. void __RPC_STUB IWMDeviceManager_GetDeviceCount_Stub(
  522. IRpcStubBuffer *This,
  523. IRpcChannelBuffer *_pRpcChannelBuffer,
  524. PRPC_MESSAGE _pRpcMessage,
  525. DWORD *_pdwStubPhase);
  526. HRESULT STDMETHODCALLTYPE IWMDeviceManager_EnumDevices_Proxy(
  527. IWMDeviceManager __RPC_FAR * This,
  528. /* [out] */ IWMDMEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice);
  529. void __RPC_STUB IWMDeviceManager_EnumDevices_Stub(
  530. IRpcStubBuffer *This,
  531. IRpcChannelBuffer *_pRpcChannelBuffer,
  532. PRPC_MESSAGE _pRpcMessage,
  533. DWORD *_pdwStubPhase);
  534. #endif /* __IWMDeviceManager_INTERFACE_DEFINED__ */
  535. #ifndef __IWMDeviceManager2_INTERFACE_DEFINED__
  536. #define __IWMDeviceManager2_INTERFACE_DEFINED__
  537. /* interface IWMDeviceManager2 */
  538. /* [unique][uuid][object] */
  539. EXTERN_C const IID IID_IWMDeviceManager2;
  540. #if defined(__cplusplus) && !defined(CINTERFACE)
  541. MIDL_INTERFACE("923E5249-8731-4c5b-9B1C-B8B60B6E46AF")
  542. IWMDeviceManager2 : public IWMDeviceManager
  543. {
  544. public:
  545. virtual HRESULT STDMETHODCALLTYPE GetDeviceFromPnPName(
  546. /* [string][in] */ LPCWSTR pwszPnPName,
  547. /* [out] */ IWMDMDevice __RPC_FAR *__RPC_FAR *ppDevice) = 0;
  548. };
  549. #else /* C style interface */
  550. typedef struct IWMDeviceManager2Vtbl
  551. {
  552. BEGIN_INTERFACE
  553. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  554. IWMDeviceManager2 __RPC_FAR * This,
  555. /* [in] */ REFIID riid,
  556. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  557. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  558. IWMDeviceManager2 __RPC_FAR * This);
  559. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  560. IWMDeviceManager2 __RPC_FAR * This);
  561. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRevision )(
  562. IWMDeviceManager2 __RPC_FAR * This,
  563. /* [out] */ DWORD __RPC_FAR *pdwRevision);
  564. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDeviceCount )(
  565. IWMDeviceManager2 __RPC_FAR * This,
  566. /* [out] */ DWORD __RPC_FAR *pdwCount);
  567. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumDevices )(
  568. IWMDeviceManager2 __RPC_FAR * This,
  569. /* [out] */ IWMDMEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice);
  570. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDeviceFromPnPName )(
  571. IWMDeviceManager2 __RPC_FAR * This,
  572. /* [string][in] */ LPCWSTR pwszPnPName,
  573. /* [out] */ IWMDMDevice __RPC_FAR *__RPC_FAR *ppDevice);
  574. END_INTERFACE
  575. } IWMDeviceManager2Vtbl;
  576. interface IWMDeviceManager2
  577. {
  578. CONST_VTBL struct IWMDeviceManager2Vtbl __RPC_FAR *lpVtbl;
  579. };
  580. #ifdef COBJMACROS
  581. #define IWMDeviceManager2_QueryInterface(This,riid,ppvObject) \
  582. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  583. #define IWMDeviceManager2_AddRef(This) \
  584. (This)->lpVtbl -> AddRef(This)
  585. #define IWMDeviceManager2_Release(This) \
  586. (This)->lpVtbl -> Release(This)
  587. #define IWMDeviceManager2_GetRevision(This,pdwRevision) \
  588. (This)->lpVtbl -> GetRevision(This,pdwRevision)
  589. #define IWMDeviceManager2_GetDeviceCount(This,pdwCount) \
  590. (This)->lpVtbl -> GetDeviceCount(This,pdwCount)
  591. #define IWMDeviceManager2_EnumDevices(This,ppEnumDevice) \
  592. (This)->lpVtbl -> EnumDevices(This,ppEnumDevice)
  593. #define IWMDeviceManager2_GetDeviceFromPnPName(This,pwszPnPName,ppDevice) \
  594. (This)->lpVtbl -> GetDeviceFromPnPName(This,pwszPnPName,ppDevice)
  595. #endif /* COBJMACROS */
  596. #endif /* C style interface */
  597. HRESULT STDMETHODCALLTYPE IWMDeviceManager2_GetDeviceFromPnPName_Proxy(
  598. IWMDeviceManager2 __RPC_FAR * This,
  599. /* [string][in] */ LPCWSTR pwszPnPName,
  600. /* [out] */ IWMDMDevice __RPC_FAR *__RPC_FAR *ppDevice);
  601. void __RPC_STUB IWMDeviceManager2_GetDeviceFromPnPName_Stub(
  602. IRpcStubBuffer *This,
  603. IRpcChannelBuffer *_pRpcChannelBuffer,
  604. PRPC_MESSAGE _pRpcMessage,
  605. DWORD *_pdwStubPhase);
  606. #endif /* __IWMDeviceManager2_INTERFACE_DEFINED__ */
  607. #ifndef __IWMDMStorageGlobals_INTERFACE_DEFINED__
  608. #define __IWMDMStorageGlobals_INTERFACE_DEFINED__
  609. /* interface IWMDMStorageGlobals */
  610. /* [unique][uuid][object] */
  611. EXTERN_C const IID IID_IWMDMStorageGlobals;
  612. #if defined(__cplusplus) && !defined(CINTERFACE)
  613. MIDL_INTERFACE("1DCB3A07-33ED-11d3-8470-00C04F79DBC0")
  614. IWMDMStorageGlobals : public IUnknown
  615. {
  616. public:
  617. virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
  618. /* [out] */ DWORD __RPC_FAR *pdwCapabilities) = 0;
  619. virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
  620. /* [out] */ PWMDMID pSerialNum,
  621. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  622. virtual HRESULT STDMETHODCALLTYPE GetTotalSize(
  623. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeLow,
  624. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeHigh) = 0;
  625. virtual HRESULT STDMETHODCALLTYPE GetTotalFree(
  626. /* [out] */ DWORD __RPC_FAR *pdwFreeLow,
  627. /* [out] */ DWORD __RPC_FAR *pdwFreeHigh) = 0;
  628. virtual HRESULT STDMETHODCALLTYPE GetTotalBad(
  629. /* [out] */ DWORD __RPC_FAR *pdwBadLow,
  630. /* [out] */ DWORD __RPC_FAR *pdwBadHigh) = 0;
  631. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  632. /* [out] */ DWORD __RPC_FAR *pdwStatus) = 0;
  633. virtual HRESULT STDMETHODCALLTYPE Initialize(
  634. /* [in] */ UINT fuMode,
  635. /* [in] */ IWMDMProgress __RPC_FAR *pProgress) = 0;
  636. };
  637. #else /* C style interface */
  638. typedef struct IWMDMStorageGlobalsVtbl
  639. {
  640. BEGIN_INTERFACE
  641. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  642. IWMDMStorageGlobals __RPC_FAR * This,
  643. /* [in] */ REFIID riid,
  644. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  645. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  646. IWMDMStorageGlobals __RPC_FAR * This);
  647. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  648. IWMDMStorageGlobals __RPC_FAR * This);
  649. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCapabilities )(
  650. IWMDMStorageGlobals __RPC_FAR * This,
  651. /* [out] */ DWORD __RPC_FAR *pdwCapabilities);
  652. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSerialNumber )(
  653. IWMDMStorageGlobals __RPC_FAR * This,
  654. /* [out] */ PWMDMID pSerialNum,
  655. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  656. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTotalSize )(
  657. IWMDMStorageGlobals __RPC_FAR * This,
  658. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeLow,
  659. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeHigh);
  660. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTotalFree )(
  661. IWMDMStorageGlobals __RPC_FAR * This,
  662. /* [out] */ DWORD __RPC_FAR *pdwFreeLow,
  663. /* [out] */ DWORD __RPC_FAR *pdwFreeHigh);
  664. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTotalBad )(
  665. IWMDMStorageGlobals __RPC_FAR * This,
  666. /* [out] */ DWORD __RPC_FAR *pdwBadLow,
  667. /* [out] */ DWORD __RPC_FAR *pdwBadHigh);
  668. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )(
  669. IWMDMStorageGlobals __RPC_FAR * This,
  670. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  671. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Initialize )(
  672. IWMDMStorageGlobals __RPC_FAR * This,
  673. /* [in] */ UINT fuMode,
  674. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  675. END_INTERFACE
  676. } IWMDMStorageGlobalsVtbl;
  677. interface IWMDMStorageGlobals
  678. {
  679. CONST_VTBL struct IWMDMStorageGlobalsVtbl __RPC_FAR *lpVtbl;
  680. };
  681. #ifdef COBJMACROS
  682. #define IWMDMStorageGlobals_QueryInterface(This,riid,ppvObject) \
  683. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  684. #define IWMDMStorageGlobals_AddRef(This) \
  685. (This)->lpVtbl -> AddRef(This)
  686. #define IWMDMStorageGlobals_Release(This) \
  687. (This)->lpVtbl -> Release(This)
  688. #define IWMDMStorageGlobals_GetCapabilities(This,pdwCapabilities) \
  689. (This)->lpVtbl -> GetCapabilities(This,pdwCapabilities)
  690. #define IWMDMStorageGlobals_GetSerialNumber(This,pSerialNum,abMac) \
  691. (This)->lpVtbl -> GetSerialNumber(This,pSerialNum,abMac)
  692. #define IWMDMStorageGlobals_GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh) \
  693. (This)->lpVtbl -> GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh)
  694. #define IWMDMStorageGlobals_GetTotalFree(This,pdwFreeLow,pdwFreeHigh) \
  695. (This)->lpVtbl -> GetTotalFree(This,pdwFreeLow,pdwFreeHigh)
  696. #define IWMDMStorageGlobals_GetTotalBad(This,pdwBadLow,pdwBadHigh) \
  697. (This)->lpVtbl -> GetTotalBad(This,pdwBadLow,pdwBadHigh)
  698. #define IWMDMStorageGlobals_GetStatus(This,pdwStatus) \
  699. (This)->lpVtbl -> GetStatus(This,pdwStatus)
  700. #define IWMDMStorageGlobals_Initialize(This,fuMode,pProgress) \
  701. (This)->lpVtbl -> Initialize(This,fuMode,pProgress)
  702. #endif /* COBJMACROS */
  703. #endif /* C style interface */
  704. HRESULT STDMETHODCALLTYPE IWMDMStorageGlobals_GetCapabilities_Proxy(
  705. IWMDMStorageGlobals __RPC_FAR * This,
  706. /* [out] */ DWORD __RPC_FAR *pdwCapabilities);
  707. void __RPC_STUB IWMDMStorageGlobals_GetCapabilities_Stub(
  708. IRpcStubBuffer *This,
  709. IRpcChannelBuffer *_pRpcChannelBuffer,
  710. PRPC_MESSAGE _pRpcMessage,
  711. DWORD *_pdwStubPhase);
  712. HRESULT STDMETHODCALLTYPE IWMDMStorageGlobals_GetSerialNumber_Proxy(
  713. IWMDMStorageGlobals __RPC_FAR * This,
  714. /* [out] */ PWMDMID pSerialNum,
  715. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  716. void __RPC_STUB IWMDMStorageGlobals_GetSerialNumber_Stub(
  717. IRpcStubBuffer *This,
  718. IRpcChannelBuffer *_pRpcChannelBuffer,
  719. PRPC_MESSAGE _pRpcMessage,
  720. DWORD *_pdwStubPhase);
  721. HRESULT STDMETHODCALLTYPE IWMDMStorageGlobals_GetTotalSize_Proxy(
  722. IWMDMStorageGlobals __RPC_FAR * This,
  723. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeLow,
  724. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeHigh);
  725. void __RPC_STUB IWMDMStorageGlobals_GetTotalSize_Stub(
  726. IRpcStubBuffer *This,
  727. IRpcChannelBuffer *_pRpcChannelBuffer,
  728. PRPC_MESSAGE _pRpcMessage,
  729. DWORD *_pdwStubPhase);
  730. HRESULT STDMETHODCALLTYPE IWMDMStorageGlobals_GetTotalFree_Proxy(
  731. IWMDMStorageGlobals __RPC_FAR * This,
  732. /* [out] */ DWORD __RPC_FAR *pdwFreeLow,
  733. /* [out] */ DWORD __RPC_FAR *pdwFreeHigh);
  734. void __RPC_STUB IWMDMStorageGlobals_GetTotalFree_Stub(
  735. IRpcStubBuffer *This,
  736. IRpcChannelBuffer *_pRpcChannelBuffer,
  737. PRPC_MESSAGE _pRpcMessage,
  738. DWORD *_pdwStubPhase);
  739. HRESULT STDMETHODCALLTYPE IWMDMStorageGlobals_GetTotalBad_Proxy(
  740. IWMDMStorageGlobals __RPC_FAR * This,
  741. /* [out] */ DWORD __RPC_FAR *pdwBadLow,
  742. /* [out] */ DWORD __RPC_FAR *pdwBadHigh);
  743. void __RPC_STUB IWMDMStorageGlobals_GetTotalBad_Stub(
  744. IRpcStubBuffer *This,
  745. IRpcChannelBuffer *_pRpcChannelBuffer,
  746. PRPC_MESSAGE _pRpcMessage,
  747. DWORD *_pdwStubPhase);
  748. HRESULT STDMETHODCALLTYPE IWMDMStorageGlobals_GetStatus_Proxy(
  749. IWMDMStorageGlobals __RPC_FAR * This,
  750. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  751. void __RPC_STUB IWMDMStorageGlobals_GetStatus_Stub(
  752. IRpcStubBuffer *This,
  753. IRpcChannelBuffer *_pRpcChannelBuffer,
  754. PRPC_MESSAGE _pRpcMessage,
  755. DWORD *_pdwStubPhase);
  756. HRESULT STDMETHODCALLTYPE IWMDMStorageGlobals_Initialize_Proxy(
  757. IWMDMStorageGlobals __RPC_FAR * This,
  758. /* [in] */ UINT fuMode,
  759. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  760. void __RPC_STUB IWMDMStorageGlobals_Initialize_Stub(
  761. IRpcStubBuffer *This,
  762. IRpcChannelBuffer *_pRpcChannelBuffer,
  763. PRPC_MESSAGE _pRpcMessage,
  764. DWORD *_pdwStubPhase);
  765. #endif /* __IWMDMStorageGlobals_INTERFACE_DEFINED__ */
  766. #ifndef __IWMDMStorage_INTERFACE_DEFINED__
  767. #define __IWMDMStorage_INTERFACE_DEFINED__
  768. /* interface IWMDMStorage */
  769. /* [unique][uuid][object] */
  770. EXTERN_C const IID IID_IWMDMStorage;
  771. #if defined(__cplusplus) && !defined(CINTERFACE)
  772. MIDL_INTERFACE("1DCB3A06-33ED-11d3-8470-00C04F79DBC0")
  773. IWMDMStorage : public IUnknown
  774. {
  775. public:
  776. virtual HRESULT STDMETHODCALLTYPE SetAttributes(
  777. /* [in] */ DWORD dwAttributes,
  778. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat) = 0;
  779. virtual HRESULT STDMETHODCALLTYPE GetStorageGlobals(
  780. /* [out] */ IWMDMStorageGlobals __RPC_FAR *__RPC_FAR *ppStorageGlobals) = 0;
  781. virtual HRESULT STDMETHODCALLTYPE GetAttributes(
  782. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  783. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat) = 0;
  784. virtual HRESULT STDMETHODCALLTYPE GetName(
  785. /* [size_is][string][out] */ LPWSTR pwszName,
  786. /* [in] */ UINT nMaxChars) = 0;
  787. virtual HRESULT STDMETHODCALLTYPE GetDate(
  788. /* [out] */ PWMDMDATETIME pDateTimeUTC) = 0;
  789. virtual HRESULT STDMETHODCALLTYPE GetSize(
  790. /* [out] */ DWORD __RPC_FAR *pdwSizeLow,
  791. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh) = 0;
  792. virtual HRESULT STDMETHODCALLTYPE GetRights(
  793. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  794. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  795. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  796. virtual HRESULT STDMETHODCALLTYPE EnumStorage(
  797. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *pEnumStorage) = 0;
  798. virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
  799. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand) = 0;
  800. };
  801. #else /* C style interface */
  802. typedef struct IWMDMStorageVtbl
  803. {
  804. BEGIN_INTERFACE
  805. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  806. IWMDMStorage __RPC_FAR * This,
  807. /* [in] */ REFIID riid,
  808. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  809. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  810. IWMDMStorage __RPC_FAR * This);
  811. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  812. IWMDMStorage __RPC_FAR * This);
  813. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAttributes )(
  814. IWMDMStorage __RPC_FAR * This,
  815. /* [in] */ DWORD dwAttributes,
  816. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  817. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStorageGlobals )(
  818. IWMDMStorage __RPC_FAR * This,
  819. /* [out] */ IWMDMStorageGlobals __RPC_FAR *__RPC_FAR *ppStorageGlobals);
  820. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributes )(
  821. IWMDMStorage __RPC_FAR * This,
  822. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  823. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  824. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )(
  825. IWMDMStorage __RPC_FAR * This,
  826. /* [size_is][string][out] */ LPWSTR pwszName,
  827. /* [in] */ UINT nMaxChars);
  828. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDate )(
  829. IWMDMStorage __RPC_FAR * This,
  830. /* [out] */ PWMDMDATETIME pDateTimeUTC);
  831. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSize )(
  832. IWMDMStorage __RPC_FAR * This,
  833. /* [out] */ DWORD __RPC_FAR *pdwSizeLow,
  834. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh);
  835. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRights )(
  836. IWMDMStorage __RPC_FAR * This,
  837. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  838. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  839. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  840. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumStorage )(
  841. IWMDMStorage __RPC_FAR * This,
  842. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *pEnumStorage);
  843. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendOpaqueCommand )(
  844. IWMDMStorage __RPC_FAR * This,
  845. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  846. END_INTERFACE
  847. } IWMDMStorageVtbl;
  848. interface IWMDMStorage
  849. {
  850. CONST_VTBL struct IWMDMStorageVtbl __RPC_FAR *lpVtbl;
  851. };
  852. #ifdef COBJMACROS
  853. #define IWMDMStorage_QueryInterface(This,riid,ppvObject) \
  854. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  855. #define IWMDMStorage_AddRef(This) \
  856. (This)->lpVtbl -> AddRef(This)
  857. #define IWMDMStorage_Release(This) \
  858. (This)->lpVtbl -> Release(This)
  859. #define IWMDMStorage_SetAttributes(This,dwAttributes,pFormat) \
  860. (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat)
  861. #define IWMDMStorage_GetStorageGlobals(This,ppStorageGlobals) \
  862. (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals)
  863. #define IWMDMStorage_GetAttributes(This,pdwAttributes,pFormat) \
  864. (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat)
  865. #define IWMDMStorage_GetName(This,pwszName,nMaxChars) \
  866. (This)->lpVtbl -> GetName(This,pwszName,nMaxChars)
  867. #define IWMDMStorage_GetDate(This,pDateTimeUTC) \
  868. (This)->lpVtbl -> GetDate(This,pDateTimeUTC)
  869. #define IWMDMStorage_GetSize(This,pdwSizeLow,pdwSizeHigh) \
  870. (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh)
  871. #define IWMDMStorage_GetRights(This,ppRights,pnRightsCount,abMac) \
  872. (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac)
  873. #define IWMDMStorage_EnumStorage(This,pEnumStorage) \
  874. (This)->lpVtbl -> EnumStorage(This,pEnumStorage)
  875. #define IWMDMStorage_SendOpaqueCommand(This,pCommand) \
  876. (This)->lpVtbl -> SendOpaqueCommand(This,pCommand)
  877. #endif /* COBJMACROS */
  878. #endif /* C style interface */
  879. HRESULT STDMETHODCALLTYPE IWMDMStorage_SetAttributes_Proxy(
  880. IWMDMStorage __RPC_FAR * This,
  881. /* [in] */ DWORD dwAttributes,
  882. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  883. void __RPC_STUB IWMDMStorage_SetAttributes_Stub(
  884. IRpcStubBuffer *This,
  885. IRpcChannelBuffer *_pRpcChannelBuffer,
  886. PRPC_MESSAGE _pRpcMessage,
  887. DWORD *_pdwStubPhase);
  888. HRESULT STDMETHODCALLTYPE IWMDMStorage_GetStorageGlobals_Proxy(
  889. IWMDMStorage __RPC_FAR * This,
  890. /* [out] */ IWMDMStorageGlobals __RPC_FAR *__RPC_FAR *ppStorageGlobals);
  891. void __RPC_STUB IWMDMStorage_GetStorageGlobals_Stub(
  892. IRpcStubBuffer *This,
  893. IRpcChannelBuffer *_pRpcChannelBuffer,
  894. PRPC_MESSAGE _pRpcMessage,
  895. DWORD *_pdwStubPhase);
  896. HRESULT STDMETHODCALLTYPE IWMDMStorage_GetAttributes_Proxy(
  897. IWMDMStorage __RPC_FAR * This,
  898. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  899. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  900. void __RPC_STUB IWMDMStorage_GetAttributes_Stub(
  901. IRpcStubBuffer *This,
  902. IRpcChannelBuffer *_pRpcChannelBuffer,
  903. PRPC_MESSAGE _pRpcMessage,
  904. DWORD *_pdwStubPhase);
  905. HRESULT STDMETHODCALLTYPE IWMDMStorage_GetName_Proxy(
  906. IWMDMStorage __RPC_FAR * This,
  907. /* [size_is][string][out] */ LPWSTR pwszName,
  908. /* [in] */ UINT nMaxChars);
  909. void __RPC_STUB IWMDMStorage_GetName_Stub(
  910. IRpcStubBuffer *This,
  911. IRpcChannelBuffer *_pRpcChannelBuffer,
  912. PRPC_MESSAGE _pRpcMessage,
  913. DWORD *_pdwStubPhase);
  914. HRESULT STDMETHODCALLTYPE IWMDMStorage_GetDate_Proxy(
  915. IWMDMStorage __RPC_FAR * This,
  916. /* [out] */ PWMDMDATETIME pDateTimeUTC);
  917. void __RPC_STUB IWMDMStorage_GetDate_Stub(
  918. IRpcStubBuffer *This,
  919. IRpcChannelBuffer *_pRpcChannelBuffer,
  920. PRPC_MESSAGE _pRpcMessage,
  921. DWORD *_pdwStubPhase);
  922. HRESULT STDMETHODCALLTYPE IWMDMStorage_GetSize_Proxy(
  923. IWMDMStorage __RPC_FAR * This,
  924. /* [out] */ DWORD __RPC_FAR *pdwSizeLow,
  925. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh);
  926. void __RPC_STUB IWMDMStorage_GetSize_Stub(
  927. IRpcStubBuffer *This,
  928. IRpcChannelBuffer *_pRpcChannelBuffer,
  929. PRPC_MESSAGE _pRpcMessage,
  930. DWORD *_pdwStubPhase);
  931. HRESULT STDMETHODCALLTYPE IWMDMStorage_GetRights_Proxy(
  932. IWMDMStorage __RPC_FAR * This,
  933. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  934. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  935. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  936. void __RPC_STUB IWMDMStorage_GetRights_Stub(
  937. IRpcStubBuffer *This,
  938. IRpcChannelBuffer *_pRpcChannelBuffer,
  939. PRPC_MESSAGE _pRpcMessage,
  940. DWORD *_pdwStubPhase);
  941. HRESULT STDMETHODCALLTYPE IWMDMStorage_EnumStorage_Proxy(
  942. IWMDMStorage __RPC_FAR * This,
  943. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *pEnumStorage);
  944. void __RPC_STUB IWMDMStorage_EnumStorage_Stub(
  945. IRpcStubBuffer *This,
  946. IRpcChannelBuffer *_pRpcChannelBuffer,
  947. PRPC_MESSAGE _pRpcMessage,
  948. DWORD *_pdwStubPhase);
  949. HRESULT STDMETHODCALLTYPE IWMDMStorage_SendOpaqueCommand_Proxy(
  950. IWMDMStorage __RPC_FAR * This,
  951. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  952. void __RPC_STUB IWMDMStorage_SendOpaqueCommand_Stub(
  953. IRpcStubBuffer *This,
  954. IRpcChannelBuffer *_pRpcChannelBuffer,
  955. PRPC_MESSAGE _pRpcMessage,
  956. DWORD *_pdwStubPhase);
  957. #endif /* __IWMDMStorage_INTERFACE_DEFINED__ */
  958. #ifndef __IWMDMStorage2_INTERFACE_DEFINED__
  959. #define __IWMDMStorage2_INTERFACE_DEFINED__
  960. /* interface IWMDMStorage2 */
  961. /* [unique][uuid][object] */
  962. EXTERN_C const IID IID_IWMDMStorage2;
  963. #if defined(__cplusplus) && !defined(CINTERFACE)
  964. MIDL_INTERFACE("1ED5A144-5CD5-4683-9EFF-72CBDB2D9533")
  965. IWMDMStorage2 : public IWMDMStorage
  966. {
  967. public:
  968. virtual HRESULT STDMETHODCALLTYPE GetStorage(
  969. /* [string][in] */ LPCWSTR pszStorageName,
  970. /* [out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppStorage) = 0;
  971. virtual HRESULT STDMETHODCALLTYPE SetAttributes2(
  972. /* [in] */ DWORD dwAttributes,
  973. /* [in] */ DWORD dwAttributesEx,
  974. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat,
  975. /* [in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat) = 0;
  976. virtual HRESULT STDMETHODCALLTYPE GetAttributes2(
  977. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  978. /* [out] */ DWORD __RPC_FAR *pdwAttributesEx,
  979. /* [out] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  980. /* [out] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat) = 0;
  981. };
  982. #else /* C style interface */
  983. typedef struct IWMDMStorage2Vtbl
  984. {
  985. BEGIN_INTERFACE
  986. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  987. IWMDMStorage2 __RPC_FAR * This,
  988. /* [in] */ REFIID riid,
  989. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  990. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  991. IWMDMStorage2 __RPC_FAR * This);
  992. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  993. IWMDMStorage2 __RPC_FAR * This);
  994. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAttributes )(
  995. IWMDMStorage2 __RPC_FAR * This,
  996. /* [in] */ DWORD dwAttributes,
  997. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  998. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStorageGlobals )(
  999. IWMDMStorage2 __RPC_FAR * This,
  1000. /* [out] */ IWMDMStorageGlobals __RPC_FAR *__RPC_FAR *ppStorageGlobals);
  1001. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributes )(
  1002. IWMDMStorage2 __RPC_FAR * This,
  1003. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  1004. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  1005. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )(
  1006. IWMDMStorage2 __RPC_FAR * This,
  1007. /* [size_is][string][out] */ LPWSTR pwszName,
  1008. /* [in] */ UINT nMaxChars);
  1009. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDate )(
  1010. IWMDMStorage2 __RPC_FAR * This,
  1011. /* [out] */ PWMDMDATETIME pDateTimeUTC);
  1012. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSize )(
  1013. IWMDMStorage2 __RPC_FAR * This,
  1014. /* [out] */ DWORD __RPC_FAR *pdwSizeLow,
  1015. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh);
  1016. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRights )(
  1017. IWMDMStorage2 __RPC_FAR * This,
  1018. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  1019. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  1020. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  1021. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumStorage )(
  1022. IWMDMStorage2 __RPC_FAR * This,
  1023. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *pEnumStorage);
  1024. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendOpaqueCommand )(
  1025. IWMDMStorage2 __RPC_FAR * This,
  1026. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  1027. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStorage )(
  1028. IWMDMStorage2 __RPC_FAR * This,
  1029. /* [string][in] */ LPCWSTR pszStorageName,
  1030. /* [out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppStorage);
  1031. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAttributes2 )(
  1032. IWMDMStorage2 __RPC_FAR * This,
  1033. /* [in] */ DWORD dwAttributes,
  1034. /* [in] */ DWORD dwAttributesEx,
  1035. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat,
  1036. /* [in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  1037. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributes2 )(
  1038. IWMDMStorage2 __RPC_FAR * This,
  1039. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  1040. /* [out] */ DWORD __RPC_FAR *pdwAttributesEx,
  1041. /* [out] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  1042. /* [out] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  1043. END_INTERFACE
  1044. } IWMDMStorage2Vtbl;
  1045. interface IWMDMStorage2
  1046. {
  1047. CONST_VTBL struct IWMDMStorage2Vtbl __RPC_FAR *lpVtbl;
  1048. };
  1049. #ifdef COBJMACROS
  1050. #define IWMDMStorage2_QueryInterface(This,riid,ppvObject) \
  1051. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1052. #define IWMDMStorage2_AddRef(This) \
  1053. (This)->lpVtbl -> AddRef(This)
  1054. #define IWMDMStorage2_Release(This) \
  1055. (This)->lpVtbl -> Release(This)
  1056. #define IWMDMStorage2_SetAttributes(This,dwAttributes,pFormat) \
  1057. (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat)
  1058. #define IWMDMStorage2_GetStorageGlobals(This,ppStorageGlobals) \
  1059. (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals)
  1060. #define IWMDMStorage2_GetAttributes(This,pdwAttributes,pFormat) \
  1061. (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat)
  1062. #define IWMDMStorage2_GetName(This,pwszName,nMaxChars) \
  1063. (This)->lpVtbl -> GetName(This,pwszName,nMaxChars)
  1064. #define IWMDMStorage2_GetDate(This,pDateTimeUTC) \
  1065. (This)->lpVtbl -> GetDate(This,pDateTimeUTC)
  1066. #define IWMDMStorage2_GetSize(This,pdwSizeLow,pdwSizeHigh) \
  1067. (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh)
  1068. #define IWMDMStorage2_GetRights(This,ppRights,pnRightsCount,abMac) \
  1069. (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac)
  1070. #define IWMDMStorage2_EnumStorage(This,pEnumStorage) \
  1071. (This)->lpVtbl -> EnumStorage(This,pEnumStorage)
  1072. #define IWMDMStorage2_SendOpaqueCommand(This,pCommand) \
  1073. (This)->lpVtbl -> SendOpaqueCommand(This,pCommand)
  1074. #define IWMDMStorage2_GetStorage(This,pszStorageName,ppStorage) \
  1075. (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage)
  1076. #define IWMDMStorage2_SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) \
  1077. (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat)
  1078. #define IWMDMStorage2_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
  1079. (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat)
  1080. #endif /* COBJMACROS */
  1081. #endif /* C style interface */
  1082. HRESULT STDMETHODCALLTYPE IWMDMStorage2_GetStorage_Proxy(
  1083. IWMDMStorage2 __RPC_FAR * This,
  1084. /* [string][in] */ LPCWSTR pszStorageName,
  1085. /* [out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppStorage);
  1086. void __RPC_STUB IWMDMStorage2_GetStorage_Stub(
  1087. IRpcStubBuffer *This,
  1088. IRpcChannelBuffer *_pRpcChannelBuffer,
  1089. PRPC_MESSAGE _pRpcMessage,
  1090. DWORD *_pdwStubPhase);
  1091. HRESULT STDMETHODCALLTYPE IWMDMStorage2_SetAttributes2_Proxy(
  1092. IWMDMStorage2 __RPC_FAR * This,
  1093. /* [in] */ DWORD dwAttributes,
  1094. /* [in] */ DWORD dwAttributesEx,
  1095. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat,
  1096. /* [in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  1097. void __RPC_STUB IWMDMStorage2_SetAttributes2_Stub(
  1098. IRpcStubBuffer *This,
  1099. IRpcChannelBuffer *_pRpcChannelBuffer,
  1100. PRPC_MESSAGE _pRpcMessage,
  1101. DWORD *_pdwStubPhase);
  1102. HRESULT STDMETHODCALLTYPE IWMDMStorage2_GetAttributes2_Proxy(
  1103. IWMDMStorage2 __RPC_FAR * This,
  1104. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  1105. /* [out] */ DWORD __RPC_FAR *pdwAttributesEx,
  1106. /* [out] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  1107. /* [out] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  1108. void __RPC_STUB IWMDMStorage2_GetAttributes2_Stub(
  1109. IRpcStubBuffer *This,
  1110. IRpcChannelBuffer *_pRpcChannelBuffer,
  1111. PRPC_MESSAGE _pRpcMessage,
  1112. DWORD *_pdwStubPhase);
  1113. #endif /* __IWMDMStorage2_INTERFACE_DEFINED__ */
  1114. #ifndef __IWMDMOperation_INTERFACE_DEFINED__
  1115. #define __IWMDMOperation_INTERFACE_DEFINED__
  1116. /* interface IWMDMOperation */
  1117. /* [unique][uuid][object] */
  1118. EXTERN_C const IID IID_IWMDMOperation;
  1119. #if defined(__cplusplus) && !defined(CINTERFACE)
  1120. MIDL_INTERFACE("1DCB3A0B-33ED-11d3-8470-00C04F79DBC0")
  1121. IWMDMOperation : public IUnknown
  1122. {
  1123. public:
  1124. virtual HRESULT STDMETHODCALLTYPE BeginRead( void) = 0;
  1125. virtual HRESULT STDMETHODCALLTYPE BeginWrite( void) = 0;
  1126. virtual HRESULT STDMETHODCALLTYPE GetObjectName(
  1127. /* [size_is][string][out] */ LPWSTR pwszName,
  1128. /* [in] */ UINT nMaxChars) = 0;
  1129. virtual HRESULT STDMETHODCALLTYPE SetObjectName(
  1130. /* [size_is][string][in] */ LPWSTR pwszName,
  1131. /* [in] */ UINT nMaxChars) = 0;
  1132. virtual HRESULT STDMETHODCALLTYPE GetObjectAttributes(
  1133. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  1134. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat) = 0;
  1135. virtual HRESULT STDMETHODCALLTYPE SetObjectAttributes(
  1136. /* [in] */ DWORD dwAttributes,
  1137. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat) = 0;
  1138. virtual HRESULT STDMETHODCALLTYPE GetObjectTotalSize(
  1139. /* [out] */ DWORD __RPC_FAR *pdwSize,
  1140. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh) = 0;
  1141. virtual HRESULT STDMETHODCALLTYPE SetObjectTotalSize(
  1142. /* [in] */ DWORD dwSize,
  1143. /* [in] */ DWORD dwSizeHigh) = 0;
  1144. virtual HRESULT STDMETHODCALLTYPE TransferObjectData(
  1145. /* [size_is][out][in] */ BYTE __RPC_FAR *pData,
  1146. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  1147. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  1148. virtual HRESULT STDMETHODCALLTYPE End(
  1149. /* [in] */ HRESULT __RPC_FAR *phCompletionCode,
  1150. /* [in] */ IUnknown __RPC_FAR *pNewObject) = 0;
  1151. };
  1152. #else /* C style interface */
  1153. typedef struct IWMDMOperationVtbl
  1154. {
  1155. BEGIN_INTERFACE
  1156. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1157. IWMDMOperation __RPC_FAR * This,
  1158. /* [in] */ REFIID riid,
  1159. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1160. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1161. IWMDMOperation __RPC_FAR * This);
  1162. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1163. IWMDMOperation __RPC_FAR * This);
  1164. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginRead )(
  1165. IWMDMOperation __RPC_FAR * This);
  1166. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginWrite )(
  1167. IWMDMOperation __RPC_FAR * This);
  1168. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectName )(
  1169. IWMDMOperation __RPC_FAR * This,
  1170. /* [size_is][string][out] */ LPWSTR pwszName,
  1171. /* [in] */ UINT nMaxChars);
  1172. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectName )(
  1173. IWMDMOperation __RPC_FAR * This,
  1174. /* [size_is][string][in] */ LPWSTR pwszName,
  1175. /* [in] */ UINT nMaxChars);
  1176. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectAttributes )(
  1177. IWMDMOperation __RPC_FAR * This,
  1178. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  1179. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  1180. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectAttributes )(
  1181. IWMDMOperation __RPC_FAR * This,
  1182. /* [in] */ DWORD dwAttributes,
  1183. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  1184. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectTotalSize )(
  1185. IWMDMOperation __RPC_FAR * This,
  1186. /* [out] */ DWORD __RPC_FAR *pdwSize,
  1187. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh);
  1188. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectTotalSize )(
  1189. IWMDMOperation __RPC_FAR * This,
  1190. /* [in] */ DWORD dwSize,
  1191. /* [in] */ DWORD dwSizeHigh);
  1192. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransferObjectData )(
  1193. IWMDMOperation __RPC_FAR * This,
  1194. /* [size_is][out][in] */ BYTE __RPC_FAR *pData,
  1195. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  1196. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  1197. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *End )(
  1198. IWMDMOperation __RPC_FAR * This,
  1199. /* [in] */ HRESULT __RPC_FAR *phCompletionCode,
  1200. /* [in] */ IUnknown __RPC_FAR *pNewObject);
  1201. END_INTERFACE
  1202. } IWMDMOperationVtbl;
  1203. interface IWMDMOperation
  1204. {
  1205. CONST_VTBL struct IWMDMOperationVtbl __RPC_FAR *lpVtbl;
  1206. };
  1207. #ifdef COBJMACROS
  1208. #define IWMDMOperation_QueryInterface(This,riid,ppvObject) \
  1209. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1210. #define IWMDMOperation_AddRef(This) \
  1211. (This)->lpVtbl -> AddRef(This)
  1212. #define IWMDMOperation_Release(This) \
  1213. (This)->lpVtbl -> Release(This)
  1214. #define IWMDMOperation_BeginRead(This) \
  1215. (This)->lpVtbl -> BeginRead(This)
  1216. #define IWMDMOperation_BeginWrite(This) \
  1217. (This)->lpVtbl -> BeginWrite(This)
  1218. #define IWMDMOperation_GetObjectName(This,pwszName,nMaxChars) \
  1219. (This)->lpVtbl -> GetObjectName(This,pwszName,nMaxChars)
  1220. #define IWMDMOperation_SetObjectName(This,pwszName,nMaxChars) \
  1221. (This)->lpVtbl -> SetObjectName(This,pwszName,nMaxChars)
  1222. #define IWMDMOperation_GetObjectAttributes(This,pdwAttributes,pFormat) \
  1223. (This)->lpVtbl -> GetObjectAttributes(This,pdwAttributes,pFormat)
  1224. #define IWMDMOperation_SetObjectAttributes(This,dwAttributes,pFormat) \
  1225. (This)->lpVtbl -> SetObjectAttributes(This,dwAttributes,pFormat)
  1226. #define IWMDMOperation_GetObjectTotalSize(This,pdwSize,pdwSizeHigh) \
  1227. (This)->lpVtbl -> GetObjectTotalSize(This,pdwSize,pdwSizeHigh)
  1228. #define IWMDMOperation_SetObjectTotalSize(This,dwSize,dwSizeHigh) \
  1229. (This)->lpVtbl -> SetObjectTotalSize(This,dwSize,dwSizeHigh)
  1230. #define IWMDMOperation_TransferObjectData(This,pData,pdwSize,abMac) \
  1231. (This)->lpVtbl -> TransferObjectData(This,pData,pdwSize,abMac)
  1232. #define IWMDMOperation_End(This,phCompletionCode,pNewObject) \
  1233. (This)->lpVtbl -> End(This,phCompletionCode,pNewObject)
  1234. #endif /* COBJMACROS */
  1235. #endif /* C style interface */
  1236. HRESULT STDMETHODCALLTYPE IWMDMOperation_BeginRead_Proxy(
  1237. IWMDMOperation __RPC_FAR * This);
  1238. void __RPC_STUB IWMDMOperation_BeginRead_Stub(
  1239. IRpcStubBuffer *This,
  1240. IRpcChannelBuffer *_pRpcChannelBuffer,
  1241. PRPC_MESSAGE _pRpcMessage,
  1242. DWORD *_pdwStubPhase);
  1243. HRESULT STDMETHODCALLTYPE IWMDMOperation_BeginWrite_Proxy(
  1244. IWMDMOperation __RPC_FAR * This);
  1245. void __RPC_STUB IWMDMOperation_BeginWrite_Stub(
  1246. IRpcStubBuffer *This,
  1247. IRpcChannelBuffer *_pRpcChannelBuffer,
  1248. PRPC_MESSAGE _pRpcMessage,
  1249. DWORD *_pdwStubPhase);
  1250. HRESULT STDMETHODCALLTYPE IWMDMOperation_GetObjectName_Proxy(
  1251. IWMDMOperation __RPC_FAR * This,
  1252. /* [size_is][string][out] */ LPWSTR pwszName,
  1253. /* [in] */ UINT nMaxChars);
  1254. void __RPC_STUB IWMDMOperation_GetObjectName_Stub(
  1255. IRpcStubBuffer *This,
  1256. IRpcChannelBuffer *_pRpcChannelBuffer,
  1257. PRPC_MESSAGE _pRpcMessage,
  1258. DWORD *_pdwStubPhase);
  1259. HRESULT STDMETHODCALLTYPE IWMDMOperation_SetObjectName_Proxy(
  1260. IWMDMOperation __RPC_FAR * This,
  1261. /* [size_is][string][in] */ LPWSTR pwszName,
  1262. /* [in] */ UINT nMaxChars);
  1263. void __RPC_STUB IWMDMOperation_SetObjectName_Stub(
  1264. IRpcStubBuffer *This,
  1265. IRpcChannelBuffer *_pRpcChannelBuffer,
  1266. PRPC_MESSAGE _pRpcMessage,
  1267. DWORD *_pdwStubPhase);
  1268. HRESULT STDMETHODCALLTYPE IWMDMOperation_GetObjectAttributes_Proxy(
  1269. IWMDMOperation __RPC_FAR * This,
  1270. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  1271. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  1272. void __RPC_STUB IWMDMOperation_GetObjectAttributes_Stub(
  1273. IRpcStubBuffer *This,
  1274. IRpcChannelBuffer *_pRpcChannelBuffer,
  1275. PRPC_MESSAGE _pRpcMessage,
  1276. DWORD *_pdwStubPhase);
  1277. HRESULT STDMETHODCALLTYPE IWMDMOperation_SetObjectAttributes_Proxy(
  1278. IWMDMOperation __RPC_FAR * This,
  1279. /* [in] */ DWORD dwAttributes,
  1280. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  1281. void __RPC_STUB IWMDMOperation_SetObjectAttributes_Stub(
  1282. IRpcStubBuffer *This,
  1283. IRpcChannelBuffer *_pRpcChannelBuffer,
  1284. PRPC_MESSAGE _pRpcMessage,
  1285. DWORD *_pdwStubPhase);
  1286. HRESULT STDMETHODCALLTYPE IWMDMOperation_GetObjectTotalSize_Proxy(
  1287. IWMDMOperation __RPC_FAR * This,
  1288. /* [out] */ DWORD __RPC_FAR *pdwSize,
  1289. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh);
  1290. void __RPC_STUB IWMDMOperation_GetObjectTotalSize_Stub(
  1291. IRpcStubBuffer *This,
  1292. IRpcChannelBuffer *_pRpcChannelBuffer,
  1293. PRPC_MESSAGE _pRpcMessage,
  1294. DWORD *_pdwStubPhase);
  1295. HRESULT STDMETHODCALLTYPE IWMDMOperation_SetObjectTotalSize_Proxy(
  1296. IWMDMOperation __RPC_FAR * This,
  1297. /* [in] */ DWORD dwSize,
  1298. /* [in] */ DWORD dwSizeHigh);
  1299. void __RPC_STUB IWMDMOperation_SetObjectTotalSize_Stub(
  1300. IRpcStubBuffer *This,
  1301. IRpcChannelBuffer *_pRpcChannelBuffer,
  1302. PRPC_MESSAGE _pRpcMessage,
  1303. DWORD *_pdwStubPhase);
  1304. HRESULT STDMETHODCALLTYPE IWMDMOperation_TransferObjectData_Proxy(
  1305. IWMDMOperation __RPC_FAR * This,
  1306. /* [size_is][out][in] */ BYTE __RPC_FAR *pData,
  1307. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  1308. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  1309. void __RPC_STUB IWMDMOperation_TransferObjectData_Stub(
  1310. IRpcStubBuffer *This,
  1311. IRpcChannelBuffer *_pRpcChannelBuffer,
  1312. PRPC_MESSAGE _pRpcMessage,
  1313. DWORD *_pdwStubPhase);
  1314. HRESULT STDMETHODCALLTYPE IWMDMOperation_End_Proxy(
  1315. IWMDMOperation __RPC_FAR * This,
  1316. /* [in] */ HRESULT __RPC_FAR *phCompletionCode,
  1317. /* [in] */ IUnknown __RPC_FAR *pNewObject);
  1318. void __RPC_STUB IWMDMOperation_End_Stub(
  1319. IRpcStubBuffer *This,
  1320. IRpcChannelBuffer *_pRpcChannelBuffer,
  1321. PRPC_MESSAGE _pRpcMessage,
  1322. DWORD *_pdwStubPhase);
  1323. #endif /* __IWMDMOperation_INTERFACE_DEFINED__ */
  1324. #ifndef __IWMDMOperation2_INTERFACE_DEFINED__
  1325. #define __IWMDMOperation2_INTERFACE_DEFINED__
  1326. /* interface IWMDMOperation2 */
  1327. /* [unique][uuid][object] */
  1328. EXTERN_C const IID IID_IWMDMOperation2;
  1329. #if defined(__cplusplus) && !defined(CINTERFACE)
  1330. MIDL_INTERFACE("33445B48-7DF7-425c-AD8F-0FC6D82F9F75")
  1331. IWMDMOperation2 : public IWMDMOperation
  1332. {
  1333. public:
  1334. virtual HRESULT STDMETHODCALLTYPE SetObjectAttributes2(
  1335. /* [in] */ DWORD dwAttributes,
  1336. /* [in] */ DWORD dwAttributesEx,
  1337. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat,
  1338. /* [in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat) = 0;
  1339. virtual HRESULT STDMETHODCALLTYPE GetObjectAttributes2(
  1340. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  1341. /* [out] */ DWORD __RPC_FAR *pdwAttributesEx,
  1342. /* [out] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  1343. /* [out] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat) = 0;
  1344. };
  1345. #else /* C style interface */
  1346. typedef struct IWMDMOperation2Vtbl
  1347. {
  1348. BEGIN_INTERFACE
  1349. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1350. IWMDMOperation2 __RPC_FAR * This,
  1351. /* [in] */ REFIID riid,
  1352. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1353. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1354. IWMDMOperation2 __RPC_FAR * This);
  1355. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1356. IWMDMOperation2 __RPC_FAR * This);
  1357. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginRead )(
  1358. IWMDMOperation2 __RPC_FAR * This);
  1359. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginWrite )(
  1360. IWMDMOperation2 __RPC_FAR * This);
  1361. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectName )(
  1362. IWMDMOperation2 __RPC_FAR * This,
  1363. /* [size_is][string][out] */ LPWSTR pwszName,
  1364. /* [in] */ UINT nMaxChars);
  1365. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectName )(
  1366. IWMDMOperation2 __RPC_FAR * This,
  1367. /* [size_is][string][in] */ LPWSTR pwszName,
  1368. /* [in] */ UINT nMaxChars);
  1369. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectAttributes )(
  1370. IWMDMOperation2 __RPC_FAR * This,
  1371. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  1372. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  1373. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectAttributes )(
  1374. IWMDMOperation2 __RPC_FAR * This,
  1375. /* [in] */ DWORD dwAttributes,
  1376. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  1377. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectTotalSize )(
  1378. IWMDMOperation2 __RPC_FAR * This,
  1379. /* [out] */ DWORD __RPC_FAR *pdwSize,
  1380. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh);
  1381. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectTotalSize )(
  1382. IWMDMOperation2 __RPC_FAR * This,
  1383. /* [in] */ DWORD dwSize,
  1384. /* [in] */ DWORD dwSizeHigh);
  1385. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransferObjectData )(
  1386. IWMDMOperation2 __RPC_FAR * This,
  1387. /* [size_is][out][in] */ BYTE __RPC_FAR *pData,
  1388. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  1389. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  1390. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *End )(
  1391. IWMDMOperation2 __RPC_FAR * This,
  1392. /* [in] */ HRESULT __RPC_FAR *phCompletionCode,
  1393. /* [in] */ IUnknown __RPC_FAR *pNewObject);
  1394. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetObjectAttributes2 )(
  1395. IWMDMOperation2 __RPC_FAR * This,
  1396. /* [in] */ DWORD dwAttributes,
  1397. /* [in] */ DWORD dwAttributesEx,
  1398. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat,
  1399. /* [in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  1400. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectAttributes2 )(
  1401. IWMDMOperation2 __RPC_FAR * This,
  1402. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  1403. /* [out] */ DWORD __RPC_FAR *pdwAttributesEx,
  1404. /* [out] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  1405. /* [out] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  1406. END_INTERFACE
  1407. } IWMDMOperation2Vtbl;
  1408. interface IWMDMOperation2
  1409. {
  1410. CONST_VTBL struct IWMDMOperation2Vtbl __RPC_FAR *lpVtbl;
  1411. };
  1412. #ifdef COBJMACROS
  1413. #define IWMDMOperation2_QueryInterface(This,riid,ppvObject) \
  1414. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1415. #define IWMDMOperation2_AddRef(This) \
  1416. (This)->lpVtbl -> AddRef(This)
  1417. #define IWMDMOperation2_Release(This) \
  1418. (This)->lpVtbl -> Release(This)
  1419. #define IWMDMOperation2_BeginRead(This) \
  1420. (This)->lpVtbl -> BeginRead(This)
  1421. #define IWMDMOperation2_BeginWrite(This) \
  1422. (This)->lpVtbl -> BeginWrite(This)
  1423. #define IWMDMOperation2_GetObjectName(This,pwszName,nMaxChars) \
  1424. (This)->lpVtbl -> GetObjectName(This,pwszName,nMaxChars)
  1425. #define IWMDMOperation2_SetObjectName(This,pwszName,nMaxChars) \
  1426. (This)->lpVtbl -> SetObjectName(This,pwszName,nMaxChars)
  1427. #define IWMDMOperation2_GetObjectAttributes(This,pdwAttributes,pFormat) \
  1428. (This)->lpVtbl -> GetObjectAttributes(This,pdwAttributes,pFormat)
  1429. #define IWMDMOperation2_SetObjectAttributes(This,dwAttributes,pFormat) \
  1430. (This)->lpVtbl -> SetObjectAttributes(This,dwAttributes,pFormat)
  1431. #define IWMDMOperation2_GetObjectTotalSize(This,pdwSize,pdwSizeHigh) \
  1432. (This)->lpVtbl -> GetObjectTotalSize(This,pdwSize,pdwSizeHigh)
  1433. #define IWMDMOperation2_SetObjectTotalSize(This,dwSize,dwSizeHigh) \
  1434. (This)->lpVtbl -> SetObjectTotalSize(This,dwSize,dwSizeHigh)
  1435. #define IWMDMOperation2_TransferObjectData(This,pData,pdwSize,abMac) \
  1436. (This)->lpVtbl -> TransferObjectData(This,pData,pdwSize,abMac)
  1437. #define IWMDMOperation2_End(This,phCompletionCode,pNewObject) \
  1438. (This)->lpVtbl -> End(This,phCompletionCode,pNewObject)
  1439. #define IWMDMOperation2_SetObjectAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) \
  1440. (This)->lpVtbl -> SetObjectAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat)
  1441. #define IWMDMOperation2_GetObjectAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
  1442. (This)->lpVtbl -> GetObjectAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat)
  1443. #endif /* COBJMACROS */
  1444. #endif /* C style interface */
  1445. HRESULT STDMETHODCALLTYPE IWMDMOperation2_SetObjectAttributes2_Proxy(
  1446. IWMDMOperation2 __RPC_FAR * This,
  1447. /* [in] */ DWORD dwAttributes,
  1448. /* [in] */ DWORD dwAttributesEx,
  1449. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat,
  1450. /* [in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  1451. void __RPC_STUB IWMDMOperation2_SetObjectAttributes2_Stub(
  1452. IRpcStubBuffer *This,
  1453. IRpcChannelBuffer *_pRpcChannelBuffer,
  1454. PRPC_MESSAGE _pRpcMessage,
  1455. DWORD *_pdwStubPhase);
  1456. HRESULT STDMETHODCALLTYPE IWMDMOperation2_GetObjectAttributes2_Proxy(
  1457. IWMDMOperation2 __RPC_FAR * This,
  1458. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  1459. /* [out] */ DWORD __RPC_FAR *pdwAttributesEx,
  1460. /* [out] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  1461. /* [out] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  1462. void __RPC_STUB IWMDMOperation2_GetObjectAttributes2_Stub(
  1463. IRpcStubBuffer *This,
  1464. IRpcChannelBuffer *_pRpcChannelBuffer,
  1465. PRPC_MESSAGE _pRpcMessage,
  1466. DWORD *_pdwStubPhase);
  1467. #endif /* __IWMDMOperation2_INTERFACE_DEFINED__ */
  1468. #ifndef __IWMDMProgress_INTERFACE_DEFINED__
  1469. #define __IWMDMProgress_INTERFACE_DEFINED__
  1470. /* interface IWMDMProgress */
  1471. /* [unique][uuid][object] */
  1472. EXTERN_C const IID IID_IWMDMProgress;
  1473. #if defined(__cplusplus) && !defined(CINTERFACE)
  1474. MIDL_INTERFACE("1DCB3A0C-33ED-11d3-8470-00C04F79DBC0")
  1475. IWMDMProgress : public IUnknown
  1476. {
  1477. public:
  1478. virtual HRESULT STDMETHODCALLTYPE Begin(
  1479. /* [in] */ DWORD dwEstimatedTicks) = 0;
  1480. virtual HRESULT STDMETHODCALLTYPE Progress(
  1481. /* [in] */ DWORD dwTranspiredTicks) = 0;
  1482. virtual HRESULT STDMETHODCALLTYPE End( void) = 0;
  1483. };
  1484. #else /* C style interface */
  1485. typedef struct IWMDMProgressVtbl
  1486. {
  1487. BEGIN_INTERFACE
  1488. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1489. IWMDMProgress __RPC_FAR * This,
  1490. /* [in] */ REFIID riid,
  1491. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1492. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1493. IWMDMProgress __RPC_FAR * This);
  1494. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1495. IWMDMProgress __RPC_FAR * This);
  1496. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin )(
  1497. IWMDMProgress __RPC_FAR * This,
  1498. /* [in] */ DWORD dwEstimatedTicks);
  1499. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Progress )(
  1500. IWMDMProgress __RPC_FAR * This,
  1501. /* [in] */ DWORD dwTranspiredTicks);
  1502. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *End )(
  1503. IWMDMProgress __RPC_FAR * This);
  1504. END_INTERFACE
  1505. } IWMDMProgressVtbl;
  1506. interface IWMDMProgress
  1507. {
  1508. CONST_VTBL struct IWMDMProgressVtbl __RPC_FAR *lpVtbl;
  1509. };
  1510. #ifdef COBJMACROS
  1511. #define IWMDMProgress_QueryInterface(This,riid,ppvObject) \
  1512. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1513. #define IWMDMProgress_AddRef(This) \
  1514. (This)->lpVtbl -> AddRef(This)
  1515. #define IWMDMProgress_Release(This) \
  1516. (This)->lpVtbl -> Release(This)
  1517. #define IWMDMProgress_Begin(This,dwEstimatedTicks) \
  1518. (This)->lpVtbl -> Begin(This,dwEstimatedTicks)
  1519. #define IWMDMProgress_Progress(This,dwTranspiredTicks) \
  1520. (This)->lpVtbl -> Progress(This,dwTranspiredTicks)
  1521. #define IWMDMProgress_End(This) \
  1522. (This)->lpVtbl -> End(This)
  1523. #endif /* COBJMACROS */
  1524. #endif /* C style interface */
  1525. HRESULT STDMETHODCALLTYPE IWMDMProgress_Begin_Proxy(
  1526. IWMDMProgress __RPC_FAR * This,
  1527. /* [in] */ DWORD dwEstimatedTicks);
  1528. void __RPC_STUB IWMDMProgress_Begin_Stub(
  1529. IRpcStubBuffer *This,
  1530. IRpcChannelBuffer *_pRpcChannelBuffer,
  1531. PRPC_MESSAGE _pRpcMessage,
  1532. DWORD *_pdwStubPhase);
  1533. HRESULT STDMETHODCALLTYPE IWMDMProgress_Progress_Proxy(
  1534. IWMDMProgress __RPC_FAR * This,
  1535. /* [in] */ DWORD dwTranspiredTicks);
  1536. void __RPC_STUB IWMDMProgress_Progress_Stub(
  1537. IRpcStubBuffer *This,
  1538. IRpcChannelBuffer *_pRpcChannelBuffer,
  1539. PRPC_MESSAGE _pRpcMessage,
  1540. DWORD *_pdwStubPhase);
  1541. HRESULT STDMETHODCALLTYPE IWMDMProgress_End_Proxy(
  1542. IWMDMProgress __RPC_FAR * This);
  1543. void __RPC_STUB IWMDMProgress_End_Stub(
  1544. IRpcStubBuffer *This,
  1545. IRpcChannelBuffer *_pRpcChannelBuffer,
  1546. PRPC_MESSAGE _pRpcMessage,
  1547. DWORD *_pdwStubPhase);
  1548. #endif /* __IWMDMProgress_INTERFACE_DEFINED__ */
  1549. #ifndef __IWMDMProgress2_INTERFACE_DEFINED__
  1550. #define __IWMDMProgress2_INTERFACE_DEFINED__
  1551. /* interface IWMDMProgress2 */
  1552. /* [unique][uuid][object] */
  1553. EXTERN_C const IID IID_IWMDMProgress2;
  1554. #if defined(__cplusplus) && !defined(CINTERFACE)
  1555. MIDL_INTERFACE("3A43F550-B383-4e92-B04A-E6BBC660FEFC")
  1556. IWMDMProgress2 : public IWMDMProgress
  1557. {
  1558. public:
  1559. virtual HRESULT STDMETHODCALLTYPE End2(
  1560. /* [in] */ HRESULT hrCompletionCode) = 0;
  1561. };
  1562. #else /* C style interface */
  1563. typedef struct IWMDMProgress2Vtbl
  1564. {
  1565. BEGIN_INTERFACE
  1566. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1567. IWMDMProgress2 __RPC_FAR * This,
  1568. /* [in] */ REFIID riid,
  1569. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1570. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1571. IWMDMProgress2 __RPC_FAR * This);
  1572. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1573. IWMDMProgress2 __RPC_FAR * This);
  1574. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin )(
  1575. IWMDMProgress2 __RPC_FAR * This,
  1576. /* [in] */ DWORD dwEstimatedTicks);
  1577. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Progress )(
  1578. IWMDMProgress2 __RPC_FAR * This,
  1579. /* [in] */ DWORD dwTranspiredTicks);
  1580. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *End )(
  1581. IWMDMProgress2 __RPC_FAR * This);
  1582. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *End2 )(
  1583. IWMDMProgress2 __RPC_FAR * This,
  1584. /* [in] */ HRESULT hrCompletionCode);
  1585. END_INTERFACE
  1586. } IWMDMProgress2Vtbl;
  1587. interface IWMDMProgress2
  1588. {
  1589. CONST_VTBL struct IWMDMProgress2Vtbl __RPC_FAR *lpVtbl;
  1590. };
  1591. #ifdef COBJMACROS
  1592. #define IWMDMProgress2_QueryInterface(This,riid,ppvObject) \
  1593. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1594. #define IWMDMProgress2_AddRef(This) \
  1595. (This)->lpVtbl -> AddRef(This)
  1596. #define IWMDMProgress2_Release(This) \
  1597. (This)->lpVtbl -> Release(This)
  1598. #define IWMDMProgress2_Begin(This,dwEstimatedTicks) \
  1599. (This)->lpVtbl -> Begin(This,dwEstimatedTicks)
  1600. #define IWMDMProgress2_Progress(This,dwTranspiredTicks) \
  1601. (This)->lpVtbl -> Progress(This,dwTranspiredTicks)
  1602. #define IWMDMProgress2_End(This) \
  1603. (This)->lpVtbl -> End(This)
  1604. #define IWMDMProgress2_End2(This,hrCompletionCode) \
  1605. (This)->lpVtbl -> End2(This,hrCompletionCode)
  1606. #endif /* COBJMACROS */
  1607. #endif /* C style interface */
  1608. HRESULT STDMETHODCALLTYPE IWMDMProgress2_End2_Proxy(
  1609. IWMDMProgress2 __RPC_FAR * This,
  1610. /* [in] */ HRESULT hrCompletionCode);
  1611. void __RPC_STUB IWMDMProgress2_End2_Stub(
  1612. IRpcStubBuffer *This,
  1613. IRpcChannelBuffer *_pRpcChannelBuffer,
  1614. PRPC_MESSAGE _pRpcMessage,
  1615. DWORD *_pdwStubPhase);
  1616. #endif /* __IWMDMProgress2_INTERFACE_DEFINED__ */
  1617. #ifndef __IWMDMDevice_INTERFACE_DEFINED__
  1618. #define __IWMDMDevice_INTERFACE_DEFINED__
  1619. /* interface IWMDMDevice */
  1620. /* [unique][uuid][object] */
  1621. EXTERN_C const IID IID_IWMDMDevice;
  1622. #if defined(__cplusplus) && !defined(CINTERFACE)
  1623. MIDL_INTERFACE("1DCB3A02-33ED-11d3-8470-00C04F79DBC0")
  1624. IWMDMDevice : public IUnknown
  1625. {
  1626. public:
  1627. virtual HRESULT STDMETHODCALLTYPE GetName(
  1628. /* [size_is][string][out] */ LPWSTR pwszName,
  1629. /* [in] */ UINT nMaxChars) = 0;
  1630. virtual HRESULT STDMETHODCALLTYPE GetManufacturer(
  1631. /* [size_is][string][out] */ LPWSTR pwszName,
  1632. /* [in] */ UINT nMaxChars) = 0;
  1633. virtual HRESULT STDMETHODCALLTYPE GetVersion(
  1634. /* [out] */ DWORD __RPC_FAR *pdwVersion) = 0;
  1635. virtual HRESULT STDMETHODCALLTYPE GetType(
  1636. /* [out] */ DWORD __RPC_FAR *pdwType) = 0;
  1637. virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
  1638. /* [out] */ PWMDMID pSerialNumber,
  1639. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  1640. virtual HRESULT STDMETHODCALLTYPE GetPowerSource(
  1641. /* [out] */ DWORD __RPC_FAR *pdwPowerSource,
  1642. /* [out] */ DWORD __RPC_FAR *pdwPercentRemaining) = 0;
  1643. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  1644. /* [out] */ DWORD __RPC_FAR *pdwStatus) = 0;
  1645. virtual HRESULT STDMETHODCALLTYPE GetDeviceIcon(
  1646. /* [out] */ ULONG __RPC_FAR *hIcon) = 0;
  1647. virtual HRESULT STDMETHODCALLTYPE EnumStorage(
  1648. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage) = 0;
  1649. virtual HRESULT STDMETHODCALLTYPE GetFormatSupport(
  1650. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *ppFormatEx,
  1651. /* [out] */ UINT __RPC_FAR *pnFormatCount,
  1652. /* [size_is][size_is][out] */ LPWSTR __RPC_FAR *__RPC_FAR *pppwszMimeType,
  1653. /* [out] */ UINT __RPC_FAR *pnMimeTypeCount) = 0;
  1654. virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
  1655. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand) = 0;
  1656. };
  1657. #else /* C style interface */
  1658. typedef struct IWMDMDeviceVtbl
  1659. {
  1660. BEGIN_INTERFACE
  1661. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1662. IWMDMDevice __RPC_FAR * This,
  1663. /* [in] */ REFIID riid,
  1664. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1665. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1666. IWMDMDevice __RPC_FAR * This);
  1667. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1668. IWMDMDevice __RPC_FAR * This);
  1669. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )(
  1670. IWMDMDevice __RPC_FAR * This,
  1671. /* [size_is][string][out] */ LPWSTR pwszName,
  1672. /* [in] */ UINT nMaxChars);
  1673. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetManufacturer )(
  1674. IWMDMDevice __RPC_FAR * This,
  1675. /* [size_is][string][out] */ LPWSTR pwszName,
  1676. /* [in] */ UINT nMaxChars);
  1677. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )(
  1678. IWMDMDevice __RPC_FAR * This,
  1679. /* [out] */ DWORD __RPC_FAR *pdwVersion);
  1680. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )(
  1681. IWMDMDevice __RPC_FAR * This,
  1682. /* [out] */ DWORD __RPC_FAR *pdwType);
  1683. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSerialNumber )(
  1684. IWMDMDevice __RPC_FAR * This,
  1685. /* [out] */ PWMDMID pSerialNumber,
  1686. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  1687. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPowerSource )(
  1688. IWMDMDevice __RPC_FAR * This,
  1689. /* [out] */ DWORD __RPC_FAR *pdwPowerSource,
  1690. /* [out] */ DWORD __RPC_FAR *pdwPercentRemaining);
  1691. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )(
  1692. IWMDMDevice __RPC_FAR * This,
  1693. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  1694. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDeviceIcon )(
  1695. IWMDMDevice __RPC_FAR * This,
  1696. /* [out] */ ULONG __RPC_FAR *hIcon);
  1697. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumStorage )(
  1698. IWMDMDevice __RPC_FAR * This,
  1699. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  1700. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormatSupport )(
  1701. IWMDMDevice __RPC_FAR * This,
  1702. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *ppFormatEx,
  1703. /* [out] */ UINT __RPC_FAR *pnFormatCount,
  1704. /* [size_is][size_is][out] */ LPWSTR __RPC_FAR *__RPC_FAR *pppwszMimeType,
  1705. /* [out] */ UINT __RPC_FAR *pnMimeTypeCount);
  1706. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendOpaqueCommand )(
  1707. IWMDMDevice __RPC_FAR * This,
  1708. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  1709. END_INTERFACE
  1710. } IWMDMDeviceVtbl;
  1711. interface IWMDMDevice
  1712. {
  1713. CONST_VTBL struct IWMDMDeviceVtbl __RPC_FAR *lpVtbl;
  1714. };
  1715. #ifdef COBJMACROS
  1716. #define IWMDMDevice_QueryInterface(This,riid,ppvObject) \
  1717. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1718. #define IWMDMDevice_AddRef(This) \
  1719. (This)->lpVtbl -> AddRef(This)
  1720. #define IWMDMDevice_Release(This) \
  1721. (This)->lpVtbl -> Release(This)
  1722. #define IWMDMDevice_GetName(This,pwszName,nMaxChars) \
  1723. (This)->lpVtbl -> GetName(This,pwszName,nMaxChars)
  1724. #define IWMDMDevice_GetManufacturer(This,pwszName,nMaxChars) \
  1725. (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars)
  1726. #define IWMDMDevice_GetVersion(This,pdwVersion) \
  1727. (This)->lpVtbl -> GetVersion(This,pdwVersion)
  1728. #define IWMDMDevice_GetType(This,pdwType) \
  1729. (This)->lpVtbl -> GetType(This,pdwType)
  1730. #define IWMDMDevice_GetSerialNumber(This,pSerialNumber,abMac) \
  1731. (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac)
  1732. #define IWMDMDevice_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
  1733. (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining)
  1734. #define IWMDMDevice_GetStatus(This,pdwStatus) \
  1735. (This)->lpVtbl -> GetStatus(This,pdwStatus)
  1736. #define IWMDMDevice_GetDeviceIcon(This,hIcon) \
  1737. (This)->lpVtbl -> GetDeviceIcon(This,hIcon)
  1738. #define IWMDMDevice_EnumStorage(This,ppEnumStorage) \
  1739. (This)->lpVtbl -> EnumStorage(This,ppEnumStorage)
  1740. #define IWMDMDevice_GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
  1741. (This)->lpVtbl -> GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount)
  1742. #define IWMDMDevice_SendOpaqueCommand(This,pCommand) \
  1743. (This)->lpVtbl -> SendOpaqueCommand(This,pCommand)
  1744. #endif /* COBJMACROS */
  1745. #endif /* C style interface */
  1746. HRESULT STDMETHODCALLTYPE IWMDMDevice_GetName_Proxy(
  1747. IWMDMDevice __RPC_FAR * This,
  1748. /* [size_is][string][out] */ LPWSTR pwszName,
  1749. /* [in] */ UINT nMaxChars);
  1750. void __RPC_STUB IWMDMDevice_GetName_Stub(
  1751. IRpcStubBuffer *This,
  1752. IRpcChannelBuffer *_pRpcChannelBuffer,
  1753. PRPC_MESSAGE _pRpcMessage,
  1754. DWORD *_pdwStubPhase);
  1755. HRESULT STDMETHODCALLTYPE IWMDMDevice_GetManufacturer_Proxy(
  1756. IWMDMDevice __RPC_FAR * This,
  1757. /* [size_is][string][out] */ LPWSTR pwszName,
  1758. /* [in] */ UINT nMaxChars);
  1759. void __RPC_STUB IWMDMDevice_GetManufacturer_Stub(
  1760. IRpcStubBuffer *This,
  1761. IRpcChannelBuffer *_pRpcChannelBuffer,
  1762. PRPC_MESSAGE _pRpcMessage,
  1763. DWORD *_pdwStubPhase);
  1764. HRESULT STDMETHODCALLTYPE IWMDMDevice_GetVersion_Proxy(
  1765. IWMDMDevice __RPC_FAR * This,
  1766. /* [out] */ DWORD __RPC_FAR *pdwVersion);
  1767. void __RPC_STUB IWMDMDevice_GetVersion_Stub(
  1768. IRpcStubBuffer *This,
  1769. IRpcChannelBuffer *_pRpcChannelBuffer,
  1770. PRPC_MESSAGE _pRpcMessage,
  1771. DWORD *_pdwStubPhase);
  1772. HRESULT STDMETHODCALLTYPE IWMDMDevice_GetType_Proxy(
  1773. IWMDMDevice __RPC_FAR * This,
  1774. /* [out] */ DWORD __RPC_FAR *pdwType);
  1775. void __RPC_STUB IWMDMDevice_GetType_Stub(
  1776. IRpcStubBuffer *This,
  1777. IRpcChannelBuffer *_pRpcChannelBuffer,
  1778. PRPC_MESSAGE _pRpcMessage,
  1779. DWORD *_pdwStubPhase);
  1780. HRESULT STDMETHODCALLTYPE IWMDMDevice_GetSerialNumber_Proxy(
  1781. IWMDMDevice __RPC_FAR * This,
  1782. /* [out] */ PWMDMID pSerialNumber,
  1783. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  1784. void __RPC_STUB IWMDMDevice_GetSerialNumber_Stub(
  1785. IRpcStubBuffer *This,
  1786. IRpcChannelBuffer *_pRpcChannelBuffer,
  1787. PRPC_MESSAGE _pRpcMessage,
  1788. DWORD *_pdwStubPhase);
  1789. HRESULT STDMETHODCALLTYPE IWMDMDevice_GetPowerSource_Proxy(
  1790. IWMDMDevice __RPC_FAR * This,
  1791. /* [out] */ DWORD __RPC_FAR *pdwPowerSource,
  1792. /* [out] */ DWORD __RPC_FAR *pdwPercentRemaining);
  1793. void __RPC_STUB IWMDMDevice_GetPowerSource_Stub(
  1794. IRpcStubBuffer *This,
  1795. IRpcChannelBuffer *_pRpcChannelBuffer,
  1796. PRPC_MESSAGE _pRpcMessage,
  1797. DWORD *_pdwStubPhase);
  1798. HRESULT STDMETHODCALLTYPE IWMDMDevice_GetStatus_Proxy(
  1799. IWMDMDevice __RPC_FAR * This,
  1800. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  1801. void __RPC_STUB IWMDMDevice_GetStatus_Stub(
  1802. IRpcStubBuffer *This,
  1803. IRpcChannelBuffer *_pRpcChannelBuffer,
  1804. PRPC_MESSAGE _pRpcMessage,
  1805. DWORD *_pdwStubPhase);
  1806. HRESULT STDMETHODCALLTYPE IWMDMDevice_GetDeviceIcon_Proxy(
  1807. IWMDMDevice __RPC_FAR * This,
  1808. /* [out] */ ULONG __RPC_FAR *hIcon);
  1809. void __RPC_STUB IWMDMDevice_GetDeviceIcon_Stub(
  1810. IRpcStubBuffer *This,
  1811. IRpcChannelBuffer *_pRpcChannelBuffer,
  1812. PRPC_MESSAGE _pRpcMessage,
  1813. DWORD *_pdwStubPhase);
  1814. HRESULT STDMETHODCALLTYPE IWMDMDevice_EnumStorage_Proxy(
  1815. IWMDMDevice __RPC_FAR * This,
  1816. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  1817. void __RPC_STUB IWMDMDevice_EnumStorage_Stub(
  1818. IRpcStubBuffer *This,
  1819. IRpcChannelBuffer *_pRpcChannelBuffer,
  1820. PRPC_MESSAGE _pRpcMessage,
  1821. DWORD *_pdwStubPhase);
  1822. HRESULT STDMETHODCALLTYPE IWMDMDevice_GetFormatSupport_Proxy(
  1823. IWMDMDevice __RPC_FAR * This,
  1824. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *ppFormatEx,
  1825. /* [out] */ UINT __RPC_FAR *pnFormatCount,
  1826. /* [size_is][size_is][out] */ LPWSTR __RPC_FAR *__RPC_FAR *pppwszMimeType,
  1827. /* [out] */ UINT __RPC_FAR *pnMimeTypeCount);
  1828. void __RPC_STUB IWMDMDevice_GetFormatSupport_Stub(
  1829. IRpcStubBuffer *This,
  1830. IRpcChannelBuffer *_pRpcChannelBuffer,
  1831. PRPC_MESSAGE _pRpcMessage,
  1832. DWORD *_pdwStubPhase);
  1833. HRESULT STDMETHODCALLTYPE IWMDMDevice_SendOpaqueCommand_Proxy(
  1834. IWMDMDevice __RPC_FAR * This,
  1835. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  1836. void __RPC_STUB IWMDMDevice_SendOpaqueCommand_Stub(
  1837. IRpcStubBuffer *This,
  1838. IRpcChannelBuffer *_pRpcChannelBuffer,
  1839. PRPC_MESSAGE _pRpcMessage,
  1840. DWORD *_pdwStubPhase);
  1841. #endif /* __IWMDMDevice_INTERFACE_DEFINED__ */
  1842. #ifndef __IWMDMDevice2_INTERFACE_DEFINED__
  1843. #define __IWMDMDevice2_INTERFACE_DEFINED__
  1844. /* interface IWMDMDevice2 */
  1845. /* [unique][uuid][object] */
  1846. EXTERN_C const IID IID_IWMDMDevice2;
  1847. #if defined(__cplusplus) && !defined(CINTERFACE)
  1848. MIDL_INTERFACE("E34F3D37-9D67-4fc1-9252-62D28B2F8B55")
  1849. IWMDMDevice2 : public IWMDMDevice
  1850. {
  1851. public:
  1852. virtual HRESULT STDMETHODCALLTYPE GetStorage(
  1853. /* [string][in] */ LPCWSTR pszStorageName,
  1854. /* [out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppStorage) = 0;
  1855. virtual HRESULT STDMETHODCALLTYPE GetFormatSupport2(
  1856. /* [in] */ DWORD dwFlags,
  1857. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *ppAudioFormatEx,
  1858. /* [ref][out] */ UINT __RPC_FAR *pnAudioFormatCount,
  1859. /* [size_is][size_is][out] */ _VIDEOINFOHEADER __RPC_FAR *__RPC_FAR *ppVideoFormatEx,
  1860. /* [ref][out] */ UINT __RPC_FAR *pnVideoFormatCount,
  1861. /* [size_is][size_is][out] */ WMFILECAPABILITIES __RPC_FAR *__RPC_FAR *ppFileType,
  1862. /* [ref][out] */ UINT __RPC_FAR *pnFileTypeCount) = 0;
  1863. virtual HRESULT STDMETHODCALLTYPE GetSpecifyPropertyPages(
  1864. /* [ref][out] */ ISpecifyPropertyPages __RPC_FAR *__RPC_FAR *ppSpecifyPropPages,
  1865. /* [size_is][size_is][ref][out] */ IUnknown __RPC_FAR *__RPC_FAR *__RPC_FAR *pppUnknowns,
  1866. /* [ref][out] */ ULONG __RPC_FAR *pcUnks) = 0;
  1867. virtual HRESULT STDMETHODCALLTYPE GetPnPName(
  1868. /* [size_is][out] */ LPWSTR pwszPnPName,
  1869. /* [in] */ UINT nMaxChars) = 0;
  1870. };
  1871. #else /* C style interface */
  1872. typedef struct IWMDMDevice2Vtbl
  1873. {
  1874. BEGIN_INTERFACE
  1875. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1876. IWMDMDevice2 __RPC_FAR * This,
  1877. /* [in] */ REFIID riid,
  1878. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1879. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1880. IWMDMDevice2 __RPC_FAR * This);
  1881. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1882. IWMDMDevice2 __RPC_FAR * This);
  1883. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )(
  1884. IWMDMDevice2 __RPC_FAR * This,
  1885. /* [size_is][string][out] */ LPWSTR pwszName,
  1886. /* [in] */ UINT nMaxChars);
  1887. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetManufacturer )(
  1888. IWMDMDevice2 __RPC_FAR * This,
  1889. /* [size_is][string][out] */ LPWSTR pwszName,
  1890. /* [in] */ UINT nMaxChars);
  1891. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )(
  1892. IWMDMDevice2 __RPC_FAR * This,
  1893. /* [out] */ DWORD __RPC_FAR *pdwVersion);
  1894. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )(
  1895. IWMDMDevice2 __RPC_FAR * This,
  1896. /* [out] */ DWORD __RPC_FAR *pdwType);
  1897. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSerialNumber )(
  1898. IWMDMDevice2 __RPC_FAR * This,
  1899. /* [out] */ PWMDMID pSerialNumber,
  1900. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  1901. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPowerSource )(
  1902. IWMDMDevice2 __RPC_FAR * This,
  1903. /* [out] */ DWORD __RPC_FAR *pdwPowerSource,
  1904. /* [out] */ DWORD __RPC_FAR *pdwPercentRemaining);
  1905. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )(
  1906. IWMDMDevice2 __RPC_FAR * This,
  1907. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  1908. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDeviceIcon )(
  1909. IWMDMDevice2 __RPC_FAR * This,
  1910. /* [out] */ ULONG __RPC_FAR *hIcon);
  1911. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumStorage )(
  1912. IWMDMDevice2 __RPC_FAR * This,
  1913. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  1914. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormatSupport )(
  1915. IWMDMDevice2 __RPC_FAR * This,
  1916. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *ppFormatEx,
  1917. /* [out] */ UINT __RPC_FAR *pnFormatCount,
  1918. /* [size_is][size_is][out] */ LPWSTR __RPC_FAR *__RPC_FAR *pppwszMimeType,
  1919. /* [out] */ UINT __RPC_FAR *pnMimeTypeCount);
  1920. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendOpaqueCommand )(
  1921. IWMDMDevice2 __RPC_FAR * This,
  1922. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  1923. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStorage )(
  1924. IWMDMDevice2 __RPC_FAR * This,
  1925. /* [string][in] */ LPCWSTR pszStorageName,
  1926. /* [out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppStorage);
  1927. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormatSupport2 )(
  1928. IWMDMDevice2 __RPC_FAR * This,
  1929. /* [in] */ DWORD dwFlags,
  1930. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *ppAudioFormatEx,
  1931. /* [ref][out] */ UINT __RPC_FAR *pnAudioFormatCount,
  1932. /* [size_is][size_is][out] */ _VIDEOINFOHEADER __RPC_FAR *__RPC_FAR *ppVideoFormatEx,
  1933. /* [ref][out] */ UINT __RPC_FAR *pnVideoFormatCount,
  1934. /* [size_is][size_is][out] */ WMFILECAPABILITIES __RPC_FAR *__RPC_FAR *ppFileType,
  1935. /* [ref][out] */ UINT __RPC_FAR *pnFileTypeCount);
  1936. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecifyPropertyPages )(
  1937. IWMDMDevice2 __RPC_FAR * This,
  1938. /* [ref][out] */ ISpecifyPropertyPages __RPC_FAR *__RPC_FAR *ppSpecifyPropPages,
  1939. /* [size_is][size_is][ref][out] */ IUnknown __RPC_FAR *__RPC_FAR *__RPC_FAR *pppUnknowns,
  1940. /* [ref][out] */ ULONG __RPC_FAR *pcUnks);
  1941. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPnPName )(
  1942. IWMDMDevice2 __RPC_FAR * This,
  1943. /* [size_is][out] */ LPWSTR pwszPnPName,
  1944. /* [in] */ UINT nMaxChars);
  1945. END_INTERFACE
  1946. } IWMDMDevice2Vtbl;
  1947. interface IWMDMDevice2
  1948. {
  1949. CONST_VTBL struct IWMDMDevice2Vtbl __RPC_FAR *lpVtbl;
  1950. };
  1951. #ifdef COBJMACROS
  1952. #define IWMDMDevice2_QueryInterface(This,riid,ppvObject) \
  1953. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1954. #define IWMDMDevice2_AddRef(This) \
  1955. (This)->lpVtbl -> AddRef(This)
  1956. #define IWMDMDevice2_Release(This) \
  1957. (This)->lpVtbl -> Release(This)
  1958. #define IWMDMDevice2_GetName(This,pwszName,nMaxChars) \
  1959. (This)->lpVtbl -> GetName(This,pwszName,nMaxChars)
  1960. #define IWMDMDevice2_GetManufacturer(This,pwszName,nMaxChars) \
  1961. (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars)
  1962. #define IWMDMDevice2_GetVersion(This,pdwVersion) \
  1963. (This)->lpVtbl -> GetVersion(This,pdwVersion)
  1964. #define IWMDMDevice2_GetType(This,pdwType) \
  1965. (This)->lpVtbl -> GetType(This,pdwType)
  1966. #define IWMDMDevice2_GetSerialNumber(This,pSerialNumber,abMac) \
  1967. (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac)
  1968. #define IWMDMDevice2_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
  1969. (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining)
  1970. #define IWMDMDevice2_GetStatus(This,pdwStatus) \
  1971. (This)->lpVtbl -> GetStatus(This,pdwStatus)
  1972. #define IWMDMDevice2_GetDeviceIcon(This,hIcon) \
  1973. (This)->lpVtbl -> GetDeviceIcon(This,hIcon)
  1974. #define IWMDMDevice2_EnumStorage(This,ppEnumStorage) \
  1975. (This)->lpVtbl -> EnumStorage(This,ppEnumStorage)
  1976. #define IWMDMDevice2_GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
  1977. (This)->lpVtbl -> GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount)
  1978. #define IWMDMDevice2_SendOpaqueCommand(This,pCommand) \
  1979. (This)->lpVtbl -> SendOpaqueCommand(This,pCommand)
  1980. #define IWMDMDevice2_GetStorage(This,pszStorageName,ppStorage) \
  1981. (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage)
  1982. #define IWMDMDevice2_GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) \
  1983. (This)->lpVtbl -> GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount)
  1984. #define IWMDMDevice2_GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) \
  1985. (This)->lpVtbl -> GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks)
  1986. #define IWMDMDevice2_GetPnPName(This,pwszPnPName,nMaxChars) \
  1987. (This)->lpVtbl -> GetPnPName(This,pwszPnPName,nMaxChars)
  1988. #endif /* COBJMACROS */
  1989. #endif /* C style interface */
  1990. HRESULT STDMETHODCALLTYPE IWMDMDevice2_GetStorage_Proxy(
  1991. IWMDMDevice2 __RPC_FAR * This,
  1992. /* [string][in] */ LPCWSTR pszStorageName,
  1993. /* [out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppStorage);
  1994. void __RPC_STUB IWMDMDevice2_GetStorage_Stub(
  1995. IRpcStubBuffer *This,
  1996. IRpcChannelBuffer *_pRpcChannelBuffer,
  1997. PRPC_MESSAGE _pRpcMessage,
  1998. DWORD *_pdwStubPhase);
  1999. HRESULT STDMETHODCALLTYPE IWMDMDevice2_GetFormatSupport2_Proxy(
  2000. IWMDMDevice2 __RPC_FAR * This,
  2001. /* [in] */ DWORD dwFlags,
  2002. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *ppAudioFormatEx,
  2003. /* [ref][out] */ UINT __RPC_FAR *pnAudioFormatCount,
  2004. /* [size_is][size_is][out] */ _VIDEOINFOHEADER __RPC_FAR *__RPC_FAR *ppVideoFormatEx,
  2005. /* [ref][out] */ UINT __RPC_FAR *pnVideoFormatCount,
  2006. /* [size_is][size_is][out] */ WMFILECAPABILITIES __RPC_FAR *__RPC_FAR *ppFileType,
  2007. /* [ref][out] */ UINT __RPC_FAR *pnFileTypeCount);
  2008. void __RPC_STUB IWMDMDevice2_GetFormatSupport2_Stub(
  2009. IRpcStubBuffer *This,
  2010. IRpcChannelBuffer *_pRpcChannelBuffer,
  2011. PRPC_MESSAGE _pRpcMessage,
  2012. DWORD *_pdwStubPhase);
  2013. HRESULT STDMETHODCALLTYPE IWMDMDevice2_GetSpecifyPropertyPages_Proxy(
  2014. IWMDMDevice2 __RPC_FAR * This,
  2015. /* [ref][out] */ ISpecifyPropertyPages __RPC_FAR *__RPC_FAR *ppSpecifyPropPages,
  2016. /* [size_is][size_is][ref][out] */ IUnknown __RPC_FAR *__RPC_FAR *__RPC_FAR *pppUnknowns,
  2017. /* [ref][out] */ ULONG __RPC_FAR *pcUnks);
  2018. void __RPC_STUB IWMDMDevice2_GetSpecifyPropertyPages_Stub(
  2019. IRpcStubBuffer *This,
  2020. IRpcChannelBuffer *_pRpcChannelBuffer,
  2021. PRPC_MESSAGE _pRpcMessage,
  2022. DWORD *_pdwStubPhase);
  2023. HRESULT STDMETHODCALLTYPE IWMDMDevice2_GetPnPName_Proxy(
  2024. IWMDMDevice2 __RPC_FAR * This,
  2025. /* [size_is][out] */ LPWSTR pwszPnPName,
  2026. /* [in] */ UINT nMaxChars);
  2027. void __RPC_STUB IWMDMDevice2_GetPnPName_Stub(
  2028. IRpcStubBuffer *This,
  2029. IRpcChannelBuffer *_pRpcChannelBuffer,
  2030. PRPC_MESSAGE _pRpcMessage,
  2031. DWORD *_pdwStubPhase);
  2032. #endif /* __IWMDMDevice2_INTERFACE_DEFINED__ */
  2033. #ifndef __IWMDMEnumDevice_INTERFACE_DEFINED__
  2034. #define __IWMDMEnumDevice_INTERFACE_DEFINED__
  2035. /* interface IWMDMEnumDevice */
  2036. /* [unique][uuid][object] */
  2037. EXTERN_C const IID IID_IWMDMEnumDevice;
  2038. #if defined(__cplusplus) && !defined(CINTERFACE)
  2039. MIDL_INTERFACE("1DCB3A01-33ED-11d3-8470-00C04F79DBC0")
  2040. IWMDMEnumDevice : public IUnknown
  2041. {
  2042. public:
  2043. virtual HRESULT STDMETHODCALLTYPE Next(
  2044. /* [in] */ ULONG celt,
  2045. /* [length_is][size_is][out] */ IWMDMDevice __RPC_FAR *__RPC_FAR *ppDevice,
  2046. /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  2047. virtual HRESULT STDMETHODCALLTYPE Skip(
  2048. /* [in] */ ULONG celt,
  2049. /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  2050. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2051. virtual HRESULT STDMETHODCALLTYPE Clone(
  2052. /* [out] */ IWMDMEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice) = 0;
  2053. };
  2054. #else /* C style interface */
  2055. typedef struct IWMDMEnumDeviceVtbl
  2056. {
  2057. BEGIN_INTERFACE
  2058. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2059. IWMDMEnumDevice __RPC_FAR * This,
  2060. /* [in] */ REFIID riid,
  2061. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2062. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2063. IWMDMEnumDevice __RPC_FAR * This);
  2064. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2065. IWMDMEnumDevice __RPC_FAR * This);
  2066. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  2067. IWMDMEnumDevice __RPC_FAR * This,
  2068. /* [in] */ ULONG celt,
  2069. /* [length_is][size_is][out] */ IWMDMDevice __RPC_FAR *__RPC_FAR *ppDevice,
  2070. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2071. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  2072. IWMDMEnumDevice __RPC_FAR * This,
  2073. /* [in] */ ULONG celt,
  2074. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2075. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  2076. IWMDMEnumDevice __RPC_FAR * This);
  2077. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  2078. IWMDMEnumDevice __RPC_FAR * This,
  2079. /* [out] */ IWMDMEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice);
  2080. END_INTERFACE
  2081. } IWMDMEnumDeviceVtbl;
  2082. interface IWMDMEnumDevice
  2083. {
  2084. CONST_VTBL struct IWMDMEnumDeviceVtbl __RPC_FAR *lpVtbl;
  2085. };
  2086. #ifdef COBJMACROS
  2087. #define IWMDMEnumDevice_QueryInterface(This,riid,ppvObject) \
  2088. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2089. #define IWMDMEnumDevice_AddRef(This) \
  2090. (This)->lpVtbl -> AddRef(This)
  2091. #define IWMDMEnumDevice_Release(This) \
  2092. (This)->lpVtbl -> Release(This)
  2093. #define IWMDMEnumDevice_Next(This,celt,ppDevice,pceltFetched) \
  2094. (This)->lpVtbl -> Next(This,celt,ppDevice,pceltFetched)
  2095. #define IWMDMEnumDevice_Skip(This,celt,pceltFetched) \
  2096. (This)->lpVtbl -> Skip(This,celt,pceltFetched)
  2097. #define IWMDMEnumDevice_Reset(This) \
  2098. (This)->lpVtbl -> Reset(This)
  2099. #define IWMDMEnumDevice_Clone(This,ppEnumDevice) \
  2100. (This)->lpVtbl -> Clone(This,ppEnumDevice)
  2101. #endif /* COBJMACROS */
  2102. #endif /* C style interface */
  2103. HRESULT STDMETHODCALLTYPE IWMDMEnumDevice_Next_Proxy(
  2104. IWMDMEnumDevice __RPC_FAR * This,
  2105. /* [in] */ ULONG celt,
  2106. /* [length_is][size_is][out] */ IWMDMDevice __RPC_FAR *__RPC_FAR *ppDevice,
  2107. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2108. void __RPC_STUB IWMDMEnumDevice_Next_Stub(
  2109. IRpcStubBuffer *This,
  2110. IRpcChannelBuffer *_pRpcChannelBuffer,
  2111. PRPC_MESSAGE _pRpcMessage,
  2112. DWORD *_pdwStubPhase);
  2113. HRESULT STDMETHODCALLTYPE IWMDMEnumDevice_Skip_Proxy(
  2114. IWMDMEnumDevice __RPC_FAR * This,
  2115. /* [in] */ ULONG celt,
  2116. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2117. void __RPC_STUB IWMDMEnumDevice_Skip_Stub(
  2118. IRpcStubBuffer *This,
  2119. IRpcChannelBuffer *_pRpcChannelBuffer,
  2120. PRPC_MESSAGE _pRpcMessage,
  2121. DWORD *_pdwStubPhase);
  2122. HRESULT STDMETHODCALLTYPE IWMDMEnumDevice_Reset_Proxy(
  2123. IWMDMEnumDevice __RPC_FAR * This);
  2124. void __RPC_STUB IWMDMEnumDevice_Reset_Stub(
  2125. IRpcStubBuffer *This,
  2126. IRpcChannelBuffer *_pRpcChannelBuffer,
  2127. PRPC_MESSAGE _pRpcMessage,
  2128. DWORD *_pdwStubPhase);
  2129. HRESULT STDMETHODCALLTYPE IWMDMEnumDevice_Clone_Proxy(
  2130. IWMDMEnumDevice __RPC_FAR * This,
  2131. /* [out] */ IWMDMEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice);
  2132. void __RPC_STUB IWMDMEnumDevice_Clone_Stub(
  2133. IRpcStubBuffer *This,
  2134. IRpcChannelBuffer *_pRpcChannelBuffer,
  2135. PRPC_MESSAGE _pRpcMessage,
  2136. DWORD *_pdwStubPhase);
  2137. #endif /* __IWMDMEnumDevice_INTERFACE_DEFINED__ */
  2138. #ifndef __IWMDMDeviceControl_INTERFACE_DEFINED__
  2139. #define __IWMDMDeviceControl_INTERFACE_DEFINED__
  2140. /* interface IWMDMDeviceControl */
  2141. /* [unique][uuid][object] */
  2142. EXTERN_C const IID IID_IWMDMDeviceControl;
  2143. #if defined(__cplusplus) && !defined(CINTERFACE)
  2144. MIDL_INTERFACE("1DCB3A04-33ED-11d3-8470-00C04F79DBC0")
  2145. IWMDMDeviceControl : public IUnknown
  2146. {
  2147. public:
  2148. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  2149. /* [out] */ DWORD __RPC_FAR *pdwStatus) = 0;
  2150. virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
  2151. /* [out] */ DWORD __RPC_FAR *pdwCapabilitiesMask) = 0;
  2152. virtual HRESULT STDMETHODCALLTYPE Play( void) = 0;
  2153. virtual HRESULT STDMETHODCALLTYPE Record(
  2154. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat) = 0;
  2155. virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  2156. virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  2157. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  2158. virtual HRESULT STDMETHODCALLTYPE Seek(
  2159. /* [in] */ UINT fuMode,
  2160. /* [in] */ int nOffset) = 0;
  2161. };
  2162. #else /* C style interface */
  2163. typedef struct IWMDMDeviceControlVtbl
  2164. {
  2165. BEGIN_INTERFACE
  2166. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2167. IWMDMDeviceControl __RPC_FAR * This,
  2168. /* [in] */ REFIID riid,
  2169. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2170. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2171. IWMDMDeviceControl __RPC_FAR * This);
  2172. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2173. IWMDMDeviceControl __RPC_FAR * This);
  2174. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )(
  2175. IWMDMDeviceControl __RPC_FAR * This,
  2176. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  2177. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCapabilities )(
  2178. IWMDMDeviceControl __RPC_FAR * This,
  2179. /* [out] */ DWORD __RPC_FAR *pdwCapabilitiesMask);
  2180. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Play )(
  2181. IWMDMDeviceControl __RPC_FAR * This);
  2182. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Record )(
  2183. IWMDMDeviceControl __RPC_FAR * This,
  2184. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  2185. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )(
  2186. IWMDMDeviceControl __RPC_FAR * This);
  2187. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resume )(
  2188. IWMDMDeviceControl __RPC_FAR * This);
  2189. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )(
  2190. IWMDMDeviceControl __RPC_FAR * This);
  2191. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )(
  2192. IWMDMDeviceControl __RPC_FAR * This,
  2193. /* [in] */ UINT fuMode,
  2194. /* [in] */ int nOffset);
  2195. END_INTERFACE
  2196. } IWMDMDeviceControlVtbl;
  2197. interface IWMDMDeviceControl
  2198. {
  2199. CONST_VTBL struct IWMDMDeviceControlVtbl __RPC_FAR *lpVtbl;
  2200. };
  2201. #ifdef COBJMACROS
  2202. #define IWMDMDeviceControl_QueryInterface(This,riid,ppvObject) \
  2203. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2204. #define IWMDMDeviceControl_AddRef(This) \
  2205. (This)->lpVtbl -> AddRef(This)
  2206. #define IWMDMDeviceControl_Release(This) \
  2207. (This)->lpVtbl -> Release(This)
  2208. #define IWMDMDeviceControl_GetStatus(This,pdwStatus) \
  2209. (This)->lpVtbl -> GetStatus(This,pdwStatus)
  2210. #define IWMDMDeviceControl_GetCapabilities(This,pdwCapabilitiesMask) \
  2211. (This)->lpVtbl -> GetCapabilities(This,pdwCapabilitiesMask)
  2212. #define IWMDMDeviceControl_Play(This) \
  2213. (This)->lpVtbl -> Play(This)
  2214. #define IWMDMDeviceControl_Record(This,pFormat) \
  2215. (This)->lpVtbl -> Record(This,pFormat)
  2216. #define IWMDMDeviceControl_Pause(This) \
  2217. (This)->lpVtbl -> Pause(This)
  2218. #define IWMDMDeviceControl_Resume(This) \
  2219. (This)->lpVtbl -> Resume(This)
  2220. #define IWMDMDeviceControl_Stop(This) \
  2221. (This)->lpVtbl -> Stop(This)
  2222. #define IWMDMDeviceControl_Seek(This,fuMode,nOffset) \
  2223. (This)->lpVtbl -> Seek(This,fuMode,nOffset)
  2224. #endif /* COBJMACROS */
  2225. #endif /* C style interface */
  2226. HRESULT STDMETHODCALLTYPE IWMDMDeviceControl_GetStatus_Proxy(
  2227. IWMDMDeviceControl __RPC_FAR * This,
  2228. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  2229. void __RPC_STUB IWMDMDeviceControl_GetStatus_Stub(
  2230. IRpcStubBuffer *This,
  2231. IRpcChannelBuffer *_pRpcChannelBuffer,
  2232. PRPC_MESSAGE _pRpcMessage,
  2233. DWORD *_pdwStubPhase);
  2234. HRESULT STDMETHODCALLTYPE IWMDMDeviceControl_GetCapabilities_Proxy(
  2235. IWMDMDeviceControl __RPC_FAR * This,
  2236. /* [out] */ DWORD __RPC_FAR *pdwCapabilitiesMask);
  2237. void __RPC_STUB IWMDMDeviceControl_GetCapabilities_Stub(
  2238. IRpcStubBuffer *This,
  2239. IRpcChannelBuffer *_pRpcChannelBuffer,
  2240. PRPC_MESSAGE _pRpcMessage,
  2241. DWORD *_pdwStubPhase);
  2242. HRESULT STDMETHODCALLTYPE IWMDMDeviceControl_Play_Proxy(
  2243. IWMDMDeviceControl __RPC_FAR * This);
  2244. void __RPC_STUB IWMDMDeviceControl_Play_Stub(
  2245. IRpcStubBuffer *This,
  2246. IRpcChannelBuffer *_pRpcChannelBuffer,
  2247. PRPC_MESSAGE _pRpcMessage,
  2248. DWORD *_pdwStubPhase);
  2249. HRESULT STDMETHODCALLTYPE IWMDMDeviceControl_Record_Proxy(
  2250. IWMDMDeviceControl __RPC_FAR * This,
  2251. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  2252. void __RPC_STUB IWMDMDeviceControl_Record_Stub(
  2253. IRpcStubBuffer *This,
  2254. IRpcChannelBuffer *_pRpcChannelBuffer,
  2255. PRPC_MESSAGE _pRpcMessage,
  2256. DWORD *_pdwStubPhase);
  2257. HRESULT STDMETHODCALLTYPE IWMDMDeviceControl_Pause_Proxy(
  2258. IWMDMDeviceControl __RPC_FAR * This);
  2259. void __RPC_STUB IWMDMDeviceControl_Pause_Stub(
  2260. IRpcStubBuffer *This,
  2261. IRpcChannelBuffer *_pRpcChannelBuffer,
  2262. PRPC_MESSAGE _pRpcMessage,
  2263. DWORD *_pdwStubPhase);
  2264. HRESULT STDMETHODCALLTYPE IWMDMDeviceControl_Resume_Proxy(
  2265. IWMDMDeviceControl __RPC_FAR * This);
  2266. void __RPC_STUB IWMDMDeviceControl_Resume_Stub(
  2267. IRpcStubBuffer *This,
  2268. IRpcChannelBuffer *_pRpcChannelBuffer,
  2269. PRPC_MESSAGE _pRpcMessage,
  2270. DWORD *_pdwStubPhase);
  2271. HRESULT STDMETHODCALLTYPE IWMDMDeviceControl_Stop_Proxy(
  2272. IWMDMDeviceControl __RPC_FAR * This);
  2273. void __RPC_STUB IWMDMDeviceControl_Stop_Stub(
  2274. IRpcStubBuffer *This,
  2275. IRpcChannelBuffer *_pRpcChannelBuffer,
  2276. PRPC_MESSAGE _pRpcMessage,
  2277. DWORD *_pdwStubPhase);
  2278. HRESULT STDMETHODCALLTYPE IWMDMDeviceControl_Seek_Proxy(
  2279. IWMDMDeviceControl __RPC_FAR * This,
  2280. /* [in] */ UINT fuMode,
  2281. /* [in] */ int nOffset);
  2282. void __RPC_STUB IWMDMDeviceControl_Seek_Stub(
  2283. IRpcStubBuffer *This,
  2284. IRpcChannelBuffer *_pRpcChannelBuffer,
  2285. PRPC_MESSAGE _pRpcMessage,
  2286. DWORD *_pdwStubPhase);
  2287. #endif /* __IWMDMDeviceControl_INTERFACE_DEFINED__ */
  2288. #ifndef __IWMDMEnumStorage_INTERFACE_DEFINED__
  2289. #define __IWMDMEnumStorage_INTERFACE_DEFINED__
  2290. /* interface IWMDMEnumStorage */
  2291. /* [unique][uuid][object] */
  2292. EXTERN_C const IID IID_IWMDMEnumStorage;
  2293. #if defined(__cplusplus) && !defined(CINTERFACE)
  2294. MIDL_INTERFACE("1DCB3A05-33ED-11d3-8470-00C04F79DBC0")
  2295. IWMDMEnumStorage : public IUnknown
  2296. {
  2297. public:
  2298. virtual HRESULT STDMETHODCALLTYPE Next(
  2299. /* [in] */ ULONG celt,
  2300. /* [length_is][size_is][out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppStorage,
  2301. /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  2302. virtual HRESULT STDMETHODCALLTYPE Skip(
  2303. /* [in] */ ULONG celt,
  2304. /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  2305. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2306. virtual HRESULT STDMETHODCALLTYPE Clone(
  2307. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage) = 0;
  2308. };
  2309. #else /* C style interface */
  2310. typedef struct IWMDMEnumStorageVtbl
  2311. {
  2312. BEGIN_INTERFACE
  2313. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2314. IWMDMEnumStorage __RPC_FAR * This,
  2315. /* [in] */ REFIID riid,
  2316. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2317. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2318. IWMDMEnumStorage __RPC_FAR * This);
  2319. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2320. IWMDMEnumStorage __RPC_FAR * This);
  2321. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  2322. IWMDMEnumStorage __RPC_FAR * This,
  2323. /* [in] */ ULONG celt,
  2324. /* [length_is][size_is][out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppStorage,
  2325. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2326. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  2327. IWMDMEnumStorage __RPC_FAR * This,
  2328. /* [in] */ ULONG celt,
  2329. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2330. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  2331. IWMDMEnumStorage __RPC_FAR * This);
  2332. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  2333. IWMDMEnumStorage __RPC_FAR * This,
  2334. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  2335. END_INTERFACE
  2336. } IWMDMEnumStorageVtbl;
  2337. interface IWMDMEnumStorage
  2338. {
  2339. CONST_VTBL struct IWMDMEnumStorageVtbl __RPC_FAR *lpVtbl;
  2340. };
  2341. #ifdef COBJMACROS
  2342. #define IWMDMEnumStorage_QueryInterface(This,riid,ppvObject) \
  2343. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2344. #define IWMDMEnumStorage_AddRef(This) \
  2345. (This)->lpVtbl -> AddRef(This)
  2346. #define IWMDMEnumStorage_Release(This) \
  2347. (This)->lpVtbl -> Release(This)
  2348. #define IWMDMEnumStorage_Next(This,celt,ppStorage,pceltFetched) \
  2349. (This)->lpVtbl -> Next(This,celt,ppStorage,pceltFetched)
  2350. #define IWMDMEnumStorage_Skip(This,celt,pceltFetched) \
  2351. (This)->lpVtbl -> Skip(This,celt,pceltFetched)
  2352. #define IWMDMEnumStorage_Reset(This) \
  2353. (This)->lpVtbl -> Reset(This)
  2354. #define IWMDMEnumStorage_Clone(This,ppEnumStorage) \
  2355. (This)->lpVtbl -> Clone(This,ppEnumStorage)
  2356. #endif /* COBJMACROS */
  2357. #endif /* C style interface */
  2358. HRESULT STDMETHODCALLTYPE IWMDMEnumStorage_Next_Proxy(
  2359. IWMDMEnumStorage __RPC_FAR * This,
  2360. /* [in] */ ULONG celt,
  2361. /* [length_is][size_is][out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppStorage,
  2362. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2363. void __RPC_STUB IWMDMEnumStorage_Next_Stub(
  2364. IRpcStubBuffer *This,
  2365. IRpcChannelBuffer *_pRpcChannelBuffer,
  2366. PRPC_MESSAGE _pRpcMessage,
  2367. DWORD *_pdwStubPhase);
  2368. HRESULT STDMETHODCALLTYPE IWMDMEnumStorage_Skip_Proxy(
  2369. IWMDMEnumStorage __RPC_FAR * This,
  2370. /* [in] */ ULONG celt,
  2371. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2372. void __RPC_STUB IWMDMEnumStorage_Skip_Stub(
  2373. IRpcStubBuffer *This,
  2374. IRpcChannelBuffer *_pRpcChannelBuffer,
  2375. PRPC_MESSAGE _pRpcMessage,
  2376. DWORD *_pdwStubPhase);
  2377. HRESULT STDMETHODCALLTYPE IWMDMEnumStorage_Reset_Proxy(
  2378. IWMDMEnumStorage __RPC_FAR * This);
  2379. void __RPC_STUB IWMDMEnumStorage_Reset_Stub(
  2380. IRpcStubBuffer *This,
  2381. IRpcChannelBuffer *_pRpcChannelBuffer,
  2382. PRPC_MESSAGE _pRpcMessage,
  2383. DWORD *_pdwStubPhase);
  2384. HRESULT STDMETHODCALLTYPE IWMDMEnumStorage_Clone_Proxy(
  2385. IWMDMEnumStorage __RPC_FAR * This,
  2386. /* [out] */ IWMDMEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  2387. void __RPC_STUB IWMDMEnumStorage_Clone_Stub(
  2388. IRpcStubBuffer *This,
  2389. IRpcChannelBuffer *_pRpcChannelBuffer,
  2390. PRPC_MESSAGE _pRpcMessage,
  2391. DWORD *_pdwStubPhase);
  2392. #endif /* __IWMDMEnumStorage_INTERFACE_DEFINED__ */
  2393. #ifndef __IWMDMStorageControl_INTERFACE_DEFINED__
  2394. #define __IWMDMStorageControl_INTERFACE_DEFINED__
  2395. /* interface IWMDMStorageControl */
  2396. /* [unique][uuid][object] */
  2397. EXTERN_C const IID IID_IWMDMStorageControl;
  2398. #if defined(__cplusplus) && !defined(CINTERFACE)
  2399. MIDL_INTERFACE("1DCB3A08-33ED-11d3-8470-00C04F79DBC0")
  2400. IWMDMStorageControl : public IUnknown
  2401. {
  2402. public:
  2403. virtual HRESULT STDMETHODCALLTYPE Insert(
  2404. /* [in] */ UINT fuMode,
  2405. /* [unique][in] */ LPWSTR pwszFile,
  2406. /* [in] */ IWMDMOperation __RPC_FAR *pOperation,
  2407. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2408. /* [out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppNewObject) = 0;
  2409. virtual HRESULT STDMETHODCALLTYPE Delete(
  2410. /* [in] */ UINT fuMode,
  2411. /* [in] */ IWMDMProgress __RPC_FAR *pProgress) = 0;
  2412. virtual HRESULT STDMETHODCALLTYPE Rename(
  2413. /* [in] */ UINT fuMode,
  2414. /* [in] */ LPWSTR pwszNewName,
  2415. /* [in] */ IWMDMProgress __RPC_FAR *pProgress) = 0;
  2416. virtual HRESULT STDMETHODCALLTYPE Read(
  2417. /* [in] */ UINT fuMode,
  2418. /* [unique][in] */ LPWSTR pwszFile,
  2419. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2420. /* [in] */ IWMDMOperation __RPC_FAR *pOperation) = 0;
  2421. virtual HRESULT STDMETHODCALLTYPE Move(
  2422. /* [in] */ UINT fuMode,
  2423. /* [in] */ IWMDMStorage __RPC_FAR *pTargetObject,
  2424. /* [in] */ IWMDMProgress __RPC_FAR *pProgress) = 0;
  2425. };
  2426. #else /* C style interface */
  2427. typedef struct IWMDMStorageControlVtbl
  2428. {
  2429. BEGIN_INTERFACE
  2430. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2431. IWMDMStorageControl __RPC_FAR * This,
  2432. /* [in] */ REFIID riid,
  2433. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2434. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2435. IWMDMStorageControl __RPC_FAR * This);
  2436. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2437. IWMDMStorageControl __RPC_FAR * This);
  2438. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Insert )(
  2439. IWMDMStorageControl __RPC_FAR * This,
  2440. /* [in] */ UINT fuMode,
  2441. /* [unique][in] */ LPWSTR pwszFile,
  2442. /* [in] */ IWMDMOperation __RPC_FAR *pOperation,
  2443. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2444. /* [out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppNewObject);
  2445. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )(
  2446. IWMDMStorageControl __RPC_FAR * This,
  2447. /* [in] */ UINT fuMode,
  2448. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  2449. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rename )(
  2450. IWMDMStorageControl __RPC_FAR * This,
  2451. /* [in] */ UINT fuMode,
  2452. /* [in] */ LPWSTR pwszNewName,
  2453. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  2454. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )(
  2455. IWMDMStorageControl __RPC_FAR * This,
  2456. /* [in] */ UINT fuMode,
  2457. /* [unique][in] */ LPWSTR pwszFile,
  2458. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2459. /* [in] */ IWMDMOperation __RPC_FAR *pOperation);
  2460. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )(
  2461. IWMDMStorageControl __RPC_FAR * This,
  2462. /* [in] */ UINT fuMode,
  2463. /* [in] */ IWMDMStorage __RPC_FAR *pTargetObject,
  2464. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  2465. END_INTERFACE
  2466. } IWMDMStorageControlVtbl;
  2467. interface IWMDMStorageControl
  2468. {
  2469. CONST_VTBL struct IWMDMStorageControlVtbl __RPC_FAR *lpVtbl;
  2470. };
  2471. #ifdef COBJMACROS
  2472. #define IWMDMStorageControl_QueryInterface(This,riid,ppvObject) \
  2473. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2474. #define IWMDMStorageControl_AddRef(This) \
  2475. (This)->lpVtbl -> AddRef(This)
  2476. #define IWMDMStorageControl_Release(This) \
  2477. (This)->lpVtbl -> Release(This)
  2478. #define IWMDMStorageControl_Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) \
  2479. (This)->lpVtbl -> Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject)
  2480. #define IWMDMStorageControl_Delete(This,fuMode,pProgress) \
  2481. (This)->lpVtbl -> Delete(This,fuMode,pProgress)
  2482. #define IWMDMStorageControl_Rename(This,fuMode,pwszNewName,pProgress) \
  2483. (This)->lpVtbl -> Rename(This,fuMode,pwszNewName,pProgress)
  2484. #define IWMDMStorageControl_Read(This,fuMode,pwszFile,pProgress,pOperation) \
  2485. (This)->lpVtbl -> Read(This,fuMode,pwszFile,pProgress,pOperation)
  2486. #define IWMDMStorageControl_Move(This,fuMode,pTargetObject,pProgress) \
  2487. (This)->lpVtbl -> Move(This,fuMode,pTargetObject,pProgress)
  2488. #endif /* COBJMACROS */
  2489. #endif /* C style interface */
  2490. HRESULT STDMETHODCALLTYPE IWMDMStorageControl_Insert_Proxy(
  2491. IWMDMStorageControl __RPC_FAR * This,
  2492. /* [in] */ UINT fuMode,
  2493. /* [unique][in] */ LPWSTR pwszFile,
  2494. /* [in] */ IWMDMOperation __RPC_FAR *pOperation,
  2495. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2496. /* [out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppNewObject);
  2497. void __RPC_STUB IWMDMStorageControl_Insert_Stub(
  2498. IRpcStubBuffer *This,
  2499. IRpcChannelBuffer *_pRpcChannelBuffer,
  2500. PRPC_MESSAGE _pRpcMessage,
  2501. DWORD *_pdwStubPhase);
  2502. HRESULT STDMETHODCALLTYPE IWMDMStorageControl_Delete_Proxy(
  2503. IWMDMStorageControl __RPC_FAR * This,
  2504. /* [in] */ UINT fuMode,
  2505. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  2506. void __RPC_STUB IWMDMStorageControl_Delete_Stub(
  2507. IRpcStubBuffer *This,
  2508. IRpcChannelBuffer *_pRpcChannelBuffer,
  2509. PRPC_MESSAGE _pRpcMessage,
  2510. DWORD *_pdwStubPhase);
  2511. HRESULT STDMETHODCALLTYPE IWMDMStorageControl_Rename_Proxy(
  2512. IWMDMStorageControl __RPC_FAR * This,
  2513. /* [in] */ UINT fuMode,
  2514. /* [in] */ LPWSTR pwszNewName,
  2515. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  2516. void __RPC_STUB IWMDMStorageControl_Rename_Stub(
  2517. IRpcStubBuffer *This,
  2518. IRpcChannelBuffer *_pRpcChannelBuffer,
  2519. PRPC_MESSAGE _pRpcMessage,
  2520. DWORD *_pdwStubPhase);
  2521. HRESULT STDMETHODCALLTYPE IWMDMStorageControl_Read_Proxy(
  2522. IWMDMStorageControl __RPC_FAR * This,
  2523. /* [in] */ UINT fuMode,
  2524. /* [unique][in] */ LPWSTR pwszFile,
  2525. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2526. /* [in] */ IWMDMOperation __RPC_FAR *pOperation);
  2527. void __RPC_STUB IWMDMStorageControl_Read_Stub(
  2528. IRpcStubBuffer *This,
  2529. IRpcChannelBuffer *_pRpcChannelBuffer,
  2530. PRPC_MESSAGE _pRpcMessage,
  2531. DWORD *_pdwStubPhase);
  2532. HRESULT STDMETHODCALLTYPE IWMDMStorageControl_Move_Proxy(
  2533. IWMDMStorageControl __RPC_FAR * This,
  2534. /* [in] */ UINT fuMode,
  2535. /* [in] */ IWMDMStorage __RPC_FAR *pTargetObject,
  2536. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  2537. void __RPC_STUB IWMDMStorageControl_Move_Stub(
  2538. IRpcStubBuffer *This,
  2539. IRpcChannelBuffer *_pRpcChannelBuffer,
  2540. PRPC_MESSAGE _pRpcMessage,
  2541. DWORD *_pdwStubPhase);
  2542. #endif /* __IWMDMStorageControl_INTERFACE_DEFINED__ */
  2543. #ifndef __IWMDMStorageControl2_INTERFACE_DEFINED__
  2544. #define __IWMDMStorageControl2_INTERFACE_DEFINED__
  2545. /* interface IWMDMStorageControl2 */
  2546. /* [unique][uuid][object] */
  2547. EXTERN_C const IID IID_IWMDMStorageControl2;
  2548. #if defined(__cplusplus) && !defined(CINTERFACE)
  2549. MIDL_INTERFACE("972C2E88-BD6C-4125-8E09-84F837E637B6")
  2550. IWMDMStorageControl2 : public IWMDMStorageControl
  2551. {
  2552. public:
  2553. virtual HRESULT STDMETHODCALLTYPE Insert2(
  2554. /* [in] */ UINT fuMode,
  2555. /* [unique][in] */ LPWSTR pwszFileSource,
  2556. /* [unique][in] */ LPWSTR pwszFileDest,
  2557. /* [in] */ IWMDMOperation __RPC_FAR *pOperation,
  2558. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2559. /* [in] */ IUnknown __RPC_FAR *pUnknown,
  2560. /* [unique][out][in] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppNewObject) = 0;
  2561. };
  2562. #else /* C style interface */
  2563. typedef struct IWMDMStorageControl2Vtbl
  2564. {
  2565. BEGIN_INTERFACE
  2566. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2567. IWMDMStorageControl2 __RPC_FAR * This,
  2568. /* [in] */ REFIID riid,
  2569. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2570. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2571. IWMDMStorageControl2 __RPC_FAR * This);
  2572. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2573. IWMDMStorageControl2 __RPC_FAR * This);
  2574. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Insert )(
  2575. IWMDMStorageControl2 __RPC_FAR * This,
  2576. /* [in] */ UINT fuMode,
  2577. /* [unique][in] */ LPWSTR pwszFile,
  2578. /* [in] */ IWMDMOperation __RPC_FAR *pOperation,
  2579. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2580. /* [out] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppNewObject);
  2581. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )(
  2582. IWMDMStorageControl2 __RPC_FAR * This,
  2583. /* [in] */ UINT fuMode,
  2584. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  2585. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rename )(
  2586. IWMDMStorageControl2 __RPC_FAR * This,
  2587. /* [in] */ UINT fuMode,
  2588. /* [in] */ LPWSTR pwszNewName,
  2589. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  2590. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )(
  2591. IWMDMStorageControl2 __RPC_FAR * This,
  2592. /* [in] */ UINT fuMode,
  2593. /* [unique][in] */ LPWSTR pwszFile,
  2594. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2595. /* [in] */ IWMDMOperation __RPC_FAR *pOperation);
  2596. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )(
  2597. IWMDMStorageControl2 __RPC_FAR * This,
  2598. /* [in] */ UINT fuMode,
  2599. /* [in] */ IWMDMStorage __RPC_FAR *pTargetObject,
  2600. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  2601. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Insert2 )(
  2602. IWMDMStorageControl2 __RPC_FAR * This,
  2603. /* [in] */ UINT fuMode,
  2604. /* [unique][in] */ LPWSTR pwszFileSource,
  2605. /* [unique][in] */ LPWSTR pwszFileDest,
  2606. /* [in] */ IWMDMOperation __RPC_FAR *pOperation,
  2607. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2608. /* [in] */ IUnknown __RPC_FAR *pUnknown,
  2609. /* [unique][out][in] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppNewObject);
  2610. END_INTERFACE
  2611. } IWMDMStorageControl2Vtbl;
  2612. interface IWMDMStorageControl2
  2613. {
  2614. CONST_VTBL struct IWMDMStorageControl2Vtbl __RPC_FAR *lpVtbl;
  2615. };
  2616. #ifdef COBJMACROS
  2617. #define IWMDMStorageControl2_QueryInterface(This,riid,ppvObject) \
  2618. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2619. #define IWMDMStorageControl2_AddRef(This) \
  2620. (This)->lpVtbl -> AddRef(This)
  2621. #define IWMDMStorageControl2_Release(This) \
  2622. (This)->lpVtbl -> Release(This)
  2623. #define IWMDMStorageControl2_Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) \
  2624. (This)->lpVtbl -> Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject)
  2625. #define IWMDMStorageControl2_Delete(This,fuMode,pProgress) \
  2626. (This)->lpVtbl -> Delete(This,fuMode,pProgress)
  2627. #define IWMDMStorageControl2_Rename(This,fuMode,pwszNewName,pProgress) \
  2628. (This)->lpVtbl -> Rename(This,fuMode,pwszNewName,pProgress)
  2629. #define IWMDMStorageControl2_Read(This,fuMode,pwszFile,pProgress,pOperation) \
  2630. (This)->lpVtbl -> Read(This,fuMode,pwszFile,pProgress,pOperation)
  2631. #define IWMDMStorageControl2_Move(This,fuMode,pTargetObject,pProgress) \
  2632. (This)->lpVtbl -> Move(This,fuMode,pTargetObject,pProgress)
  2633. #define IWMDMStorageControl2_Insert2(This,fuMode,pwszFileSource,pwszFileDest,pOperation,pProgress,pUnknown,ppNewObject) \
  2634. (This)->lpVtbl -> Insert2(This,fuMode,pwszFileSource,pwszFileDest,pOperation,pProgress,pUnknown,ppNewObject)
  2635. #endif /* COBJMACROS */
  2636. #endif /* C style interface */
  2637. HRESULT STDMETHODCALLTYPE IWMDMStorageControl2_Insert2_Proxy(
  2638. IWMDMStorageControl2 __RPC_FAR * This,
  2639. /* [in] */ UINT fuMode,
  2640. /* [unique][in] */ LPWSTR pwszFileSource,
  2641. /* [unique][in] */ LPWSTR pwszFileDest,
  2642. /* [in] */ IWMDMOperation __RPC_FAR *pOperation,
  2643. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  2644. /* [in] */ IUnknown __RPC_FAR *pUnknown,
  2645. /* [unique][out][in] */ IWMDMStorage __RPC_FAR *__RPC_FAR *ppNewObject);
  2646. void __RPC_STUB IWMDMStorageControl2_Insert2_Stub(
  2647. IRpcStubBuffer *This,
  2648. IRpcChannelBuffer *_pRpcChannelBuffer,
  2649. PRPC_MESSAGE _pRpcMessage,
  2650. DWORD *_pdwStubPhase);
  2651. #endif /* __IWMDMStorageControl2_INTERFACE_DEFINED__ */
  2652. #ifndef __IWMDMObjectInfo_INTERFACE_DEFINED__
  2653. #define __IWMDMObjectInfo_INTERFACE_DEFINED__
  2654. /* interface IWMDMObjectInfo */
  2655. /* [unique][uuid][object] */
  2656. EXTERN_C const IID IID_IWMDMObjectInfo;
  2657. #if defined(__cplusplus) && !defined(CINTERFACE)
  2658. MIDL_INTERFACE("1DCB3A09-33ED-11d3-8470-00C04F79DBC0")
  2659. IWMDMObjectInfo : public IUnknown
  2660. {
  2661. public:
  2662. virtual HRESULT STDMETHODCALLTYPE GetPlayLength(
  2663. /* [out] */ DWORD __RPC_FAR *pdwLength) = 0;
  2664. virtual HRESULT STDMETHODCALLTYPE SetPlayLength(
  2665. /* [in] */ DWORD dwLength) = 0;
  2666. virtual HRESULT STDMETHODCALLTYPE GetPlayOffset(
  2667. /* [out] */ DWORD __RPC_FAR *pdwOffset) = 0;
  2668. virtual HRESULT STDMETHODCALLTYPE SetPlayOffset(
  2669. /* [in] */ DWORD dwOffset) = 0;
  2670. virtual HRESULT STDMETHODCALLTYPE GetTotalLength(
  2671. /* [out] */ DWORD __RPC_FAR *pdwLength) = 0;
  2672. virtual HRESULT STDMETHODCALLTYPE GetLastPlayPosition(
  2673. /* [out] */ DWORD __RPC_FAR *pdwLastPos) = 0;
  2674. virtual HRESULT STDMETHODCALLTYPE GetLongestPlayPosition(
  2675. /* [out] */ DWORD __RPC_FAR *pdwLongestPos) = 0;
  2676. };
  2677. #else /* C style interface */
  2678. typedef struct IWMDMObjectInfoVtbl
  2679. {
  2680. BEGIN_INTERFACE
  2681. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2682. IWMDMObjectInfo __RPC_FAR * This,
  2683. /* [in] */ REFIID riid,
  2684. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2685. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2686. IWMDMObjectInfo __RPC_FAR * This);
  2687. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2688. IWMDMObjectInfo __RPC_FAR * This);
  2689. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPlayLength )(
  2690. IWMDMObjectInfo __RPC_FAR * This,
  2691. /* [out] */ DWORD __RPC_FAR *pdwLength);
  2692. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPlayLength )(
  2693. IWMDMObjectInfo __RPC_FAR * This,
  2694. /* [in] */ DWORD dwLength);
  2695. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPlayOffset )(
  2696. IWMDMObjectInfo __RPC_FAR * This,
  2697. /* [out] */ DWORD __RPC_FAR *pdwOffset);
  2698. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPlayOffset )(
  2699. IWMDMObjectInfo __RPC_FAR * This,
  2700. /* [in] */ DWORD dwOffset);
  2701. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTotalLength )(
  2702. IWMDMObjectInfo __RPC_FAR * This,
  2703. /* [out] */ DWORD __RPC_FAR *pdwLength);
  2704. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLastPlayPosition )(
  2705. IWMDMObjectInfo __RPC_FAR * This,
  2706. /* [out] */ DWORD __RPC_FAR *pdwLastPos);
  2707. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLongestPlayPosition )(
  2708. IWMDMObjectInfo __RPC_FAR * This,
  2709. /* [out] */ DWORD __RPC_FAR *pdwLongestPos);
  2710. END_INTERFACE
  2711. } IWMDMObjectInfoVtbl;
  2712. interface IWMDMObjectInfo
  2713. {
  2714. CONST_VTBL struct IWMDMObjectInfoVtbl __RPC_FAR *lpVtbl;
  2715. };
  2716. #ifdef COBJMACROS
  2717. #define IWMDMObjectInfo_QueryInterface(This,riid,ppvObject) \
  2718. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2719. #define IWMDMObjectInfo_AddRef(This) \
  2720. (This)->lpVtbl -> AddRef(This)
  2721. #define IWMDMObjectInfo_Release(This) \
  2722. (This)->lpVtbl -> Release(This)
  2723. #define IWMDMObjectInfo_GetPlayLength(This,pdwLength) \
  2724. (This)->lpVtbl -> GetPlayLength(This,pdwLength)
  2725. #define IWMDMObjectInfo_SetPlayLength(This,dwLength) \
  2726. (This)->lpVtbl -> SetPlayLength(This,dwLength)
  2727. #define IWMDMObjectInfo_GetPlayOffset(This,pdwOffset) \
  2728. (This)->lpVtbl -> GetPlayOffset(This,pdwOffset)
  2729. #define IWMDMObjectInfo_SetPlayOffset(This,dwOffset) \
  2730. (This)->lpVtbl -> SetPlayOffset(This,dwOffset)
  2731. #define IWMDMObjectInfo_GetTotalLength(This,pdwLength) \
  2732. (This)->lpVtbl -> GetTotalLength(This,pdwLength)
  2733. #define IWMDMObjectInfo_GetLastPlayPosition(This,pdwLastPos) \
  2734. (This)->lpVtbl -> GetLastPlayPosition(This,pdwLastPos)
  2735. #define IWMDMObjectInfo_GetLongestPlayPosition(This,pdwLongestPos) \
  2736. (This)->lpVtbl -> GetLongestPlayPosition(This,pdwLongestPos)
  2737. #endif /* COBJMACROS */
  2738. #endif /* C style interface */
  2739. HRESULT STDMETHODCALLTYPE IWMDMObjectInfo_GetPlayLength_Proxy(
  2740. IWMDMObjectInfo __RPC_FAR * This,
  2741. /* [out] */ DWORD __RPC_FAR *pdwLength);
  2742. void __RPC_STUB IWMDMObjectInfo_GetPlayLength_Stub(
  2743. IRpcStubBuffer *This,
  2744. IRpcChannelBuffer *_pRpcChannelBuffer,
  2745. PRPC_MESSAGE _pRpcMessage,
  2746. DWORD *_pdwStubPhase);
  2747. HRESULT STDMETHODCALLTYPE IWMDMObjectInfo_SetPlayLength_Proxy(
  2748. IWMDMObjectInfo __RPC_FAR * This,
  2749. /* [in] */ DWORD dwLength);
  2750. void __RPC_STUB IWMDMObjectInfo_SetPlayLength_Stub(
  2751. IRpcStubBuffer *This,
  2752. IRpcChannelBuffer *_pRpcChannelBuffer,
  2753. PRPC_MESSAGE _pRpcMessage,
  2754. DWORD *_pdwStubPhase);
  2755. HRESULT STDMETHODCALLTYPE IWMDMObjectInfo_GetPlayOffset_Proxy(
  2756. IWMDMObjectInfo __RPC_FAR * This,
  2757. /* [out] */ DWORD __RPC_FAR *pdwOffset);
  2758. void __RPC_STUB IWMDMObjectInfo_GetPlayOffset_Stub(
  2759. IRpcStubBuffer *This,
  2760. IRpcChannelBuffer *_pRpcChannelBuffer,
  2761. PRPC_MESSAGE _pRpcMessage,
  2762. DWORD *_pdwStubPhase);
  2763. HRESULT STDMETHODCALLTYPE IWMDMObjectInfo_SetPlayOffset_Proxy(
  2764. IWMDMObjectInfo __RPC_FAR * This,
  2765. /* [in] */ DWORD dwOffset);
  2766. void __RPC_STUB IWMDMObjectInfo_SetPlayOffset_Stub(
  2767. IRpcStubBuffer *This,
  2768. IRpcChannelBuffer *_pRpcChannelBuffer,
  2769. PRPC_MESSAGE _pRpcMessage,
  2770. DWORD *_pdwStubPhase);
  2771. HRESULT STDMETHODCALLTYPE IWMDMObjectInfo_GetTotalLength_Proxy(
  2772. IWMDMObjectInfo __RPC_FAR * This,
  2773. /* [out] */ DWORD __RPC_FAR *pdwLength);
  2774. void __RPC_STUB IWMDMObjectInfo_GetTotalLength_Stub(
  2775. IRpcStubBuffer *This,
  2776. IRpcChannelBuffer *_pRpcChannelBuffer,
  2777. PRPC_MESSAGE _pRpcMessage,
  2778. DWORD *_pdwStubPhase);
  2779. HRESULT STDMETHODCALLTYPE IWMDMObjectInfo_GetLastPlayPosition_Proxy(
  2780. IWMDMObjectInfo __RPC_FAR * This,
  2781. /* [out] */ DWORD __RPC_FAR *pdwLastPos);
  2782. void __RPC_STUB IWMDMObjectInfo_GetLastPlayPosition_Stub(
  2783. IRpcStubBuffer *This,
  2784. IRpcChannelBuffer *_pRpcChannelBuffer,
  2785. PRPC_MESSAGE _pRpcMessage,
  2786. DWORD *_pdwStubPhase);
  2787. HRESULT STDMETHODCALLTYPE IWMDMObjectInfo_GetLongestPlayPosition_Proxy(
  2788. IWMDMObjectInfo __RPC_FAR * This,
  2789. /* [out] */ DWORD __RPC_FAR *pdwLongestPos);
  2790. void __RPC_STUB IWMDMObjectInfo_GetLongestPlayPosition_Stub(
  2791. IRpcStubBuffer *This,
  2792. IRpcChannelBuffer *_pRpcChannelBuffer,
  2793. PRPC_MESSAGE _pRpcMessage,
  2794. DWORD *_pdwStubPhase);
  2795. #endif /* __IWMDMObjectInfo_INTERFACE_DEFINED__ */
  2796. #ifndef __IWMDMRevoked_INTERFACE_DEFINED__
  2797. #define __IWMDMRevoked_INTERFACE_DEFINED__
  2798. /* interface IWMDMRevoked */
  2799. /* [ref][uuid][object] */
  2800. EXTERN_C const IID IID_IWMDMRevoked;
  2801. #if defined(__cplusplus) && !defined(CINTERFACE)
  2802. MIDL_INTERFACE("EBECCEDB-88EE-4e55-B6A4-8D9F07D696AA")
  2803. IWMDMRevoked : public IUnknown
  2804. {
  2805. public:
  2806. virtual HRESULT STDMETHODCALLTYPE GetRevocationURL(
  2807. /* [size_is][size_is][string][out][in] */ LPWSTR __RPC_FAR *ppwszRevocationURL,
  2808. /* [out][in] */ DWORD __RPC_FAR *pdwBufferLen,
  2809. /* [out] */ DWORD __RPC_FAR *pdwRevokedBitFlag) = 0;
  2810. };
  2811. #else /* C style interface */
  2812. typedef struct IWMDMRevokedVtbl
  2813. {
  2814. BEGIN_INTERFACE
  2815. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2816. IWMDMRevoked __RPC_FAR * This,
  2817. /* [in] */ REFIID riid,
  2818. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2819. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2820. IWMDMRevoked __RPC_FAR * This);
  2821. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2822. IWMDMRevoked __RPC_FAR * This);
  2823. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRevocationURL )(
  2824. IWMDMRevoked __RPC_FAR * This,
  2825. /* [size_is][size_is][string][out][in] */ LPWSTR __RPC_FAR *ppwszRevocationURL,
  2826. /* [out][in] */ DWORD __RPC_FAR *pdwBufferLen,
  2827. /* [out] */ DWORD __RPC_FAR *pdwRevokedBitFlag);
  2828. END_INTERFACE
  2829. } IWMDMRevokedVtbl;
  2830. interface IWMDMRevoked
  2831. {
  2832. CONST_VTBL struct IWMDMRevokedVtbl __RPC_FAR *lpVtbl;
  2833. };
  2834. #ifdef COBJMACROS
  2835. #define IWMDMRevoked_QueryInterface(This,riid,ppvObject) \
  2836. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2837. #define IWMDMRevoked_AddRef(This) \
  2838. (This)->lpVtbl -> AddRef(This)
  2839. #define IWMDMRevoked_Release(This) \
  2840. (This)->lpVtbl -> Release(This)
  2841. #define IWMDMRevoked_GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen,pdwRevokedBitFlag) \
  2842. (This)->lpVtbl -> GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen,pdwRevokedBitFlag)
  2843. #endif /* COBJMACROS */
  2844. #endif /* C style interface */
  2845. HRESULT STDMETHODCALLTYPE IWMDMRevoked_GetRevocationURL_Proxy(
  2846. IWMDMRevoked __RPC_FAR * This,
  2847. /* [size_is][size_is][string][out][in] */ LPWSTR __RPC_FAR *ppwszRevocationURL,
  2848. /* [out][in] */ DWORD __RPC_FAR *pdwBufferLen,
  2849. /* [out] */ DWORD __RPC_FAR *pdwRevokedBitFlag);
  2850. void __RPC_STUB IWMDMRevoked_GetRevocationURL_Stub(
  2851. IRpcStubBuffer *This,
  2852. IRpcChannelBuffer *_pRpcChannelBuffer,
  2853. PRPC_MESSAGE _pRpcMessage,
  2854. DWORD *_pdwStubPhase);
  2855. #endif /* __IWMDMRevoked_INTERFACE_DEFINED__ */
  2856. /* interface __MIDL_itf_mswmdm_0229 */
  2857. /* [local] */
  2858. // Open Mode Flags
  2859. #define MDSP_READ 0x00000001
  2860. #define MDSP_WRITE 0x00000002
  2861. // Seek Flags
  2862. #define MDSP_SEEK_BOF 0x00000001
  2863. #define MDSP_SEEK_CUR 0x00000002
  2864. #define MDSP_SEEK_EOF 0x00000004
  2865. extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0229_v0_0_c_ifspec;
  2866. extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0229_v0_0_s_ifspec;
  2867. #ifndef __IMDServiceProvider_INTERFACE_DEFINED__
  2868. #define __IMDServiceProvider_INTERFACE_DEFINED__
  2869. /* interface IMDServiceProvider */
  2870. /* [unique][uuid][object] */
  2871. EXTERN_C const IID IID_IMDServiceProvider;
  2872. #if defined(__cplusplus) && !defined(CINTERFACE)
  2873. MIDL_INTERFACE("1DCB3A10-33ED-11d3-8470-00C04F79DBC0")
  2874. IMDServiceProvider : public IUnknown
  2875. {
  2876. public:
  2877. virtual HRESULT STDMETHODCALLTYPE GetDeviceCount(
  2878. /* [out] */ DWORD __RPC_FAR *pdwCount) = 0;
  2879. virtual HRESULT STDMETHODCALLTYPE EnumDevices(
  2880. /* [out] */ IMDSPEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice) = 0;
  2881. };
  2882. #else /* C style interface */
  2883. typedef struct IMDServiceProviderVtbl
  2884. {
  2885. BEGIN_INTERFACE
  2886. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2887. IMDServiceProvider __RPC_FAR * This,
  2888. /* [in] */ REFIID riid,
  2889. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2890. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2891. IMDServiceProvider __RPC_FAR * This);
  2892. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2893. IMDServiceProvider __RPC_FAR * This);
  2894. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDeviceCount )(
  2895. IMDServiceProvider __RPC_FAR * This,
  2896. /* [out] */ DWORD __RPC_FAR *pdwCount);
  2897. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumDevices )(
  2898. IMDServiceProvider __RPC_FAR * This,
  2899. /* [out] */ IMDSPEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice);
  2900. END_INTERFACE
  2901. } IMDServiceProviderVtbl;
  2902. interface IMDServiceProvider
  2903. {
  2904. CONST_VTBL struct IMDServiceProviderVtbl __RPC_FAR *lpVtbl;
  2905. };
  2906. #ifdef COBJMACROS
  2907. #define IMDServiceProvider_QueryInterface(This,riid,ppvObject) \
  2908. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2909. #define IMDServiceProvider_AddRef(This) \
  2910. (This)->lpVtbl -> AddRef(This)
  2911. #define IMDServiceProvider_Release(This) \
  2912. (This)->lpVtbl -> Release(This)
  2913. #define IMDServiceProvider_GetDeviceCount(This,pdwCount) \
  2914. (This)->lpVtbl -> GetDeviceCount(This,pdwCount)
  2915. #define IMDServiceProvider_EnumDevices(This,ppEnumDevice) \
  2916. (This)->lpVtbl -> EnumDevices(This,ppEnumDevice)
  2917. #endif /* COBJMACROS */
  2918. #endif /* C style interface */
  2919. HRESULT STDMETHODCALLTYPE IMDServiceProvider_GetDeviceCount_Proxy(
  2920. IMDServiceProvider __RPC_FAR * This,
  2921. /* [out] */ DWORD __RPC_FAR *pdwCount);
  2922. void __RPC_STUB IMDServiceProvider_GetDeviceCount_Stub(
  2923. IRpcStubBuffer *This,
  2924. IRpcChannelBuffer *_pRpcChannelBuffer,
  2925. PRPC_MESSAGE _pRpcMessage,
  2926. DWORD *_pdwStubPhase);
  2927. HRESULT STDMETHODCALLTYPE IMDServiceProvider_EnumDevices_Proxy(
  2928. IMDServiceProvider __RPC_FAR * This,
  2929. /* [out] */ IMDSPEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice);
  2930. void __RPC_STUB IMDServiceProvider_EnumDevices_Stub(
  2931. IRpcStubBuffer *This,
  2932. IRpcChannelBuffer *_pRpcChannelBuffer,
  2933. PRPC_MESSAGE _pRpcMessage,
  2934. DWORD *_pdwStubPhase);
  2935. #endif /* __IMDServiceProvider_INTERFACE_DEFINED__ */
  2936. #ifndef __IMDServiceProvider2_INTERFACE_DEFINED__
  2937. #define __IMDServiceProvider2_INTERFACE_DEFINED__
  2938. /* interface IMDServiceProvider2 */
  2939. /* [unique][uuid][object] */
  2940. EXTERN_C const IID IID_IMDServiceProvider2;
  2941. #if defined(__cplusplus) && !defined(CINTERFACE)
  2942. MIDL_INTERFACE("B2FA24B7-CDA3-4694-9862-413AE1A34819")
  2943. IMDServiceProvider2 : public IMDServiceProvider
  2944. {
  2945. public:
  2946. virtual HRESULT STDMETHODCALLTYPE GetDeviceFromPnPName(
  2947. /* [string][in] */ LPCWSTR pwszPnPName,
  2948. /* [out] */ IMDSPDevice __RPC_FAR *__RPC_FAR *ppDevice) = 0;
  2949. };
  2950. #else /* C style interface */
  2951. typedef struct IMDServiceProvider2Vtbl
  2952. {
  2953. BEGIN_INTERFACE
  2954. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2955. IMDServiceProvider2 __RPC_FAR * This,
  2956. /* [in] */ REFIID riid,
  2957. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2958. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2959. IMDServiceProvider2 __RPC_FAR * This);
  2960. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2961. IMDServiceProvider2 __RPC_FAR * This);
  2962. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDeviceCount )(
  2963. IMDServiceProvider2 __RPC_FAR * This,
  2964. /* [out] */ DWORD __RPC_FAR *pdwCount);
  2965. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumDevices )(
  2966. IMDServiceProvider2 __RPC_FAR * This,
  2967. /* [out] */ IMDSPEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice);
  2968. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDeviceFromPnPName )(
  2969. IMDServiceProvider2 __RPC_FAR * This,
  2970. /* [string][in] */ LPCWSTR pwszPnPName,
  2971. /* [out] */ IMDSPDevice __RPC_FAR *__RPC_FAR *ppDevice);
  2972. END_INTERFACE
  2973. } IMDServiceProvider2Vtbl;
  2974. interface IMDServiceProvider2
  2975. {
  2976. CONST_VTBL struct IMDServiceProvider2Vtbl __RPC_FAR *lpVtbl;
  2977. };
  2978. #ifdef COBJMACROS
  2979. #define IMDServiceProvider2_QueryInterface(This,riid,ppvObject) \
  2980. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2981. #define IMDServiceProvider2_AddRef(This) \
  2982. (This)->lpVtbl -> AddRef(This)
  2983. #define IMDServiceProvider2_Release(This) \
  2984. (This)->lpVtbl -> Release(This)
  2985. #define IMDServiceProvider2_GetDeviceCount(This,pdwCount) \
  2986. (This)->lpVtbl -> GetDeviceCount(This,pdwCount)
  2987. #define IMDServiceProvider2_EnumDevices(This,ppEnumDevice) \
  2988. (This)->lpVtbl -> EnumDevices(This,ppEnumDevice)
  2989. #define IMDServiceProvider2_GetDeviceFromPnPName(This,pwszPnPName,ppDevice) \
  2990. (This)->lpVtbl -> GetDeviceFromPnPName(This,pwszPnPName,ppDevice)
  2991. #endif /* COBJMACROS */
  2992. #endif /* C style interface */
  2993. HRESULT STDMETHODCALLTYPE IMDServiceProvider2_GetDeviceFromPnPName_Proxy(
  2994. IMDServiceProvider2 __RPC_FAR * This,
  2995. /* [string][in] */ LPCWSTR pwszPnPName,
  2996. /* [out] */ IMDSPDevice __RPC_FAR *__RPC_FAR *ppDevice);
  2997. void __RPC_STUB IMDServiceProvider2_GetDeviceFromPnPName_Stub(
  2998. IRpcStubBuffer *This,
  2999. IRpcChannelBuffer *_pRpcChannelBuffer,
  3000. PRPC_MESSAGE _pRpcMessage,
  3001. DWORD *_pdwStubPhase);
  3002. #endif /* __IMDServiceProvider2_INTERFACE_DEFINED__ */
  3003. #ifndef __IMDSPEnumDevice_INTERFACE_DEFINED__
  3004. #define __IMDSPEnumDevice_INTERFACE_DEFINED__
  3005. /* interface IMDSPEnumDevice */
  3006. /* [unique][uuid][object] */
  3007. EXTERN_C const IID IID_IMDSPEnumDevice;
  3008. #if defined(__cplusplus) && !defined(CINTERFACE)
  3009. MIDL_INTERFACE("1DCB3A11-33ED-11d3-8470-00C04F79DBC0")
  3010. IMDSPEnumDevice : public IUnknown
  3011. {
  3012. public:
  3013. virtual HRESULT STDMETHODCALLTYPE Next(
  3014. /* [in] */ ULONG celt,
  3015. /* [length_is][size_is][out] */ IMDSPDevice __RPC_FAR *__RPC_FAR *ppDevice,
  3016. /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  3017. virtual HRESULT STDMETHODCALLTYPE Skip(
  3018. /* [in] */ ULONG celt,
  3019. /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  3020. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  3021. virtual HRESULT STDMETHODCALLTYPE Clone(
  3022. /* [out] */ IMDSPEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice) = 0;
  3023. };
  3024. #else /* C style interface */
  3025. typedef struct IMDSPEnumDeviceVtbl
  3026. {
  3027. BEGIN_INTERFACE
  3028. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3029. IMDSPEnumDevice __RPC_FAR * This,
  3030. /* [in] */ REFIID riid,
  3031. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3032. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3033. IMDSPEnumDevice __RPC_FAR * This);
  3034. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3035. IMDSPEnumDevice __RPC_FAR * This);
  3036. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  3037. IMDSPEnumDevice __RPC_FAR * This,
  3038. /* [in] */ ULONG celt,
  3039. /* [length_is][size_is][out] */ IMDSPDevice __RPC_FAR *__RPC_FAR *ppDevice,
  3040. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  3041. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  3042. IMDSPEnumDevice __RPC_FAR * This,
  3043. /* [in] */ ULONG celt,
  3044. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  3045. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  3046. IMDSPEnumDevice __RPC_FAR * This);
  3047. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  3048. IMDSPEnumDevice __RPC_FAR * This,
  3049. /* [out] */ IMDSPEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice);
  3050. END_INTERFACE
  3051. } IMDSPEnumDeviceVtbl;
  3052. interface IMDSPEnumDevice
  3053. {
  3054. CONST_VTBL struct IMDSPEnumDeviceVtbl __RPC_FAR *lpVtbl;
  3055. };
  3056. #ifdef COBJMACROS
  3057. #define IMDSPEnumDevice_QueryInterface(This,riid,ppvObject) \
  3058. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3059. #define IMDSPEnumDevice_AddRef(This) \
  3060. (This)->lpVtbl -> AddRef(This)
  3061. #define IMDSPEnumDevice_Release(This) \
  3062. (This)->lpVtbl -> Release(This)
  3063. #define IMDSPEnumDevice_Next(This,celt,ppDevice,pceltFetched) \
  3064. (This)->lpVtbl -> Next(This,celt,ppDevice,pceltFetched)
  3065. #define IMDSPEnumDevice_Skip(This,celt,pceltFetched) \
  3066. (This)->lpVtbl -> Skip(This,celt,pceltFetched)
  3067. #define IMDSPEnumDevice_Reset(This) \
  3068. (This)->lpVtbl -> Reset(This)
  3069. #define IMDSPEnumDevice_Clone(This,ppEnumDevice) \
  3070. (This)->lpVtbl -> Clone(This,ppEnumDevice)
  3071. #endif /* COBJMACROS */
  3072. #endif /* C style interface */
  3073. HRESULT STDMETHODCALLTYPE IMDSPEnumDevice_Next_Proxy(
  3074. IMDSPEnumDevice __RPC_FAR * This,
  3075. /* [in] */ ULONG celt,
  3076. /* [length_is][size_is][out] */ IMDSPDevice __RPC_FAR *__RPC_FAR *ppDevice,
  3077. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  3078. void __RPC_STUB IMDSPEnumDevice_Next_Stub(
  3079. IRpcStubBuffer *This,
  3080. IRpcChannelBuffer *_pRpcChannelBuffer,
  3081. PRPC_MESSAGE _pRpcMessage,
  3082. DWORD *_pdwStubPhase);
  3083. HRESULT STDMETHODCALLTYPE IMDSPEnumDevice_Skip_Proxy(
  3084. IMDSPEnumDevice __RPC_FAR * This,
  3085. /* [in] */ ULONG celt,
  3086. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  3087. void __RPC_STUB IMDSPEnumDevice_Skip_Stub(
  3088. IRpcStubBuffer *This,
  3089. IRpcChannelBuffer *_pRpcChannelBuffer,
  3090. PRPC_MESSAGE _pRpcMessage,
  3091. DWORD *_pdwStubPhase);
  3092. HRESULT STDMETHODCALLTYPE IMDSPEnumDevice_Reset_Proxy(
  3093. IMDSPEnumDevice __RPC_FAR * This);
  3094. void __RPC_STUB IMDSPEnumDevice_Reset_Stub(
  3095. IRpcStubBuffer *This,
  3096. IRpcChannelBuffer *_pRpcChannelBuffer,
  3097. PRPC_MESSAGE _pRpcMessage,
  3098. DWORD *_pdwStubPhase);
  3099. HRESULT STDMETHODCALLTYPE IMDSPEnumDevice_Clone_Proxy(
  3100. IMDSPEnumDevice __RPC_FAR * This,
  3101. /* [out] */ IMDSPEnumDevice __RPC_FAR *__RPC_FAR *ppEnumDevice);
  3102. void __RPC_STUB IMDSPEnumDevice_Clone_Stub(
  3103. IRpcStubBuffer *This,
  3104. IRpcChannelBuffer *_pRpcChannelBuffer,
  3105. PRPC_MESSAGE _pRpcMessage,
  3106. DWORD *_pdwStubPhase);
  3107. #endif /* __IMDSPEnumDevice_INTERFACE_DEFINED__ */
  3108. #ifndef __IMDSPDevice_INTERFACE_DEFINED__
  3109. #define __IMDSPDevice_INTERFACE_DEFINED__
  3110. /* interface IMDSPDevice */
  3111. /* [unique][uuid][object] */
  3112. EXTERN_C const IID IID_IMDSPDevice;
  3113. #if defined(__cplusplus) && !defined(CINTERFACE)
  3114. MIDL_INTERFACE("1DCB3A12-33ED-11d3-8470-00C04F79DBC0")
  3115. IMDSPDevice : public IUnknown
  3116. {
  3117. public:
  3118. virtual HRESULT STDMETHODCALLTYPE GetName(
  3119. /* [size_is][string][out] */ LPWSTR pwszName,
  3120. /* [in] */ UINT nMaxChars) = 0;
  3121. virtual HRESULT STDMETHODCALLTYPE GetManufacturer(
  3122. /* [size_is][string][out] */ LPWSTR pwszName,
  3123. /* [in] */ UINT nMaxChars) = 0;
  3124. virtual HRESULT STDMETHODCALLTYPE GetVersion(
  3125. /* [out] */ DWORD __RPC_FAR *pdwVersion) = 0;
  3126. virtual HRESULT STDMETHODCALLTYPE GetType(
  3127. /* [out] */ DWORD __RPC_FAR *pdwType) = 0;
  3128. virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
  3129. /* [out] */ PWMDMID pSerialNumber,
  3130. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  3131. virtual HRESULT STDMETHODCALLTYPE GetPowerSource(
  3132. /* [out] */ DWORD __RPC_FAR *pdwPowerSource,
  3133. /* [out] */ DWORD __RPC_FAR *pdwPercentRemaining) = 0;
  3134. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  3135. /* [out] */ DWORD __RPC_FAR *pdwStatus) = 0;
  3136. virtual HRESULT STDMETHODCALLTYPE GetDeviceIcon(
  3137. /* [out] */ ULONG __RPC_FAR *hIcon) = 0;
  3138. virtual HRESULT STDMETHODCALLTYPE EnumStorage(
  3139. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage) = 0;
  3140. virtual HRESULT STDMETHODCALLTYPE GetFormatSupport(
  3141. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *pFormatEx,
  3142. /* [out] */ UINT __RPC_FAR *pnFormatCount,
  3143. /* [size_is][size_is][out] */ LPWSTR __RPC_FAR *__RPC_FAR *pppwszMimeType,
  3144. /* [out] */ UINT __RPC_FAR *pnMimeTypeCount) = 0;
  3145. virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
  3146. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand) = 0;
  3147. };
  3148. #else /* C style interface */
  3149. typedef struct IMDSPDeviceVtbl
  3150. {
  3151. BEGIN_INTERFACE
  3152. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3153. IMDSPDevice __RPC_FAR * This,
  3154. /* [in] */ REFIID riid,
  3155. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3156. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3157. IMDSPDevice __RPC_FAR * This);
  3158. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3159. IMDSPDevice __RPC_FAR * This);
  3160. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )(
  3161. IMDSPDevice __RPC_FAR * This,
  3162. /* [size_is][string][out] */ LPWSTR pwszName,
  3163. /* [in] */ UINT nMaxChars);
  3164. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetManufacturer )(
  3165. IMDSPDevice __RPC_FAR * This,
  3166. /* [size_is][string][out] */ LPWSTR pwszName,
  3167. /* [in] */ UINT nMaxChars);
  3168. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )(
  3169. IMDSPDevice __RPC_FAR * This,
  3170. /* [out] */ DWORD __RPC_FAR *pdwVersion);
  3171. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )(
  3172. IMDSPDevice __RPC_FAR * This,
  3173. /* [out] */ DWORD __RPC_FAR *pdwType);
  3174. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSerialNumber )(
  3175. IMDSPDevice __RPC_FAR * This,
  3176. /* [out] */ PWMDMID pSerialNumber,
  3177. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  3178. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPowerSource )(
  3179. IMDSPDevice __RPC_FAR * This,
  3180. /* [out] */ DWORD __RPC_FAR *pdwPowerSource,
  3181. /* [out] */ DWORD __RPC_FAR *pdwPercentRemaining);
  3182. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )(
  3183. IMDSPDevice __RPC_FAR * This,
  3184. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  3185. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDeviceIcon )(
  3186. IMDSPDevice __RPC_FAR * This,
  3187. /* [out] */ ULONG __RPC_FAR *hIcon);
  3188. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumStorage )(
  3189. IMDSPDevice __RPC_FAR * This,
  3190. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  3191. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormatSupport )(
  3192. IMDSPDevice __RPC_FAR * This,
  3193. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *pFormatEx,
  3194. /* [out] */ UINT __RPC_FAR *pnFormatCount,
  3195. /* [size_is][size_is][out] */ LPWSTR __RPC_FAR *__RPC_FAR *pppwszMimeType,
  3196. /* [out] */ UINT __RPC_FAR *pnMimeTypeCount);
  3197. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendOpaqueCommand )(
  3198. IMDSPDevice __RPC_FAR * This,
  3199. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  3200. END_INTERFACE
  3201. } IMDSPDeviceVtbl;
  3202. interface IMDSPDevice
  3203. {
  3204. CONST_VTBL struct IMDSPDeviceVtbl __RPC_FAR *lpVtbl;
  3205. };
  3206. #ifdef COBJMACROS
  3207. #define IMDSPDevice_QueryInterface(This,riid,ppvObject) \
  3208. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3209. #define IMDSPDevice_AddRef(This) \
  3210. (This)->lpVtbl -> AddRef(This)
  3211. #define IMDSPDevice_Release(This) \
  3212. (This)->lpVtbl -> Release(This)
  3213. #define IMDSPDevice_GetName(This,pwszName,nMaxChars) \
  3214. (This)->lpVtbl -> GetName(This,pwszName,nMaxChars)
  3215. #define IMDSPDevice_GetManufacturer(This,pwszName,nMaxChars) \
  3216. (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars)
  3217. #define IMDSPDevice_GetVersion(This,pdwVersion) \
  3218. (This)->lpVtbl -> GetVersion(This,pdwVersion)
  3219. #define IMDSPDevice_GetType(This,pdwType) \
  3220. (This)->lpVtbl -> GetType(This,pdwType)
  3221. #define IMDSPDevice_GetSerialNumber(This,pSerialNumber,abMac) \
  3222. (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac)
  3223. #define IMDSPDevice_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
  3224. (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining)
  3225. #define IMDSPDevice_GetStatus(This,pdwStatus) \
  3226. (This)->lpVtbl -> GetStatus(This,pdwStatus)
  3227. #define IMDSPDevice_GetDeviceIcon(This,hIcon) \
  3228. (This)->lpVtbl -> GetDeviceIcon(This,hIcon)
  3229. #define IMDSPDevice_EnumStorage(This,ppEnumStorage) \
  3230. (This)->lpVtbl -> EnumStorage(This,ppEnumStorage)
  3231. #define IMDSPDevice_GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
  3232. (This)->lpVtbl -> GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount)
  3233. #define IMDSPDevice_SendOpaqueCommand(This,pCommand) \
  3234. (This)->lpVtbl -> SendOpaqueCommand(This,pCommand)
  3235. #endif /* COBJMACROS */
  3236. #endif /* C style interface */
  3237. HRESULT STDMETHODCALLTYPE IMDSPDevice_GetName_Proxy(
  3238. IMDSPDevice __RPC_FAR * This,
  3239. /* [size_is][string][out] */ LPWSTR pwszName,
  3240. /* [in] */ UINT nMaxChars);
  3241. void __RPC_STUB IMDSPDevice_GetName_Stub(
  3242. IRpcStubBuffer *This,
  3243. IRpcChannelBuffer *_pRpcChannelBuffer,
  3244. PRPC_MESSAGE _pRpcMessage,
  3245. DWORD *_pdwStubPhase);
  3246. HRESULT STDMETHODCALLTYPE IMDSPDevice_GetManufacturer_Proxy(
  3247. IMDSPDevice __RPC_FAR * This,
  3248. /* [size_is][string][out] */ LPWSTR pwszName,
  3249. /* [in] */ UINT nMaxChars);
  3250. void __RPC_STUB IMDSPDevice_GetManufacturer_Stub(
  3251. IRpcStubBuffer *This,
  3252. IRpcChannelBuffer *_pRpcChannelBuffer,
  3253. PRPC_MESSAGE _pRpcMessage,
  3254. DWORD *_pdwStubPhase);
  3255. HRESULT STDMETHODCALLTYPE IMDSPDevice_GetVersion_Proxy(
  3256. IMDSPDevice __RPC_FAR * This,
  3257. /* [out] */ DWORD __RPC_FAR *pdwVersion);
  3258. void __RPC_STUB IMDSPDevice_GetVersion_Stub(
  3259. IRpcStubBuffer *This,
  3260. IRpcChannelBuffer *_pRpcChannelBuffer,
  3261. PRPC_MESSAGE _pRpcMessage,
  3262. DWORD *_pdwStubPhase);
  3263. HRESULT STDMETHODCALLTYPE IMDSPDevice_GetType_Proxy(
  3264. IMDSPDevice __RPC_FAR * This,
  3265. /* [out] */ DWORD __RPC_FAR *pdwType);
  3266. void __RPC_STUB IMDSPDevice_GetType_Stub(
  3267. IRpcStubBuffer *This,
  3268. IRpcChannelBuffer *_pRpcChannelBuffer,
  3269. PRPC_MESSAGE _pRpcMessage,
  3270. DWORD *_pdwStubPhase);
  3271. HRESULT STDMETHODCALLTYPE IMDSPDevice_GetSerialNumber_Proxy(
  3272. IMDSPDevice __RPC_FAR * This,
  3273. /* [out] */ PWMDMID pSerialNumber,
  3274. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  3275. void __RPC_STUB IMDSPDevice_GetSerialNumber_Stub(
  3276. IRpcStubBuffer *This,
  3277. IRpcChannelBuffer *_pRpcChannelBuffer,
  3278. PRPC_MESSAGE _pRpcMessage,
  3279. DWORD *_pdwStubPhase);
  3280. HRESULT STDMETHODCALLTYPE IMDSPDevice_GetPowerSource_Proxy(
  3281. IMDSPDevice __RPC_FAR * This,
  3282. /* [out] */ DWORD __RPC_FAR *pdwPowerSource,
  3283. /* [out] */ DWORD __RPC_FAR *pdwPercentRemaining);
  3284. void __RPC_STUB IMDSPDevice_GetPowerSource_Stub(
  3285. IRpcStubBuffer *This,
  3286. IRpcChannelBuffer *_pRpcChannelBuffer,
  3287. PRPC_MESSAGE _pRpcMessage,
  3288. DWORD *_pdwStubPhase);
  3289. HRESULT STDMETHODCALLTYPE IMDSPDevice_GetStatus_Proxy(
  3290. IMDSPDevice __RPC_FAR * This,
  3291. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  3292. void __RPC_STUB IMDSPDevice_GetStatus_Stub(
  3293. IRpcStubBuffer *This,
  3294. IRpcChannelBuffer *_pRpcChannelBuffer,
  3295. PRPC_MESSAGE _pRpcMessage,
  3296. DWORD *_pdwStubPhase);
  3297. HRESULT STDMETHODCALLTYPE IMDSPDevice_GetDeviceIcon_Proxy(
  3298. IMDSPDevice __RPC_FAR * This,
  3299. /* [out] */ ULONG __RPC_FAR *hIcon);
  3300. void __RPC_STUB IMDSPDevice_GetDeviceIcon_Stub(
  3301. IRpcStubBuffer *This,
  3302. IRpcChannelBuffer *_pRpcChannelBuffer,
  3303. PRPC_MESSAGE _pRpcMessage,
  3304. DWORD *_pdwStubPhase);
  3305. HRESULT STDMETHODCALLTYPE IMDSPDevice_EnumStorage_Proxy(
  3306. IMDSPDevice __RPC_FAR * This,
  3307. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  3308. void __RPC_STUB IMDSPDevice_EnumStorage_Stub(
  3309. IRpcStubBuffer *This,
  3310. IRpcChannelBuffer *_pRpcChannelBuffer,
  3311. PRPC_MESSAGE _pRpcMessage,
  3312. DWORD *_pdwStubPhase);
  3313. HRESULT STDMETHODCALLTYPE IMDSPDevice_GetFormatSupport_Proxy(
  3314. IMDSPDevice __RPC_FAR * This,
  3315. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *pFormatEx,
  3316. /* [out] */ UINT __RPC_FAR *pnFormatCount,
  3317. /* [size_is][size_is][out] */ LPWSTR __RPC_FAR *__RPC_FAR *pppwszMimeType,
  3318. /* [out] */ UINT __RPC_FAR *pnMimeTypeCount);
  3319. void __RPC_STUB IMDSPDevice_GetFormatSupport_Stub(
  3320. IRpcStubBuffer *This,
  3321. IRpcChannelBuffer *_pRpcChannelBuffer,
  3322. PRPC_MESSAGE _pRpcMessage,
  3323. DWORD *_pdwStubPhase);
  3324. HRESULT STDMETHODCALLTYPE IMDSPDevice_SendOpaqueCommand_Proxy(
  3325. IMDSPDevice __RPC_FAR * This,
  3326. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  3327. void __RPC_STUB IMDSPDevice_SendOpaqueCommand_Stub(
  3328. IRpcStubBuffer *This,
  3329. IRpcChannelBuffer *_pRpcChannelBuffer,
  3330. PRPC_MESSAGE _pRpcMessage,
  3331. DWORD *_pdwStubPhase);
  3332. #endif /* __IMDSPDevice_INTERFACE_DEFINED__ */
  3333. #ifndef __IMDSPDevice2_INTERFACE_DEFINED__
  3334. #define __IMDSPDevice2_INTERFACE_DEFINED__
  3335. /* interface IMDSPDevice2 */
  3336. /* [unique][uuid][object] */
  3337. EXTERN_C const IID IID_IMDSPDevice2;
  3338. #if defined(__cplusplus) && !defined(CINTERFACE)
  3339. MIDL_INTERFACE("420D16AD-C97D-4e00-82AA-00E9F4335DDD")
  3340. IMDSPDevice2 : public IMDSPDevice
  3341. {
  3342. public:
  3343. virtual HRESULT STDMETHODCALLTYPE GetStorage(
  3344. /* [string][in] */ LPCWSTR pszStorageName,
  3345. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppStorage) = 0;
  3346. virtual HRESULT STDMETHODCALLTYPE GetFormatSupport2(
  3347. /* [in] */ DWORD dwFlags,
  3348. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *ppAudioFormatEx,
  3349. /* [ref][out] */ UINT __RPC_FAR *pnAudioFormatCount,
  3350. /* [size_is][size_is][out] */ _VIDEOINFOHEADER __RPC_FAR *__RPC_FAR *ppVideoFormatEx,
  3351. /* [ref][out] */ UINT __RPC_FAR *pnVideoFormatCount,
  3352. /* [size_is][size_is][out] */ WMFILECAPABILITIES __RPC_FAR *__RPC_FAR *ppFileType,
  3353. /* [ref][out] */ UINT __RPC_FAR *pnFileTypeCount) = 0;
  3354. virtual HRESULT STDMETHODCALLTYPE GetSpecifyPropertyPages(
  3355. /* [ref][out] */ ISpecifyPropertyPages __RPC_FAR *__RPC_FAR *ppSpecifyPropPages,
  3356. /* [size_is][size_is][ref][out] */ IUnknown __RPC_FAR *__RPC_FAR *__RPC_FAR *pppUnknowns,
  3357. /* [ref][out] */ ULONG __RPC_FAR *pcUnks) = 0;
  3358. virtual HRESULT STDMETHODCALLTYPE GetPnPName(
  3359. /* [size_is][out] */ LPWSTR pwszPnPName,
  3360. /* [in] */ UINT nMaxChars) = 0;
  3361. };
  3362. #else /* C style interface */
  3363. typedef struct IMDSPDevice2Vtbl
  3364. {
  3365. BEGIN_INTERFACE
  3366. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3367. IMDSPDevice2 __RPC_FAR * This,
  3368. /* [in] */ REFIID riid,
  3369. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3370. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3371. IMDSPDevice2 __RPC_FAR * This);
  3372. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3373. IMDSPDevice2 __RPC_FAR * This);
  3374. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )(
  3375. IMDSPDevice2 __RPC_FAR * This,
  3376. /* [size_is][string][out] */ LPWSTR pwszName,
  3377. /* [in] */ UINT nMaxChars);
  3378. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetManufacturer )(
  3379. IMDSPDevice2 __RPC_FAR * This,
  3380. /* [size_is][string][out] */ LPWSTR pwszName,
  3381. /* [in] */ UINT nMaxChars);
  3382. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )(
  3383. IMDSPDevice2 __RPC_FAR * This,
  3384. /* [out] */ DWORD __RPC_FAR *pdwVersion);
  3385. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )(
  3386. IMDSPDevice2 __RPC_FAR * This,
  3387. /* [out] */ DWORD __RPC_FAR *pdwType);
  3388. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSerialNumber )(
  3389. IMDSPDevice2 __RPC_FAR * This,
  3390. /* [out] */ PWMDMID pSerialNumber,
  3391. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  3392. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPowerSource )(
  3393. IMDSPDevice2 __RPC_FAR * This,
  3394. /* [out] */ DWORD __RPC_FAR *pdwPowerSource,
  3395. /* [out] */ DWORD __RPC_FAR *pdwPercentRemaining);
  3396. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )(
  3397. IMDSPDevice2 __RPC_FAR * This,
  3398. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  3399. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDeviceIcon )(
  3400. IMDSPDevice2 __RPC_FAR * This,
  3401. /* [out] */ ULONG __RPC_FAR *hIcon);
  3402. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumStorage )(
  3403. IMDSPDevice2 __RPC_FAR * This,
  3404. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  3405. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormatSupport )(
  3406. IMDSPDevice2 __RPC_FAR * This,
  3407. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *pFormatEx,
  3408. /* [out] */ UINT __RPC_FAR *pnFormatCount,
  3409. /* [size_is][size_is][out] */ LPWSTR __RPC_FAR *__RPC_FAR *pppwszMimeType,
  3410. /* [out] */ UINT __RPC_FAR *pnMimeTypeCount);
  3411. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendOpaqueCommand )(
  3412. IMDSPDevice2 __RPC_FAR * This,
  3413. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  3414. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStorage )(
  3415. IMDSPDevice2 __RPC_FAR * This,
  3416. /* [string][in] */ LPCWSTR pszStorageName,
  3417. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppStorage);
  3418. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormatSupport2 )(
  3419. IMDSPDevice2 __RPC_FAR * This,
  3420. /* [in] */ DWORD dwFlags,
  3421. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *ppAudioFormatEx,
  3422. /* [ref][out] */ UINT __RPC_FAR *pnAudioFormatCount,
  3423. /* [size_is][size_is][out] */ _VIDEOINFOHEADER __RPC_FAR *__RPC_FAR *ppVideoFormatEx,
  3424. /* [ref][out] */ UINT __RPC_FAR *pnVideoFormatCount,
  3425. /* [size_is][size_is][out] */ WMFILECAPABILITIES __RPC_FAR *__RPC_FAR *ppFileType,
  3426. /* [ref][out] */ UINT __RPC_FAR *pnFileTypeCount);
  3427. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpecifyPropertyPages )(
  3428. IMDSPDevice2 __RPC_FAR * This,
  3429. /* [ref][out] */ ISpecifyPropertyPages __RPC_FAR *__RPC_FAR *ppSpecifyPropPages,
  3430. /* [size_is][size_is][ref][out] */ IUnknown __RPC_FAR *__RPC_FAR *__RPC_FAR *pppUnknowns,
  3431. /* [ref][out] */ ULONG __RPC_FAR *pcUnks);
  3432. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPnPName )(
  3433. IMDSPDevice2 __RPC_FAR * This,
  3434. /* [size_is][out] */ LPWSTR pwszPnPName,
  3435. /* [in] */ UINT nMaxChars);
  3436. END_INTERFACE
  3437. } IMDSPDevice2Vtbl;
  3438. interface IMDSPDevice2
  3439. {
  3440. CONST_VTBL struct IMDSPDevice2Vtbl __RPC_FAR *lpVtbl;
  3441. };
  3442. #ifdef COBJMACROS
  3443. #define IMDSPDevice2_QueryInterface(This,riid,ppvObject) \
  3444. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3445. #define IMDSPDevice2_AddRef(This) \
  3446. (This)->lpVtbl -> AddRef(This)
  3447. #define IMDSPDevice2_Release(This) \
  3448. (This)->lpVtbl -> Release(This)
  3449. #define IMDSPDevice2_GetName(This,pwszName,nMaxChars) \
  3450. (This)->lpVtbl -> GetName(This,pwszName,nMaxChars)
  3451. #define IMDSPDevice2_GetManufacturer(This,pwszName,nMaxChars) \
  3452. (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars)
  3453. #define IMDSPDevice2_GetVersion(This,pdwVersion) \
  3454. (This)->lpVtbl -> GetVersion(This,pdwVersion)
  3455. #define IMDSPDevice2_GetType(This,pdwType) \
  3456. (This)->lpVtbl -> GetType(This,pdwType)
  3457. #define IMDSPDevice2_GetSerialNumber(This,pSerialNumber,abMac) \
  3458. (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac)
  3459. #define IMDSPDevice2_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
  3460. (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining)
  3461. #define IMDSPDevice2_GetStatus(This,pdwStatus) \
  3462. (This)->lpVtbl -> GetStatus(This,pdwStatus)
  3463. #define IMDSPDevice2_GetDeviceIcon(This,hIcon) \
  3464. (This)->lpVtbl -> GetDeviceIcon(This,hIcon)
  3465. #define IMDSPDevice2_EnumStorage(This,ppEnumStorage) \
  3466. (This)->lpVtbl -> EnumStorage(This,ppEnumStorage)
  3467. #define IMDSPDevice2_GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
  3468. (This)->lpVtbl -> GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount)
  3469. #define IMDSPDevice2_SendOpaqueCommand(This,pCommand) \
  3470. (This)->lpVtbl -> SendOpaqueCommand(This,pCommand)
  3471. #define IMDSPDevice2_GetStorage(This,pszStorageName,ppStorage) \
  3472. (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage)
  3473. #define IMDSPDevice2_GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) \
  3474. (This)->lpVtbl -> GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount)
  3475. #define IMDSPDevice2_GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) \
  3476. (This)->lpVtbl -> GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks)
  3477. #define IMDSPDevice2_GetPnPName(This,pwszPnPName,nMaxChars) \
  3478. (This)->lpVtbl -> GetPnPName(This,pwszPnPName,nMaxChars)
  3479. #endif /* COBJMACROS */
  3480. #endif /* C style interface */
  3481. HRESULT STDMETHODCALLTYPE IMDSPDevice2_GetStorage_Proxy(
  3482. IMDSPDevice2 __RPC_FAR * This,
  3483. /* [string][in] */ LPCWSTR pszStorageName,
  3484. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppStorage);
  3485. void __RPC_STUB IMDSPDevice2_GetStorage_Stub(
  3486. IRpcStubBuffer *This,
  3487. IRpcChannelBuffer *_pRpcChannelBuffer,
  3488. PRPC_MESSAGE _pRpcMessage,
  3489. DWORD *_pdwStubPhase);
  3490. HRESULT STDMETHODCALLTYPE IMDSPDevice2_GetFormatSupport2_Proxy(
  3491. IMDSPDevice2 __RPC_FAR * This,
  3492. /* [in] */ DWORD dwFlags,
  3493. /* [size_is][size_is][out] */ _WAVEFORMATEX __RPC_FAR *__RPC_FAR *ppAudioFormatEx,
  3494. /* [ref][out] */ UINT __RPC_FAR *pnAudioFormatCount,
  3495. /* [size_is][size_is][out] */ _VIDEOINFOHEADER __RPC_FAR *__RPC_FAR *ppVideoFormatEx,
  3496. /* [ref][out] */ UINT __RPC_FAR *pnVideoFormatCount,
  3497. /* [size_is][size_is][out] */ WMFILECAPABILITIES __RPC_FAR *__RPC_FAR *ppFileType,
  3498. /* [ref][out] */ UINT __RPC_FAR *pnFileTypeCount);
  3499. void __RPC_STUB IMDSPDevice2_GetFormatSupport2_Stub(
  3500. IRpcStubBuffer *This,
  3501. IRpcChannelBuffer *_pRpcChannelBuffer,
  3502. PRPC_MESSAGE _pRpcMessage,
  3503. DWORD *_pdwStubPhase);
  3504. HRESULT STDMETHODCALLTYPE IMDSPDevice2_GetSpecifyPropertyPages_Proxy(
  3505. IMDSPDevice2 __RPC_FAR * This,
  3506. /* [ref][out] */ ISpecifyPropertyPages __RPC_FAR *__RPC_FAR *ppSpecifyPropPages,
  3507. /* [size_is][size_is][ref][out] */ IUnknown __RPC_FAR *__RPC_FAR *__RPC_FAR *pppUnknowns,
  3508. /* [ref][out] */ ULONG __RPC_FAR *pcUnks);
  3509. void __RPC_STUB IMDSPDevice2_GetSpecifyPropertyPages_Stub(
  3510. IRpcStubBuffer *This,
  3511. IRpcChannelBuffer *_pRpcChannelBuffer,
  3512. PRPC_MESSAGE _pRpcMessage,
  3513. DWORD *_pdwStubPhase);
  3514. HRESULT STDMETHODCALLTYPE IMDSPDevice2_GetPnPName_Proxy(
  3515. IMDSPDevice2 __RPC_FAR * This,
  3516. /* [size_is][out] */ LPWSTR pwszPnPName,
  3517. /* [in] */ UINT nMaxChars);
  3518. void __RPC_STUB IMDSPDevice2_GetPnPName_Stub(
  3519. IRpcStubBuffer *This,
  3520. IRpcChannelBuffer *_pRpcChannelBuffer,
  3521. PRPC_MESSAGE _pRpcMessage,
  3522. DWORD *_pdwStubPhase);
  3523. #endif /* __IMDSPDevice2_INTERFACE_DEFINED__ */
  3524. #ifndef __IMDSPDeviceControl_INTERFACE_DEFINED__
  3525. #define __IMDSPDeviceControl_INTERFACE_DEFINED__
  3526. /* interface IMDSPDeviceControl */
  3527. /* [unique][uuid][object] */
  3528. EXTERN_C const IID IID_IMDSPDeviceControl;
  3529. #if defined(__cplusplus) && !defined(CINTERFACE)
  3530. MIDL_INTERFACE("1DCB3A14-33ED-11d3-8470-00C04F79DBC0")
  3531. IMDSPDeviceControl : public IUnknown
  3532. {
  3533. public:
  3534. virtual HRESULT STDMETHODCALLTYPE GetDCStatus(
  3535. /* [out] */ DWORD __RPC_FAR *pdwStatus) = 0;
  3536. virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
  3537. /* [out] */ DWORD __RPC_FAR *pdwCapabilitiesMask) = 0;
  3538. virtual HRESULT STDMETHODCALLTYPE Play( void) = 0;
  3539. virtual HRESULT STDMETHODCALLTYPE Record(
  3540. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat) = 0;
  3541. virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  3542. virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  3543. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  3544. virtual HRESULT STDMETHODCALLTYPE Seek(
  3545. /* [in] */ UINT fuMode,
  3546. /* [in] */ int nOffset) = 0;
  3547. };
  3548. #else /* C style interface */
  3549. typedef struct IMDSPDeviceControlVtbl
  3550. {
  3551. BEGIN_INTERFACE
  3552. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3553. IMDSPDeviceControl __RPC_FAR * This,
  3554. /* [in] */ REFIID riid,
  3555. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3556. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3557. IMDSPDeviceControl __RPC_FAR * This);
  3558. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3559. IMDSPDeviceControl __RPC_FAR * This);
  3560. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDCStatus )(
  3561. IMDSPDeviceControl __RPC_FAR * This,
  3562. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  3563. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCapabilities )(
  3564. IMDSPDeviceControl __RPC_FAR * This,
  3565. /* [out] */ DWORD __RPC_FAR *pdwCapabilitiesMask);
  3566. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Play )(
  3567. IMDSPDeviceControl __RPC_FAR * This);
  3568. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Record )(
  3569. IMDSPDeviceControl __RPC_FAR * This,
  3570. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  3571. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )(
  3572. IMDSPDeviceControl __RPC_FAR * This);
  3573. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resume )(
  3574. IMDSPDeviceControl __RPC_FAR * This);
  3575. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )(
  3576. IMDSPDeviceControl __RPC_FAR * This);
  3577. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )(
  3578. IMDSPDeviceControl __RPC_FAR * This,
  3579. /* [in] */ UINT fuMode,
  3580. /* [in] */ int nOffset);
  3581. END_INTERFACE
  3582. } IMDSPDeviceControlVtbl;
  3583. interface IMDSPDeviceControl
  3584. {
  3585. CONST_VTBL struct IMDSPDeviceControlVtbl __RPC_FAR *lpVtbl;
  3586. };
  3587. #ifdef COBJMACROS
  3588. #define IMDSPDeviceControl_QueryInterface(This,riid,ppvObject) \
  3589. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3590. #define IMDSPDeviceControl_AddRef(This) \
  3591. (This)->lpVtbl -> AddRef(This)
  3592. #define IMDSPDeviceControl_Release(This) \
  3593. (This)->lpVtbl -> Release(This)
  3594. #define IMDSPDeviceControl_GetDCStatus(This,pdwStatus) \
  3595. (This)->lpVtbl -> GetDCStatus(This,pdwStatus)
  3596. #define IMDSPDeviceControl_GetCapabilities(This,pdwCapabilitiesMask) \
  3597. (This)->lpVtbl -> GetCapabilities(This,pdwCapabilitiesMask)
  3598. #define IMDSPDeviceControl_Play(This) \
  3599. (This)->lpVtbl -> Play(This)
  3600. #define IMDSPDeviceControl_Record(This,pFormat) \
  3601. (This)->lpVtbl -> Record(This,pFormat)
  3602. #define IMDSPDeviceControl_Pause(This) \
  3603. (This)->lpVtbl -> Pause(This)
  3604. #define IMDSPDeviceControl_Resume(This) \
  3605. (This)->lpVtbl -> Resume(This)
  3606. #define IMDSPDeviceControl_Stop(This) \
  3607. (This)->lpVtbl -> Stop(This)
  3608. #define IMDSPDeviceControl_Seek(This,fuMode,nOffset) \
  3609. (This)->lpVtbl -> Seek(This,fuMode,nOffset)
  3610. #endif /* COBJMACROS */
  3611. #endif /* C style interface */
  3612. HRESULT STDMETHODCALLTYPE IMDSPDeviceControl_GetDCStatus_Proxy(
  3613. IMDSPDeviceControl __RPC_FAR * This,
  3614. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  3615. void __RPC_STUB IMDSPDeviceControl_GetDCStatus_Stub(
  3616. IRpcStubBuffer *This,
  3617. IRpcChannelBuffer *_pRpcChannelBuffer,
  3618. PRPC_MESSAGE _pRpcMessage,
  3619. DWORD *_pdwStubPhase);
  3620. HRESULT STDMETHODCALLTYPE IMDSPDeviceControl_GetCapabilities_Proxy(
  3621. IMDSPDeviceControl __RPC_FAR * This,
  3622. /* [out] */ DWORD __RPC_FAR *pdwCapabilitiesMask);
  3623. void __RPC_STUB IMDSPDeviceControl_GetCapabilities_Stub(
  3624. IRpcStubBuffer *This,
  3625. IRpcChannelBuffer *_pRpcChannelBuffer,
  3626. PRPC_MESSAGE _pRpcMessage,
  3627. DWORD *_pdwStubPhase);
  3628. HRESULT STDMETHODCALLTYPE IMDSPDeviceControl_Play_Proxy(
  3629. IMDSPDeviceControl __RPC_FAR * This);
  3630. void __RPC_STUB IMDSPDeviceControl_Play_Stub(
  3631. IRpcStubBuffer *This,
  3632. IRpcChannelBuffer *_pRpcChannelBuffer,
  3633. PRPC_MESSAGE _pRpcMessage,
  3634. DWORD *_pdwStubPhase);
  3635. HRESULT STDMETHODCALLTYPE IMDSPDeviceControl_Record_Proxy(
  3636. IMDSPDeviceControl __RPC_FAR * This,
  3637. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  3638. void __RPC_STUB IMDSPDeviceControl_Record_Stub(
  3639. IRpcStubBuffer *This,
  3640. IRpcChannelBuffer *_pRpcChannelBuffer,
  3641. PRPC_MESSAGE _pRpcMessage,
  3642. DWORD *_pdwStubPhase);
  3643. HRESULT STDMETHODCALLTYPE IMDSPDeviceControl_Pause_Proxy(
  3644. IMDSPDeviceControl __RPC_FAR * This);
  3645. void __RPC_STUB IMDSPDeviceControl_Pause_Stub(
  3646. IRpcStubBuffer *This,
  3647. IRpcChannelBuffer *_pRpcChannelBuffer,
  3648. PRPC_MESSAGE _pRpcMessage,
  3649. DWORD *_pdwStubPhase);
  3650. HRESULT STDMETHODCALLTYPE IMDSPDeviceControl_Resume_Proxy(
  3651. IMDSPDeviceControl __RPC_FAR * This);
  3652. void __RPC_STUB IMDSPDeviceControl_Resume_Stub(
  3653. IRpcStubBuffer *This,
  3654. IRpcChannelBuffer *_pRpcChannelBuffer,
  3655. PRPC_MESSAGE _pRpcMessage,
  3656. DWORD *_pdwStubPhase);
  3657. HRESULT STDMETHODCALLTYPE IMDSPDeviceControl_Stop_Proxy(
  3658. IMDSPDeviceControl __RPC_FAR * This);
  3659. void __RPC_STUB IMDSPDeviceControl_Stop_Stub(
  3660. IRpcStubBuffer *This,
  3661. IRpcChannelBuffer *_pRpcChannelBuffer,
  3662. PRPC_MESSAGE _pRpcMessage,
  3663. DWORD *_pdwStubPhase);
  3664. HRESULT STDMETHODCALLTYPE IMDSPDeviceControl_Seek_Proxy(
  3665. IMDSPDeviceControl __RPC_FAR * This,
  3666. /* [in] */ UINT fuMode,
  3667. /* [in] */ int nOffset);
  3668. void __RPC_STUB IMDSPDeviceControl_Seek_Stub(
  3669. IRpcStubBuffer *This,
  3670. IRpcChannelBuffer *_pRpcChannelBuffer,
  3671. PRPC_MESSAGE _pRpcMessage,
  3672. DWORD *_pdwStubPhase);
  3673. #endif /* __IMDSPDeviceControl_INTERFACE_DEFINED__ */
  3674. #ifndef __IMDSPEnumStorage_INTERFACE_DEFINED__
  3675. #define __IMDSPEnumStorage_INTERFACE_DEFINED__
  3676. /* interface IMDSPEnumStorage */
  3677. /* [unique][uuid][object] */
  3678. EXTERN_C const IID IID_IMDSPEnumStorage;
  3679. #if defined(__cplusplus) && !defined(CINTERFACE)
  3680. MIDL_INTERFACE("1DCB3A15-33ED-11d3-8470-00C04F79DBC0")
  3681. IMDSPEnumStorage : public IUnknown
  3682. {
  3683. public:
  3684. virtual HRESULT STDMETHODCALLTYPE Next(
  3685. /* [in] */ ULONG celt,
  3686. /* [length_is][size_is][out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppStorage,
  3687. /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  3688. virtual HRESULT STDMETHODCALLTYPE Skip(
  3689. /* [in] */ ULONG celt,
  3690. /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  3691. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  3692. virtual HRESULT STDMETHODCALLTYPE Clone(
  3693. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage) = 0;
  3694. };
  3695. #else /* C style interface */
  3696. typedef struct IMDSPEnumStorageVtbl
  3697. {
  3698. BEGIN_INTERFACE
  3699. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3700. IMDSPEnumStorage __RPC_FAR * This,
  3701. /* [in] */ REFIID riid,
  3702. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3703. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3704. IMDSPEnumStorage __RPC_FAR * This);
  3705. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3706. IMDSPEnumStorage __RPC_FAR * This);
  3707. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  3708. IMDSPEnumStorage __RPC_FAR * This,
  3709. /* [in] */ ULONG celt,
  3710. /* [length_is][size_is][out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppStorage,
  3711. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  3712. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  3713. IMDSPEnumStorage __RPC_FAR * This,
  3714. /* [in] */ ULONG celt,
  3715. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  3716. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  3717. IMDSPEnumStorage __RPC_FAR * This);
  3718. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  3719. IMDSPEnumStorage __RPC_FAR * This,
  3720. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  3721. END_INTERFACE
  3722. } IMDSPEnumStorageVtbl;
  3723. interface IMDSPEnumStorage
  3724. {
  3725. CONST_VTBL struct IMDSPEnumStorageVtbl __RPC_FAR *lpVtbl;
  3726. };
  3727. #ifdef COBJMACROS
  3728. #define IMDSPEnumStorage_QueryInterface(This,riid,ppvObject) \
  3729. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3730. #define IMDSPEnumStorage_AddRef(This) \
  3731. (This)->lpVtbl -> AddRef(This)
  3732. #define IMDSPEnumStorage_Release(This) \
  3733. (This)->lpVtbl -> Release(This)
  3734. #define IMDSPEnumStorage_Next(This,celt,ppStorage,pceltFetched) \
  3735. (This)->lpVtbl -> Next(This,celt,ppStorage,pceltFetched)
  3736. #define IMDSPEnumStorage_Skip(This,celt,pceltFetched) \
  3737. (This)->lpVtbl -> Skip(This,celt,pceltFetched)
  3738. #define IMDSPEnumStorage_Reset(This) \
  3739. (This)->lpVtbl -> Reset(This)
  3740. #define IMDSPEnumStorage_Clone(This,ppEnumStorage) \
  3741. (This)->lpVtbl -> Clone(This,ppEnumStorage)
  3742. #endif /* COBJMACROS */
  3743. #endif /* C style interface */
  3744. HRESULT STDMETHODCALLTYPE IMDSPEnumStorage_Next_Proxy(
  3745. IMDSPEnumStorage __RPC_FAR * This,
  3746. /* [in] */ ULONG celt,
  3747. /* [length_is][size_is][out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppStorage,
  3748. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  3749. void __RPC_STUB IMDSPEnumStorage_Next_Stub(
  3750. IRpcStubBuffer *This,
  3751. IRpcChannelBuffer *_pRpcChannelBuffer,
  3752. PRPC_MESSAGE _pRpcMessage,
  3753. DWORD *_pdwStubPhase);
  3754. HRESULT STDMETHODCALLTYPE IMDSPEnumStorage_Skip_Proxy(
  3755. IMDSPEnumStorage __RPC_FAR * This,
  3756. /* [in] */ ULONG celt,
  3757. /* [out] */ ULONG __RPC_FAR *pceltFetched);
  3758. void __RPC_STUB IMDSPEnumStorage_Skip_Stub(
  3759. IRpcStubBuffer *This,
  3760. IRpcChannelBuffer *_pRpcChannelBuffer,
  3761. PRPC_MESSAGE _pRpcMessage,
  3762. DWORD *_pdwStubPhase);
  3763. HRESULT STDMETHODCALLTYPE IMDSPEnumStorage_Reset_Proxy(
  3764. IMDSPEnumStorage __RPC_FAR * This);
  3765. void __RPC_STUB IMDSPEnumStorage_Reset_Stub(
  3766. IRpcStubBuffer *This,
  3767. IRpcChannelBuffer *_pRpcChannelBuffer,
  3768. PRPC_MESSAGE _pRpcMessage,
  3769. DWORD *_pdwStubPhase);
  3770. HRESULT STDMETHODCALLTYPE IMDSPEnumStorage_Clone_Proxy(
  3771. IMDSPEnumStorage __RPC_FAR * This,
  3772. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  3773. void __RPC_STUB IMDSPEnumStorage_Clone_Stub(
  3774. IRpcStubBuffer *This,
  3775. IRpcChannelBuffer *_pRpcChannelBuffer,
  3776. PRPC_MESSAGE _pRpcMessage,
  3777. DWORD *_pdwStubPhase);
  3778. #endif /* __IMDSPEnumStorage_INTERFACE_DEFINED__ */
  3779. #ifndef __IMDSPStorage_INTERFACE_DEFINED__
  3780. #define __IMDSPStorage_INTERFACE_DEFINED__
  3781. /* interface IMDSPStorage */
  3782. /* [unique][uuid][object] */
  3783. EXTERN_C const IID IID_IMDSPStorage;
  3784. #if defined(__cplusplus) && !defined(CINTERFACE)
  3785. MIDL_INTERFACE("1DCB3A16-33ED-11d3-8470-00C04F79DBC0")
  3786. IMDSPStorage : public IUnknown
  3787. {
  3788. public:
  3789. virtual HRESULT STDMETHODCALLTYPE SetAttributes(
  3790. /* [in] */ DWORD dwAttributes,
  3791. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat) = 0;
  3792. virtual HRESULT STDMETHODCALLTYPE GetStorageGlobals(
  3793. /* [out] */ IMDSPStorageGlobals __RPC_FAR *__RPC_FAR *ppStorageGlobals) = 0;
  3794. virtual HRESULT STDMETHODCALLTYPE GetAttributes(
  3795. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  3796. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat) = 0;
  3797. virtual HRESULT STDMETHODCALLTYPE GetName(
  3798. /* [size_is][string][out] */ LPWSTR pwszName,
  3799. /* [in] */ UINT nMaxChars) = 0;
  3800. virtual HRESULT STDMETHODCALLTYPE GetDate(
  3801. /* [out] */ PWMDMDATETIME pDateTimeUTC) = 0;
  3802. virtual HRESULT STDMETHODCALLTYPE GetSize(
  3803. /* [out] */ DWORD __RPC_FAR *pdwSizeLow,
  3804. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh) = 0;
  3805. virtual HRESULT STDMETHODCALLTYPE GetRights(
  3806. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  3807. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  3808. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  3809. virtual HRESULT STDMETHODCALLTYPE CreateStorage(
  3810. /* [in] */ DWORD dwAttributes,
  3811. /* [unique][in] */ _WAVEFORMATEX __RPC_FAR *pFormat,
  3812. /* [in] */ LPWSTR pwszName,
  3813. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppNewStorage) = 0;
  3814. virtual HRESULT STDMETHODCALLTYPE EnumStorage(
  3815. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage) = 0;
  3816. virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
  3817. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand) = 0;
  3818. };
  3819. #else /* C style interface */
  3820. typedef struct IMDSPStorageVtbl
  3821. {
  3822. BEGIN_INTERFACE
  3823. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3824. IMDSPStorage __RPC_FAR * This,
  3825. /* [in] */ REFIID riid,
  3826. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3827. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3828. IMDSPStorage __RPC_FAR * This);
  3829. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3830. IMDSPStorage __RPC_FAR * This);
  3831. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAttributes )(
  3832. IMDSPStorage __RPC_FAR * This,
  3833. /* [in] */ DWORD dwAttributes,
  3834. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  3835. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStorageGlobals )(
  3836. IMDSPStorage __RPC_FAR * This,
  3837. /* [out] */ IMDSPStorageGlobals __RPC_FAR *__RPC_FAR *ppStorageGlobals);
  3838. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributes )(
  3839. IMDSPStorage __RPC_FAR * This,
  3840. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  3841. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  3842. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )(
  3843. IMDSPStorage __RPC_FAR * This,
  3844. /* [size_is][string][out] */ LPWSTR pwszName,
  3845. /* [in] */ UINT nMaxChars);
  3846. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDate )(
  3847. IMDSPStorage __RPC_FAR * This,
  3848. /* [out] */ PWMDMDATETIME pDateTimeUTC);
  3849. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSize )(
  3850. IMDSPStorage __RPC_FAR * This,
  3851. /* [out] */ DWORD __RPC_FAR *pdwSizeLow,
  3852. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh);
  3853. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRights )(
  3854. IMDSPStorage __RPC_FAR * This,
  3855. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  3856. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  3857. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  3858. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateStorage )(
  3859. IMDSPStorage __RPC_FAR * This,
  3860. /* [in] */ DWORD dwAttributes,
  3861. /* [unique][in] */ _WAVEFORMATEX __RPC_FAR *pFormat,
  3862. /* [in] */ LPWSTR pwszName,
  3863. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppNewStorage);
  3864. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumStorage )(
  3865. IMDSPStorage __RPC_FAR * This,
  3866. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  3867. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendOpaqueCommand )(
  3868. IMDSPStorage __RPC_FAR * This,
  3869. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  3870. END_INTERFACE
  3871. } IMDSPStorageVtbl;
  3872. interface IMDSPStorage
  3873. {
  3874. CONST_VTBL struct IMDSPStorageVtbl __RPC_FAR *lpVtbl;
  3875. };
  3876. #ifdef COBJMACROS
  3877. #define IMDSPStorage_QueryInterface(This,riid,ppvObject) \
  3878. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3879. #define IMDSPStorage_AddRef(This) \
  3880. (This)->lpVtbl -> AddRef(This)
  3881. #define IMDSPStorage_Release(This) \
  3882. (This)->lpVtbl -> Release(This)
  3883. #define IMDSPStorage_SetAttributes(This,dwAttributes,pFormat) \
  3884. (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat)
  3885. #define IMDSPStorage_GetStorageGlobals(This,ppStorageGlobals) \
  3886. (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals)
  3887. #define IMDSPStorage_GetAttributes(This,pdwAttributes,pFormat) \
  3888. (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat)
  3889. #define IMDSPStorage_GetName(This,pwszName,nMaxChars) \
  3890. (This)->lpVtbl -> GetName(This,pwszName,nMaxChars)
  3891. #define IMDSPStorage_GetDate(This,pDateTimeUTC) \
  3892. (This)->lpVtbl -> GetDate(This,pDateTimeUTC)
  3893. #define IMDSPStorage_GetSize(This,pdwSizeLow,pdwSizeHigh) \
  3894. (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh)
  3895. #define IMDSPStorage_GetRights(This,ppRights,pnRightsCount,abMac) \
  3896. (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac)
  3897. #define IMDSPStorage_CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) \
  3898. (This)->lpVtbl -> CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage)
  3899. #define IMDSPStorage_EnumStorage(This,ppEnumStorage) \
  3900. (This)->lpVtbl -> EnumStorage(This,ppEnumStorage)
  3901. #define IMDSPStorage_SendOpaqueCommand(This,pCommand) \
  3902. (This)->lpVtbl -> SendOpaqueCommand(This,pCommand)
  3903. #endif /* COBJMACROS */
  3904. #endif /* C style interface */
  3905. HRESULT STDMETHODCALLTYPE IMDSPStorage_SetAttributes_Proxy(
  3906. IMDSPStorage __RPC_FAR * This,
  3907. /* [in] */ DWORD dwAttributes,
  3908. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  3909. void __RPC_STUB IMDSPStorage_SetAttributes_Stub(
  3910. IRpcStubBuffer *This,
  3911. IRpcChannelBuffer *_pRpcChannelBuffer,
  3912. PRPC_MESSAGE _pRpcMessage,
  3913. DWORD *_pdwStubPhase);
  3914. HRESULT STDMETHODCALLTYPE IMDSPStorage_GetStorageGlobals_Proxy(
  3915. IMDSPStorage __RPC_FAR * This,
  3916. /* [out] */ IMDSPStorageGlobals __RPC_FAR *__RPC_FAR *ppStorageGlobals);
  3917. void __RPC_STUB IMDSPStorage_GetStorageGlobals_Stub(
  3918. IRpcStubBuffer *This,
  3919. IRpcChannelBuffer *_pRpcChannelBuffer,
  3920. PRPC_MESSAGE _pRpcMessage,
  3921. DWORD *_pdwStubPhase);
  3922. HRESULT STDMETHODCALLTYPE IMDSPStorage_GetAttributes_Proxy(
  3923. IMDSPStorage __RPC_FAR * This,
  3924. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  3925. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  3926. void __RPC_STUB IMDSPStorage_GetAttributes_Stub(
  3927. IRpcStubBuffer *This,
  3928. IRpcChannelBuffer *_pRpcChannelBuffer,
  3929. PRPC_MESSAGE _pRpcMessage,
  3930. DWORD *_pdwStubPhase);
  3931. HRESULT STDMETHODCALLTYPE IMDSPStorage_GetName_Proxy(
  3932. IMDSPStorage __RPC_FAR * This,
  3933. /* [size_is][string][out] */ LPWSTR pwszName,
  3934. /* [in] */ UINT nMaxChars);
  3935. void __RPC_STUB IMDSPStorage_GetName_Stub(
  3936. IRpcStubBuffer *This,
  3937. IRpcChannelBuffer *_pRpcChannelBuffer,
  3938. PRPC_MESSAGE _pRpcMessage,
  3939. DWORD *_pdwStubPhase);
  3940. HRESULT STDMETHODCALLTYPE IMDSPStorage_GetDate_Proxy(
  3941. IMDSPStorage __RPC_FAR * This,
  3942. /* [out] */ PWMDMDATETIME pDateTimeUTC);
  3943. void __RPC_STUB IMDSPStorage_GetDate_Stub(
  3944. IRpcStubBuffer *This,
  3945. IRpcChannelBuffer *_pRpcChannelBuffer,
  3946. PRPC_MESSAGE _pRpcMessage,
  3947. DWORD *_pdwStubPhase);
  3948. HRESULT STDMETHODCALLTYPE IMDSPStorage_GetSize_Proxy(
  3949. IMDSPStorage __RPC_FAR * This,
  3950. /* [out] */ DWORD __RPC_FAR *pdwSizeLow,
  3951. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh);
  3952. void __RPC_STUB IMDSPStorage_GetSize_Stub(
  3953. IRpcStubBuffer *This,
  3954. IRpcChannelBuffer *_pRpcChannelBuffer,
  3955. PRPC_MESSAGE _pRpcMessage,
  3956. DWORD *_pdwStubPhase);
  3957. HRESULT STDMETHODCALLTYPE IMDSPStorage_GetRights_Proxy(
  3958. IMDSPStorage __RPC_FAR * This,
  3959. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  3960. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  3961. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  3962. void __RPC_STUB IMDSPStorage_GetRights_Stub(
  3963. IRpcStubBuffer *This,
  3964. IRpcChannelBuffer *_pRpcChannelBuffer,
  3965. PRPC_MESSAGE _pRpcMessage,
  3966. DWORD *_pdwStubPhase);
  3967. HRESULT STDMETHODCALLTYPE IMDSPStorage_CreateStorage_Proxy(
  3968. IMDSPStorage __RPC_FAR * This,
  3969. /* [in] */ DWORD dwAttributes,
  3970. /* [unique][in] */ _WAVEFORMATEX __RPC_FAR *pFormat,
  3971. /* [in] */ LPWSTR pwszName,
  3972. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppNewStorage);
  3973. void __RPC_STUB IMDSPStorage_CreateStorage_Stub(
  3974. IRpcStubBuffer *This,
  3975. IRpcChannelBuffer *_pRpcChannelBuffer,
  3976. PRPC_MESSAGE _pRpcMessage,
  3977. DWORD *_pdwStubPhase);
  3978. HRESULT STDMETHODCALLTYPE IMDSPStorage_EnumStorage_Proxy(
  3979. IMDSPStorage __RPC_FAR * This,
  3980. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  3981. void __RPC_STUB IMDSPStorage_EnumStorage_Stub(
  3982. IRpcStubBuffer *This,
  3983. IRpcChannelBuffer *_pRpcChannelBuffer,
  3984. PRPC_MESSAGE _pRpcMessage,
  3985. DWORD *_pdwStubPhase);
  3986. HRESULT STDMETHODCALLTYPE IMDSPStorage_SendOpaqueCommand_Proxy(
  3987. IMDSPStorage __RPC_FAR * This,
  3988. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  3989. void __RPC_STUB IMDSPStorage_SendOpaqueCommand_Stub(
  3990. IRpcStubBuffer *This,
  3991. IRpcChannelBuffer *_pRpcChannelBuffer,
  3992. PRPC_MESSAGE _pRpcMessage,
  3993. DWORD *_pdwStubPhase);
  3994. #endif /* __IMDSPStorage_INTERFACE_DEFINED__ */
  3995. #ifndef __IMDSPStorage2_INTERFACE_DEFINED__
  3996. #define __IMDSPStorage2_INTERFACE_DEFINED__
  3997. /* interface IMDSPStorage2 */
  3998. /* [unique][uuid][object] */
  3999. EXTERN_C const IID IID_IMDSPStorage2;
  4000. #if defined(__cplusplus) && !defined(CINTERFACE)
  4001. MIDL_INTERFACE("0A5E07A5-6454-4451-9C36-1C6AE7E2B1D6")
  4002. IMDSPStorage2 : public IMDSPStorage
  4003. {
  4004. public:
  4005. virtual HRESULT STDMETHODCALLTYPE GetStorage(
  4006. /* [string][in] */ LPCWSTR pszStorageName,
  4007. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppStorage) = 0;
  4008. virtual HRESULT STDMETHODCALLTYPE CreateStorage2(
  4009. /* [in] */ DWORD dwAttributes,
  4010. /* [in] */ DWORD dwAttributesEx,
  4011. /* [unique][in] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  4012. /* [unique][in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat,
  4013. /* [in] */ LPWSTR pwszName,
  4014. /* [in] */ ULONGLONG qwFileSize,
  4015. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppNewStorage) = 0;
  4016. virtual HRESULT STDMETHODCALLTYPE SetAttributes2(
  4017. /* [in] */ DWORD dwAttributes,
  4018. /* [in] */ DWORD dwAttributesEx,
  4019. /* [in] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  4020. /* [in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat) = 0;
  4021. virtual HRESULT STDMETHODCALLTYPE GetAttributes2(
  4022. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  4023. /* [out] */ DWORD __RPC_FAR *pdwAttributesEx,
  4024. /* [out] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  4025. /* [out] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat) = 0;
  4026. };
  4027. #else /* C style interface */
  4028. typedef struct IMDSPStorage2Vtbl
  4029. {
  4030. BEGIN_INTERFACE
  4031. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4032. IMDSPStorage2 __RPC_FAR * This,
  4033. /* [in] */ REFIID riid,
  4034. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4035. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4036. IMDSPStorage2 __RPC_FAR * This);
  4037. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4038. IMDSPStorage2 __RPC_FAR * This);
  4039. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAttributes )(
  4040. IMDSPStorage2 __RPC_FAR * This,
  4041. /* [in] */ DWORD dwAttributes,
  4042. /* [in] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  4043. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStorageGlobals )(
  4044. IMDSPStorage2 __RPC_FAR * This,
  4045. /* [out] */ IMDSPStorageGlobals __RPC_FAR *__RPC_FAR *ppStorageGlobals);
  4046. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributes )(
  4047. IMDSPStorage2 __RPC_FAR * This,
  4048. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  4049. /* [out] */ _WAVEFORMATEX __RPC_FAR *pFormat);
  4050. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )(
  4051. IMDSPStorage2 __RPC_FAR * This,
  4052. /* [size_is][string][out] */ LPWSTR pwszName,
  4053. /* [in] */ UINT nMaxChars);
  4054. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDate )(
  4055. IMDSPStorage2 __RPC_FAR * This,
  4056. /* [out] */ PWMDMDATETIME pDateTimeUTC);
  4057. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSize )(
  4058. IMDSPStorage2 __RPC_FAR * This,
  4059. /* [out] */ DWORD __RPC_FAR *pdwSizeLow,
  4060. /* [out] */ DWORD __RPC_FAR *pdwSizeHigh);
  4061. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRights )(
  4062. IMDSPStorage2 __RPC_FAR * This,
  4063. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  4064. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  4065. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4066. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateStorage )(
  4067. IMDSPStorage2 __RPC_FAR * This,
  4068. /* [in] */ DWORD dwAttributes,
  4069. /* [unique][in] */ _WAVEFORMATEX __RPC_FAR *pFormat,
  4070. /* [in] */ LPWSTR pwszName,
  4071. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppNewStorage);
  4072. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumStorage )(
  4073. IMDSPStorage2 __RPC_FAR * This,
  4074. /* [out] */ IMDSPEnumStorage __RPC_FAR *__RPC_FAR *ppEnumStorage);
  4075. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendOpaqueCommand )(
  4076. IMDSPStorage2 __RPC_FAR * This,
  4077. /* [out][in] */ OPAQUECOMMAND __RPC_FAR *pCommand);
  4078. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStorage )(
  4079. IMDSPStorage2 __RPC_FAR * This,
  4080. /* [string][in] */ LPCWSTR pszStorageName,
  4081. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppStorage);
  4082. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateStorage2 )(
  4083. IMDSPStorage2 __RPC_FAR * This,
  4084. /* [in] */ DWORD dwAttributes,
  4085. /* [in] */ DWORD dwAttributesEx,
  4086. /* [unique][in] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  4087. /* [unique][in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat,
  4088. /* [in] */ LPWSTR pwszName,
  4089. /* [in] */ ULONGLONG qwFileSize,
  4090. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppNewStorage);
  4091. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAttributes2 )(
  4092. IMDSPStorage2 __RPC_FAR * This,
  4093. /* [in] */ DWORD dwAttributes,
  4094. /* [in] */ DWORD dwAttributesEx,
  4095. /* [in] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  4096. /* [in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  4097. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributes2 )(
  4098. IMDSPStorage2 __RPC_FAR * This,
  4099. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  4100. /* [out] */ DWORD __RPC_FAR *pdwAttributesEx,
  4101. /* [out] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  4102. /* [out] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  4103. END_INTERFACE
  4104. } IMDSPStorage2Vtbl;
  4105. interface IMDSPStorage2
  4106. {
  4107. CONST_VTBL struct IMDSPStorage2Vtbl __RPC_FAR *lpVtbl;
  4108. };
  4109. #ifdef COBJMACROS
  4110. #define IMDSPStorage2_QueryInterface(This,riid,ppvObject) \
  4111. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4112. #define IMDSPStorage2_AddRef(This) \
  4113. (This)->lpVtbl -> AddRef(This)
  4114. #define IMDSPStorage2_Release(This) \
  4115. (This)->lpVtbl -> Release(This)
  4116. #define IMDSPStorage2_SetAttributes(This,dwAttributes,pFormat) \
  4117. (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat)
  4118. #define IMDSPStorage2_GetStorageGlobals(This,ppStorageGlobals) \
  4119. (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals)
  4120. #define IMDSPStorage2_GetAttributes(This,pdwAttributes,pFormat) \
  4121. (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat)
  4122. #define IMDSPStorage2_GetName(This,pwszName,nMaxChars) \
  4123. (This)->lpVtbl -> GetName(This,pwszName,nMaxChars)
  4124. #define IMDSPStorage2_GetDate(This,pDateTimeUTC) \
  4125. (This)->lpVtbl -> GetDate(This,pDateTimeUTC)
  4126. #define IMDSPStorage2_GetSize(This,pdwSizeLow,pdwSizeHigh) \
  4127. (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh)
  4128. #define IMDSPStorage2_GetRights(This,ppRights,pnRightsCount,abMac) \
  4129. (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac)
  4130. #define IMDSPStorage2_CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) \
  4131. (This)->lpVtbl -> CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage)
  4132. #define IMDSPStorage2_EnumStorage(This,ppEnumStorage) \
  4133. (This)->lpVtbl -> EnumStorage(This,ppEnumStorage)
  4134. #define IMDSPStorage2_SendOpaqueCommand(This,pCommand) \
  4135. (This)->lpVtbl -> SendOpaqueCommand(This,pCommand)
  4136. #define IMDSPStorage2_GetStorage(This,pszStorageName,ppStorage) \
  4137. (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage)
  4138. #define IMDSPStorage2_CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) \
  4139. (This)->lpVtbl -> CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage)
  4140. #define IMDSPStorage2_SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) \
  4141. (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat)
  4142. #define IMDSPStorage2_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
  4143. (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat)
  4144. #endif /* COBJMACROS */
  4145. #endif /* C style interface */
  4146. HRESULT STDMETHODCALLTYPE IMDSPStorage2_GetStorage_Proxy(
  4147. IMDSPStorage2 __RPC_FAR * This,
  4148. /* [string][in] */ LPCWSTR pszStorageName,
  4149. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppStorage);
  4150. void __RPC_STUB IMDSPStorage2_GetStorage_Stub(
  4151. IRpcStubBuffer *This,
  4152. IRpcChannelBuffer *_pRpcChannelBuffer,
  4153. PRPC_MESSAGE _pRpcMessage,
  4154. DWORD *_pdwStubPhase);
  4155. HRESULT STDMETHODCALLTYPE IMDSPStorage2_CreateStorage2_Proxy(
  4156. IMDSPStorage2 __RPC_FAR * This,
  4157. /* [in] */ DWORD dwAttributes,
  4158. /* [in] */ DWORD dwAttributesEx,
  4159. /* [unique][in] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  4160. /* [unique][in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat,
  4161. /* [in] */ LPWSTR pwszName,
  4162. /* [in] */ ULONGLONG qwFileSize,
  4163. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppNewStorage);
  4164. void __RPC_STUB IMDSPStorage2_CreateStorage2_Stub(
  4165. IRpcStubBuffer *This,
  4166. IRpcChannelBuffer *_pRpcChannelBuffer,
  4167. PRPC_MESSAGE _pRpcMessage,
  4168. DWORD *_pdwStubPhase);
  4169. HRESULT STDMETHODCALLTYPE IMDSPStorage2_SetAttributes2_Proxy(
  4170. IMDSPStorage2 __RPC_FAR * This,
  4171. /* [in] */ DWORD dwAttributes,
  4172. /* [in] */ DWORD dwAttributesEx,
  4173. /* [in] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  4174. /* [in] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  4175. void __RPC_STUB IMDSPStorage2_SetAttributes2_Stub(
  4176. IRpcStubBuffer *This,
  4177. IRpcChannelBuffer *_pRpcChannelBuffer,
  4178. PRPC_MESSAGE _pRpcMessage,
  4179. DWORD *_pdwStubPhase);
  4180. HRESULT STDMETHODCALLTYPE IMDSPStorage2_GetAttributes2_Proxy(
  4181. IMDSPStorage2 __RPC_FAR * This,
  4182. /* [out] */ DWORD __RPC_FAR *pdwAttributes,
  4183. /* [out] */ DWORD __RPC_FAR *pdwAttributesEx,
  4184. /* [out] */ _WAVEFORMATEX __RPC_FAR *pAudioFormat,
  4185. /* [out] */ _VIDEOINFOHEADER __RPC_FAR *pVideoFormat);
  4186. void __RPC_STUB IMDSPStorage2_GetAttributes2_Stub(
  4187. IRpcStubBuffer *This,
  4188. IRpcChannelBuffer *_pRpcChannelBuffer,
  4189. PRPC_MESSAGE _pRpcMessage,
  4190. DWORD *_pdwStubPhase);
  4191. #endif /* __IMDSPStorage2_INTERFACE_DEFINED__ */
  4192. #ifndef __IMDSPStorageGlobals_INTERFACE_DEFINED__
  4193. #define __IMDSPStorageGlobals_INTERFACE_DEFINED__
  4194. /* interface IMDSPStorageGlobals */
  4195. /* [unique][uuid][object] */
  4196. EXTERN_C const IID IID_IMDSPStorageGlobals;
  4197. #if defined(__cplusplus) && !defined(CINTERFACE)
  4198. MIDL_INTERFACE("1DCB3A17-33ED-11d3-8470-00C04F79DBC0")
  4199. IMDSPStorageGlobals : public IUnknown
  4200. {
  4201. public:
  4202. virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
  4203. /* [out] */ DWORD __RPC_FAR *pdwCapabilities) = 0;
  4204. virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
  4205. /* [out] */ PWMDMID pSerialNum,
  4206. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  4207. virtual HRESULT STDMETHODCALLTYPE GetTotalSize(
  4208. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeLow,
  4209. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeHigh) = 0;
  4210. virtual HRESULT STDMETHODCALLTYPE GetTotalFree(
  4211. /* [out] */ DWORD __RPC_FAR *pdwFreeLow,
  4212. /* [out] */ DWORD __RPC_FAR *pdwFreeHigh) = 0;
  4213. virtual HRESULT STDMETHODCALLTYPE GetTotalBad(
  4214. /* [out] */ DWORD __RPC_FAR *pdwBadLow,
  4215. /* [out] */ DWORD __RPC_FAR *pdwBadHigh) = 0;
  4216. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  4217. /* [out] */ DWORD __RPC_FAR *pdwStatus) = 0;
  4218. virtual HRESULT STDMETHODCALLTYPE Initialize(
  4219. /* [in] */ UINT fuMode,
  4220. /* [in] */ IWMDMProgress __RPC_FAR *pProgress) = 0;
  4221. virtual HRESULT STDMETHODCALLTYPE GetDevice(
  4222. /* [out] */ IMDSPDevice __RPC_FAR *__RPC_FAR *ppDevice) = 0;
  4223. virtual HRESULT STDMETHODCALLTYPE GetRootStorage(
  4224. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppRoot) = 0;
  4225. };
  4226. #else /* C style interface */
  4227. typedef struct IMDSPStorageGlobalsVtbl
  4228. {
  4229. BEGIN_INTERFACE
  4230. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4231. IMDSPStorageGlobals __RPC_FAR * This,
  4232. /* [in] */ REFIID riid,
  4233. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4234. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4235. IMDSPStorageGlobals __RPC_FAR * This);
  4236. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4237. IMDSPStorageGlobals __RPC_FAR * This);
  4238. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCapabilities )(
  4239. IMDSPStorageGlobals __RPC_FAR * This,
  4240. /* [out] */ DWORD __RPC_FAR *pdwCapabilities);
  4241. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSerialNumber )(
  4242. IMDSPStorageGlobals __RPC_FAR * This,
  4243. /* [out] */ PWMDMID pSerialNum,
  4244. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4245. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTotalSize )(
  4246. IMDSPStorageGlobals __RPC_FAR * This,
  4247. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeLow,
  4248. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeHigh);
  4249. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTotalFree )(
  4250. IMDSPStorageGlobals __RPC_FAR * This,
  4251. /* [out] */ DWORD __RPC_FAR *pdwFreeLow,
  4252. /* [out] */ DWORD __RPC_FAR *pdwFreeHigh);
  4253. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTotalBad )(
  4254. IMDSPStorageGlobals __RPC_FAR * This,
  4255. /* [out] */ DWORD __RPC_FAR *pdwBadLow,
  4256. /* [out] */ DWORD __RPC_FAR *pdwBadHigh);
  4257. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )(
  4258. IMDSPStorageGlobals __RPC_FAR * This,
  4259. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  4260. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Initialize )(
  4261. IMDSPStorageGlobals __RPC_FAR * This,
  4262. /* [in] */ UINT fuMode,
  4263. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  4264. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDevice )(
  4265. IMDSPStorageGlobals __RPC_FAR * This,
  4266. /* [out] */ IMDSPDevice __RPC_FAR *__RPC_FAR *ppDevice);
  4267. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRootStorage )(
  4268. IMDSPStorageGlobals __RPC_FAR * This,
  4269. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppRoot);
  4270. END_INTERFACE
  4271. } IMDSPStorageGlobalsVtbl;
  4272. interface IMDSPStorageGlobals
  4273. {
  4274. CONST_VTBL struct IMDSPStorageGlobalsVtbl __RPC_FAR *lpVtbl;
  4275. };
  4276. #ifdef COBJMACROS
  4277. #define IMDSPStorageGlobals_QueryInterface(This,riid,ppvObject) \
  4278. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4279. #define IMDSPStorageGlobals_AddRef(This) \
  4280. (This)->lpVtbl -> AddRef(This)
  4281. #define IMDSPStorageGlobals_Release(This) \
  4282. (This)->lpVtbl -> Release(This)
  4283. #define IMDSPStorageGlobals_GetCapabilities(This,pdwCapabilities) \
  4284. (This)->lpVtbl -> GetCapabilities(This,pdwCapabilities)
  4285. #define IMDSPStorageGlobals_GetSerialNumber(This,pSerialNum,abMac) \
  4286. (This)->lpVtbl -> GetSerialNumber(This,pSerialNum,abMac)
  4287. #define IMDSPStorageGlobals_GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh) \
  4288. (This)->lpVtbl -> GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh)
  4289. #define IMDSPStorageGlobals_GetTotalFree(This,pdwFreeLow,pdwFreeHigh) \
  4290. (This)->lpVtbl -> GetTotalFree(This,pdwFreeLow,pdwFreeHigh)
  4291. #define IMDSPStorageGlobals_GetTotalBad(This,pdwBadLow,pdwBadHigh) \
  4292. (This)->lpVtbl -> GetTotalBad(This,pdwBadLow,pdwBadHigh)
  4293. #define IMDSPStorageGlobals_GetStatus(This,pdwStatus) \
  4294. (This)->lpVtbl -> GetStatus(This,pdwStatus)
  4295. #define IMDSPStorageGlobals_Initialize(This,fuMode,pProgress) \
  4296. (This)->lpVtbl -> Initialize(This,fuMode,pProgress)
  4297. #define IMDSPStorageGlobals_GetDevice(This,ppDevice) \
  4298. (This)->lpVtbl -> GetDevice(This,ppDevice)
  4299. #define IMDSPStorageGlobals_GetRootStorage(This,ppRoot) \
  4300. (This)->lpVtbl -> GetRootStorage(This,ppRoot)
  4301. #endif /* COBJMACROS */
  4302. #endif /* C style interface */
  4303. HRESULT STDMETHODCALLTYPE IMDSPStorageGlobals_GetCapabilities_Proxy(
  4304. IMDSPStorageGlobals __RPC_FAR * This,
  4305. /* [out] */ DWORD __RPC_FAR *pdwCapabilities);
  4306. void __RPC_STUB IMDSPStorageGlobals_GetCapabilities_Stub(
  4307. IRpcStubBuffer *This,
  4308. IRpcChannelBuffer *_pRpcChannelBuffer,
  4309. PRPC_MESSAGE _pRpcMessage,
  4310. DWORD *_pdwStubPhase);
  4311. HRESULT STDMETHODCALLTYPE IMDSPStorageGlobals_GetSerialNumber_Proxy(
  4312. IMDSPStorageGlobals __RPC_FAR * This,
  4313. /* [out] */ PWMDMID pSerialNum,
  4314. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4315. void __RPC_STUB IMDSPStorageGlobals_GetSerialNumber_Stub(
  4316. IRpcStubBuffer *This,
  4317. IRpcChannelBuffer *_pRpcChannelBuffer,
  4318. PRPC_MESSAGE _pRpcMessage,
  4319. DWORD *_pdwStubPhase);
  4320. HRESULT STDMETHODCALLTYPE IMDSPStorageGlobals_GetTotalSize_Proxy(
  4321. IMDSPStorageGlobals __RPC_FAR * This,
  4322. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeLow,
  4323. /* [out] */ DWORD __RPC_FAR *pdwTotalSizeHigh);
  4324. void __RPC_STUB IMDSPStorageGlobals_GetTotalSize_Stub(
  4325. IRpcStubBuffer *This,
  4326. IRpcChannelBuffer *_pRpcChannelBuffer,
  4327. PRPC_MESSAGE _pRpcMessage,
  4328. DWORD *_pdwStubPhase);
  4329. HRESULT STDMETHODCALLTYPE IMDSPStorageGlobals_GetTotalFree_Proxy(
  4330. IMDSPStorageGlobals __RPC_FAR * This,
  4331. /* [out] */ DWORD __RPC_FAR *pdwFreeLow,
  4332. /* [out] */ DWORD __RPC_FAR *pdwFreeHigh);
  4333. void __RPC_STUB IMDSPStorageGlobals_GetTotalFree_Stub(
  4334. IRpcStubBuffer *This,
  4335. IRpcChannelBuffer *_pRpcChannelBuffer,
  4336. PRPC_MESSAGE _pRpcMessage,
  4337. DWORD *_pdwStubPhase);
  4338. HRESULT STDMETHODCALLTYPE IMDSPStorageGlobals_GetTotalBad_Proxy(
  4339. IMDSPStorageGlobals __RPC_FAR * This,
  4340. /* [out] */ DWORD __RPC_FAR *pdwBadLow,
  4341. /* [out] */ DWORD __RPC_FAR *pdwBadHigh);
  4342. void __RPC_STUB IMDSPStorageGlobals_GetTotalBad_Stub(
  4343. IRpcStubBuffer *This,
  4344. IRpcChannelBuffer *_pRpcChannelBuffer,
  4345. PRPC_MESSAGE _pRpcMessage,
  4346. DWORD *_pdwStubPhase);
  4347. HRESULT STDMETHODCALLTYPE IMDSPStorageGlobals_GetStatus_Proxy(
  4348. IMDSPStorageGlobals __RPC_FAR * This,
  4349. /* [out] */ DWORD __RPC_FAR *pdwStatus);
  4350. void __RPC_STUB IMDSPStorageGlobals_GetStatus_Stub(
  4351. IRpcStubBuffer *This,
  4352. IRpcChannelBuffer *_pRpcChannelBuffer,
  4353. PRPC_MESSAGE _pRpcMessage,
  4354. DWORD *_pdwStubPhase);
  4355. HRESULT STDMETHODCALLTYPE IMDSPStorageGlobals_Initialize_Proxy(
  4356. IMDSPStorageGlobals __RPC_FAR * This,
  4357. /* [in] */ UINT fuMode,
  4358. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  4359. void __RPC_STUB IMDSPStorageGlobals_Initialize_Stub(
  4360. IRpcStubBuffer *This,
  4361. IRpcChannelBuffer *_pRpcChannelBuffer,
  4362. PRPC_MESSAGE _pRpcMessage,
  4363. DWORD *_pdwStubPhase);
  4364. HRESULT STDMETHODCALLTYPE IMDSPStorageGlobals_GetDevice_Proxy(
  4365. IMDSPStorageGlobals __RPC_FAR * This,
  4366. /* [out] */ IMDSPDevice __RPC_FAR *__RPC_FAR *ppDevice);
  4367. void __RPC_STUB IMDSPStorageGlobals_GetDevice_Stub(
  4368. IRpcStubBuffer *This,
  4369. IRpcChannelBuffer *_pRpcChannelBuffer,
  4370. PRPC_MESSAGE _pRpcMessage,
  4371. DWORD *_pdwStubPhase);
  4372. HRESULT STDMETHODCALLTYPE IMDSPStorageGlobals_GetRootStorage_Proxy(
  4373. IMDSPStorageGlobals __RPC_FAR * This,
  4374. /* [out] */ IMDSPStorage __RPC_FAR *__RPC_FAR *ppRoot);
  4375. void __RPC_STUB IMDSPStorageGlobals_GetRootStorage_Stub(
  4376. IRpcStubBuffer *This,
  4377. IRpcChannelBuffer *_pRpcChannelBuffer,
  4378. PRPC_MESSAGE _pRpcMessage,
  4379. DWORD *_pdwStubPhase);
  4380. #endif /* __IMDSPStorageGlobals_INTERFACE_DEFINED__ */
  4381. #ifndef __IMDSPObjectInfo_INTERFACE_DEFINED__
  4382. #define __IMDSPObjectInfo_INTERFACE_DEFINED__
  4383. /* interface IMDSPObjectInfo */
  4384. /* [unique][uuid][object] */
  4385. EXTERN_C const IID IID_IMDSPObjectInfo;
  4386. #if defined(__cplusplus) && !defined(CINTERFACE)
  4387. MIDL_INTERFACE("1DCB3A19-33ED-11d3-8470-00C04F79DBC0")
  4388. IMDSPObjectInfo : public IUnknown
  4389. {
  4390. public:
  4391. virtual HRESULT STDMETHODCALLTYPE GetPlayLength(
  4392. /* [out] */ DWORD __RPC_FAR *pdwLength) = 0;
  4393. virtual HRESULT STDMETHODCALLTYPE SetPlayLength(
  4394. /* [in] */ DWORD dwLength) = 0;
  4395. virtual HRESULT STDMETHODCALLTYPE GetPlayOffset(
  4396. /* [out] */ DWORD __RPC_FAR *pdwOffset) = 0;
  4397. virtual HRESULT STDMETHODCALLTYPE SetPlayOffset(
  4398. /* [in] */ DWORD dwOffset) = 0;
  4399. virtual HRESULT STDMETHODCALLTYPE GetTotalLength(
  4400. /* [out] */ DWORD __RPC_FAR *pdwLength) = 0;
  4401. virtual HRESULT STDMETHODCALLTYPE GetLastPlayPosition(
  4402. /* [out] */ DWORD __RPC_FAR *pdwLastPos) = 0;
  4403. virtual HRESULT STDMETHODCALLTYPE GetLongestPlayPosition(
  4404. /* [out] */ DWORD __RPC_FAR *pdwLongestPos) = 0;
  4405. };
  4406. #else /* C style interface */
  4407. typedef struct IMDSPObjectInfoVtbl
  4408. {
  4409. BEGIN_INTERFACE
  4410. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4411. IMDSPObjectInfo __RPC_FAR * This,
  4412. /* [in] */ REFIID riid,
  4413. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4414. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4415. IMDSPObjectInfo __RPC_FAR * This);
  4416. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4417. IMDSPObjectInfo __RPC_FAR * This);
  4418. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPlayLength )(
  4419. IMDSPObjectInfo __RPC_FAR * This,
  4420. /* [out] */ DWORD __RPC_FAR *pdwLength);
  4421. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPlayLength )(
  4422. IMDSPObjectInfo __RPC_FAR * This,
  4423. /* [in] */ DWORD dwLength);
  4424. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPlayOffset )(
  4425. IMDSPObjectInfo __RPC_FAR * This,
  4426. /* [out] */ DWORD __RPC_FAR *pdwOffset);
  4427. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPlayOffset )(
  4428. IMDSPObjectInfo __RPC_FAR * This,
  4429. /* [in] */ DWORD dwOffset);
  4430. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTotalLength )(
  4431. IMDSPObjectInfo __RPC_FAR * This,
  4432. /* [out] */ DWORD __RPC_FAR *pdwLength);
  4433. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLastPlayPosition )(
  4434. IMDSPObjectInfo __RPC_FAR * This,
  4435. /* [out] */ DWORD __RPC_FAR *pdwLastPos);
  4436. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLongestPlayPosition )(
  4437. IMDSPObjectInfo __RPC_FAR * This,
  4438. /* [out] */ DWORD __RPC_FAR *pdwLongestPos);
  4439. END_INTERFACE
  4440. } IMDSPObjectInfoVtbl;
  4441. interface IMDSPObjectInfo
  4442. {
  4443. CONST_VTBL struct IMDSPObjectInfoVtbl __RPC_FAR *lpVtbl;
  4444. };
  4445. #ifdef COBJMACROS
  4446. #define IMDSPObjectInfo_QueryInterface(This,riid,ppvObject) \
  4447. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4448. #define IMDSPObjectInfo_AddRef(This) \
  4449. (This)->lpVtbl -> AddRef(This)
  4450. #define IMDSPObjectInfo_Release(This) \
  4451. (This)->lpVtbl -> Release(This)
  4452. #define IMDSPObjectInfo_GetPlayLength(This,pdwLength) \
  4453. (This)->lpVtbl -> GetPlayLength(This,pdwLength)
  4454. #define IMDSPObjectInfo_SetPlayLength(This,dwLength) \
  4455. (This)->lpVtbl -> SetPlayLength(This,dwLength)
  4456. #define IMDSPObjectInfo_GetPlayOffset(This,pdwOffset) \
  4457. (This)->lpVtbl -> GetPlayOffset(This,pdwOffset)
  4458. #define IMDSPObjectInfo_SetPlayOffset(This,dwOffset) \
  4459. (This)->lpVtbl -> SetPlayOffset(This,dwOffset)
  4460. #define IMDSPObjectInfo_GetTotalLength(This,pdwLength) \
  4461. (This)->lpVtbl -> GetTotalLength(This,pdwLength)
  4462. #define IMDSPObjectInfo_GetLastPlayPosition(This,pdwLastPos) \
  4463. (This)->lpVtbl -> GetLastPlayPosition(This,pdwLastPos)
  4464. #define IMDSPObjectInfo_GetLongestPlayPosition(This,pdwLongestPos) \
  4465. (This)->lpVtbl -> GetLongestPlayPosition(This,pdwLongestPos)
  4466. #endif /* COBJMACROS */
  4467. #endif /* C style interface */
  4468. HRESULT STDMETHODCALLTYPE IMDSPObjectInfo_GetPlayLength_Proxy(
  4469. IMDSPObjectInfo __RPC_FAR * This,
  4470. /* [out] */ DWORD __RPC_FAR *pdwLength);
  4471. void __RPC_STUB IMDSPObjectInfo_GetPlayLength_Stub(
  4472. IRpcStubBuffer *This,
  4473. IRpcChannelBuffer *_pRpcChannelBuffer,
  4474. PRPC_MESSAGE _pRpcMessage,
  4475. DWORD *_pdwStubPhase);
  4476. HRESULT STDMETHODCALLTYPE IMDSPObjectInfo_SetPlayLength_Proxy(
  4477. IMDSPObjectInfo __RPC_FAR * This,
  4478. /* [in] */ DWORD dwLength);
  4479. void __RPC_STUB IMDSPObjectInfo_SetPlayLength_Stub(
  4480. IRpcStubBuffer *This,
  4481. IRpcChannelBuffer *_pRpcChannelBuffer,
  4482. PRPC_MESSAGE _pRpcMessage,
  4483. DWORD *_pdwStubPhase);
  4484. HRESULT STDMETHODCALLTYPE IMDSPObjectInfo_GetPlayOffset_Proxy(
  4485. IMDSPObjectInfo __RPC_FAR * This,
  4486. /* [out] */ DWORD __RPC_FAR *pdwOffset);
  4487. void __RPC_STUB IMDSPObjectInfo_GetPlayOffset_Stub(
  4488. IRpcStubBuffer *This,
  4489. IRpcChannelBuffer *_pRpcChannelBuffer,
  4490. PRPC_MESSAGE _pRpcMessage,
  4491. DWORD *_pdwStubPhase);
  4492. HRESULT STDMETHODCALLTYPE IMDSPObjectInfo_SetPlayOffset_Proxy(
  4493. IMDSPObjectInfo __RPC_FAR * This,
  4494. /* [in] */ DWORD dwOffset);
  4495. void __RPC_STUB IMDSPObjectInfo_SetPlayOffset_Stub(
  4496. IRpcStubBuffer *This,
  4497. IRpcChannelBuffer *_pRpcChannelBuffer,
  4498. PRPC_MESSAGE _pRpcMessage,
  4499. DWORD *_pdwStubPhase);
  4500. HRESULT STDMETHODCALLTYPE IMDSPObjectInfo_GetTotalLength_Proxy(
  4501. IMDSPObjectInfo __RPC_FAR * This,
  4502. /* [out] */ DWORD __RPC_FAR *pdwLength);
  4503. void __RPC_STUB IMDSPObjectInfo_GetTotalLength_Stub(
  4504. IRpcStubBuffer *This,
  4505. IRpcChannelBuffer *_pRpcChannelBuffer,
  4506. PRPC_MESSAGE _pRpcMessage,
  4507. DWORD *_pdwStubPhase);
  4508. HRESULT STDMETHODCALLTYPE IMDSPObjectInfo_GetLastPlayPosition_Proxy(
  4509. IMDSPObjectInfo __RPC_FAR * This,
  4510. /* [out] */ DWORD __RPC_FAR *pdwLastPos);
  4511. void __RPC_STUB IMDSPObjectInfo_GetLastPlayPosition_Stub(
  4512. IRpcStubBuffer *This,
  4513. IRpcChannelBuffer *_pRpcChannelBuffer,
  4514. PRPC_MESSAGE _pRpcMessage,
  4515. DWORD *_pdwStubPhase);
  4516. HRESULT STDMETHODCALLTYPE IMDSPObjectInfo_GetLongestPlayPosition_Proxy(
  4517. IMDSPObjectInfo __RPC_FAR * This,
  4518. /* [out] */ DWORD __RPC_FAR *pdwLongestPos);
  4519. void __RPC_STUB IMDSPObjectInfo_GetLongestPlayPosition_Stub(
  4520. IRpcStubBuffer *This,
  4521. IRpcChannelBuffer *_pRpcChannelBuffer,
  4522. PRPC_MESSAGE _pRpcMessage,
  4523. DWORD *_pdwStubPhase);
  4524. #endif /* __IMDSPObjectInfo_INTERFACE_DEFINED__ */
  4525. #ifndef __IMDSPObject_INTERFACE_DEFINED__
  4526. #define __IMDSPObject_INTERFACE_DEFINED__
  4527. /* interface IMDSPObject */
  4528. /* [unique][uuid][object] */
  4529. EXTERN_C const IID IID_IMDSPObject;
  4530. #if defined(__cplusplus) && !defined(CINTERFACE)
  4531. MIDL_INTERFACE("1DCB3A18-33ED-11d3-8470-00C04F79DBC0")
  4532. IMDSPObject : public IUnknown
  4533. {
  4534. public:
  4535. virtual HRESULT STDMETHODCALLTYPE Open(
  4536. /* [in] */ UINT fuMode) = 0;
  4537. virtual HRESULT STDMETHODCALLTYPE Read(
  4538. /* [size_is][out] */ BYTE __RPC_FAR *pData,
  4539. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  4540. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  4541. virtual HRESULT STDMETHODCALLTYPE Write(
  4542. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4543. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  4544. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  4545. virtual HRESULT STDMETHODCALLTYPE Delete(
  4546. /* [in] */ UINT fuMode,
  4547. /* [in] */ IWMDMProgress __RPC_FAR *pProgress) = 0;
  4548. virtual HRESULT STDMETHODCALLTYPE Seek(
  4549. /* [in] */ UINT fuFlags,
  4550. /* [in] */ DWORD dwOffset) = 0;
  4551. virtual HRESULT STDMETHODCALLTYPE Rename(
  4552. /* [in] */ LPWSTR pwszNewName,
  4553. /* [in] */ IWMDMProgress __RPC_FAR *pProgress) = 0;
  4554. virtual HRESULT STDMETHODCALLTYPE Move(
  4555. /* [in] */ UINT fuMode,
  4556. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  4557. /* [in] */ IMDSPStorage __RPC_FAR *pTarget) = 0;
  4558. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  4559. };
  4560. #else /* C style interface */
  4561. typedef struct IMDSPObjectVtbl
  4562. {
  4563. BEGIN_INTERFACE
  4564. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4565. IMDSPObject __RPC_FAR * This,
  4566. /* [in] */ REFIID riid,
  4567. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4568. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4569. IMDSPObject __RPC_FAR * This);
  4570. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4571. IMDSPObject __RPC_FAR * This);
  4572. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )(
  4573. IMDSPObject __RPC_FAR * This,
  4574. /* [in] */ UINT fuMode);
  4575. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )(
  4576. IMDSPObject __RPC_FAR * This,
  4577. /* [size_is][out] */ BYTE __RPC_FAR *pData,
  4578. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  4579. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4580. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )(
  4581. IMDSPObject __RPC_FAR * This,
  4582. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4583. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  4584. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4585. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )(
  4586. IMDSPObject __RPC_FAR * This,
  4587. /* [in] */ UINT fuMode,
  4588. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  4589. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )(
  4590. IMDSPObject __RPC_FAR * This,
  4591. /* [in] */ UINT fuFlags,
  4592. /* [in] */ DWORD dwOffset);
  4593. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rename )(
  4594. IMDSPObject __RPC_FAR * This,
  4595. /* [in] */ LPWSTR pwszNewName,
  4596. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  4597. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )(
  4598. IMDSPObject __RPC_FAR * This,
  4599. /* [in] */ UINT fuMode,
  4600. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  4601. /* [in] */ IMDSPStorage __RPC_FAR *pTarget);
  4602. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
  4603. IMDSPObject __RPC_FAR * This);
  4604. END_INTERFACE
  4605. } IMDSPObjectVtbl;
  4606. interface IMDSPObject
  4607. {
  4608. CONST_VTBL struct IMDSPObjectVtbl __RPC_FAR *lpVtbl;
  4609. };
  4610. #ifdef COBJMACROS
  4611. #define IMDSPObject_QueryInterface(This,riid,ppvObject) \
  4612. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4613. #define IMDSPObject_AddRef(This) \
  4614. (This)->lpVtbl -> AddRef(This)
  4615. #define IMDSPObject_Release(This) \
  4616. (This)->lpVtbl -> Release(This)
  4617. #define IMDSPObject_Open(This,fuMode) \
  4618. (This)->lpVtbl -> Open(This,fuMode)
  4619. #define IMDSPObject_Read(This,pData,pdwSize,abMac) \
  4620. (This)->lpVtbl -> Read(This,pData,pdwSize,abMac)
  4621. #define IMDSPObject_Write(This,pData,pdwSize,abMac) \
  4622. (This)->lpVtbl -> Write(This,pData,pdwSize,abMac)
  4623. #define IMDSPObject_Delete(This,fuMode,pProgress) \
  4624. (This)->lpVtbl -> Delete(This,fuMode,pProgress)
  4625. #define IMDSPObject_Seek(This,fuFlags,dwOffset) \
  4626. (This)->lpVtbl -> Seek(This,fuFlags,dwOffset)
  4627. #define IMDSPObject_Rename(This,pwszNewName,pProgress) \
  4628. (This)->lpVtbl -> Rename(This,pwszNewName,pProgress)
  4629. #define IMDSPObject_Move(This,fuMode,pProgress,pTarget) \
  4630. (This)->lpVtbl -> Move(This,fuMode,pProgress,pTarget)
  4631. #define IMDSPObject_Close(This) \
  4632. (This)->lpVtbl -> Close(This)
  4633. #endif /* COBJMACROS */
  4634. #endif /* C style interface */
  4635. HRESULT STDMETHODCALLTYPE IMDSPObject_Open_Proxy(
  4636. IMDSPObject __RPC_FAR * This,
  4637. /* [in] */ UINT fuMode);
  4638. void __RPC_STUB IMDSPObject_Open_Stub(
  4639. IRpcStubBuffer *This,
  4640. IRpcChannelBuffer *_pRpcChannelBuffer,
  4641. PRPC_MESSAGE _pRpcMessage,
  4642. DWORD *_pdwStubPhase);
  4643. HRESULT STDMETHODCALLTYPE IMDSPObject_Read_Proxy(
  4644. IMDSPObject __RPC_FAR * This,
  4645. /* [size_is][out] */ BYTE __RPC_FAR *pData,
  4646. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  4647. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4648. void __RPC_STUB IMDSPObject_Read_Stub(
  4649. IRpcStubBuffer *This,
  4650. IRpcChannelBuffer *_pRpcChannelBuffer,
  4651. PRPC_MESSAGE _pRpcMessage,
  4652. DWORD *_pdwStubPhase);
  4653. HRESULT STDMETHODCALLTYPE IMDSPObject_Write_Proxy(
  4654. IMDSPObject __RPC_FAR * This,
  4655. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4656. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  4657. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4658. void __RPC_STUB IMDSPObject_Write_Stub(
  4659. IRpcStubBuffer *This,
  4660. IRpcChannelBuffer *_pRpcChannelBuffer,
  4661. PRPC_MESSAGE _pRpcMessage,
  4662. DWORD *_pdwStubPhase);
  4663. HRESULT STDMETHODCALLTYPE IMDSPObject_Delete_Proxy(
  4664. IMDSPObject __RPC_FAR * This,
  4665. /* [in] */ UINT fuMode,
  4666. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  4667. void __RPC_STUB IMDSPObject_Delete_Stub(
  4668. IRpcStubBuffer *This,
  4669. IRpcChannelBuffer *_pRpcChannelBuffer,
  4670. PRPC_MESSAGE _pRpcMessage,
  4671. DWORD *_pdwStubPhase);
  4672. HRESULT STDMETHODCALLTYPE IMDSPObject_Seek_Proxy(
  4673. IMDSPObject __RPC_FAR * This,
  4674. /* [in] */ UINT fuFlags,
  4675. /* [in] */ DWORD dwOffset);
  4676. void __RPC_STUB IMDSPObject_Seek_Stub(
  4677. IRpcStubBuffer *This,
  4678. IRpcChannelBuffer *_pRpcChannelBuffer,
  4679. PRPC_MESSAGE _pRpcMessage,
  4680. DWORD *_pdwStubPhase);
  4681. HRESULT STDMETHODCALLTYPE IMDSPObject_Rename_Proxy(
  4682. IMDSPObject __RPC_FAR * This,
  4683. /* [in] */ LPWSTR pwszNewName,
  4684. /* [in] */ IWMDMProgress __RPC_FAR *pProgress);
  4685. void __RPC_STUB IMDSPObject_Rename_Stub(
  4686. IRpcStubBuffer *This,
  4687. IRpcChannelBuffer *_pRpcChannelBuffer,
  4688. PRPC_MESSAGE _pRpcMessage,
  4689. DWORD *_pdwStubPhase);
  4690. HRESULT STDMETHODCALLTYPE IMDSPObject_Move_Proxy(
  4691. IMDSPObject __RPC_FAR * This,
  4692. /* [in] */ UINT fuMode,
  4693. /* [in] */ IWMDMProgress __RPC_FAR *pProgress,
  4694. /* [in] */ IMDSPStorage __RPC_FAR *pTarget);
  4695. void __RPC_STUB IMDSPObject_Move_Stub(
  4696. IRpcStubBuffer *This,
  4697. IRpcChannelBuffer *_pRpcChannelBuffer,
  4698. PRPC_MESSAGE _pRpcMessage,
  4699. DWORD *_pdwStubPhase);
  4700. HRESULT STDMETHODCALLTYPE IMDSPObject_Close_Proxy(
  4701. IMDSPObject __RPC_FAR * This);
  4702. void __RPC_STUB IMDSPObject_Close_Stub(
  4703. IRpcStubBuffer *This,
  4704. IRpcChannelBuffer *_pRpcChannelBuffer,
  4705. PRPC_MESSAGE _pRpcMessage,
  4706. DWORD *_pdwStubPhase);
  4707. #endif /* __IMDSPObject_INTERFACE_DEFINED__ */
  4708. #ifndef __IMDSPRevoked_INTERFACE_DEFINED__
  4709. #define __IMDSPRevoked_INTERFACE_DEFINED__
  4710. /* interface IMDSPRevoked */
  4711. /* [unique][uuid][object] */
  4712. EXTERN_C const IID IID_IMDSPRevoked;
  4713. #if defined(__cplusplus) && !defined(CINTERFACE)
  4714. MIDL_INTERFACE("A4E8F2D4-3F31-464d-B53D-4FC335998184")
  4715. IMDSPRevoked : public IUnknown
  4716. {
  4717. public:
  4718. virtual HRESULT STDMETHODCALLTYPE GetRevocationURL(
  4719. /* [size_is][size_is][string][out][in] */ LPWSTR __RPC_FAR *ppwszRevocationURL,
  4720. /* [out][in] */ DWORD __RPC_FAR *pdwBufferLen) = 0;
  4721. };
  4722. #else /* C style interface */
  4723. typedef struct IMDSPRevokedVtbl
  4724. {
  4725. BEGIN_INTERFACE
  4726. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4727. IMDSPRevoked __RPC_FAR * This,
  4728. /* [in] */ REFIID riid,
  4729. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4730. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4731. IMDSPRevoked __RPC_FAR * This);
  4732. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4733. IMDSPRevoked __RPC_FAR * This);
  4734. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRevocationURL )(
  4735. IMDSPRevoked __RPC_FAR * This,
  4736. /* [size_is][size_is][string][out][in] */ LPWSTR __RPC_FAR *ppwszRevocationURL,
  4737. /* [out][in] */ DWORD __RPC_FAR *pdwBufferLen);
  4738. END_INTERFACE
  4739. } IMDSPRevokedVtbl;
  4740. interface IMDSPRevoked
  4741. {
  4742. CONST_VTBL struct IMDSPRevokedVtbl __RPC_FAR *lpVtbl;
  4743. };
  4744. #ifdef COBJMACROS
  4745. #define IMDSPRevoked_QueryInterface(This,riid,ppvObject) \
  4746. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4747. #define IMDSPRevoked_AddRef(This) \
  4748. (This)->lpVtbl -> AddRef(This)
  4749. #define IMDSPRevoked_Release(This) \
  4750. (This)->lpVtbl -> Release(This)
  4751. #define IMDSPRevoked_GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen) \
  4752. (This)->lpVtbl -> GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen)
  4753. #endif /* COBJMACROS */
  4754. #endif /* C style interface */
  4755. HRESULT STDMETHODCALLTYPE IMDSPRevoked_GetRevocationURL_Proxy(
  4756. IMDSPRevoked __RPC_FAR * This,
  4757. /* [size_is][size_is][string][out][in] */ LPWSTR __RPC_FAR *ppwszRevocationURL,
  4758. /* [out][in] */ DWORD __RPC_FAR *pdwBufferLen);
  4759. void __RPC_STUB IMDSPRevoked_GetRevocationURL_Stub(
  4760. IRpcStubBuffer *This,
  4761. IRpcChannelBuffer *_pRpcChannelBuffer,
  4762. PRPC_MESSAGE _pRpcMessage,
  4763. DWORD *_pdwStubPhase);
  4764. #endif /* __IMDSPRevoked_INTERFACE_DEFINED__ */
  4765. /* interface __MIDL_itf_mswmdm_0242 */
  4766. /* [local] */
  4767. // SCP Data Flags
  4768. #define WMDM_SCP_EXAMINE_EXTENSION 0x00000001L
  4769. #define WMDM_SCP_EXAMINE_DATA 0x00000002L
  4770. #define WMDM_SCP_DECIDE_DATA 0x00000008L
  4771. #define WMDM_SCP_PROTECTED_OUTPUT 0x00000010L
  4772. #define WMDM_SCP_UNPROTECTED_OUTPUT 0x00000020L
  4773. #define WMDM_SCP_RIGHTS_DATA 0x00000040L
  4774. // SCP Transfer Flags
  4775. #define WMDM_SCP_TRANSFER_OBJECTDATA 0x00000020L
  4776. #define WMDM_SCP_NO_MORE_CHANGES 0x00000040L
  4777. extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0242_v0_0_c_ifspec;
  4778. extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0242_v0_0_s_ifspec;
  4779. #ifndef __ISCPSecureAuthenticate_INTERFACE_DEFINED__
  4780. #define __ISCPSecureAuthenticate_INTERFACE_DEFINED__
  4781. /* interface ISCPSecureAuthenticate */
  4782. /* [unique][uuid][object] */
  4783. EXTERN_C const IID IID_ISCPSecureAuthenticate;
  4784. #if defined(__cplusplus) && !defined(CINTERFACE)
  4785. MIDL_INTERFACE("1DCB3A0F-33ED-11d3-8470-00C04F79DBC0")
  4786. ISCPSecureAuthenticate : public IUnknown
  4787. {
  4788. public:
  4789. virtual HRESULT STDMETHODCALLTYPE GetSecureQuery(
  4790. /* [out] */ ISCPSecureQuery __RPC_FAR *__RPC_FAR *ppSecureQuery) = 0;
  4791. };
  4792. #else /* C style interface */
  4793. typedef struct ISCPSecureAuthenticateVtbl
  4794. {
  4795. BEGIN_INTERFACE
  4796. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4797. ISCPSecureAuthenticate __RPC_FAR * This,
  4798. /* [in] */ REFIID riid,
  4799. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4800. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4801. ISCPSecureAuthenticate __RPC_FAR * This);
  4802. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4803. ISCPSecureAuthenticate __RPC_FAR * This);
  4804. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSecureQuery )(
  4805. ISCPSecureAuthenticate __RPC_FAR * This,
  4806. /* [out] */ ISCPSecureQuery __RPC_FAR *__RPC_FAR *ppSecureQuery);
  4807. END_INTERFACE
  4808. } ISCPSecureAuthenticateVtbl;
  4809. interface ISCPSecureAuthenticate
  4810. {
  4811. CONST_VTBL struct ISCPSecureAuthenticateVtbl __RPC_FAR *lpVtbl;
  4812. };
  4813. #ifdef COBJMACROS
  4814. #define ISCPSecureAuthenticate_QueryInterface(This,riid,ppvObject) \
  4815. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4816. #define ISCPSecureAuthenticate_AddRef(This) \
  4817. (This)->lpVtbl -> AddRef(This)
  4818. #define ISCPSecureAuthenticate_Release(This) \
  4819. (This)->lpVtbl -> Release(This)
  4820. #define ISCPSecureAuthenticate_GetSecureQuery(This,ppSecureQuery) \
  4821. (This)->lpVtbl -> GetSecureQuery(This,ppSecureQuery)
  4822. #endif /* COBJMACROS */
  4823. #endif /* C style interface */
  4824. HRESULT STDMETHODCALLTYPE ISCPSecureAuthenticate_GetSecureQuery_Proxy(
  4825. ISCPSecureAuthenticate __RPC_FAR * This,
  4826. /* [out] */ ISCPSecureQuery __RPC_FAR *__RPC_FAR *ppSecureQuery);
  4827. void __RPC_STUB ISCPSecureAuthenticate_GetSecureQuery_Stub(
  4828. IRpcStubBuffer *This,
  4829. IRpcChannelBuffer *_pRpcChannelBuffer,
  4830. PRPC_MESSAGE _pRpcMessage,
  4831. DWORD *_pdwStubPhase);
  4832. #endif /* __ISCPSecureAuthenticate_INTERFACE_DEFINED__ */
  4833. #ifndef __ISCPSecureQuery_INTERFACE_DEFINED__
  4834. #define __ISCPSecureQuery_INTERFACE_DEFINED__
  4835. /* interface ISCPSecureQuery */
  4836. /* [unique][uuid][object] */
  4837. EXTERN_C const IID IID_ISCPSecureQuery;
  4838. #if defined(__cplusplus) && !defined(CINTERFACE)
  4839. MIDL_INTERFACE("1DCB3A0D-33ED-11d3-8470-00C04F79DBC0")
  4840. ISCPSecureQuery : public IUnknown
  4841. {
  4842. public:
  4843. virtual HRESULT STDMETHODCALLTYPE GetDataDemands(
  4844. /* [out] */ UINT __RPC_FAR *pfuFlags,
  4845. /* [out] */ DWORD __RPC_FAR *pdwMinRightsData,
  4846. /* [out] */ DWORD __RPC_FAR *pdwMinExamineData,
  4847. /* [out] */ DWORD __RPC_FAR *pdwMinDecideData,
  4848. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  4849. virtual HRESULT STDMETHODCALLTYPE ExamineData(
  4850. /* [in] */ UINT fuFlags,
  4851. /* [unique][string][in] */ LPWSTR pwszExtension,
  4852. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4853. /* [in] */ DWORD dwSize,
  4854. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  4855. virtual HRESULT STDMETHODCALLTYPE MakeDecision(
  4856. /* [in] */ UINT fuFlags,
  4857. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4858. /* [in] */ DWORD dwSize,
  4859. /* [in] */ DWORD dwAppSec,
  4860. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  4861. /* [in] */ DWORD dwSessionKeyLen,
  4862. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStorageGlobals,
  4863. /* [out] */ ISCPSecureExchange __RPC_FAR *__RPC_FAR *ppExchange,
  4864. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  4865. virtual HRESULT STDMETHODCALLTYPE GetRights(
  4866. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4867. /* [in] */ DWORD dwSize,
  4868. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  4869. /* [in] */ DWORD dwSessionKeyLen,
  4870. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStgGlobals,
  4871. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  4872. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  4873. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  4874. };
  4875. #else /* C style interface */
  4876. typedef struct ISCPSecureQueryVtbl
  4877. {
  4878. BEGIN_INTERFACE
  4879. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4880. ISCPSecureQuery __RPC_FAR * This,
  4881. /* [in] */ REFIID riid,
  4882. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4883. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4884. ISCPSecureQuery __RPC_FAR * This);
  4885. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4886. ISCPSecureQuery __RPC_FAR * This);
  4887. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDataDemands )(
  4888. ISCPSecureQuery __RPC_FAR * This,
  4889. /* [out] */ UINT __RPC_FAR *pfuFlags,
  4890. /* [out] */ DWORD __RPC_FAR *pdwMinRightsData,
  4891. /* [out] */ DWORD __RPC_FAR *pdwMinExamineData,
  4892. /* [out] */ DWORD __RPC_FAR *pdwMinDecideData,
  4893. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4894. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExamineData )(
  4895. ISCPSecureQuery __RPC_FAR * This,
  4896. /* [in] */ UINT fuFlags,
  4897. /* [unique][string][in] */ LPWSTR pwszExtension,
  4898. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4899. /* [in] */ DWORD dwSize,
  4900. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4901. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MakeDecision )(
  4902. ISCPSecureQuery __RPC_FAR * This,
  4903. /* [in] */ UINT fuFlags,
  4904. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4905. /* [in] */ DWORD dwSize,
  4906. /* [in] */ DWORD dwAppSec,
  4907. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  4908. /* [in] */ DWORD dwSessionKeyLen,
  4909. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStorageGlobals,
  4910. /* [out] */ ISCPSecureExchange __RPC_FAR *__RPC_FAR *ppExchange,
  4911. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4912. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRights )(
  4913. ISCPSecureQuery __RPC_FAR * This,
  4914. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4915. /* [in] */ DWORD dwSize,
  4916. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  4917. /* [in] */ DWORD dwSessionKeyLen,
  4918. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStgGlobals,
  4919. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  4920. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  4921. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4922. END_INTERFACE
  4923. } ISCPSecureQueryVtbl;
  4924. interface ISCPSecureQuery
  4925. {
  4926. CONST_VTBL struct ISCPSecureQueryVtbl __RPC_FAR *lpVtbl;
  4927. };
  4928. #ifdef COBJMACROS
  4929. #define ISCPSecureQuery_QueryInterface(This,riid,ppvObject) \
  4930. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4931. #define ISCPSecureQuery_AddRef(This) \
  4932. (This)->lpVtbl -> AddRef(This)
  4933. #define ISCPSecureQuery_Release(This) \
  4934. (This)->lpVtbl -> Release(This)
  4935. #define ISCPSecureQuery_GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) \
  4936. (This)->lpVtbl -> GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac)
  4937. #define ISCPSecureQuery_ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) \
  4938. (This)->lpVtbl -> ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac)
  4939. #define ISCPSecureQuery_MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) \
  4940. (This)->lpVtbl -> MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac)
  4941. #define ISCPSecureQuery_GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) \
  4942. (This)->lpVtbl -> GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac)
  4943. #endif /* COBJMACROS */
  4944. #endif /* C style interface */
  4945. HRESULT STDMETHODCALLTYPE ISCPSecureQuery_GetDataDemands_Proxy(
  4946. ISCPSecureQuery __RPC_FAR * This,
  4947. /* [out] */ UINT __RPC_FAR *pfuFlags,
  4948. /* [out] */ DWORD __RPC_FAR *pdwMinRightsData,
  4949. /* [out] */ DWORD __RPC_FAR *pdwMinExamineData,
  4950. /* [out] */ DWORD __RPC_FAR *pdwMinDecideData,
  4951. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4952. void __RPC_STUB ISCPSecureQuery_GetDataDemands_Stub(
  4953. IRpcStubBuffer *This,
  4954. IRpcChannelBuffer *_pRpcChannelBuffer,
  4955. PRPC_MESSAGE _pRpcMessage,
  4956. DWORD *_pdwStubPhase);
  4957. HRESULT STDMETHODCALLTYPE ISCPSecureQuery_ExamineData_Proxy(
  4958. ISCPSecureQuery __RPC_FAR * This,
  4959. /* [in] */ UINT fuFlags,
  4960. /* [unique][string][in] */ LPWSTR pwszExtension,
  4961. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4962. /* [in] */ DWORD dwSize,
  4963. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4964. void __RPC_STUB ISCPSecureQuery_ExamineData_Stub(
  4965. IRpcStubBuffer *This,
  4966. IRpcChannelBuffer *_pRpcChannelBuffer,
  4967. PRPC_MESSAGE _pRpcMessage,
  4968. DWORD *_pdwStubPhase);
  4969. HRESULT STDMETHODCALLTYPE ISCPSecureQuery_MakeDecision_Proxy(
  4970. ISCPSecureQuery __RPC_FAR * This,
  4971. /* [in] */ UINT fuFlags,
  4972. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4973. /* [in] */ DWORD dwSize,
  4974. /* [in] */ DWORD dwAppSec,
  4975. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  4976. /* [in] */ DWORD dwSessionKeyLen,
  4977. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStorageGlobals,
  4978. /* [out] */ ISCPSecureExchange __RPC_FAR *__RPC_FAR *ppExchange,
  4979. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4980. void __RPC_STUB ISCPSecureQuery_MakeDecision_Stub(
  4981. IRpcStubBuffer *This,
  4982. IRpcChannelBuffer *_pRpcChannelBuffer,
  4983. PRPC_MESSAGE _pRpcMessage,
  4984. DWORD *_pdwStubPhase);
  4985. HRESULT STDMETHODCALLTYPE ISCPSecureQuery_GetRights_Proxy(
  4986. ISCPSecureQuery __RPC_FAR * This,
  4987. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  4988. /* [in] */ DWORD dwSize,
  4989. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  4990. /* [in] */ DWORD dwSessionKeyLen,
  4991. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStgGlobals,
  4992. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  4993. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  4994. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  4995. void __RPC_STUB ISCPSecureQuery_GetRights_Stub(
  4996. IRpcStubBuffer *This,
  4997. IRpcChannelBuffer *_pRpcChannelBuffer,
  4998. PRPC_MESSAGE _pRpcMessage,
  4999. DWORD *_pdwStubPhase);
  5000. #endif /* __ISCPSecureQuery_INTERFACE_DEFINED__ */
  5001. #ifndef __ISCPSecureQuery2_INTERFACE_DEFINED__
  5002. #define __ISCPSecureQuery2_INTERFACE_DEFINED__
  5003. /* interface ISCPSecureQuery2 */
  5004. /* [unique][uuid][object] */
  5005. EXTERN_C const IID IID_ISCPSecureQuery2;
  5006. #if defined(__cplusplus) && !defined(CINTERFACE)
  5007. MIDL_INTERFACE("EBE17E25-4FD7-4632-AF46-6D93D4FCC72E")
  5008. ISCPSecureQuery2 : public ISCPSecureQuery
  5009. {
  5010. public:
  5011. virtual HRESULT STDMETHODCALLTYPE MakeDecision2(
  5012. /* [in] */ UINT fuFlags,
  5013. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  5014. /* [in] */ DWORD dwSize,
  5015. /* [in] */ DWORD dwAppSec,
  5016. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  5017. /* [in] */ DWORD dwSessionKeyLen,
  5018. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStorageGlobals,
  5019. /* [size_is][in] */ BYTE __RPC_FAR *pAppCertApp,
  5020. /* [in] */ DWORD dwAppCertAppLen,
  5021. /* [size_is][in] */ BYTE __RPC_FAR *pAppCertSP,
  5022. /* [in] */ DWORD dwAppCertSPLen,
  5023. /* [size_is][size_is][string][out][in] */ LPWSTR __RPC_FAR *pszRevocationURL,
  5024. /* [ref][out][in] */ DWORD __RPC_FAR *pdwRevocationURLLen,
  5025. /* [out] */ DWORD __RPC_FAR *pdwRevocationBitFlag,
  5026. /* [unique][out][in] */ ULONGLONG __RPC_FAR *pqwFileSize,
  5027. /* [in] */ IUnknown __RPC_FAR *pUnknown,
  5028. /* [out] */ ISCPSecureExchange __RPC_FAR *__RPC_FAR *ppExchange,
  5029. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  5030. };
  5031. #else /* C style interface */
  5032. typedef struct ISCPSecureQuery2Vtbl
  5033. {
  5034. BEGIN_INTERFACE
  5035. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5036. ISCPSecureQuery2 __RPC_FAR * This,
  5037. /* [in] */ REFIID riid,
  5038. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5039. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5040. ISCPSecureQuery2 __RPC_FAR * This);
  5041. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5042. ISCPSecureQuery2 __RPC_FAR * This);
  5043. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDataDemands )(
  5044. ISCPSecureQuery2 __RPC_FAR * This,
  5045. /* [out] */ UINT __RPC_FAR *pfuFlags,
  5046. /* [out] */ DWORD __RPC_FAR *pdwMinRightsData,
  5047. /* [out] */ DWORD __RPC_FAR *pdwMinExamineData,
  5048. /* [out] */ DWORD __RPC_FAR *pdwMinDecideData,
  5049. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  5050. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExamineData )(
  5051. ISCPSecureQuery2 __RPC_FAR * This,
  5052. /* [in] */ UINT fuFlags,
  5053. /* [unique][string][in] */ LPWSTR pwszExtension,
  5054. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  5055. /* [in] */ DWORD dwSize,
  5056. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  5057. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MakeDecision )(
  5058. ISCPSecureQuery2 __RPC_FAR * This,
  5059. /* [in] */ UINT fuFlags,
  5060. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  5061. /* [in] */ DWORD dwSize,
  5062. /* [in] */ DWORD dwAppSec,
  5063. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  5064. /* [in] */ DWORD dwSessionKeyLen,
  5065. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStorageGlobals,
  5066. /* [out] */ ISCPSecureExchange __RPC_FAR *__RPC_FAR *ppExchange,
  5067. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  5068. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRights )(
  5069. ISCPSecureQuery2 __RPC_FAR * This,
  5070. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  5071. /* [in] */ DWORD dwSize,
  5072. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  5073. /* [in] */ DWORD dwSessionKeyLen,
  5074. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStgGlobals,
  5075. /* [size_is][size_is][out] */ PWMDMRIGHTS __RPC_FAR *ppRights,
  5076. /* [out] */ UINT __RPC_FAR *pnRightsCount,
  5077. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  5078. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MakeDecision2 )(
  5079. ISCPSecureQuery2 __RPC_FAR * This,
  5080. /* [in] */ UINT fuFlags,
  5081. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  5082. /* [in] */ DWORD dwSize,
  5083. /* [in] */ DWORD dwAppSec,
  5084. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  5085. /* [in] */ DWORD dwSessionKeyLen,
  5086. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStorageGlobals,
  5087. /* [size_is][in] */ BYTE __RPC_FAR *pAppCertApp,
  5088. /* [in] */ DWORD dwAppCertAppLen,
  5089. /* [size_is][in] */ BYTE __RPC_FAR *pAppCertSP,
  5090. /* [in] */ DWORD dwAppCertSPLen,
  5091. /* [size_is][size_is][string][out][in] */ LPWSTR __RPC_FAR *pszRevocationURL,
  5092. /* [ref][out][in] */ DWORD __RPC_FAR *pdwRevocationURLLen,
  5093. /* [out] */ DWORD __RPC_FAR *pdwRevocationBitFlag,
  5094. /* [unique][out][in] */ ULONGLONG __RPC_FAR *pqwFileSize,
  5095. /* [in] */ IUnknown __RPC_FAR *pUnknown,
  5096. /* [out] */ ISCPSecureExchange __RPC_FAR *__RPC_FAR *ppExchange,
  5097. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  5098. END_INTERFACE
  5099. } ISCPSecureQuery2Vtbl;
  5100. interface ISCPSecureQuery2
  5101. {
  5102. CONST_VTBL struct ISCPSecureQuery2Vtbl __RPC_FAR *lpVtbl;
  5103. };
  5104. #ifdef COBJMACROS
  5105. #define ISCPSecureQuery2_QueryInterface(This,riid,ppvObject) \
  5106. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5107. #define ISCPSecureQuery2_AddRef(This) \
  5108. (This)->lpVtbl -> AddRef(This)
  5109. #define ISCPSecureQuery2_Release(This) \
  5110. (This)->lpVtbl -> Release(This)
  5111. #define ISCPSecureQuery2_GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) \
  5112. (This)->lpVtbl -> GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac)
  5113. #define ISCPSecureQuery2_ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) \
  5114. (This)->lpVtbl -> ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac)
  5115. #define ISCPSecureQuery2_MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) \
  5116. (This)->lpVtbl -> MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac)
  5117. #define ISCPSecureQuery2_GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) \
  5118. (This)->lpVtbl -> GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac)
  5119. #define ISCPSecureQuery2_MakeDecision2(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange,abMac) \
  5120. (This)->lpVtbl -> MakeDecision2(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange,abMac)
  5121. #endif /* COBJMACROS */
  5122. #endif /* C style interface */
  5123. HRESULT STDMETHODCALLTYPE ISCPSecureQuery2_MakeDecision2_Proxy(
  5124. ISCPSecureQuery2 __RPC_FAR * This,
  5125. /* [in] */ UINT fuFlags,
  5126. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  5127. /* [in] */ DWORD dwSize,
  5128. /* [in] */ DWORD dwAppSec,
  5129. /* [size_is][in] */ BYTE __RPC_FAR *pbSPSessionKey,
  5130. /* [in] */ DWORD dwSessionKeyLen,
  5131. /* [in] */ IMDSPStorageGlobals __RPC_FAR *pStorageGlobals,
  5132. /* [size_is][in] */ BYTE __RPC_FAR *pAppCertApp,
  5133. /* [in] */ DWORD dwAppCertAppLen,
  5134. /* [size_is][in] */ BYTE __RPC_FAR *pAppCertSP,
  5135. /* [in] */ DWORD dwAppCertSPLen,
  5136. /* [size_is][size_is][string][out][in] */ LPWSTR __RPC_FAR *pszRevocationURL,
  5137. /* [ref][out][in] */ DWORD __RPC_FAR *pdwRevocationURLLen,
  5138. /* [out] */ DWORD __RPC_FAR *pdwRevocationBitFlag,
  5139. /* [unique][out][in] */ ULONGLONG __RPC_FAR *pqwFileSize,
  5140. /* [in] */ IUnknown __RPC_FAR *pUnknown,
  5141. /* [out] */ ISCPSecureExchange __RPC_FAR *__RPC_FAR *ppExchange,
  5142. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  5143. void __RPC_STUB ISCPSecureQuery2_MakeDecision2_Stub(
  5144. IRpcStubBuffer *This,
  5145. IRpcChannelBuffer *_pRpcChannelBuffer,
  5146. PRPC_MESSAGE _pRpcMessage,
  5147. DWORD *_pdwStubPhase);
  5148. #endif /* __ISCPSecureQuery2_INTERFACE_DEFINED__ */
  5149. #ifndef __ISCPSecureExchange_INTERFACE_DEFINED__
  5150. #define __ISCPSecureExchange_INTERFACE_DEFINED__
  5151. /* interface ISCPSecureExchange */
  5152. /* [unique][uuid][object] */
  5153. EXTERN_C const IID IID_ISCPSecureExchange;
  5154. #if defined(__cplusplus) && !defined(CINTERFACE)
  5155. MIDL_INTERFACE("1DCB3A0E-33ED-11d3-8470-00C04F79DBC0")
  5156. ISCPSecureExchange : public IUnknown
  5157. {
  5158. public:
  5159. virtual HRESULT STDMETHODCALLTYPE TransferContainerData(
  5160. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  5161. /* [in] */ DWORD dwSize,
  5162. /* [out] */ UINT __RPC_FAR *pfuReadyFlags,
  5163. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  5164. virtual HRESULT STDMETHODCALLTYPE ObjectData(
  5165. /* [size_is][out] */ BYTE __RPC_FAR *pData,
  5166. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  5167. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]) = 0;
  5168. virtual HRESULT STDMETHODCALLTYPE TransferComplete( void) = 0;
  5169. };
  5170. #else /* C style interface */
  5171. typedef struct ISCPSecureExchangeVtbl
  5172. {
  5173. BEGIN_INTERFACE
  5174. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5175. ISCPSecureExchange __RPC_FAR * This,
  5176. /* [in] */ REFIID riid,
  5177. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5178. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5179. ISCPSecureExchange __RPC_FAR * This);
  5180. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5181. ISCPSecureExchange __RPC_FAR * This);
  5182. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransferContainerData )(
  5183. ISCPSecureExchange __RPC_FAR * This,
  5184. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  5185. /* [in] */ DWORD dwSize,
  5186. /* [out] */ UINT __RPC_FAR *pfuReadyFlags,
  5187. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  5188. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ObjectData )(
  5189. ISCPSecureExchange __RPC_FAR * This,
  5190. /* [size_is][out] */ BYTE __RPC_FAR *pData,
  5191. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  5192. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  5193. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TransferComplete )(
  5194. ISCPSecureExchange __RPC_FAR * This);
  5195. END_INTERFACE
  5196. } ISCPSecureExchangeVtbl;
  5197. interface ISCPSecureExchange
  5198. {
  5199. CONST_VTBL struct ISCPSecureExchangeVtbl __RPC_FAR *lpVtbl;
  5200. };
  5201. #ifdef COBJMACROS
  5202. #define ISCPSecureExchange_QueryInterface(This,riid,ppvObject) \
  5203. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5204. #define ISCPSecureExchange_AddRef(This) \
  5205. (This)->lpVtbl -> AddRef(This)
  5206. #define ISCPSecureExchange_Release(This) \
  5207. (This)->lpVtbl -> Release(This)
  5208. #define ISCPSecureExchange_TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) \
  5209. (This)->lpVtbl -> TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac)
  5210. #define ISCPSecureExchange_ObjectData(This,pData,pdwSize,abMac) \
  5211. (This)->lpVtbl -> ObjectData(This,pData,pdwSize,abMac)
  5212. #define ISCPSecureExchange_TransferComplete(This) \
  5213. (This)->lpVtbl -> TransferComplete(This)
  5214. #endif /* COBJMACROS */
  5215. #endif /* C style interface */
  5216. HRESULT STDMETHODCALLTYPE ISCPSecureExchange_TransferContainerData_Proxy(
  5217. ISCPSecureExchange __RPC_FAR * This,
  5218. /* [size_is][in] */ BYTE __RPC_FAR *pData,
  5219. /* [in] */ DWORD dwSize,
  5220. /* [out] */ UINT __RPC_FAR *pfuReadyFlags,
  5221. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  5222. void __RPC_STUB ISCPSecureExchange_TransferContainerData_Stub(
  5223. IRpcStubBuffer *This,
  5224. IRpcChannelBuffer *_pRpcChannelBuffer,
  5225. PRPC_MESSAGE _pRpcMessage,
  5226. DWORD *_pdwStubPhase);
  5227. HRESULT STDMETHODCALLTYPE ISCPSecureExchange_ObjectData_Proxy(
  5228. ISCPSecureExchange __RPC_FAR * This,
  5229. /* [size_is][out] */ BYTE __RPC_FAR *pData,
  5230. /* [out][in] */ DWORD __RPC_FAR *pdwSize,
  5231. /* [out][in] */ BYTE __RPC_FAR abMac[ 8 ]);
  5232. void __RPC_STUB ISCPSecureExchange_ObjectData_Stub(
  5233. IRpcStubBuffer *This,
  5234. IRpcChannelBuffer *_pRpcChannelBuffer,
  5235. PRPC_MESSAGE _pRpcMessage,
  5236. DWORD *_pdwStubPhase);
  5237. HRESULT STDMETHODCALLTYPE ISCPSecureExchange_TransferComplete_Proxy(
  5238. ISCPSecureExchange __RPC_FAR * This);
  5239. void __RPC_STUB ISCPSecureExchange_TransferComplete_Stub(
  5240. IRpcStubBuffer *This,
  5241. IRpcChannelBuffer *_pRpcChannelBuffer,
  5242. PRPC_MESSAGE _pRpcMessage,
  5243. DWORD *_pdwStubPhase);
  5244. #endif /* __ISCPSecureExchange_INTERFACE_DEFINED__ */
  5245. /* interface __MIDL_itf_mswmdm_0246 */
  5246. /* [local] */
  5247. #define SAC_MAC_LEN 8
  5248. extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0246_v0_0_c_ifspec;
  5249. extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0246_v0_0_s_ifspec;
  5250. #ifndef __IComponentAuthenticate_INTERFACE_DEFINED__
  5251. #define __IComponentAuthenticate_INTERFACE_DEFINED__
  5252. /* interface IComponentAuthenticate */
  5253. /* [unique][uuid][object] */
  5254. EXTERN_C const IID IID_IComponentAuthenticate;
  5255. #if defined(__cplusplus) && !defined(CINTERFACE)
  5256. MIDL_INTERFACE("A9889C00-6D2B-11d3-8496-00C04F79DBC0")
  5257. IComponentAuthenticate : public IUnknown
  5258. {
  5259. public:
  5260. virtual HRESULT STDMETHODCALLTYPE SACAuth(
  5261. /* [in] */ DWORD dwProtocolID,
  5262. /* [in] */ DWORD dwPass,
  5263. /* [size_is][in] */ BYTE __RPC_FAR *pbDataIn,
  5264. /* [in] */ DWORD dwDataInLen,
  5265. /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbDataOut,
  5266. /* [out] */ DWORD __RPC_FAR *pdwDataOutLen) = 0;
  5267. virtual HRESULT STDMETHODCALLTYPE SACGetProtocols(
  5268. /* [size_is][size_is][out] */ DWORD __RPC_FAR *__RPC_FAR *ppdwProtocols,
  5269. /* [out] */ DWORD __RPC_FAR *pdwProtocolCount) = 0;
  5270. };
  5271. #else /* C style interface */
  5272. typedef struct IComponentAuthenticateVtbl
  5273. {
  5274. BEGIN_INTERFACE
  5275. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5276. IComponentAuthenticate __RPC_FAR * This,
  5277. /* [in] */ REFIID riid,
  5278. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5279. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5280. IComponentAuthenticate __RPC_FAR * This);
  5281. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5282. IComponentAuthenticate __RPC_FAR * This);
  5283. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SACAuth )(
  5284. IComponentAuthenticate __RPC_FAR * This,
  5285. /* [in] */ DWORD dwProtocolID,
  5286. /* [in] */ DWORD dwPass,
  5287. /* [size_is][in] */ BYTE __RPC_FAR *pbDataIn,
  5288. /* [in] */ DWORD dwDataInLen,
  5289. /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbDataOut,
  5290. /* [out] */ DWORD __RPC_FAR *pdwDataOutLen);
  5291. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SACGetProtocols )(
  5292. IComponentAuthenticate __RPC_FAR * This,
  5293. /* [size_is][size_is][out] */ DWORD __RPC_FAR *__RPC_FAR *ppdwProtocols,
  5294. /* [out] */ DWORD __RPC_FAR *pdwProtocolCount);
  5295. END_INTERFACE
  5296. } IComponentAuthenticateVtbl;
  5297. interface IComponentAuthenticate
  5298. {
  5299. CONST_VTBL struct IComponentAuthenticateVtbl __RPC_FAR *lpVtbl;
  5300. };
  5301. #ifdef COBJMACROS
  5302. #define IComponentAuthenticate_QueryInterface(This,riid,ppvObject) \
  5303. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5304. #define IComponentAuthenticate_AddRef(This) \
  5305. (This)->lpVtbl -> AddRef(This)
  5306. #define IComponentAuthenticate_Release(This) \
  5307. (This)->lpVtbl -> Release(This)
  5308. #define IComponentAuthenticate_SACAuth(This,dwProtocolID,dwPass,pbDataIn,dwDataInLen,ppbDataOut,pdwDataOutLen) \
  5309. (This)->lpVtbl -> SACAuth(This,dwProtocolID,dwPass,pbDataIn,dwDataInLen,ppbDataOut,pdwDataOutLen)
  5310. #define IComponentAuthenticate_SACGetProtocols(This,ppdwProtocols,pdwProtocolCount) \
  5311. (This)->lpVtbl -> SACGetProtocols(This,ppdwProtocols,pdwProtocolCount)
  5312. #endif /* COBJMACROS */
  5313. #endif /* C style interface */
  5314. HRESULT STDMETHODCALLTYPE IComponentAuthenticate_SACAuth_Proxy(
  5315. IComponentAuthenticate __RPC_FAR * This,
  5316. /* [in] */ DWORD dwProtocolID,
  5317. /* [in] */ DWORD dwPass,
  5318. /* [size_is][in] */ BYTE __RPC_FAR *pbDataIn,
  5319. /* [in] */ DWORD dwDataInLen,
  5320. /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbDataOut,
  5321. /* [out] */ DWORD __RPC_FAR *pdwDataOutLen);
  5322. void __RPC_STUB IComponentAuthenticate_SACAuth_Stub(
  5323. IRpcStubBuffer *This,
  5324. IRpcChannelBuffer *_pRpcChannelBuffer,
  5325. PRPC_MESSAGE _pRpcMessage,
  5326. DWORD *_pdwStubPhase);
  5327. HRESULT STDMETHODCALLTYPE IComponentAuthenticate_SACGetProtocols_Proxy(
  5328. IComponentAuthenticate __RPC_FAR * This,
  5329. /* [size_is][size_is][out] */ DWORD __RPC_FAR *__RPC_FAR *ppdwProtocols,
  5330. /* [out] */ DWORD __RPC_FAR *pdwProtocolCount);
  5331. void __RPC_STUB IComponentAuthenticate_SACGetProtocols_Stub(
  5332. IRpcStubBuffer *This,
  5333. IRpcChannelBuffer *_pRpcChannelBuffer,
  5334. PRPC_MESSAGE _pRpcMessage,
  5335. DWORD *_pdwStubPhase);
  5336. #endif /* __IComponentAuthenticate_INTERFACE_DEFINED__ */
  5337. #ifndef __MSWMDMLib_LIBRARY_DEFINED__
  5338. #define __MSWMDMLib_LIBRARY_DEFINED__
  5339. /* library MSWMDMLib */
  5340. /* [helpstring][version][uuid] */
  5341. EXTERN_C const IID LIBID_MSWMDMLib;
  5342. EXTERN_C const CLSID CLSID_MediaDevMgrClassFactory;
  5343. #ifdef __cplusplus
  5344. class DECLSPEC_UUID("50040C1D-BDBF-4924-B873-F14D6C5BFD66")
  5345. MediaDevMgrClassFactory;
  5346. #endif
  5347. EXTERN_C const CLSID CLSID_MediaDevMgr;
  5348. #ifdef __cplusplus
  5349. class DECLSPEC_UUID("25BAAD81-3560-11D3-8471-00C04F79DBC0")
  5350. MediaDevMgr;
  5351. #endif
  5352. EXTERN_C const CLSID CLSID_WMDMDevice;
  5353. #ifdef __cplusplus
  5354. class DECLSPEC_UUID("807B3CDF-357A-11d3-8471-00C04F79DBC0")
  5355. WMDMDevice;
  5356. #endif
  5357. EXTERN_C const CLSID CLSID_WMDMStorage;
  5358. #ifdef __cplusplus
  5359. class DECLSPEC_UUID("807B3CE0-357A-11d3-8471-00C04F79DBC0")
  5360. WMDMStorage;
  5361. #endif
  5362. EXTERN_C const CLSID CLSID_WMDMStorageGlobal;
  5363. #ifdef __cplusplus
  5364. class DECLSPEC_UUID("807B3CE1-357A-11d3-8471-00C04F79DBC0")
  5365. WMDMStorageGlobal;
  5366. #endif
  5367. EXTERN_C const CLSID CLSID_WMDMDeviceEnum;
  5368. #ifdef __cplusplus
  5369. class DECLSPEC_UUID("430E35AF-3971-11D3-8474-00C04F79DBC0")
  5370. WMDMDeviceEnum;
  5371. #endif
  5372. EXTERN_C const CLSID CLSID_WMDMStorageEnum;
  5373. #ifdef __cplusplus
  5374. class DECLSPEC_UUID("EB401A3B-3AF7-11d3-8474-00C04F79DBC0")
  5375. WMDMStorageEnum;
  5376. #endif
  5377. #endif /* __MSWMDMLib_LIBRARY_DEFINED__ */
  5378. /* Additional Prototypes for ALL interfaces */
  5379. /* end of Additional Prototypes */
  5380. #ifdef __cplusplus
  5381. }
  5382. #endif
  5383. #endif