Two patches to add two new interfaces and one to fix an existing one.
-- v3: include: Correct IRowsetNotify HROW parameter type include: Add IPreviewHandler* interfaces include: shtypes.idl - Add LOGFONTA/W typedef.
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- include/shtypes.idl | 47 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
diff --git a/include/shtypes.idl b/include/shtypes.idl index c83562a24bb..41b80789e0e 100644 --- a/include/shtypes.idl +++ b/include/shtypes.idl @@ -182,3 +182,50 @@ typedef [v1_enum] enum DEVICE_SCALE_FACTOR SCALE_450_PERCENT = 450, SCALE_500_PERCENT = 500 } DEVICE_SCALE_FACTOR; + +cpp_quote( "#ifndef LF_FACESIZE") +#define LF_FACESIZE 32 + +typedef struct tagLOGFONTA +{ + LONG lfHeight; + LONG lfWidth; + LONG lfEscapement; + LONG lfOrientation; + LONG lfWeight; + BYTE lfItalic; + BYTE lfUnderline; + BYTE lfStrikeOut; + BYTE lfCharSet; + BYTE lfOutPrecision; + BYTE lfClipPrecision; + BYTE lfQuality; + BYTE lfPitchAndFamily; + CHAR lfFaceName[LF_FACESIZE]; +} LOGFONTA; + +typedef struct tagLOGFONTW +{ + LONG lfHeight; + LONG lfWidth; + LONG lfEscapement; + LONG lfOrientation; + LONG lfWeight; + BYTE lfItalic; + BYTE lfUnderline; + BYTE lfStrikeOut; + BYTE lfCharSet; + BYTE lfOutPrecision; + BYTE lfClipPrecision; + BYTE lfQuality; + BYTE lfPitchAndFamily; + WCHAR lfFaceName[LF_FACESIZE]; +} LOGFONTW; + +#ifdef UNICODE + typedef LOGFONTW LOGFONT; +#else + typedef LOGFONTA LOGFONT; +#endif + +cpp_quote("#endif")
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- include/shobjidl.idl | 51 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+)
diff --git a/include/shobjidl.idl b/include/shobjidl.idl index 8aa24ea86fc..df817cc17b2 100644 --- a/include/shobjidl.idl +++ b/include/shobjidl.idl @@ -45,6 +45,30 @@ cpp_quote("# define WINSHELLAPI DECLSPEC_IMPORT") cpp_quote("#endif") cpp_quote("#endif")
+cpp_quote("#ifndef _WINGDI_") +/* already defined in wingdi.h but needed for WIDL */ +#define LF_FACESIZE 32 + + typedef struct tagLOGFONTW + { + LONG lfHeight; + LONG lfWidth; + LONG lfEscapement; + LONG lfOrientation; + LONG lfWeight; + BYTE lfItalic; + BYTE lfUnderline; + BYTE lfStrikeOut; + BYTE lfCharSet; + BYTE lfOutPrecision; + BYTE lfClipPrecision; + BYTE lfQuality; + BYTE lfPitchAndFamily; + WCHAR lfFaceName[LF_FACESIZE]; + } LOGFONTW, *PLOGFONTW, *LPLOGFONTW; +cpp_quote("#endif /* _WINGDI_ */") + + /***************************************************************************** * IPersistFolder interface */ @@ -3844,6 +3868,21 @@ interface IApplicationActivationManager : IUnknown [out] DWORD *processid); }
+[ + object, + uuid(8895b1c6-b41f-4c1c-a562-0d564250836f), +] +interface IPreviewHandler : IUnknown +{ + HRESULT SetWindow([in] HWND hwnd, [in] const RECT *rect); + HRESULT SetRect([in] const RECT *rect); + HRESULT DoPreview(); + HRESULT Unload(); + HRESULT SetFocus(); + HRESULT QueryFocus([out] HWND *hwnd); + HRESULT TranslateAccelerator([in] MSG *msg); +} + [ object, uuid(fec87aaf-35f9-447a-adb7-20234491401a), @@ -3861,6 +3900,18 @@ interface IPreviewHandlerFrame : IUnknown HRESULT TranslateAccelerator([in] MSG *msg); }
+[ + object, + uuid(196bf9a5-b346-4ef0-aa1e-5dcdb76768b1), + pointer_default(unique) +] +interface IPreviewHandlerVisuals : IUnknown +{ + HRESULT SetBackgroundColor([in] COLORREF color); + HRESULT SetFont([in] const LOGFONTW *logfont); + HRESULT SetTextColor([in] COLORREF color); +} + /***************************************************************************** * ShellObjects typelibrary */
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- dlls/msdaps/usrmarshal.c | 4 ++-- include/rstnot.idl | 4 ++-- include/shobjidl.idl | 24 ------------------------ 3 files changed, 4 insertions(+), 28 deletions(-)
diff --git a/dlls/msdaps/usrmarshal.c b/dlls/msdaps/usrmarshal.c index 10b840b1991..48308c7ee71 100644 --- a/dlls/msdaps/usrmarshal.c +++ b/dlls/msdaps/usrmarshal.c @@ -1180,14 +1180,14 @@ HRESULT __RPC_STUB IDBAsynchStatus_GetStatus_Stub(IDBAsynchStatus* This, HCHAPTE return hr; }
-HRESULT CALLBACK IRowsetNotify_OnRowChange_Proxy(IRowsetNotify* This, IRowset *rowset, DBCOUNTITEM rows, HROW *hrows, DBREASON reason, +HRESULT CALLBACK IRowsetNotify_OnRowChange_Proxy(IRowsetNotify* This, IRowset *rowset, DBCOUNTITEM rows, const HROW *hrows, DBREASON reason, DBEVENTPHASE phase, BOOL cantdeny) { TRACE("(%p)->(%p %Id %p %ld %ld %d)\n", This, rowset, rows, hrows, reason, phase, cantdeny); return IRowsetNotify_RemoteOnRowChange_Proxy(This, rowset, rows, hrows, reason, phase, cantdeny); }
-HRESULT __RPC_STUB IRowsetNotify_OnRowChange_Stub(IRowsetNotify* This, IRowset *rowset, DBCOUNTITEM rows, HROW *hrows, DBREASON reason, +HRESULT __RPC_STUB IRowsetNotify_OnRowChange_Stub(IRowsetNotify* This, IRowset *rowset, DBCOUNTITEM rows, const HROW *hrows, DBREASON reason, DBEVENTPHASE phase, BOOL cantdeny) { TRACE("(%p)->(%p %Id %p %ld %ld %d)\n", This, rowset, rows, hrows, reason, phase, cantdeny); diff --git a/include/rstnot.idl b/include/rstnot.idl index 9e6975f9c78..048ac887b4f 100644 --- a/include/rstnot.idl +++ b/include/rstnot.idl @@ -49,7 +49,7 @@ interface IRowsetNotify : IUnknown [local] HRESULT OnRowChange([in] IRowset *rowset, [in] DBCOUNTITEM rows, - [in, size_is((ULONG)rows)] HROW *hrows, + [in, size_is((ULONG)rows)] const HROW *hrows, [in] DBREASON reason, [in] DBEVENTPHASE phase, [in] BOOL cantdeny); @@ -58,7 +58,7 @@ interface IRowsetNotify : IUnknown HRESULT RemoteOnRowChange( [in] IRowset *rowset, [in] DBCOUNTITEM rows, - [in, size_is((ULONG)rows)] HROW *hrows, + [in, size_is((ULONG)rows)] const HROW *hrows, [in] DBREASON reason, [in] DBEVENTPHASE phase, [in] BOOL cantdeny); diff --git a/include/shobjidl.idl b/include/shobjidl.idl index df817cc17b2..886cff89ef9 100644 --- a/include/shobjidl.idl +++ b/include/shobjidl.idl @@ -45,30 +45,6 @@ cpp_quote("# define WINSHELLAPI DECLSPEC_IMPORT") cpp_quote("#endif") cpp_quote("#endif")
-cpp_quote("#ifndef _WINGDI_") -/* already defined in wingdi.h but needed for WIDL */ -#define LF_FACESIZE 32 - - typedef struct tagLOGFONTW - { - LONG lfHeight; - LONG lfWidth; - LONG lfEscapement; - LONG lfOrientation; - LONG lfWeight; - BYTE lfItalic; - BYTE lfUnderline; - BYTE lfStrikeOut; - BYTE lfCharSet; - BYTE lfOutPrecision; - BYTE lfClipPrecision; - BYTE lfQuality; - BYTE lfPitchAndFamily; - WCHAR lfFaceName[LF_FACESIZE]; - } LOGFONTW, *PLOGFONTW, *LPLOGFONTW; -cpp_quote("#endif /* _WINGDI_ */") - - /***************************************************************************** * IPersistFolder interface */