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

1153 lines
32 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for shimgdata.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __shimgdata_h__
  27. #define __shimgdata_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IShellImageDataFactory_FWD_DEFINED__
  33. #define __IShellImageDataFactory_FWD_DEFINED__
  34. typedef interface IShellImageDataFactory IShellImageDataFactory;
  35. #endif /* __IShellImageDataFactory_FWD_DEFINED__ */
  36. #ifndef __IShellImageData_FWD_DEFINED__
  37. #define __IShellImageData_FWD_DEFINED__
  38. typedef interface IShellImageData IShellImageData;
  39. #endif /* __IShellImageData_FWD_DEFINED__ */
  40. #ifndef __IShellImageDataAbort_FWD_DEFINED__
  41. #define __IShellImageDataAbort_FWD_DEFINED__
  42. typedef interface IShellImageDataAbort IShellImageDataAbort;
  43. #endif /* __IShellImageDataAbort_FWD_DEFINED__ */
  44. #ifndef __ShellImageDataFactory_FWD_DEFINED__
  45. #define __ShellImageDataFactory_FWD_DEFINED__
  46. #ifdef __cplusplus
  47. typedef class ShellImageDataFactory ShellImageDataFactory;
  48. #else
  49. typedef struct ShellImageDataFactory ShellImageDataFactory;
  50. #endif /* __cplusplus */
  51. #endif /* __ShellImageDataFactory_FWD_DEFINED__ */
  52. #ifndef __AutoplayForSlideShow_FWD_DEFINED__
  53. #define __AutoplayForSlideShow_FWD_DEFINED__
  54. #ifdef __cplusplus
  55. typedef class AutoplayForSlideShow AutoplayForSlideShow;
  56. #else
  57. typedef struct AutoplayForSlideShow AutoplayForSlideShow;
  58. #endif /* __cplusplus */
  59. #endif /* __AutoplayForSlideShow_FWD_DEFINED__ */
  60. /* header files for imported files */
  61. #include "oleidl.h"
  62. #include "shobjidl.h"
  63. #ifdef __cplusplus
  64. extern "C"{
  65. #endif
  66. void * __RPC_USER MIDL_user_allocate(size_t);
  67. void __RPC_USER MIDL_user_free( void * );
  68. /* interface __MIDL_itf_shimgdata_0000 */
  69. /* [local] */
  70. #if !defined(_GDIPLUSPIXELFORMATS_H)
  71. typedef DWORD PixelFormat;
  72. #endif
  73. #if !defined(_GDIPLUSENUMS_H)
  74. typedef DWORD InterpolationMode;
  75. #endif
  76. #if !defined(_GDIPLUSHEADERS_H)
  77. typedef BYTE EncoderParameters;
  78. typedef BYTE Image;
  79. #endif
  80. #define SHIMGKEY_QUALITY L"Compression"
  81. #define SHIMGKEY_RAWFORMAT L"RawDataFormat"
  82. #define SHIMGDEC_DEFAULT 0x00000000
  83. #define SHIMGDEC_THUMBNAIL 0x00000001
  84. #define SHIMGDEC_LOADFULL 0x00000002
  85. #define E_NOTVALIDFORANIMATEDIMAGE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x01)
  86. extern RPC_IF_HANDLE __MIDL_itf_shimgdata_0000_v0_0_c_ifspec;
  87. extern RPC_IF_HANDLE __MIDL_itf_shimgdata_0000_v0_0_s_ifspec;
  88. #ifndef __IShellImageDataFactory_INTERFACE_DEFINED__
  89. #define __IShellImageDataFactory_INTERFACE_DEFINED__
  90. /* interface IShellImageDataFactory */
  91. /* [unique][object][uuid][helpstring] */
  92. EXTERN_C const IID IID_IShellImageDataFactory;
  93. #if defined(__cplusplus) && !defined(CINTERFACE)
  94. MIDL_INTERFACE("9be8ed5c-edab-4d75-90f3-bd5bdbb21c82")
  95. IShellImageDataFactory : public IUnknown
  96. {
  97. public:
  98. virtual HRESULT STDMETHODCALLTYPE CreateIShellImageData(
  99. /* [out] */ IShellImageData **ppshimg) = 0;
  100. virtual HRESULT STDMETHODCALLTYPE CreateImageFromFile(
  101. /* [in] */ LPCWSTR pszPath,
  102. /* [out] */ IShellImageData **ppshimg) = 0;
  103. virtual HRESULT STDMETHODCALLTYPE CreateImageFromStream(
  104. /* [in] */ IStream *pStream,
  105. /* [out] */ IShellImageData **ppshimg) = 0;
  106. virtual HRESULT STDMETHODCALLTYPE GetDataFormatFromPath(
  107. /* [in] */ LPCWSTR pszPath,
  108. /* [out] */ GUID *pDataFormat) = 0;
  109. };
  110. #else /* C style interface */
  111. typedef struct IShellImageDataFactoryVtbl
  112. {
  113. BEGIN_INTERFACE
  114. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  115. IShellImageDataFactory * This,
  116. /* [in] */ REFIID riid,
  117. /* [iid_is][out] */ void **ppvObject);
  118. ULONG ( STDMETHODCALLTYPE *AddRef )(
  119. IShellImageDataFactory * This);
  120. ULONG ( STDMETHODCALLTYPE *Release )(
  121. IShellImageDataFactory * This);
  122. HRESULT ( STDMETHODCALLTYPE *CreateIShellImageData )(
  123. IShellImageDataFactory * This,
  124. /* [out] */ IShellImageData **ppshimg);
  125. HRESULT ( STDMETHODCALLTYPE *CreateImageFromFile )(
  126. IShellImageDataFactory * This,
  127. /* [in] */ LPCWSTR pszPath,
  128. /* [out] */ IShellImageData **ppshimg);
  129. HRESULT ( STDMETHODCALLTYPE *CreateImageFromStream )(
  130. IShellImageDataFactory * This,
  131. /* [in] */ IStream *pStream,
  132. /* [out] */ IShellImageData **ppshimg);
  133. HRESULT ( STDMETHODCALLTYPE *GetDataFormatFromPath )(
  134. IShellImageDataFactory * This,
  135. /* [in] */ LPCWSTR pszPath,
  136. /* [out] */ GUID *pDataFormat);
  137. END_INTERFACE
  138. } IShellImageDataFactoryVtbl;
  139. interface IShellImageDataFactory
  140. {
  141. CONST_VTBL struct IShellImageDataFactoryVtbl *lpVtbl;
  142. };
  143. #ifdef COBJMACROS
  144. #define IShellImageDataFactory_QueryInterface(This,riid,ppvObject) \
  145. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  146. #define IShellImageDataFactory_AddRef(This) \
  147. (This)->lpVtbl -> AddRef(This)
  148. #define IShellImageDataFactory_Release(This) \
  149. (This)->lpVtbl -> Release(This)
  150. #define IShellImageDataFactory_CreateIShellImageData(This,ppshimg) \
  151. (This)->lpVtbl -> CreateIShellImageData(This,ppshimg)
  152. #define IShellImageDataFactory_CreateImageFromFile(This,pszPath,ppshimg) \
  153. (This)->lpVtbl -> CreateImageFromFile(This,pszPath,ppshimg)
  154. #define IShellImageDataFactory_CreateImageFromStream(This,pStream,ppshimg) \
  155. (This)->lpVtbl -> CreateImageFromStream(This,pStream,ppshimg)
  156. #define IShellImageDataFactory_GetDataFormatFromPath(This,pszPath,pDataFormat) \
  157. (This)->lpVtbl -> GetDataFormatFromPath(This,pszPath,pDataFormat)
  158. #endif /* COBJMACROS */
  159. #endif /* C style interface */
  160. HRESULT STDMETHODCALLTYPE IShellImageDataFactory_CreateIShellImageData_Proxy(
  161. IShellImageDataFactory * This,
  162. /* [out] */ IShellImageData **ppshimg);
  163. void __RPC_STUB IShellImageDataFactory_CreateIShellImageData_Stub(
  164. IRpcStubBuffer *This,
  165. IRpcChannelBuffer *_pRpcChannelBuffer,
  166. PRPC_MESSAGE _pRpcMessage,
  167. DWORD *_pdwStubPhase);
  168. HRESULT STDMETHODCALLTYPE IShellImageDataFactory_CreateImageFromFile_Proxy(
  169. IShellImageDataFactory * This,
  170. /* [in] */ LPCWSTR pszPath,
  171. /* [out] */ IShellImageData **ppshimg);
  172. void __RPC_STUB IShellImageDataFactory_CreateImageFromFile_Stub(
  173. IRpcStubBuffer *This,
  174. IRpcChannelBuffer *_pRpcChannelBuffer,
  175. PRPC_MESSAGE _pRpcMessage,
  176. DWORD *_pdwStubPhase);
  177. HRESULT STDMETHODCALLTYPE IShellImageDataFactory_CreateImageFromStream_Proxy(
  178. IShellImageDataFactory * This,
  179. /* [in] */ IStream *pStream,
  180. /* [out] */ IShellImageData **ppshimg);
  181. void __RPC_STUB IShellImageDataFactory_CreateImageFromStream_Stub(
  182. IRpcStubBuffer *This,
  183. IRpcChannelBuffer *_pRpcChannelBuffer,
  184. PRPC_MESSAGE _pRpcMessage,
  185. DWORD *_pdwStubPhase);
  186. HRESULT STDMETHODCALLTYPE IShellImageDataFactory_GetDataFormatFromPath_Proxy(
  187. IShellImageDataFactory * This,
  188. /* [in] */ LPCWSTR pszPath,
  189. /* [out] */ GUID *pDataFormat);
  190. void __RPC_STUB IShellImageDataFactory_GetDataFormatFromPath_Stub(
  191. IRpcStubBuffer *This,
  192. IRpcChannelBuffer *_pRpcChannelBuffer,
  193. PRPC_MESSAGE _pRpcMessage,
  194. DWORD *_pdwStubPhase);
  195. #endif /* __IShellImageDataFactory_INTERFACE_DEFINED__ */
  196. #ifndef __IShellImageData_INTERFACE_DEFINED__
  197. #define __IShellImageData_INTERFACE_DEFINED__
  198. /* interface IShellImageData */
  199. /* [unique][object][uuid][helpstring] */
  200. EXTERN_C const IID IID_IShellImageData;
  201. #if defined(__cplusplus) && !defined(CINTERFACE)
  202. MIDL_INTERFACE("bfdeec12-8040-4403-a5ea-9e07dafcf530")
  203. IShellImageData : public IUnknown
  204. {
  205. public:
  206. virtual HRESULT STDMETHODCALLTYPE Decode(
  207. /* [in] */ DWORD dwFlags,
  208. /* [in] */ ULONG cxDesired,
  209. /* [in] */ ULONG cyDesired) = 0;
  210. virtual HRESULT STDMETHODCALLTYPE Draw(
  211. /* [in] */ HDC hdc,
  212. /* [in] */ LPRECT prcDest,
  213. /* [in] */ LPRECT prcSrc) = 0;
  214. virtual HRESULT STDMETHODCALLTYPE NextFrame( void) = 0;
  215. virtual HRESULT STDMETHODCALLTYPE NextPage( void) = 0;
  216. virtual HRESULT STDMETHODCALLTYPE PrevPage( void) = 0;
  217. virtual HRESULT STDMETHODCALLTYPE IsTransparent( void) = 0;
  218. virtual HRESULT STDMETHODCALLTYPE IsAnimated( void) = 0;
  219. virtual HRESULT STDMETHODCALLTYPE IsVector( void) = 0;
  220. virtual HRESULT STDMETHODCALLTYPE IsMultipage( void) = 0;
  221. virtual HRESULT STDMETHODCALLTYPE IsEditable( void) = 0;
  222. virtual HRESULT STDMETHODCALLTYPE IsPrintable( void) = 0;
  223. virtual HRESULT STDMETHODCALLTYPE IsDecoded( void) = 0;
  224. virtual HRESULT STDMETHODCALLTYPE GetCurrentPage(
  225. /* [out] */ ULONG *pnPage) = 0;
  226. virtual HRESULT STDMETHODCALLTYPE GetPageCount(
  227. /* [out] */ ULONG *pcPages) = 0;
  228. virtual HRESULT STDMETHODCALLTYPE SelectPage(
  229. /* [in] */ ULONG iPage) = 0;
  230. virtual HRESULT STDMETHODCALLTYPE GetSize(
  231. /* [out] */ SIZE *pSize) = 0;
  232. virtual HRESULT STDMETHODCALLTYPE GetRawDataFormat(
  233. /* [out] */ GUID *pDataFormat) = 0;
  234. virtual HRESULT STDMETHODCALLTYPE GetPixelFormat(
  235. /* [out] */ PixelFormat *pFormat) = 0;
  236. virtual HRESULT STDMETHODCALLTYPE GetDelay(
  237. /* [out] */ DWORD *pdwDelay) = 0;
  238. virtual HRESULT STDMETHODCALLTYPE GetProperties(
  239. /* [in] */ DWORD dwMode,
  240. /* [out] */ IPropertySetStorage **ppPropSet) = 0;
  241. virtual HRESULT STDMETHODCALLTYPE Rotate(
  242. /* [in] */ DWORD dwAngle) = 0;
  243. virtual HRESULT STDMETHODCALLTYPE Scale(
  244. /* [in] */ ULONG cx,
  245. /* [in] */ ULONG cy,
  246. /* [in] */ InterpolationMode hints) = 0;
  247. virtual HRESULT STDMETHODCALLTYPE DiscardEdit( void) = 0;
  248. virtual HRESULT STDMETHODCALLTYPE SetEncoderParams(
  249. /* [in] */ IPropertyBag *pbagEnc) = 0;
  250. virtual HRESULT STDMETHODCALLTYPE DisplayName(
  251. /* [out][in] */ LPWSTR wszName,
  252. /* [in] */ UINT cch) = 0;
  253. virtual HRESULT STDMETHODCALLTYPE GetResolution(
  254. /* [out] */ ULONG *puResolutionX,
  255. /* [out] */ ULONG *puResolutionY) = 0;
  256. virtual HRESULT STDMETHODCALLTYPE GetEncoderParams(
  257. /* [in] */ GUID *pguidFmt,
  258. /* [out] */ EncoderParameters **ppEncParams) = 0;
  259. virtual HRESULT STDMETHODCALLTYPE RegisterAbort(
  260. /* [in] */ IShellImageDataAbort *pAbort,
  261. /* [optional][out] */ IShellImageDataAbort **ppAbortPrev) = 0;
  262. virtual HRESULT STDMETHODCALLTYPE CloneFrame(
  263. /* [out] */ Image **ppImg) = 0;
  264. virtual HRESULT STDMETHODCALLTYPE ReplaceFrame(
  265. /* [in] */ Image *pImg) = 0;
  266. };
  267. #else /* C style interface */
  268. typedef struct IShellImageDataVtbl
  269. {
  270. BEGIN_INTERFACE
  271. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  272. IShellImageData * This,
  273. /* [in] */ REFIID riid,
  274. /* [iid_is][out] */ void **ppvObject);
  275. ULONG ( STDMETHODCALLTYPE *AddRef )(
  276. IShellImageData * This);
  277. ULONG ( STDMETHODCALLTYPE *Release )(
  278. IShellImageData * This);
  279. HRESULT ( STDMETHODCALLTYPE *Decode )(
  280. IShellImageData * This,
  281. /* [in] */ DWORD dwFlags,
  282. /* [in] */ ULONG cxDesired,
  283. /* [in] */ ULONG cyDesired);
  284. HRESULT ( STDMETHODCALLTYPE *Draw )(
  285. IShellImageData * This,
  286. /* [in] */ HDC hdc,
  287. /* [in] */ LPRECT prcDest,
  288. /* [in] */ LPRECT prcSrc);
  289. HRESULT ( STDMETHODCALLTYPE *NextFrame )(
  290. IShellImageData * This);
  291. HRESULT ( STDMETHODCALLTYPE *NextPage )(
  292. IShellImageData * This);
  293. HRESULT ( STDMETHODCALLTYPE *PrevPage )(
  294. IShellImageData * This);
  295. HRESULT ( STDMETHODCALLTYPE *IsTransparent )(
  296. IShellImageData * This);
  297. HRESULT ( STDMETHODCALLTYPE *IsAnimated )(
  298. IShellImageData * This);
  299. HRESULT ( STDMETHODCALLTYPE *IsVector )(
  300. IShellImageData * This);
  301. HRESULT ( STDMETHODCALLTYPE *IsMultipage )(
  302. IShellImageData * This);
  303. HRESULT ( STDMETHODCALLTYPE *IsEditable )(
  304. IShellImageData * This);
  305. HRESULT ( STDMETHODCALLTYPE *IsPrintable )(
  306. IShellImageData * This);
  307. HRESULT ( STDMETHODCALLTYPE *IsDecoded )(
  308. IShellImageData * This);
  309. HRESULT ( STDMETHODCALLTYPE *GetCurrentPage )(
  310. IShellImageData * This,
  311. /* [out] */ ULONG *pnPage);
  312. HRESULT ( STDMETHODCALLTYPE *GetPageCount )(
  313. IShellImageData * This,
  314. /* [out] */ ULONG *pcPages);
  315. HRESULT ( STDMETHODCALLTYPE *SelectPage )(
  316. IShellImageData * This,
  317. /* [in] */ ULONG iPage);
  318. HRESULT ( STDMETHODCALLTYPE *GetSize )(
  319. IShellImageData * This,
  320. /* [out] */ SIZE *pSize);
  321. HRESULT ( STDMETHODCALLTYPE *GetRawDataFormat )(
  322. IShellImageData * This,
  323. /* [out] */ GUID *pDataFormat);
  324. HRESULT ( STDMETHODCALLTYPE *GetPixelFormat )(
  325. IShellImageData * This,
  326. /* [out] */ PixelFormat *pFormat);
  327. HRESULT ( STDMETHODCALLTYPE *GetDelay )(
  328. IShellImageData * This,
  329. /* [out] */ DWORD *pdwDelay);
  330. HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  331. IShellImageData * This,
  332. /* [in] */ DWORD dwMode,
  333. /* [out] */ IPropertySetStorage **ppPropSet);
  334. HRESULT ( STDMETHODCALLTYPE *Rotate )(
  335. IShellImageData * This,
  336. /* [in] */ DWORD dwAngle);
  337. HRESULT ( STDMETHODCALLTYPE *Scale )(
  338. IShellImageData * This,
  339. /* [in] */ ULONG cx,
  340. /* [in] */ ULONG cy,
  341. /* [in] */ InterpolationMode hints);
  342. HRESULT ( STDMETHODCALLTYPE *DiscardEdit )(
  343. IShellImageData * This);
  344. HRESULT ( STDMETHODCALLTYPE *SetEncoderParams )(
  345. IShellImageData * This,
  346. /* [in] */ IPropertyBag *pbagEnc);
  347. HRESULT ( STDMETHODCALLTYPE *DisplayName )(
  348. IShellImageData * This,
  349. /* [out][in] */ LPWSTR wszName,
  350. /* [in] */ UINT cch);
  351. HRESULT ( STDMETHODCALLTYPE *GetResolution )(
  352. IShellImageData * This,
  353. /* [out] */ ULONG *puResolutionX,
  354. /* [out] */ ULONG *puResolutionY);
  355. HRESULT ( STDMETHODCALLTYPE *GetEncoderParams )(
  356. IShellImageData * This,
  357. /* [in] */ GUID *pguidFmt,
  358. /* [out] */ EncoderParameters **ppEncParams);
  359. HRESULT ( STDMETHODCALLTYPE *RegisterAbort )(
  360. IShellImageData * This,
  361. /* [in] */ IShellImageDataAbort *pAbort,
  362. /* [optional][out] */ IShellImageDataAbort **ppAbortPrev);
  363. HRESULT ( STDMETHODCALLTYPE *CloneFrame )(
  364. IShellImageData * This,
  365. /* [out] */ Image **ppImg);
  366. HRESULT ( STDMETHODCALLTYPE *ReplaceFrame )(
  367. IShellImageData * This,
  368. /* [in] */ Image *pImg);
  369. END_INTERFACE
  370. } IShellImageDataVtbl;
  371. interface IShellImageData
  372. {
  373. CONST_VTBL struct IShellImageDataVtbl *lpVtbl;
  374. };
  375. #ifdef COBJMACROS
  376. #define IShellImageData_QueryInterface(This,riid,ppvObject) \
  377. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  378. #define IShellImageData_AddRef(This) \
  379. (This)->lpVtbl -> AddRef(This)
  380. #define IShellImageData_Release(This) \
  381. (This)->lpVtbl -> Release(This)
  382. #define IShellImageData_Decode(This,dwFlags,cxDesired,cyDesired) \
  383. (This)->lpVtbl -> Decode(This,dwFlags,cxDesired,cyDesired)
  384. #define IShellImageData_Draw(This,hdc,prcDest,prcSrc) \
  385. (This)->lpVtbl -> Draw(This,hdc,prcDest,prcSrc)
  386. #define IShellImageData_NextFrame(This) \
  387. (This)->lpVtbl -> NextFrame(This)
  388. #define IShellImageData_NextPage(This) \
  389. (This)->lpVtbl -> NextPage(This)
  390. #define IShellImageData_PrevPage(This) \
  391. (This)->lpVtbl -> PrevPage(This)
  392. #define IShellImageData_IsTransparent(This) \
  393. (This)->lpVtbl -> IsTransparent(This)
  394. #define IShellImageData_IsAnimated(This) \
  395. (This)->lpVtbl -> IsAnimated(This)
  396. #define IShellImageData_IsVector(This) \
  397. (This)->lpVtbl -> IsVector(This)
  398. #define IShellImageData_IsMultipage(This) \
  399. (This)->lpVtbl -> IsMultipage(This)
  400. #define IShellImageData_IsEditable(This) \
  401. (This)->lpVtbl -> IsEditable(This)
  402. #define IShellImageData_IsPrintable(This) \
  403. (This)->lpVtbl -> IsPrintable(This)
  404. #define IShellImageData_IsDecoded(This) \
  405. (This)->lpVtbl -> IsDecoded(This)
  406. #define IShellImageData_GetCurrentPage(This,pnPage) \
  407. (This)->lpVtbl -> GetCurrentPage(This,pnPage)
  408. #define IShellImageData_GetPageCount(This,pcPages) \
  409. (This)->lpVtbl -> GetPageCount(This,pcPages)
  410. #define IShellImageData_SelectPage(This,iPage) \
  411. (This)->lpVtbl -> SelectPage(This,iPage)
  412. #define IShellImageData_GetSize(This,pSize) \
  413. (This)->lpVtbl -> GetSize(This,pSize)
  414. #define IShellImageData_GetRawDataFormat(This,pDataFormat) \
  415. (This)->lpVtbl -> GetRawDataFormat(This,pDataFormat)
  416. #define IShellImageData_GetPixelFormat(This,pFormat) \
  417. (This)->lpVtbl -> GetPixelFormat(This,pFormat)
  418. #define IShellImageData_GetDelay(This,pdwDelay) \
  419. (This)->lpVtbl -> GetDelay(This,pdwDelay)
  420. #define IShellImageData_GetProperties(This,dwMode,ppPropSet) \
  421. (This)->lpVtbl -> GetProperties(This,dwMode,ppPropSet)
  422. #define IShellImageData_Rotate(This,dwAngle) \
  423. (This)->lpVtbl -> Rotate(This,dwAngle)
  424. #define IShellImageData_Scale(This,cx,cy,hints) \
  425. (This)->lpVtbl -> Scale(This,cx,cy,hints)
  426. #define IShellImageData_DiscardEdit(This) \
  427. (This)->lpVtbl -> DiscardEdit(This)
  428. #define IShellImageData_SetEncoderParams(This,pbagEnc) \
  429. (This)->lpVtbl -> SetEncoderParams(This,pbagEnc)
  430. #define IShellImageData_DisplayName(This,wszName,cch) \
  431. (This)->lpVtbl -> DisplayName(This,wszName,cch)
  432. #define IShellImageData_GetResolution(This,puResolutionX,puResolutionY) \
  433. (This)->lpVtbl -> GetResolution(This,puResolutionX,puResolutionY)
  434. #define IShellImageData_GetEncoderParams(This,pguidFmt,ppEncParams) \
  435. (This)->lpVtbl -> GetEncoderParams(This,pguidFmt,ppEncParams)
  436. #define IShellImageData_RegisterAbort(This,pAbort,ppAbortPrev) \
  437. (This)->lpVtbl -> RegisterAbort(This,pAbort,ppAbortPrev)
  438. #define IShellImageData_CloneFrame(This,ppImg) \
  439. (This)->lpVtbl -> CloneFrame(This,ppImg)
  440. #define IShellImageData_ReplaceFrame(This,pImg) \
  441. (This)->lpVtbl -> ReplaceFrame(This,pImg)
  442. #endif /* COBJMACROS */
  443. #endif /* C style interface */
  444. HRESULT STDMETHODCALLTYPE IShellImageData_Decode_Proxy(
  445. IShellImageData * This,
  446. /* [in] */ DWORD dwFlags,
  447. /* [in] */ ULONG cxDesired,
  448. /* [in] */ ULONG cyDesired);
  449. void __RPC_STUB IShellImageData_Decode_Stub(
  450. IRpcStubBuffer *This,
  451. IRpcChannelBuffer *_pRpcChannelBuffer,
  452. PRPC_MESSAGE _pRpcMessage,
  453. DWORD *_pdwStubPhase);
  454. HRESULT STDMETHODCALLTYPE IShellImageData_Draw_Proxy(
  455. IShellImageData * This,
  456. /* [in] */ HDC hdc,
  457. /* [in] */ LPRECT prcDest,
  458. /* [in] */ LPRECT prcSrc);
  459. void __RPC_STUB IShellImageData_Draw_Stub(
  460. IRpcStubBuffer *This,
  461. IRpcChannelBuffer *_pRpcChannelBuffer,
  462. PRPC_MESSAGE _pRpcMessage,
  463. DWORD *_pdwStubPhase);
  464. HRESULT STDMETHODCALLTYPE IShellImageData_NextFrame_Proxy(
  465. IShellImageData * This);
  466. void __RPC_STUB IShellImageData_NextFrame_Stub(
  467. IRpcStubBuffer *This,
  468. IRpcChannelBuffer *_pRpcChannelBuffer,
  469. PRPC_MESSAGE _pRpcMessage,
  470. DWORD *_pdwStubPhase);
  471. HRESULT STDMETHODCALLTYPE IShellImageData_NextPage_Proxy(
  472. IShellImageData * This);
  473. void __RPC_STUB IShellImageData_NextPage_Stub(
  474. IRpcStubBuffer *This,
  475. IRpcChannelBuffer *_pRpcChannelBuffer,
  476. PRPC_MESSAGE _pRpcMessage,
  477. DWORD *_pdwStubPhase);
  478. HRESULT STDMETHODCALLTYPE IShellImageData_PrevPage_Proxy(
  479. IShellImageData * This);
  480. void __RPC_STUB IShellImageData_PrevPage_Stub(
  481. IRpcStubBuffer *This,
  482. IRpcChannelBuffer *_pRpcChannelBuffer,
  483. PRPC_MESSAGE _pRpcMessage,
  484. DWORD *_pdwStubPhase);
  485. HRESULT STDMETHODCALLTYPE IShellImageData_IsTransparent_Proxy(
  486. IShellImageData * This);
  487. void __RPC_STUB IShellImageData_IsTransparent_Stub(
  488. IRpcStubBuffer *This,
  489. IRpcChannelBuffer *_pRpcChannelBuffer,
  490. PRPC_MESSAGE _pRpcMessage,
  491. DWORD *_pdwStubPhase);
  492. HRESULT STDMETHODCALLTYPE IShellImageData_IsAnimated_Proxy(
  493. IShellImageData * This);
  494. void __RPC_STUB IShellImageData_IsAnimated_Stub(
  495. IRpcStubBuffer *This,
  496. IRpcChannelBuffer *_pRpcChannelBuffer,
  497. PRPC_MESSAGE _pRpcMessage,
  498. DWORD *_pdwStubPhase);
  499. HRESULT STDMETHODCALLTYPE IShellImageData_IsVector_Proxy(
  500. IShellImageData * This);
  501. void __RPC_STUB IShellImageData_IsVector_Stub(
  502. IRpcStubBuffer *This,
  503. IRpcChannelBuffer *_pRpcChannelBuffer,
  504. PRPC_MESSAGE _pRpcMessage,
  505. DWORD *_pdwStubPhase);
  506. HRESULT STDMETHODCALLTYPE IShellImageData_IsMultipage_Proxy(
  507. IShellImageData * This);
  508. void __RPC_STUB IShellImageData_IsMultipage_Stub(
  509. IRpcStubBuffer *This,
  510. IRpcChannelBuffer *_pRpcChannelBuffer,
  511. PRPC_MESSAGE _pRpcMessage,
  512. DWORD *_pdwStubPhase);
  513. HRESULT STDMETHODCALLTYPE IShellImageData_IsEditable_Proxy(
  514. IShellImageData * This);
  515. void __RPC_STUB IShellImageData_IsEditable_Stub(
  516. IRpcStubBuffer *This,
  517. IRpcChannelBuffer *_pRpcChannelBuffer,
  518. PRPC_MESSAGE _pRpcMessage,
  519. DWORD *_pdwStubPhase);
  520. HRESULT STDMETHODCALLTYPE IShellImageData_IsPrintable_Proxy(
  521. IShellImageData * This);
  522. void __RPC_STUB IShellImageData_IsPrintable_Stub(
  523. IRpcStubBuffer *This,
  524. IRpcChannelBuffer *_pRpcChannelBuffer,
  525. PRPC_MESSAGE _pRpcMessage,
  526. DWORD *_pdwStubPhase);
  527. HRESULT STDMETHODCALLTYPE IShellImageData_IsDecoded_Proxy(
  528. IShellImageData * This);
  529. void __RPC_STUB IShellImageData_IsDecoded_Stub(
  530. IRpcStubBuffer *This,
  531. IRpcChannelBuffer *_pRpcChannelBuffer,
  532. PRPC_MESSAGE _pRpcMessage,
  533. DWORD *_pdwStubPhase);
  534. HRESULT STDMETHODCALLTYPE IShellImageData_GetCurrentPage_Proxy(
  535. IShellImageData * This,
  536. /* [out] */ ULONG *pnPage);
  537. void __RPC_STUB IShellImageData_GetCurrentPage_Stub(
  538. IRpcStubBuffer *This,
  539. IRpcChannelBuffer *_pRpcChannelBuffer,
  540. PRPC_MESSAGE _pRpcMessage,
  541. DWORD *_pdwStubPhase);
  542. HRESULT STDMETHODCALLTYPE IShellImageData_GetPageCount_Proxy(
  543. IShellImageData * This,
  544. /* [out] */ ULONG *pcPages);
  545. void __RPC_STUB IShellImageData_GetPageCount_Stub(
  546. IRpcStubBuffer *This,
  547. IRpcChannelBuffer *_pRpcChannelBuffer,
  548. PRPC_MESSAGE _pRpcMessage,
  549. DWORD *_pdwStubPhase);
  550. HRESULT STDMETHODCALLTYPE IShellImageData_SelectPage_Proxy(
  551. IShellImageData * This,
  552. /* [in] */ ULONG iPage);
  553. void __RPC_STUB IShellImageData_SelectPage_Stub(
  554. IRpcStubBuffer *This,
  555. IRpcChannelBuffer *_pRpcChannelBuffer,
  556. PRPC_MESSAGE _pRpcMessage,
  557. DWORD *_pdwStubPhase);
  558. HRESULT STDMETHODCALLTYPE IShellImageData_GetSize_Proxy(
  559. IShellImageData * This,
  560. /* [out] */ SIZE *pSize);
  561. void __RPC_STUB IShellImageData_GetSize_Stub(
  562. IRpcStubBuffer *This,
  563. IRpcChannelBuffer *_pRpcChannelBuffer,
  564. PRPC_MESSAGE _pRpcMessage,
  565. DWORD *_pdwStubPhase);
  566. HRESULT STDMETHODCALLTYPE IShellImageData_GetRawDataFormat_Proxy(
  567. IShellImageData * This,
  568. /* [out] */ GUID *pDataFormat);
  569. void __RPC_STUB IShellImageData_GetRawDataFormat_Stub(
  570. IRpcStubBuffer *This,
  571. IRpcChannelBuffer *_pRpcChannelBuffer,
  572. PRPC_MESSAGE _pRpcMessage,
  573. DWORD *_pdwStubPhase);
  574. HRESULT STDMETHODCALLTYPE IShellImageData_GetPixelFormat_Proxy(
  575. IShellImageData * This,
  576. /* [out] */ PixelFormat *pFormat);
  577. void __RPC_STUB IShellImageData_GetPixelFormat_Stub(
  578. IRpcStubBuffer *This,
  579. IRpcChannelBuffer *_pRpcChannelBuffer,
  580. PRPC_MESSAGE _pRpcMessage,
  581. DWORD *_pdwStubPhase);
  582. HRESULT STDMETHODCALLTYPE IShellImageData_GetDelay_Proxy(
  583. IShellImageData * This,
  584. /* [out] */ DWORD *pdwDelay);
  585. void __RPC_STUB IShellImageData_GetDelay_Stub(
  586. IRpcStubBuffer *This,
  587. IRpcChannelBuffer *_pRpcChannelBuffer,
  588. PRPC_MESSAGE _pRpcMessage,
  589. DWORD *_pdwStubPhase);
  590. HRESULT STDMETHODCALLTYPE IShellImageData_GetProperties_Proxy(
  591. IShellImageData * This,
  592. /* [in] */ DWORD dwMode,
  593. /* [out] */ IPropertySetStorage **ppPropSet);
  594. void __RPC_STUB IShellImageData_GetProperties_Stub(
  595. IRpcStubBuffer *This,
  596. IRpcChannelBuffer *_pRpcChannelBuffer,
  597. PRPC_MESSAGE _pRpcMessage,
  598. DWORD *_pdwStubPhase);
  599. HRESULT STDMETHODCALLTYPE IShellImageData_Rotate_Proxy(
  600. IShellImageData * This,
  601. /* [in] */ DWORD dwAngle);
  602. void __RPC_STUB IShellImageData_Rotate_Stub(
  603. IRpcStubBuffer *This,
  604. IRpcChannelBuffer *_pRpcChannelBuffer,
  605. PRPC_MESSAGE _pRpcMessage,
  606. DWORD *_pdwStubPhase);
  607. HRESULT STDMETHODCALLTYPE IShellImageData_Scale_Proxy(
  608. IShellImageData * This,
  609. /* [in] */ ULONG cx,
  610. /* [in] */ ULONG cy,
  611. /* [in] */ InterpolationMode hints);
  612. void __RPC_STUB IShellImageData_Scale_Stub(
  613. IRpcStubBuffer *This,
  614. IRpcChannelBuffer *_pRpcChannelBuffer,
  615. PRPC_MESSAGE _pRpcMessage,
  616. DWORD *_pdwStubPhase);
  617. HRESULT STDMETHODCALLTYPE IShellImageData_DiscardEdit_Proxy(
  618. IShellImageData * This);
  619. void __RPC_STUB IShellImageData_DiscardEdit_Stub(
  620. IRpcStubBuffer *This,
  621. IRpcChannelBuffer *_pRpcChannelBuffer,
  622. PRPC_MESSAGE _pRpcMessage,
  623. DWORD *_pdwStubPhase);
  624. HRESULT STDMETHODCALLTYPE IShellImageData_SetEncoderParams_Proxy(
  625. IShellImageData * This,
  626. /* [in] */ IPropertyBag *pbagEnc);
  627. void __RPC_STUB IShellImageData_SetEncoderParams_Stub(
  628. IRpcStubBuffer *This,
  629. IRpcChannelBuffer *_pRpcChannelBuffer,
  630. PRPC_MESSAGE _pRpcMessage,
  631. DWORD *_pdwStubPhase);
  632. HRESULT STDMETHODCALLTYPE IShellImageData_DisplayName_Proxy(
  633. IShellImageData * This,
  634. /* [out][in] */ LPWSTR wszName,
  635. /* [in] */ UINT cch);
  636. void __RPC_STUB IShellImageData_DisplayName_Stub(
  637. IRpcStubBuffer *This,
  638. IRpcChannelBuffer *_pRpcChannelBuffer,
  639. PRPC_MESSAGE _pRpcMessage,
  640. DWORD *_pdwStubPhase);
  641. HRESULT STDMETHODCALLTYPE IShellImageData_GetResolution_Proxy(
  642. IShellImageData * This,
  643. /* [out] */ ULONG *puResolutionX,
  644. /* [out] */ ULONG *puResolutionY);
  645. void __RPC_STUB IShellImageData_GetResolution_Stub(
  646. IRpcStubBuffer *This,
  647. IRpcChannelBuffer *_pRpcChannelBuffer,
  648. PRPC_MESSAGE _pRpcMessage,
  649. DWORD *_pdwStubPhase);
  650. HRESULT STDMETHODCALLTYPE IShellImageData_GetEncoderParams_Proxy(
  651. IShellImageData * This,
  652. /* [in] */ GUID *pguidFmt,
  653. /* [out] */ EncoderParameters **ppEncParams);
  654. void __RPC_STUB IShellImageData_GetEncoderParams_Stub(
  655. IRpcStubBuffer *This,
  656. IRpcChannelBuffer *_pRpcChannelBuffer,
  657. PRPC_MESSAGE _pRpcMessage,
  658. DWORD *_pdwStubPhase);
  659. HRESULT STDMETHODCALLTYPE IShellImageData_RegisterAbort_Proxy(
  660. IShellImageData * This,
  661. /* [in] */ IShellImageDataAbort *pAbort,
  662. /* [optional][out] */ IShellImageDataAbort **ppAbortPrev);
  663. void __RPC_STUB IShellImageData_RegisterAbort_Stub(
  664. IRpcStubBuffer *This,
  665. IRpcChannelBuffer *_pRpcChannelBuffer,
  666. PRPC_MESSAGE _pRpcMessage,
  667. DWORD *_pdwStubPhase);
  668. HRESULT STDMETHODCALLTYPE IShellImageData_CloneFrame_Proxy(
  669. IShellImageData * This,
  670. /* [out] */ Image **ppImg);
  671. void __RPC_STUB IShellImageData_CloneFrame_Stub(
  672. IRpcStubBuffer *This,
  673. IRpcChannelBuffer *_pRpcChannelBuffer,
  674. PRPC_MESSAGE _pRpcMessage,
  675. DWORD *_pdwStubPhase);
  676. HRESULT STDMETHODCALLTYPE IShellImageData_ReplaceFrame_Proxy(
  677. IShellImageData * This,
  678. /* [in] */ Image *pImg);
  679. void __RPC_STUB IShellImageData_ReplaceFrame_Stub(
  680. IRpcStubBuffer *This,
  681. IRpcChannelBuffer *_pRpcChannelBuffer,
  682. PRPC_MESSAGE _pRpcMessage,
  683. DWORD *_pdwStubPhase);
  684. #endif /* __IShellImageData_INTERFACE_DEFINED__ */
  685. #ifndef __IShellImageDataAbort_INTERFACE_DEFINED__
  686. #define __IShellImageDataAbort_INTERFACE_DEFINED__
  687. /* interface IShellImageDataAbort */
  688. /* [unique][object][uuid][helpstring] */
  689. EXTERN_C const IID IID_IShellImageDataAbort;
  690. #if defined(__cplusplus) && !defined(CINTERFACE)
  691. MIDL_INTERFACE("53fb8e58-50c0-4003-b4aa-0c8df28e7f3a")
  692. IShellImageDataAbort : public IUnknown
  693. {
  694. public:
  695. virtual HRESULT STDMETHODCALLTYPE QueryAbort( void) = 0;
  696. };
  697. #else /* C style interface */
  698. typedef struct IShellImageDataAbortVtbl
  699. {
  700. BEGIN_INTERFACE
  701. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  702. IShellImageDataAbort * This,
  703. /* [in] */ REFIID riid,
  704. /* [iid_is][out] */ void **ppvObject);
  705. ULONG ( STDMETHODCALLTYPE *AddRef )(
  706. IShellImageDataAbort * This);
  707. ULONG ( STDMETHODCALLTYPE *Release )(
  708. IShellImageDataAbort * This);
  709. HRESULT ( STDMETHODCALLTYPE *QueryAbort )(
  710. IShellImageDataAbort * This);
  711. END_INTERFACE
  712. } IShellImageDataAbortVtbl;
  713. interface IShellImageDataAbort
  714. {
  715. CONST_VTBL struct IShellImageDataAbortVtbl *lpVtbl;
  716. };
  717. #ifdef COBJMACROS
  718. #define IShellImageDataAbort_QueryInterface(This,riid,ppvObject) \
  719. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  720. #define IShellImageDataAbort_AddRef(This) \
  721. (This)->lpVtbl -> AddRef(This)
  722. #define IShellImageDataAbort_Release(This) \
  723. (This)->lpVtbl -> Release(This)
  724. #define IShellImageDataAbort_QueryAbort(This) \
  725. (This)->lpVtbl -> QueryAbort(This)
  726. #endif /* COBJMACROS */
  727. #endif /* C style interface */
  728. HRESULT STDMETHODCALLTYPE IShellImageDataAbort_QueryAbort_Proxy(
  729. IShellImageDataAbort * This);
  730. void __RPC_STUB IShellImageDataAbort_QueryAbort_Stub(
  731. IRpcStubBuffer *This,
  732. IRpcChannelBuffer *_pRpcChannelBuffer,
  733. PRPC_MESSAGE _pRpcMessage,
  734. DWORD *_pdwStubPhase);
  735. #endif /* __IShellImageDataAbort_INTERFACE_DEFINED__ */
  736. #ifndef __ShellImageData_LIBRARY_DEFINED__
  737. #define __ShellImageData_LIBRARY_DEFINED__
  738. /* library ShellImageData */
  739. /* [version][lcid][helpstring][uuid] */
  740. EXTERN_C const IID LIBID_ShellImageData;
  741. EXTERN_C const CLSID CLSID_ShellImageDataFactory;
  742. #ifdef __cplusplus
  743. class DECLSPEC_UUID("66e4e4fb-f385-4dd0-8d74-a2efd1bc6178")
  744. ShellImageDataFactory;
  745. #endif
  746. EXTERN_C const CLSID CLSID_AutoplayForSlideShow;
  747. #ifdef __cplusplus
  748. class DECLSPEC_UUID("00E7B358-F65B-4dcf-83DF-CD026B94BFD4")
  749. AutoplayForSlideShow;
  750. #endif
  751. #endif /* __ShellImageData_LIBRARY_DEFINED__ */
  752. /* Additional Prototypes for ALL interfaces */
  753. unsigned long __RPC_USER HDC_UserSize( unsigned long *, unsigned long , HDC * );
  754. unsigned char * __RPC_USER HDC_UserMarshal( unsigned long *, unsigned char *, HDC * );
  755. unsigned char * __RPC_USER HDC_UserUnmarshal(unsigned long *, unsigned char *, HDC * );
  756. void __RPC_USER HDC_UserFree( unsigned long *, HDC * );
  757. /* end of Additional Prototypes */
  758. #ifdef __cplusplus
  759. }
  760. #endif
  761. #endif