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.
185 lines
5.7 KiB
185 lines
5.7 KiB
//+------------------------------------------------------------------------
|
|
//
|
|
// Filter and Bitmap Surface interfaces
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1996-1999.
|
|
//
|
|
// File: qmm.idl
|
|
//
|
|
//-------------------------------------------------------------------------
|
|
|
|
import "oaidl.idl";
|
|
import "oleidl.idl";
|
|
|
|
cpp_quote("#define SURFACE_LOCK_EXCLUSIVE 0x01")
|
|
cpp_quote("#define SURFACE_LOCK_ALLOW_DISCARD 0x02")
|
|
cpp_quote("#define SURFACE_LOCK_WAIT 0x04")
|
|
cpp_quote("")
|
|
|
|
// BUGBUG: DEFINING NEW ERROR AND STATUS CODES. WHAT'S THE GENERAL PROCEDURE
|
|
// FOR THIS? WHAT'S OUR FACILITY CODE? I'M MAKING THIS UP FOR NOW.
|
|
// FACILITY CODE FOR SUFACE WILL BE 12 (NOT USED IN WINERROR)
|
|
|
|
cpp_quote("#define E_SURFACE_NOSURFACE 0x8000C000L")
|
|
cpp_quote("#define E_SURFACE_UNKNOWN_FORMAT 0x8000C001L")
|
|
cpp_quote("#define E_SURFACE_NOTMYPOINTER 0x8000C002L")
|
|
cpp_quote("#define E_SURFACE_DISCARDED 0x8000C003L")
|
|
cpp_quote("#define E_SURFACE_NODC 0x8000C004L")
|
|
cpp_quote("#define E_SURFACE_NOTMYDC 0x8000C005L")
|
|
cpp_quote("#define S_SURFACE_DISCARDED 0x0000C003L") // Success code
|
|
cpp_quote("")
|
|
|
|
typedef GUID BFID;
|
|
|
|
cpp_quote("#ifndef RGBQUAD_DEFINED")
|
|
cpp_quote("#define RGBQUAD_DEFINED")
|
|
typedef struct tagRGBQUAD RGBQUAD;
|
|
cpp_quote("#endif")
|
|
|
|
|
|
cpp_quote("EXTERN_C const GUID BFID_MONOCHROME;")
|
|
cpp_quote("EXTERN_C const GUID BFID_RGB_4;")
|
|
cpp_quote("EXTERN_C const GUID BFID_RGB_8;")
|
|
cpp_quote("EXTERN_C const GUID BFID_RGB_555;")
|
|
cpp_quote("EXTERN_C const GUID BFID_RGB_565;")
|
|
cpp_quote("EXTERN_C const GUID BFID_RGB_24;")
|
|
cpp_quote("EXTERN_C const GUID BFID_RGB_32;")
|
|
cpp_quote("EXTERN_C const GUID BFID_RGBA_32;")
|
|
cpp_quote("EXTERN_C const GUID BFID_GRAY_8;")
|
|
cpp_quote("EXTERN_C const GUID BFID_GRAY_16;")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("#define SID_SDirectDraw3 IID_IDirectDraw3")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("#define COLOR_NO_TRANSPARENT 0xFFFFFFFF")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("#define IMGDECODE_EVENT_PROGRESS 0x01")
|
|
cpp_quote("#define IMGDECODE_EVENT_PALETTE 0x02")
|
|
cpp_quote("#define IMGDECODE_EVENT_BEGINBITS 0x04")
|
|
cpp_quote("#define IMGDECODE_EVENT_BITSCOMPLETE 0x08")
|
|
cpp_quote("#define IMGDECODE_EVENT_USEDDRAW 0x10")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("#define IMGDECODE_HINT_TOPDOWN 0x01")
|
|
cpp_quote("#define IMGDECODE_HINT_BOTTOMUP 0x02")
|
|
cpp_quote("#define IMGDECODE_HINT_FULLWIDTH 0x04")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("#define MAPMIME_DEFAULT 0")
|
|
cpp_quote("#define MAPMIME_CLSID 1")
|
|
cpp_quote("#define MAPMIME_DISABLE 2")
|
|
cpp_quote("#define MAPMIME_DEFAULT_ALWAYS 3")
|
|
cpp_quote("")
|
|
|
|
|
|
cpp_quote("#define BFID_INDEXED_RGB_8 BFID_RGB_8")
|
|
cpp_quote("#define BFID_INDEXED_RGB_4 BFID_RGB_4")
|
|
cpp_quote("#define BFID_INDEXED_RGB_1 BFID_MONOCHROME")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("EXTERN_C const GUID CLSID_IImageDecodeFilter;")
|
|
cpp_quote("")
|
|
|
|
|
|
//
|
|
// TIMER SERVICES
|
|
//
|
|
cpp_quote("EXTERN_C const GUID NAMEDTIMER_DRAW;") // in guids.c
|
|
cpp_quote("")
|
|
|
|
interface ITimerService;
|
|
interface ITimer;
|
|
interface ITimerSink;
|
|
|
|
[
|
|
object,
|
|
uuid(4648212f-b251-11d2-a438-00c04fb177e3),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITimerService : IUnknown
|
|
{
|
|
HRESULT CreateTimer ( [in] ITimer *pReferenceTimer,
|
|
[out] ITimer **ppNewTimer );
|
|
HRESULT GetNamedTimer ( [in] REFGUID rguidName, [out] ITimer **ppTimer );
|
|
HRESULT SetNamedTimerReference ( [in] REFGUID rguidName,
|
|
[in] ITimer *pReferenceTimer );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(46482130-b251-11d2-a438-00c04fb177e3),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITimer : IUnknown
|
|
{
|
|
HRESULT Advise( [in] VARIANT vtimeMin, [in] VARIANT vtimeMax, [in] VARIANT vtimeInterval,
|
|
[in] DWORD dwFlags, [in] ITimerSink *pTimerSink, [out] DWORD *pdwCookie);
|
|
HRESULT Unadvise( [in] DWORD dwCookie );
|
|
HRESULT Freeze( [in] BOOL fFreeze );
|
|
HRESULT GetTime( [out] VARIANT *pvtime );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(4648303a-b251-11d2-a438-00c04fb177e3),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITimerSink : IUnknown
|
|
{
|
|
HRESULT OnTimer ( [in] VARIANT vtimeAdvise );
|
|
}
|
|
|
|
cpp_quote("#define SID_STimerService IID_ITimerService")
|
|
cpp_quote("")
|
|
|
|
interface IMapMIMEToCLSID;
|
|
interface IImageDecodeFilter;
|
|
interface IImageDecodeEventSink;
|
|
|
|
[
|
|
object,
|
|
uuid(46482131-b251-11d2-a438-00c04fb177e3),
|
|
// helpstring( "IMapMIMEToCLSID Interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IMapMIMEToCLSID : IUnknown
|
|
{
|
|
HRESULT EnableDefaultMappings( BOOL bEnable );
|
|
HRESULT MapMIMEToCLSID( LPCOLESTR pszMIMEType, CLSID* pCLSID );
|
|
HRESULT SetMapping( LPCOLESTR pszMIMEType, DWORD dwMapMode,
|
|
REFCLSID clsid );
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(46482132-b251-11d2-a438-00c04fb177e3),
|
|
// helpstring( "IImageDecodeFilter Interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IImageDecodeFilter : IUnknown
|
|
{
|
|
HRESULT Initialize( IImageDecodeEventSink* pEventSink );
|
|
HRESULT Process( IStream* pStream );
|
|
HRESULT Terminate( HRESULT hrStatus );
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(46483039-b251-11d2-a438-00c04fb177e3),
|
|
// helpstring( "IImageDecodeEventSink Interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IImageDecodeEventSink : IUnknown
|
|
{
|
|
HRESULT GetSurface( [in] LONG nWidth, [in] LONG nHeight, [in] REFGUID bfid,
|
|
[in] ULONG nPasses, [in] DWORD dwHints,
|
|
[out] IUnknown** ppSurface );
|
|
HRESULT OnBeginDecode( [out] DWORD* pdwEvents, [out] ULONG* pnFormats,
|
|
[out, size_is(,*pnFormats)] BFID** ppFormats );
|
|
HRESULT OnBitsComplete();
|
|
HRESULT OnDecodeComplete( [in] HRESULT hrStatus );
|
|
HRESULT OnPalette();
|
|
HRESULT OnProgress( [in] RECT* pBounds, [in] BOOL bComplete );
|
|
};
|