xpmgr/BuildTools/Include/thumbcache.h

581 lines
17 KiB
C++

/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 7.00.0555 */
/* Compiler settings for thumbcache.idl:
Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
protocol : dce , ms_ext, c_ext, robust
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __thumbcache_h__
#define __thumbcache_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __ISharedBitmap_FWD_DEFINED__
#define __ISharedBitmap_FWD_DEFINED__
typedef interface ISharedBitmap ISharedBitmap;
#endif /* __ISharedBitmap_FWD_DEFINED__ */
#ifndef __IThumbnailCache_FWD_DEFINED__
#define __IThumbnailCache_FWD_DEFINED__
typedef interface IThumbnailCache IThumbnailCache;
#endif /* __IThumbnailCache_FWD_DEFINED__ */
#ifndef __IThumbnailProvider_FWD_DEFINED__
#define __IThumbnailProvider_FWD_DEFINED__
typedef interface IThumbnailProvider IThumbnailProvider;
#endif /* __IThumbnailProvider_FWD_DEFINED__ */
#ifndef __LocalThumbnailCache_FWD_DEFINED__
#define __LocalThumbnailCache_FWD_DEFINED__
#ifdef __cplusplus
typedef class LocalThumbnailCache LocalThumbnailCache;
#else
typedef struct LocalThumbnailCache LocalThumbnailCache;
#endif /* __cplusplus */
#endif /* __LocalThumbnailCache_FWD_DEFINED__ */
#ifndef __SharedBitmap_FWD_DEFINED__
#define __SharedBitmap_FWD_DEFINED__
#ifdef __cplusplus
typedef class SharedBitmap SharedBitmap;
#else
typedef struct SharedBitmap SharedBitmap;
#endif /* __cplusplus */
#endif /* __SharedBitmap_FWD_DEFINED__ */
/* header files for imported files */
#include "oaidl.h"
#include "shtypes.h"
#include "shobjidl.h"
#ifdef __cplusplus
extern "C"{
#endif
/* interface __MIDL_itf_thumbcache_0000_0000 */
/* [local] */
typedef /* [v1_enum] */
enum WTS_FLAGS
{ WTS_EXTRACT = 0,
WTS_INCACHEONLY = 0x1,
WTS_FASTEXTRACT = 0x2,
WTS_FORCEEXTRACTION = 0x4,
WTS_SLOWRECLAIM = 0x8,
WTS_EXTRACTDONOTCACHE = 0x20,
WTS_SCALETOREQUESTEDSIZE = 0x40,
WTS_SKIPFASTEXTRACT = 0x80,
WTS_EXTRACTINPROC = 0x100
} WTS_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(WTS_FLAGS)
typedef /* [v1_enum] */
enum WTS_CACHEFLAGS
{ WTS_DEFAULT = 0,
WTS_LOWQUALITY = 0x1,
WTS_CACHED = 0x2
} WTS_CACHEFLAGS;
DEFINE_ENUM_FLAG_OPERATORS(WTS_CACHEFLAGS)
typedef /* [v1_enum] */
enum WTS_ALPHATYPE
{ WTSAT_UNKNOWN = 0,
WTSAT_RGB = 1,
WTSAT_ARGB = 2
} WTS_ALPHATYPE;
typedef struct WTS_THUMBNAILID
{
BYTE rgbKey[ 16 ];
} WTS_THUMBNAILID;
#define WTS_E_FAILEDEXTRACTION MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xB200)
extern RPC_IF_HANDLE __MIDL_itf_thumbcache_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_thumbcache_0000_0000_v0_0_s_ifspec;
#ifndef __ISharedBitmap_INTERFACE_DEFINED__
#define __ISharedBitmap_INTERFACE_DEFINED__
/* interface ISharedBitmap */
/* [object][unique][uuid] */
EXTERN_C const IID IID_ISharedBitmap;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("091162a4-bc96-411f-aae8-c5122cd03363")
ISharedBitmap : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetSharedBitmap(
/* [out] */ __RPC__deref_out_opt HBITMAP *phbm) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSize(
/* [out] */ __RPC__out SIZE *pSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFormat(
/* [out] */ __RPC__out WTS_ALPHATYPE *pat) = 0;
virtual HRESULT STDMETHODCALLTYPE InitializeBitmap(
/* [in] */ __RPC__in HBITMAP hbm,
/* [in] */ WTS_ALPHATYPE wtsAT) = 0;
virtual HRESULT STDMETHODCALLTYPE Detach(
/* [out] */ __RPC__deref_out_opt HBITMAP *phbm) = 0;
};
#else /* C style interface */
typedef struct ISharedBitmapVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ISharedBitmap * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ISharedBitmap * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ISharedBitmap * This);
HRESULT ( STDMETHODCALLTYPE *GetSharedBitmap )(
__RPC__in ISharedBitmap * This,
/* [out] */ __RPC__deref_out_opt HBITMAP *phbm);
HRESULT ( STDMETHODCALLTYPE *GetSize )(
__RPC__in ISharedBitmap * This,
/* [out] */ __RPC__out SIZE *pSize);
HRESULT ( STDMETHODCALLTYPE *GetFormat )(
__RPC__in ISharedBitmap * This,
/* [out] */ __RPC__out WTS_ALPHATYPE *pat);
HRESULT ( STDMETHODCALLTYPE *InitializeBitmap )(
__RPC__in ISharedBitmap * This,
/* [in] */ __RPC__in HBITMAP hbm,
/* [in] */ WTS_ALPHATYPE wtsAT);
HRESULT ( STDMETHODCALLTYPE *Detach )(
__RPC__in ISharedBitmap * This,
/* [out] */ __RPC__deref_out_opt HBITMAP *phbm);
END_INTERFACE
} ISharedBitmapVtbl;
interface ISharedBitmap
{
CONST_VTBL struct ISharedBitmapVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ISharedBitmap_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define ISharedBitmap_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define ISharedBitmap_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define ISharedBitmap_GetSharedBitmap(This,phbm) \
( (This)->lpVtbl -> GetSharedBitmap(This,phbm) )
#define ISharedBitmap_GetSize(This,pSize) \
( (This)->lpVtbl -> GetSize(This,pSize) )
#define ISharedBitmap_GetFormat(This,pat) \
( (This)->lpVtbl -> GetFormat(This,pat) )
#define ISharedBitmap_InitializeBitmap(This,hbm,wtsAT) \
( (This)->lpVtbl -> InitializeBitmap(This,hbm,wtsAT) )
#define ISharedBitmap_Detach(This,phbm) \
( (This)->lpVtbl -> Detach(This,phbm) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __ISharedBitmap_INTERFACE_DEFINED__ */
#ifndef __IThumbnailCache_INTERFACE_DEFINED__
#define __IThumbnailCache_INTERFACE_DEFINED__
/* interface IThumbnailCache */
/* [uuid][object] */
EXTERN_C const IID IID_IThumbnailCache;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("F676C15D-596A-4ce2-8234-33996F445DB1")
IThumbnailCache : public IUnknown
{
public:
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetThumbnail(
/* [in] */ IShellItem *pShellItem,
/* [in] */ UINT cxyRequestedThumbSize,
/* [in] */ WTS_FLAGS flags,
/* [out] */ ISharedBitmap **ppvThumb,
/* [annotation][unique][out] */
__out_opt WTS_CACHEFLAGS *pOutFlags,
/* [annotation][unique][out] */
__out_opt WTS_THUMBNAILID *pThumbnailID) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetThumbnailByID(
/* [in] */ WTS_THUMBNAILID thumbnailID,
/* [in] */ UINT cxyRequestedThumbSize,
/* [out] */ ISharedBitmap **ppvThumb,
/* [annotation][unique][out] */
__out_opt WTS_CACHEFLAGS *pOutFlags) = 0;
};
#else /* C style interface */
typedef struct IThumbnailCacheVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IThumbnailCache * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IThumbnailCache * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IThumbnailCache * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetThumbnail )(
IThumbnailCache * This,
/* [in] */ IShellItem *pShellItem,
/* [in] */ UINT cxyRequestedThumbSize,
/* [in] */ WTS_FLAGS flags,
/* [out] */ ISharedBitmap **ppvThumb,
/* [annotation][unique][out] */
__out_opt WTS_CACHEFLAGS *pOutFlags,
/* [annotation][unique][out] */
__out_opt WTS_THUMBNAILID *pThumbnailID);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetThumbnailByID )(
IThumbnailCache * This,
/* [in] */ WTS_THUMBNAILID thumbnailID,
/* [in] */ UINT cxyRequestedThumbSize,
/* [out] */ ISharedBitmap **ppvThumb,
/* [annotation][unique][out] */
__out_opt WTS_CACHEFLAGS *pOutFlags);
END_INTERFACE
} IThumbnailCacheVtbl;
interface IThumbnailCache
{
CONST_VTBL struct IThumbnailCacheVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IThumbnailCache_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IThumbnailCache_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IThumbnailCache_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IThumbnailCache_GetThumbnail(This,pShellItem,cxyRequestedThumbSize,flags,ppvThumb,pOutFlags,pThumbnailID) \
( (This)->lpVtbl -> GetThumbnail(This,pShellItem,cxyRequestedThumbSize,flags,ppvThumb,pOutFlags,pThumbnailID) )
#define IThumbnailCache_GetThumbnailByID(This,thumbnailID,cxyRequestedThumbSize,ppvThumb,pOutFlags) \
( (This)->lpVtbl -> GetThumbnailByID(This,thumbnailID,cxyRequestedThumbSize,ppvThumb,pOutFlags) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IThumbnailCache_RemoteGetThumbnail_Proxy(
__RPC__in IThumbnailCache * This,
/* [in] */ __RPC__in_opt IShellItem *pShellItem,
/* [in] */ UINT cxyRequestedThumbSize,
/* [in] */ WTS_FLAGS flags,
/* [out] */ __RPC__deref_out_opt ISharedBitmap **ppvThumb,
/* [out] */ __RPC__out WTS_CACHEFLAGS *pOutFlags,
/* [out] */ __RPC__out WTS_THUMBNAILID *pThumbnailID);
void __RPC_STUB IThumbnailCache_RemoteGetThumbnail_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IThumbnailCache_RemoteGetThumbnailByID_Proxy(
__RPC__in IThumbnailCache * This,
/* [in] */ WTS_THUMBNAILID thumbnailID,
/* [in] */ UINT cxyRequestedThumbSize,
/* [out] */ __RPC__deref_out_opt ISharedBitmap **ppvThumb,
/* [out] */ __RPC__out WTS_CACHEFLAGS *pOutFlags);
void __RPC_STUB IThumbnailCache_RemoteGetThumbnailByID_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IThumbnailCache_INTERFACE_DEFINED__ */
#ifndef __IThumbnailProvider_INTERFACE_DEFINED__
#define __IThumbnailProvider_INTERFACE_DEFINED__
/* interface IThumbnailProvider */
/* [object][uuid] */
EXTERN_C const IID IID_IThumbnailProvider;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e357fccd-a995-4576-b01f-234630154e96")
IThumbnailProvider : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetThumbnail(
/* [in] */ UINT cx,
/* [out] */ __RPC__deref_out_opt HBITMAP *phbmp,
/* [out] */ __RPC__out WTS_ALPHATYPE *pdwAlpha) = 0;
};
#else /* C style interface */
typedef struct IThumbnailProviderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IThumbnailProvider * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IThumbnailProvider * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IThumbnailProvider * This);
HRESULT ( STDMETHODCALLTYPE *GetThumbnail )(
__RPC__in IThumbnailProvider * This,
/* [in] */ UINT cx,
/* [out] */ __RPC__deref_out_opt HBITMAP *phbmp,
/* [out] */ __RPC__out WTS_ALPHATYPE *pdwAlpha);
END_INTERFACE
} IThumbnailProviderVtbl;
interface IThumbnailProvider
{
CONST_VTBL struct IThumbnailProviderVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IThumbnailProvider_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IThumbnailProvider_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IThumbnailProvider_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IThumbnailProvider_GetThumbnail(This,cx,phbmp,pdwAlpha) \
( (This)->lpVtbl -> GetThumbnail(This,cx,phbmp,pdwAlpha) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IThumbnailProvider_INTERFACE_DEFINED__ */
#ifndef __ThumbCacheLib_LIBRARY_DEFINED__
#define __ThumbCacheLib_LIBRARY_DEFINED__
/* library ThumbCacheLib */
/* [uuid] */
EXTERN_C const IID LIBID_ThumbCacheLib;
EXTERN_C const CLSID CLSID_LocalThumbnailCache;
#ifdef __cplusplus
class DECLSPEC_UUID("50EF4544-AC9F-4A8E-B21B-8A26180DB13F")
LocalThumbnailCache;
#endif
EXTERN_C const CLSID CLSID_SharedBitmap;
#ifdef __cplusplus
class DECLSPEC_UUID("4db26476-6787-4046-b836-e8412a9e8a27")
SharedBitmap;
#endif
#endif /* __ThumbCacheLib_LIBRARY_DEFINED__ */
/* Additional Prototypes for ALL interfaces */
unsigned long __RPC_USER HBITMAP_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in HBITMAP * );
unsigned char * __RPC_USER HBITMAP_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HBITMAP * );
unsigned char * __RPC_USER HBITMAP_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HBITMAP * );
void __RPC_USER HBITMAP_UserFree( __RPC__in unsigned long *, __RPC__in HBITMAP * );
unsigned long __RPC_USER HBITMAP_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in HBITMAP * );
unsigned char * __RPC_USER HBITMAP_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HBITMAP * );
unsigned char * __RPC_USER HBITMAP_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HBITMAP * );
void __RPC_USER HBITMAP_UserFree64( __RPC__in unsigned long *, __RPC__in HBITMAP * );
/* [local] */ HRESULT STDMETHODCALLTYPE IThumbnailCache_GetThumbnail_Proxy(
IThumbnailCache * This,
/* [in] */ IShellItem *pShellItem,
/* [in] */ UINT cxyRequestedThumbSize,
/* [in] */ WTS_FLAGS flags,
/* [out] */ ISharedBitmap **ppvThumb,
/* [annotation][unique][out] */
__out_opt WTS_CACHEFLAGS *pOutFlags,
/* [annotation][unique][out] */
__out_opt WTS_THUMBNAILID *pThumbnailID);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IThumbnailCache_GetThumbnail_Stub(
__RPC__in IThumbnailCache * This,
/* [in] */ __RPC__in_opt IShellItem *pShellItem,
/* [in] */ UINT cxyRequestedThumbSize,
/* [in] */ WTS_FLAGS flags,
/* [out] */ __RPC__deref_out_opt ISharedBitmap **ppvThumb,
/* [out] */ __RPC__out WTS_CACHEFLAGS *pOutFlags,
/* [out] */ __RPC__out WTS_THUMBNAILID *pThumbnailID);
/* [local] */ HRESULT STDMETHODCALLTYPE IThumbnailCache_GetThumbnailByID_Proxy(
IThumbnailCache * This,
/* [in] */ WTS_THUMBNAILID thumbnailID,
/* [in] */ UINT cxyRequestedThumbSize,
/* [out] */ ISharedBitmap **ppvThumb,
/* [annotation][unique][out] */
__out_opt WTS_CACHEFLAGS *pOutFlags);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IThumbnailCache_GetThumbnailByID_Stub(
__RPC__in IThumbnailCache * This,
/* [in] */ WTS_THUMBNAILID thumbnailID,
/* [in] */ UINT cxyRequestedThumbSize,
/* [out] */ __RPC__deref_out_opt ISharedBitmap **ppvThumb,
/* [out] */ __RPC__out WTS_CACHEFLAGS *pOutFlags);
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif