vbAccelerator - Contents of code file: IVBExtractImageLib.odl
[
uuid(D8F48390-7C4E-4222-9099-CC074689BDF8),
helpstring("VB IExtractImage Interface"),
version(1.0)
]
library IVBExtractImage
{
importlib("stdole2.tlb");
typedef enum {
STRRET_WSTR = 0,
STRRET_OFFSET = 1,
STRRET_CSTR = 2
} ESTRRET;
typedef enum {
SHCONTF_FOLDERS = 32,
SHCONTF_NONFOLDERS = 64,
SHCONTF_INCLUDEHIDDEN = 128
} ESHCONTF;
typedef enum {
SHGDN_NORMAL = 0,
SHGDN_INFOLDER = 1,
SHGDN_FORADDRESSBAR = 16384,
SHGDN_FORPARSING = 32768
} ESHGDN;
typedef enum {
SFGAO_CANCOPY = 1,
SFGAO_CANMOVE = 2,
SFGAO_CANLINK = 4,
SFGAO_CANRENAME = 16,
SFGAO_CANDELETE = 32,
SFGAO_HASPROPSHEET = 64,
SFGAO_DROPTARGET = 256,
SFGAO_CAPABILITYMASK = 375,
SFGAO_LINK = 65536,
SFGAO_SHARE = 131072,
SFGAO_READONLY = 262144,
SFGAO_GHOSTED = 524288,
SFGAO_DISPLAYATTRMASK = 983040,
SFGAO_FILESYSANCESTOR = 268435456,
SFGAO_FOLDER = 536870912,
SFGAO_FILESYSTEM = 1073741824,
SFGAO_HASSUBFOLDER = -2147483648,
SFGAO_CONTENTSMASK = -2147483648,
SFGAO_VALIDATE = 16777216,
SFGAO_REMOVABLE = 33554432,
SFGAO_COMPRESSED = 67108864
} ESFGAO;
typedef enum {
IEIFLAG_ASYNC = 0x0001, // ask the extractor if it supports
ASYNC extract (free threaded)
IEIFLAG_CACHE = 0x0002, // returned from the extractor if it
does NOT cache the thumbnail
IEIFLAG_ASPECT = 0x0004, // passed to the extractor to beg it
to render to the aspect ratio of the supplied rect
IEIFLAG_OFFLINE = 0x0008, // if the extractor shouldn't hit the
net to get any content neede for the rendering
IEIFLAG_GLEAM = 0x0010, // does the image have a gleam ? this
will be returned if it does
IEIFLAG_SCREEN = 0x0020, // render as if for the screen (this
is exlusive with IEIFLAG_ASPECT )
IEIFLAG_ORIGSIZE = 0x0040, // render to the approx size passed,
but crop if neccessary
IEIFLAG_NOSTAMP = 0x0080, // returned from the extractor if it
does NOT want an icon stamp on the thumbnail
IEIFLAG_NOBORDER = 0x0100, // returned from the extractor if it
does NOT want an a border around the thumbnail
IEIFLAG_QUALITY = 0x0200 // passed to the Extract method to
indicate that a slower, higher quality image is desired, re-compute the
thumbnail
} EIEIFLAG;
typedef struct tagUUID {
long Data1;
short Data2;
short Data3;
unsigned char Data4[8];
} UUID;
typedef struct tagSTRRET {
ESTRRET uType;
unsigned char cStr[260];
} STRRET;
typedef struct tagSIZE {
long cx;
long cy;
} SIZE;
[
odl,
uuid(00000002-0000-0000-C000-000000000046),
helpstring("Visual Basic version of IMalloc interface")
]
interface IVBMalloc : IUnknown {
long _stdcall Alloc([in] long cb);
long _stdcall Realloc(
[in] long __MIDL_0000,
[in] long cb);
void _stdcall Free([in] long pv);
long _stdcall GetSize([in] long pv);
long _stdcall DidAlloc([in] long pv);
void _stdcall HeapMinimize();
};
[
odl,
uuid(000214F2-0000-0000-C000-000000000046),
helpstring("Visual Basic version of IEnumIDList interface")
]
interface IVBEnumIDList : IUnknown {
long _stdcall Next(
[in] long celt,
[out] long* rgelt,
[out] long* pceltFetched);
HRESULT _stdcall Skip(
[in] long celt);
HRESULT _stdcall Reset();
HRESULT _stdcall Clone(
[out] IVBEnumIDList** ppenum);
};
[
odl,
uuid(000214E6-0000-0000-C000-000000000046),
helpstring("Visual Basic version of IShellFolder interface")
]
interface IVBShellFolder : IUnknown {
HRESULT _stdcall ParseDisplayName(
[in] long hwndOwner,
[in] long pbcReserved,
[in] LPWSTR lpszDisplayName,
[out] long* pchEaten,
[out] long* ppidl,
[in, out] long* pdwAttributes);
HRESULT _stdcall EnumObjects(
[in] long hwndOwner,
[in] ESHCONTF grfFlags,
[out] IVBEnumIDList** ppenumIDList);
HRESULT _stdcall BindToObject(
[in] long pidl,
[in] long pbcReserved,
[in] UUID* riid,
[out] void* ppvOut);
HRESULT _stdcall BindToStorage(
[in] long pidl,
[in] long pbcReserved,
[in] UUID* riid,
[out] void* ppvObj);
HRESULT _stdcall CompareIDs(
[in] void* lParam,
[in] long pidl1,
[in] long pidl2);
HRESULT _stdcall CreateViewObject(
[in] long hwndOwner,
[in] UUID* riid,
[out] void* ppvOut);
HRESULT _stdcall GetAttributesOf(
[in] int cidl,
[in] long* apidl,
[in, out] ESFGAO* rgfInOut);
HRESULT _stdcall GetUIObjectOf(
[in] long hwndOwner,
[in] int cidl,
[in] long* apidl,
[in] UUID* riid,
[in, out] int* prgfInOut,
[out] void* ppvOut);
HRESULT _stdcall GetDisplayNameOf(
[in] long pidl,
[in] ESHGDN uFlags,
[out] STRRET* lpName);
HRESULT _stdcall SetNameOf(
[in] long hwndOwner,
[in] long pidl,
[in] LPWSTR lpszName,
[in] ESHCONTF uFlags,
[out] long* ppidlOut);
};
[
odl,
uuid(BB2E617C-0920-11d1-9A0B-00C04FC2D6C1),
helpstring("Visual Basic version of IExtractImage interface")
]
interface IExtractImage : IUnknown
{
HRESULT GetLocation(
[out] LPWSTR pszPathBuffer,
[in] long cch,
[in, out] long *pdwPriority,
[in] SIZE * prgSize,
[in] long dwRecClrDepth,
[in] EIEIFLAG *pdwFlags);
HRESULT Extract([out] long *phBmpThumbnail);
};
[
dllname("OLE32.DLL"),
uuid(7C8CFA1A-3832-47f7-9FC9-FBFA5DD37D06),
helpstring("Object Base Function Entries and Constants")
]
module VBObjBase {
[entry("IIDFromString"), helpstring("Converts a string in the IID format
generated by the StringFromIID function into an IID")]
long IIDFromString(
[in] LPWSTR lpsz,
[out] UUID *lpiid);
};
}
|
|