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.

134 lines
2.8 KiB

  1. /*++
  2. Copyright (c) 1991 Microsoft Corporation
  3. Module Name:
  4. msgsvc.idl
  5. Abstract:
  6. This is the IDL file that describes the RPC interface for the
  7. remotable NetMessage API that reside in the messenger service.
  8. NOTE: NetMessageBufferSend is in the workstation interface.
  9. Author:
  10. Dan Lafferty (danl) 28-May-1991
  11. Environment:
  12. User Mode -Win32
  13. Revision History:
  14. 28-May-1991 danl
  15. Created
  16. --*/
  17. //
  18. // Interface Attributes
  19. //
  20. [
  21. uuid(17FDD703-1827-4E34-79D4-24A55C53BB37),
  22. version(1.0),
  23. #ifdef __midl
  24. ms_union,
  25. #endif // __midl
  26. pointer_default(unique)
  27. ]
  28. //
  29. // Interface Keyword
  30. //
  31. interface msgsvc
  32. //
  33. // Interface Body
  34. //
  35. {
  36. import "imports.idl";
  37. #include <lmcons.h>
  38. //
  39. // Define handle types
  40. //
  41. typedef [handle] LPWSTR MSGSVC_HANDLE;
  42. //
  43. // Data Structures Used for Enumeration
  44. //
  45. typedef struct _MSG_INFO_0_CONTAINER {
  46. DWORD EntriesRead;
  47. [size_is(EntriesRead)] LPMSG_INFO_0 Buffer;
  48. } MSG_INFO_0_CONTAINER, *PMSG_INFO_0_CONTAINER, *LPMSG_INFO_0_CONTAINER;
  49. typedef struct _MSG_INFO_1_CONTAINER {
  50. DWORD EntriesRead;
  51. [size_is(EntriesRead)] LPMSG_INFO_1 Buffer;
  52. } MSG_INFO_1_CONTAINER, *PMSG_INFO_1_CONTAINER, *LPMSG_INFO_1_CONTAINER;
  53. typedef struct _MSG_ENUM_STRUCT {
  54. DWORD Level;
  55. [switch_is(Level)] union _MSG_ENUM_UNION {
  56. [case(0)] LPMSG_INFO_0_CONTAINER Level0;
  57. [case(1)] LPMSG_INFO_1_CONTAINER Level1;
  58. } MsgInfo;
  59. } MSG_ENUM_STRUCT, *PMSG_ENUM_STRUCT, *LPMSG_ENUM_STRUCT;
  60. //
  61. // Data Structures Used for GetInfo
  62. // (this would also be used for SetInfo if there was one.)
  63. //
  64. typedef [switch_type(DWORD)] union _MSG_INFO {
  65. [case(0)] LPMSG_INFO_0 MsgInfo0;
  66. [case(1)] LPMSG_INFO_1 MsgInfo1;
  67. } MSG_INFO, *PMSG_INFO, *LPMSG_INFO;
  68. //
  69. // Function Prototypes
  70. //
  71. NET_API_STATUS NET_API_FUNCTION
  72. NetrMessageNameAdd (
  73. [in,string,unique] MSGSVC_HANDLE ServerName,
  74. [in,string] LPWSTR MsgName
  75. );
  76. NET_API_STATUS NET_API_FUNCTION
  77. NetrMessageNameEnum (
  78. [in,string,unique] MSGSVC_HANDLE ServerName,
  79. [in,out] LPMSG_ENUM_STRUCT InfoStruct,
  80. [in] DWORD PrefMaxLen,
  81. [out] LPDWORD TotalEntries,
  82. [in,out,unique] LPDWORD ResumeHandle
  83. );
  84. NET_API_STATUS NET_API_FUNCTION
  85. NetrMessageNameGetInfo (
  86. [in,string,unique] MSGSVC_HANDLE ServerName,
  87. [in,string] LPWSTR MsgName,
  88. [in] DWORD Level,
  89. [out, switch_is(Level)] LPMSG_INFO InfoStruct
  90. );
  91. NET_API_STATUS NET_API_FUNCTION
  92. NetrMessageNameDel (
  93. [in,string,unique] MSGSVC_HANDLE ServerName,
  94. [in,string] LPWSTR MsgName
  95. );
  96. }