From cd83ed1ac51de4b8522f61411cbf9fa10d7d2a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Wed, 7 Feb 2018 02:15:41 +0100 Subject: [PATCH] [PSDK] Add definitions for IUserNotification, IQueryContinue, and IUserNotification2 and IUserNotificationCallback (Vista+). CORE-13177 --- sdk/include/psdk/shobjidl.idl | 121 ++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) diff --git a/sdk/include/psdk/shobjidl.idl b/sdk/include/psdk/shobjidl.idl index a7bbf3d7565..cd5374357cb 100644 --- a/sdk/include/psdk/shobjidl.idl +++ b/sdk/include/psdk/shobjidl.idl @@ -36,6 +36,10 @@ import "objectarray.idl"; cpp_quote("/* FIXME: #include */") +cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") +cpp_quote("#undef PlaySound") +cpp_quote("#endif") + /***************************************************************************** * IPersistFolder interface @@ -4432,6 +4436,17 @@ library ShellObjects { interface IApplicationActivationManager; } + +#ifdef __REACTOS__ + [ + uuid(0010890e-8789-413c-adbc-48f5b511b3af) + ] + coclass UserNotification + { + interface IUserNotification; + } +#endif // __REACTOS__ + } enum _OPPROGDLGF @@ -4625,3 +4640,109 @@ interface IFolderBandPriv : IUnknown HRESULT SetNoText([in] BOOL fNoText); } + + +#ifdef __REACTOS__ +/***************************************************************************** + * IQueryContinue interface + */ + +[ + uuid(7307055c-b24a-486b-9f25-163e597a28a9), + object, + pointer_default(unique) +] +interface IQueryContinue : IUnknown +{ + // Returns S_OK if the operation should continue, and S_FALSE if not. + HRESULT QueryContinue(); +} + + +/***************************************************************************** + * IUserNotification interface + */ + +[ + uuid(ba9711ba-5893-4787-a7e1-41277151550b), + object, + pointer_default(unique) +] +interface IUserNotification : IUnknown +{ + HRESULT SetBalloonInfo( + [in, unique, string] LPCWSTR pszTitle, + [in, unique, string] LPCWSTR pszText, + [in] DWORD dwInfoFlags); + + HRESULT SetBalloonRetry( + [in] DWORD dwShowTime, // Time intervals in milliseconds + [in] DWORD dwInterval, + [in] UINT cRetryCount); + + HRESULT SetIconInfo( + [in, unique] HICON hIcon, + [in, unique, string] LPCWSTR pszToolTip); + + // Blocks until the notification times out. + HRESULT Show( + [in, unique] IQueryContinue *pqc, + [in] DWORD dwContinuePollInterval); + + HRESULT PlaySound( + [in, string] LPCWSTR pszSoundName); +}; + + +/***************************************************************************** + * IUserNotificationCallback interface (Vista+) + */ + +[ + uuid(19108294-0441-4aff-8013-fa0a730b0bea), + object +] +interface IUserNotificationCallback : IUnknown +{ + HRESULT OnBalloonUserClick([in] POINT * pt); + HRESULT OnLeftClick([in] POINT * pt); + HRESULT OnContextMenu([in] POINT * pt); +}; + + +/***************************************************************************** + * IUserNotification2 interface (Vista+) + */ + +[ + uuid(215913cc-57eb-4fab-ab5a-e5fa7bea2a6c), + object, + pointer_default(unique) +] +interface IUserNotification2 : IUnknown +{ + HRESULT SetBalloonInfo( + [in, unique, string] LPCWSTR pszTitle, + [in, unique, string] LPCWSTR pszText, + [in] DWORD dwInfoFlags); + + HRESULT SetBalloonRetry( + [in] DWORD dwShowTime, // Time intervals in milliseconds + [in] DWORD dwInterval, + [in] UINT cRetryCount); + + HRESULT SetIconInfo( + [in, unique] HICON hIcon, + [in, unique, string] LPCWSTR pszToolTip); + + // Blocks until the notification times out. + HRESULT Show( + [in, unique] IQueryContinue *pqc, + [in] DWORD dwContinuePollInterval, + [in, unique] IUserNotificationCallback *pSink); + + HRESULT PlaySound( + [in, string] LPCWSTR pszSoundName); +}; + +#endif // __REACTOS__