https://git.reactos.org/?p=reactos.git;a=commitdiff;h=cd83ed1ac51de4b8522f61...
commit cd83ed1ac51de4b8522f61411cbf9fa10d7d2a56 Author: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org AuthorDate: Wed Feb 7 02:15:41 2018 +0100 Commit: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org CommitDate: Thu Feb 15 22:36:50 2018 +0100
[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 a7bbf3d756..cd5374357c 100644 --- a/sdk/include/psdk/shobjidl.idl +++ b/sdk/include/psdk/shobjidl.idl @@ -36,6 +36,10 @@ import "objectarray.idl";
cpp_quote("/* FIXME: #include <sherrors.h> */")
+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__