From d848c9746eb49c164ca6b3d357d54d93d6670a3d Mon Sep 17 00:00:00 2001 From: Daniel Reimer Date: Mon, 5 Jul 2010 23:00:19 +0000 Subject: [PATCH] Sync most idl files with Wine head. (Samuel Serapion) Modify shell32 and uuid to work with the new idls. This will break build till next commit. svn path=/trunk/; revision=47953 --- reactos/dll/win32/shell32/shellord.c | 4 +- reactos/include/crt/sys/types.h | 9 +- reactos/include/dxsdk/amstream.idl | 16 +- reactos/include/dxsdk/amvideo.idl | 241 ++++ reactos/include/dxsdk/axcore.idl | 3 + reactos/include/dxsdk/dxsdk.rbuild | 1 + reactos/include/psdk/asptlb.idl | 133 +++ reactos/include/psdk/exdisp.idl | 35 + reactos/include/psdk/exdispid.h | 7 + reactos/include/psdk/msctf.idl | 2 +- reactos/include/psdk/msdadc.idl | 92 ++ reactos/include/psdk/msinkaut.idl | 1009 +++++++++++++++++ reactos/include/psdk/msxml2.idl | 78 ++ reactos/include/psdk/netcon.idl | 412 +++++++ reactos/include/psdk/oaidl.idl | 6 +- reactos/include/psdk/propsys.idl | 815 +++++++++++++ reactos/include/psdk/psdk.rbuild | 6 + reactos/include/psdk/shellapi.h | 4 + reactos/include/psdk/shldisp.idl | 26 + reactos/include/psdk/shlguid.h | 14 +- reactos/include/psdk/shlguid_undoc.h | 2 +- reactos/include/psdk/shlobj.h | 149 ++- reactos/include/psdk/shobjidl.idl | 467 ++++++-- reactos/include/psdk/shtypes.idl | 4 + .../include/psdk/structuredquerycondition.idl | 53 + reactos/include/psdk/vmr9.idl | 524 +++++++++ reactos/include/psdk/vmrender.idl | 481 ++++++++ reactos/include/psdk/wbemcli.idl | 211 ++++ reactos/include/psdk/wincodec.idl | 69 +- reactos/include/psdk/winnt.h | 4 + reactos/include/psdk/winuser.h | 2 + reactos/include/psdk/wtypes.idl | 2 +- reactos/lib/sdk/uuid/uuid.c | 15 +- 33 files changed, 4734 insertions(+), 162 deletions(-) create mode 100644 reactos/include/dxsdk/amvideo.idl create mode 100644 reactos/include/psdk/asptlb.idl create mode 100644 reactos/include/psdk/msdadc.idl create mode 100644 reactos/include/psdk/msinkaut.idl create mode 100644 reactos/include/psdk/netcon.idl create mode 100644 reactos/include/psdk/propsys.idl create mode 100644 reactos/include/psdk/structuredquerycondition.idl create mode 100644 reactos/include/psdk/vmr9.idl create mode 100644 reactos/include/psdk/vmrender.idl create mode 100644 reactos/include/psdk/wbemcli.idl diff --git a/reactos/dll/win32/shell32/shellord.c b/reactos/dll/win32/shell32/shellord.c index c25ddff3803..32fd1fd2c38 100644 --- a/reactos/dll/win32/shell32/shellord.c +++ b/reactos/dll/win32/shell32/shellord.c @@ -347,7 +347,7 @@ BOOL WINAPI RegisterShellHook( * ordinal. If you change the implementation here please update the code in * shlwapi as well. */ -int WINAPIV ShellMessageBoxW( +int WINAPI ShellMessageBoxW( HINSTANCE hInstance, HWND hWnd, LPCWSTR lpText, @@ -405,7 +405,7 @@ int WINAPIV ShellMessageBoxW( * NOTES * Exported by ordinal */ -int WINAPIV ShellMessageBoxA( +int WINAPI ShellMessageBoxA( HINSTANCE hInstance, HWND hWnd, LPCSTR lpText, diff --git a/reactos/include/crt/sys/types.h b/reactos/include/crt/sys/types.h index adec8179db5..977e8c797d3 100644 --- a/reactos/include/crt/sys/types.h +++ b/reactos/include/crt/sys/types.h @@ -36,18 +36,17 @@ typedef unsigned int dev_t; # endif #endif -#if defined(_WINE) +#ifndef _PID_T_ +#define _PID_T_ #ifndef _WIN64 typedef int _pid_t; #else typedef __int64 _pid_t; #endif + #ifndef NO_OLDNAMES -#ifndef __pid_t_defined -#define __pid_t_defined typedef _pid_t pid_t; -#endif /* __pid_t_defined */ -#endif #endif +#endif /* Not _PID_T_ */ #endif /* !_INC_TYPES */ diff --git a/reactos/include/dxsdk/amstream.idl b/reactos/include/dxsdk/amstream.idl index f7aea7cbd99..2f32d44001f 100644 --- a/reactos/include/dxsdk/amstream.idl +++ b/reactos/include/dxsdk/amstream.idl @@ -64,7 +64,6 @@ typedef [v1_enum] enum { RenderData = 2 } OUTPUT_STATE; -/* [ object, uuid(7DB01C96-C0C3-11d0-8FF1-00C04FD9189D), @@ -81,7 +80,6 @@ interface IDirectShowStream : IDispatch [propget, id(3), helpstring("property Audio")] HRESULT Audio([out, retval] OUTPUT_STATE *pVal); [propput, id(3), helpstring("propetry Audio")] HRESULT Audio([in] OUTPUT_STATE newVal); }; -*/ [ object, @@ -93,7 +91,7 @@ interface IAMMultiMediaStream : IMultiMediaStream HRESULT Initialize( [in] STREAM_TYPE StreamType, [in] DWORD dwFlags, - [in, optional] IGraphBuilder *pFilterGraph); + [in] IGraphBuilder *pFilterGraph); HRESULT GetFilterGraph( [out] IGraphBuilder **ppGraphBuilder); @@ -102,10 +100,10 @@ interface IAMMultiMediaStream : IMultiMediaStream [out] IMediaStreamFilter **ppFilter); HRESULT AddMediaStream( - [in, optional] IUnknown *pStreamObject, - [in, optional] const MSPID *PurposeId, + [in] IUnknown *pStreamObject, + [in] const MSPID *PurposeId, [in] DWORD dwFlags, - [out, optional] IMediaStream **ppNewStream); + [out] IMediaStream **ppNewStream); HRESULT OpenFile( [in] LPCWSTR pszFileName, @@ -129,7 +127,7 @@ pointer_default(unique) interface IAMMediaStream : IMediaStream { HRESULT Initialize( - [in, optional] IUnknown *pSourceObject, + [in] IUnknown *pSourceObject, [in] DWORD dwFlags, [in] REFMSPID PurposeId, [in] const STREAM_TYPE StreamType); @@ -233,9 +231,9 @@ interface IAMMediaTypeStream : IMediaStream HRESULT CreateSample( [in] long lSampleSize, - [in, optional] BYTE * pbBuffer, + [in] BYTE * pbBuffer, [in] DWORD dwFlags, - [in, optional] IUnknown *pUnkOuter, + [in] IUnknown *pUnkOuter, [out] IAMMediaTypeSample ** ppAMMediaTypeSample); HRESULT GetStreamAllocatorRequirements( diff --git a/reactos/include/dxsdk/amvideo.idl b/reactos/include/dxsdk/amvideo.idl new file mode 100644 index 00000000000..ea486d5e887 --- /dev/null +++ b/reactos/include/dxsdk/amvideo.idl @@ -0,0 +1,241 @@ +/* + * Copyright (C) 2003 Robert Shearman + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "objidl.idl"; + +/* trick widl into thinking that it knows the DirectDraw types + * as there is no IDL file for them (yet) */ +cpp_quote("#if 0") +typedef void * LPDIRECTDRAW; +typedef void DDSURFACEDESC,DDCAPS; +typedef DWORD RGBQUAD; +typedef LONGLONG REFERENCE_TIME; +typedef struct +{ + DWORD biSize; + LONG biWidth; + LONG biHeight; + WORD biPlanes; + WORD biBitCount; + DWORD biCompression; + DWORD biSizeImage; + LONG biXPelsPerMeter; + LONG biYPelsPerMeter; + DWORD biClrUsed; + DWORD biClrImportant; +} BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER; +cpp_quote("#endif") + +cpp_quote("#include ") + +cpp_quote("#define AMDDS_NONE 0x00") +cpp_quote("#define AMDDS_DCIPS 0x01") +cpp_quote("#define AMDDS_PS 0x02") +cpp_quote("#define AMDDS_RGBOVR 0x04") +cpp_quote("#define AMDDS_YUVOVR 0x08") +cpp_quote("#define AMDDS_RGBOFF 0x10") +cpp_quote("#define AMDDS_YUVOFF 0x20") +cpp_quote("#define AMDDS_RGBFLP 0x40") +cpp_quote("#define AMDDS_YUVFLP 0x80") +cpp_quote("#define AMDDS_ALL 0xFF") +cpp_quote("#define AMDDS_DEFAULT AMDDS_ALL") + +cpp_quote("#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)") +cpp_quote("#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)") +cpp_quote("#define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)") + +[ + object, + /* uuid(36d39eb0-dd75-11ce-bf0e-00aa0055595a) conflicts with uuids.h */ + pointer_default(unique), + local +] +interface IDirectDrawVideo : IUnknown +{ + HRESULT GetSwitches([out] DWORD * pSwitches); + HRESULT SetSwitches([in] DWORD Switches); + HRESULT GetCaps([out] DDCAPS * pCaps); + HRESULT GetEmulatedCaps([out] DDCAPS *pCaps); + HRESULT GetSurfaceDesc([out] DDSURFACEDESC * pSurfaceDesc); + HRESULT GetFourCCCodes([out] DWORD * pCount, [out] DWORD * pCodes); + HRESULT SetDirectDraw([in] LPDIRECTDRAW pDirectDraw); + HRESULT GetDirectDraw([out] LPDIRECTDRAW * ppDirectDraw); + HRESULT GetSurfaceType([out] DWORD * pSurfaceType); + HRESULT SetDefault(); + HRESULT UseScanLine([in] long UseScanLine); + HRESULT CanUseScanLine([out] long * UseScanLine); + HRESULT UseOverlayStretch([in] long UseOverlayStretch); + HRESULT CanUseOverlayStretch([out] long * UseOverlayStretch); + HRESULT UseWhenFullScreen([in] long UseWhenFullScreen); + HRESULT WillUseFullScreen([out] long * UseWhenFullScreen); +} + +[ + object, + /* uuid(1bd0ecb0-f8e2-11ce-aac6-0020af0b99a3) conflicts with uuids.h */ + pointer_default(unique), + local +] +interface IQualProp : IUnknown +{ + [propget] HRESULT FramesDroppedInRenderer([out] int * pcFrames); + [propget] HRESULT FramesDrawn([out] int * pcFramesDrawn); + [propget] HRESULT AvgFrameRate([out] int * piAvgFrameRate); + [propget] HRESULT Jitter([out] int * iJitter); + [propget] HRESULT AvgSyncOffset([out] int * piAvg); + [propget] HRESULT DevSyncOffset([out] int * piDev); +} + +[ + object, + /* uuid(dd1d7110-7836-11cf-bf47-00aa0055595a) conflicts with uuids.h */ + pointer_default(unique) +] +interface IFullScreenVideo : IUnknown +{ + HRESULT CountModes([out] long * pModes); + HRESULT GetModeInfo([in] long Mode, [out] long * pWidth, [out] long * pHeight, [out] long * pDepth); + HRESULT GetCurrentMode([out] long * pMode); + HRESULT IsModeAvailable([in] long Mode); + HRESULT IsModeEnabled([in] long Mode); + HRESULT SetEnabled([in] long Mode, [in] long bEnabled); + HRESULT GetClipFactor([out] long * pClipFactor); + HRESULT SetClipFactor([in] long ClipFactor); + HRESULT SetMessageDrain([in] HWND hwnd); + HRESULT GetMessageDrain([out] HWND * hwnd); + HRESULT SetMonitor([in] long Monitor); + HRESULT GetMonitor([out] long * Monitor); + HRESULT HideOnDeactivate([in] long Hide); + HRESULT IsHideOnDeactivate(); + HRESULT SetCaption([in] BSTR strCaption); + HRESULT GetCaption([out] BSTR * pstrCaption); + HRESULT SetDefault(); +} + +[ + object, + /* uuid(53479470-f1dd-11cf-bc42-00aa00ac74f6) conflicts with uuids.h */ + pointer_default(unique), + local +] +interface IFullScreenVideoEx : IFullScreenVideo +{ + HRESULT SetAcceleratorTable([in] HWND hwnd, [in] HACCEL hAccel); + HRESULT GetAcceleratorTable([out] HWND * phwnd, [out] HACCEL * phAccel); + HRESULT KeepPixelAspectRatio([in] long KeepAspect); + /* FIXME: not sure is this next method is an [out] */ + HRESULT IsKeepPixelAspectRatio([out] long * pKeepAspect); +} + +[ + object, + /* uuid(61ded640-e912-11ce-a099-00aa00479a58) conflicts with uuids.h */ + pointer_default(unique), + local +] +interface IBaseVideoMixer : IUnknown +{ + HRESULT SetLeadPin([in] int iPin); + HRESULT GetLeadPin([out] int * piPin); + HRESULT GetInputPinCount([out] int * piPinCount); + HRESULT IsUsingClock([out] int * pbValue); + HRESULT SetUsingClock([in] int bValue); + HRESULT GetClockPeriod([out] int * pbValue); + HRESULT SetClockPeriod([in] int bValue); +} + +#define iPALETTE_COLORS 256 +#define iMASK_COLORS 3 + +cpp_quote("#define iPALETTE_COLORS 256") +cpp_quote("#define iEGA_COLORS 16") +cpp_quote("#define iMASK_COLORS 3") +cpp_quote("#define iTRUECOLOR 16") +cpp_quote("#define iRED 0") +cpp_quote("#define iGREEN 1") +cpp_quote("#define iBLUE 2") +cpp_quote("#define iPALETTE 8") +cpp_quote("#define iMAXBITS 8") + +typedef struct tag_TRUECOLORINFO +{ + DWORD dwBitMasks[iMASK_COLORS]; + RGBQUAD bmiColors[iPALETTE_COLORS]; +} TRUECOLORINFO; + +typedef struct tagVIDEOINFOHEADER +{ + RECT rcSource; + RECT rcTarget; + DWORD dwBitRate; + DWORD dwBitErrorRate; + REFERENCE_TIME AvgTimePerFrame; + + BITMAPINFOHEADER bmiHeader; +} VIDEOINFOHEADER; + +typedef struct tagVIDEOINFO +{ + RECT rcSource; + RECT rcTarget; + DWORD dwBitRate; + DWORD dwBitErrorRate; + REFERENCE_TIME AvgTimePerFrame; + + BITMAPINFOHEADER bmiHeader; + + union + { + RGBQUAD bmiColors[iPALETTE_COLORS]; + DWORD dwBitMasks[iMASK_COLORS]; + TRUECOLORINFO TrueColorInfo; + } DUMMYUNIONNAME; +} VIDEOINFO; + +typedef struct tagMPEG1VIDEOINFO +{ + VIDEOINFOHEADER hdr; + DWORD dwStartTimeCode; + DWORD cbSequenceHeader; + BYTE bSequenceHeader[1]; +} MPEG1VIDEOINFO; + +cpp_quote("#define MAX_SIZE_MPEG1_SEQUENCE_INFO 140") +cpp_quote("#define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)") + +typedef struct tagAnalogVideoInfo +{ + RECT rcSource; + RECT rcTarget; + DWORD dwActiveWidth; + DWORD dwActiveHeight; + REFERENCE_TIME AvgTimePerFrame; +} ANALOGVIDEOINFO; + +typedef enum +{ + AM_PROPERTY_FRAMESTEP_STEP = 0x01, + AM_PROPERTY_FRAMESTEP_CANCEL = 0x02, + AM_PROPERTY_FRAMESTEP_CANSTEP = 0x03, + AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x04 +} AM_PROPERTY_FRAMESTEP; + +typedef struct _AM_FRAMESTEP_STEP +{ + DWORD dwFramesToStep; +} AM_FRAMESTEP_STEP; diff --git a/reactos/include/dxsdk/axcore.idl b/reactos/include/dxsdk/axcore.idl index 683003e1fb2..cebc137943a 100644 --- a/reactos/include/dxsdk/axcore.idl +++ b/reactos/include/dxsdk/axcore.idl @@ -47,7 +47,10 @@ typedef enum _PinDirection cpp_quote("#define MAX_PIN_NAME 128") cpp_quote("#define MAX_FILTER_NAME 128") +cpp_quote("#ifndef REFERENCE_TIME_DEFINED") +cpp_quote("#define REFERENCE_TIME_DEFINED") typedef LONGLONG REFERENCE_TIME; +cpp_quote("#endif") cpp_quote("#ifndef REFTIME_DEFINED") cpp_quote("#define REFTIME_DEFINED") diff --git a/reactos/include/dxsdk/dxsdk.rbuild b/reactos/include/dxsdk/dxsdk.rbuild index 1d91680f471..31648d46995 100644 --- a/reactos/include/dxsdk/dxsdk.rbuild +++ b/reactos/include/dxsdk/dxsdk.rbuild @@ -1,6 +1,7 @@ + amvideo.idl amstream.idl austream.idl bdatif.idl diff --git a/reactos/include/psdk/asptlb.idl b/reactos/include/psdk/asptlb.idl new file mode 100644 index 00000000000..608d22084eb --- /dev/null +++ b/reactos/include/psdk/asptlb.idl @@ -0,0 +1,133 @@ +/* + * Copyright (C) 2010 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "unknwn.idl"; +import "objidl.idl"; +import "oaidl.idl"; + +[ + object, + dual, + uuid(D97A6DA0-A864-11cf-83BE-00A0C90C2BD8) +] +interface IRequestDictionary : IDispatch +{ + [propget] + HRESULT Item(IRequestDictionary *iface, [in, optional] VARIANT Var, + [retval, out] VARIANT *pVariantReturn); + + [restricted, propget] + HRESULT _NewEnum(IRequestDictionary *iface, [retval, out] IUnknown **ppEnumReturn); + + [propget] + HRESULT Count(IRequestDictionary *iface, [retval, out] int *cStrRet); + + [propget] + HRESULT Key(IRequestDictionary *iface, [in] VARIANT VarKey, [retval, out]VARIANT *pvar); +}; + +[ + object, + dual, + uuid(D97A6DA0-A864-11cf-83BE-00A0C90C2BD8) +] +interface IResponse : IDispatch +{ + [propget] + HRESULT Buffer(IResponse *iface, [retval, out] VARIANT_BOOL *fIsBuffering); + + [propput] + HRESULT Buffer(IResponse *iface, [in] VARIANT_BOOL fIsBuffering); + + [propget] + HRESULT ContentType(IResponse *iface, [retval, out] BSTR *pbstrContentTypeRet); + + [propput] + HRESULT ContentType(IResponse *iface, [in] BSTR bstrContentType); + + [propget] + HRESULT Expires(IResponse *iface, [retval, out] VARIANT *pvarExpiresMinutesRet); + + [propput] + HRESULT Expires(IResponse *iface, [in] long lExpiresMinutes); + + [propget] + HRESULT ExpiresAbsolute(IResponse *iface, [retval, out] VARIANT *pvarExpiresRet); + + [propput] + HRESULT ExpiresAbsolute(IResponse *iface, [in] DATE dtExpires); + + [propget] + HRESULT Cookies(IResponse *iface, [retval, out] IRequestDictionary **ppCookies); + + [propget] + HRESULT Status(IResponse *iface, [retval][out] BSTR *pbstrStatusRet); + + [propput] + HRESULT Status(IResponse *iface, [in] BSTR bstrStatus); + + [hidden] + HRESULT Add(IResponse *iface, [in] BSTR bstrHeaderValue, [in] BSTR bstrHeaderName); + + HRESULT AddHeader(IResponse *iface, [in] BSTR bstrHeaderName, [in] BSTR bstrHeaderValue); + + HRESULT AppendToLog(IResponse *iface, [in] BSTR bstrLogEntry); + + HRESULT BinaryWrite(IResponse *iface, [in] VARIANT varInput); + + HRESULT Clear(IResponse *iface); + + HRESULT End(IResponse *iface); + + HRESULT Flush(IResponse *iface); + + HRESULT Redirect(IResponse *iface, [in] BSTR bstrURL); + + HRESULT Write(IResponse *iface, [in] VARIANT varText); + + [hidden] + HRESULT WriteBlock(IResponse *iface, [in] short iBlockNumber); + + HRESULT IsClientConnected(IResponse *iface, [retval, out] VARIANT_BOOL *pfIsClientConnected); + + [propget] + HRESULT get_CharSet( IResponse *iface, [retval, out] BSTR *pbstrCharSetRet); + + [propput] + HRESULT put_CharSet(IResponse *iface, [in] BSTR bstrCharSet); + + HRESULT Pics(IResponse *iface, [in] BSTR bstrHeaderValue); + + [propget] + HRESULT get_CacheControl(IResponse *iface, [retval, out] BSTR *pbstrCacheControl); + + [propput] + HRESULT put_CacheControl(IResponse *iface, [in] BSTR bstrCacheControl); + + [propget] + HRESULT get_CodePage(IResponse *iface, [retval, out] long *plvar); + + [propput] + HRESULT put_CodePage(IResponse *iface, [in] long lvar); + + [propget] + HRESULT get_LCID(IResponse *iface, [retval, out] long *plvar); + + [propput] + HRESULT put_LCID(IResponse *iface, [in] long lvar); +}; diff --git a/reactos/include/psdk/exdisp.idl b/reactos/include/psdk/exdisp.idl index 363e61affd6..808663ee67a 100644 --- a/reactos/include/psdk/exdisp.idl +++ b/reactos/include/psdk/exdisp.idl @@ -433,6 +433,41 @@ dispinterface DWebBrowserEvents2 [id(DISPID_PRIVACYIMPACTEDSTATECHANGE)] void PrivacyImpactedStateChange([in] VARIANT_BOOL bImpacted); + + [id(DISPID_NEWWINDOW3)] + void NewWindow3( + [in, out] IDispatch **ppDisp, + [in, out] VARIANT_BOOL *Cancel, + [in] DWORD dwFlags, + [in] BSTR bstrUrlContext, + [in] BSTR bstrUrl); + + [id(DISPID_SETPHISHINGFILTERSTATUS)] + void SetPhishingFilterStatus([in] long PhishingFilterStatus); + + [id(DISPID_WINDOWSTATECHANGED)] + void WindowStateChanged( + [in] DWORD dwWindowStateFlags, + [in] DWORD dwValidFlagsMask); + + [id(DISPID_NEWPROCESS)] + void NewProcess( + [in] long lCauseFlag, + [in] IDispatch *pWB2, + [in, out] VARIANT_BOOL *Cancel); + + [id(DISPID_THIRDPARTYURLBLOCKED)] + void ThirdPartyUrlBlocked( + [in] VARIANT *URL, + [in] DWORD dwCount); + + [id(DISPID_REDIRECTXDOMAINBLOCKED)] + void RedirectXDomainBlocked( + [in] IDispatch *pDisp, + [in] VARIANT *StartURL, + [in] VARIANT *RedirectURL, + [in] VARIANT *Frame, + [in] VARIANT *StatusCode); } [ diff --git a/reactos/include/psdk/exdispid.h b/reactos/include/psdk/exdispid.h index 2f02f8aef5f..232cee610d6 100644 --- a/reactos/include/psdk/exdispid.h +++ b/reactos/include/psdk/exdispid.h @@ -63,6 +63,13 @@ #define DISPID_FILEDOWNLOAD 270 #define DISPID_NAVIGATEERROR 271 #define DISPID_PRIVACYIMPACTEDSTATECHANGE 272 +#define DISPID_NEWWINDOW3 273 +#define DISPID_VIEWUPDATE 281 +#define DISPID_SETPHISHINGFILTERSTATUS 282 +#define DISPID_WINDOWSTATECHANGED 283 +#define DISPID_NEWPROCESS 284 +#define DISPID_THIRDPARTYURLBLOCKED 285 +#define DISPID_REDIRECTXDOMAINBLOCKED 286 #define DISPID_PRINTTEMPLATEINSTANTIATION 225 #define DISPID_PRINTTEMPLATETEARDOWN 226 diff --git a/reactos/include/psdk/msctf.idl b/reactos/include/psdk/msctf.idl index fcb568e0a49..2ed3866b7bb 100644 --- a/reactos/include/psdk/msctf.idl +++ b/reactos/include/psdk/msctf.idl @@ -44,7 +44,7 @@ cpp_quote("EXTERN_C const CLSID CLSID_TF_ThreadMgr;") cpp_quote("EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;") cpp_quote("EXTERN_C const CLSID CLSID_TF_LangBarMgr;") cpp_quote("EXTERN_C const CLSID CLSID_TF_CategoryMgr;") -cpp_quote("DEFINE_GUID(CLSID_TF_DisplayAttributeMgr,0x3ce74de4,0x53d3,0x4d74,0x8b,0x83,0x43,0x1b,0x38,0x28,0xba,0x53);") +cpp_quote("EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr;") /* GUIDs for Compartments */ cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;") diff --git a/reactos/include/psdk/msdadc.idl b/reactos/include/psdk/msdadc.idl new file mode 100644 index 00000000000..b1954c2072f --- /dev/null +++ b/reactos/include/psdk/msdadc.idl @@ -0,0 +1,92 @@ +/* + * Copyright 2009 Huw Davies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "oaidl.idl"; +import "ocidl.idl"; +import "oledb.idl"; + +[ + object, + pointer_default(unique), + uuid(0c733a8d-2a1c-11ce-ade5-00aa0044773d) +] +interface IDataConvert : IUnknown +{ + typedef DWORD DBDATACONVERT; + + enum DBDATACONVERTENUM + { + DBDATACONVERT_DEFAULT = 0, + DBDATACONVERT_SETDATABEHAVIOR = 1, + DBDATACONVERT_LENGTHFROMNTS = 2, + DBDATACONVERT_DSTISFIXEDLENGTH = 4, + DBDATACONVERT_DECIMALSCALE = 8 + }; + + [local] HRESULT DataConvert([in] DBTYPE wSrcType, + [in] DBTYPE wDstType, + [in] DBLENGTH cbSrcLength, + [in, out] DBLENGTH *pcbDstLength, + [in] void *pSrc, + [out] void *pDst, + [in] DBLENGTH cbDstMaxLength, + [in] DBSTATUS dbsSrcStatus, + [out] DBSTATUS *pdbsDstStatus, + [in] BYTE bPrecision, + [in] BYTE bScale, + [in] DBDATACONVERT dwFlags); + + + HRESULT CanConvert([in] DBTYPE wSrcType, + [in] DBTYPE wDstType); + + + [local] HRESULT GetConversionSize([in] DBTYPE wSrcType, + [in] DBTYPE wDstType, + [in] DBLENGTH *pcbSrcLength, + [out] DBLENGTH *pcbDstLength, + [in, size_is(*pcbSrcLength)] void *pSrc); +}; + +[ + object, + pointer_default(unique), + uuid(0c733a9c-2a1c-11ce-ade5-00aa0044773d) +] +interface IDCInfo : IUnknown +{ + typedef DWORD DCINFOTYPE; + + enum DCINFOTYPEENUM + { + DCINFOTYPE_VERSION = 1 + }; + + typedef struct tagDCINFO + { + DCINFOTYPE eInfoType; + VARIANT vData; + } DCINFO; + + HRESULT GetInfo([in] ULONG cInfo, + [in, size_is(cInfo)] DCINFOTYPE rgeInfoType[], + [out, size_is(cInfo)] DCINFO **prgInfo); + + HRESULT SetInfo([in] ULONG cInfo, + [in, size_is(cInfo)] DCINFO prgInfo[]); +}; diff --git a/reactos/include/psdk/msinkaut.idl b/reactos/include/psdk/msinkaut.idl new file mode 100644 index 00000000000..12dc1076ca1 --- /dev/null +++ b/reactos/include/psdk/msinkaut.idl @@ -0,0 +1,1009 @@ +/* Copyright (C) 2007 C John Klehm + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "oaidl.idl"; +import "ocidl.idl"; + +[ + uuid(7D868ACD-1A5D-4A47-A247-F39741353012), + version(1.0) +] +library MSINKAUTLib +{ + importlib("stdole2.tlb"); + + typedef float single; + + typedef enum InkBoundingBoxMode { + IBBM_Default = 0, + IBBM_NoCurveFit = 1, + IBBM_CurveFit = 2, + IBBM_PointsOnly = 3, + IBBM_Union = 4 + } InkBoundingBoxMode; + + typedef enum InkExtractFlags { + IEF_CopyFromOriginal = 0x0, + IEF_RemoveFromOriginal = 0x1, + IEF_Default = IEF_RemoveFromOriginal + } InkExtractFlags; + + typedef enum InkPersistenceFormat { + IPF_InkSerializeFormat = 0, + IPF_Base64InkSerializedFormat = 1, + IPF_GIF = 2, + IPF_Base64GIF = 3 + } InkPersistenceFormat; + + typedef enum InkPersistenceCompressionMode + { + IPCM_Default = 0, + IPCM_MaximumCompression = 1, + IPCM_NoCompression = 2 + } InkPersistenceCompressionMode; + + typedef enum InkPenTip { + IPT_Ball = 0, + IPT_Rectangle = 1 + } InkPenTip; + + typedef enum InkRasterOperation { + IRO_Black = 1, + IRO_NotMergePen, + IRO_MaskNotPen, + IRO_NotCopyPen, + IRO_MaskPenNot, + IRO_Not, + IRO_XOrPen, + IRO_NotMaskPen, + IRO_MaskPen, + IRO_NotXOrPen, + IRO_NoOperation, + IRO_MergeNotPen, + IRO_CopyPen, + IRO_MergePenNot, + IRO_MergePen, + IRO_White + } InkRasterOperation; + + typedef enum InkClipboardModes { + ICB_Copy = 0, + ICB_Cut = 0x1, + ICB_DelayedCopy = 0x20, + ICB_ExtractOnly = 0x30, + ICB_Default = ICB_Copy + } InkClipboardModes; + + typedef enum InkClipboardFormats { + ICF_None = 0, + ICF_InkSerializedFormat = 0x1, + ICF_SketchInk = 0x2, + ICF_TextInk = 0x6, + ICF_EnhancedMetafile = 0x8, + ICF_Metafile = 0x20, + ICF_Bitmap = 0x40, + ICF_PasteMask = 0x7, + ICF_CopyMask = 0x7f, + ICF_Default = ICF_CopyMask + } InkClipboardFormats; + + typedef enum InkRecognitionConfidence + { + IRC_Strong = 0, + IRC_Intermediate = 1, + IRC_Poor = 2 + } InkRecognitionConfidence; + + [ + odl, + uuid(DB489209-B7C3-411D-90F6-1548CFFF271E), + dual, + oleautomation + ] + interface IInkExtendedProperty : IDispatch { + [id(0x00000001), propget] HRESULT Guid([out, retval] BSTR* Guid); + [id(0x00000002), propget] HRESULT Data([out, retval] VARIANT* Data); + [id(0x00000002), propput] HRESULT Data([in] VARIANT Data); + }; + + [ + odl, + uuid(89F2A8BE-95A9-4530-8B8F-88E971E3E25F), + dual, + oleautomation + ] + interface IInkExtendedProperties : IDispatch { + HRESULT Count([out, retval] long* Count); + HRESULT _NewEnum([out, retval] IUnknown** _NewEnum); + HRESULT Item( + [in] VARIANT Identifier, + [out, retval] IInkExtendedProperty** Item); + HRESULT Add( + [in] BSTR Guid, + [in] VARIANT Data, + [out, retval] IInkExtendedProperty** InkExtendedProperty); + HRESULT Remove([in] VARIANT Identifier); + HRESULT Clear(); + HRESULT DoesPropertyExist( + [in] BSTR Guid, + [out, retval] VARIANT_BOOL* DoesPropertyExist); + }; + + [ + odl, + uuid(BF519B75-0A15-4623-ADC9-C00D436A8092), + dual, + oleautomation + ] + interface IInkDrawingAttributes : IDispatch { + [id(0x00000002), propget] HRESULT Color( + [out, retval] long* CurrentColor); + [id(0x00000002), propput] HRESULT Color([in] long CurrentColor); + [id(0x00000003), propget] HRESULT Width( + [out, retval] single* CurrentWidth); + [id(0x00000003), propput] HRESULT Width([in] single CurrentWidth); + [id(0x00000001), propget] HRESULT Height( + [out, retval] single* CurrentHeight); + [id(0x00000001), propput] HRESULT Height([in] single CurrentHeight); + [id(0x00000004), propget] HRESULT FitToCurve( + [out, retval] VARIANT_BOOL* Flag); + [id(0x00000004), propput] HRESULT FitToCurve([in] VARIANT_BOOL Flag); + [id(0x00000005), propget] HRESULT IgnorePressure( + [out, retval] VARIANT_BOOL* Flag); + [id(0x00000005), propput] HRESULT IgnorePressure( + [in] VARIANT_BOOL Flag); + [id(0x00000006), propget] HRESULT AntiAliased( + [out, retval] VARIANT_BOOL* Flag); + [id(0x00000006), propput] HRESULT AntiAliased([in] VARIANT_BOOL Flag); + [id(0x00000007), propget] HRESULT Transparency( + [out, retval] long* CurrentTransparency); + [id(0x00000007), propput] HRESULT Transparency( + [in] long CurrentTransparency); + [id(0x00000008), propget] HRESULT RasterOperation( + [out, retval] InkRasterOperation* CurrentRasterOperation); + [id(0x00000008), propput] HRESULT RasterOperation( + [in] InkRasterOperation CurrentRasterOperation); + [id(0x00000009), propget] HRESULT PenTip( + [out, retval] InkPenTip* CurrentPenTip); + [id(0x00000009), propput] HRESULT PenTip([in] InkPenTip CurrentPenTip); + [id(0x0000000b), propget] HRESULT ExtendedProperties( + [out, retval] IInkExtendedProperties** Properties); + [id(0x0000000a)] HRESULT Clone( + [out, retval] IInkDrawingAttributes** DrawingAttributes); + }; + +cpp_quote("#ifndef _WINGDI_") +/* already defined in wingdi.h but needed for WIDL */ + typedef struct tagXFORM { + single eM11; + single eM12; + single eM21; + single eM22; + single eDx; + single eDy; + } XFORM; +cpp_quote("#endif /* _WINGDI_ */") + + [ + odl, + uuid(615F1D43-8703-4565-88E2-8201D2ECD7B7), + dual, + oleautomation + ] + interface IInkTransform : IDispatch { + [id(0x00000001)] HRESULT Reset(); + [id(0x00000002)] HRESULT Translate( + [in] single HorizontalComponent, + [in] single VerticalComponent); + [id(0x00000003)] HRESULT Rotate( + [in] single Degrees, + [in, optional, defaultvalue(0)] single x, + [in, optional, defaultvalue(0)] single y); + [id(0x00000004)] HRESULT Reflect( + [in] VARIANT_BOOL Horizontally, + [in] VARIANT_BOOL Vertically); + [id(0x00000005)] HRESULT Shear( + [in] single HorizontalComponent, + [in] single VerticalComponent); + [id(0x00000006)] HRESULT ScaleTransform( + [in] single HorizontalMultiplier, + [in] single VerticalMultiplier); + [id(0x0000000d)] HRESULT GetTransform( + [out] single* eM11, + [out] single* eM12, + [out] single* eM21, + [out] single* eM22, + [out] single* eDx, + [out] single* eDy); + [id(0x0000000e)] HRESULT SetTransform( + [in] single eM11, + [in] single eM12, + [in] single eM21, + [in] single eM22, + [in] single eDx, + [in] single eDy); + [id(0x00000007), propget, hidden] HRESULT eM11( + [out, retval] single* Value); + [id(0x00000007), propput, hidden] HRESULT eM11([in] single Value); + [id(0x00000008), propget, hidden] HRESULT eM12( + [out, retval] single* Value); + [id(0x00000008), propput, hidden] HRESULT eM12([in] single Value); + [id(0x00000009), propget, hidden] HRESULT eM21( + [out, retval] single* Value); + [id(0x00000009), propput, hidden] HRESULT eM21([in] single Value); + [id(0x0000000a), propget, hidden] HRESULT eM22( + [out, retval] single* Value); + [id(0x0000000a), propput, hidden] HRESULT eM22([in] single Value); + [id(0x0000000b), propget, hidden] HRESULT eDx( + [out, retval] single* Value); + [id(0x0000000b), propput, hidden] HRESULT eDx([in] single Value); + [id(0x0000000c), propget, hidden] HRESULT eDy( + [out, retval] single* Value); + [id(0x0000000c), propput, hidden] HRESULT eDy([in] single Value); + [id(0x0000000f), propget, hidden] HRESULT Data( + [out, retval] XFORM* XFORM); + [id(0x0000000f), propput, hidden] HRESULT Data([in] XFORM XFORM); + }; + + interface IInkDisp; + + [ + odl, + uuid(9794FF82-6071-4717-8A8B-6AC7C64A686E), + dual, + oleautomation + ] + interface IInkRectangle + { + [id(1), propget] HRESULT Top([out, retval] long* Units); + [id(1), propput] HRESULT Top([in] long Units); + [id(2), propget] HRESULT Left([out, retval] long* Units); + [id(2), propput] HRESULT Left([in] long Units); + [id(3), propget] HRESULT Bottom([out, retval] long* Units); + [id(3), propput] HRESULT Bottom([in] long Units); + [id(4), propget] HRESULT Right([out, retval] long* Units); + [id(4), propput] HRESULT Right([in] long Units); + [id(7), propget] HRESULT Data([out, retval] RECT* Rect); + [id(7), propput] HRESULT Data([in] RECT Rect); + [id(5)] HRESULT GetRectangle( + [out] long* Top, + [out] long* Left, + [out] long* Bottom, + [out] long* Right); + [id(6)] HRESULT SetRectangle( + [in] long Top, + [in] long Left, + [in] long Bottom, + [in] long Right); + }; + + interface IInkStrokes; + + typedef enum { + TPMU_Default, + TPMU_Inches, + TPMU_Centimeters, + TPMU_Degrees, + TPMU_Radians, + TPMU_Seconds, + TPMU_Pounds, + TPMU_Grams + } TabletPropertyMetricUnit; + + [ + odl, + uuid(43242FEA-91D1-4A72-963E-FBB91829CFA2), + dual, + oleautomation + ] + interface IInkStrokeDisp : IDispatch { + [id(0x00000002), propget] HRESULT Id([out, retval] long* Id); + [id(0x0000000d), propget] HRESULT BezierPoints( + [out, retval] VARIANT* Points); + [id(0x00000004), propget] HRESULT DrawingAttributes( + [out, retval] IInkDrawingAttributes** DrawAttrs); + [id(0x00000004), propputref] HRESULT DrawingAttributes( + [in] IInkDrawingAttributes* DrawAttrs); + [id(0x0000000c), propget] HRESULT Ink([out, retval] IInkDisp** Ink); + [id(0x0000000b), propget] HRESULT ExtendedProperties( + [out, retval] IInkExtendedProperties** Properties); + [id(0x0000000e), propget] HRESULT PolylineCusps( + [out, retval] VARIANT* Cusps); + [id(0x0000000f), propget] HRESULT BezierCusps( + [out, retval] VARIANT* Cusps); + [id(0x00000010), propget] HRESULT SelfIntersections( + [out, retval] VARIANT* Intersections); + [id(0x00000011), propget] HRESULT PacketCount( + [out, retval] long* plCount); + [id(0x00000012), propget] HRESULT PacketSize( + [out, retval] long* plSize); + [id(0x00000013), propget] HRESULT PacketDescription( + [out, retval] VARIANT* PacketDescription); + [id(0x00000014), propget] HRESULT Deleted( + [out, retval] VARIANT_BOOL* Deleted); + [id(0x00000003)] HRESULT GetBoundingBox( + [in, optional, defaultvalue(0)] InkBoundingBoxMode BoundingBoxMode, + [out, retval] IInkRectangle** Rectangle); + [id(0x00000005)] HRESULT FindIntersections( + [in] IInkStrokes* Strokes, + [out, retval] VARIANT* Intersections); + [id(0x00000006)] HRESULT GetRectangleIntersections( + [in] IInkRectangle* Rectangle, + [out, retval] VARIANT* Intersections); + [id(0x00000007)] HRESULT Clip( + [in] IInkRectangle* Rectangle); + [id(0x00000008)] HRESULT HitTestCircle( + [in] long x, + [in] long y, + [in] single radius, + [out, retval] VARIANT_BOOL* Intersects); + [id(0x00000009)] HRESULT NearestPoint( + [in] long x, + [in] long y, + [in, out, optional, defaultvalue(0)] single* Distance, + [out, retval] single* Point); + [id(0x0000000a)] HRESULT Split( + [in] single SplitAt, + [out, retval] IInkStrokeDisp** NewStroke); + [id(0x00000015)] HRESULT GetPacketDescriptionPropertyMetrics( + [in] BSTR propertyName, + [out] long* Minimum, + [out] long* Maximum, + [out] TabletPropertyMetricUnit* Units, + [out] single* Resolution); + [id(0x00000016)] HRESULT GetPoints( + [in, optional, defaultvalue(0)] long Index, + [in, optional, defaultvalue(-1)] long Count, + [out, retval] VARIANT* Points); + [id(0x00000017)] HRESULT SetPoints( + [in] VARIANT Points, + [in, optional, defaultvalue(0)] long Index, + [in, optional, defaultvalue(-1)] long Count, + [out, retval] long* NumberOfPointsSet); + [id(0x00000018)] HRESULT GetPacketData( + [in, optional, defaultvalue(0)] long Index, + [in, optional, defaultvalue(-1)] long Count, + [out, retval] VARIANT* PacketData); + [id(0x00000019)] HRESULT GetPacketValuesByProperty( + [in] BSTR propertyName, + [in, optional, defaultvalue(0)] long Index, + [in, optional, defaultvalue(-1)] long Count, + [out, retval] VARIANT* PacketValues); + [id(0x0000001a)] HRESULT SetPacketValuesByProperty( + [in] BSTR bstrPropertyName, + [in] VARIANT PacketValues, + [in, optional, defaultvalue(0)] long Index, + [in, optional, defaultvalue(-1)] long Count, + [out, retval] long* NumberOfPacketsSet); + [id(0x0000001b)] HRESULT GetFlattenedBezierPoints( + [in, optional, defaultvalue(0)] long FittingError, + [out, retval] VARIANT* FlattenedBezierPoints); + [id(0x0000001d)] HRESULT Transform( + [in] IInkTransform* Transform, + [in, optional, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth); + [id(0x0000001c)] HRESULT ScaleToRectangle( + [in] IInkRectangle* Rectangle); + [id(0x0000001e)] HRESULT Move( + [in] single HorizontalComponent, + [in] single VerticalComponent); + [id(0x0000001f)] HRESULT Rotate( + [in] single Degrees, + [in, optional, defaultvalue(0)] single x, + [in, optional, defaultvalue(0)] single y); + [id(0x00000020)] HRESULT Shear( + [in] single HorizontalMultiplier, + [in] single VerticalMultiplier); + [id(0x00000021)] HRESULT ScaleTransform( + [in] single HorizontalMultiplier, + [in] single VerticalMultiplier); + }; + + interface IInkRecognitionResult; + + [ + odl, + uuid(F1F4C9D8-590A-4963-B3AE-1935671BB6F3), + dual, + oleautomation + ] + interface IInkStrokes : IDispatch { + [propget] HRESULT Count( + [out, retval] long *Count); + [propget, restricted] HRESULT _NewEnum( + [out, retval] IUnknown **_NewEnum); + [propget] HRESULT Ink( + [out, retval] IInkDisp **Ink); + [propget] HRESULT RecognitionResult( + [out, retval] IInkRecognitionResult **RecognitionResult); + HRESULT ToString( + [out, retval] BSTR *ToString); + HRESULT Item( + [in] long Index, + [out, retval] IInkStrokeDisp **Stroke); + HRESULT Add( + [in] IInkStrokeDisp *InkStroke); + HRESULT AddStrokes( + [in] IInkStrokes *InkStrokes); + HRESULT Remove( + [in] IInkStrokeDisp *InkStroke); + HRESULT RemoveStrokes( + [in] IInkStrokes *InkStrokes); + HRESULT ModifyDrawingAttributes( + [in] IInkDrawingAttributes *DrawAttrs); + HRESULT GetBoundingBox( + [in] InkBoundingBoxMode BoundingBoxMode, + [out, retval] IInkRectangle **BoundingBox); + HRESULT Transform( + [in] IInkTransform *Transform, + [in] VARIANT_BOOL ApplyOnPenWidth); + HRESULT ScaleToRectangle( + [in] IInkRectangle *Rectangle); + HRESULT Move( + [in] float HorizontalComponent, + [in] float VerticalComponent); + HRESULT Rotate( + [in] float Degrees, + [in] float x, + [in] float y); + HRESULT Shear( + [in] float HorizontalMultiplier, + [in] float VerticalMultiplier); + HRESULT ScaleTransform( + [in] float HorizontalMultiplier, + [in] float VerticalMultiplier); + HRESULT Clip( + [in] IInkRectangle *Rectangle); + HRESULT RemoveRecognitionResult(); + }; + + [ + odl, + uuid(7E23A88F-C30E-420f-9BDB-28902543F0C1), + dual, + oleautomation + ] + interface IInkCustomStrokes : IDispatch { + [propget] HRESULT Count( + [out, retval] long *Count); + [propget] HRESULT _NewEnum( + [out, retval] IUnknown **_NewEnum); + HRESULT Item( + [in] VARIANT Identifier, + [out, retval] IInkStrokes **Strokes); + HRESULT Add( + [in] BSTR Name, + [in] IInkStrokes *Strokes); + HRESULT Remove( + [in] VARIANT Identifier); + HRESULT Clear(); + }; + + interface IInkRecognitionAlternate; + interface IInkRecognitionAlternates; + + [ + odl, + uuid(3BC129A8-86CD-45ad-BDE8-E0D32D61C16D), + dual, + oleautomation + ] + interface IInkRecognitionResult : IDispatch { + [propget] HRESULT TopString( + [out, retval] BSTR *TopString); + [propget] HRESULT TopAlternate( + [out, retval] IInkRecognitionAlternate **TopAlternate); + [propget] HRESULT TopConfidence( + [out, retval] InkRecognitionConfidence *TopConfidence); + [propget] HRESULT Strokes( + [out, retval] IInkStrokes **Strokes); + HRESULT AlternatesFromSelection( + [in] long selectionStart, + [in] long selectionLength, + [in] long maximumAlternates, + [out, retval] IInkRecognitionAlternates **AlternatesFromSelection); + HRESULT ModifyTopAlternate( + [in] IInkRecognitionAlternate *Alternate); + HRESULT SetResultOnStrokes(); + }; + + [ + odl, + uuid(B7E660AD-77E4-429b-ADDA-873780D1FC4A), + dual, + oleautomation + ] + interface IInkRecognitionAlternate : IDispatch { + [propget] HRESULT String( + [out, retval] BSTR *RecoString); + [propget] HRESULT Confidence( + [out, retval] InkRecognitionConfidence *Confidence); + [propget] HRESULT Baseline( + [out, retval] VARIANT *Baseline); + [propget] HRESULT Midline( + [out, retval] VARIANT *Midline); + [propget] HRESULT Ascender( + [out, retval] VARIANT *Ascender); + [propget] HRESULT Descender( + [out, retval] VARIANT *Descender); + [propget] HRESULT LineNumber( + [out, retval] long *LineNumber); + [propget] HRESULT Strokes( + [out, retval] IInkStrokes **Strokes); + [propget] HRESULT LineAlternates( + [out, retval] IInkRecognitionAlternates **LineAlternates); + [propget] HRESULT ConfidenceAlternates( + [out, retval] IInkRecognitionAlternates **ConfidenceAlternates); + HRESULT GetStrokesFromStrokeRanges( + [in] IInkStrokes *Stroke, + [out, retval] IInkStrokes **GetStrokesFromTextRange); + HRESULT GetStrokesFromTextRange( + [in, out] long *selectionStart, + [in, out] long *selectionLength, + [out, retval] IInkStrokes **GetStrokesFromTextRange); + HRESULT GetTextRangeFromStrokes( + [in] IInkStrokes *Strokes, + [in, out] long *selectionStart, + [in, out] long *selectionLength); + HRESULT AlternatesWithConstantPropertyValues( + [in] BSTR PropertyType, + [out, retval] IInkRecognitionAlternates **AlternatesWithConstantPropertyValues); + HRESULT GetPropertyValue( + [in] BSTR PropertyType, + [out, retval] VARIANT *PropertyValue); + }; + + [ + odl, + uuid(286A167F-9F19-4c61-9D53-4F07BE622B84), + dual, + oleautomation + ] + interface IInkRecognitionAlternates : IDispatch { + [propget] HRESULT Count( + [out, retval] long *Count); + [propget, restricted] HRESULT _NewEnum( + [out, retval] IUnknown **_NewEnum); + [propget] HRESULT Strokes( + [out, retval] IInkStrokes **Strokes); + HRESULT Item( + [in] long Index, + [out, retval] IInkRecognitionAlternate **InkRecoAlternate); + }; + + [ + odl, + uuid(9D398FA0-C4E2-4fcd-9973-975CAAF47EA6), + dual, + oleautomation + ] + interface IInkDisp : IDispatch { + [propget] HRESULT Strokes( + [out, retval] IInkStrokes **Strokes); + [propget] HRESULT ExtendedProperties( + [out, retval] IInkExtendedProperties **Properties); + [propget] HRESULT Dirty( + [out, retval] VARIANT_BOOL *Dirty); + [propput] HRESULT Dirty( + [in] VARIANT_BOOL Dirty); + [propget] HRESULT CustomStrokes( + [out, retval] IInkCustomStrokes **CustomStrokes); + HRESULT GetBoundingBox( + [in] InkBoundingBoxMode BoundingBoxMode, + [out] IInkRectangle **Rectangle); + HRESULT DeleteStrokes( + [in, unique] IInkStrokes *Strokes); + HRESULT DeleteStroke( + [in] IInkStrokeDisp *Stroke); + HRESULT ExtractStrokes( + [in] IInkStrokes *Strokes, + [in] InkExtractFlags ExtractFlags, + [out, retval] IInkDisp **ExtractedInk); + HRESULT ExtractWithRectangle( + [in] IInkRectangle *Rectangle, + [in] InkExtractFlags ExtractFlags, + [out, retval] IInkDisp **ExtractedInk); + HRESULT Clip( + [in] IInkRectangle *Rectangle); + HRESULT Clone( + [out, retval] IInkDisp **NewInk); + HRESULT HitTestCircle( + [in] long X, + [in] long Y, + [in] float radius, + [out, retval] IInkStrokes **Strokes); + HRESULT HitTestWithRectangle( + [in] IInkRectangle *SelectionRectangle, + [in] float IntersectPercent, + [out, retval] IInkStrokes **Strokes); + HRESULT HitTestWithLasso( + [in] VARIANT Points, + [in] float IntersectPercent, + [in, out, unique] VARIANT *LassoPoints, + [out, retval] IInkStrokes **Strokes); + HRESULT NearestPoint( + [in] long X, + [in] long Y, + [in, out] float *PointOnStroke, + [in, out] float *DistanceFromPacket, + [out, retval] IInkStrokeDisp **Stroke); + HRESULT CreateStrokes( + [in] VARIANT StrokeIds, + [out, retval] IInkStrokes **Strokes); + HRESULT AddStrokesAtRectangle( + [in] IInkStrokes *SourceStrokes, + [in] IInkRectangle *TargetRectangle); + HRESULT Save( + [in] InkPersistenceFormat PersistenceFormat, + [in] InkPersistenceCompressionMode CompressionMode, + [out, retval] VARIANT *Data); + HRESULT Load( + [in] VARIANT Data); + HRESULT CreateStroke( + [in] VARIANT PacketData, + [in] VARIANT PacketDescription, + [out, retval] IInkStrokeDisp **Stroke); + HRESULT ClipboardCopyWithRectangle( + [in] IInkRectangle *Rectangle, + [in] InkClipboardFormats ClipboardFormats, + [in] InkClipboardModes ClipboardModes, + [out, retval] IDataObject **DataObject); + HRESULT ClipboardCopy( + [in] IInkStrokes *strokes, + [in] InkClipboardFormats ClipboardFormats, + [in] InkClipboardModes ClipboardModes, + [out, retval] IDataObject **DataObject); + HRESULT CanPaste( + [in] IDataObject *DataObject, + [out, retval] VARIANT_BOOL *CanPaste); + HRESULT ClipboardPaste( + [in] long x, + [in] long y, + [in, unique] IDataObject *DataObject, + [out, retval] IInkStrokes **Strokes); + }; + + [ + odl, + uuid(E6257A9C-B511-4F4C-A8B0-A7DBC9506B83), + dual, + oleautomation + ] + interface IInkRenderer : IDispatch { + HRESULT GetViewTransform([in] IInkTransform* ViewTransform); + HRESULT SetViewTransform([in] IInkTransform* ViewTransform); + HRESULT GetObjectTransform([in] IInkTransform* ObjectTransform); + HRESULT SetObjectTransform([in] IInkTransform* ObjectTransform); + HRESULT Draw( + [in] long hDC, + [in] IInkStrokes* Strokes); + HRESULT DrawStroke( + [in] long hDC, + [in] IInkStrokeDisp* Stroke, + [in, optional, defaultvalue(0)] + IInkDrawingAttributes* DrawingAttributes); + HRESULT PixelToInkSpace( + [in] long hDC, + [in, out] long* x, + [in, out] long* y); + HRESULT InkSpaceToPixel( + [in] long hdcDisplay, + [in, out] long* x, + [in, out] long* y); + HRESULT PixelToInkSpaceFromPoints( + [in] long hDC, + [in, out] VARIANT* Points); + HRESULT InkSpaceToPixelFromPoints( + [in] long hDC, + [in, out] VARIANT* Points); + HRESULT Measure( + [in] IInkStrokes* Strokes, + [out, retval] IInkRectangle** Rectangle); + HRESULT MeasureStroke( + [in] IInkStrokeDisp* Stroke, + [in, optional, defaultvalue(0)] IInkDrawingAttributes* DrawingAttributes, + [out, retval] IInkRectangle** Rectangle); + HRESULT Move( + [in] single HorizontalComponent, + [in] single VerticalComponent); + HRESULT Rotate( + [in] single Degrees, + [in, optional, defaultvalue(0)] single x, + [in, optional, defaultvalue(0)] single y); + HRESULT ScaleTransform( + [in] single HorizontalMultiplier, + [in] single VerticalMultiplier, + [in, optional, defaultvalue(-1)] VARIANT_BOOL ApplyOnPenWidth); + }; + + typedef enum { + ICM_InkOnly, + ICM_GestureOnly, + ICM_InkAndGesture + } InkCollectionMode; + + typedef enum { + IMP_Default, + IMP_Arrow, + IMP_Crosshair, + IMP_Ibeam, + IMP_SizeNESW, + IMP_SizeNS, + IMP_SizeNWSE, + IMP_SizeWE, + IMP_UpArrow, + IMP_Hourglass, + IMP_NoDrop, + IMP_ArrowHourglass, + IMP_ArrowQuestion, + IMP_SizeAll, + IMP_Hand, + IMP_Custom = 99 + } InkMousePointer; + + typedef enum { + THWC_Integrated = 1, + THWC_CursorMustTouch = 2, + THWC_HardProximity = 4, + THWC_CursorsHavePhysicalIds = 8 + } TabletHardwareCapabilities; + + [ + odl, + uuid(2DE25EAA-6EF8-42D5-AEE9-185BC81B912D), + dual, + oleautomation + ] + interface IInkTablet : IDispatch { + [propget] HRESULT Name([out, retval] BSTR* Name); + [propget] HRESULT PlugAndPlayId([out, retval] BSTR* Id); + [propget] HRESULT MaximumInputRectangle([out, retval] IInkRectangle** Rectangle); + [propget] HRESULT HardwareCapabilities( + [out, retval] TabletHardwareCapabilities* Capabilities); + HRESULT IsPacketPropertySupported( + [in] BSTR packetPropertyName, + [out, retval] VARIANT_BOOL* Supported); + HRESULT GetPropertyMetrics( + [in] BSTR propertyName, + [out] long* Minimum, + [out] long* Maximum, + [out] TabletPropertyMetricUnit* Units, + [out] single* Resolution); + }; + + typedef enum { + ICBS_Unavailable, + ICBS_Up, + ICBS_Down + } InkCursorButtonState; + + [ + odl, + uuid(85EF9417-1D59-49B2-A13C-702C85430894), + dual, + oleautomation + ] + interface IInkCursorButton : IDispatch { + [propget] HRESULT Name([out, retval] BSTR* Name); + [propget] HRESULT Id([out, retval] BSTR* Id); + [propget] HRESULT State([out, retval] InkCursorButtonState* CurrentState); + }; + + [ + odl, + uuid(3671CC40-B624-4671-9FA0-DB119D952D54), + dual, + oleautomation + ] + interface IInkCursorButtons : IDispatch { + [propget] HRESULT Count([out, retval] long* Count); + [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum); + HRESULT Item( + [in] VARIANT Identifier, + [out, retval] IInkCursorButton** Button); + }; + + [ + odl, + uuid(AD30C630-40C5-4350-8405-9C71012FC558), + dual, + oleautomation + ] + interface IInkCursor : IDispatch { + [id(0x00000000), propget] HRESULT Name([out, retval] BSTR* Name); + [id(0x00000001), propget] HRESULT Id([out, retval] long* Id); + [id(0x00000004), propget] HRESULT Inverted( + [out, retval] VARIANT_BOOL* Status); + [id(0x00000002), propget] HRESULT DrawingAttributes( + [out, retval] IInkDrawingAttributes** Attributes); + [id(0x00000002), propputref] HRESULT DrawingAttributes( + [in] IInkDrawingAttributes* Attributes); + [id(0x00000005), propget] HRESULT Tablet( + [out, retval] IInkTablet** Tablet); + [id(0x00000003), propget] HRESULT Buttons( + [out, retval] IInkCursorButtons** Buttons); + }; + + [ + odl, + uuid(A248C1AC-C698-4E06-9E5C-D57F77C7E647), + dual, + oleautomation + ] + interface IInkCursors : IDispatch { + [propget] HRESULT Count([out, retval] long* Count); + [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum); + HRESULT Item( + [in] long Index, + [out, retval] IInkCursor** Cursor); + }; + + typedef enum { + IAG_AllGestures = 0, + IAG_NoGesture = 61440, + IAG_Scratchout = 61441, + IAG_Triangle = 61442, + IAG_Square = 61443, + IAG_Star = 61444, + IAG_Check = 61445, + IAG_Curlicue = 61456, + IAG_DoubleCurlicue = 61457, + IAG_Circle = 61472, + IAG_DoubleCircle = 61473, + IAG_SemiCircleLeft = 61480, + IAG_SemiCircleRight = 61481, + IAG_ChevronUp = 61488, + IAG_ChevronDown = 61489, + IAG_ChevronLeft = 61490, + IAG_ChevronRight = 61491, + IAG_ArrowUp = 61496, + IAG_ArrowDown = 61497, + IAG_ArrowLeft = 61498, + IAG_ArrowRight = 61499, + IAG_Up = 61528, + IAG_Down = 61529, + IAG_Left = 61530, + IAG_Right = 61531, + IAG_UpDown = 61536, + IAG_DownUp = 61537, + IAG_LeftRight = 61538, + IAG_RightLeft = 61539, + IAG_UpLeftLong = 61540, + IAG_UpRightLong = 61541, + IAG_DownLeftLong = 61542, + IAG_DownRightLong = 61543, + IAG_UpLeft = 61544, + IAG_UpRight = 61545, + IAG_DownLeft = 61546, + IAG_DownRight = 61547, + IAG_LeftUp = 61548, + IAG_LeftDown = 61549, + IAG_RightUp = 61550, + IAG_RightDown = 61551, + IAG_Exclamation = 61604, + IAG_Tap = 61680, + IAG_DoubleTap = 61681 + } InkApplicationGesture; + + typedef enum { + ICEI_DefaultEvents = -1, + ICEI_CursorDown = 0, + ICEI_Stroke, + ICEI_NewPackets, + ICEI_NewInAirPackets, + ICEI_CursorButtonDown, + ICEI_CursorButtonUp, + ICEI_CursorInRange, + ICEI_CursorOutOfRange, + ICEI_SystemGesture, + ICEI_TabletAdded, + ICEI_TabletRemoved, + ICEI_MouseDown, + ICEI_MouseMove, + ICEI_MouseUp, + ICEI_MouseWheel, + ICEI_DblClick, + ICEI_AllEvents + } InkCollectorEventInterest; + + [ + odl, + uuid(F0F060B5-8B1F-4A7C-89EC-880692588A4F), + dual, + oleautomation + ] + interface IInkCollector : IDispatch { + [id(0x00000002), propget] HRESULT hWnd( + [out, retval] long* CurrentWindow); + [id(0x00000002), propput] HRESULT hWnd([in] long CurrentWindow); + [id(0x00000001), propget] HRESULT Enabled( + [out, retval] VARIANT_BOOL* Collecting); + [id(0x00000001), propput] HRESULT Enabled( + [in] VARIANT_BOOL Collecting); + [id(0x00000005), propget] HRESULT DefaultDrawingAttributes( + [out, retval] IInkDrawingAttributes** CurrentAttributes); + [id(0x00000005), propputref] HRESULT DefaultDrawingAttributes( + [in] IInkDrawingAttributes* CurrentAttributes); + [id(0x00000006), propget] HRESULT Renderer( + [out, retval] IInkRenderer** CurrentInkRenderer); + [id(0x00000006), propputref] HRESULT Renderer( + [in] IInkRenderer* CurrentInkRenderer); + [id(0x00000007), propget] HRESULT Ink([out, retval] IInkDisp** Ink); + [id(0x00000007), propputref] HRESULT Ink([in] IInkDisp* Ink); + [id(0x00000008), propget] HRESULT AutoRedraw( + [out, retval] VARIANT_BOOL* AutoRedraw); + [id(0x00000008), propput] HRESULT AutoRedraw( + [in] VARIANT_BOOL AutoRedraw); + [id(0x00000009), propget] HRESULT CollectingInk( + [out, retval] VARIANT_BOOL* Collecting); + [id(0x0000001c), propget] HRESULT CollectionMode( + [out, retval] InkCollectionMode* Mode); + [id(0x0000001c), propput] HRESULT CollectionMode( + [in] InkCollectionMode Mode); + [id(0x0000001f), propget] HRESULT DynamicRendering( + [out, retval] VARIANT_BOOL* Enabled); + [id(0x0000001f), propput] HRESULT DynamicRendering( + [in] VARIANT_BOOL Enabled); + [id(0x00000020), propget] HRESULT DesiredPacketDescription( + [out, retval] VARIANT* PacketGuids); + [id(0x00000020), propput] HRESULT DesiredPacketDescription( + [in] VARIANT PacketGuids); + [id(0x00000023), propget] HRESULT MouseIcon( + [out, retval] IPictureDisp** MouseIcon); + [id(0x00000023), propput] HRESULT MouseIcon( + [in] IPictureDisp* MouseIcon); + [id(0x00000023), propputref] HRESULT MouseIcon( + [in] IPictureDisp* MouseIcon); + [id(0x00000024), propget] HRESULT MousePointer( + [out, retval] InkMousePointer* MousePointer); + [id(0x00000024), propput] HRESULT MousePointer( + [in] InkMousePointer MousePointer); + [id(0x00000014), propget] HRESULT Cursors( + [out, retval] IInkCursors** Cursors); + [id(0x00000015), propget] HRESULT MarginX( + [out, retval] long* MarginX); + [id(0x00000015), propput] HRESULT MarginX([in] long MarginX); + [id(0x00000016), propget] HRESULT MarginY( + [out, retval] long* MarginY); + [id(0x00000016), propput] HRESULT MarginY([in] long MarginY); + [id(0x00000019), propget] HRESULT Tablet( + [out, retval] IInkTablet** SingleTablet); + [id(0x00000026), propget] HRESULT SupportHighContrastInk( + [out, retval] VARIANT_BOOL* Support); + [id(0x00000026), propput] HRESULT SupportHighContrastInk( + [in] VARIANT_BOOL Support); + [id(0x0000001d)] HRESULT SetGestureStatus( + [in] InkApplicationGesture Gesture, + [in] VARIANT_BOOL Listen); + [id(0x0000001e)] HRESULT GetGestureStatus( + [in] InkApplicationGesture Gesture, + [out, retval] VARIANT_BOOL* Listening); + [id(0x00000018)] HRESULT GetWindowInputRectangle( + [in, out] IInkRectangle** WindowInputRectangle); + [id(0x00000017)] HRESULT SetWindowInputRectangle( + [in] IInkRectangle* WindowInputRectangle); + [id(0x0000001a)] HRESULT SetAllTabletsMode( + [in, optional, defaultvalue(-1)] VARIANT_BOOL UseMouseForInput); + [id(0x0000001b)] HRESULT SetSingleTabletIntegratedMode( + [in] IInkTablet* Tablet); + [id(0x0000000b)] HRESULT GetEventInterest( + [in] InkCollectorEventInterest EventId, + [out, retval] VARIANT_BOOL* Listen); + [id(0x0000000a)] HRESULT SetEventInterest( + [in] InkCollectorEventInterest EventId, + [in] VARIANT_BOOL Listen); + }; +}; diff --git a/reactos/include/psdk/msxml2.idl b/reactos/include/psdk/msxml2.idl index f2841a5f3f2..444ebe8d678 100644 --- a/reactos/include/psdk/msxml2.idl +++ b/reactos/include/psdk/msxml2.idl @@ -255,6 +255,8 @@ typedef enum _SCHEMATYPEVARIETY [ local, object, +dual, +oleautomation, uuid (2933BF80-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMNode : IDispatch @@ -392,6 +394,8 @@ interface IXMLDOMNode : IDispatch [ local, object, +dual, +oleautomation, uuid (2933BF81-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMDocument : IXMLDOMNode @@ -528,6 +532,8 @@ interface IXMLDOMDocument : IXMLDOMNode [ local, object, +dual, +oleautomation, uuid (373984c8-b845-449b-91e7-45ac83036ade) ] interface IXMLDOMSchemaCollection : IDispatch @@ -564,6 +570,8 @@ interface IXMLDOMSchemaCollection : IDispatch [ local, object, + dual, + oleautomation, uuid(50ea08b0-dd1b-4664-9a50-c2f40f4bd79a), ] interface IXMLDOMSchemaCollection2 : IXMLDOMSchemaCollection @@ -593,6 +601,8 @@ interface IXMLDOMSchemaCollection2 : IXMLDOMSchemaCollection [ local, object, +dual, +oleautomation, uuid (2933BF95-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMDocument2 : IXMLDOMDocument @@ -624,6 +634,8 @@ interface IXMLDOMDocument2 : IXMLDOMDocument [ local, object, +dual, +oleautomation, uuid (2933BF82-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMNodeList : IDispatch @@ -648,6 +660,8 @@ interface IXMLDOMNodeList : IDispatch [ local, object, +dual, +oleautomation, uuid (AA634FC7-5888-44a7-A257-3A47150D3A0E) ] interface IXMLDOMSelection : IXMLDOMNodeList @@ -698,6 +712,8 @@ interface IXMLDOMSelection : IXMLDOMNodeList [ local, object, +dual, +oleautomation, uuid (2933BF83-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMNamedNodeMap : IDispatch @@ -749,6 +765,8 @@ interface IXMLDOMNamedNodeMap : IDispatch [ local, object, +dual, +oleautomation, uuid (3efaa413-272f-11d2-836f-0000f87a7782) ] interface IXMLDOMDocumentFragment : IXMLDOMNode @@ -758,6 +776,8 @@ interface IXMLDOMDocumentFragment : IXMLDOMNode [ local, object, +dual, +oleautomation, uuid (2933BF84-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMCharacterData : IXMLDOMNode @@ -801,6 +821,8 @@ interface IXMLDOMCharacterData : IXMLDOMNode [ local, object, +dual, +oleautomation, uuid (2933BF85-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMAttribute : IXMLDOMNode @@ -818,6 +840,8 @@ interface IXMLDOMAttribute : IXMLDOMNode [ local, object, +dual, +oleautomation, uuid (2933BF86-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMElement : IXMLDOMNode @@ -866,6 +890,8 @@ interface IXMLDOMElement : IXMLDOMNode [ local, object, +dual, +oleautomation, uuid (2933BF87-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMText : IXMLDOMCharacterData @@ -879,6 +905,8 @@ interface IXMLDOMText : IXMLDOMCharacterData [ local, object, +dual, +oleautomation, uuid (2933BF88-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMComment : IXMLDOMCharacterData @@ -888,6 +916,8 @@ interface IXMLDOMComment : IXMLDOMCharacterData [ local, object, +dual, +oleautomation, uuid (2933BF89-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMProcessingInstruction : IXMLDOMNode @@ -905,6 +935,8 @@ interface IXMLDOMProcessingInstruction : IXMLDOMNode [ local, object, +dual, +oleautomation, uuid (2933BF8A-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMCDATASection : IXMLDOMText @@ -914,6 +946,8 @@ interface IXMLDOMCDATASection : IXMLDOMText [ local, object, +dual, +oleautomation, uuid (2933BF8B-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMDocumentType : IXMLDOMNode @@ -931,6 +965,8 @@ interface IXMLDOMDocumentType : IXMLDOMNode [ local, object, +dual, +oleautomation, uuid (2933BF8C-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMNotation : IXMLDOMNode @@ -945,6 +981,8 @@ interface IXMLDOMNotation : IXMLDOMNode [ local, object, +dual, +oleautomation, uuid (2933BF8D-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMEntity : IXMLDOMNode @@ -962,6 +1000,8 @@ interface IXMLDOMEntity : IXMLDOMNode [ local, object, +dual, +oleautomation, uuid (2933BF8E-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMEntityReference : IXMLDOMNode @@ -971,6 +1011,8 @@ interface IXMLDOMEntityReference : IXMLDOMNode [ local, object, +dual, +oleautomation, uuid (2933BF8F-7B36-11d2-B20E-00C04F983E60) ] interface IXMLDOMImplementation : IDispatch @@ -985,6 +1027,8 @@ interface IXMLDOMImplementation : IDispatch [ local, object, +dual, +oleautomation, uuid (3efaa425-272f-11d2-836f-0000f87a7782) ] interface IXTLRuntime : IXMLDOMNode @@ -1060,6 +1104,8 @@ dispinterface XMLDOMDocumentEvents [ local, object, +dual, +oleautomation, uuid (2933BF92-7B36-11d2-B20E-00C04F983E60) ] interface IXSLProcessor : IDispatch @@ -1118,6 +1164,8 @@ interface IXSLProcessor : IDispatch [ local, object, +dual, +oleautomation, uuid (2933BF93-7B36-11d2-B20E-00C04F983E60) ] interface IXSLTemplate : IDispatch @@ -1190,6 +1238,8 @@ interface IXMLHTTPRequest : IDispatch [ local, object, +dual, +oleautomation, uuid (3efaa426-272f-11d2-836f-0000f87a7782) ] interface IXMLDOMParseError : IDispatch @@ -1721,6 +1771,7 @@ interface ISAXXMLReader : IUnknown [ object, dual, + oleautomation, uuid(10dc0586-132b-4cac-8bb3-db00ac8b7ee0) ] interface IVBSAXAttributes : IDispatch @@ -1769,6 +1820,7 @@ interface IVBSAXAttributes : IDispatch [ object, dual, + oleautomation, uuid(2ed7290a-4dd5-4b46-bb26-4e4155e77faa) ] interface IVBSAXContentHandler : IDispatch @@ -1815,6 +1867,7 @@ interface IVBSAXContentHandler : IDispatch [ object, dual, + oleautomation, uuid(e8917260-7579-4be1-b5dd-7afbfa6f077b) ] interface IVBSAXDeclHandler : IDispatch @@ -1847,6 +1900,7 @@ interface IVBSAXDeclHandler : IDispatch [ object, dual, + oleautomation, uuid(24fb3297-302d-4620-ba39-3a732d850558) ] interface IVBSAXDTDHandler : IDispatch @@ -1868,6 +1922,7 @@ interface IVBSAXDTDHandler : IDispatch [ object, dual, + oleautomation, uuid(0c05d096-f45b-4aca-ad1a-aa0bc25518dc) ] interface IVBSAXEntityResolver : IDispatch @@ -1882,6 +1937,7 @@ interface IVBSAXEntityResolver : IDispatch [ object, dual, + oleautomation, uuid(d963d3fe-173c-4862-9095-b92f66995f52) ] interface IVBSAXErrorHandler : IDispatch @@ -1908,6 +1964,7 @@ interface IVBSAXErrorHandler : IDispatch [ object, dual, + oleautomation, uuid(032aac35-8c0e-4d9d-979f-e3b702935576) ] interface IVBSAXLexicalHandler : IDispatch @@ -1936,6 +1993,8 @@ interface IVBSAXLexicalHandler : IDispatch [ object, + dual, + oleautomation, uuid(796e7ac5-5aa2-4eff-acad-3faaf01a3288) ] interface IVBSAXLocator : IDispatch @@ -1956,6 +2015,7 @@ interface IVBSAXLocator : IDispatch [ object, dual, + oleautomation, uuid(1299eb1b-5b88-433e-82de-82ca75ad4e04) ] interface IVBSAXXMLFilter : IDispatch @@ -1969,6 +2029,7 @@ interface IVBSAXXMLFilter : IDispatch [ dual, + oleautomation, object, uuid (8c033caa-6cd6-4f73-b728-4531af74945f) ] @@ -2028,6 +2089,7 @@ interface IVBSAXXMLReader : IDispatch [ object, dual, + oleautomation, uuid(f10d27cc-3ec0-415c-8ed8-77ab1c5e7262) ] interface IMXAttributes : IDispatch @@ -2084,6 +2146,7 @@ interface IMXAttributes : IDispatch [ object, dual, + oleautomation, uuid(808f4e35-8d5a-4fbe-8466-33a41279ed30) ] interface IMXReaderControl : IDispatch @@ -2101,6 +2164,7 @@ interface IMXReaderControl : IDispatch [ object, dual, + oleautomation, uuid(4d7ff4ba-1565-4ea8-94e1-6e724a46f98d) ] interface IMXWriter : IDispatch @@ -2153,6 +2217,7 @@ interface IMXWriter : IDispatch local, object, uuid(50ea08b1-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual ] interface ISchemaStringCollection : IDispatch @@ -2175,6 +2240,7 @@ interface ISchemaStringCollection : IDispatch local, object, uuid(50ea08b2-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual ] interface ISchemaItemCollection : IDispatch @@ -2208,6 +2274,7 @@ interface ISchemaItemCollection : IDispatch local, object, uuid(50ea08b3-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual ] interface ISchemaItem : IDispatch @@ -2246,6 +2313,7 @@ interface ISchemaItem : IDispatch local, object, uuid(50ea08b4-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual ] interface ISchema : ISchemaItem @@ -2291,6 +2359,7 @@ interface ISchema : ISchemaItem local, object, uuid(50ea08b5-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual ] interface ISchemaParticle : ISchemaItem @@ -2307,6 +2376,7 @@ interface ISchemaParticle : ISchemaItem [ object, uuid(50ea08b6-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual, ] interface ISchemaAttribute : ISchemaItem @@ -2340,6 +2410,7 @@ interface ISchemaAttribute : ISchemaItem local, object, uuid(50ea08b7-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual ] interface ISchemaElement : ISchemaParticle @@ -2393,6 +2464,7 @@ interface ISchemaElement : ISchemaParticle local, object, uuid(50ea08b8-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual ] interface ISchemaType : ISchemaItem @@ -2471,6 +2543,7 @@ interface ISchemaType : ISchemaItem local, object, uuid(50ea08b9-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual, ] interface ISchemaComplexType : ISchemaType @@ -2504,6 +2577,7 @@ interface ISchemaComplexType : ISchemaType local, object, uuid(50ea08ba-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual, ] interface ISchemaAttributeGroup : ISchemaItem @@ -2521,6 +2595,7 @@ interface ISchemaAttributeGroup : ISchemaItem local, object, uuid(50ea08bb-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual, ] interface ISchemaModelGroup : ISchemaParticle @@ -2534,6 +2609,7 @@ interface ISchemaModelGroup : ISchemaParticle local, object, uuid(50ea08bc-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual ] interface ISchemaAny : ISchemaParticle @@ -2551,6 +2627,7 @@ interface ISchemaAny : ISchemaParticle local, object, uuid(50ea08bd-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual ] interface ISchemaIdentityConstraint : ISchemaItem @@ -2572,6 +2649,7 @@ interface ISchemaIdentityConstraint : ISchemaItem local, object, uuid(50ea08be-dd1b-4664-9a50-c2f40f4bd79a), + oleautomation, dual ] interface ISchemaNotation : ISchemaItem diff --git a/reactos/include/psdk/netcon.idl b/reactos/include/psdk/netcon.idl new file mode 100644 index 00000000000..eecc1d2af3e --- /dev/null +++ b/reactos/include/psdk/netcon.idl @@ -0,0 +1,412 @@ +/* + * Copyright 2009 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef DO_NO_IMPORTS +import "oaidl.idl"; +import "unknwn.idl"; +import "wtypes.idl"; +/* import "prsht.idl"; */ +#endif + +cpp_quote("DEFINE_GUID(CLSID_NetSharingManager,0x5c63c1ad,0x3956,0x4ff8,0x84,0x86,0x40,0x03,0x47,0x58,0x31,0x5b);") + +[ + object, + uuid(c08956a1-1cd3-11d1-b1c5-00805fc1270e), + pointer_default(unique) +] +interface INetConnection : IUnknown +{ + typedef enum tagNETCON_CHARACTERISTIC_FLAGS + { + NCCF_NONE = 0x0000, + NCCF_ALL_USERS = 0x0001, + NCCF_ALLOW_DUPLICATION = 0x0002, + NCCF_ALLOW_REMOVAL = 0x0004, + NCCF_ALLOW_RENAME = 0x0008, + NCCF_INCOMING_ONLY = 0x0020, + NCCF_OUTGOING_ONLY = 0x0040, + NCCF_BRANDED = 0x0080, + NCCF_SHARED = 0x0100, + NCCF_BRIDGED = 0x0200, + NCCF_FIREWALLED = 0x0400, + NCCF_DEFAULT = 0x0800, + NCCF_HOMENET_CAPABLE = 0x1000, + NCCF_SHARED_PRIVATE = 0x2000, + NCCF_QUARANTINED = 0x4000, + NCCF_RESERVED = 0x8000, + NCCF_BLUETOOTH_MASK = 0x000F0000, + NCCF_LAN_MASK = 0x00F00000 + } NETCON_CHARACTERISTIC_FLAGS; + + typedef enum tagNETCON_STATUS + { + NCS_DISCONNECTED, + NCS_CONNECTING, + NCS_CONNECTED, + NCS_DISCONNECTING, + NCS_HARDWARE_NOT_PRESENT, + NCS_HARDWARE_DISABLED, + NCS_HARDWARE_MALFUNCTION, + NCS_MEDIA_DISCONNECTED, + NCS_AUTHENTICATING, + NCS_AUTHENTICATION_SUCCEEDED, + NCS_AUTHENTICATION_FAILED, + NCS_INVALID_ADDRESS, + NCS_CREDENTIALS_REQUIRED + } NETCON_STATUS; + + typedef enum tagNETCON_TYPE + { + NCT_DIRECT_CONNECT, + NCT_INBOUND, + NCT_INTERNET, + NCT_LAN, + NCT_PHONE, + NCT_TUNNEL, + NCT_BRIDGE + } NETCON_TYPE; + + typedef enum tagNETCON_MEDIATYPE + { + NCM_NONE, + NCM_DIRECT, + NCM_ISDN, + NCM_LAN, + NCM_PHONE, + NCM_TUNNEL, + NCM_PPPOE, + NCM_BRIDGE, + NCM_SHAREDACCESSHOST_LAN, + NCM_SHAREDACCESSHOST_RAS + } NETCON_MEDIATYPE; + + typedef struct tagNETCON_PROPERTIES + { + GUID guidId; + [string] LPWSTR pszwName; + [string] LPWSTR pszwDeviceName; + NETCON_STATUS Status; + NETCON_MEDIATYPE MediaType; + DWORD dwCharacter; + CLSID clsidThisObject; + CLSID clsidUiObject; + } NETCON_PROPERTIES; + + HRESULT Connect(); + + HRESULT Disconnect(); + + HRESULT Delete(); + + HRESULT Duplicate( + [in, string] LPCWSTR pszwDuplicateName, + [out] INetConnection **ppCon); + + HRESULT GetProperties([out] NETCON_PROPERTIES **ppProps); + + HRESULT GetUiObjectClassId([out, ref] CLSID *pclsid); + + HRESULT Rename([in, string] LPCWSTR pszwNewName); +} + +[ + object, + uuid(24b7e9b5-e38f-4685-851b-00892cf5f940), + oleautomation, + dual, + pointer_default(unique) +] +interface INetSharingPortMappingProps : IDispatch +{ + [propget, id(1)] + HRESULT Name([out, retval] BSTR *pbstrName); + + [propget, id(2)] + HRESULT IPProtocol([out, retval] UCHAR *pucIPProt); + + [propget, id(3)] + HRESULT ExternalPort([out, retval] long *pusPort); + + [propget, id(4)] + HRESULT InternalPort([out, retval] long *pusPort); + + [propget, id(5)] + HRESULT Options([out, retval] long *pdwOptions); + + [propget, id(6)] + HRESULT TargetName([out, retval] BSTR *pbstrTargetName); + + [propget, id(7)] + HRESULT TargetIPAddress([out, retval] BSTR *pbstrTargetIPAddress); + + [propget, id(8)] + HRESULT Enabled([out, retval] VARIANT_BOOL *pbool); +} + +[ + object, + uuid(c08956b1-1cd3-11d1-b1c5-00805fc1270e), + oleautomation, + dual, + pointer_default(unique) +] +interface INetSharingPortMapping : IDispatch +{ + [id(1)] + HRESULT Disable(); + + [id(2)] + HRESULT Enable(); + + [propget, id(3)] + HRESULT Properties([out, retval] INetSharingPortMappingProps **ppNSPMP); + + [id(4)] + HRESULT Delete(); +}; +[ + object, + uuid(02e4a2de-da20-4e34-89c8-ac22275a010b), + oleautomation, + dual, + pointer_default(unique) +] +interface INetSharingPortMappingCollection : IDispatch +{ + [propget, id(DISPID_NEWENUM), restricted] + HRESULT _NewEnum([out, retval] IUnknown **pVal); + + [propget, id(1)] + HRESULT Count([out, retval] long *pVal); +} + +[ + object, + uuid(c08956b6-1cd3-11d1-b1c5-00805fc1270e), + oleautomation, + dual, + pointer_default(unique) +] +interface INetSharingConfiguration : IDispatch +{ + typedef enum tagSHARINGCONNECTIONTYPE { + ICSSHARINGTYPE_PUBLIC, + ICSSHARINGTYPE_PRIVATE + } SHARINGCONNECTIONTYPE, *LPSHARINGCONNECTIONTYPE; + + typedef enum tagSHARINGCONNECTION_ENUM_FLAGS { + ICSSC_DEFAULT, + ICSSC_ENABLED + } SHARINGCONNECTION_ENUM_FLAGS; + + typedef enum tagICS_TARGETTYPE { + ICSTT_NAME, + ICSTT_IPADDRESS + }ICS_TARGETTYPE; + + [propget, id(1)] + HRESULT SharingEnabled([out, retval] VARIANT_BOOL *pbEnabled); + + [propget, id(2)] + HRESULT SharingConnectionType([out, retval] SHARINGCONNECTIONTYPE *pType); + + [id(3)] + HRESULT DisableSharing(); + + [id(4)] + HRESULT EnableSharing([in] SHARINGCONNECTIONTYPE Type); + + [propget, id(5)] + HRESULT InternetFirewallEnabled([out, retval] VARIANT_BOOL *pbEnabled); + + [id(6)] + HRESULT DisableInternetFirewall(); + + [id(7)] + HRESULT EnableInternetFirewall(); + + [propget, id(8)] + HRESULT EnumPortMappings( + [in] SHARINGCONNECTION_ENUM_FLAGS Flags, + [out, retval] INetSharingPortMappingCollection **ppColl); + + [id(9)] + HRESULT AddPortMapping( + [in] BSTR bstrName, + [in] UCHAR ucIPProtocol, + [in] USHORT usExternalPort, + [in] USHORT usInternalPort, + [in] DWORD dwOptions, + [in] BSTR bstrTargetNameOrIPAddress, + [in] ICS_TARGETTYPE eTargetType, + [out, retval] INetSharingPortMapping **ppMapping ); + + [id(10)] + HRESULT RemovePortMapping([in] INetSharingPortMapping *pMapping); +} + +[ + object, + uuid(c08956b4-1cd3-11d1-b1c5-00805fc1270e), + pointer_default(unique) +] +interface IEnumNetSharingPublicConnection : IUnknown +{ + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] VARIANT *rgVar, + [out] ULONG *pceltFetched); + + HRESULT Skip([in] ULONG celt); + + HRESULT Reset(); + + HRESULT Clone([out] IEnumNetSharingPublicConnection **ppenum); +} + +[ + object, + uuid(c08956b5-1cd3-11d1-b1c5-00805fc1270e), + pointer_default(unique) +] +interface IEnumNetSharingPrivateConnection : IUnknown +{ + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pCeltFetched)] VARIANT *rgVar, + [out] ULONG *pCeltFetched); + + HRESULT Skip([in] ULONG celt); + + HRESULT Reset(); + + HRESULT Clone([out] IEnumNetSharingPrivateConnection **ppenum); +} + +[ + object, + uuid(f4277c95-ce5b-463d-8167-5662d9bcaa72), + oleautomation, + dual, + pointer_default(unique) +] +interface INetConnectionProps : IDispatch +{ + [propget, id(1)] + HRESULT Guid([out, retval] BSTR *pbstrGuid); + + [propget, id(2)] + HRESULT Name([out, retval] BSTR *pbstrName); + + [propget, id(3)] + HRESULT DeviceName([out, retval] BSTR *pbstrDeviceName); + + [propget, id(4)] + HRESULT Status([out, retval] NETCON_STATUS *pStatus); + + [propget, id(5)] + HRESULT MediaType([out, retval] NETCON_MEDIATYPE *pMediaType); + + [propget, id(6)] + HRESULT Characteristics([out, retval] DWORD *pdwFlags); +} + +[ + object, + uuid(7d7a6355-f372-4971-a149-bfc927be762a), + oleautomation, + dual, + pointer_default(unique) +] +interface INetSharingPublicConnectionCollection : IDispatch +{ + [propget, id(DISPID_NEWENUM), restricted] + HRESULT _NewEnum([out, retval] IUnknown **pVal); + + [propget, id(1)] + HRESULT Count([out, retval] long *pVal); +} + +[ + object, + uuid(33c4643c-7811-46fa-a89a-768597bd7223), + oleautomation, + dual, + pointer_default(unique) + ] +interface INetSharingEveryConnectionCollection : IDispatch +{ + [propget, id(DISPID_NEWENUM), restricted] + HRESULT _NewEnum([out, retval] IUnknown **pVal); + + [propget, id(1)] + HRESULT Count([out, retval] long *pVal); +} + +[ + object, + uuid(38ae69e0-4409-402a-a2cb-e965c727f840), + oleautomation, + dual, + pointer_default(unique) + ] +interface INetSharingPrivateConnectionCollection : IDispatch +{ + [propget, id(DISPID_NEWENUM), restricted] + HRESULT _NewEnum([out, retval] IUnknown **pVal); + + [propget, id(1)] + HRESULT Count([out, retval] long *pVal); +} + +[ + object, + uuid(c08956b7-1cd3-11d1-b1c5-00805fc1270e), + oleautomation, + dual, + pointer_default(unique) +] +interface INetSharingManager : IDispatch +{ + [propget, id(1)] + HRESULT SharingInstalled([out, retval] VARIANT_BOOL *pbInstalled); + + [propget, id(2)] + HRESULT EnumPublicConnections( + [in] SHARINGCONNECTION_ENUM_FLAGS Flags, + [out, retval] INetSharingPublicConnectionCollection **ppColl); + + [propget, id(3)] + HRESULT EnumPrivateConnections( + [in] SHARINGCONNECTION_ENUM_FLAGS Flags, + [out, retval] INetSharingPrivateConnectionCollection **ppColl); + + [propget, id(6)] + HRESULT INetSharingConfigurationForINetConnection( + [in] INetConnection *pNetConnection, + [out, retval] INetSharingConfiguration **ppNetSharingConfiguration); + + [propget, id(7)] + HRESULT EnumEveryConnection([out, retval] INetSharingEveryConnectionCollection **ppColl); + + [propget, id(8)] + HRESULT NetConnectionProps( + [in] INetConnection *pNetConnection, + [out, retval] INetConnectionProps **ppProps); +} diff --git a/reactos/include/psdk/oaidl.idl b/reactos/include/psdk/oaidl.idl index 833d31b562a..0dc4c057460 100644 --- a/reactos/include/psdk/oaidl.idl +++ b/reactos/include/psdk/oaidl.idl @@ -343,7 +343,7 @@ const USHORT PARAMFLAG_FHASDEFAULT = 0x20; const USHORT PARAMFLAG_FHASCUSTDATA = 0x40; typedef struct tagIDLDESC { - ULONG dwReserved; + ULONG_PTR dwReserved; USHORT wIDLFlags; } IDLDESC, *LPIDLDESC; @@ -404,8 +404,8 @@ typedef struct tagEXCEPINFO { BSTR bstrDescription; BSTR bstrHelpFile; DWORD dwHelpContext; - ULONG pvReserved; - ULONG pfnDeferredFillIn; + ULONG_PTR pvReserved; + ULONG_PTR pfnDeferredFillIn; SCODE scode; } EXCEPINFO; cpp_quote("#else") diff --git a/reactos/include/psdk/propsys.idl b/reactos/include/psdk/propsys.idl new file mode 100644 index 00000000000..cc5770e13cb --- /dev/null +++ b/reactos/include/psdk/propsys.idl @@ -0,0 +1,815 @@ +/* + * system property interfaces + * + * Copyright 2009 Maarten Lankhorst + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + + +import "objidl.idl"; +import "oleidl.idl"; +import "ocidl.idl"; +import "shtypes.idl"; +import "structuredquerycondition.idl"; + +cpp_quote("#ifndef PSSTDAPI") +cpp_quote("#define PSSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE") +cpp_quote("#endif") + +cpp_quote("#if 0") +typedef PROPERTYKEY *REFPROPERTYKEY; +cpp_quote("#endif") +cpp_quote("#include ") + +[ + uuid(b7d14566-0509-4cce-a71f-0a554233bd9b), + object, + pointer_default(unique) +] +interface IInitializeWithFile : IUnknown +{ + HRESULT Initialize( + [in,string] LPCWSTR pszFilePath, + [in] DWORD grfMode + ); +} + +[ + uuid(b824b49d-22ac-4161-ac8a-9916e8fa3f7f), + object, + pointer_default(unique) +] +interface IInitializeWithStream : IUnknown +{ + [local] HRESULT Initialize( + [in] IStream *pstream, + [in] DWORD grfMode + ); +} + +[ + uuid(886d8eeb-8cf2-4446-8d02-cdba1dbdcf99), + object, + pointer_default(unique) +] +interface IPropertyStore : IUnknown +{ + HRESULT GetCount( + [out] DWORD *cProps + ); + HRESULT GetAt( + [in] DWORD iProp, + [out] PROPERTYKEY *pkey + ); + HRESULT GetValue( + [in] REFPROPERTYKEY key, + [out] PROPVARIANT *pv + ); + HRESULT SetValue( + [in] REFPROPERTYKEY key, + [in] REFPROPVARIANT propvar + ); + HRESULT Commit(void); +} + +typedef IPropertyStore *LPPROPERTYSTORE; + +[ + uuid(71604b0f-97b0-4764-8577-2f13e98a1422), + object, + pointer_default(unique) +] +interface INamedPropertyStore : IUnknown +{ + HRESULT GetNamedValue( + [in,string] LPCWSTR pszName, + [out] PROPVARIANT *ppropvar + ); + HRESULT SetNamedValue( + [in,string] LPCWSTR pszName, + [in] REFPROPVARIANT propvar + ); + HRESULT GetNameCount( + [out] DWORD *pdwCount + ); + HRESULT GetNameAt( + [in] DWORD iProp, + [out] BSTR *pbstrName + ); +} + +typedef [v1_enum] enum GETPROPERTYSTOREFLAGS +{ + GPS_DEFAULT = 0x00, + GPS_HANDLERPROPERTIESONLY = 0x01, + GPS_READWRITE = 0x02, + GPS_TEMPORARY = 0x04, + GPS_FASTPROPERTIESONLY = 0x08, + GPS_OPENSLOWITEM = 0x10, + GPS_DELAYCREATION = 0x20, + GPS_BESTEFFORT = 0x40, + GPS_NO_OPLOCK = 0x80, + GPS_MASK_VALID = 0xff +} GETPROPERTYSTOREFLAGS; + +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(GETPROPERTYSTOREFLAGS)") + +[ + uuid(fc0ca0a7-c316-4fd2-9031-3e628e6d4f23), + object +] +interface IObjectWithPropertyKey : IUnknown +{ + HRESULT SetPropertyKey( + [in] REFPROPERTYKEY key + ); + HRESULT GetPropertyKey( + [out] PROPERTYKEY *key + ); +} + +typedef [v1_enum] enum PKA_FLAGS +{ + PKA_SET, + PKA_APPEND, + PKA_DELETE +} PKA_FLAGS; + +[ + uuid(f917bc8a-1bba-4478-a245-1bde03eb9431), + object, + pointer_default(unique) +] +interface IPropertyChange : IObjectWithPropertyKey +{ + HRESULT ApplyToPropVariant([in] REFPROPVARIANT propvarin, [out] PROPVARIANT *propvarout); +} + +[ + uuid(380f5cad-1b5e-42f2-805d-637fd392d31e), + object, + pointer_default(unique) +] +interface IPropertyChangeArray : IUnknown +{ + HRESULT GetCount( + [out] UINT *pcOperations + ); + HRESULT GetAt( + [in] UINT iIndex, + [in] REFIID riid, + [out, iid_is(riid)] void **ppv + ); + HRESULT InsertAt( + [in] UINT iIndex, + [in] IPropertyChange *ppropChange + ); + HRESULT Append( + [in] IPropertyChange *ppropChange + ); + HRESULT AppendOrReplace( + [in] IPropertyChange *ppropChange + ); + HRESULT RemoveAt( + [in] UINT iIndex + ); + HRESULT IsKeyInArray( + [in] REFPROPERTYKEY key + ); +} + +[ + uuid(c8e2d566-186e-4d49-bf41-6909ead56acc), + object, + pointer_default(unique) +] +interface IPropertyStoreCapabilities : IUnknown +{ + HRESULT IsPropertyWritable( + [in] REFPROPERTYKEY key + ); +} + +[ + uuid(3017056d-9a91-4e90-937d-746c72abbf4f), + object, + pointer_default(unique) +] +interface IPropertyStoreCache : IPropertyStore +{ + typedef [v1_enum] enum PSC_STATE + { + PSC_NORMAL = 0, + PSC_NOTINSOURCE, + PSC_DIRTY, + PSC_READONLY + } PSC_STATE; + + HRESULT GetState( + [in] REFPROPERTYKEY key, + [out] PSC_STATE *pstate + ); + HRESULT GetValueAndState( + [in] REFPROPERTYKEY key, + [out] PROPVARIANT *ppropvar, + [out] PSC_STATE *pstate + ); + HRESULT SetState( + [in] REFPROPERTYKEY key, + [in] PSC_STATE pstate + ); + HRESULT SetValueAndState( + [in] REFPROPERTYKEY key, + [in, unique] const PROPVARIANT *ppropvar, + [in] PSC_STATE state + ); +} + +[ + uuid(11e1fbf9-2d56-4a6b-8db3-7cd193a471f2), + object, + pointer_default(unique) +] +interface IPropertyEnumType : IUnknown +{ + typedef [v1_enum] enum PROPENUMTYPE + { + PET_DISCRETEVALUE = 0, + PET_RANGEDVALUE, + PET_DEFAULTVALUE, + PET_ENDRANGE + } PROPENUMTYPE; + + HRESULT GetEnumType( + [out] PROPENUMTYPE *penumtype + ); + HRESULT GetValue( + [out] PROPVARIANT *ppropvar + ); + HRESULT GetRangeMinValue( + [out] PROPVARIANT *ppropvar + ); + HRESULT GetRangeSetValue( + [out] PROPVARIANT *ppropvar + ); + HRESULT GetDisplayText( + [out] LPWSTR *ppszDisplay + ); +} + +[ + uuid(9b6e051c-5ddd-4321-9070-fe2acb55e974), + object, + pointer_default(unique) +] +interface IPropertyEnumType2 : IPropertyEnumType +{ + HRESULT GetImageReference( + [out] LPWSTR *ppszImageRes + ); +} + +[ + uuid(a99400f4-3d84-4557-94ba-1242fb2cc9a6), + object, + pointer_default(unique) +] +interface IPropertyEnumTypeList : IUnknown +{ + HRESULT GetCount( + [out] UINT *pctypes + ); + HRESULT GetAt( + [in] UINT itype, + [in] REFIID riid, + [out, iid_is(riid)] void **ppv + ); + HRESULT GetConditionAt( + [in] UINT nIndex, + [in] REFIID riid, + [out, iid_is(riid)] void **ppv + ); + HRESULT FindMatchingIndex( + [in] REFPROPVARIANT propvarCmp, + [out] UINT *pnIndex + ); +} + +[ + uuid(6f79d558-3e96-4549-a1d1-7d75d2288814), + object, + pointer_default(unique) +] +interface IPropertyDescription : IUnknown +{ + typedef [v1_enum] enum PROPDESC_TYPE_FLAGS + { + PDTF_DEFAULT = 0, + PDTF_MULTIPLEVALUES = 0x001, + PDTF_ISINNATE = 0x002, + PDTF_ISGROUP = 0x004, + PDTF_CANGROUPBY = 0x008, + PDTF_CANSTACKBY = 0x010, + PDTF_ISTREEPROPERTY = 0x020, + PDTF_INCLUDEINFULLTEXTQUERY = 0x040, + PDTF_ISVIEWABLE = 0x080, + PDTF_ISQUERYABLE = 0x100, + PDTF_CANBEPURGED = 0x200, + PDTF_SEARCHRAWVALUE = 0x400, + PDTF_ISSYSTEMPROPERTY = 0x80000000, + PDTF_MASK_ALL = 0x800007ff + } PROPDESC_TYPE_FLAGS; + cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_TYPE_FLAGS)") + + typedef [v1_enum] enum PROPDESC_VIEW_FLAGS + { + PDVF_DEFAULT = 0x0000, + PDVF_CENTERALIGN = 0x0001, + PDVF_RIGHTALIGN = 0x0002, + PDVF_BEGINNEWGROUP = 0x0004, + PDVF_FILLAREA = 0x0008, + PDVF_SORTDESCENDING = 0x0010, + PDVF_SHOWONLYIFPRESENT = 0x0020, + PDVF_SHOWBYDEFAULT = 0x0040, + PDVF_SHOWINPRIMARYLIST = 0x0080, + PDVF_SHOWINSECONDARYLIST = 0x0100, + PDVF_HIDELABEL = 0x0200, + PDVF_HIDDEN = 0x0800, + PDVF_CANWRAP = 0x1000, + PDVF_MASK_ALL = 0x1bff + } PROPDESC_VIEW_FLAGS; + cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_VIEW_FLAGS)") + + typedef [v1_enum] enum PROPDESC_DISPLAYTYPE + { + PDDT_STRING = 0, + PDDT_NUMBER, + PDDT_BOOLEAN, + PDDT_DATETIME, + PDDT_ENUMERATED + } PROPDESC_DISPLAYTYPE; + + typedef [v1_enum] enum PROPDESC_GROUPING_RANGE + { + PDGR_DISCRETE = 0, + PDGR_ALPHANUMERIC, + PDGR_SIZE, + PDGR_DYNAMIC, + PDGR_DATE, + PDGR_PERCENT, + PDGR_ENUMERATED + } PROPDESC_GROUPING_RANGE; + + typedef [v1_enum] enum PROPDESC_FORMAT_FLAGS + { + PDFF_DEFAULT = 0x0000, + PDFF_PREFIXNAME = 0x0001, + PDFF_FILENAME = 0x0002, + PDFF_ALWAYSKB = 0x0004, + PDFF_RESERVED_RIGHTTOLEFT = 0x0008, + PDFF_SHORTTIME = 0x0010, + PDFF_LONGTIME = 0x0020, + PDFF_HIDETIME = 0x0040, + PDFF_SHORTDATE = 0x0080, + PDFF_LONGDATE = 0x0100, + PDFF_HIDEDATE = 0x0200, + PDFF_RELATIVEDATE = 0x0400, + PDFF_USEEDITINVITATION = 0x0800, + PDFF_READONLY = 0x1000, + PDFF_NOAUTOREADINGORDER = 0x2000 + } PROPDESC_FORMAT_FLAGS; + cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_FORMAT_FLAGS)") + + typedef [v1_enum] enum PROPDESC_SORTDESCRIPTION + { + PDSD_GENERAL = 0, + PDSD_A_Z, + PDSD_LOWEST_HIGHEST, + PDSD_SMALLEST_BIGGEST, + PDSD_OLDEST_NEWEST + } PROPDESC_SORTDESCRIPTION; + + typedef [v1_enum] enum PROPDESC_RELATIVEDESCRIPTION_TYPE + { + PDRDT_GENERAL = 0, + PDRDT_DATE, + PDRDT_SIZE, + PDRDT_COUNT, + PDRDT_REVISION, + PDRDT_LENGTH, + PDRDT_DURATION, + PDRDT_SPEED, + PDRDT_RATE, + PDRDT_RATING, + PDRDT_PRIORITY + } PROPDESC_RELATIVEDESCRIPTION_TYPE; + + typedef [v1_enum] enum PROPDESC_AGGREGATION_TYPE + { + PDAT_DEFAULT = 0, + PDAT_FIRST, + PDAT_SUM, + PDAT_AVERAGE, + PDAT_DATERANGE, + PDAT_UNION, + PDAT_MAX, + PDAT_MIN + } PROPDESC_AGGREGATION_TYPE; + + typedef [v1_enum] enum PROPDESC_CONDITION_TYPE + { + PDCOT_NONE = 0, + PDCOT_STRING, + PDCOT_SIZE, + PDCOT_DATETIME, + PDCOT_BOOLEAN, + PDCOT_NUMBER + } PROPDESC_CONDITION_TYPE; + + HRESULT GetPropertyKey( + [out] PROPERTYKEY *pkey + ); + HRESULT GetCanonicalName( + [out, string] LPWSTR *ppszName + ); + HRESULT GetPropertyType( + [out] VARTYPE *pvartype + ); + HRESULT GetDisplayName( + [out, string] LPWSTR *ppszName + ); + HRESULT GetEditInvitation( + [out, string] LPWSTR *ppszName + ); + HRESULT GetTypeFlags( + [in] PROPDESC_TYPE_FLAGS mask, + [out] PROPDESC_TYPE_FLAGS *ppdtFlags + ); + HRESULT GetViewFlags( + [out] PROPDESC_VIEW_FLAGS *ppdvFlags + ); + HRESULT GetDefaultColumnWidth( + [out] UINT *pcxChars + ); + HRESULT GetDisplayType( + [out] PROPDESC_DISPLAYTYPE *pdisplaytype + ); + HRESULT GetColumnState( + [out] SHCOLSTATEF *pcsFlags + ); + HRESULT GetGroupingRange( + [out] PROPDESC_GROUPING_RANGE *psd + ); + HRESULT GetRelativeDescriptionType( + [out] PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt + ); + HRESULT GetRelativeDescription( + [in] REFPROPVARIANT propvar1, + [in] REFPROPVARIANT propvar2, + [out,string] LPWSTR *ppszDesc1, + [out,string] LPWSTR *ppszDesc2 + ); + HRESULT GetSortDescription( + [out] PROPDESC_SORTDESCRIPTION *psd + ); + HRESULT GetSortDescriptionLabel( + [in] BOOL fDescending, + [out,string] LPWSTR *ppszDescription + ); + HRESULT GetAggregationType( + [out] PROPDESC_AGGREGATION_TYPE *paggtype + ); + HRESULT GetConditionType( + [out] PROPDESC_CONDITION_TYPE *pcontype, + [out] CONDITION_OPERATION *popDefault + ); + HRESULT GetEnumTypeList( + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); + [local] HRESULT CoerceToCanonicalValue( + [in,out] PROPVARIANT *propvar + ); + [call_as(CoerceToCanonicalValue)] HRESULT RemoteCoerceToCanonicalValue( + [in] REFPROPVARIANT propvar, + [out] PROPVARIANT *ppropvar + ); + HRESULT FormatForDisplay( + [in] REFPROPVARIANT propvar, + [in] PROPDESC_FORMAT_FLAGS flags, + [out,string] LPWSTR *ppszDisplay + ); + HRESULT IsValueCanonical( + [in] REFPROPVARIANT propvar + ); +} + +[ + uuid(57d2eded-5062-400e-b107-5dae79fe57a6), + object, + pointer_default(unique) +] +interface IPropertyDescription2 : IPropertyDescription +{ + HRESULT GetImageReferenceForValue( + [in] REFPROPVARIANT propvar, + [out,string] LPWSTR *ppszImageRes + ); +} + +[ + uuid(f67104fc-2af9-46fd-b32d-243c1404f3d1), + object, + pointer_default(unique) +] +interface IPropertyDescriptionAliasInfo : IPropertyDescription +{ + HRESULT GetSortByAlias( + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); + HRESULT GetAdditionalSortByAliases( + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); +} + +[ + uuid(078f91bd-29a2-440f-924e-46a291524520), + object, + pointer_default(unique) +] +interface IPropertyDescriptionSearchInfo : IPropertyDescription +{ + typedef [v1_enum] enum PROPDESC_SEARCHINFO_FLAGS + { + PDSIF_DEFAULT = 0x0, + PDSIF_ININVERTEDINDEX = 0x1, + PDSIF_ISCOLUMN = 0x2, + PDSIF_ISCOLUMNSPARSE = 0x4, + PDSIF_ALWAYSINCLUDE = 0x8, + } PROPDESC_SEARCHINFO_FLAGS; + cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_SEARCHINFO_FLAGS)") + + typedef [v1_enum] enum PROPDESC_COLUMNINDEX_TYPE + { + PDCIT_NONE = 0, + PDCIT_ONDISK, + PDCIT_INMEMORY, + PDCIT_ONDEMAND, + PDCIT_ONDISKALL, + PDCIT_ONDISKVECTOR + } PROPDESC_COLUMNINDEX_TYPE; + + HRESULT GetSearchInfoFlags( + [out] PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags + ); + HRESULT GetColumnIndexType( + [out] PROPDESC_COLUMNINDEX_TYPE *ppdciType + ); + HRESULT GetProjectionString( + [out] LPWSTR *ppszProjection + ); + HRESULT GetMaxSize( + [out] UINT *pcbMaxSize + ); +} + +[ + uuid(507393f4-2a3d-4a60-b59e-d9c75716c2dd), + object, + pointer_default(unique) +] +interface IPropertyDescriptionRelatedPropertyInfo : IPropertyDescription +{ + HRESULT GetRelatedProperty( + [in] LPCWSTR ppszRelationshipName, + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); +} + +typedef [v1_enum] enum PROPDESC_ENUMFILTER +{ + PDEF_ALL = 0, + PDEF_SYSTEM, + PDEF_NONSYSTEM, + PDEF_VIEWABLE, + PDEF_QUERYABLE, + PDEF_INFULLTEXTQUERY, + PDEF_COLUMN +} PROPDESC_ENUMFILTER; + +[ + uuid(ca724e8a-c3e6-442b-88a4-6fb0db8035a3), + object, + pointer_default(unique) +] +interface IPropertySystem : IUnknown +{ + HRESULT GetPropertyDescription( + [in] REFPROPERTYKEY propkey, + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); + HRESULT GetPropertyDescriptionByName( + [in,string] LPCWSTR pszCanonicalName, + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); + HRESULT GetPropertyDescriptionListFromString( + [in,string] LPCWSTR pszPropList, + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); + HRESULT EnumeratePropertyDescriptions( + [in] PROPDESC_ENUMFILTER filterOn, + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); + HRESULT FormatForDisplay( + [in] REFPROPERTYKEY key, + [in] REFPROPVARIANT propvar, + [in] PROPDESC_FORMAT_FLAGS pdff, + [out,string,size_is(cchText)] LPWSTR pszText, + [in] DWORD cchText + ); + HRESULT FormatForDisplayAlloc( + [in] REFPROPERTYKEY key, + [in] REFPROPVARIANT propvar, + [in] PROPDESC_FORMAT_FLAGS pdff, + [out,string] LPWSTR *pszText + ); + HRESULT RegisterPropertySchema( + [in,string] LPCWSTR pszPath + ); + HRESULT UnregisterPropertySchema( + [in,string] LPCWSTR pszPath + ); + HRESULT RefreshPropertySchema(void); +} + +[ + uuid(1f9fc1d0-c39b-4b26-817f-011967d3440e), + object, + pointer_default(unique) +] +interface IPropertyDescriptionList : IUnknown +{ + HRESULT GetCount( + [out] UINT *pcelem + ); + HRESULT GetAt( + [in] UINT iElem, + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); +} + +[ + uuid(bc110b6d-57e8-4148-a9c6-91015ab2f3a5), + object, + pointer_default(unique) +] +interface IPropertyStoreFactory : IUnknown +{ + HRESULT GetPropertyStore( + [in] GETPROPERTYSTOREFLAGS flags, + [in,unique] IUnknown *pUnkFactory, + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); + HRESULT GetPropertyStoreForKeys( + [in,unique] const PROPERTYKEY *rgKeys, + [in] UINT cKeys, + [in] GETPROPERTYSTOREFLAGS flags, + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); +} + +[ + uuid(40d4577f-e237-4bdb-bd69-58f089431b6a), + object, + pointer_default(unique) +] +interface IDelayedPropertyStoreFactory : IPropertyStoreFactory +{ + HRESULT GetDelayedPropertyStore( + [in] GETPROPERTYSTOREFLAGS flags, + [in] DWORD dwStoreId, + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); +} + +[v1_enum] enum _PERSIST_SPROPSTORE_FLAGS +{ + FPSPS_DEFAULT = 0, + FPSPS_READONLY = 1 +}; +typedef int PERSIST_SPROPSTORE_FLAGS; + +typedef struct tagSERIALIZEDROPSTORAGE SERIALIZEDPROPSTORAGE; + +cpp_quote("#if 0") /* Wine doesn't have __unaligned builtin, hack */ +typedef SERIALIZEDPROPSTORAGE *PUSERIALIZEDPROPSTORAGE; +typedef const SERIALIZEDPROPSTORAGE *PCUSERIALIZEDPROPSTORAGE; +cpp_quote("#endif") +cpp_quote("typedef SERIALIZEDPROPSTORAGE UNALIGNED *PUSERIALIZEDPROPSTORAGE;") +cpp_quote("typedef const SERIALIZEDPROPSTORAGE UNALIGNED *PCUSERIALIZEDPROPSTORAGE;") + +[ + uuid(e318ad57-0aa0-450f-aca5-6fab7103d917), + pointer_default(unique), + local +] +interface IPersistSerializedPropStorage : IUnknown +{ + HRESULT SetFlags( + [in] PERSIST_SPROPSTORE_FLAGS flags + ); + HRESULT SetPropertyStorage( + [in] PCUSERIALIZEDPROPSTORAGE psps, + [in] DWORD cb + ); + HRESULT GetPropertyStorage( + [out] SERIALIZEDPROPSTORAGE **psps, + [out] DWORD *pcb + ); +} + +[ + uuid(77effa68-4f98-4366-ba72-573b3d880571), + pointer_default(unique), + local +] +interface IPersistSerializedPropStorage2 : IPersistSerializedPropStorage +{ + HRESULT GetpropertyStorageSize( + [out] DWORD *pcb + ); + HRESULT GetPropertyStorageBuffer( + [out] SERIALIZEDPROPSTORAGE *psps, + [in] DWORD cb, + [out] DWORD *pcbWritten + ); +} + +[ + uuid(fa955fd9-38be-4879-a6ce-824cf52d609f), + object, + pointer_default(unique) +] +interface IPropertySystemChangeNotify : IUnknown +{ + HRESULT SchemaRefreshed(void); +} + +/* Interface for CoCreateInstance? */ +[ + uuid(75121952-e0d0-43e5-9380-1d80483acf72), + pointer_default(unique) +] +interface ICreateObject : IUnknown +{ + HRESULT CreateObject( + [in] REFCLSID clsid, + [in,unique] IUnknown *pUnkOuter, + [in] REFIID riid, + [out,iid_is(riid)] void **ppv + ); +} + +/* TODO: Add remainder of the C api here */ + +[ + uuid(2cda3294-6c4f-4020-b161-27c530c81fa6), + lcid(0x0000), + version(1.0) +] +library PropSysObjects +{ + [uuid(9a02e012-6303-4e1e-b9a1-630f802592c5)] coclass InMemoryPropertyStore + { + interface IPropertyStore; + } + [uuid(b8967f86-58ae-4f96-9fb2-5d7904798f4b)] coclass PropertySystem + { + interface IPropertySystem; + } +} diff --git a/reactos/include/psdk/psdk.rbuild b/reactos/include/psdk/psdk.rbuild index ebf38da2d59..6384703aca5 100644 --- a/reactos/include/psdk/psdk.rbuild +++ b/reactos/include/psdk/psdk.rbuild @@ -5,6 +5,7 @@ activaut.idl activdbg.idl activscp.idl + asptlb.idl bdaiface.idl bits1_5.idl bits.idl @@ -27,11 +28,14 @@ mimeinfo.idl mlang.idl msctf.idl + msdadc.idl mshtml.idl + msinkaut.idl mstask.idl msxml.idl msxml2.idl netfw.idl + netcon.idl oaidl.idl objidl.idl objsafe.idl @@ -43,6 +47,7 @@ optary.idl perhist.idl propidl.idl + propsys.idl pstore.idl richole.idl sensevts.idl @@ -69,6 +74,7 @@ xmldso.idl xmldom.idl xmllite.idl + wbemcli.idl wia_lh.idl wia_xp.idl diff --git a/reactos/include/psdk/shellapi.h b/reactos/include/psdk/shellapi.h index ff7b94ea3f9..888f9d9dcfe 100644 --- a/reactos/include/psdk/shellapi.h +++ b/reactos/include/psdk/shellapi.h @@ -367,6 +367,8 @@ BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA); BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW); int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON); int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON); +int WINAPI ShellMessageBoxA(HINSTANCE,HWND,LPCSTR,LPCSTR,UINT,...); +int WINAPI ShellMessageBoxW(HINSTANCE,HWND,LPCWSTR,LPCWSTR,UINT,...); HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT); HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT); BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA); @@ -403,6 +405,7 @@ typedef LPSHNAMEMAPPINGW LPSHNAMEMAPPING; #define ShellAbout ShellAboutW #define ShellExecute ShellExecuteW #define ShellExecuteEx ShellExecuteExW +#define ShellMessageBox ShellMessageBoxW #define SHFileOperation SHFileOperationW #define SHGetFileInfo SHGetFileInfoW #define SHGetNewLinkInfo SHGetNewLinkInfoW @@ -429,6 +432,7 @@ typedef LPSHNAMEMAPPINGA LPSHNAMEMAPPING; #define ShellAbout ShellAboutA #define ShellExecute ShellExecuteA #define ShellExecuteEx ShellExecuteExA +#define ShellMessageBox ShellMessageBoxA #define SHFileOperation SHFileOperationA #define SHGetFileInfo SHGetFileInfoA #define SHGetNewLinkInfo SHGetNewLinkInfoA diff --git a/reactos/include/psdk/shldisp.idl b/reactos/include/psdk/shldisp.idl index 4e2d2fead3d..07c3059221c 100644 --- a/reactos/include/psdk/shldisp.idl +++ b/reactos/include/psdk/shldisp.idl @@ -118,3 +118,29 @@ coclass ShellFolderViewOC [default] interface IFolderViewOC; [default, source] dispinterface DShellFolderViewEvents; } + +/***************************************************************************** + * IAsyncOperation interface + */ +[ + uuid(3d8b0590-f691-11d2-8ea9-006097df5bd4), + object, +] + +interface IAsyncOperation : IUnknown +{ + typedef [unique] IAsyncOperation *LPASYNCOPERATION; + + HRESULT SetAsyncMode([in] BOOL fDoOpAsync); + + HRESULT GetAsyncMode([out] BOOL *pfIsOpAsync); + + HRESULT StartOperation([in, unique, optional] IBindCtx *pbcReserved); + + HRESULT InOperation([out] BOOL *pfInAsyncOp); + + HRESULT EndOperation( + [in] HRESULT hResult, + [in, unique] IBindCtx *pbcReserved, + [in] DWORD dwEffects); +} diff --git a/reactos/include/psdk/shlguid.h b/reactos/include/psdk/shlguid.h index 6990466d99c..152da1952a4 100644 --- a/reactos/include/psdk/shlguid.h +++ b/reactos/include/psdk/shlguid.h @@ -38,7 +38,7 @@ DEFINE_OLEGUID(CGID_ShellDocView, 0x000214D1L, 0, 0); DEFINE_OLEGUID(CGID_ShellServiceObject, 0x000214D2L, 0, 0); DEFINE_OLEGUID(CGID_ExplorerBarDoc, 0x000214D3L, 0, 0); -DEFINE_OLEGUID(IID_IShellIcon, 0x000214E5L, 0, 0); +/*DEFINE_OLEGUID(IID_IShellIcon, 0x000214E5L, 0, 0);*/ DEFINE_OLEGUID(IID_IShellDetails, 0x000214ECL, 0, 0); DEFINE_OLEGUID(IID_IDelayedRelease, 0x000214EDL, 0, 0); DEFINE_OLEGUID(IID_IShellCopyHookA, 0x000214EFL, 0, 0); @@ -185,4 +185,16 @@ DEFINE_GUID(IID_IDeskBarClient, 0xEB0FE175, 0x1A3A, 0x11D0, 0x89, 0xB3, /* END REACTOS ONLY */ +/* IExplorerBrowser */ +DEFINE_GUID(CLSID_ExplorerBrowser, 0x71F96385, 0xDDD6, 0x48D3, 0xA0, 0xC1, 0xAE, 0x06, 0xE8, 0xB0, 0x55, 0xFB); + +DEFINE_GUID(EP_NavPane, 0xCB316B22, 0x25F7, 0x42B8, 0x8A, 0x09, 0x54, 0x0D, 0x23, 0xA4, 0x3C, 0x2F); +DEFINE_GUID(EP_Commands,0xD9745868, 0xCA5F, 0x4A76, 0x91, 0xCD, 0xF5, 0xA1, 0x29, 0xFB, 0xB0, 0x76); +DEFINE_GUID(EP_Commands_Organize, 0x72E81700, 0xE3EC, 0x4660, 0xBF, 0x24, 0x3C, 0x3B, 0x7B, 0x64, 0x88, 0x06); +DEFINE_GUID(EP_Commands_View, 0x21F7C32D, 0xEEAA, 0x439B, 0xBB, 0x51, 0x37, 0xB9, 0x6F, 0xD6, 0xA9, 0x43); +DEFINE_GUID(EP_DetailsPane, 0x43ABF98B, 0x89B8, 0x472D, 0xB9, 0xCE, 0xE6, 0x9B, 0x82, 0x29, 0xF0, 0x19); +DEFINE_GUID(EP_PreviewPane, 0x893C63D1, 0x45C8, 0x4D17, 0xBE, 0x19, 0x22, 0x3B, 0xE7, 0x1B, 0xE3, 0x65); +DEFINE_GUID(EP_QueryPane, 0x65BCDE4F, 0x4F07, 0x4F27, 0x83, 0xA7, 0x1A, 0xFC, 0xA4, 0xDF, 0x7D, 0xDD); +DEFINE_GUID(EP_AdvQueryPane, 0xB4E9DB8B, 0x34BA, 0x4C39, 0xB5, 0xCC, 0x16, 0xA1, 0xBD, 0x2C, 0x41, 0x1C); + #endif /* __WINE_SHLGUID_H */ diff --git a/reactos/include/psdk/shlguid_undoc.h b/reactos/include/psdk/shlguid_undoc.h index 5c16646ff91..b55b90d81ed 100644 --- a/reactos/include/psdk/shlguid_undoc.h +++ b/reactos/include/psdk/shlguid_undoc.h @@ -9,7 +9,7 @@ DEFINE_GUID(IID_IShellMenu2, 0x6F51C646, 0x0EFE, 0x4370, 0x88, 0x2A, DEFINE_GUID(IID_IWinEventHandler, 0xEA5F2D61, 0xE008, 0x11CF, 0x99, 0xCB, 0x00, 0xC0, 0x4F, 0xD6, 0x44, 0x97); DEFINE_GUID(IID_IShellMenuAcc, 0xFAF6FE96, 0xCE5E, 0x11D1, 0x83, 0x71, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xD0); DEFINE_GUID(IID_IShellBrowserService, 0x1307EE17, 0xEA83, 0x49EB, 0x96, 0xB2, 0x3A, 0x28, 0xE2, 0xD7, 0x04, 0x8A); -DEFINE_GUID(IID_IFolderView, 0xCDE725B0, 0xCCC9, 0x4519, 0x91, 0x7E, 0x32, 0x5D, 0x72, 0xFA, 0xB4, 0xCE); +//DEFINE_GUID(IID_IFolderView, 0xCDE725B0, 0xCCC9, 0x4519, 0x91, 0x7E, 0x32, 0x5D, 0x72, 0xFA, 0xB4, 0xCE); DEFINE_GUID(SID_SProxyBrowser, 0x20C46561, 0x8491, 0x11CF, 0x96, 0x0C, 0x00, 0x80, 0xC7, 0xF4, 0xEE, 0x85); diff --git a/reactos/include/psdk/shlobj.h b/reactos/include/psdk/shlobj.h index 3db28371e6b..57497f0eb11 100644 --- a/reactos/include/psdk/shlobj.h +++ b/reactos/include/psdk/shlobj.h @@ -24,6 +24,10 @@ #include #include +#ifdef WINE_NO_UNICODE_MACROS +#undef GetObject +#endif + #ifdef __cplusplus extern "C" { #endif /* defined(__cplusplus) */ @@ -381,34 +385,29 @@ typedef struct #define FCIDM_TOOLBAR (FCIDM_BROWSERFIRST + 0) #define FCIDM_STATUS (FCIDM_BROWSERFIRST + 1) - -/**************************************************************************** - * IShellIcon interface - */ - -#define INTERFACE IShellIcon -DECLARE_INTERFACE_(IShellIcon,IUnknown) +#define INTERFACE IShellDetails +DECLARE_INTERFACE_(IShellDetails, IUnknown) { /*** IUnknown methods ***/ - STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - /*** IShellIcon methods ***/ - STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST pidl, UINT flags, LPINT lpIconIndex) PURE; + STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void **ppv) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + /*** IShellDetails methods ***/ + STDMETHOD(GetDetailsOf)(THIS_ PCUITEMID_CHILD pidl, UINT iColumn, SHELLDETAILS *pDetails) PURE; + STDMETHOD(ColumnClick)(THIS_ UINT iColumn) PURE; }; #undef INTERFACE #if !defined(__cplusplus) || defined(CINTERFACE) /*** IUnknown methods ***/ -#define IShellIcon_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IShellIcon_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IShellIcon_Release(p) (p)->lpVtbl->Release(p) -/*** IShellIcon methods ***/ -#define IShellIcon_GetIconOf(p,a,b,c) (p)->lpVtbl->GetIconOf(p,a,b,c) +#define IShellDetails_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IShellDetails_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IShellDetails_Release(p) (p)->lpVtbl->Release(p) +/*** IShellDetails methods ***/ +#define IShellDetails_GetDetailsOf(p,a,b,c) (p)->lpVtbl->GetDetailsOf(p,a,b,c) +#define IShellDetails_ColumnClick(p,a) (p)->lpVtbl->ColumnClick(p,a) #endif -typedef IShellIcon *LPSHELLICON; - /* IQueryInfo interface */ #define INTERFACE IQueryInfo DECLARE_INTERFACE_(IQueryInfo,IUnknown) @@ -578,6 +577,99 @@ DECLARE_INTERFACE_(IShellFolderViewCB,IUnknown) #define IShellFolderViewCB_MessageSFVCB(p,a,b,c) (p)->lpVtbl->MessageSFVCB(p,a,b,c) #endif +/**************************************************************************** + * IShellFolderView interface + */ + +#include + +typedef struct _ITEMSPACING +{ + int cxSmall; + int cySmall; + int cxLarge; + int cyLarge; +} ITEMSPACING; + +#include + +#define INTERFACE IShellFolderView +DEFINE_GUID(IID_IShellFolderView,0x37a378c0,0xf82d,0x11ce,0xae,0x65,0x08,0x00,0x2b,0x2e,0x12,0x62); +DECLARE_INTERFACE_(IShellFolderView, IUnknown) +{ + /*** IUnknown methods ***/ + STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void **ppv) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + + /*** IShellFolderView methods ***/ + STDMETHOD(Rearrange) (THIS_ LPARAM lParamSort) PURE; + STDMETHOD(GetArrangeParam) (THIS_ LPARAM *plParamSort) PURE; + STDMETHOD(ArrangeGrid) (THIS) PURE; + STDMETHOD(AutoArrange) (THIS) PURE; + STDMETHOD(GetAutoArrange) (THIS) PURE; + STDMETHOD(AddObject) (THIS_ PITEMID_CHILD pidl, UINT *puItem) PURE; + STDMETHOD(GetObject) (THIS_ PITEMID_CHILD *ppidl, UINT uItem) PURE; + STDMETHOD(RemoveObject) (THIS_ PITEMID_CHILD pidl, UINT *puItem) PURE; + STDMETHOD(GetObjectCount) (THIS_ UINT *puCount) PURE; + STDMETHOD(SetObjectCount) (THIS_ UINT uCount, UINT dwFlags) PURE; + STDMETHOD(UpdateObject) (THIS_ PITEMID_CHILD pidlOld, PITEMID_CHILD pidlNew, UINT *puItem) PURE; + STDMETHOD(RefreshObject) (THIS_ PITEMID_CHILD pidl, UINT *puItem) PURE; + STDMETHOD(SetRedraw) (THIS_ BOOL bRedraw) PURE; + STDMETHOD(GetSelectedCount) (THIS_ UINT *puSelected) PURE; + STDMETHOD(GetSelectedObjects) (THIS_ PCITEMID_CHILD **pppidl, UINT *puItems) PURE; + STDMETHOD(IsDropOnSource) (THIS_ IDropTarget *pDropTarget) PURE; + STDMETHOD(GetDragPoint) (THIS_ POINT *ppt) PURE; + STDMETHOD(GetDropPoint) (THIS_ POINT *ppt) PURE; + STDMETHOD(MoveIcons) (THIS_ IDataObject *pDataObject) PURE; + STDMETHOD(SetItemPos) (THIS_ PCUITEMID_CHILD pidl, POINT *ppt) PURE; + STDMETHOD(IsBkDropTarget) (THIS_ IDropTarget *pDropTarget) PURE; + STDMETHOD(SetClipboard) (THIS_ BOOL bMove) PURE; + STDMETHOD(SetPoints) (THIS_ IDataObject *pDataObject) PURE; + STDMETHOD(GetItemSpacing) (THIS_ ITEMSPACING *pSpacing) PURE; + STDMETHOD(SetCallback) (THIS_ IShellFolderViewCB* pNewCB, IShellFolderViewCB** ppOldCB) PURE; + STDMETHOD(Select) ( THIS_ UINT dwFlags ) PURE; + STDMETHOD(QuerySupport) (THIS_ UINT * pdwSupport ) PURE; + STDMETHOD(SetAutomationObject)(THIS_ IDispatch* pdisp) PURE; +}; +#undef INTERFACE + +#if !defined(__cplusplus) || defined(CINTERFACE) +/*** IUnknown methods ***/ +#define IShellFolderView_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IShellFolderView_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IShellFolderView_Release(p) (p)->lpVtbl->Release(p) +/*** IShellFolderView methods ***/ +#define IShellFolderView_Rearrange(p,a) (p)->lpVtbl->Rearrange(p,a) +#define IShellFolderView_GetArrangeParam(p,a) (p)->lpVtbl->GetArrangeParam(p,a) +#define IShellFolderView_ArrangeGrid(p) (p)->lpVtbl->ArrangeGrid(p) +#define IShellFolderView_AutoArrange(p) (p)->lpVtbl->AutoArrange(p) +#define IShellFolderView_GetAutoArrange(p) (p)->lpVtbl->GetAutoArrange(p) +#define IShellFolderView_AddObject(p,a,b) (p)->lpVtbl->AddObject(p,a,b) +#define IShellFolderView_GetObject(p,a,b) (p)->lpVtbl->GetObject(p,a,b) +#define IShellFolderView_RemoveObject(p,a,b) (p)->lpVtbl->RemoveObject(p,a,b) +#define IShellFolderView_GetObjectCount(p,a) (p)->lpVtbl->GetObjectCount(p,a) +#define IShellFolderView_SetObjectCount(p,a,b) (p)->lpVtbl->SetObjectCount(p,a,b) +#define IShellFolderView_UpdateObject(p,a,b,c) (p)->lpVtbl->UpdateObject(p,a,b,c) +#define IShellFolderView_RefreshObject(p,a,b) (p)->lpVtbl->RefreshObject(p,a,b) +#define IShellFolderView_SetRedraw(p,a) (p)->lpVtbl->SetRedraw(p,a) +#define IShellFolderView_GetSelectedCount(p,a) (p)->lpVtbl->GetSelectedCount(p,a) +#define IShellFolderView_GetSelectedObjects(p,a,b) (p)->lpVtbl->GetSelectedObjects(p,a,b) +#define IShellFolderView_IsDropOnSource(p,a) (p)->lpVtbl->IsDropOnSource(p,a) +#define IShellFolderView_GetDragPoint(p,a) (p)->lpVtbl->GetDragPoint(p,a) +#define IShellFolderView_GetDropPoint(p,a) (p)->lpVtbl->GetDropPoint(p,a) +#define IShellFolderView_MoveIcons(p,a) (p)->lpVtbl->MoveIcons(p,a) +#define IShellFolderView_SetItemPos(p,a,b) (p)->lpVtbl->SetItemPos(p,a,b) +#define IShellFolderView_DropTarget(p,a) (p)->lpVtbl->DropTarget(p,a) +#define IShellFolderView_SetClipboard(p,a) (p)->lpVtbl->SetClipboard(p,a) +#define IShellFolderView_SetPoints(p,a) (p)->lpVtbl->SetPoints(p,a) +#define IShellFolderView_GetItemSpacing(p,a) (p)->lpVtbl->GetItemSpacing(p,a) +#define IShellFolderView_SetCallback(p,a) (p)->lpVtbl->SetCallback(p,a) +#define IShellFolderView_Select(p,a) (p)->lpVtbl->Select(p,a) +#define IShellFolderView_QuerySupport(p,a) (p)->lpVtbl->QuerySupport(p,a) +#define IShellFolderView_SetAutomationObject(p,a) (p)->lpVtbl->SetAutomationObject(p,a) +#endif + /* IProgressDialog interface */ #define PROGDLG_NORMAL 0x00000000 #define PROGDLG_MODAL 0x00000001 @@ -757,6 +849,8 @@ typedef HRESULT (CALLBACK *LPFNVIEWCALLBACK)( WPARAM wParam, LPARAM lParam); +#include + typedef struct _CSFV { UINT cbSize; @@ -768,6 +862,8 @@ typedef struct _CSFV FOLDERVIEWMODE fvm; } CSFV, *LPCSFV; +#include + HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV pshfvi, IShellView **ppshv); /* SHCreateShellFolderViewEx callback messages */ @@ -828,6 +924,8 @@ HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV pshfvi, IShellView **ppshv); #define SFVM_GET_WEBVIEW_THEME 86 /* undocumented */ #define SFVM_GETDEFERREDVIEWSETTINGS 92 /* undocumented */ +#include + typedef struct _SFV_CREATE { UINT cbSize; @@ -836,6 +934,8 @@ typedef struct _SFV_CREATE IShellFolderViewCB *psfvcb; } SFV_CREATE; +#include + HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pscfv, IShellView **ppsv); /* Types and definitions for the SFM_* parameters */ @@ -1264,15 +1364,16 @@ typedef struct _SHChangeNotifyEntry #define SHCNF_PRINTERW 0x0006 #define SHCNF_TYPE 0x00FF #define SHCNF_FLUSH 0x1000 -#define SHCNF_FLUSHNOWAIT 0x2000 +#define SHCNF_FLUSHNOWAIT 0x3000 +#define SHCNF_NOTIFYRECURSIVE 0x10000 #define SHCNF_PATH WINELIB_NAME_AW(SHCNF_PATH) #define SHCNF_PRINTER WINELIB_NAME_AW(SHCNF_PRINTER) -#define SHCNRF_InterruptLevel 0x1 -#define SHCNRF_ShellLevel 0x2 -#define SHCNRF_RecursiveInterrupt 0x1000 -#define SHCNRF_NewDelivery 0x8000 +#define SHCNRF_InterruptLevel 0x0001 +#define SHCNRF_ShellLevel 0x0002 +#define SHCNRF_RecursiveInterrupt 0x1000 +#define SHCNRF_NewDelivery 0x8000 void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2); diff --git a/reactos/include/psdk/shobjidl.idl b/reactos/include/psdk/shobjidl.idl index bbbb39aa839..52eaef2c416 100644 --- a/reactos/include/psdk/shobjidl.idl +++ b/reactos/include/psdk/shobjidl.idl @@ -118,7 +118,8 @@ cpp_quote("#endif") [ object, uuid(000214E9-0000-0000-C000-000000000046), - pointer_default(unique) + pointer_default(unique), + local ] interface IShellPropSheetExt : IUnknown { @@ -175,10 +176,6 @@ interface IShellFolder : IUnknown typedef DWORD SHCONTF; - cpp_quote("#define SHCIDS_ALLFIELDS 0x80000000L") - cpp_quote("#define SHCIDS_CANONICALONLY 0x10000000L") - cpp_quote("#define SHCIDS_BITMASK 0xFFFF0000L") - cpp_quote("#define SHCIDS_COLUMNMASK 0x0000FFFFL") cpp_quote("#define SFGAO_CANCOPY DROPEFFECT_COPY") cpp_quote("#define SFGAO_CANMOVE DROPEFFECT_MOVE") cpp_quote("#define SFGAO_CANLINK DROPEFFECT_LINK") @@ -375,6 +372,37 @@ interface IShellItem : IUnknown [out] int *piOrder); } +typedef enum tagNWMF { + NWMF_UNLOADING = 0x0001, + NWMF_USERINITED = 0x0002, + NWMF_FIRST = 0x0004, + NWMF_OVERRIDEKEY = 0x0008, + NWMF_SHOWHELP = 0x0010, + NWMF_HTMLDIALOG = 0x0020, + NWMF_FROMDIALOGCHILD = 0x0040, + NWMF_USERREQUESTED = 0x0080, + NWMF_USERALLOWED = 0x0100 +} NWMF; + +[ + uuid(d2bc4c84-3f72-4a52-a604-7bcbf3982cbb), + object, + pointer_default(unique) +] +interface INewWindowManager : IUnknown +{ + HRESULT EvaluateNewWindow( + [in, string] LPCWSTR pszUrl, + [in, string] LPCWSTR pszName, + [in, string] LPCWSTR pszUrlContext, + [in, string] LPCWSTR pszFeatures, + [in] BOOL fReplace, + [in] DWORD dwFlags, + [in] DWORD dwUserActionTime); +} + +cpp_quote("#define SID_SNewWindowManager IID_INewWindowManager") + /***************************************************************************** * FOLDERSETTINGS */ @@ -400,11 +428,25 @@ typedef enum FWF_SINGLECLICKACTIVATE = 0x00008000, FWF_NOWEBVIEW = 0x00010000, FWF_HIDEFILENAMES = 0x00020000, - FWF_CHECKSELECT = 0x00040000 + FWF_CHECKSELECT = 0x00040000, + FWF_NOENUMREFRESH = 0x00080000, + FWF_NOGROUPING = 0x00100000, + FWF_FULLROWSELECT = 0x00200000, + FWF_NOFILTERS = 0x00400000, + FWF_NOCOLUMNHEADER = 0x00800000, + FWF_NOHEADERINALLVIEWS = 0x01000000, + FWF_EXTENDEDTILES = 0x02000000, + FWF_TRICHECKSELECT = 0x04000000, + FWF_AUTOCHECKSELECT = 0x08000000, + FWF_NOBROWSERVIEWSTATE = 0x10000000, + FWF_SUBSETGROUPS = 0x20000000, + FWF_USESEARCHFOLDER = 0x40000000, + FWF_ALLOWRTLREADING = 0x80000000 } FOLDERFLAGS; typedef enum { + FVM_AUTO =-1, FVM_ICON = 1, FVM_FIRST = FVM_ICON, FVM_SMALLICON = 2, @@ -413,7 +455,8 @@ typedef enum FVM_THUMBNAIL = 5, FVM_TILE = 6, FVM_THUMBSTRIP = 7, - FVM_LAST = FVM_THUMBSTRIP + FVM_CONTENT = 8, + FVM_LAST = FVM_CONTENT } FOLDERVIEWMODE; typedef struct @@ -423,6 +466,21 @@ typedef struct } FOLDERSETTINGS, *PFOLDERSETTINGS, *LPFOLDERSETTINGS; typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS; +/***************************************************************************** + * IShellIcon interface + */ +[ + uuid(000214e5-0000-0000-c000-000000000046), + object, + pointer_default(unique) +] +interface IShellIcon : IUnknown +{ + HRESULT GetIconOf( + [in] PCUITEMID_CHILD pidl, + [in] UINT flags, + [out] int *pIconIndex); +} /***************************************************************************** * IShellView interface @@ -498,81 +556,91 @@ interface IShellView : IOleWindow [out, iid_is(riid)] void **ppv); } - [ - uuid(88E39E80-3578-11CF-AE69-08002B2E1262), object, + uuid(88e39e80-3578-11cf-ae69-08002b2e1262), pointer_default(unique) ] -interface IShellView2 : IShellView +interface IShellView2 : IShellView { typedef GUID SHELLVIEWID; - - cpp_quote("#define SV2GV_CURRENTVIEW ((UINT)-1)") - cpp_quote("#define SV2GV_DEFAULTVIEW ((UINT)-2)") - - cpp_quote("#include ") +cpp_quote("#include ") typedef struct _SV2CVW2_PARAMS { DWORD cbSize; - IShellView *psvPrev; LPCFOLDERSETTINGS pfs; IShellBrowser *psbOwner; RECT *prcView; SHELLVIEWID const *pvid; HWND hwndView; - } SV2CVW2_PARAMS, *LPSV2CVW2_PARAMS; - - cpp_quote("#include ") +cpp_quote("#include ") HRESULT GetView( - [in, out] SHELLVIEWID* pvid, - [in] ULONG uView); - + [in, out] SHELLVIEWID *view_guid, + [in] ULONG view_type + ); HRESULT CreateViewWindow2( - [in] LPSV2CVW2_PARAMS lpParams); - + [in] LPSV2CVW2_PARAMS view_params + ); HRESULT HandleRename( - [in, unique] PCUITEMID_CHILD pidlNew); - + [in] LPCITEMIDLIST new_pidl + ); HRESULT SelectAndPositionItem( - [in] PCUITEMID_CHILD pidlItem, - [in] UINT uFlags, - [in, unique] POINT *ppt); + [in] LPCITEMIDLIST item, + [in] UINT flags, + [in] POINT *point + ); } - +/***************************************************************************** + * IFolderView interface + */ [ - uuid(ec39fa88-f8af-41c5-8421-38bed28f4673), + uuid(cde725b0-ccc9-4519-917e-325d72fab4ce), object, pointer_default(unique) ] -interface IShellView3 : IShellView2 +interface IFolderView : IUnknown { - enum tagSV3CVW3 - { - SV3CVW3_DEFAULT = 0x00000000, - SV3CVW3_NONINTERACTIVE = 0x00000001, - SV3CVW3_FORCEVIEWMODE = 0x00000002, - SV3CVW3_FORCEFOLDERFLAGS = 0x00000004, - }; - typedef DWORD SV3CVW3_FLAGS; - - HRESULT CreateViewWindow3( - [in] IShellBrowser *psbOwner, - [in, unique] IShellView *psvPrev, - [in] SV3CVW3_FLAGS dwViewFlags, - [in] FOLDERFLAGS dwMask, - [in] FOLDERFLAGS dwFlags, - [in] FOLDERVIEWMODE fvMode, - [in, unique] const SHELLVIEWID *pvid, - [in] const RECT *prcView, - [out] HWND *phwndView); + HRESULT GetCurrentViewMode( [out] UINT *mode ); + HRESULT SetCurrentViewMode( [in] UINT mode ); + HRESULT GetFolder( [in] REFIID riid, [out, iid_is(riid)] void **ppv ); + HRESULT Item( + [in] int index, + [out] PITEMID_CHILD *ppidl + ); + HRESULT ItemCount( + [in] UINT flags, + [out] int *items + ); + HRESULT Items( + [in] UINT flags, + [in] REFIID riid, + [out, iid_is(riid)] void **ppv + ); + HRESULT GetSelectionMarkedItem( [out] int *item ); + HRESULT GetFocusedItem( [out] int *item ); + HRESULT GetItemPosition( + [in] PCUITEMID_CHILD pidl, + [out] POINT* ppt + ); + HRESULT GetSpacing( [in, out, unique] POINT* pt ); + HRESULT GetDefaultSpacing( [out] POINT* pt ); + HRESULT GetAutoArrange(); + HRESULT SelectItem( + [in] int item, + [in] DWORD flags + ); + HRESULT SelectAndPositionItems( + [in] UINT cidl, + [in, size_is(cidl)] PCUITEMID_CHILD_ARRAY apidl, + [in, unique, size_is(cidl)] POINT* apt, + [in] DWORD flags + ); } - /***************************************************************************** * IShellBrowser interface */ @@ -599,8 +667,18 @@ cpp_quote("#define SBSP_PARENT 0x00002000") cpp_quote("#define SBSP_NAVIGATEBACK 0x00004000") cpp_quote("#define SBSP_NAVIGATEFORWARD 0x00008000") cpp_quote("#define SBSP_ALLOW_AUTONAVIGATE 0x00010000") +cpp_quote("#define SBSP_KEEPSAMETEMPLATE 0x00020000") +cpp_quote("#define SBSP_KEEPWORDWHEELTEXT 0x00040000") +cpp_quote("#define SBSP_ACTIVATE_NOFOCUS 0x00080000") +cpp_quote("#define SBSP_CREATENOHISTORY 0x00100000") +cpp_quote("#define SBSP_PLAYNOSOUND 0x00200000") +cpp_quote("#define SBSP_CALLERUNTURUSTED 0x00800000") +cpp_quote("#define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000") +cpp_quote("#define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000") cpp_quote("#define SBSP_NOAUTOSELECT 0x04000000") cpp_quote("#define SBSP_WRITENOHISTORY 0x08000000") +cpp_quote("#define SBSP_TRUSTEDFORACTIVEX 0x10000000") +cpp_quote("#define SBSP_FEEDNAVIGATION 0x20000000") cpp_quote("#define SBSP_REDIRECT 0x40000000") cpp_quote("#define SBSP_INITIATEDBYHLINKFRAME 0x80000000") @@ -698,7 +776,7 @@ interface IShellLinkA : IUnknown HRESULT GetPath( [out, size_is(cch)] LPSTR pszFile, [in] int cch, - [in, out] WIN32_FIND_DATAA *pfd, + [in, out, unique] WIN32_FIND_DATAA *pfd, [in] DWORD fFlags); HRESULT GetIDList( [out] LPITEMIDLIST * ppidl ); @@ -886,7 +964,8 @@ interface IPersistFolder3 : IPersistFolder2 [ object, uuid(000214eb-0000-0000-c000-000000000046), - pointer_default(unique) + pointer_default(unique), + local ] interface IExtractIconA : IUnknown { @@ -926,7 +1005,8 @@ cpp_quote("#define GIL_DONTCACHE 0x0010") [ object, uuid(000214fa-0000-0000-c000-000000000046), - pointer_default(unique) + pointer_default(unique), + local ] interface IExtractIconW : IUnknown { @@ -975,6 +1055,55 @@ cpp_quote("#define CDBOSC_STATECHANGE 0x00000004") } +/***************************************************************************** + * ICommDlgBrowser2 interface + */ +[ + object, + uuid(10339516-2894-11D2-9039-00C04F8EEB3E), + pointer_default(unique) +] +interface ICommDlgBrowser2 : ICommDlgBrowser +{ + + HRESULT Notify( + [in] IShellView *ppshv, + [in] DWORD dwNotifyType); + + HRESULT GetDefaultMenuText( + [in] IShellView *ppshv, + [out, string, size_is(cchMax)] LPWSTR pszText, + [in] int cchMax); + + HRESULT GetViewFlags( + [out] DWORD *pdwFlags); +} + + +/***************************************************************************** + * ICommDlgBrowser3 interface + */ +[ + object, + uuid(C8AD25A1-3294-41EE-8165-71174BD01C57), + pointer_default(unique) +] +interface ICommDlgBrowser3 : ICommDlgBrowser2 +{ + + HRESULT OnColumnClicked( + [in] IShellView *ppshv, + [in] int iColumn); + + HRESULT GetCurrentFilter( + [out, string, size_is(cchFileSpec)] LPWSTR pszFileSpec, + [in] int cchFileSpec); + + HRESULT OnPreviewCreated( + [in] IShellView *ppshv); +} + + /***************************************************************************** * IDockingWindowFrame interface */ @@ -1012,7 +1141,8 @@ cpp_quote("#define DWFAF_HIDDEN 0x0001") [ object, uuid(de5bf786-477a-11d2-839d-00c04fd918d0), - pointer_default(unique) + pointer_default(unique), + local ] interface IDragSourceHelper : IUnknown { @@ -1041,7 +1171,8 @@ interface IDragSourceHelper : IUnknown [ object, uuid(4657278b-411b-11d2-839a-00c04fd918d0), - pointer_default(unique) + pointer_default(unique), + local ] interface IDropTargetHelper : IUnknown { @@ -1192,7 +1323,8 @@ cpp_quote("#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS") [ object, uuid(000214f4-0000-0000-c000-000000000046), - pointer_default(unique) + pointer_default(unique), + local ] interface IContextMenu2 : IContextMenu { @@ -1211,7 +1343,8 @@ interface IContextMenu2 : IContextMenu [ object, uuid(bcfce0a0-ec17-11d0-8d10-00a0c90f2719), - pointer_default(unique) + pointer_default(unique), + local ] interface IContextMenu3 : IContextMenu2 { @@ -1322,7 +1455,8 @@ interface IURLSearchHook : IUnknown [ object, uuid(09f656a2-41af-480c-88f7-16cc0d164615), - pointer_default(unique) + pointer_default(unique), + local ] interface ISearchContext : IUnknown { @@ -1370,7 +1504,7 @@ interface INewShortcutHookA : IUnknown [in] LPCSTR pcszReferent, [in] HWND hwnd); HRESULT GetReferent( - [out] LPCSTR pcszReferent, + [out] LPSTR pcszReferent, [in] int cchReferent); HRESULT SetFolder( [in] LPCSTR pcszReferent); @@ -1401,7 +1535,7 @@ interface INewShortcutHookW : IUnknown [in] LPCWSTR pcszReferent, [in] HWND hwnd); HRESULT GetReferent( - [out] LPCWSTR pcszReferent, + [out] LPWSTR pcszReferent, [in] int cchReferent); HRESULT SetFolder( [in] LPCWSTR pcszReferent); @@ -1422,7 +1556,8 @@ interface INewShortcutHookW : IUnknown [ object, uuid(85788d00-6807-11d0-b810-00c04fd706ec), - pointer_default(unique) + pointer_default(unique), + local ] interface IRunnableTask : IUnknown { @@ -1439,7 +1574,8 @@ interface IRunnableTask : IUnknown [ object, uuid(d82be2b1-5764-11d0-a96e-00c04fd705a2), - pointer_default(unique) + pointer_default(unique), + local ] interface IShellChangeNotify : IUnknown { @@ -1455,7 +1591,8 @@ interface IShellChangeNotify : IUnknown [ object, uuid(01e18d10-4d8b-11d2-855d-006008059367), - pointer_default(unique) + pointer_default(unique), + local ] interface IFileSystemBindData : IUnknown { @@ -1640,44 +1777,6 @@ interface IDeskBand : IDockingWindow [in, out] DESKBANDINFO* pdbi); } -cpp_quote("#if (NTDDI_VERSION >= NTDDI_LONGHORN)") - -/***************************************************************************** - * IDeskBandInfo interface - */ -[ - uuid(77E425FC-CBF9-4307-BA6A-BB5727745661), - object, -] -interface IDeskBandInfo : IUnknown -{ - HRESULT GetDefaultBandWidth( - [in] DWORD dwBandID, - [in] DWORD dwViewMode, - [out] int *pnWidth); -} - - -/***************************************************************************** - * IDeskBand2 interface - */ -[ - uuid(79D16DE4-ABEE-4021-8D9D-9169B261D657), - object, -] -interface IDeskBand2 : IDeskBand -{ - HRESULT CanRenderComposited([out] BOOL *pfCanRenderComposited); - - HRESULT SetCompositionState([in] BOOL fCompositionEnabled); - - HRESULT GetCompositionState([out] BOOL *pfCompositionEnabled); -} - -cpp_quote("#endif // NTDDI_LONGHORN") - - - cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE60)") [ @@ -1868,12 +1967,11 @@ interface IMenuBand : IUnknown interface IProfferService : IUnknown { HRESULT ProfferService( - [in] REFGUID rguidService, - [in] IServiceProvider *psp, - [out] DWORD *pdwCookie); - - HRESULT RevokeService( - [in] DWORD dwCookie); + [in] REFGUID service, + [in] IServiceProvider *pService, + [out] DWORD *pCookie); + + HRESULT RevokeService([in] DWORD cookie); } /***************************************************************************** @@ -2193,7 +2291,6 @@ interface ITravelLog : IUnknown HRESULT Revert(); }; - /***************************************************************************** * IShellService interface */ @@ -2719,3 +2816,153 @@ interface ITrackShellMenu : IShellMenu }; cpp_quote("#endif /* _WIN32_IE_IE60 */") + +/***************************************************************************** + * IAutoCompleteDropDown interface + */ +[ + object, + uuid(3CD141F4-3C6A-11d2-BCAA-00C04FD929DB), + pointer_default(unique) +] +interface IAutoCompleteDropDown : IUnknown +{ +cpp_quote("#define ACDD_VISIBLE 0x0001") + + HRESULT GetDropDownStatus( + [out] DWORD *pdwFlags, + [out, string] LPWSTR *ppwszString); + + HRESULT ResetEnumerator(); +} + +/***************************************************************************** + * IExplorerBrowserEvents interface + */ +[ + object, + uuid(361BBDC7-E6EE-4E13-BE58-58E2240C810F) +] +interface IExplorerBrowserEvents : IUnknown +{ + HRESULT OnNavigationPending( + [in] PCIDLIST_ABSOLUTE pidlFolder); + + HRESULT OnViewCreated( + [in] IShellView *psv); + + HRESULT OnNavigationComplete( + [in] PCIDLIST_ABSOLUTE pidlFolder); + + HRESULT OnNavigationFailed( + [in] PCIDLIST_ABSOLUTE pidlFolder); +} + +typedef GUID EXPLORERPANE; +typedef EXPLORERPANE *REFEXPLORERPANE; + +cpp_quote("#define SID_ExplorerPaneVisibility IID_IExplorerPaneVisibility") + +/***************************************************************************** + * IExplorerPaneVisibility interface + */ +[ + object, + uuid(E07010EC-BC17-44C0-97B0-46C7C95B9EDC) +] +interface IExplorerPaneVisibility : IUnknown +{ + typedef enum tagEXPLORERPANESTATE { + EPS_DONTCARE = 0x0, + EPS_DEFAULT_ON = 0x1, + EPS_DEFAULT_OFF = 0x2, + EPS_STATE_MASK = 0xffff, + EPS_INITIALSTATE = 0x10000, + EPS_FORCE = 0x20000 + } EXPLORERPANESTATE; + + HRESULT GetPaneState( + [in] REFEXPLORERPANE ep, + [out] EXPLORERPANESTATE *peps); +} + +typedef [v1_enum] enum tagEXPLORER_BROWSER_FILL_FLAGS { + EBF_NONE = 0, + EBF_SELECTFROMDATAOBJECT = 0x100, + EBF_NODROPTARGET = 0x200 +} EXPLORER_BROWSER_FILL_FLAGS; + +typedef [v1_enum] enum tagEXPLORER_BROWSER_OPTIONS { + EBO_NONE = 0x00, + EBO_NAVIGATEONCE = 0x01, + EBO_SHOWFRAMES = 0x02, + EBO_ALWAYSNAVIGATE = 0x04, + EBO_NOTRAVELLOG = 0x08, + EBO_NOWRAPPERWINDOW = 0x10, + EBO_HTMLSHAREPOINTVIEW = 0x20 +} EXPLORER_BROWSER_OPTIONS; + +cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser") + +/***************************************************************************** + * IExplorerBrowser interface + */ +[ + object, + uuid(DFD3B6B5-C10C-4BE9-85F6-A66969F402F6), + pointer_default(unique) +] +interface IExplorerBrowser : IUnknown +{ + + [local] HRESULT Initialize( + [in] HWND hwndParent, + [in] const RECT *prc, + [in, unique] const FOLDERSETTINGS *pfs); + + HRESULT Destroy(); + + [local] HRESULT SetRect( + [in,out,unique] HDWP *phdwp, + [in] RECT rcBrowser); + + HRESULT SetPropertyBag( + [in, string] LPCWSTR pszPropertyBag); + + HRESULT SetEmptyText( + [in, string] LPCWSTR pszEmptyText); + + HRESULT SetFolderSettings( + [in] const FOLDERSETTINGS *pfs); + + HRESULT Advise( + [in] IExplorerBrowserEvents *psbe, + [out] DWORD *pdwCookie); + + HRESULT Unadvise( + [in] DWORD dwCookie); + + HRESULT SetOptions( + [in] EXPLORER_BROWSER_OPTIONS dwFlag); + + HRESULT GetOptions( + [out] EXPLORER_BROWSER_OPTIONS *pdwFlag); + + HRESULT BrowseToIDList( + [in] PCUIDLIST_RELATIVE pidl, + [in] UINT uFlags); + + HRESULT BrowseToObject( + [in] IUnknown *punk, + [in] UINT uFlags); + + HRESULT FillFromObject( + [in] IUnknown *punk, + [in] EXPLORER_BROWSER_FILL_FLAGS dwFlags); + + HRESULT RemoveAll(); + + HRESULT GetCurrentView( + [in] REFIID riid, + [out, iid_is(riid)] IUnknown **ppv); +} diff --git a/reactos/include/psdk/shtypes.idl b/reactos/include/psdk/shtypes.idl index 021d4671251..41aa236150a 100644 --- a/reactos/include/psdk/shtypes.idl +++ b/reactos/include/psdk/shtypes.idl @@ -35,8 +35,12 @@ typedef struct _ITEMIDLIST } ITEMIDLIST,*LPITEMIDLIST; typedef const ITEMIDLIST *LPCITEMIDLIST; typedef LPITEMIDLIST PITEMID_CHILD; +typedef const PITEMID_CHILD PCITEMID_CHILD; typedef LPCITEMIDLIST PCUITEMID_CHILD; typedef LPCITEMIDLIST *PCUITEMID_CHILD_ARRAY; +typedef LPCITEMIDLIST PCUIDLIST_RELATIVE; +typedef LPITEMIDLIST PIDLIST_ABSOLUTE; +typedef LPCITEMIDLIST PCIDLIST_ABSOLUTE; cpp_quote("#include ") #ifndef MAX_PATH diff --git a/reactos/include/psdk/structuredquerycondition.idl b/reactos/include/psdk/structuredquerycondition.idl new file mode 100644 index 00000000000..8eb4d51ce87 --- /dev/null +++ b/reactos/include/psdk/structuredquerycondition.idl @@ -0,0 +1,53 @@ +/* + * structured query condition + * + * Copyright 2009 Maarten Lankhorst + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + + +import "oaidl.idl"; +import "ocidl.idl"; +import "objidl.idl"; +import "propidl.idl"; + +typedef [v1_enum] enum tagCONDITION_TYPE +{ + CT_AND_CONDITION, + CT_OR_CONDITION, + CT_NOT_CONDITION, + CT_LEAF_CONDITION +} CONDITION_TYPE; + +typedef [v1_enum] enum tagCONDITION_OPERATION +{ + COP_IMPLICIT, + COP_EQUAL, + COP_NOTEQUAL, + COP_LESSTHAN, + COP_GREATERTHAN, + COP_LESSTHANOREQUAL, + COP_GREATERTHANOREQUAL, + COP_VALUE_STARTSWITH, + COP_VALUE_ENDSWITH, + COP_VALUE_CONTAINS, + COP_VALUE_NOTCONTAINS, + COP_DOSWILDCARDS, + COP_WORD_EQUAL, + COP_WORD_STARTSWITH, + COP_APPLICATION_SPECIFIC +} CONDITION_OPERATION; diff --git a/reactos/include/psdk/vmr9.idl b/reactos/include/psdk/vmr9.idl new file mode 100644 index 00000000000..bb3681cd22d --- /dev/null +++ b/reactos/include/psdk/vmr9.idl @@ -0,0 +1,524 @@ +/* + * Copyright 2008 Maarten Lankhorst + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "unknwn.idl"; + +cpp_quote("#if 0") +interface IDirect3DSurface9; +interface IDirect3DDevice9; +typedef LONGLONG REFERENCE_TIME; +typedef DWORD D3DFORMAT; +typedef DWORD D3DPOOL; +typedef HANDLE HMONITOR; +typedef struct { char dummy; } AM_MEDIA_TYPE; +typedef struct { char dummy; } D3DCOLOR; +cpp_quote("#endif") + +interface IVMRSurface9; +interface IVMRSurfaceAllocator9; +interface IVMRSurfaceAllocatorEx9; +interface IVMRSurfaceAllocatorNotify9; +interface IVMRImagePresenter9; +interface IVMRImagePresenterConfig9; +interface IVMRMonitorConfig9; +interface IVMRWindowlessControl9; +interface IVMRMixerControl9; +interface IVMRImageCompositor9; +interface IVMRMixerBitmap9; +interface IVMRFilterConfig9; +interface IVMRAspectRatioControl9; +interface IVMRVideoStreamControl9; + +typedef enum _VMR9PresentationFlags +{ + VMR9Sample_SyncPoint = 0x1, + VMR9Sample_Preroll = 0x2, + VMR9Sample_Discontinuity = 0x4, + VMR9Sample_TimeValid = 0x8, + VMR9Sample_SrcDstRectsValid = 0x10 +} VMR9PresentationFlags; + +typedef struct _VMR9PresentationInfo +{ + DWORD dwFlags; /* Flags defined above */ + IDirect3DSurface9 *lpSurf; + REFERENCE_TIME rtStart; + REFERENCE_TIME rtEnd; + SIZE szAspectRatio; + RECT rcSrc; + RECT rcDst; + DWORD dwReserved1; + DWORD dwReserved2; +} VMR9PresentationInfo; + +[ + local, + object, + uuid(69188c61-12a3-40f0-8ffc-342e7b433fd7), + helpstring("IVMRImagePresenter9 interface"), + pointer_default(unique) +] +interface IVMRImagePresenter9 : IUnknown +{ + HRESULT StartPresenting([in] DWORD_PTR id); + HRESULT StopPresenting([in] DWORD_PTR id); + HRESULT PresentImage([in] DWORD_PTR id, [in] VMR9PresentationInfo *info); +}; + +typedef enum _VMR9SurfaceAllocationFlags +{ + VMR9AllocFlag_3DRenderTarget = 0x1, + VMR9AllocFlag_DXVATarget = 0x2, + VMR9AllocFlag_TextureSurface = 0x4, + VMR9AllocFlag_OffscreenSurface = 0x8, + VMR9AllocFlag_RGBDynamicSwitch = 0x10, + VMR9AllocFlag_UsageReserved = 0xe0, + VMR9AllocFlag_UsageMask = 0xff, +} VMR9SurfaceAllocationFlags; + +typedef struct _VMR9AllocationInfo +{ + DWORD dwFlags; /* Flags defined above */ + DWORD dwWidth; + DWORD dwHeight; + D3DFORMAT Format; + D3DPOOL Pool; + DWORD MinBuffers; + SIZE szAspectRatio; + SIZE szNativeSize; +} VMR9AllocationInfo; + +[ + local, + object, + uuid(8d5148ea-3f5d-46cf-9df1-d1b896eedb1f), + helpstring("IVMRSurfaceAllocator9 interface"), + pointer_default(unique) +] +interface IVMRSurfaceAllocator9 : IUnknown +{ + HRESULT InitializeDevice([in] DWORD_PTR id, [in] VMR9AllocationInfo *allocinfo, [in, out] DWORD *numbuffers); + HRESULT TerminateDevice([in] DWORD_PTR id); + HRESULT GetSurface([in] DWORD_PTR id, [in] DWORD surfaceindex, [in] DWORD flags, [out] IDirect3DSurface9 **surface); + HRESULT AdviseNotify([in] IVMRSurfaceAllocatorNotify9 *allocnotify); +}; + +[ + local, + object, + uuid(6de9a68a-a928-4522-bf57-655ae3866456), + helpstring("IVMRSurfaceAllocatorEx9 interface"), + pointer_default(unique) +] +interface IVMRSurfaceAllocatorEx9 : IVMRSurfaceAllocator9 +{ + HRESULT GetSurfaceEx([in] DWORD_PTR id, [in] DWORD surfaceindex, [in] DWORD flags, [out] IDirect3DSurface9 **surface, [out] RECT *dest); +}; + +[ + local, + object, + uuid(dca3f5df-bb3a-4d03-bd81-84614bfbfa0c), + helpstring("IVMRSurfaceAllocatorNotify9 interface"), + pointer_default(unique) +] +interface IVMRSurfaceAllocatorNotify9 : IUnknown +{ + HRESULT AdviseSurfaceAllocator([in] DWORD_PTR id, [in] IVMRSurfaceAllocator9 *alloc); + HRESULT SetD3DDevice([in] IDirect3DDevice9 *device, [in] HMONITOR monitor); + HRESULT ChangeD3DDevice([in] IDirect3DDevice9 *device, [in] HMONITOR monitor); + HRESULT AllocateSurfaceHelper([in] VMR9AllocationInfo *allocinfo, [in, out] DWORD *numbuffers, [out] IDirect3DSurface9 **surface); + HRESULT NotifyEvent([in] LONG code, [in] LONG_PTR param1, [in] LONG_PTR param2); +}; + +typedef enum _VMR9AspectRatioMode +{ + VMR9ARMode_None, + VMR9ARMode_LetterBox +} VMR9AspectRatioMode; + +[ + local, + object, + uuid(8f537d09-f85e-4414-b23b-502e54c79927), + helpstring("IVMRWindowlessControl interface"), + pointer_default(unique) +] +interface IVMRWindowlessControl9 : IUnknown +{ + HRESULT GetNativeVideoSize([out] LONG *width, [out] LONG *height, [out] LONG *arwidth, [out] LONG *arheight); + HRESULT GetMinIdealVideoSize([out] LONG *width, [out] LONG *height); + HRESULT GetMaxIdealVideoSize([out] LONG *width, [out] LONG *height); + HRESULT SetVideoPosition([in] const RECT *source, [in] const RECT *dest); + HRESULT GetVideoPosition([out] RECT *source, [out] RECT *dest); + HRESULT GetAspectRatioMode([out] DWORD *mode); + HRESULT SetAspectRatioMode([in] DWORD mode); + HRESULT SetVideoClippingWindow([in] HWND hwnd); + HRESULT RepaintVideo([in] HWND hwnd, [in] HDC hdc); + HRESULT DisplayModeChanged(); + HRESULT GetCurrentImage([out] BYTE **dib); + HRESULT SetBorderColor([in] COLORREF color); + HRESULT GetBorderColor([out] COLORREF *color); +}; + +typedef enum _VMR9MixerPrefs +{ + /* Decimation */ + MixerPref9_NoDecimation = 0x1, + MixerPref9_DecimateOutput = 0x2, + MixerPref9_ARAdjustXorY = 0x4, + MixerPref9_NonSquareMixing = 0x8, + MixerPref9_DecimateMask = 0xf, + + /* Filtering */ + MixerPref9_BiLinearFiltering = 0x10, + MixerPref9_PointFiltering = 0x20, + MixerPref9_AnisotropicFiltering = 0x40, + MixerPref9_PyramidalQuadFiltering = 0x80, + MixerPref9_GaussianQuadFiltering = 0x100, + MixerPref9_FilteringReserved = 0xe00, + MixerPref9_FilteringMask = 0xff0, + + /* Render target */ + MixerPref9_RenderTargetRGB = 0x1000, + MixerPref9_RenderTargetYUV = 0x2000, + MixerPref9_RenderTargetReserved = 0xfc000, + + MixerPref9_DynamicSwitchToBOB = 0x100000, + MixerPref9_DynamicDecimateBy2 = 0x200000, + MixerPref9_DynamicReserved = 0xc00000, + MixerPref9_DynamicMask = 0xf00000, +} VMR9MixerPrefs; + +typedef struct _VMR9NormalizedRect +{ + FLOAT left; + FLOAT top; + FLOAT right; + FLOAT bottom; +} VMR9NormalizedRect; + +typedef enum _VMR9ProcAmpControlFlags +{ + ProcAmpControl9_Brightness = 0x1, + ProcAmpControl9_Contrast = 0x2, + ProcAmpControl9_Hue = 0x4, + ProcAmpControl9_Saturation = 0x8, + ProcAmpControl9_Mask = 0xf +} VMR9ProcAmpControlFlags; + +typedef struct _VMR9ProcAmpControl +{ + DWORD dwSize; + DWORD dwFlags; + FLOAT Brightness; + FLOAT Contrast; + FLOAT Hue; + FLOAT Saturation; +} VMR9ProcAmpControl; + +typedef struct _VMR9ProcAmpControlRange +{ + DWORD dwSize; + VMR9ProcAmpControlFlags dwProperty; + FLOAT MinValue; + FLOAT MaxValue; + FLOAT DefaultValue; + FLOAT StepSize; +} VMR9ProcAmpControlRange; + +[ + local, + object, + uuid(1a777eaa-47c8-4930-b2c9-8fee1c1b0f3b), + helpstring("IVMRMixerControl9 interface"), + pointer_default(unique) +] +interface IVMRMixerControl9 : IUnknown +{ + HRESULT SetAlpha([in] DWORD streamid, [in] FLOAT alpha); + HRESULT GetAlpha([in] DWORD streamid, [out] FLOAT *alpha); + HRESULT SetZOrder([in] DWORD streamid, [in] DWORD zorder); + HRESULT GetZOrder([in] DWORD streamid, [out] DWORD *zorder); + HRESULT SetOutputRect([in] DWORD streamid, [in] const VMR9NormalizedRect *rect); + HRESULT GetOutputRect([in] DWORD streamid, [out] VMR9NormalizedRect *rect); + HRESULT SetBackgroundClr([in] COLORREF back); + HRESULT GetBackgroundClr([out] COLORREF *back); + HRESULT SetMixingPrefs([in] DWORD mixingprefs); + HRESULT GetMixingPrefs([out] DWORD *mixingprefs); + HRESULT SetProcAmpControl([in] DWORD streamid, [in] VMR9ProcAmpControl *control); + HRESULT GetProcAmpControl([in] DWORD streamid, [in, out] VMR9ProcAmpControl *control); + HRESULT GetProcAmpControlRange([in] DWORD streamid, [in, out] VMR9ProcAmpControlRange *controlrange); +}; + +typedef struct _VMR9AlphaBitmap +{ + DWORD dwFlags; + HDC hdc; + IDirect3DSurface9 *pDDS; + RECT rSrc; + VMR9NormalizedRect *rDest; + FLOAT fAlpha; + COLORREF clrSrcKey; + DWORD dwFilterMode; +} VMR9AlphaBitmap; + +typedef enum _VMR9AlphaBitmapFlags +{ + VMR9AlphaBitmap_Disable = 0x1, + VMR9AlphaBitmap_hDC = 0x2, + VMR9AlphaBitmap_EntireDDS = 0x4, + VMR9AlphaBitmap_SrcColorKey = 0x8, + VMR9AlphaBitmap_SrcRect = 0x10, + VMR9AlphaBitmap_FilterMode = 0x20 +} VMR9AlphaBitmapFlags; + +[ + local, + object, + uuid(ced175e5-1935-4820-81bd-ff6ad00c9108), + helpstring("IVMRMixerBitmap interface"), + pointer_default(unique) +] +interface IVMRMixerBitmap9 : IUnknown +{ + HRESULT SetAlphaBitmap([in] const VMR9AlphaBitmap *bitmap); + HRESULT UpdateAlphaBitmapParameters([in] const VMR9AlphaBitmap *bitmap); + HRESULT GetAlphaBitmapParameters([out] VMR9AlphaBitmap *bitmap); +}; + +[ + local, + object, + uuid(dfc581a1-6e1f-4c3a-8d0a-5e9792ea2afc), + helpstring("IVMRSurface interface"), + pointer_default(unique) +] +interface IVMRSurface9 : IUnknown +{ + HRESULT IsSurfaceLocked(); + HRESULT LockSurface([out] BYTE **surface); + HRESULT UnlockSurface(); + HRESULT GetSurface([out] IDirect3DSurface9 **surface); +}; + +typedef enum _VMR9RenderPrefs +{ + RenderPrefs9_DoNotRenderBorder = 0x1, + RenderPrefs9_Mask = 0x1 +} VMR9RenderPrefs; + +[ + local, + object, + uuid(45c15cab-6e22-420a-8043-ae1f0ac02c7d), + helpstring("IVMRImagePresenterConfig9 interface"), + pointer_default(unique) +] +interface IVMRImagePresenterConfig9 : IUnknown +{ + HRESULT SetRenderingPrefs([in] DWORD renderflags); + HRESULT GetRenderingPrefs([out] DWORD *renderflags); +}; + +[ + local, + object, + uuid(d0cfe38b-93e7-4772-8957-0400c49a4485), + helpstring("IVMRMixerStreamConfig interface"), + pointer_default(unique) +] +interface IVMRVideoStreamControl9: IUnknown +{ + HRESULT SetStreamActiveState([in] BOOL active); + HRESULT GetStreamActiveState([out] BOOL *active); +}; + +typedef enum _VMR9Mode +{ + VMR9Mode_Windowed = 0x1, + VMR9Mode_Windowless = 0x2, + VMR9Mode_Renderless = 0x4, + VMR9Mode_Mask = 0x7 +} VMR9Mode; + +[ + local, + object, + uuid(5a804648-4f66-4867-9c43-4f5c822cf1b8), + helpstring("IVMRFilterConfig9 interface"), + pointer_default(unique) +] +interface IVMRFilterConfig9 : IUnknown +{ + HRESULT SetImageCompositor([in] IVMRImageCompositor9 *compositor); + HRESULT SetNumberOfStreams([in] DWORD max); + HRESULT GetNumberOfStreams([out] DWORD *max); + HRESULT SetRenderingPrefs([in] DWORD renderflags); + HRESULT GetRenderingPrefs([out] DWORD *renderflags); + HRESULT SetRenderingMode([in] DWORD mode); + HRESULT GetRenderingMode([out] DWORD *mode); +}; + +[ + local, + object, + uuid(00d96c29-bbde-4efc-9901-bb5036392146), + helpstring("IVMRAspectRatioControl9 interface"), + pointer_default(unique) +] +interface IVMRAspectRatioControl9 : IUnknown +{ + HRESULT GetAspectRatioMode([out] DWORD *mode); + HRESULT SetAspectRatioMode([in] DWORD mode); +} + +#define VMR9DEVICENAMELEN 32 +#define VMR9DEVICEDESCRIPTIONLEN 512 + +typedef struct _VMR9MonitorInfo +{ + UINT uDevID; + RECT rcMonitor; + HMONITOR hMon; + DWORD dwFlags; + WCHAR szDevice[VMR9DEVICENAMELEN]; + WCHAR szDescription[VMR9DEVICEDESCRIPTIONLEN]; + LARGE_INTEGER liDriverVersion; + DWORD dwVendorId; + DWORD dwDeviceId; + DWORD dwSubSysId; + DWORD dwRevision; +} VMR9MonitorInfo; + +[ + local, + object, + uuid(46c2e457-8ba0-4eef-b80b-0680f0978749), + helpstring("IVMRMonitorConfig9 interface"), + pointer_default(unique) +] +interface IVMRMonitorConfig9 : IUnknown +{ + HRESULT SetMonitor([in] UINT uDev); + HRESULT GetMonitor([out] UINT *uDev); + HRESULT SetDefaultMonitor([in] UINT uDev); + HRESULT GetDefaultMonitor([out] UINT *uDev); + HRESULT GetAvailableMonitors([out, size_is(arraysize)] VMR9MonitorInfo *info, [in] DWORD arraysize, [out] DWORD *numdev); +}; + +typedef enum _VMR9DeinterlacePrefs +{ + DeinterlacePref9_NextBest = 0x1, + DeinterlacePref9_BOB = 0x2, + DeinterlacePref9_Weave = 0x4, + DeinterlacePref9_Mask = 0x7 +} VMR9DeinterlacePrefs; + +typedef enum _VMR9DeinterlaceTech +{ + DeinterlaceTech9_Unknown = 0, + DeinterlaceTech9_BOBLineReplicate = 0x1, + DeinterlaceTech9_BOBVerticalStretch = 0x2, + DeinterlaceTech9_MedianFiltering = 0x4, + DeinterlaceTech9_EdgeFiltering = 0x10, + DeinterlaceTech9_FieldAdaptive = 0x20, + DeinterlaceTech9_PixelAdaptive = 0x40, + DeinterlaceTech9_MotionVectorSteered = 0x80 +} VMR9DeinterlaceTech; + +typedef struct _VMR9Frequency +{ + DWORD dwNumerator; + DWORD dwDenominator; +} VMR9Frequency; + +typedef enum _VMR9_SampleFormat +{ + VMR9_SampleReserved = 1, + VMR9_SampleProgressiveFrame = 2, + VMR9_SampleFieldInterleavedEvenFirst = 3, + VMR9_SampleFieldInterleavedOddFirst = 4, + VMR9_SampleFieldSingleEven = 5, + VMR9_SampleFieldSingleOdd = 6, +} VMR9_SampleFormat; + +typedef struct _VMR9VideoDesc +{ + DWORD dwSize; + DWORD dwSampleWidth; + DWORD dwSampleHeight; + VMR9_SampleFormat SampleFormat; + DWORD dwFourCC; + VMR9Frequency InputSampleFreq; + VMR9Frequency OutputFrameFreq; +} VMR9VideoDesc; + +typedef struct _VMR9DeinterlaceCaps { + DWORD dwSize; + DWORD dwNumPreviousOutputFrames; + DWORD dwNumForwardRefSamples; + DWORD dwNumBackwardRefSamples; + VMR9DeinterlaceTech DeinterlaceTechnology; +} VMR9DeinterlaceCaps; + +[ + local, + object, + uuid(a215fb8d-13c2-4f7f-993c-003d6271a459), + helpstring("IVMRDeinterlaceControl9 interface"), + pointer_default(unique) +] +interface IVMRDeinterlaceControl9 : IUnknown +{ + HRESULT GetNumberOfDeinterlaceModes([in] VMR9VideoDesc *desc, [in, out] DWORD *nummodes, [out] GUID *modes); + HRESULT GetDeinterlaceModeCaps([in] GUID *mode, [in] VMR9VideoDesc *desc, [out] VMR9DeinterlaceCaps *caps); + HRESULT GetDeinterlaceMode([in] DWORD streamid, [out] GUID *mode); + HRESULT SetDeinterlaceMode([in] DWORD streamid, [in] GUID *mode); + HRESULT GetDeinterlacePrefs([out] DWORD *prefs); + HRESULT SetDeinterlacePrefs([in] DWORD prefs); + HRESULT GetActualDeinterlaceMode([in] DWORD streamid, [out] GUID *mode); +}; + +typedef struct _VMR9VideoStreamInfo { + IDirect3DSurface9 *pddsVideoSurface; + DWORD dwWidth; + DWORD dwHeight; + DWORD dwStrmID; + FLOAT fAlpha; + VMR9NormalizedRect rNormal; + REFERENCE_TIME rtStart; + REFERENCE_TIME rtEnd; + VMR9_SampleFormat SampleFormat; +} VMR9VideoStreamInfo; + +[ + local, + object, + uuid(4a5c89eb-df51-4654-ac2a-e48e02bbabf6), + helpstring("IVMRImageCompositor9 interface"), + pointer_default(unique) +] +interface IVMRImageCompositor9 : IUnknown +{ + HRESULT InitCompositionDevice([in] IUnknown *d3ddev); + HRESULT TermCompositionDevice([in] IUnknown *d3ddev); + HRESULT CompositeImage([in] IUnknown *d3ddev, [in] IDirect3DSurface9 *d3dtarget, [in] AM_MEDIA_TYPE *mttarget, + [in] REFERENCE_TIME start, [in] REFERENCE_TIME stop, D3DCOLOR back, + [in] VMR9VideoStreamInfo *info, [in] UINT streams); +}; diff --git a/reactos/include/psdk/vmrender.idl b/reactos/include/psdk/vmrender.idl new file mode 100644 index 00000000000..3c3fd7bd309 --- /dev/null +++ b/reactos/include/psdk/vmrender.idl @@ -0,0 +1,481 @@ +/* + * Copyright (C) 2008 Maarten Lankhorst + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +cpp_quote("#if 0") +typedef DWORD IDirectDrawSurface7; +typedef DWORD IDirectDraw7; +typedef DWORD *LPBITMAPINFOHEADER; +typedef DWORD *LPDDPIXELFORMAT; +typedef struct { DWORD dw1, dw2; } DDCOLORKEY; +cpp_quote("#endif") +cpp_quote("#include ") + +interface IVMRSurface; +interface IVMRSurfaceAllocator; +interface IVMRSurfaceAllocatorNotify; +interface IVMRImagePresenter; +interface IVMRImagePresenterNotify; +interface IVMRWindowlessControl; +interface IVMRMixerControl; +interface IVMRMixerBitmap; +interface IVMRFilterConfig; +interface IVMRAspectRatioControl; +interface IVMRDeinterlaceControl; +interface IVMRMonitorConfig; +interface IVMRImageCompositor; +interface IVMRVideoStreamControl; + +typedef enum _VMRPresentationFlags +{ + VMRSample_SyncPoint = 0x01, + VMRSample_Preroll = 0x02, + VMRSample_Discontinuity = 0x04, + VMRSample_TimeValid = 0x08, + VMRSample_SrcDstRectsValid = 0x10 +} VMRPresentationFlags; + +typedef struct tagVMRPRESENTATIONINFO +{ + DWORD dwFlags; + IDirectDrawSurface7 *lpSurf; + REFERENCE_TIME rtStart, rtEnd; + SIZE szAspectRatio; + RECT rcSrc, rcDst; + DWORD dwTypeSpecificFlags; + DWORD dwInterlaceFlags; +} VMRPRESENTATIONINFO; + +[ + local, + object, + uuid(ce704fe7-e71e-41fb-baa2-c4403e1182f5), + helpstring("IVMRImagePresenter interface"), + pointer_default(unique) +] +interface IVMRImagePresenter : IUnknown +{ + HRESULT StartPresenting([in] DWORD_PTR id); + HRESULT StopPresenting([in] DWORD_PTR id); + HRESULT PresentImage([in] DWORD_PTR id, [in] VMRPRESENTATIONINFO *info); +}; + +typedef enum _VMRSurfaceAllocationFlags +{ + AMAP_PIXELFORMAT_VALID = 0x01, + AMAP_3D_TARGET = 0x02, + AMAP_ALLOW_SYSMEM = 0x04, + AMAP_FORCE_SYSMEM = 0x08, + AMAP_DIRECTED_FLIP = 0x10, + AMAP_DXVA_TARGET = 0x20 +} VMRSurfaceAllocationFlags; + +typedef struct tagVMRALLOCATIONINFO +{ + DWORD dwFlags; + LPBITMAPINFOHEADER lpHdr; + LPDDPIXELFORMAT lpPixFmt; + SIZE szAspectRatio; + DWORD dwMinBuffers; + DWORD dwMaxBuffers; + DWORD dwInterlaceFlags; + SIZE szNativeSize; +} VMRALLOCATIONINFO; + +[ + local, + object, + uuid(31ce832e-4484-458b-8cca-f4d7e3db0b52), + helpstring("IVMRSurfaceAllocator interface"), + pointer_default(unique) +] +interface IVMRSurfaceAllocator : IUnknown +{ + HRESULT AllocateSurface([in] DWORD_PTR id, [in] VMRALLOCATIONINFO *allocinfo, [in, out] DWORD *buffers, IDirectDrawSurface7 **surface); + HRESULT FreeSurface([in] DWORD_PTR id); + HRESULT PrepareSurface([in] DWORD_PTR id, [in] IDirectDrawSurface7 *surface, [in] DWORD dwSurfaceFlags); + HRESULT AdviseNotify([in] IVMRSurfaceAllocatorNotify *notify); +}; + +[ + local, + object, + uuid(aada05a8-5a4e-4729-af0b-cea27aed51e2), + helpstring("IVMRSurfaceAllocatorNotify interface"), + pointer_default(unique) +] +interface IVMRSurfaceAllocatorNotify : IUnknown +{ + HRESULT AdviseSurfaceAllocator([in] DWORD_PTR id, [in] IVMRSurfaceAllocator *allocator); + HRESULT SetDDrawDevice([in] IDirectDraw7 *device, [in] HMONITOR monitor); + HRESULT ChangeDDrawDevice([in] IDirectDraw7 *device, [in] HMONITOR monitor); + HRESULT RestoreDDrawSurfaces(); + HRESULT NotifyEvent([in] LONG EventCode, [in] LONG_PTR p1, [in] LONG_PTR p2); + HRESULT SetBorderColor([in] COLORREF border); +}; + +typedef enum _VMR_ASPECT_RATIO_MODE +{ + VMR_ARMODE_NONE, + VMR_ARMODE_LETTER_BOX +} VMR_ASPECT_RATIO_MODE; + +[ + local, + object, + uuid(0eb1088c-4dcd-46f0-878f-39dae86a51b7), + helpstring("IVMRWindowlessControl interface"), + pointer_default(unique) +] +interface IVMRWindowlessControl : IUnknown +{ + HRESULT GetNativeVideoSize([out] LONG *width, [out] LONG *height, [out] LONG *ar_width, [out] LONG *ar_height); + HRESULT GetMinIdealVideoSize([out] LONG *width, [out] LONG *height); + HRESULT GetMaxIdealVideoSize([out] LONG *width, [out] LONG *height); + HRESULT SetVideoPosition([in] const RECT *src_rect, [in] const RECT *dst_rect); + HRESULT GetVideoPosition([out] RECT *src_rect, [out] RECT *dst_rect); + HRESULT GetAspectRatioMode([out] DWORD *mode); + HRESULT SetAspectRatioMode([in] DWORD mode); + HRESULT SetVideoClippingWindow([in] HWND hwnd); + HRESULT RepaintVideo([in] HWND hwnd, [in] HDC hdc); + HRESULT DisplayModeChanged(); + HRESULT GetCurrentImage([out] BYTE **data); + HRESULT SetBorderColor([in] COLORREF border); + HRESULT GetBorderColor([out] COLORREF *border); + HRESULT SetColorKey([in] COLORREF key); + HRESULT GetColorKey([out] COLORREF *key); +}; + +typedef enum _VMRMixerPrefs +{ + MixerPref_NoDecimation = 0x0001, + MixerPref_DecimateOutput = 0x0002, + MixerPref_ARAdjustXorY = 0x0004, + MixerPref_DecimationReserved = 0x0008, + MixerPref_DecimateMask = 0x000f, + + MixerPref_BiLinearFiltering = 0x0010, + MixerPref_PointFiltering = 0x0020, + MixerPref_FinteringMask = 0x00f0, + + MixerPref_RenderTargetRGB = 0x0100, + MixerPref_RenderTargetYUV = 0x1000, + MixerPref_RenderTargetYUV420 = 0x0200, + MixerPref_RenderTargetYUV422 = 0x0400, + MixerPref_RenderTargetYUV444 = 0x0800, + MixerPref_RenderTargetReserved = 0xe000, + MixerPref_RenderTargetMask = 0xff00, + + MixerPref_DynamicSwitchToBOB = 0x10000, + MixerPref_DynamicDecimateBy2 = 0x20000, + MixerPref_DynamicReserved = 0xc0000, + MixerPref_DynamicMask = 0xf0000 +} VMRMixerPrefs; + +typedef struct _NORMALIZEDRECT +{ + FLOAT left, top, right, bottom; +} NORMALIZEDRECT; + +[ + local, + object, + uuid(1c1a17b0-bed0-415d-974b-dc6696131599), + helpstring("IVMRMixerControl interface"), + pointer_default(unique) +] +interface IVMRMixerControl : IUnknown +{ + HRESULT SetAlpha([in] DWORD id, [in] FLOAT alpha); + HRESULT GetAlpha([in] DWORD id, [out] FLOAT *alpha); + HRESULT SetZOrder([in] DWORD id, [in] DWORD z); + HRESULT GetZOrder([in] DWORD id, [out] DWORD *z); + HRESULT SetOutputRect([in] DWORD id, [in] const NORMALIZEDRECT *rect); + HRESULT SetBackgroundClr([in] COLORREF background); + HRESULT GetBackgroundClr([out] COLORREF *background); + HRESULT SetMixingPrefs([in] DWORD prefs); + HRESULT GetMixingPrefs([out] DWORD *prefs); +}; + +typedef struct tagVMRGUID +{ + struct _GUID *pGUID, GUID; +} VMRGUID; + +#define VMRDEVICENAMELEN 32 +#define VMRDEVICEDESCRIPTIONLEN 256 + +typedef struct tagVMRMONITORINFO +{ + VMRGUID guid; + RECT rcMonitor; + HMONITOR hMon; + DWORD dwFlags; + WCHAR szDevice[VMRDEVICENAMELEN]; + WCHAR szDescription[VMRDEVICEDESCRIPTIONLEN]; + LARGE_INTEGER liDriverVersion; + DWORD dwVendorId; + DWORD dwDeviceId; + DWORD dwSubSysId; + DWORD dwRevision; +} VMRMONITORINFO; + +[ + local, + object, + uuid(9cf0b1b6-fbaa-4b7f-88cf-cf1f130a0dce), + helpstring("IVMRMonitorConfig interface"), + pointer_default(unique) +] +interface IVMRMonitorConfig : IUnknown +{ + HRESULT SetMonitor([in] const VMRGUID *vmrguid); + HRESULT GetMonitor([out] VMRGUID *vmrguid); + HRESULT SetDefaultMonitor([in] const VMRGUID *vmrguid); + HRESULT GetDefaultMonitor([out] VMRGUID *vmrguid); + HRESULT GetAvailableMonitors([out, size_is(array_size)] VMRMONITORINFO *info, [in] DWORD array_size, [out] DWORD *retrieved); +} + +typedef enum _VMRRenderPrefs +{ + RenderPrefs_RestrictToInitialMonitor = 0x00, + RenderPrefs_ForceOffScreen = 0x01, + RenderPrefs_ForceOverlays = 0x02, + RenderPrefs_AllowOverlays = 0x00, + RenderPrefs_AllowOffscreen = 0x00, + RenderPrefs_DoNotRenderColorKeyAndBorder = 0x08, + RenderPrefs_Reserved = 0x10, + RenderPrefs_PreferAGPMemWhenMixing = 0x20, + RenderPrefs_Mask = 0x3f +} VMRRenderPrefs; + +typedef enum _VMRMode +{ + VMRMode_Windowed = 0x1, + VMRMode_Windowless = 0x2, + VMRMode_Renderless = 0x4, + VMRMode_Mask = 0x7 +} VMRMode; + +enum { MAX_NUMBER_OF_STREAMS = 16 }; + +[ + local, + object, + uuid(9e5530c5-7034-48b4-bb46-0b8a6efc8e36), + helpstring("IVMRFilterConfig interface"), + pointer_default(unique) +] +interface IVMRFilterConfig : IUnknown +{ + HRESULT SetImageCompositor([in] IVMRImageCompositor *compositor); + HRESULT SetNumberOfStreams([in] DWORD streams); + HRESULT GetNumberOfStreams([out] DWORD *streams); + HRESULT SetRenderingPrefs([in] DWORD prefs); + HRESULT GetRenderingPrefs([out] DWORD *prefs); + HRESULT SetRenderingMode([in] DWORD mode); + HRESULT GetRenderingMode([out] DWORD *mode); +}; + +[ + local, + object, + uuid(ede80b5c-bad6-4623-b537-65586c9f8dfd), + helpstring("IVMRAspectRatioControl interface"), + pointer_default(unique) +] +interface IVMRAspectRatioControl : IUnknown +{ + HRESULT GetAspectRatioMode([out] DWORD *armode); + HRESULT SetAspectRatioMode([in] DWORD armode); +}; + +typedef enum _VMRDeinterlacePrefs +{ + DeinterlacePref_NextBest = 0x1, + DeinterlacePref_BOB = 0x2, + DeinterlacePref_Weave = 0x4, + DeinterlacePref_Mask = 0x7 +} VMRDeinterlacePrefs; + +typedef enum _VMRDeinterlaceTech +{ + DeinterlaceTech_Unknown = 0x00, + DeinterlaceTech_BOBLineReplicate = 0x01, + DeinterlaceTech_BOBVerticalStretch = 0x02, + DeinterlaceTech_MedianFiltering = 0x04, + DeinterlaceTech_EdgeFiltering = 0x08, + DeinterlaceTech_FieldAdaptive = 0x10, + DeinterlaceTech_PixelAdaptive = 0x20, + DeinterlaceTech_MotionVectorSteered = 0x80 +} VMRDeinterlaceTech; + +typedef struct _VMRFrequency +{ + DWORD dwNumerator, dwDenominator; +} VMRFrequency; + +typedef struct _VMRVideoDesc +{ + DWORD dwSize; + DWORD dwSampleWidth; + DWORD dwSampleHeight; + BOOL SingleFieldPerSample; + DWORD dwFourCC; + VMRFrequency InputSampleFreq; + VMRFrequency OutputFrameFreq; +} VMRVideoDesc; + +typedef struct _VMRDeinterlaceCaps +{ + DWORD dwSize; + DWORD dwNumPreviousOutputFrames; + DWORD dwNumForwardRefSamples; + DWORD dwNumBackwardRefSamples; + VMRDeinterlaceTech DeinterlaceTechnology; +} VMRDeinterlaceCaps; + +[ + local, + object, + uuid(bb057577-0db8-4e6a-87a7-1a8c9a505a0f), + helpstring("IVMRDeinterlaceControl interface"), + pointer_default(unique) +] +interface IVMRDeinterlaceControl : IUnknown +{ + HRESULT GetNumberOfDeinterlaceModes([in] VMRVideoDesc *desc, [in, out] DWORD *num_modes, [out] GUID *modes); + HRESULT GetDeinterlaceModeCaps([in] GUID *mode, [in] VMRVideoDesc *desc, [in, out] VMRDeinterlaceCaps *caps); + HRESULT GetDeinterlaceMode([in] DWORD id, [out] GUID *mode); + HRESULT SetDeinterlaceMode([in] DWORD id, [in] GUID *mode); + HRESULT GetDeinterlacePrefs([out] DWORD *prefs); + HRESULT SetDeinterlacePrefs([in] DWORD prefs); + HRESULT GetActualDeinterlaceMode([in] DWORD id, [out] GUID *mode); +}; + +typedef struct _VMRALPHABITMAP +{ + DWORD dwFlags; + HDC hdc; + IDirectDrawSurface7 *pDDS; + RECT rSrc; + RECT rDest; + FLOAT fAlpha; + COLORREF clrSrcKey; +} VMRALPHABITMAP, *PVMRALPHABITMAP; + +cpp_quote("#define VMRBITMAP_DISABLE (0x01)") +cpp_quote("#define VMRBITMAP_HDC (0x02)") +cpp_quote("#define VMRBITMAP_ENTIREDDS (0x04)") +cpp_quote("#define VMRBITMAP_SRCCOLORKEY (0x08)") +cpp_quote("#define VMRBITMAP_SRCRECT (0x10)") + +[ + local, + object, + uuid(1e673275-0257-40aa-af20-7c608d4a0428), + helpstring("IVMRMixerBitmap interface"), + pointer_default(unique) +] +interface IVMRMixerBitmap : IUnknown +{ + HRESULT SetAlphaBitmap([in] const VMRALPHABITMAP *params); + HRESULT UpdateAlphaBitmapParameters([in] VMRALPHABITMAP *params); + HRESULT GetAlphaBitmapParameters([out] VMRALPHABITMAP *params); +}; + +typedef struct _VMRVIDEOSTREAMINFO +{ + IDirectDrawSurface7 *pddsVideoSurface; + DWORD dwWidth; + DWORD dwHeight; + DWORD dwStrmID; + FLOAT fAlpha; + DDCOLORKEY ddClrKey; + NORMALIZEDRECT rNormal; +} VMRVIDEOSTREAMINFO; + +[ + local, + object, + uuid(7a4fb5af-479f-4074-bb40-ce6722e43c82), + helpstring("IVMRImageCompositor interface"), + pointer_default(unique) +] +interface IVMRImageCompositor : IUnknown +{ + HRESULT InitCompositionTarget([in] IUnknown *d3ddev, [in] IDirectDrawSurface7 *rendertarget); + HRESULT TermCompositionTarget([in] IUnknown *d3ddev, [in] IDirectDrawSurface7 *rendertarget); + HRESULT SetStreamMediaType([in] DWORD id, [in] AM_MEDIA_TYPE *pmt, [in] BOOL texture); + HRESULT CompositeImage([in] IUnknown *d3ddev, [in] IDirectDrawSurface7 *rendertarget, + [in] AM_MEDIA_TYPE *pmt, [in] REFERENCE_TIME start, [in] REFERENCE_TIME stop, + [in] DWORD backgrnd, [in] VMRVIDEOSTREAMINFO *info, [in] UINT streams); +}; + +[ + local, + object, + uuid(058d1f11-2a54-4bef-bd54-df706626b727), + helpstring("IVMRVideoStreamControl interface"), + pointer_default(unique) +] +interface IVMRVideoStreamControl : IUnknown +{ + HRESULT SetColorKey([in] DDCOLORKEY *key); + HRESULT GetColorKey([out] DDCOLORKEY *key); + HRESULT SetStreamActiveState([in] BOOL active); + HRESULT GetStreamActiveState([out] BOOL *active); +}; + +[ + local, + object, + uuid(9f3a1c85-8555-49ba-935f-be5b5b29d178), + helpstring("IVMRImagePresenterConfig interface"), + pointer_default(unique) +] +interface IVMRImagePresenterConfig : IUnknown +{ + HRESULT SetRenderingPrefs([in] DWORD prefs); + HRESULT GetRenderingPrefs([out] DWORD *prefs); +}; + +[ + local, + object, + uuid(e6f7ce40-4673-44f1-8f77-5499d68cb4ea), + helpstring("IVMRImagePresenterExclModeConfig interface"), + pointer_default(unique) +] +interface IVMRImagePresenterExclModeConfig : IVMRImagePresenterConfig +{ + HRESULT SetXlcModeDDObjAndPrimarySurface([in] IDirectDraw7 *dddev, [in] IDirectDrawSurface7 *ddsurface); + HRESULT GetXlcModeDDObjAndPrimarySurface([out] IDirectDraw7 **dddev, [out] IDirectDrawSurface7 **ddsurface); +}; + +[ + local, + object, + uuid(aac18c18-e186-46d2-825d-a1f8dc8e395a), + helpstring("IVPManager interface"), + pointer_default(unique) +] +interface IVPManager : IUnknown +{ + HRESULT SetVideoPortIndex([in] DWORD index); + HRESULT GetVideoPortIndex([out] DWORD *index); +}; diff --git a/reactos/include/psdk/wbemcli.idl b/reactos/include/psdk/wbemcli.idl new file mode 100644 index 00000000000..b2ac6c1d988 --- /dev/null +++ b/reactos/include/psdk/wbemcli.idl @@ -0,0 +1,211 @@ +/* + * Copyright 2009 Hans Leidekker for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +cpp_quote("DEFINE_GUID(CLSID_WbemLocator, 0x4590f811,0x1d3A,0x11d0,0x89,0x1f,0x00,0xaa,0x00,0x4b,0x2e,0x24);") +cpp_quote("DEFINE_GUID(CLSID_WbemStatusCode, 0xeb87e1bd,0x3233,0x11d2,0xae,0xc9,0x00,0xc0,0x4f,0xb6,0x88,0x20);") + +import "objidl.idl"; + +interface IWbemContext; +interface IWbemServices; +interface IWbemStatusCodeText; + +typedef [v1_enum] enum tag_WBEMSTATUS +{ + WBEM_NO_ERROR = 0, + WBEM_S_NO_ERROR = 0, + WBEM_S_SAME = 0, + WBEM_S_FALSE = 1, + WBEM_S_ALREADY_EXISTS = 0x40001, + WBEM_S_RESET_TO_DEFAULT = 0x40002, + WBEM_S_DIFFERENT = 0x40003, + WBEM_S_TIMEDOUT = 0x40004, + WBEM_S_NO_MORE_DATA = 0x40005, + WBEM_S_OPERATION_CANCELLED = 0x40006, + WBEM_S_PENDING = 0x40007, + WBEM_S_DUPLICATE_OBJECTS = 0x40008, + WBEM_S_ACCESS_DENIED = 0x40009, + WBEM_S_PARTIAL_RESULTS = 0x40010, + WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017, + WBEM_E_FAILED = 0x80041001, + WBEM_E_NOT_FOUND = 0x80041002, + WBEM_E_ACCESS_DENIED = 0x80041003, + WBEM_E_PROVIDER_FAILURE = 0x80041004, + WBEM_E_TYPE_MISMATCH = 0x80041005, + WBEM_E_OUT_OF_MEMORY = 0x80041006, + WBEM_E_INVALID_CONTEXT = 0x80041007, + WBEM_E_INVALID_PARAMETER = 0x80041008, + WBEM_E_NOT_AVAILABLE = 0x80041009, + WBEM_E_CRITICAL_ERROR = 0x8004100a, + WBEM_E_INVALID_STREAM = 0x8004100b, + WBEM_E_NOT_SUPPORTED = 0x8004100c, + WBEM_E_INVALID_SUPERCLASS = 0x8004100d, + WBEM_E_INVALID_NAMESPACE = 0x8004100e, + WBEM_E_INVALID_OBJECT = 0x8004100f, + WBEM_E_INVALID_CLASS = 0x80041010, + WBEM_E_PROVIDER_NOT_FOUND = 0x80041011, + WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012, + WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013, + WBEM_E_INITIALIZATION_FAILURE = 0x80041014, + WBEM_E_TRANSPORT_FAILURE = 0x80041015, + WBEM_E_INVALID_OPERATION = 0x80041016, + WBEM_E_INVALID_QUERY = 0x80041017, + WBEM_E_INVALID_QUERY_TYPE = 0x80041018, + WBEM_E_ALREADY_EXISTS = 0x80041019, + WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101a, + WBEM_E_PROPAGATED_QUALIFIER = 0x8004101b, + WBEM_E_PROPAGATED_PROPERTY = 0x8004101c, + WBEM_E_UNEXPECTED = 0x8004101d, + WBEM_E_ILLEGAL_OPERATION = 0x8004101e, + WBEM_E_CANNOT_BE_KEY = 0x8004101f, + WBEM_E_INCOMPLETE_CLASS = 0x80041020, + WBEM_E_INVALID_SYNTAX = 0x80041021, + WBEM_E_NONDECORATED_OBJECT = 0x80041022, + WBEM_E_READ_ONLY = 0x80041023, + WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024, + WBEM_E_CLASS_HAS_CHILDREN = 0x80041025, + WBEM_E_CLASS_HAS_INSTANCES = 0x80041026, + WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027, + WBEM_E_ILLEGAL_NULL = 0x80041028, + WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029, + WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102a, + WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102b, + WBEM_E_CANNOT_BE_SINGLETON = 0x8004102c, + WBEM_E_INVALID_CIM_TYPE = 0x8004102d, + WBEM_E_INVALID_METHOD = 0x8004102e, + WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102f, + WBEM_E_SYSTEM_PROPERTY = 0x80041030, + WBEM_E_INVALID_PROPERTY = 0x80041031, + WBEM_E_CALL_CANCELLED = 0x80041032, + WBEM_E_SHUTTING_DOWN = 0x80041033, + WBEM_E_PROPAGATED_METHOD = 0x80041034, + WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035, + WBEM_E_MISSING_PARAMETER_ID = 0x80041036, + WBEM_E_INVALID_PARAMETER_ID = 0x80041037, + WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038, + WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039, + WBEM_E_INVALID_OBJECT_PATH = 0x8004103a, + WBEM_E_OUT_OF_DISK_SPACE = 0x8004103b, + WBEM_E_BUFFER_TOO_SMALL = 0x8004103c, + WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103d, + WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103e, + WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103f, + WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040, + WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041, + WBEM_E_INVALID_QUALIFIER = 0x80041042, + WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043, + WBEM_E_TOO_MUCH_DATA = 0x80041044, + WBEM_E_SERVER_TOO_BUSY = 0x80041045, + WBEM_E_INVALID_FLAVOR = 0x80041046, + WBEM_E_CIRCULAR_REFERENCE = 0x80041047, + WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048, + WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049, + WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050, + WBEM_E_TOO_MANY_PROPERTIES = 0x80041051, + WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052, + WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053, + WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054, + WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055, + WBEM_E_METHOD_DISABLED = 0x80041056, + WBEM_E_REFRESHER_BUSY = 0x80041057, + WBEM_E_UNPARSABLE_QUERY = 0x80041058, + WBEM_E_NOT_EVENT_CLASS = 0x80041059, + WBEM_E_MISSING_GROUP_WITHIN = 0x8004105a, + WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105b, + WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105c, + WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105d, + WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105f, + WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060, + WBEM_E_QUEUE_OVERFLOW = 0x80041061, + WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062, + WBEM_E_INVALID_OPERATOR = 0x80041063, + WBEM_E_LOCAL_CREDENTIALS = 0x80041064, + WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065, + WBEM_E_AMENDED_OBJECT = 0x80041066, + WBEM_E_CLIENT_TOO_SLOW = 0x80041067, + WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068, + WBEM_E_TIMED_OUT = 0x80041069, + WBEM_E_INVALID_ASSOCIATION = 0x8004106a, + WBEM_E_AMBIGUOUS_OPERATION = 0x8004106b, + WBEM_E_QUOTA_VIOLATION = 0x8004106c, + WBEM_E_RESERVED_001 = 0x8004106d, + WBEM_E_RESERVED_002 = 0x8004106e, + WBEM_E_UNSUPPORTED_LOCALE = 0x8004106f, + WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070, + WBEM_E_CONNECTION_FAILED = 0x80041071, + WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072, + WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073, + WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074, + WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075, + WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076, + WBEM_E_RERUN_COMMAND = 0x80041077, + WBEM_E_DATABASE_VER_MISMATCH = 0x80041078, + WBEM_E_VETO_DELETE = 0x80041079, + WBEM_E_VETO_PUT = 0x8004107a, + WBEM_E_INVALID_LOCALE = 0x80041080, + WBEM_E_PROVIDER_SUSPENDED = 0x80041081, + WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082, + WBEM_E_NO_SCHEMA = 0x80041083, + WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084, + WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085, + WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086, + WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087, + WBEM_E_PROVIDER_TIMED_OUT = 0x80041088, + WBEM_E_NO_KEY = 0x80041089, + WBEM_E_PROVIDER_DISABLED = 0x8004108a +} WBEMSTATUS; + +[ + object, + restricted, + local, + uuid(dc12a687-737f-11cf-884d-00aa004b2e24), + pointer_default(unique) +] +interface IWbemLocator : IUnknown +{ + HRESULT ConnectServer( + [in] const BSTR strNetworkResource, + [in] const BSTR strUser, + [in] const BSTR strPassword, + [in] const BSTR strLocale, + [in] LONG lSecurityFlags, + [in] const BSTR strAuthority, + [in] IWbemContext *pCtx, + [out] IWbemServices **ppNamespace); +}; + +[ + object, + local, + uuid(eb87e1bc-3233-11d2-aec9-00c04fb68820) +] +interface IWbemStatusCodeText : IUnknown +{ + HRESULT GetErrorCodeText( + [in] HRESULT hRes, + [in] LCID LocaleId, + [in] LONG lFlags, + [out] BSTR *MessageText); + + HRESULT GetFacilityCodeText( + [in] HRESULT hRes, + [in] LCID LocaleId, + [in] LONG lFlags, + [out] BSTR *MessageText); +}; diff --git a/reactos/include/psdk/wincodec.idl b/reactos/include/psdk/wincodec.idl index 1bcb2cd1bad..97fd4ac212b 100644 --- a/reactos/include/psdk/wincodec.idl +++ b/reactos/include/psdk/wincodec.idl @@ -98,6 +98,22 @@ typedef enum WICBitmapPaletteType { WICBITMAPPALETTETYPE_FORCE_DWORD = CODEC_FORCE_DWORD } WICBitmapPaletteType; +typedef enum WICBitmapTransformOptions { + WICBitmapTransformRotate0 = 0x00000000, + WICBitmapTransformRotate90 = 0x00000001, + WICBitmapTransformRotate180 = 0x00000002, + WICBitmapTransformRotate270 = 0x00000003, + WICBitmapTransformFlipHorizontal = 0x00000008, + WICBitmapTransformFlipVertical = 0x00000010, + WICBITMAPTRANSFORMOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD +} WICBitmapTransformOptions; + +typedef enum WICColorContextType { + WICColorContextUninitialized = 0x00000000, + WICColorContextProfile = 0x00000001, + WICColorContextExifColorSpace = 0x00000002 +} WICColorContextType; + typedef enum WICComponentType { WICDecoder = 0x00000001, WICEncoder = 0x00000002, @@ -178,14 +194,39 @@ cpp_quote("#define WINCODEC_ERR_UNSUPPORTEDOPERATION 0x88982f81") cpp_quote("#define WINCODEC_ERR_INSUFFICIENTBUFFER 0x88982f8c") interface IWICPalette; -interface IWICBitmapClipper; -interface IWICBitmapFlipRotator; -interface IWICColorContext; interface IWICColorTransform; interface IWICFastMetadataEncoder; interface IWICMetadataQueryReader; interface IWICMetadataQueryWriter; +[ + object, + uuid(3c613a02-34b2-44ea-9a7c-45aea9c6fd6d) +] +interface IWICColorContext : IUnknown +{ + HRESULT InitializeFromFilename( + [in] LPCWSTR wzFilename); + + HRESULT InitializeFromMemory( + [in, size_is(cbBufferSize)] const BYTE *pbBuffer, + [in] UINT cbBufferSize); + + HRESULT InitializeFromExifColorSpace( + [in] UINT value); + + HRESULT GetType( + [out] WICColorContextType *pType); + + HRESULT GetProfileBytes( + [in] UINT cbBuffer, + [in, out, unique, size_is(cbBuffer)] BYTE *pbBuffer, + [out] UINT *pcbActual); + + HRESULT GetExifColorSpace( + [out] UINT *pValue); +} + [ object, uuid(00000120-a8f2-4877-ba0a-fd2b6645fb94) @@ -234,6 +275,17 @@ interface IWICBitmapLock : IUnknown [out] WICPixelFormatGUID *pPixelFormat); } +[ + object, + uuid(5009834f-2d6a-41ce-9e1b-17c5aff7a782) +] +interface IWICBitmapFlipRotator : IWICBitmapSource +{ + HRESULT Initialize( + [in] IWICBitmapSource *pISource, + [in] WICBitmapTransformOptions options); +} + [ object, uuid(00000121-a8f2-4877-ba0a-fd2b6645fb94) @@ -645,6 +697,17 @@ interface IWICBitmapScaler : IWICBitmapSource [in] WICBitmapInterpolationMode mode); } +[ + object, + uuid(e4fbcf03-223d-4e81-9333-d635556dd1b5) +] +interface IWICBitmapClipper : IWICBitmapSource +{ + HRESULT Initialize( + [in] IWICBitmapSource *pISource, + [in] const WICRect *prc); +} + cpp_quote("DEFINE_GUID(CLSID_WICImagingFactory, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a);") [ diff --git a/reactos/include/psdk/winnt.h b/reactos/include/psdk/winnt.h index 77ad056be78..2df2d5fa55e 100644 --- a/reactos/include/psdk/winnt.h +++ b/reactos/include/psdk/winnt.h @@ -981,6 +981,7 @@ typedef enum { #define SUBLANG_GREENLANDIC_GREENLAND 0x01 #define SUBLANG_GUJARATI_INDIA 0x01 #define SUBLANG_HAUSA_NIGERIA_LATIN 0x01 +#define SUBLANG_HAUSA_NIGERIA 0x01 #define SUBLANG_HEBREW_ISRAEL 0x01 #define SUBLANG_HINDI_INDIA 0x01 #define SUBLANG_HUNGARIAN_HUNGARY 0x01 @@ -1004,8 +1005,10 @@ typedef enum { #define SUBLANG_KOREAN 0x01 #define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01 #define SUBLANG_LAO_LAO 0x01 +#define SUBLANG_LAO_LAO_PDR 0x01 #define SUBLANG_LATVIAN_LATVIA 0x01 #define SUBLANG_LITHUANIAN_LITHUANIA 0x01 +#define SUBLANG_LITHUANIAN 0x01 #define SUBLANG_LOWER_SORBIAN_GERMANY 0x02 #define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01 #define SUBLANG_MACEDONIAN_MACEDONIA 0x01 @@ -1082,6 +1085,7 @@ typedef enum { #define SUBLANG_SPANISH_URUGUAY 0x0e #define SUBLANG_SPANISH_VENEZUELA 0x08 #define SUBLANG_SWAHILI 0x01 +#define SUBLANG_SWAHILI_KENYA 0x01 #define SUBLANG_SWEDISH_FINLAND 0x02 #define SUBLANG_SWEDISH 0x01 #define SUBLANG_SWEDISH_SWEDEN 0x01 diff --git a/reactos/include/psdk/winuser.h b/reactos/include/psdk/winuser.h index fbae7314d97..132a1328d9b 100644 --- a/reactos/include/psdk/winuser.h +++ b/reactos/include/psdk/winuser.h @@ -4346,6 +4346,8 @@ BOOL WINAPI PrintWindow(HWND,HDC,UINT); #endif UINT WINAPI PrivateExtractIconsA(LPCSTR,int,int,int,HICON*,UINT*,UINT,UINT); UINT WINAPI PrivateExtractIconsW(LPCWSTR,int,int,int,HICON*,UINT*,UINT,UINT); +UINT WINAPI WINAPI PrivateExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT); +UINT WINAPI WINAPI PrivateExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT); BOOL WINAPI PtInRect(LPCRECT,POINT); HWND WINAPI RealChildWindowFromPoint(HWND,POINT); UINT WINAPI RealGetWindowClassA(HWND,LPSTR,UINT); diff --git a/reactos/include/psdk/wtypes.idl b/reactos/include/psdk/wtypes.idl index 4a311ba5695..c463158b14a 100644 --- a/reactos/include/psdk/wtypes.idl +++ b/reactos/include/psdk/wtypes.idl @@ -800,7 +800,7 @@ typedef struct tagQUERYCONTEXT DWORD dwVersionLo; } QUERYCONTEXT; -typedef [v1_enum] enum tagTYSPEC +typedef [v1_enum] enum tagTYSPEC { TYSPEC_CLSID, TYSPEC_FILEEXT, diff --git a/reactos/lib/sdk/uuid/uuid.c b/reactos/lib/sdk/uuid/uuid.c index cfa5b6e71c9..afa9847af62 100644 --- a/reactos/lib/sdk/uuid/uuid.c +++ b/reactos/lib/sdk/uuid/uuid.c @@ -48,6 +48,7 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0); #include "docobj.h" #include "exdisp.h" +#include "shdeprecated.h" #include "shlguid.h" #include "shlguid_undoc.h" #include "shlobj.h" @@ -144,7 +145,7 @@ DEFINE_GUID(CLSID_Picture_Metafile, 0x00000315,0x0000,0x0000,0xc0,0x00,0x0 DEFINE_GUID(CLSID_StaticMetafile, 0x00000315,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); DEFINE_GUID(CLSID_Picture_Dib, 0x00000316,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); DEFINE_GUID(CLSID_StaticDib, 0x00000316,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); -DEFINE_GUID(CLSID_Picture_EnhMetafile, 0x00000316,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); +DEFINE_GUID(CLSID_Picture_EnhMetafile, 0x00000319,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); DEFINE_GUID(CLSID_DCOMAccessControl, 0x0000031d,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); DEFINE_GUID(CLSID_StdGlobalInterfaceTable,0x00000323,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); DEFINE_GUID(CLSID_ComBinding, 0x00000328,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); @@ -156,10 +157,20 @@ DEFINE_GUID(CLSID_TF_ThreadMgr, 0x529a9e6b,0x6587,0x4f23,0xab,0x9e,0x9 DEFINE_GUID(CLSID_TF_InputProcessorProfiles, 0x33c53a50,0xf456,0x4884,0xb0,0x49,0x85,0xfd,0x64,0x3e,0xcf,0xed); DEFINE_GUID(CLSID_TF_CategoryMgr, 0xA4B544A1,0x438D,0x4B41,0x93,0x25,0x86,0x95,0x23,0xE2,0xD6,0xC7); DEFINE_GUID(CLSID_TF_LangBarMgr, 0xebb08c45,0x6c4a,0x4fdc,0xae,0x53,0x4e,0xb8,0xc4,0xc7,0xdb,0x8e); +DEFINE_GUID(CLSID_TF_DisplayAttributeMgr, 0x3ce74de4,0x53d3,0x4d74,0x8b,0x83,0x43,0x1b,0x38,0x28,0xba,0x53); DEFINE_GUID(CLSID_TaskbarList, 0x56fdf344,0xfd6d,0x11d0,0x95,0x8a,0x00,0x60,0x97,0xc9,0xa0,0x90); DEFINE_GUID(GUID_TFCAT_TIP_KEYBOARD, 0x34745c63,0xb2f0,0x4784,0x8b,0x67,0x5e,0x12,0xc8,0x70,0x1a,0x31); DEFINE_GUID(GUID_TFCAT_TIP_SPEECH, 0xB5A73CD1,0x8355,0x426B,0xA1,0x61,0x25,0x98,0x08,0xF2,0x6B,0x14); DEFINE_GUID(GUID_TFCAT_TIP_HANDWRITING, 0x246ecb87,0xc2f2,0x4abe,0x90,0x5b,0xc8,0xb3,0x8a,0xdd,0x2c,0x43); DEFINE_GUID(CLSID_ConnectionManager, 0xBA126AD1,0x2166,0x11D1,0xB1,0xD0,0x0,0x80,0x5F,0xC1,0x27,0x0E); DEFINE_GUID(CLSID_CNetCfg, 0x5B035261,0x40F9,0x11D1,0xAA,0xEC,0x00,0x80,0x5F,0xC1,0x27,0x0E); - +DEFINE_GUID(GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER, 0x046B8C80,0x1647,0x40F7,0x9B,0x21,0xB9,0x3B,0x81,0xAA,0xBC,0x1B); +DEFINE_GUID(GUID_COMPARTMENT_KEYBOARD_DISABLED, 0x71a5b253,0x1951,0x466b,0x9f,0xbc,0x9c,0x88,0x08,0xfa,0x84,0xf2); +DEFINE_GUID(GUID_COMPARTMENT_KEYBOARD_OPENCLOSE, 0x58273aad,0x01bb,0x4164,0x95,0xc6,0x75,0x5b,0xa0,0xb5,0x16,0x2d); +DEFINE_GUID(GUID_COMPARTMENT_HANDWRITING_OPENCLOSE, 0xf9ae2c6b,0x1866,0x4361,0xaf,0x72,0x7a,0xa3,0x09,0x48,0x89,0x0e); +DEFINE_GUID(GUID_COMPARTMENT_SPEECH_DISABLED, 0x56c5c607,0x0703,0x4e59,0x8e,0x52,0xcb,0xc8,0x4e,0x8b,0xbe,0x35); +DEFINE_GUID(GUID_COMPARTMENT_SPEECH_OPENCLOSE, 0x544d6a63,0xe2e8,0x4752,0xbb,0xd1,0x00,0x09,0x60,0xbc,0xa0,0x83); +DEFINE_GUID(GUID_COMPARTMENT_SPEECH_GLOBALSTATE, 0x2a54fe8e,0x0d08,0x460c,0xa7,0x5d,0x87,0x03,0x5f,0xf4,0x36,0xc5); +DEFINE_GUID(GUID_COMPARTMENT_PERSISTMENUENABLED, 0x575f3783,0x70c8,0x47c8,0xae,0x5d,0x91,0xa0,0x1a,0x1f,0x75,0x92); +DEFINE_GUID(GUID_COMPARTMENT_EMPTYCONTEXT, 0xd7487dbf,0x804e,0x41c5,0x89,0x4d,0xad,0x96,0xfd,0x4e,0xea,0x13); +DEFINE_GUID(GUID_COMPARTMENT_TIPUISTATUS, 0x148ca3ec,0x0366,0x401c,0x8d,0x75,0xed,0x97,0x8d,0x85,0xfb,0xc9);