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.

351 lines
9.2 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997 - 1999
  6. //
  7. // File: nsimgm.idl
  8. //
  9. //--------------------------------------------------------------------------
  10. [
  11. uuid (d6d70ef0-0e3b-11cb-acc3-08002b1d29c4),
  12. version (1.0),
  13. pointer_default (unique)
  14. ]
  15. interface NsiM
  16. {
  17. import"nsicom.idl";
  18. /*
  19. * N S I _ G R O U P _ D E L E T E
  20. *
  21. * Remove a group attribute from a name service entry.
  22. */
  23. void nsi_group_delete
  24. (
  25. [in] UNSIGNED32 group_name_syntax,
  26. [in] STRING_T group_name,
  27. [out] UNSIGNED16 * status
  28. );
  29. /*
  30. * N S I _ G R O U P _ M B R _ A D D
  31. *
  32. * Add a an entry name to a group, if necessary, create the group.
  33. */
  34. void nsi_group_mbr_add
  35. (
  36. [in] UNSIGNED32 group_name_syntax,
  37. [in] STRING_T group_name,
  38. [in] UNSIGNED32 member_name_syntax,
  39. [in] STRING_T member_name,
  40. [out] UNSIGNED16 * status
  41. );
  42. /*
  43. * N S I _ G R O U P _ M B R _ R E M O V E
  44. *
  45. * Delete a an entry name to a group.
  46. */
  47. void nsi_group_mbr_remove
  48. (
  49. [in] UNSIGNED32 group_name_syntax,
  50. [in] STRING_T group_name,
  51. [in] UNSIGNED32 member_name_syntax,
  52. [in] STRING_T member_name,
  53. [out] UNSIGNED16 * status
  54. );
  55. /*
  56. * N S I _ G R O U P _ M B R _ I N Q _ B E G I N
  57. *
  58. * Create an inquiry context for an group with a certain name syntax..
  59. */
  60. void nsi_group_mbr_inq_begin
  61. (
  62. #ifdef __CLIENT__ // workaround for midl bug.
  63. [in] handle_t function_explicit_handle,
  64. #endif
  65. [in] UNSIGNED32 group_name_syntax,
  66. [in] STRING_T group_name,
  67. [in] UNSIGNED32 member_name_syntax,
  68. [out] NSI_NS_HANDLE_T * inq_context,
  69. [out] UNSIGNED16 * status
  70. );
  71. /*
  72. * N S I _ G R O U P _ M B R _ I N Q _ N E X T
  73. *
  74. * Return the next group member in name service group.
  75. */
  76. void nsi_group_mbr_inq_next
  77. (
  78. [in] NSI_NS_HANDLE_T inq_context,
  79. [out] STRING_T * member_name,
  80. [out] UNSIGNED16 * status
  81. );
  82. /*
  83. * N S I _ G R O U P _ M B R _ I N Q _ D O N E
  84. *
  85. * Delete a inquiry context for a group.
  86. */
  87. void nsi_group_mbr_inq_done
  88. (
  89. [in,out] NSI_NS_HANDLE_T * inq_context,
  90. [out] UNSIGNED16 * status
  91. );
  92. /*
  93. * N S I _ P R O F I L E _ D E L E T E
  94. *
  95. * Remove a profile attribute from a name service entry.
  96. */
  97. void nsi_profile_delete
  98. (
  99. [in] UNSIGNED32 profile_name_syntax,
  100. [in] STRING_T profile_name,
  101. [out] UNSIGNED16 * status
  102. );
  103. /*
  104. * N S I _ P R O F I L E _ E L T _ A D D
  105. *
  106. * Add a an entry name to a profile, if necessary, create the profile.
  107. */
  108. void nsi_profile_elt_add
  109. (
  110. [in] UNSIGNED32 profile_name_syntax,
  111. [in] STRING_T profile_name,
  112. [in] NSI_IF_ID_P_T if_id,
  113. [in] UNSIGNED32 member_name_syntax,
  114. [in] STRING_T member_name,
  115. [in] UNSIGNED32 priority,
  116. [in] STRING_T annotation,
  117. [out] UNSIGNED16 * status
  118. );
  119. /*
  120. * N S I _ P R O F I L E _ E L T _ R E M O V E
  121. *
  122. * Delete a an entry name to a profile.
  123. */
  124. void nsi_profile_elt_remove
  125. (
  126. [in] UNSIGNED32 profile_name_syntax,
  127. [in] STRING_T profile_name,
  128. [in] NSI_IF_ID_P_T if_id,
  129. [in] UNSIGNED32 member_name_syntax,
  130. [in] STRING_T member_name,
  131. [out] UNSIGNED16 * status
  132. );
  133. /*
  134. * N S I _ P R O F I L E _ E L T _ I N Q _ B E G I N
  135. *
  136. * Create an inquiry context for an profile with a certain name syntax..
  137. */
  138. void nsi_profile_elt_inq_begin
  139. (
  140. #ifdef __CLIENT__ // workaround for midl bug.
  141. [in] handle_t function_explicit_handle,
  142. #endif
  143. [in] UNSIGNED32 profile_name_syntax,
  144. [in] STRING_T profile_name,
  145. [in] UNSIGNED32 inquiry_type,
  146. [in] NSI_IF_ID_P_T if_id,
  147. [in] UNSIGNED32 vers_option,
  148. [in] UNSIGNED32 member_name_syntax,
  149. [in] STRING_T member_name,
  150. [out] NSI_NS_HANDLE_T * inq_context,
  151. [out] UNSIGNED16 * status
  152. );
  153. /*
  154. * N S I _ P R O F I L E _ E L T _ I N Q _ N E X T
  155. *
  156. * Return the next profile member in name service profile.
  157. */
  158. void nsi_profile_elt_inq_next
  159. (
  160. [in] NSI_NS_HANDLE_T inq_context,
  161. [in,out] NSI_IF_ID_P_T if_id,
  162. [out] STRING_T * member_name,
  163. [out] UNSIGNED32 * priority,
  164. [out] STRING_T * annotation,
  165. [out] UNSIGNED16 * status
  166. );
  167. /*
  168. * N S I _ P R O F I L E _ E L T _ I N Q _ D O N E
  169. *
  170. * Delete a inquiry context for a profile.
  171. */
  172. void nsi_profile_elt_inq_done
  173. (
  174. [in,out] NSI_NS_HANDLE_T * inq_context,
  175. [out] UNSIGNED16 * status
  176. );
  177. /*
  178. * N S I _ E N T R Y _ O B J E C T _ B E G I N
  179. *
  180. * Create an inquiry context for an server entry's object UUIDs.
  181. */
  182. void nsi_entry_object_inq_begin
  183. (
  184. #ifdef __CLIENT__ // workaround for midl bug.
  185. [in] handle_t function_explicit_handle,
  186. #endif
  187. [in] UNSIGNED32 entry_name_syntax,
  188. [in] STRING_T entry_name,
  189. [out] NSI_NS_HANDLE_T * inq_context,
  190. [out] UNSIGNED16 * status
  191. );
  192. /*
  193. * N S I _ E N T R Y _ O B J E C T _ I N Q _ N E X T
  194. *
  195. * Return the object UUID in a server entry.
  196. */
  197. void nsi_entry_object_inq_next
  198. (
  199. [in] NSI_NS_HANDLE_T inq_context,
  200. [in, out] NSI_UUID_P_T uuid,
  201. [out] UNSIGNED16 * status
  202. );
  203. /*
  204. * N S I _ E N T R Y _ O B J E C T _ I N Q _ D O N E
  205. *
  206. * Delete a inquiry context for a server entry's objects.
  207. */
  208. void nsi_entry_object_inq_done
  209. (
  210. [in,out] NSI_NS_HANDLE_T * inq_context,
  211. [out] UNSIGNED16 * status
  212. );
  213. /*
  214. * N S I _ E N T R Y _ E X P A N D _ N A M E
  215. *
  216. * Expand a cell relative name into a global one.
  217. */
  218. void nsi_entry_expand_name
  219. (
  220. [in] UNSIGNED32 entry_name_syntax,
  221. [in] STRING_T entry_name,
  222. [out] STRING_T * expanded_name,
  223. [out] UNSIGNED16 * status
  224. );
  225. /*
  226. * N S I _ M G M T _ B I N D I N G _ U N E X P O R T
  227. *
  228. * Remove interfaces and/or objects from a given server entry.
  229. */
  230. void nsi_mgmt_binding_unexport
  231. (
  232. [in] UNSIGNED32 entry_name_syntax,
  233. [in] STRING_T entry_name,
  234. [in] NSI_IF_ID_P_T if_id,
  235. [in] UNSIGNED32 vers_option,
  236. [in] NSI_UUID_VECTOR_P_T object_uuid_vec,
  237. [out] UNSIGNED16 * status
  238. );
  239. /*
  240. * N S I _ M G M T _ E N T R Y _ D E L E T E
  241. *
  242. * Delete a server/group/profile name service entry.
  243. */
  244. void nsi_mgmt_entry_delete
  245. (
  246. [in] UNSIGNED32 entry_name_syntax,
  247. [in] STRING_T entry_name,
  248. [out] UNSIGNED16 * status
  249. );
  250. /*
  251. * N S I _ M G M T _ E N T R Y _ C R E A T E
  252. *
  253. * Create a name service entry.
  254. */
  255. void nsi_mgmt_entry_create
  256. (
  257. [in] UNSIGNED32 entry_name_syntax,
  258. [in] STRING_T entry_name,
  259. [out] UNSIGNED16 * status
  260. );
  261. /*
  262. * N S I _ M G M T _ E N T R Y _ I N Q _ I F D S
  263. *
  264. * Inquiry the interfaces at a given name service entry.
  265. */
  266. void nsi_mgmt_entry_inq_if_ids
  267. (
  268. [in] UNSIGNED32 entry_name_syntax,
  269. [in] STRING_T entry_name,
  270. [out] NSI_IF_ID_VECTOR_T ** if_id_vec,
  271. [out] UNSIGNED16 * status
  272. );
  273. /*
  274. * N S I _ M G M T _ I N Q _ E X P _ A G E
  275. *
  276. * Inquiry the global age of entries cached.
  277. */
  278. void nsi_mgmt_inq_exp_age
  279. (
  280. [out] UNSIGNED32 * expiration_age,
  281. [out] UNSIGNED16 * status
  282. );
  283. /*
  284. * N S I _ M G M T _ I N Q _ S E T _ A G E
  285. *
  286. * Set the global age of entries cached.
  287. */
  288. void nsi_mgmt_inq_set_age
  289. (
  290. [in] UNSIGNED32 expiration_age,
  291. [out] UNSIGNED16 * status
  292. );
  293. }