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.

275 lines
7.6 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (c) Microsoft Corporation. All rights reserved.
  5. //
  6. // File: netcfgn.idl
  7. //
  8. //----------------------------------------------------------------------------
  9. cpp_quote("//+-------------------------------------------------------------------------")
  10. cpp_quote("//")
  11. cpp_quote("// Microsoft Windows")
  12. cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
  13. cpp_quote("//")
  14. cpp_quote("//--------------------------------------------------------------------------")
  15. cpp_quote("#if ( _MSC_VER >= 800 )")
  16. cpp_quote("#pragma warning(disable:4201)")
  17. cpp_quote("#endif")
  18. #ifndef DO_NO_IMPORTS
  19. import "unknwn.idl";
  20. import "wtypes.idl";
  21. import "netcfgx.idl";
  22. #endif
  23. [
  24. local,
  25. object,
  26. uuid(8d84bd35-e227-11d2-b700-00a0c98a6a85),
  27. pointer_default(unique)
  28. ]
  29. interface INetCfgPnpReconfigCallback : IUnknown
  30. {
  31. typedef [v1_enum] enum tagNCPNP_RECONFIG_LAYER
  32. {
  33. NCRL_NDIS = 1,
  34. NCRL_TDI = 2
  35. } NCPNP_RECONFIG_LAYER;
  36. HRESULT SendPnpReconfig (
  37. [in] NCPNP_RECONFIG_LAYER Layer,
  38. [in] LPCWSTR pszwUpper,
  39. [in] LPCWSTR pszwLower,
  40. [in] PVOID pvData,
  41. [in] DWORD dwSizeOfData);
  42. };
  43. [
  44. local,
  45. object,
  46. uuid(932238df-bea1-11d0-9298-00c04fc99dcf),
  47. pointer_default(unique)
  48. ]
  49. interface INetCfgComponentControl : IUnknown
  50. {
  51. HRESULT Initialize (
  52. [in] INetCfgComponent* pIComp,
  53. [in] INetCfg* pINetCfg,
  54. [in] BOOL fInstalling);
  55. HRESULT ApplyRegistryChanges ();
  56. HRESULT ApplyPnpChanges (
  57. [in] INetCfgPnpReconfigCallback* pICallback);
  58. HRESULT CancelChanges ();
  59. };
  60. [
  61. local,
  62. object,
  63. uuid(932238e3-bea1-11d0-9298-00c04fc99dcf),
  64. pointer_default(unique)
  65. ]
  66. interface INetCfgComponentSetup : IUnknown
  67. {
  68. typedef [v1_enum] enum tagNETWORK_INSTALL_TIME
  69. {
  70. NSF_PRIMARYINSTALL = 0x00000001,
  71. NSF_POSTSYSINSTALL = 0x00000002
  72. } NETWORK_INSTALL_TIME;
  73. typedef [v1_enum] enum tagNETWORK_UPGRADE_TYPE
  74. {
  75. NSF_WIN16_UPGRADE = 0x00000010,
  76. NSF_WIN95_UPGRADE = 0x00000020,
  77. NSF_WINNT_WKS_UPGRADE = 0x00000040,
  78. NSF_WINNT_SVR_UPGRADE = 0x00000080,
  79. NSF_WINNT_SBS_UPGRADE = 0x00000100,
  80. NSF_COMPONENT_UPDATE = 0x00000200,
  81. } NETWORK_UPGRADE_TYPE;
  82. HRESULT Install (
  83. [in] DWORD dwSetupFlags);
  84. HRESULT Upgrade(
  85. [in] DWORD dwSetupFlags,
  86. [in] DWORD dwUpgradeFomBuildNo );
  87. HRESULT ReadAnswerFile(
  88. [in] LPCWSTR pszwAnswerFile,
  89. [in] LPCWSTR pszwAnswerSections);
  90. HRESULT Removing ();
  91. };
  92. [
  93. local,
  94. object,
  95. uuid(932238e0-bea1-11d0-9298-00c04fc99dcf),
  96. pointer_default(unique)
  97. ]
  98. interface INetCfgComponentPropertyUi : IUnknown
  99. {
  100. typedef [v1_enum] enum tagDEFAULT_PAGES
  101. {
  102. DPP_ADVANCED = 1,
  103. } DEFAULT_PAGES;
  104. HRESULT QueryPropertyUi (
  105. [in] IUnknown * pUnkReserved);
  106. HRESULT SetContext (
  107. [in] IUnknown * pUnkReserved);
  108. HRESULT MergePropPages (
  109. [in, out] DWORD* pdwDefPages,
  110. [out] BYTE** pahpspPrivate,
  111. [out] UINT* pcPages,
  112. [in] HWND hwndParent,
  113. [out] LPCWSTR *pszStartPage);
  114. HRESULT ValidateProperties (
  115. [in] HWND hwndSheet);
  116. HRESULT ApplyProperties ();
  117. HRESULT CancelProperties ();
  118. };
  119. [
  120. local,
  121. object,
  122. uuid(932238e1-bea1-11d0-9298-00c04fc99dcf),
  123. pointer_default(unique)
  124. ]
  125. interface INetCfgComponentNotifyBinding : IUnknown
  126. {
  127. typedef [v1_enum] enum tagBIND_FLAGS1
  128. {
  129. NCN_ADD = 0x00000001,
  130. NCN_REMOVE = 0x00000002,
  131. NCN_UPDATE = 0x00000004,
  132. NCN_ENABLE = 0x00000010,
  133. NCN_DISABLE = 0x00000020,
  134. NCN_BINDING_PATH = 0x00000100,
  135. NCN_PROPERTYCHANGE = 0x00000200,
  136. NCN_NET = 0x00010000,
  137. NCN_NETTRANS = 0x00020000,
  138. NCN_NETCLIENT = 0x00040000,
  139. NCN_NETSERVICE = 0x00080000,
  140. } BIND_FLAGS1;
  141. HRESULT QueryBindingPath (
  142. [in] DWORD dwChangeFlag,
  143. [in] INetCfgBindingPath* pIPath);
  144. HRESULT NotifyBindingPath (
  145. [in] DWORD dwChangeFlag,
  146. [in] INetCfgBindingPath* pIPath);
  147. };
  148. [
  149. local,
  150. object,
  151. uuid(932238e2-bea1-11d0-9298-00c04fc99dcf),
  152. pointer_default(unique)
  153. ]
  154. interface INetCfgComponentNotifyGlobal : IUnknown
  155. {
  156. HRESULT GetSupportedNotifications (
  157. [out] DWORD* dwNotifications);
  158. HRESULT SysQueryBindingPath (
  159. [in] DWORD dwChangeFlag,
  160. [in] INetCfgBindingPath* pIPath);
  161. HRESULT SysNotifyBindingPath (
  162. [in] DWORD dwChangeFlag,
  163. [in] INetCfgBindingPath* pIPath);
  164. HRESULT SysNotifyComponent (
  165. [in] DWORD dwChangeFlag,
  166. [in] INetCfgComponent* pIComp);
  167. };
  168. [
  169. local,
  170. object,
  171. uuid(932238e4-bea1-11d0-9298-00c04fc99dcf),
  172. pointer_default(unique)
  173. ]
  174. interface INetCfgComponentUpperEdge : IUnknown
  175. {
  176. // Return an array of interface ids for an adapter bound to
  177. // this component. If the specified adapter does not have explicit
  178. // interfaces exported from it, S_FALSE is returned.
  179. // pAdapter is the adapter in question.
  180. // pdwNumInterfaces is the address of a DWORD where the count of elements
  181. // returned via ppguidInterfaceIds is stored.
  182. // ppguidInterfaceIds is the address of a pointer where an allocated
  183. // block of memory is returned. This memory is an array of interface ids.
  184. // *ppguidInterfaceIds should be free with CoTaskMemFree if S_OK is
  185. // returned. if S_FALSE is returned, *pdwNumInterfaces and
  186. // *ppguidInterfaceIds should be NULL.
  187. //
  188. HRESULT GetInterfaceIdsForAdapter (
  189. [in] INetCfgComponent* pAdapter,
  190. [out] DWORD* pdwNumInterfaces,
  191. [out] GUID** ppguidInterfaceIds);
  192. // Add the specified number of new interfaces to the specified adapter.
  193. // The implementation will choose the interface ids.
  194. //
  195. HRESULT AddInterfacesToAdapter (
  196. [in] INetCfgComponent* pAdapter,
  197. [in] DWORD dwNumInterfaces);
  198. // Remove the specified interface ids from the specified adapter.
  199. // pguidInterfaceIds is the array of ids to be removed. dwNumInterfaces
  200. // is the count in that array.
  201. //
  202. HRESULT RemoveInterfacesFromAdapter (
  203. [in] INetCfgComponent* pAdapter,
  204. [in] DWORD dwNumInterfaces,
  205. [in] const GUID* pguidInterfaceIds);
  206. };
  207. //+---------------------------------------------------------------------------
  208. // INetLanConnectionUiInfo - Used to obtain LAN connection-specific info
  209. //
  210. [
  211. object,
  212. uuid(C08956A6-1CD3-11D1-B1C5-00805FC1270E),
  213. pointer_default(unique)
  214. ]
  215. interface INetLanConnectionUiInfo : IUnknown
  216. {
  217. HRESULT GetDeviceGuid (
  218. [out] GUID* pguid);
  219. };
  220. //+---------------------------------------------------------------------------
  221. // INetCfgComponentSysPrep - Used by SysPrep and mini-setup
  222. //
  223. [
  224. local,
  225. object,
  226. uuid(C0E8AE9A-306E-11D1-AACF-00805FC1270E),
  227. pointer_default(unique)
  228. ]
  229. interface INetCfgComponentSysPrep : IUnknown
  230. {
  231. HRESULT SaveAdapterParameters(
  232. [in] INetCfgSysPrep* pncsp,
  233. [in] LPCWSTR pszwAnswerSections,
  234. [in] GUID* pAdapterInstanceGuid);
  235. HRESULT RestoreAdapterParameters(
  236. [in] LPCWSTR pszwAnswerFile,
  237. [in] LPCWSTR pszwAnswerSection,
  238. [in] GUID* pAdapterInstanceGuid);
  239. };