https://git.reactos.org/?p=reactos.git;a=commitdiff;h=cd83ed1ac51de4b8522f6…
commit cd83ed1ac51de4b8522f61411cbf9fa10d7d2a56
Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Wed Feb 7 02:15:41 2018 +0100
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)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__