netlistmgr.h 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863
  1. /*** Autogenerated by WIDL 7.7 from include/netlistmgr.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __netlistmgr_h__
  14. #define __netlistmgr_h__
  15. /* Forward declarations */
  16. #ifndef __INetworkCostManager_FWD_DEFINED__
  17. #define __INetworkCostManager_FWD_DEFINED__
  18. typedef interface INetworkCostManager INetworkCostManager;
  19. #ifdef __cplusplus
  20. interface INetworkCostManager;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __INetworkConnectionCost_FWD_DEFINED__
  24. #define __INetworkConnectionCost_FWD_DEFINED__
  25. typedef interface INetworkConnectionCost INetworkConnectionCost;
  26. #ifdef __cplusplus
  27. interface INetworkConnectionCost;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __INetworkCostManagerEvents_FWD_DEFINED__
  31. #define __INetworkCostManagerEvents_FWD_DEFINED__
  32. typedef interface INetworkCostManagerEvents INetworkCostManagerEvents;
  33. #ifdef __cplusplus
  34. interface INetworkCostManagerEvents;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IEnumNetworks_FWD_DEFINED__
  38. #define __IEnumNetworks_FWD_DEFINED__
  39. typedef interface IEnumNetworks IEnumNetworks;
  40. #ifdef __cplusplus
  41. interface IEnumNetworks;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __IEnumNetworkConnections_FWD_DEFINED__
  45. #define __IEnumNetworkConnections_FWD_DEFINED__
  46. typedef interface IEnumNetworkConnections IEnumNetworkConnections;
  47. #ifdef __cplusplus
  48. interface IEnumNetworkConnections;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __INetworkListManager_FWD_DEFINED__
  52. #define __INetworkListManager_FWD_DEFINED__
  53. typedef interface INetworkListManager INetworkListManager;
  54. #ifdef __cplusplus
  55. interface INetworkListManager;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __NetworkListManager_FWD_DEFINED__
  59. #define __NetworkListManager_FWD_DEFINED__
  60. #ifdef __cplusplus
  61. typedef class NetworkListManager NetworkListManager;
  62. #else
  63. typedef struct NetworkListManager NetworkListManager;
  64. #endif /* defined __cplusplus */
  65. #endif /* defined __NetworkListManager_FWD_DEFINED__ */
  66. #ifndef __INetworkListManagerEvents_FWD_DEFINED__
  67. #define __INetworkListManagerEvents_FWD_DEFINED__
  68. typedef interface INetworkListManagerEvents INetworkListManagerEvents;
  69. #ifdef __cplusplus
  70. interface INetworkListManagerEvents;
  71. #endif /* __cplusplus */
  72. #endif
  73. #ifndef __INetworkConnectionEvents_FWD_DEFINED__
  74. #define __INetworkConnectionEvents_FWD_DEFINED__
  75. typedef interface INetworkConnectionEvents INetworkConnectionEvents;
  76. #ifdef __cplusplus
  77. interface INetworkConnectionEvents;
  78. #endif /* __cplusplus */
  79. #endif
  80. #ifndef __INetworkConnection_FWD_DEFINED__
  81. #define __INetworkConnection_FWD_DEFINED__
  82. typedef interface INetworkConnection INetworkConnection;
  83. #ifdef __cplusplus
  84. interface INetworkConnection;
  85. #endif /* __cplusplus */
  86. #endif
  87. #ifndef __INetwork_FWD_DEFINED__
  88. #define __INetwork_FWD_DEFINED__
  89. typedef interface INetwork INetwork;
  90. #ifdef __cplusplus
  91. interface INetwork;
  92. #endif /* __cplusplus */
  93. #endif
  94. #ifndef __INetworkEvents_FWD_DEFINED__
  95. #define __INetworkEvents_FWD_DEFINED__
  96. typedef interface INetworkEvents INetworkEvents;
  97. #ifdef __cplusplus
  98. interface INetworkEvents;
  99. #endif /* __cplusplus */
  100. #endif
  101. /* Headers for imported files */
  102. #include <oaidl.h>
  103. #include <objidl.h>
  104. #ifdef __cplusplus
  105. extern "C" {
  106. #endif
  107. #ifndef __IEnumNetworks_FWD_DEFINED__
  108. #define __IEnumNetworks_FWD_DEFINED__
  109. typedef interface IEnumNetworks IEnumNetworks;
  110. #ifdef __cplusplus
  111. interface IEnumNetworks;
  112. #endif /* __cplusplus */
  113. #endif
  114. #ifndef __IEnumNetworkConnections_FWD_DEFINED__
  115. #define __IEnumNetworkConnections_FWD_DEFINED__
  116. typedef interface IEnumNetworkConnections IEnumNetworkConnections;
  117. #ifdef __cplusplus
  118. interface IEnumNetworkConnections;
  119. #endif /* __cplusplus */
  120. #endif
  121. #ifndef __INetwork_FWD_DEFINED__
  122. #define __INetwork_FWD_DEFINED__
  123. typedef interface INetwork INetwork;
  124. #ifdef __cplusplus
  125. interface INetwork;
  126. #endif /* __cplusplus */
  127. #endif
  128. #ifndef __INetworkConnection_FWD_DEFINED__
  129. #define __INetworkConnection_FWD_DEFINED__
  130. typedef interface INetworkConnection INetworkConnection;
  131. #ifdef __cplusplus
  132. interface INetworkConnection;
  133. #endif /* __cplusplus */
  134. #endif
  135. #ifndef __INetworkConnectionEvents_FWD_DEFINED__
  136. #define __INetworkConnectionEvents_FWD_DEFINED__
  137. typedef interface INetworkConnectionEvents INetworkConnectionEvents;
  138. #ifdef __cplusplus
  139. interface INetworkConnectionEvents;
  140. #endif /* __cplusplus */
  141. #endif
  142. #ifndef __INetworkCostManager_FWD_DEFINED__
  143. #define __INetworkCostManager_FWD_DEFINED__
  144. typedef interface INetworkCostManager INetworkCostManager;
  145. #ifdef __cplusplus
  146. interface INetworkCostManager;
  147. #endif /* __cplusplus */
  148. #endif
  149. #ifndef __INetworkEvents_FWD_DEFINED__
  150. #define __INetworkEvents_FWD_DEFINED__
  151. typedef interface INetworkEvents INetworkEvents;
  152. #ifdef __cplusplus
  153. interface INetworkEvents;
  154. #endif /* __cplusplus */
  155. #endif
  156. #ifndef __INetworkListManager_FWD_DEFINED__
  157. #define __INetworkListManager_FWD_DEFINED__
  158. typedef interface INetworkListManager INetworkListManager;
  159. #ifdef __cplusplus
  160. interface INetworkListManager;
  161. #endif /* __cplusplus */
  162. #endif
  163. #ifndef __INetworkListManagerEvents_FWD_DEFINED__
  164. #define __INetworkListManagerEvents_FWD_DEFINED__
  165. typedef interface INetworkListManagerEvents INetworkListManagerEvents;
  166. #ifdef __cplusplus
  167. interface INetworkListManagerEvents;
  168. #endif /* __cplusplus */
  169. #endif
  170. typedef enum NLM_NETWORK_CLASS {
  171. NLM_NETWORK_IDENTIFYING = 0x1,
  172. NLM_NETWORK_IDENTIFIED = 0x2,
  173. NLM_NETWORK_UNIDENTIFIED = 0x3
  174. } NLM_NETWORK_CLASS;
  175. typedef enum NLM_INTERNET_CONNECTIVITY {
  176. NLM_INTERNET_CONNECTIVITY_WEBHIJACK = 0x1,
  177. NLM_INTERNET_CONNECTIVITY_PROXIED = 0x2,
  178. NLM_INTERNET_CONNECTIVITY_CORPORATE = 0x4
  179. } NLM_INTERNET_CONNECTIVITY;
  180. typedef enum NLM_CONNECTIVITY {
  181. NLM_CONNECTIVITY_DISCONNECTED = 0x0,
  182. NLM_CONNECTIVITY_IPV4_NOTRAFFIC = 0x1,
  183. NLM_CONNECTIVITY_IPV6_NOTRAFFIC = 0x2,
  184. NLM_CONNECTIVITY_IPV4_SUBNET = 0x10,
  185. NLM_CONNECTIVITY_IPV4_LOCALNETWORK = 0x20,
  186. NLM_CONNECTIVITY_IPV4_INTERNET = 0x40,
  187. NLM_CONNECTIVITY_IPV6_SUBNET = 0x100,
  188. NLM_CONNECTIVITY_IPV6_LOCALNETWORK = 0x200,
  189. NLM_CONNECTIVITY_IPV6_INTERNET = 0x400
  190. } NLM_CONNECTIVITY;
  191. typedef enum NLM_DOMAIN_TYPE {
  192. NLM_DOMAIN_TYPE_NON_DOMAIN_NETWORK = 0x0,
  193. NLM_DOMAIN_TYPE_DOMAIN_NETWORK = 0x1,
  194. NLM_DOMAIN_TYPE_DOMAIN_AUTHENTICATED = 0x2
  195. } NLM_DOMAIN_TYPE;
  196. typedef enum NLM_ENUM_NETWORK {
  197. NLM_ENUM_NETWORK_CONNECTED = 0x1,
  198. NLM_ENUM_NETWORK_DISCONNECTED = 0x2,
  199. NLM_ENUM_NETWORK_ALL = 0x3
  200. } NLM_ENUM_NETWORK;
  201. typedef enum NLM_CONNECTION_COST {
  202. NLM_CONNECTION_COST_UNKNOWN = 0x0,
  203. NLM_CONNECTION_COST_UNRESTRICTED = 0x1,
  204. NLM_CONNECTION_COST_FIXED = 0x2,
  205. NLM_CONNECTION_COST_VARIABLE = 0x4,
  206. NLM_CONNECTION_COST_OVERDATALIMIT = 0x10000,
  207. NLM_CONNECTION_COST_CONGESTED = 0x20000,
  208. NLM_CONNECTION_COST_ROAMING = 0x40000,
  209. NLM_CONNECTION_COST_APPROACHINGDATALIMIT = 0x80000
  210. } NLM_CONNECTION_COST;
  211. typedef struct NLM_SOCKADDR {
  212. BYTE data[128];
  213. } NLM_SOCKADDR;
  214. #define NLM_UNKNOWN_DATAPLAN_STATUS (0xffffffff)
  215. typedef struct NLM_USAGE_DATA {
  216. DWORD UsageInMegabytes;
  217. FILETIME LastSyncTime;
  218. } NLM_USAGE_DATA;
  219. typedef struct NLM_DATAPLAN_STATUS {
  220. GUID InterfaceGuid;
  221. NLM_USAGE_DATA UsageData;
  222. DWORD DataLimitInMegabytes;
  223. DWORD InboundBandwidthInKbps;
  224. DWORD OutboundBandwidthInKbps;
  225. FILETIME NextBillingCycle;
  226. DWORD MaxTransferSizeInMegabytes;
  227. DWORD Reserved;
  228. } NLM_DATAPLAN_STATUS;
  229. /*****************************************************************************
  230. * INetworkCostManager interface
  231. */
  232. #ifndef __INetworkCostManager_INTERFACE_DEFINED__
  233. #define __INetworkCostManager_INTERFACE_DEFINED__
  234. DEFINE_GUID(IID_INetworkCostManager, 0xdcb00008, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  235. #if defined(__cplusplus) && !defined(CINTERFACE)
  236. MIDL_INTERFACE("dcb00008-570f-4a9b-8d69-199fdba5723b")
  237. INetworkCostManager : public IUnknown
  238. {
  239. virtual HRESULT STDMETHODCALLTYPE GetCost(
  240. DWORD *pCost,
  241. NLM_SOCKADDR *pDestIPAddr) = 0;
  242. virtual HRESULT STDMETHODCALLTYPE GetDataPlanStatus(
  243. NLM_DATAPLAN_STATUS *pDataPlanStatus,
  244. NLM_SOCKADDR *pDestIPAddr) = 0;
  245. virtual HRESULT STDMETHODCALLTYPE SetDestinationAddresses(
  246. UINT32 length,
  247. NLM_SOCKADDR *pDestIPAddrList,
  248. VARIANT_BOOL bAppend) = 0;
  249. };
  250. #ifdef __CRT_UUID_DECL
  251. __CRT_UUID_DECL(INetworkCostManager, 0xdcb00008, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  252. #endif
  253. #else
  254. typedef struct INetworkCostManagerVtbl {
  255. BEGIN_INTERFACE
  256. /*** IUnknown methods ***/
  257. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  258. INetworkCostManager *This,
  259. REFIID riid,
  260. void **ppvObject);
  261. ULONG (STDMETHODCALLTYPE *AddRef)(
  262. INetworkCostManager *This);
  263. ULONG (STDMETHODCALLTYPE *Release)(
  264. INetworkCostManager *This);
  265. /*** INetworkCostManager methods ***/
  266. HRESULT (STDMETHODCALLTYPE *GetCost)(
  267. INetworkCostManager *This,
  268. DWORD *pCost,
  269. NLM_SOCKADDR *pDestIPAddr);
  270. HRESULT (STDMETHODCALLTYPE *GetDataPlanStatus)(
  271. INetworkCostManager *This,
  272. NLM_DATAPLAN_STATUS *pDataPlanStatus,
  273. NLM_SOCKADDR *pDestIPAddr);
  274. HRESULT (STDMETHODCALLTYPE *SetDestinationAddresses)(
  275. INetworkCostManager *This,
  276. UINT32 length,
  277. NLM_SOCKADDR *pDestIPAddrList,
  278. VARIANT_BOOL bAppend);
  279. END_INTERFACE
  280. } INetworkCostManagerVtbl;
  281. interface INetworkCostManager {
  282. CONST_VTBL INetworkCostManagerVtbl* lpVtbl;
  283. };
  284. #ifdef COBJMACROS
  285. #ifndef WIDL_C_INLINE_WRAPPERS
  286. /*** IUnknown methods ***/
  287. #define INetworkCostManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  288. #define INetworkCostManager_AddRef(This) (This)->lpVtbl->AddRef(This)
  289. #define INetworkCostManager_Release(This) (This)->lpVtbl->Release(This)
  290. /*** INetworkCostManager methods ***/
  291. #define INetworkCostManager_GetCost(This,pCost,pDestIPAddr) (This)->lpVtbl->GetCost(This,pCost,pDestIPAddr)
  292. #define INetworkCostManager_GetDataPlanStatus(This,pDataPlanStatus,pDestIPAddr) (This)->lpVtbl->GetDataPlanStatus(This,pDataPlanStatus,pDestIPAddr)
  293. #define INetworkCostManager_SetDestinationAddresses(This,length,pDestIPAddrList,bAppend) (This)->lpVtbl->SetDestinationAddresses(This,length,pDestIPAddrList,bAppend)
  294. #else
  295. /*** IUnknown methods ***/
  296. static FORCEINLINE HRESULT INetworkCostManager_QueryInterface(INetworkCostManager* This,REFIID riid,void **ppvObject) {
  297. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  298. }
  299. static FORCEINLINE ULONG INetworkCostManager_AddRef(INetworkCostManager* This) {
  300. return This->lpVtbl->AddRef(This);
  301. }
  302. static FORCEINLINE ULONG INetworkCostManager_Release(INetworkCostManager* This) {
  303. return This->lpVtbl->Release(This);
  304. }
  305. /*** INetworkCostManager methods ***/
  306. static FORCEINLINE HRESULT INetworkCostManager_GetCost(INetworkCostManager* This,DWORD *pCost,NLM_SOCKADDR *pDestIPAddr) {
  307. return This->lpVtbl->GetCost(This,pCost,pDestIPAddr);
  308. }
  309. static FORCEINLINE HRESULT INetworkCostManager_GetDataPlanStatus(INetworkCostManager* This,NLM_DATAPLAN_STATUS *pDataPlanStatus,NLM_SOCKADDR *pDestIPAddr) {
  310. return This->lpVtbl->GetDataPlanStatus(This,pDataPlanStatus,pDestIPAddr);
  311. }
  312. static FORCEINLINE HRESULT INetworkCostManager_SetDestinationAddresses(INetworkCostManager* This,UINT32 length,NLM_SOCKADDR *pDestIPAddrList,VARIANT_BOOL bAppend) {
  313. return This->lpVtbl->SetDestinationAddresses(This,length,pDestIPAddrList,bAppend);
  314. }
  315. #endif
  316. #endif
  317. #endif
  318. #endif /* __INetworkCostManager_INTERFACE_DEFINED__ */
  319. /*****************************************************************************
  320. * INetworkConnectionCost interface
  321. */
  322. #ifndef __INetworkConnectionCost_INTERFACE_DEFINED__
  323. #define __INetworkConnectionCost_INTERFACE_DEFINED__
  324. DEFINE_GUID(IID_INetworkConnectionCost, 0xdcb0000a, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  325. #if defined(__cplusplus) && !defined(CINTERFACE)
  326. MIDL_INTERFACE("dcb0000a-570f-4a9b-8d69-199fdba5723b")
  327. INetworkConnectionCost : public IUnknown
  328. {
  329. virtual HRESULT STDMETHODCALLTYPE GetCost(
  330. DWORD *pCost) = 0;
  331. virtual HRESULT STDMETHODCALLTYPE GetDataPlanStatus(
  332. NLM_DATAPLAN_STATUS *pDataPlanStatus) = 0;
  333. };
  334. #ifdef __CRT_UUID_DECL
  335. __CRT_UUID_DECL(INetworkConnectionCost, 0xdcb0000a, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  336. #endif
  337. #else
  338. typedef struct INetworkConnectionCostVtbl {
  339. BEGIN_INTERFACE
  340. /*** IUnknown methods ***/
  341. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  342. INetworkConnectionCost *This,
  343. REFIID riid,
  344. void **ppvObject);
  345. ULONG (STDMETHODCALLTYPE *AddRef)(
  346. INetworkConnectionCost *This);
  347. ULONG (STDMETHODCALLTYPE *Release)(
  348. INetworkConnectionCost *This);
  349. /*** INetworkConnectionCost methods ***/
  350. HRESULT (STDMETHODCALLTYPE *GetCost)(
  351. INetworkConnectionCost *This,
  352. DWORD *pCost);
  353. HRESULT (STDMETHODCALLTYPE *GetDataPlanStatus)(
  354. INetworkConnectionCost *This,
  355. NLM_DATAPLAN_STATUS *pDataPlanStatus);
  356. END_INTERFACE
  357. } INetworkConnectionCostVtbl;
  358. interface INetworkConnectionCost {
  359. CONST_VTBL INetworkConnectionCostVtbl* lpVtbl;
  360. };
  361. #ifdef COBJMACROS
  362. #ifndef WIDL_C_INLINE_WRAPPERS
  363. /*** IUnknown methods ***/
  364. #define INetworkConnectionCost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  365. #define INetworkConnectionCost_AddRef(This) (This)->lpVtbl->AddRef(This)
  366. #define INetworkConnectionCost_Release(This) (This)->lpVtbl->Release(This)
  367. /*** INetworkConnectionCost methods ***/
  368. #define INetworkConnectionCost_GetCost(This,pCost) (This)->lpVtbl->GetCost(This,pCost)
  369. #define INetworkConnectionCost_GetDataPlanStatus(This,pDataPlanStatus) (This)->lpVtbl->GetDataPlanStatus(This,pDataPlanStatus)
  370. #else
  371. /*** IUnknown methods ***/
  372. static FORCEINLINE HRESULT INetworkConnectionCost_QueryInterface(INetworkConnectionCost* This,REFIID riid,void **ppvObject) {
  373. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  374. }
  375. static FORCEINLINE ULONG INetworkConnectionCost_AddRef(INetworkConnectionCost* This) {
  376. return This->lpVtbl->AddRef(This);
  377. }
  378. static FORCEINLINE ULONG INetworkConnectionCost_Release(INetworkConnectionCost* This) {
  379. return This->lpVtbl->Release(This);
  380. }
  381. /*** INetworkConnectionCost methods ***/
  382. static FORCEINLINE HRESULT INetworkConnectionCost_GetCost(INetworkConnectionCost* This,DWORD *pCost) {
  383. return This->lpVtbl->GetCost(This,pCost);
  384. }
  385. static FORCEINLINE HRESULT INetworkConnectionCost_GetDataPlanStatus(INetworkConnectionCost* This,NLM_DATAPLAN_STATUS *pDataPlanStatus) {
  386. return This->lpVtbl->GetDataPlanStatus(This,pDataPlanStatus);
  387. }
  388. #endif
  389. #endif
  390. #endif
  391. #endif /* __INetworkConnectionCost_INTERFACE_DEFINED__ */
  392. /*****************************************************************************
  393. * INetworkCostManagerEvents interface
  394. */
  395. #ifndef __INetworkCostManagerEvents_INTERFACE_DEFINED__
  396. #define __INetworkCostManagerEvents_INTERFACE_DEFINED__
  397. DEFINE_GUID(IID_INetworkCostManagerEvents, 0xdcb00009, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  398. #if defined(__cplusplus) && !defined(CINTERFACE)
  399. MIDL_INTERFACE("dcb00009-570f-4a9b-8d69-199fdba5723b")
  400. INetworkCostManagerEvents : public IUnknown
  401. {
  402. virtual HRESULT STDMETHODCALLTYPE CostChanged(
  403. DWORD newCost,
  404. NLM_SOCKADDR *pDestAddr) = 0;
  405. virtual HRESULT STDMETHODCALLTYPE DataPlanStatusChanged(
  406. NLM_SOCKADDR *pDestAddr) = 0;
  407. };
  408. #ifdef __CRT_UUID_DECL
  409. __CRT_UUID_DECL(INetworkCostManagerEvents, 0xdcb00009, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  410. #endif
  411. #else
  412. typedef struct INetworkCostManagerEventsVtbl {
  413. BEGIN_INTERFACE
  414. /*** IUnknown methods ***/
  415. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  416. INetworkCostManagerEvents *This,
  417. REFIID riid,
  418. void **ppvObject);
  419. ULONG (STDMETHODCALLTYPE *AddRef)(
  420. INetworkCostManagerEvents *This);
  421. ULONG (STDMETHODCALLTYPE *Release)(
  422. INetworkCostManagerEvents *This);
  423. /*** INetworkCostManagerEvents methods ***/
  424. HRESULT (STDMETHODCALLTYPE *CostChanged)(
  425. INetworkCostManagerEvents *This,
  426. DWORD newCost,
  427. NLM_SOCKADDR *pDestAddr);
  428. HRESULT (STDMETHODCALLTYPE *DataPlanStatusChanged)(
  429. INetworkCostManagerEvents *This,
  430. NLM_SOCKADDR *pDestAddr);
  431. END_INTERFACE
  432. } INetworkCostManagerEventsVtbl;
  433. interface INetworkCostManagerEvents {
  434. CONST_VTBL INetworkCostManagerEventsVtbl* lpVtbl;
  435. };
  436. #ifdef COBJMACROS
  437. #ifndef WIDL_C_INLINE_WRAPPERS
  438. /*** IUnknown methods ***/
  439. #define INetworkCostManagerEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  440. #define INetworkCostManagerEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  441. #define INetworkCostManagerEvents_Release(This) (This)->lpVtbl->Release(This)
  442. /*** INetworkCostManagerEvents methods ***/
  443. #define INetworkCostManagerEvents_CostChanged(This,newCost,pDestAddr) (This)->lpVtbl->CostChanged(This,newCost,pDestAddr)
  444. #define INetworkCostManagerEvents_DataPlanStatusChanged(This,pDestAddr) (This)->lpVtbl->DataPlanStatusChanged(This,pDestAddr)
  445. #else
  446. /*** IUnknown methods ***/
  447. static FORCEINLINE HRESULT INetworkCostManagerEvents_QueryInterface(INetworkCostManagerEvents* This,REFIID riid,void **ppvObject) {
  448. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  449. }
  450. static FORCEINLINE ULONG INetworkCostManagerEvents_AddRef(INetworkCostManagerEvents* This) {
  451. return This->lpVtbl->AddRef(This);
  452. }
  453. static FORCEINLINE ULONG INetworkCostManagerEvents_Release(INetworkCostManagerEvents* This) {
  454. return This->lpVtbl->Release(This);
  455. }
  456. /*** INetworkCostManagerEvents methods ***/
  457. static FORCEINLINE HRESULT INetworkCostManagerEvents_CostChanged(INetworkCostManagerEvents* This,DWORD newCost,NLM_SOCKADDR *pDestAddr) {
  458. return This->lpVtbl->CostChanged(This,newCost,pDestAddr);
  459. }
  460. static FORCEINLINE HRESULT INetworkCostManagerEvents_DataPlanStatusChanged(INetworkCostManagerEvents* This,NLM_SOCKADDR *pDestAddr) {
  461. return This->lpVtbl->DataPlanStatusChanged(This,pDestAddr);
  462. }
  463. #endif
  464. #endif
  465. #endif
  466. #endif /* __INetworkCostManagerEvents_INTERFACE_DEFINED__ */
  467. /*****************************************************************************
  468. * IEnumNetworks interface
  469. */
  470. #ifndef __IEnumNetworks_INTERFACE_DEFINED__
  471. #define __IEnumNetworks_INTERFACE_DEFINED__
  472. DEFINE_GUID(IID_IEnumNetworks, 0xdcb00003, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  473. #if defined(__cplusplus) && !defined(CINTERFACE)
  474. MIDL_INTERFACE("dcb00003-570f-4a9b-8d69-199fdba5723b")
  475. IEnumNetworks : public IDispatch
  476. {
  477. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  478. IEnumVARIANT **ppEnumVar) = 0;
  479. virtual HRESULT STDMETHODCALLTYPE Next(
  480. ULONG celt,
  481. INetwork **rgelt,
  482. ULONG *pceltFetched) = 0;
  483. virtual HRESULT STDMETHODCALLTYPE Skip(
  484. ULONG celt) = 0;
  485. virtual HRESULT STDMETHODCALLTYPE Reset(
  486. ) = 0;
  487. virtual HRESULT STDMETHODCALLTYPE Clone(
  488. IEnumNetworks **ppEnumNetwork) = 0;
  489. };
  490. #ifdef __CRT_UUID_DECL
  491. __CRT_UUID_DECL(IEnumNetworks, 0xdcb00003, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  492. #endif
  493. #else
  494. typedef struct IEnumNetworksVtbl {
  495. BEGIN_INTERFACE
  496. /*** IUnknown methods ***/
  497. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  498. IEnumNetworks *This,
  499. REFIID riid,
  500. void **ppvObject);
  501. ULONG (STDMETHODCALLTYPE *AddRef)(
  502. IEnumNetworks *This);
  503. ULONG (STDMETHODCALLTYPE *Release)(
  504. IEnumNetworks *This);
  505. /*** IDispatch methods ***/
  506. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  507. IEnumNetworks *This,
  508. UINT *pctinfo);
  509. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  510. IEnumNetworks *This,
  511. UINT iTInfo,
  512. LCID lcid,
  513. ITypeInfo **ppTInfo);
  514. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  515. IEnumNetworks *This,
  516. REFIID riid,
  517. LPOLESTR *rgszNames,
  518. UINT cNames,
  519. LCID lcid,
  520. DISPID *rgDispId);
  521. HRESULT (STDMETHODCALLTYPE *Invoke)(
  522. IEnumNetworks *This,
  523. DISPID dispIdMember,
  524. REFIID riid,
  525. LCID lcid,
  526. WORD wFlags,
  527. DISPPARAMS *pDispParams,
  528. VARIANT *pVarResult,
  529. EXCEPINFO *pExcepInfo,
  530. UINT *puArgErr);
  531. /*** IEnumNetworks methods ***/
  532. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  533. IEnumNetworks *This,
  534. IEnumVARIANT **ppEnumVar);
  535. HRESULT (STDMETHODCALLTYPE *Next)(
  536. IEnumNetworks *This,
  537. ULONG celt,
  538. INetwork **rgelt,
  539. ULONG *pceltFetched);
  540. HRESULT (STDMETHODCALLTYPE *Skip)(
  541. IEnumNetworks *This,
  542. ULONG celt);
  543. HRESULT (STDMETHODCALLTYPE *Reset)(
  544. IEnumNetworks *This);
  545. HRESULT (STDMETHODCALLTYPE *Clone)(
  546. IEnumNetworks *This,
  547. IEnumNetworks **ppEnumNetwork);
  548. END_INTERFACE
  549. } IEnumNetworksVtbl;
  550. interface IEnumNetworks {
  551. CONST_VTBL IEnumNetworksVtbl* lpVtbl;
  552. };
  553. #ifdef COBJMACROS
  554. #ifndef WIDL_C_INLINE_WRAPPERS
  555. /*** IUnknown methods ***/
  556. #define IEnumNetworks_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  557. #define IEnumNetworks_AddRef(This) (This)->lpVtbl->AddRef(This)
  558. #define IEnumNetworks_Release(This) (This)->lpVtbl->Release(This)
  559. /*** IDispatch methods ***/
  560. #define IEnumNetworks_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  561. #define IEnumNetworks_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  562. #define IEnumNetworks_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  563. #define IEnumNetworks_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  564. /*** IEnumNetworks methods ***/
  565. #define IEnumNetworks_get__NewEnum(This,ppEnumVar) (This)->lpVtbl->get__NewEnum(This,ppEnumVar)
  566. #define IEnumNetworks_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  567. #define IEnumNetworks_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  568. #define IEnumNetworks_Reset(This) (This)->lpVtbl->Reset(This)
  569. #define IEnumNetworks_Clone(This,ppEnumNetwork) (This)->lpVtbl->Clone(This,ppEnumNetwork)
  570. #else
  571. /*** IUnknown methods ***/
  572. static FORCEINLINE HRESULT IEnumNetworks_QueryInterface(IEnumNetworks* This,REFIID riid,void **ppvObject) {
  573. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  574. }
  575. static FORCEINLINE ULONG IEnumNetworks_AddRef(IEnumNetworks* This) {
  576. return This->lpVtbl->AddRef(This);
  577. }
  578. static FORCEINLINE ULONG IEnumNetworks_Release(IEnumNetworks* This) {
  579. return This->lpVtbl->Release(This);
  580. }
  581. /*** IDispatch methods ***/
  582. static FORCEINLINE HRESULT IEnumNetworks_GetTypeInfoCount(IEnumNetworks* This,UINT *pctinfo) {
  583. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  584. }
  585. static FORCEINLINE HRESULT IEnumNetworks_GetTypeInfo(IEnumNetworks* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  586. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  587. }
  588. static FORCEINLINE HRESULT IEnumNetworks_GetIDsOfNames(IEnumNetworks* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  589. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  590. }
  591. static FORCEINLINE HRESULT IEnumNetworks_Invoke(IEnumNetworks* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  592. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  593. }
  594. /*** IEnumNetworks methods ***/
  595. static FORCEINLINE HRESULT IEnumNetworks_get__NewEnum(IEnumNetworks* This,IEnumVARIANT **ppEnumVar) {
  596. return This->lpVtbl->get__NewEnum(This,ppEnumVar);
  597. }
  598. static FORCEINLINE HRESULT IEnumNetworks_Next(IEnumNetworks* This,ULONG celt,INetwork **rgelt,ULONG *pceltFetched) {
  599. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  600. }
  601. static FORCEINLINE HRESULT IEnumNetworks_Skip(IEnumNetworks* This,ULONG celt) {
  602. return This->lpVtbl->Skip(This,celt);
  603. }
  604. static FORCEINLINE HRESULT IEnumNetworks_Reset(IEnumNetworks* This) {
  605. return This->lpVtbl->Reset(This);
  606. }
  607. static FORCEINLINE HRESULT IEnumNetworks_Clone(IEnumNetworks* This,IEnumNetworks **ppEnumNetwork) {
  608. return This->lpVtbl->Clone(This,ppEnumNetwork);
  609. }
  610. #endif
  611. #endif
  612. #endif
  613. #endif /* __IEnumNetworks_INTERFACE_DEFINED__ */
  614. /*****************************************************************************
  615. * IEnumNetworkConnections interface
  616. */
  617. #ifndef __IEnumNetworkConnections_INTERFACE_DEFINED__
  618. #define __IEnumNetworkConnections_INTERFACE_DEFINED__
  619. DEFINE_GUID(IID_IEnumNetworkConnections, 0xdcb00006, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  620. #if defined(__cplusplus) && !defined(CINTERFACE)
  621. MIDL_INTERFACE("dcb00006-570f-4a9b-8d69-199fdba5723b")
  622. IEnumNetworkConnections : public IDispatch
  623. {
  624. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  625. IEnumVARIANT **ppEnumVar) = 0;
  626. virtual HRESULT STDMETHODCALLTYPE Next(
  627. ULONG celt,
  628. INetworkConnection **rgelt,
  629. ULONG *pceltFetched) = 0;
  630. virtual HRESULT STDMETHODCALLTYPE Skip(
  631. ULONG celt) = 0;
  632. virtual HRESULT STDMETHODCALLTYPE Reset(
  633. ) = 0;
  634. virtual HRESULT STDMETHODCALLTYPE Clone(
  635. IEnumNetworkConnections **ppEnumNetwork) = 0;
  636. };
  637. #ifdef __CRT_UUID_DECL
  638. __CRT_UUID_DECL(IEnumNetworkConnections, 0xdcb00006, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  639. #endif
  640. #else
  641. typedef struct IEnumNetworkConnectionsVtbl {
  642. BEGIN_INTERFACE
  643. /*** IUnknown methods ***/
  644. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  645. IEnumNetworkConnections *This,
  646. REFIID riid,
  647. void **ppvObject);
  648. ULONG (STDMETHODCALLTYPE *AddRef)(
  649. IEnumNetworkConnections *This);
  650. ULONG (STDMETHODCALLTYPE *Release)(
  651. IEnumNetworkConnections *This);
  652. /*** IDispatch methods ***/
  653. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  654. IEnumNetworkConnections *This,
  655. UINT *pctinfo);
  656. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  657. IEnumNetworkConnections *This,
  658. UINT iTInfo,
  659. LCID lcid,
  660. ITypeInfo **ppTInfo);
  661. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  662. IEnumNetworkConnections *This,
  663. REFIID riid,
  664. LPOLESTR *rgszNames,
  665. UINT cNames,
  666. LCID lcid,
  667. DISPID *rgDispId);
  668. HRESULT (STDMETHODCALLTYPE *Invoke)(
  669. IEnumNetworkConnections *This,
  670. DISPID dispIdMember,
  671. REFIID riid,
  672. LCID lcid,
  673. WORD wFlags,
  674. DISPPARAMS *pDispParams,
  675. VARIANT *pVarResult,
  676. EXCEPINFO *pExcepInfo,
  677. UINT *puArgErr);
  678. /*** IEnumNetworkConnections methods ***/
  679. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  680. IEnumNetworkConnections *This,
  681. IEnumVARIANT **ppEnumVar);
  682. HRESULT (STDMETHODCALLTYPE *Next)(
  683. IEnumNetworkConnections *This,
  684. ULONG celt,
  685. INetworkConnection **rgelt,
  686. ULONG *pceltFetched);
  687. HRESULT (STDMETHODCALLTYPE *Skip)(
  688. IEnumNetworkConnections *This,
  689. ULONG celt);
  690. HRESULT (STDMETHODCALLTYPE *Reset)(
  691. IEnumNetworkConnections *This);
  692. HRESULT (STDMETHODCALLTYPE *Clone)(
  693. IEnumNetworkConnections *This,
  694. IEnumNetworkConnections **ppEnumNetwork);
  695. END_INTERFACE
  696. } IEnumNetworkConnectionsVtbl;
  697. interface IEnumNetworkConnections {
  698. CONST_VTBL IEnumNetworkConnectionsVtbl* lpVtbl;
  699. };
  700. #ifdef COBJMACROS
  701. #ifndef WIDL_C_INLINE_WRAPPERS
  702. /*** IUnknown methods ***/
  703. #define IEnumNetworkConnections_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  704. #define IEnumNetworkConnections_AddRef(This) (This)->lpVtbl->AddRef(This)
  705. #define IEnumNetworkConnections_Release(This) (This)->lpVtbl->Release(This)
  706. /*** IDispatch methods ***/
  707. #define IEnumNetworkConnections_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  708. #define IEnumNetworkConnections_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  709. #define IEnumNetworkConnections_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  710. #define IEnumNetworkConnections_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  711. /*** IEnumNetworkConnections methods ***/
  712. #define IEnumNetworkConnections_get__NewEnum(This,ppEnumVar) (This)->lpVtbl->get__NewEnum(This,ppEnumVar)
  713. #define IEnumNetworkConnections_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  714. #define IEnumNetworkConnections_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  715. #define IEnumNetworkConnections_Reset(This) (This)->lpVtbl->Reset(This)
  716. #define IEnumNetworkConnections_Clone(This,ppEnumNetwork) (This)->lpVtbl->Clone(This,ppEnumNetwork)
  717. #else
  718. /*** IUnknown methods ***/
  719. static FORCEINLINE HRESULT IEnumNetworkConnections_QueryInterface(IEnumNetworkConnections* This,REFIID riid,void **ppvObject) {
  720. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  721. }
  722. static FORCEINLINE ULONG IEnumNetworkConnections_AddRef(IEnumNetworkConnections* This) {
  723. return This->lpVtbl->AddRef(This);
  724. }
  725. static FORCEINLINE ULONG IEnumNetworkConnections_Release(IEnumNetworkConnections* This) {
  726. return This->lpVtbl->Release(This);
  727. }
  728. /*** IDispatch methods ***/
  729. static FORCEINLINE HRESULT IEnumNetworkConnections_GetTypeInfoCount(IEnumNetworkConnections* This,UINT *pctinfo) {
  730. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  731. }
  732. static FORCEINLINE HRESULT IEnumNetworkConnections_GetTypeInfo(IEnumNetworkConnections* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  733. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  734. }
  735. static FORCEINLINE HRESULT IEnumNetworkConnections_GetIDsOfNames(IEnumNetworkConnections* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  736. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  737. }
  738. static FORCEINLINE HRESULT IEnumNetworkConnections_Invoke(IEnumNetworkConnections* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  739. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  740. }
  741. /*** IEnumNetworkConnections methods ***/
  742. static FORCEINLINE HRESULT IEnumNetworkConnections_get__NewEnum(IEnumNetworkConnections* This,IEnumVARIANT **ppEnumVar) {
  743. return This->lpVtbl->get__NewEnum(This,ppEnumVar);
  744. }
  745. static FORCEINLINE HRESULT IEnumNetworkConnections_Next(IEnumNetworkConnections* This,ULONG celt,INetworkConnection **rgelt,ULONG *pceltFetched) {
  746. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  747. }
  748. static FORCEINLINE HRESULT IEnumNetworkConnections_Skip(IEnumNetworkConnections* This,ULONG celt) {
  749. return This->lpVtbl->Skip(This,celt);
  750. }
  751. static FORCEINLINE HRESULT IEnumNetworkConnections_Reset(IEnumNetworkConnections* This) {
  752. return This->lpVtbl->Reset(This);
  753. }
  754. static FORCEINLINE HRESULT IEnumNetworkConnections_Clone(IEnumNetworkConnections* This,IEnumNetworkConnections **ppEnumNetwork) {
  755. return This->lpVtbl->Clone(This,ppEnumNetwork);
  756. }
  757. #endif
  758. #endif
  759. #endif
  760. #endif /* __IEnumNetworkConnections_INTERFACE_DEFINED__ */
  761. /*****************************************************************************
  762. * INetworkListManager interface
  763. */
  764. #ifndef __INetworkListManager_INTERFACE_DEFINED__
  765. #define __INetworkListManager_INTERFACE_DEFINED__
  766. DEFINE_GUID(IID_INetworkListManager, 0xdcb00000, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  767. #if defined(__cplusplus) && !defined(CINTERFACE)
  768. MIDL_INTERFACE("dcb00000-570f-4a9b-8d69-199fdba5723b")
  769. INetworkListManager : public IDispatch
  770. {
  771. virtual HRESULT STDMETHODCALLTYPE GetNetworks(
  772. NLM_ENUM_NETWORK Flags,
  773. IEnumNetworks **ppEnumNetwork) = 0;
  774. virtual HRESULT STDMETHODCALLTYPE GetNetwork(
  775. GUID gdNetworkId,
  776. INetwork **ppNetwork) = 0;
  777. virtual HRESULT STDMETHODCALLTYPE GetNetworkConnections(
  778. IEnumNetworkConnections **ppEnum) = 0;
  779. virtual HRESULT STDMETHODCALLTYPE GetNetworkConnection(
  780. GUID gdNetworkConnectionId,
  781. INetworkConnection **ppNetworkConnection) = 0;
  782. virtual HRESULT STDMETHODCALLTYPE IsConnectedToInternet(
  783. VARIANT_BOOL *pbIsConnected) = 0;
  784. virtual HRESULT STDMETHODCALLTYPE IsConnected(
  785. VARIANT_BOOL *pbIsConnected) = 0;
  786. virtual HRESULT STDMETHODCALLTYPE GetConnectivity(
  787. NLM_CONNECTIVITY *pConnectivity) = 0;
  788. };
  789. #ifdef __CRT_UUID_DECL
  790. __CRT_UUID_DECL(INetworkListManager, 0xdcb00000, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  791. #endif
  792. #else
  793. typedef struct INetworkListManagerVtbl {
  794. BEGIN_INTERFACE
  795. /*** IUnknown methods ***/
  796. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  797. INetworkListManager *This,
  798. REFIID riid,
  799. void **ppvObject);
  800. ULONG (STDMETHODCALLTYPE *AddRef)(
  801. INetworkListManager *This);
  802. ULONG (STDMETHODCALLTYPE *Release)(
  803. INetworkListManager *This);
  804. /*** IDispatch methods ***/
  805. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  806. INetworkListManager *This,
  807. UINT *pctinfo);
  808. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  809. INetworkListManager *This,
  810. UINT iTInfo,
  811. LCID lcid,
  812. ITypeInfo **ppTInfo);
  813. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  814. INetworkListManager *This,
  815. REFIID riid,
  816. LPOLESTR *rgszNames,
  817. UINT cNames,
  818. LCID lcid,
  819. DISPID *rgDispId);
  820. HRESULT (STDMETHODCALLTYPE *Invoke)(
  821. INetworkListManager *This,
  822. DISPID dispIdMember,
  823. REFIID riid,
  824. LCID lcid,
  825. WORD wFlags,
  826. DISPPARAMS *pDispParams,
  827. VARIANT *pVarResult,
  828. EXCEPINFO *pExcepInfo,
  829. UINT *puArgErr);
  830. /*** INetworkListManager methods ***/
  831. HRESULT (STDMETHODCALLTYPE *GetNetworks)(
  832. INetworkListManager *This,
  833. NLM_ENUM_NETWORK Flags,
  834. IEnumNetworks **ppEnumNetwork);
  835. HRESULT (STDMETHODCALLTYPE *GetNetwork)(
  836. INetworkListManager *This,
  837. GUID gdNetworkId,
  838. INetwork **ppNetwork);
  839. HRESULT (STDMETHODCALLTYPE *GetNetworkConnections)(
  840. INetworkListManager *This,
  841. IEnumNetworkConnections **ppEnum);
  842. HRESULT (STDMETHODCALLTYPE *GetNetworkConnection)(
  843. INetworkListManager *This,
  844. GUID gdNetworkConnectionId,
  845. INetworkConnection **ppNetworkConnection);
  846. HRESULT (STDMETHODCALLTYPE *IsConnectedToInternet)(
  847. INetworkListManager *This,
  848. VARIANT_BOOL *pbIsConnected);
  849. HRESULT (STDMETHODCALLTYPE *IsConnected)(
  850. INetworkListManager *This,
  851. VARIANT_BOOL *pbIsConnected);
  852. HRESULT (STDMETHODCALLTYPE *GetConnectivity)(
  853. INetworkListManager *This,
  854. NLM_CONNECTIVITY *pConnectivity);
  855. END_INTERFACE
  856. } INetworkListManagerVtbl;
  857. interface INetworkListManager {
  858. CONST_VTBL INetworkListManagerVtbl* lpVtbl;
  859. };
  860. #ifdef COBJMACROS
  861. #ifndef WIDL_C_INLINE_WRAPPERS
  862. /*** IUnknown methods ***/
  863. #define INetworkListManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  864. #define INetworkListManager_AddRef(This) (This)->lpVtbl->AddRef(This)
  865. #define INetworkListManager_Release(This) (This)->lpVtbl->Release(This)
  866. /*** IDispatch methods ***/
  867. #define INetworkListManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  868. #define INetworkListManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  869. #define INetworkListManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  870. #define INetworkListManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  871. /*** INetworkListManager methods ***/
  872. #define INetworkListManager_GetNetworks(This,Flags,ppEnumNetwork) (This)->lpVtbl->GetNetworks(This,Flags,ppEnumNetwork)
  873. #define INetworkListManager_GetNetwork(This,gdNetworkId,ppNetwork) (This)->lpVtbl->GetNetwork(This,gdNetworkId,ppNetwork)
  874. #define INetworkListManager_GetNetworkConnections(This,ppEnum) (This)->lpVtbl->GetNetworkConnections(This,ppEnum)
  875. #define INetworkListManager_GetNetworkConnection(This,gdNetworkConnectionId,ppNetworkConnection) (This)->lpVtbl->GetNetworkConnection(This,gdNetworkConnectionId,ppNetworkConnection)
  876. #define INetworkListManager_IsConnectedToInternet(This,pbIsConnected) (This)->lpVtbl->IsConnectedToInternet(This,pbIsConnected)
  877. #define INetworkListManager_IsConnected(This,pbIsConnected) (This)->lpVtbl->IsConnected(This,pbIsConnected)
  878. #define INetworkListManager_GetConnectivity(This,pConnectivity) (This)->lpVtbl->GetConnectivity(This,pConnectivity)
  879. #else
  880. /*** IUnknown methods ***/
  881. static FORCEINLINE HRESULT INetworkListManager_QueryInterface(INetworkListManager* This,REFIID riid,void **ppvObject) {
  882. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  883. }
  884. static FORCEINLINE ULONG INetworkListManager_AddRef(INetworkListManager* This) {
  885. return This->lpVtbl->AddRef(This);
  886. }
  887. static FORCEINLINE ULONG INetworkListManager_Release(INetworkListManager* This) {
  888. return This->lpVtbl->Release(This);
  889. }
  890. /*** IDispatch methods ***/
  891. static FORCEINLINE HRESULT INetworkListManager_GetTypeInfoCount(INetworkListManager* This,UINT *pctinfo) {
  892. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  893. }
  894. static FORCEINLINE HRESULT INetworkListManager_GetTypeInfo(INetworkListManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  895. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  896. }
  897. static FORCEINLINE HRESULT INetworkListManager_GetIDsOfNames(INetworkListManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  898. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  899. }
  900. static FORCEINLINE HRESULT INetworkListManager_Invoke(INetworkListManager* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  901. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  902. }
  903. /*** INetworkListManager methods ***/
  904. static FORCEINLINE HRESULT INetworkListManager_GetNetworks(INetworkListManager* This,NLM_ENUM_NETWORK Flags,IEnumNetworks **ppEnumNetwork) {
  905. return This->lpVtbl->GetNetworks(This,Flags,ppEnumNetwork);
  906. }
  907. static FORCEINLINE HRESULT INetworkListManager_GetNetwork(INetworkListManager* This,GUID gdNetworkId,INetwork **ppNetwork) {
  908. return This->lpVtbl->GetNetwork(This,gdNetworkId,ppNetwork);
  909. }
  910. static FORCEINLINE HRESULT INetworkListManager_GetNetworkConnections(INetworkListManager* This,IEnumNetworkConnections **ppEnum) {
  911. return This->lpVtbl->GetNetworkConnections(This,ppEnum);
  912. }
  913. static FORCEINLINE HRESULT INetworkListManager_GetNetworkConnection(INetworkListManager* This,GUID gdNetworkConnectionId,INetworkConnection **ppNetworkConnection) {
  914. return This->lpVtbl->GetNetworkConnection(This,gdNetworkConnectionId,ppNetworkConnection);
  915. }
  916. static FORCEINLINE HRESULT INetworkListManager_IsConnectedToInternet(INetworkListManager* This,VARIANT_BOOL *pbIsConnected) {
  917. return This->lpVtbl->IsConnectedToInternet(This,pbIsConnected);
  918. }
  919. static FORCEINLINE HRESULT INetworkListManager_IsConnected(INetworkListManager* This,VARIANT_BOOL *pbIsConnected) {
  920. return This->lpVtbl->IsConnected(This,pbIsConnected);
  921. }
  922. static FORCEINLINE HRESULT INetworkListManager_GetConnectivity(INetworkListManager* This,NLM_CONNECTIVITY *pConnectivity) {
  923. return This->lpVtbl->GetConnectivity(This,pConnectivity);
  924. }
  925. #endif
  926. #endif
  927. #endif
  928. #endif /* __INetworkListManager_INTERFACE_DEFINED__ */
  929. /*****************************************************************************
  930. * NetworkListManager coclass
  931. */
  932. DEFINE_GUID(CLSID_NetworkListManager, 0xdcb00c01, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  933. #ifdef __cplusplus
  934. class DECLSPEC_UUID("dcb00c01-570f-4a9b-8d69-199fdba5723b") NetworkListManager;
  935. #ifdef __CRT_UUID_DECL
  936. __CRT_UUID_DECL(NetworkListManager, 0xdcb00c01, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  937. #endif
  938. #endif
  939. /*****************************************************************************
  940. * INetworkListManagerEvents interface
  941. */
  942. #ifndef __INetworkListManagerEvents_INTERFACE_DEFINED__
  943. #define __INetworkListManagerEvents_INTERFACE_DEFINED__
  944. DEFINE_GUID(IID_INetworkListManagerEvents, 0xdcb00001, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  945. #if defined(__cplusplus) && !defined(CINTERFACE)
  946. MIDL_INTERFACE("dcb00001-570f-4a9b-8d69-199fdba5723b")
  947. INetworkListManagerEvents : public IUnknown
  948. {
  949. virtual HRESULT STDMETHODCALLTYPE ConnectivityChanged(
  950. NLM_CONNECTIVITY newConnectivity) = 0;
  951. };
  952. #ifdef __CRT_UUID_DECL
  953. __CRT_UUID_DECL(INetworkListManagerEvents, 0xdcb00001, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  954. #endif
  955. #else
  956. typedef struct INetworkListManagerEventsVtbl {
  957. BEGIN_INTERFACE
  958. /*** IUnknown methods ***/
  959. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  960. INetworkListManagerEvents *This,
  961. REFIID riid,
  962. void **ppvObject);
  963. ULONG (STDMETHODCALLTYPE *AddRef)(
  964. INetworkListManagerEvents *This);
  965. ULONG (STDMETHODCALLTYPE *Release)(
  966. INetworkListManagerEvents *This);
  967. /*** INetworkListManagerEvents methods ***/
  968. HRESULT (STDMETHODCALLTYPE *ConnectivityChanged)(
  969. INetworkListManagerEvents *This,
  970. NLM_CONNECTIVITY newConnectivity);
  971. END_INTERFACE
  972. } INetworkListManagerEventsVtbl;
  973. interface INetworkListManagerEvents {
  974. CONST_VTBL INetworkListManagerEventsVtbl* lpVtbl;
  975. };
  976. #ifdef COBJMACROS
  977. #ifndef WIDL_C_INLINE_WRAPPERS
  978. /*** IUnknown methods ***/
  979. #define INetworkListManagerEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  980. #define INetworkListManagerEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  981. #define INetworkListManagerEvents_Release(This) (This)->lpVtbl->Release(This)
  982. /*** INetworkListManagerEvents methods ***/
  983. #define INetworkListManagerEvents_ConnectivityChanged(This,newConnectivity) (This)->lpVtbl->ConnectivityChanged(This,newConnectivity)
  984. #else
  985. /*** IUnknown methods ***/
  986. static FORCEINLINE HRESULT INetworkListManagerEvents_QueryInterface(INetworkListManagerEvents* This,REFIID riid,void **ppvObject) {
  987. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  988. }
  989. static FORCEINLINE ULONG INetworkListManagerEvents_AddRef(INetworkListManagerEvents* This) {
  990. return This->lpVtbl->AddRef(This);
  991. }
  992. static FORCEINLINE ULONG INetworkListManagerEvents_Release(INetworkListManagerEvents* This) {
  993. return This->lpVtbl->Release(This);
  994. }
  995. /*** INetworkListManagerEvents methods ***/
  996. static FORCEINLINE HRESULT INetworkListManagerEvents_ConnectivityChanged(INetworkListManagerEvents* This,NLM_CONNECTIVITY newConnectivity) {
  997. return This->lpVtbl->ConnectivityChanged(This,newConnectivity);
  998. }
  999. #endif
  1000. #endif
  1001. #endif
  1002. #endif /* __INetworkListManagerEvents_INTERFACE_DEFINED__ */
  1003. /*****************************************************************************
  1004. * INetworkConnectionEvents interface
  1005. */
  1006. #ifndef __INetworkConnectionEvents_INTERFACE_DEFINED__
  1007. #define __INetworkConnectionEvents_INTERFACE_DEFINED__
  1008. typedef enum NLM_CONNECTION_PROPERTY_CHANGE {
  1009. NLM_CONNECTION_PROPERTY_CHANGE_AUTHENTICATION = 1
  1010. } NLM_CONNECTION_PROPERTY_CHANGE;
  1011. DEFINE_GUID(IID_INetworkConnectionEvents, 0xdcb00007, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  1012. #if defined(__cplusplus) && !defined(CINTERFACE)
  1013. MIDL_INTERFACE("dcb00007-570f-4a9b-8d69-199fdba5723b")
  1014. INetworkConnectionEvents : public IUnknown
  1015. {
  1016. virtual HRESULT STDMETHODCALLTYPE NetworkConnectionConnectivityChanged(
  1017. GUID connectionId,
  1018. NLM_CONNECTIVITY newConnectivity) = 0;
  1019. virtual HRESULT STDMETHODCALLTYPE NetworkConnectionPropertyChanged(
  1020. GUID connectionId,
  1021. NLM_CONNECTION_PROPERTY_CHANGE flags) = 0;
  1022. };
  1023. #ifdef __CRT_UUID_DECL
  1024. __CRT_UUID_DECL(INetworkConnectionEvents, 0xdcb00007, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  1025. #endif
  1026. #else
  1027. typedef struct INetworkConnectionEventsVtbl {
  1028. BEGIN_INTERFACE
  1029. /*** IUnknown methods ***/
  1030. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1031. INetworkConnectionEvents *This,
  1032. REFIID riid,
  1033. void **ppvObject);
  1034. ULONG (STDMETHODCALLTYPE *AddRef)(
  1035. INetworkConnectionEvents *This);
  1036. ULONG (STDMETHODCALLTYPE *Release)(
  1037. INetworkConnectionEvents *This);
  1038. /*** INetworkConnectionEvents methods ***/
  1039. HRESULT (STDMETHODCALLTYPE *NetworkConnectionConnectivityChanged)(
  1040. INetworkConnectionEvents *This,
  1041. GUID connectionId,
  1042. NLM_CONNECTIVITY newConnectivity);
  1043. HRESULT (STDMETHODCALLTYPE *NetworkConnectionPropertyChanged)(
  1044. INetworkConnectionEvents *This,
  1045. GUID connectionId,
  1046. NLM_CONNECTION_PROPERTY_CHANGE flags);
  1047. END_INTERFACE
  1048. } INetworkConnectionEventsVtbl;
  1049. interface INetworkConnectionEvents {
  1050. CONST_VTBL INetworkConnectionEventsVtbl* lpVtbl;
  1051. };
  1052. #ifdef COBJMACROS
  1053. #ifndef WIDL_C_INLINE_WRAPPERS
  1054. /*** IUnknown methods ***/
  1055. #define INetworkConnectionEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1056. #define INetworkConnectionEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  1057. #define INetworkConnectionEvents_Release(This) (This)->lpVtbl->Release(This)
  1058. /*** INetworkConnectionEvents methods ***/
  1059. #define INetworkConnectionEvents_NetworkConnectionConnectivityChanged(This,connectionId,newConnectivity) (This)->lpVtbl->NetworkConnectionConnectivityChanged(This,connectionId,newConnectivity)
  1060. #define INetworkConnectionEvents_NetworkConnectionPropertyChanged(This,connectionId,flags) (This)->lpVtbl->NetworkConnectionPropertyChanged(This,connectionId,flags)
  1061. #else
  1062. /*** IUnknown methods ***/
  1063. static FORCEINLINE HRESULT INetworkConnectionEvents_QueryInterface(INetworkConnectionEvents* This,REFIID riid,void **ppvObject) {
  1064. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1065. }
  1066. static FORCEINLINE ULONG INetworkConnectionEvents_AddRef(INetworkConnectionEvents* This) {
  1067. return This->lpVtbl->AddRef(This);
  1068. }
  1069. static FORCEINLINE ULONG INetworkConnectionEvents_Release(INetworkConnectionEvents* This) {
  1070. return This->lpVtbl->Release(This);
  1071. }
  1072. /*** INetworkConnectionEvents methods ***/
  1073. static FORCEINLINE HRESULT INetworkConnectionEvents_NetworkConnectionConnectivityChanged(INetworkConnectionEvents* This,GUID connectionId,NLM_CONNECTIVITY newConnectivity) {
  1074. return This->lpVtbl->NetworkConnectionConnectivityChanged(This,connectionId,newConnectivity);
  1075. }
  1076. static FORCEINLINE HRESULT INetworkConnectionEvents_NetworkConnectionPropertyChanged(INetworkConnectionEvents* This,GUID connectionId,NLM_CONNECTION_PROPERTY_CHANGE flags) {
  1077. return This->lpVtbl->NetworkConnectionPropertyChanged(This,connectionId,flags);
  1078. }
  1079. #endif
  1080. #endif
  1081. #endif
  1082. #endif /* __INetworkConnectionEvents_INTERFACE_DEFINED__ */
  1083. /*****************************************************************************
  1084. * INetworkConnection interface
  1085. */
  1086. #ifndef __INetworkConnection_INTERFACE_DEFINED__
  1087. #define __INetworkConnection_INTERFACE_DEFINED__
  1088. DEFINE_GUID(IID_INetworkConnection, 0xdcb00005, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  1089. #if defined(__cplusplus) && !defined(CINTERFACE)
  1090. MIDL_INTERFACE("dcb00005-570f-4a9b-8d69-199fdba5723b")
  1091. INetworkConnection : public IDispatch
  1092. {
  1093. virtual HRESULT STDMETHODCALLTYPE GetNetwork(
  1094. INetwork **ppNetwork) = 0;
  1095. virtual HRESULT STDMETHODCALLTYPE get_IsConnectedToInternet(
  1096. VARIANT_BOOL *pbIsConnected) = 0;
  1097. virtual HRESULT STDMETHODCALLTYPE get_IsConnected(
  1098. VARIANT_BOOL *pbIsConnected) = 0;
  1099. virtual HRESULT STDMETHODCALLTYPE GetConnectivity(
  1100. NLM_CONNECTIVITY *pConnectivity) = 0;
  1101. virtual HRESULT STDMETHODCALLTYPE GetConnectionId(
  1102. GUID *pgdConnectionId) = 0;
  1103. virtual HRESULT STDMETHODCALLTYPE GetAdapterId(
  1104. GUID *pgdAdapterId) = 0;
  1105. virtual HRESULT STDMETHODCALLTYPE GetDomainType(
  1106. NLM_DOMAIN_TYPE *pDomainType) = 0;
  1107. };
  1108. #ifdef __CRT_UUID_DECL
  1109. __CRT_UUID_DECL(INetworkConnection, 0xdcb00005, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  1110. #endif
  1111. #else
  1112. typedef struct INetworkConnectionVtbl {
  1113. BEGIN_INTERFACE
  1114. /*** IUnknown methods ***/
  1115. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1116. INetworkConnection *This,
  1117. REFIID riid,
  1118. void **ppvObject);
  1119. ULONG (STDMETHODCALLTYPE *AddRef)(
  1120. INetworkConnection *This);
  1121. ULONG (STDMETHODCALLTYPE *Release)(
  1122. INetworkConnection *This);
  1123. /*** IDispatch methods ***/
  1124. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1125. INetworkConnection *This,
  1126. UINT *pctinfo);
  1127. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1128. INetworkConnection *This,
  1129. UINT iTInfo,
  1130. LCID lcid,
  1131. ITypeInfo **ppTInfo);
  1132. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1133. INetworkConnection *This,
  1134. REFIID riid,
  1135. LPOLESTR *rgszNames,
  1136. UINT cNames,
  1137. LCID lcid,
  1138. DISPID *rgDispId);
  1139. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1140. INetworkConnection *This,
  1141. DISPID dispIdMember,
  1142. REFIID riid,
  1143. LCID lcid,
  1144. WORD wFlags,
  1145. DISPPARAMS *pDispParams,
  1146. VARIANT *pVarResult,
  1147. EXCEPINFO *pExcepInfo,
  1148. UINT *puArgErr);
  1149. /*** INetworkConnection methods ***/
  1150. HRESULT (STDMETHODCALLTYPE *GetNetwork)(
  1151. INetworkConnection *This,
  1152. INetwork **ppNetwork);
  1153. HRESULT (STDMETHODCALLTYPE *get_IsConnectedToInternet)(
  1154. INetworkConnection *This,
  1155. VARIANT_BOOL *pbIsConnected);
  1156. HRESULT (STDMETHODCALLTYPE *get_IsConnected)(
  1157. INetworkConnection *This,
  1158. VARIANT_BOOL *pbIsConnected);
  1159. HRESULT (STDMETHODCALLTYPE *GetConnectivity)(
  1160. INetworkConnection *This,
  1161. NLM_CONNECTIVITY *pConnectivity);
  1162. HRESULT (STDMETHODCALLTYPE *GetConnectionId)(
  1163. INetworkConnection *This,
  1164. GUID *pgdConnectionId);
  1165. HRESULT (STDMETHODCALLTYPE *GetAdapterId)(
  1166. INetworkConnection *This,
  1167. GUID *pgdAdapterId);
  1168. HRESULT (STDMETHODCALLTYPE *GetDomainType)(
  1169. INetworkConnection *This,
  1170. NLM_DOMAIN_TYPE *pDomainType);
  1171. END_INTERFACE
  1172. } INetworkConnectionVtbl;
  1173. interface INetworkConnection {
  1174. CONST_VTBL INetworkConnectionVtbl* lpVtbl;
  1175. };
  1176. #ifdef COBJMACROS
  1177. #ifndef WIDL_C_INLINE_WRAPPERS
  1178. /*** IUnknown methods ***/
  1179. #define INetworkConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1180. #define INetworkConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
  1181. #define INetworkConnection_Release(This) (This)->lpVtbl->Release(This)
  1182. /*** IDispatch methods ***/
  1183. #define INetworkConnection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1184. #define INetworkConnection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1185. #define INetworkConnection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1186. #define INetworkConnection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1187. /*** INetworkConnection methods ***/
  1188. #define INetworkConnection_GetNetwork(This,ppNetwork) (This)->lpVtbl->GetNetwork(This,ppNetwork)
  1189. #define INetworkConnection_get_IsConnectedToInternet(This,pbIsConnected) (This)->lpVtbl->get_IsConnectedToInternet(This,pbIsConnected)
  1190. #define INetworkConnection_get_IsConnected(This,pbIsConnected) (This)->lpVtbl->get_IsConnected(This,pbIsConnected)
  1191. #define INetworkConnection_GetConnectivity(This,pConnectivity) (This)->lpVtbl->GetConnectivity(This,pConnectivity)
  1192. #define INetworkConnection_GetConnectionId(This,pgdConnectionId) (This)->lpVtbl->GetConnectionId(This,pgdConnectionId)
  1193. #define INetworkConnection_GetAdapterId(This,pgdAdapterId) (This)->lpVtbl->GetAdapterId(This,pgdAdapterId)
  1194. #define INetworkConnection_GetDomainType(This,pDomainType) (This)->lpVtbl->GetDomainType(This,pDomainType)
  1195. #else
  1196. /*** IUnknown methods ***/
  1197. static FORCEINLINE HRESULT INetworkConnection_QueryInterface(INetworkConnection* This,REFIID riid,void **ppvObject) {
  1198. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1199. }
  1200. static FORCEINLINE ULONG INetworkConnection_AddRef(INetworkConnection* This) {
  1201. return This->lpVtbl->AddRef(This);
  1202. }
  1203. static FORCEINLINE ULONG INetworkConnection_Release(INetworkConnection* This) {
  1204. return This->lpVtbl->Release(This);
  1205. }
  1206. /*** IDispatch methods ***/
  1207. static FORCEINLINE HRESULT INetworkConnection_GetTypeInfoCount(INetworkConnection* This,UINT *pctinfo) {
  1208. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1209. }
  1210. static FORCEINLINE HRESULT INetworkConnection_GetTypeInfo(INetworkConnection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1211. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1212. }
  1213. static FORCEINLINE HRESULT INetworkConnection_GetIDsOfNames(INetworkConnection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1214. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1215. }
  1216. static FORCEINLINE HRESULT INetworkConnection_Invoke(INetworkConnection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1217. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1218. }
  1219. /*** INetworkConnection methods ***/
  1220. static FORCEINLINE HRESULT INetworkConnection_GetNetwork(INetworkConnection* This,INetwork **ppNetwork) {
  1221. return This->lpVtbl->GetNetwork(This,ppNetwork);
  1222. }
  1223. static FORCEINLINE HRESULT INetworkConnection_get_IsConnectedToInternet(INetworkConnection* This,VARIANT_BOOL *pbIsConnected) {
  1224. return This->lpVtbl->get_IsConnectedToInternet(This,pbIsConnected);
  1225. }
  1226. static FORCEINLINE HRESULT INetworkConnection_get_IsConnected(INetworkConnection* This,VARIANT_BOOL *pbIsConnected) {
  1227. return This->lpVtbl->get_IsConnected(This,pbIsConnected);
  1228. }
  1229. static FORCEINLINE HRESULT INetworkConnection_GetConnectivity(INetworkConnection* This,NLM_CONNECTIVITY *pConnectivity) {
  1230. return This->lpVtbl->GetConnectivity(This,pConnectivity);
  1231. }
  1232. static FORCEINLINE HRESULT INetworkConnection_GetConnectionId(INetworkConnection* This,GUID *pgdConnectionId) {
  1233. return This->lpVtbl->GetConnectionId(This,pgdConnectionId);
  1234. }
  1235. static FORCEINLINE HRESULT INetworkConnection_GetAdapterId(INetworkConnection* This,GUID *pgdAdapterId) {
  1236. return This->lpVtbl->GetAdapterId(This,pgdAdapterId);
  1237. }
  1238. static FORCEINLINE HRESULT INetworkConnection_GetDomainType(INetworkConnection* This,NLM_DOMAIN_TYPE *pDomainType) {
  1239. return This->lpVtbl->GetDomainType(This,pDomainType);
  1240. }
  1241. #endif
  1242. #endif
  1243. #endif
  1244. #endif /* __INetworkConnection_INTERFACE_DEFINED__ */
  1245. /*****************************************************************************
  1246. * INetwork interface
  1247. */
  1248. #ifndef __INetwork_INTERFACE_DEFINED__
  1249. #define __INetwork_INTERFACE_DEFINED__
  1250. typedef enum NLM_NETWORK_CATEGORY {
  1251. NLM_NETWORK_CATEGORY_PUBLIC = 0x0,
  1252. NLM_NETWORK_CATEGORY_PRIVATE = 0x1,
  1253. NLM_NETWORK_CATEGORY_DOMAIN_AUTHENTICATED = 0x2
  1254. } NLM_NETWORK_CATEGORY;
  1255. DEFINE_GUID(IID_INetwork, 0xdcb00002, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  1256. #if defined(__cplusplus) && !defined(CINTERFACE)
  1257. MIDL_INTERFACE("dcb00002-570f-4a9b-8d69-199fdba5723b")
  1258. INetwork : public IDispatch
  1259. {
  1260. virtual HRESULT STDMETHODCALLTYPE GetName(
  1261. BSTR *pszNetworkName) = 0;
  1262. virtual HRESULT STDMETHODCALLTYPE SetName(
  1263. BSTR szNetworkNewName) = 0;
  1264. virtual HRESULT STDMETHODCALLTYPE GetDescription(
  1265. BSTR *pszDescription) = 0;
  1266. virtual HRESULT STDMETHODCALLTYPE SetDescription(
  1267. BSTR szDescription) = 0;
  1268. virtual HRESULT STDMETHODCALLTYPE GetNetworkId(
  1269. GUID *pgdGuidNetworkId) = 0;
  1270. virtual HRESULT STDMETHODCALLTYPE GetDomainType(
  1271. NLM_DOMAIN_TYPE *pNetworkType) = 0;
  1272. virtual HRESULT STDMETHODCALLTYPE GetNetworkConnections(
  1273. IEnumNetworkConnections **ppEnumNetworkConnection) = 0;
  1274. virtual HRESULT STDMETHODCALLTYPE GetTimeCreatedAndConnected(
  1275. DWORD *pdwLowDateTimeCreated,
  1276. DWORD *pdwHighDateTimeCreated,
  1277. DWORD *pdwLowDateTimeConnected,
  1278. DWORD *pdwHighDateTimeConnected) = 0;
  1279. virtual HRESULT STDMETHODCALLTYPE get_IsConnectedToInternet(
  1280. VARIANT_BOOL *pbIsConnected) = 0;
  1281. virtual HRESULT STDMETHODCALLTYPE get_IsConnected(
  1282. VARIANT_BOOL *pbIsConnected) = 0;
  1283. virtual HRESULT STDMETHODCALLTYPE GetConnectivity(
  1284. NLM_CONNECTIVITY *pConnectivity) = 0;
  1285. virtual HRESULT STDMETHODCALLTYPE GetCategory(
  1286. NLM_NETWORK_CATEGORY *pCategory) = 0;
  1287. virtual HRESULT STDMETHODCALLTYPE SetCategory(
  1288. NLM_NETWORK_CATEGORY NewCategory) = 0;
  1289. };
  1290. #ifdef __CRT_UUID_DECL
  1291. __CRT_UUID_DECL(INetwork, 0xdcb00002, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  1292. #endif
  1293. #else
  1294. typedef struct INetworkVtbl {
  1295. BEGIN_INTERFACE
  1296. /*** IUnknown methods ***/
  1297. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1298. INetwork *This,
  1299. REFIID riid,
  1300. void **ppvObject);
  1301. ULONG (STDMETHODCALLTYPE *AddRef)(
  1302. INetwork *This);
  1303. ULONG (STDMETHODCALLTYPE *Release)(
  1304. INetwork *This);
  1305. /*** IDispatch methods ***/
  1306. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1307. INetwork *This,
  1308. UINT *pctinfo);
  1309. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1310. INetwork *This,
  1311. UINT iTInfo,
  1312. LCID lcid,
  1313. ITypeInfo **ppTInfo);
  1314. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1315. INetwork *This,
  1316. REFIID riid,
  1317. LPOLESTR *rgszNames,
  1318. UINT cNames,
  1319. LCID lcid,
  1320. DISPID *rgDispId);
  1321. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1322. INetwork *This,
  1323. DISPID dispIdMember,
  1324. REFIID riid,
  1325. LCID lcid,
  1326. WORD wFlags,
  1327. DISPPARAMS *pDispParams,
  1328. VARIANT *pVarResult,
  1329. EXCEPINFO *pExcepInfo,
  1330. UINT *puArgErr);
  1331. /*** INetwork methods ***/
  1332. HRESULT (STDMETHODCALLTYPE *GetName)(
  1333. INetwork *This,
  1334. BSTR *pszNetworkName);
  1335. HRESULT (STDMETHODCALLTYPE *SetName)(
  1336. INetwork *This,
  1337. BSTR szNetworkNewName);
  1338. HRESULT (STDMETHODCALLTYPE *GetDescription)(
  1339. INetwork *This,
  1340. BSTR *pszDescription);
  1341. HRESULT (STDMETHODCALLTYPE *SetDescription)(
  1342. INetwork *This,
  1343. BSTR szDescription);
  1344. HRESULT (STDMETHODCALLTYPE *GetNetworkId)(
  1345. INetwork *This,
  1346. GUID *pgdGuidNetworkId);
  1347. HRESULT (STDMETHODCALLTYPE *GetDomainType)(
  1348. INetwork *This,
  1349. NLM_DOMAIN_TYPE *pNetworkType);
  1350. HRESULT (STDMETHODCALLTYPE *GetNetworkConnections)(
  1351. INetwork *This,
  1352. IEnumNetworkConnections **ppEnumNetworkConnection);
  1353. HRESULT (STDMETHODCALLTYPE *GetTimeCreatedAndConnected)(
  1354. INetwork *This,
  1355. DWORD *pdwLowDateTimeCreated,
  1356. DWORD *pdwHighDateTimeCreated,
  1357. DWORD *pdwLowDateTimeConnected,
  1358. DWORD *pdwHighDateTimeConnected);
  1359. HRESULT (STDMETHODCALLTYPE *get_IsConnectedToInternet)(
  1360. INetwork *This,
  1361. VARIANT_BOOL *pbIsConnected);
  1362. HRESULT (STDMETHODCALLTYPE *get_IsConnected)(
  1363. INetwork *This,
  1364. VARIANT_BOOL *pbIsConnected);
  1365. HRESULT (STDMETHODCALLTYPE *GetConnectivity)(
  1366. INetwork *This,
  1367. NLM_CONNECTIVITY *pConnectivity);
  1368. HRESULT (STDMETHODCALLTYPE *GetCategory)(
  1369. INetwork *This,
  1370. NLM_NETWORK_CATEGORY *pCategory);
  1371. HRESULT (STDMETHODCALLTYPE *SetCategory)(
  1372. INetwork *This,
  1373. NLM_NETWORK_CATEGORY NewCategory);
  1374. END_INTERFACE
  1375. } INetworkVtbl;
  1376. interface INetwork {
  1377. CONST_VTBL INetworkVtbl* lpVtbl;
  1378. };
  1379. #ifdef COBJMACROS
  1380. #ifndef WIDL_C_INLINE_WRAPPERS
  1381. /*** IUnknown methods ***/
  1382. #define INetwork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1383. #define INetwork_AddRef(This) (This)->lpVtbl->AddRef(This)
  1384. #define INetwork_Release(This) (This)->lpVtbl->Release(This)
  1385. /*** IDispatch methods ***/
  1386. #define INetwork_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1387. #define INetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1388. #define INetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1389. #define INetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1390. /*** INetwork methods ***/
  1391. #define INetwork_GetName(This,pszNetworkName) (This)->lpVtbl->GetName(This,pszNetworkName)
  1392. #define INetwork_SetName(This,szNetworkNewName) (This)->lpVtbl->SetName(This,szNetworkNewName)
  1393. #define INetwork_GetDescription(This,pszDescription) (This)->lpVtbl->GetDescription(This,pszDescription)
  1394. #define INetwork_SetDescription(This,szDescription) (This)->lpVtbl->SetDescription(This,szDescription)
  1395. #define INetwork_GetNetworkId(This,pgdGuidNetworkId) (This)->lpVtbl->GetNetworkId(This,pgdGuidNetworkId)
  1396. #define INetwork_GetDomainType(This,pNetworkType) (This)->lpVtbl->GetDomainType(This,pNetworkType)
  1397. #define INetwork_GetNetworkConnections(This,ppEnumNetworkConnection) (This)->lpVtbl->GetNetworkConnections(This,ppEnumNetworkConnection)
  1398. #define INetwork_GetTimeCreatedAndConnected(This,pdwLowDateTimeCreated,pdwHighDateTimeCreated,pdwLowDateTimeConnected,pdwHighDateTimeConnected) (This)->lpVtbl->GetTimeCreatedAndConnected(This,pdwLowDateTimeCreated,pdwHighDateTimeCreated,pdwLowDateTimeConnected,pdwHighDateTimeConnected)
  1399. #define INetwork_get_IsConnectedToInternet(This,pbIsConnected) (This)->lpVtbl->get_IsConnectedToInternet(This,pbIsConnected)
  1400. #define INetwork_get_IsConnected(This,pbIsConnected) (This)->lpVtbl->get_IsConnected(This,pbIsConnected)
  1401. #define INetwork_GetConnectivity(This,pConnectivity) (This)->lpVtbl->GetConnectivity(This,pConnectivity)
  1402. #define INetwork_GetCategory(This,pCategory) (This)->lpVtbl->GetCategory(This,pCategory)
  1403. #define INetwork_SetCategory(This,NewCategory) (This)->lpVtbl->SetCategory(This,NewCategory)
  1404. #else
  1405. /*** IUnknown methods ***/
  1406. static FORCEINLINE HRESULT INetwork_QueryInterface(INetwork* This,REFIID riid,void **ppvObject) {
  1407. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1408. }
  1409. static FORCEINLINE ULONG INetwork_AddRef(INetwork* This) {
  1410. return This->lpVtbl->AddRef(This);
  1411. }
  1412. static FORCEINLINE ULONG INetwork_Release(INetwork* This) {
  1413. return This->lpVtbl->Release(This);
  1414. }
  1415. /*** IDispatch methods ***/
  1416. static FORCEINLINE HRESULT INetwork_GetTypeInfoCount(INetwork* This,UINT *pctinfo) {
  1417. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1418. }
  1419. static FORCEINLINE HRESULT INetwork_GetTypeInfo(INetwork* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1420. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1421. }
  1422. static FORCEINLINE HRESULT INetwork_GetIDsOfNames(INetwork* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1423. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1424. }
  1425. static FORCEINLINE HRESULT INetwork_Invoke(INetwork* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1426. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1427. }
  1428. /*** INetwork methods ***/
  1429. static FORCEINLINE HRESULT INetwork_GetName(INetwork* This,BSTR *pszNetworkName) {
  1430. return This->lpVtbl->GetName(This,pszNetworkName);
  1431. }
  1432. static FORCEINLINE HRESULT INetwork_SetName(INetwork* This,BSTR szNetworkNewName) {
  1433. return This->lpVtbl->SetName(This,szNetworkNewName);
  1434. }
  1435. static FORCEINLINE HRESULT INetwork_GetDescription(INetwork* This,BSTR *pszDescription) {
  1436. return This->lpVtbl->GetDescription(This,pszDescription);
  1437. }
  1438. static FORCEINLINE HRESULT INetwork_SetDescription(INetwork* This,BSTR szDescription) {
  1439. return This->lpVtbl->SetDescription(This,szDescription);
  1440. }
  1441. static FORCEINLINE HRESULT INetwork_GetNetworkId(INetwork* This,GUID *pgdGuidNetworkId) {
  1442. return This->lpVtbl->GetNetworkId(This,pgdGuidNetworkId);
  1443. }
  1444. static FORCEINLINE HRESULT INetwork_GetDomainType(INetwork* This,NLM_DOMAIN_TYPE *pNetworkType) {
  1445. return This->lpVtbl->GetDomainType(This,pNetworkType);
  1446. }
  1447. static FORCEINLINE HRESULT INetwork_GetNetworkConnections(INetwork* This,IEnumNetworkConnections **ppEnumNetworkConnection) {
  1448. return This->lpVtbl->GetNetworkConnections(This,ppEnumNetworkConnection);
  1449. }
  1450. static FORCEINLINE HRESULT INetwork_GetTimeCreatedAndConnected(INetwork* This,DWORD *pdwLowDateTimeCreated,DWORD *pdwHighDateTimeCreated,DWORD *pdwLowDateTimeConnected,DWORD *pdwHighDateTimeConnected) {
  1451. return This->lpVtbl->GetTimeCreatedAndConnected(This,pdwLowDateTimeCreated,pdwHighDateTimeCreated,pdwLowDateTimeConnected,pdwHighDateTimeConnected);
  1452. }
  1453. static FORCEINLINE HRESULT INetwork_get_IsConnectedToInternet(INetwork* This,VARIANT_BOOL *pbIsConnected) {
  1454. return This->lpVtbl->get_IsConnectedToInternet(This,pbIsConnected);
  1455. }
  1456. static FORCEINLINE HRESULT INetwork_get_IsConnected(INetwork* This,VARIANT_BOOL *pbIsConnected) {
  1457. return This->lpVtbl->get_IsConnected(This,pbIsConnected);
  1458. }
  1459. static FORCEINLINE HRESULT INetwork_GetConnectivity(INetwork* This,NLM_CONNECTIVITY *pConnectivity) {
  1460. return This->lpVtbl->GetConnectivity(This,pConnectivity);
  1461. }
  1462. static FORCEINLINE HRESULT INetwork_GetCategory(INetwork* This,NLM_NETWORK_CATEGORY *pCategory) {
  1463. return This->lpVtbl->GetCategory(This,pCategory);
  1464. }
  1465. static FORCEINLINE HRESULT INetwork_SetCategory(INetwork* This,NLM_NETWORK_CATEGORY NewCategory) {
  1466. return This->lpVtbl->SetCategory(This,NewCategory);
  1467. }
  1468. #endif
  1469. #endif
  1470. #endif
  1471. #endif /* __INetwork_INTERFACE_DEFINED__ */
  1472. /*****************************************************************************
  1473. * INetworkEvents interface
  1474. */
  1475. #ifndef __INetworkEvents_INTERFACE_DEFINED__
  1476. #define __INetworkEvents_INTERFACE_DEFINED__
  1477. typedef enum NLM_NETWORK_PROPERTY_CHANGE {
  1478. NLM_NETWORK_PROPERTY_CHANGE_CONNECTION = 0x1,
  1479. NLM_NETWORK_PROPERTY_CHANGE_DESCRIPTION = 0x2,
  1480. NLM_NETWORK_PROPERTY_CHANGE_NAME = 0x4,
  1481. NLM_NETWORK_PROPERTY_CHANGE_ICON = 0x8,
  1482. NLM_NETWORK_PROPERTY_CHANGE_CATEGORY_VALUE = 0x10
  1483. } NLM_NETWORK_PROPERTY_CHANGE;
  1484. DEFINE_GUID(IID_INetworkEvents, 0xdcb00004, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
  1485. #if defined(__cplusplus) && !defined(CINTERFACE)
  1486. MIDL_INTERFACE("dcb00004-570f-4a9b-8d69-199fdba5723b")
  1487. INetworkEvents : public IUnknown
  1488. {
  1489. virtual HRESULT STDMETHODCALLTYPE NetworkAdded(
  1490. GUID networkId) = 0;
  1491. virtual HRESULT STDMETHODCALLTYPE NetworkDeleted(
  1492. GUID networkId) = 0;
  1493. virtual HRESULT STDMETHODCALLTYPE NetworkConnectivityChanged(
  1494. GUID networkId,
  1495. NLM_CONNECTIVITY newConnectivity) = 0;
  1496. virtual HRESULT STDMETHODCALLTYPE NetworkPropertyChanged(
  1497. GUID networkId,
  1498. NLM_NETWORK_PROPERTY_CHANGE flags) = 0;
  1499. };
  1500. #ifdef __CRT_UUID_DECL
  1501. __CRT_UUID_DECL(INetworkEvents, 0xdcb00004, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
  1502. #endif
  1503. #else
  1504. typedef struct INetworkEventsVtbl {
  1505. BEGIN_INTERFACE
  1506. /*** IUnknown methods ***/
  1507. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1508. INetworkEvents *This,
  1509. REFIID riid,
  1510. void **ppvObject);
  1511. ULONG (STDMETHODCALLTYPE *AddRef)(
  1512. INetworkEvents *This);
  1513. ULONG (STDMETHODCALLTYPE *Release)(
  1514. INetworkEvents *This);
  1515. /*** INetworkEvents methods ***/
  1516. HRESULT (STDMETHODCALLTYPE *NetworkAdded)(
  1517. INetworkEvents *This,
  1518. GUID networkId);
  1519. HRESULT (STDMETHODCALLTYPE *NetworkDeleted)(
  1520. INetworkEvents *This,
  1521. GUID networkId);
  1522. HRESULT (STDMETHODCALLTYPE *NetworkConnectivityChanged)(
  1523. INetworkEvents *This,
  1524. GUID networkId,
  1525. NLM_CONNECTIVITY newConnectivity);
  1526. HRESULT (STDMETHODCALLTYPE *NetworkPropertyChanged)(
  1527. INetworkEvents *This,
  1528. GUID networkId,
  1529. NLM_NETWORK_PROPERTY_CHANGE flags);
  1530. END_INTERFACE
  1531. } INetworkEventsVtbl;
  1532. interface INetworkEvents {
  1533. CONST_VTBL INetworkEventsVtbl* lpVtbl;
  1534. };
  1535. #ifdef COBJMACROS
  1536. #ifndef WIDL_C_INLINE_WRAPPERS
  1537. /*** IUnknown methods ***/
  1538. #define INetworkEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1539. #define INetworkEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  1540. #define INetworkEvents_Release(This) (This)->lpVtbl->Release(This)
  1541. /*** INetworkEvents methods ***/
  1542. #define INetworkEvents_NetworkAdded(This,networkId) (This)->lpVtbl->NetworkAdded(This,networkId)
  1543. #define INetworkEvents_NetworkDeleted(This,networkId) (This)->lpVtbl->NetworkDeleted(This,networkId)
  1544. #define INetworkEvents_NetworkConnectivityChanged(This,networkId,newConnectivity) (This)->lpVtbl->NetworkConnectivityChanged(This,networkId,newConnectivity)
  1545. #define INetworkEvents_NetworkPropertyChanged(This,networkId,flags) (This)->lpVtbl->NetworkPropertyChanged(This,networkId,flags)
  1546. #else
  1547. /*** IUnknown methods ***/
  1548. static FORCEINLINE HRESULT INetworkEvents_QueryInterface(INetworkEvents* This,REFIID riid,void **ppvObject) {
  1549. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1550. }
  1551. static FORCEINLINE ULONG INetworkEvents_AddRef(INetworkEvents* This) {
  1552. return This->lpVtbl->AddRef(This);
  1553. }
  1554. static FORCEINLINE ULONG INetworkEvents_Release(INetworkEvents* This) {
  1555. return This->lpVtbl->Release(This);
  1556. }
  1557. /*** INetworkEvents methods ***/
  1558. static FORCEINLINE HRESULT INetworkEvents_NetworkAdded(INetworkEvents* This,GUID networkId) {
  1559. return This->lpVtbl->NetworkAdded(This,networkId);
  1560. }
  1561. static FORCEINLINE HRESULT INetworkEvents_NetworkDeleted(INetworkEvents* This,GUID networkId) {
  1562. return This->lpVtbl->NetworkDeleted(This,networkId);
  1563. }
  1564. static FORCEINLINE HRESULT INetworkEvents_NetworkConnectivityChanged(INetworkEvents* This,GUID networkId,NLM_CONNECTIVITY newConnectivity) {
  1565. return This->lpVtbl->NetworkConnectivityChanged(This,networkId,newConnectivity);
  1566. }
  1567. static FORCEINLINE HRESULT INetworkEvents_NetworkPropertyChanged(INetworkEvents* This,GUID networkId,NLM_NETWORK_PROPERTY_CHANGE flags) {
  1568. return This->lpVtbl->NetworkPropertyChanged(This,networkId,flags);
  1569. }
  1570. #endif
  1571. #endif
  1572. #endif
  1573. #endif /* __INetworkEvents_INTERFACE_DEFINED__ */
  1574. /* Begin additional prototypes for all interfaces */
  1575. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  1576. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  1577. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  1578. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  1579. /* End additional prototypes */
  1580. #ifdef __cplusplus
  1581. }
  1582. #endif
  1583. #endif /* __netlistmgr_h__ */