Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

193 lines
4.8 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1995.
  5. //
  6. // File: notftn.idl
  7. //
  8. // Contents: wrapper idl for the notify.idl
  9. // private interfaces are in this idl file
  10. //
  11. // Classes:
  12. //
  13. // Functions:
  14. //
  15. // History: 1-09-1997 JohannP (Johann Posch) Created
  16. //
  17. //----------------------------------------------------------------------------
  18. //#include "msnotify.idl";
  19. import "msnotify.idl";
  20. #pragma midl_echo("#include <msnotify.h> ")
  21. typedef GUID PROCESSCOOKIE, *PPROCESSCOOKIE;
  22. typedef [unique] IEnumNotificationSinkItem *LPENUMNOTIFICATIONSINKITEM;
  23. ///
  24. cpp_quote("#ifndef _LPNOTIFICATIONHELPER_DEFINED")
  25. cpp_quote("#define _LPNOTIFICATIONHELPER_DEFINED")
  26. [
  27. local,
  28. object,
  29. uuid(c733e4ab-576e-11d0-b28c-00c04fd7cd22),
  30. pointer_default(unique)
  31. ]
  32. interface INotificationHelper : IUnknown
  33. {
  34. typedef [unique] INotificationHelper *LPNOTIFICATIONHELPER;
  35. }
  36. cpp_quote("#endif")
  37. ///
  38. cpp_quote("#ifndef _LPNOTIFICATIONPING_DEFINED")
  39. cpp_quote("#define _LPNOTIFICATIONPING_DEFINED")
  40. [
  41. local,
  42. object,
  43. uuid(c733e4ac-576e-11d0-b28c-00c04fd7cd22),
  44. pointer_default(unique)
  45. ]
  46. interface INotificationPing : IUnknown
  47. {
  48. typedef [unique] INotificationPing *LPNOTIFICATIONPING;
  49. }
  50. cpp_quote("#endif")
  51. ///
  52. cpp_quote("#ifndef _LPNOTIFICATIONRUNNING_DEFINED")
  53. cpp_quote("#define _LPNOTIFICATIONRUNNING_DEFINED")
  54. [
  55. local,
  56. object,
  57. uuid(c733e4ad-576e-11d0-b28c-00c04fd7cd22),
  58. pointer_default(unique)
  59. ]
  60. interface INotificationRunning : IUnknown
  61. {
  62. typedef [unique] INotificationRunning *LPNOTIFICATIONRUNNING;
  63. }
  64. cpp_quote("#endif")
  65. typedef struct _tagNotificationSinkItem
  66. {
  67. LPNOTIFICATIONSINK pNotfctnSink; // can be null - see mode
  68. CLSID NotificationDest;
  69. NOTFSINKMODE NotfctnSinkMode;
  70. ULONG cNotifications;
  71. PNOTIFICATIONTYPE pNotificationIDs;
  72. NOTIFICATIONCOOKIE RegisterCookie;
  73. DWORD dwReserved;
  74. } NOTIFICATIONSINKITEM, *LPNOTIFICATIONSINKITEM;
  75. cpp_quote("#ifndef _LPENUMSCHEDULEGROUP_DEFINED")
  76. cpp_quote("#define _LPENUMSCHEDULEGROUP_DEFINED")
  77. [
  78. local,
  79. object,
  80. uuid(c733e4aa-576e-11d0-b28c-00c04fd7cd22),
  81. pointer_default(unique)
  82. ]
  83. interface IEnumNotificationSinkItem : IUnknown
  84. {
  85. //typedef [unique] IEnumNotificationSinkItem *LPENUMNOTIFICATIONSINKITEM;
  86. [local]
  87. HRESULT Next(
  88. [in] ULONG celt,
  89. [out, size_is(celt), length_is(*pceltFetched)]
  90. LPNOTIFICATIONSINKITEM *rgelt,
  91. [out] ULONG *pceltFetched);
  92. [call_as(Next)]
  93. HRESULT RemoteNext(
  94. [in] ULONG celt,
  95. [out, size_is(celt), length_is(*pceltFetched)]
  96. LPNOTIFICATIONSINKITEM *rgelt,
  97. [out] ULONG *pceltFetched);
  98. HRESULT Skip(
  99. [in] ULONG celt);
  100. HRESULT Reset();
  101. HRESULT Clone(
  102. [out] IEnumNotificationSinkItem **ppenum);
  103. }
  104. cpp_quote("#endif")
  105. #if 0
  106. ///
  107. cpp_quote("#ifndef _LPNOTIFICATIONPROCESSMGR_DEFINED")
  108. cpp_quote("#define _LPNOTIFICATIONPROCESSMGR_DEFINED")
  109. [
  110. local,
  111. object,
  112. uuid(c733e4af-576e-11d0-b28c-00c04fd7cd22),
  113. pointer_default(unique)
  114. ]
  115. interface INotificationProcessMgr : IUnknown
  116. {
  117. typedef [unique] INotificationProcessMgr *LPNOTIFICATIONPROCESSMGR;
  118. typedef enum _tagNOTIFICATIONMGRMODE
  119. {
  120. // **** FLAGS OF THE NOTIFICATIONMGR ***
  121. //
  122. // the normal mode is to deliver imedialty
  123. // and async (postmessage to enter thread
  124. // of destination
  125. // this process is the default process
  126. NM_DEFAULT_PROCESS = 0x00000001
  127. // set this thread as the default thread of this process
  128. ,NM_DEFAULT_THREAD = 0x00000002
  129. } _NOTIFICATIONMGRMODE;
  130. typedef DWORD NOTIFICATIONMGRMODE;
  131. HRESULT InitializeForProcess(
  132. // the clsid of the process
  133. [in] REFCLSID rClsID,
  134. // initialization mode
  135. [in] DWORD initializeMode,
  136. // a reserved again
  137. [in] DWORD dwReserved
  138. );
  139. HRESULT UninitializeForProcess(
  140. // the clsid of the process
  141. [in] REFCLSID rClsID,
  142. // initialization mode
  143. [in] DWORD dwMode,
  144. // a reserved again
  145. [in] DWORD dwReserved
  146. );
  147. }
  148. cpp_quote("#endif")
  149. #endif // 0