Source code of Windows XP (NT5)
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.

143 lines
4.6 KiB

  1. /****************************************************************************/
  2. // jetrpc.idl
  3. //
  4. // RPC IDL covering the network interface between the Jet RPC client
  5. // tssdjet.dll (a TS Session Directory provider) and the server (dis.exe -
  6. // server component).
  7. //
  8. // Copyright (C) 2000 Microsoft Corporation
  9. /****************************************************************************/
  10. // Copied from tssd.h for use here.
  11. #define TSSD_MaxDisconnectedSessions 10
  12. // Length of some strings
  13. #define TSSD_UserNameLen 256
  14. #define TSSD_DomainLength 128
  15. #define TSSD_ServAddrLen 64
  16. #define TSSD_AppTypeLen 256
  17. // The number uuid was generated by UUIDGEN, and
  18. // is unique across time and space. This number should
  19. // never change for this service.
  20. [
  21. uuid(aa177641-fc9b-41bd-80ff-f964a701596f),
  22. version(1.0),
  23. pointer_default(unique)
  24. ]
  25. interface TSSDJetRPC
  26. {
  27. import "wtypes.idl";
  28. typedef [context_handle] void *HCLIENTINFO;
  29. typedef [string] WCHAR *TSSD_UserName;
  30. typedef [string] WCHAR *TSSD_Domain;
  31. typedef [string] WCHAR *TSSD_ServAddr;
  32. typedef [string] WCHAR *TSSD_AppType;
  33. typedef [range(0,10)] DWORD NumSessions_t;
  34. typedef struct {
  35. TSSD_ServAddr ServerAddress;
  36. DWORD SessionID;
  37. DWORD TSProtocol;
  38. TSSD_AppType AppType;
  39. DWORD ResolutionWidth;
  40. DWORD ResolutionHeight;
  41. DWORD ColorDepth;
  42. DWORD CreateTimeLow;
  43. DWORD CreateTimeHigh;
  44. DWORD DisconnectTimeLow;
  45. DWORD DisconnectTimeHigh;
  46. DWORD State;
  47. } TSSD_DiscSessInfo;
  48. typedef struct {
  49. TSSD_UserName UserName;
  50. TSSD_Domain Domain;
  51. DWORD SessionID;
  52. DWORD TSProtocol;
  53. TSSD_AppType AppType;
  54. DWORD ResolutionWidth;
  55. DWORD ResolutionHeight;
  56. DWORD ColorDepth;
  57. DWORD CreateTimeLow;
  58. DWORD CreateTimeHigh;
  59. DWORD DisconnectTimeLow;
  60. DWORD DisconnectTimeHigh;
  61. DWORD State;
  62. } TSSD_RepopInfo;
  63. DWORD TSSDRpcServerOnline(
  64. [in] handle_t Binding,
  65. [in, string] WCHAR *ClusterName, // Max 64 chars incl. null.
  66. [out] HCLIENTINFO *hCI,
  67. [in] DWORD SrvOnlineFlags);
  68. DWORD TSSDRpcServerOffline(
  69. [in] handle_t Binding,
  70. [in, out] HCLIENTINFO *hCI);
  71. DWORD TSSDRpcGetUserDisconnectedSessions(
  72. [in] handle_t Binding,
  73. [in, out] HCLIENTINFO *hCI,
  74. [in, string] WCHAR *UserName, // Max 256 chars incl. null.
  75. [in, string] WCHAR *Domain, // Max 128 chars incl. null.
  76. [in, out, ref] NumSessions_t *pNumSessions, // Max 10
  77. // Pointer to an array of Disconnected session info structures
  78. // Note the comma indicates that the size_is applies to the array.
  79. [out, size_is(,*pNumSessions)] TSSD_DiscSessInfo **dsi);
  80. DWORD TSSDRpcCreateSession(
  81. [in] handle_t Binding,
  82. [in, out] HCLIENTINFO *hCI,
  83. [in, string] WCHAR *UserName, // Max 256 chars incl. null.
  84. [in, string] WCHAR *Domain, // Max 128 chars incl. null.
  85. [in] DWORD SessionID,
  86. [in] DWORD TSProtocol,
  87. [in, string] WCHAR *AppType, // Max 256 chars incl. null.
  88. [in] DWORD ResolutionWidth,
  89. [in] DWORD ResolutionHeight,
  90. [in] DWORD ColorDepth,
  91. [in] DWORD CreateTimeLow,
  92. [in] DWORD CreateTimeHigh);
  93. DWORD TSSDRpcDeleteSession(
  94. [in] handle_t Binding,
  95. [in, out] HCLIENTINFO *hCI,
  96. DWORD SessionID);
  97. DWORD TSSDRpcSetSessionDisconnected(
  98. [in] handle_t Binding,
  99. [in, out] HCLIENTINFO *hCI,
  100. DWORD SessionID,
  101. DWORD DiscTimeLow,
  102. DWORD DiscTimeHigh);
  103. DWORD TSSDRpcSetSessionReconnected(
  104. [in] handle_t Binding,
  105. [in, out] HCLIENTINFO *hCI,
  106. DWORD SessionID,
  107. DWORD TSProtocol,
  108. DWORD ResWidth,
  109. DWORD ResHeight,
  110. DWORD ColorDepth);
  111. DWORD TSSDRpcSetServerReconnectPending(
  112. [in] handle_t Binding,
  113. [in, string] WCHAR *ServerAddress,
  114. DWORD AlmostTimeLow,
  115. DWORD AlmostTimeHigh);
  116. DWORD TSSDRpcRepopulateAllSessions(
  117. [in] handle_t Binding,
  118. [in, out] HCLIENTINFO *hCI,
  119. [in] DWORD NumSessions,
  120. [in, size_is(NumSessions)] TSSD_RepopInfo rpi[]);
  121. DWORD TSSDRpcUpdateConfigurationSetting(
  122. [in] handle_t Binding,
  123. [in, out] HCLIENTINFO *hCI,
  124. [in] DWORD dwSetting,
  125. [in] DWORD dwSettingLength,
  126. [in, size_is(dwSettingLength)] BYTE pbValue[]);
  127. }