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.

334 lines
7.7 KiB

  1. /********************************************************************/
  2. /** Copyright(c) 1991 Microsoft Corporation. **/
  3. /********************************************************************/
  4. //***
  5. //
  6. // Filename: afpsvc.idl
  7. //
  8. // Description: Contains the AfpAdminr (Afp Remote) RPC interface
  9. // specification for the API associated with the Afp Server
  10. // Service. Also contains the RPC specific data structures for
  11. // these APIs.
  12. //
  13. // History:
  14. // June 11,1992. NarenG Created original version.
  15. //
  16. // ??? Use UUID generator when it is working ???
  17. // ??? Do we still need the #define LPWSTR ???
  18. //
  19. // Interface Attributes
  20. //
  21. [
  22. uuid(4B324FC8-1670-01D3-1278-5A47BF6EE188),
  23. version(0.0),
  24. pointer_default(unique)
  25. ]
  26. interface afpsvc
  27. {
  28. import "import.idl";
  29. //
  30. // BUGBUG - remove this when MIDL understands LPWSTR
  31. //
  32. #define LPWSTR wchar_t*
  33. typedef [handle] AFP_SERVER_HANDLE AFPSVC_HANDLE;
  34. //
  35. // Volume API
  36. //
  37. //
  38. // Structures - AfpAdminrVolume
  39. //
  40. typedef struct _VOLUME_INFO_CONTAINER {
  41. DWORD dwEntriesRead;
  42. [size_is(dwEntriesRead)] PAFP_VOLUME_INFO pBuffer;
  43. } VOLUME_INFO_CONTAINER, *PVOLUME_INFO_CONTAINER;
  44. //
  45. // Function Prototypes - AfpAdminVolume
  46. //
  47. DWORD
  48. AfpAdminrVolumeEnum (
  49. [in] AFPSVC_HANDLE hServer,
  50. [in,out] PVOLUME_INFO_CONTAINER pInfoStruct,
  51. [in] DWORD dwPreferedMaximumLength,
  52. [out] LPDWORD lpdwTotalEntries,
  53. [in,out,unique] LPDWORD lpdwResumeHandle
  54. );
  55. DWORD
  56. AfpAdminrVolumeSetInfo (
  57. [in] AFPSVC_HANDLE hServer,
  58. [in] PAFP_VOLUME_INFO pAfpVolumeInfo,
  59. [in] DWORD dwParmNum
  60. );
  61. DWORD
  62. AfpAdminrVolumeGetInfo (
  63. [in] AFPSVC_HANDLE hServer,
  64. [in,string] LPWSTR lpwsVolumeName,
  65. [out] PAFP_VOLUME_INFO* ppAfpVolumeInfo
  66. );
  67. DWORD
  68. AfpAdminrVolumeDelete(
  69. [in] AFPSVC_HANDLE hServer,
  70. [in,string] LPWSTR lpwsVolumeName
  71. );
  72. DWORD
  73. AfpAdminrVolumeAdd(
  74. [in] AFPSVC_HANDLE hServer,
  75. [in] PAFP_VOLUME_INFO pAfpVolumeInfo
  76. );
  77. DWORD
  78. AfpAdminrInvalidVolumeEnum (
  79. [in] AFPSVC_HANDLE hServer,
  80. [in,out] PVOLUME_INFO_CONTAINER pInfoStruct
  81. );
  82. DWORD
  83. AfpAdminrInvalidVolumeDelete(
  84. [in] AFPSVC_HANDLE hServer,
  85. [in,string] LPWSTR lpwsVolumeName
  86. );
  87. //
  88. // Function prototypes - AfpAdminDirectory
  89. //
  90. DWORD
  91. AfpAdminrDirectoryGetInfo(
  92. [in] AFPSVC_HANDLE hServer,
  93. [in,string] LPWSTR lpwsPath,
  94. [in,out] PAFP_DIRECTORY_INFO* ppAfpDirectoryInfo
  95. );
  96. DWORD
  97. AfpAdminrDirectorySetInfo(
  98. [in] AFPSVC_HANDLE hServer,
  99. [in] PAFP_DIRECTORY_INFO pAfpDirectoryInfo,
  100. [in] DWORD dwParmNum
  101. );
  102. //
  103. // Function prototypes - AfpAdminServer
  104. //
  105. DWORD
  106. AfpAdminrServerGetInfo(
  107. [in] AFPSVC_HANDLE hServer,
  108. [in,out] PAFP_SERVER_INFO* ppAfpServerInfo
  109. );
  110. DWORD
  111. AfpAdminrServerSetInfo(
  112. [in] AFPSVC_HANDLE hServer,
  113. [in] PAFP_SERVER_INFO pAfpServerInfo,
  114. [in] DWORD dwParmNum
  115. );
  116. //
  117. // Session API
  118. //
  119. //
  120. // Structures - AfpAdminrSession
  121. //
  122. typedef struct _SESSION_INFO_CONTAINER {
  123. DWORD dwEntriesRead;
  124. [size_is(dwEntriesRead)] PAFP_SESSION_INFO pBuffer;
  125. } SESSION_INFO_CONTAINER, *PSESSION_INFO_CONTAINER;
  126. //
  127. // Function Prototypes - AfpAdminSession
  128. //
  129. DWORD
  130. AfpAdminrSessionEnum (
  131. [in] AFPSVC_HANDLE hServer,
  132. [in,out] PSESSION_INFO_CONTAINER pInfoStruct,
  133. [in] DWORD dwPreferedMaximumLength,
  134. [out] LPDWORD lpdwTotalEntries,
  135. [in,out,unique] LPDWORD lpdwResumeHandle
  136. );
  137. DWORD
  138. AfpAdminrSessionClose(
  139. [in] AFPSVC_HANDLE hServer,
  140. [in] DWORD dwSessionId
  141. );
  142. //
  143. // Connection API
  144. //
  145. //
  146. // Structures - AfpAdminrConnection
  147. //
  148. typedef struct _CONN_INFO_CONTAINER {
  149. DWORD dwEntriesRead;
  150. [size_is(dwEntriesRead)] PAFP_CONNECTION_INFO pBuffer;
  151. } CONN_INFO_CONTAINER, *PCONN_INFO_CONTAINER;
  152. //
  153. // Function Prototypes - AfpAdminConnection
  154. //
  155. DWORD
  156. AfpAdminrConnectionEnum (
  157. [in] AFPSVC_HANDLE hServer,
  158. [in,out] PCONN_INFO_CONTAINER pInfoStruct,
  159. [in] DWORD dwFilter,
  160. [in] DWORD dwId,
  161. [in] DWORD dwPreferedMaximumLength,
  162. [out] LPDWORD lpdwTotalEntries,
  163. [in,out,unique] LPDWORD lpdwResumeHandle
  164. );
  165. DWORD
  166. AfpAdminrConnectionClose(
  167. [in] AFPSVC_HANDLE hServer,
  168. [in] DWORD dwConnectionId
  169. );
  170. //
  171. // File API
  172. //
  173. //
  174. // Structures - AfpAdminrFile
  175. //
  176. typedef struct _FILE_INFO_CONTAINER {
  177. DWORD dwEntriesRead;
  178. [size_is(dwEntriesRead)] PAFP_FILE_INFO pBuffer;
  179. } FILE_INFO_CONTAINER, *PFILE_INFO_CONTAINER;
  180. //
  181. // Function Prototypes - AfpAdminFile
  182. //
  183. DWORD
  184. AfpAdminrFileEnum (
  185. [in] AFPSVC_HANDLE hServer,
  186. [in,out] PFILE_INFO_CONTAINER pInfoStruct,
  187. [in] DWORD dwPreferedMaximumLength,
  188. [out] LPDWORD lpdwTotalEntries,
  189. [in,out,unique] LPDWORD lpdwResumeHandle
  190. );
  191. DWORD
  192. AfpAdminrFileClose(
  193. [in] AFPSVC_HANDLE hServer,
  194. [in] DWORD dwCloseId
  195. );
  196. //
  197. // ETC Mappings API
  198. //
  199. //
  200. // Function prototypes - AfpAdminETCMap
  201. //
  202. DWORD
  203. AfpAdminrETCMapGetInfo(
  204. [in] AFPSVC_HANDLE hServer,
  205. [in,out] PAFP_ETCMAP_INFO *ppAfpETCMapInfo
  206. );
  207. DWORD
  208. AfpAdminrETCMapAdd(
  209. [in] AFPSVC_HANDLE hServer,
  210. [in] PAFP_TYPE_CREATOR pAfpTypeCreator
  211. );
  212. DWORD
  213. AfpAdminrETCMapDelete(
  214. [in] AFPSVC_HANDLE hServer,
  215. [in] PAFP_TYPE_CREATOR pAfpTypeCreator
  216. );
  217. DWORD
  218. AfpAdminrETCMapSetInfo(
  219. [in] AFPSVC_HANDLE hServer,
  220. [in] PAFP_TYPE_CREATOR pAfpTypeCreator
  221. );
  222. DWORD
  223. AfpAdminrETCMapAssociate(
  224. [in] AFPSVC_HANDLE hServer,
  225. [in] PAFP_TYPE_CREATOR pAfpTypeCreator,
  226. [in] PAFP_EXTENSION pAfpExtension
  227. );
  228. //
  229. // Statistics APIs
  230. //
  231. DWORD
  232. AfpAdminrStatisticsGet(
  233. [in] AFPSVC_HANDLE hServer,
  234. [in,out] PAFP_STATISTICS_INFO * ppAfpStatisticsInfo
  235. );
  236. DWORD
  237. AfpAdminrStatisticsGetEx(
  238. [in] AFPSVC_HANDLE hServer,
  239. [in,out] PAFP_STATISTICS_INFO_EX * ppAfpStatisticsInfo
  240. );
  241. DWORD
  242. AfpAdminrStatisticsClear(
  243. [in] AFPSVC_HANDLE hServer
  244. );
  245. //
  246. // Profile API
  247. //
  248. DWORD
  249. AfpAdminrProfileGet(
  250. [in] AFPSVC_HANDLE hServer,
  251. [in,out] PAFP_PROFILE_INFO * ppAfpProfileInfo
  252. );
  253. DWORD
  254. AfpAdminrProfileClear(
  255. [in] AFPSVC_HANDLE hServer
  256. );
  257. //
  258. // Message API
  259. //
  260. DWORD
  261. AfpAdminrMessageSend(
  262. [in] AFPSVC_HANDLE hServer,
  263. [in] PAFP_MESSAGE_INFO pAfpMessageInfo
  264. );
  265. DWORD
  266. AfpAdminrFinderSetInfo(
  267. [in] AFPSVC_HANDLE hServer,
  268. [in,string] LPWSTR lpwsType,
  269. [in,string] LPWSTR lpwsCreator,
  270. [in,string] LPWSTR lpwsData,
  271. [in,string] LPWSTR lpwsResource,
  272. [in,string] LPWSTR lpwsTarget,
  273. [in] DWORD dwParmNum
  274. );
  275. }
  276.