- Free INetCfgComponent when reference count is zero
[reactos.git] / reactos / dll / win32 / netcfgx / precomp.h
1 #ifndef _PRECOMP_H__
2 #define _PRECOMP_H__
3
4 #define COBJMACROS
5 #define NONAMELESSUNION
6 #define NONAMELESSSTRUCT
7
8 #include <windows.h>
9 #include <netcfgx.h>
10 #include <setupapi.h>
11 #include <stdio.h>
12 #include <iphlpapi.h>
13 #include <olectl.h>
14 #include <netcfgn.h>
15 #include "resource.h"
16
17 typedef HRESULT (CALLBACK *LPFNCREATEINSTANCE)(IUnknown* pUnkOuter, REFIID riid, LPVOID* ppvObject);
18 typedef struct {
19 REFIID riid;
20 LPFNCREATEINSTANCE lpfnCI;
21 } INTERFACE_TABLE;
22
23 typedef struct tagNetCfgComponentItem
24 {
25 LPWSTR szDisplayName; //Y
26 LPWSTR szHelpText; //Y
27 LPWSTR szId; //Y
28 LPWSTR szBindName; //Y
29 LPWSTR szNodeId; //Y
30 CLSID InstanceId; //Y
31 CLSID ClassGUID; //Y
32 DWORD dwCharacteristics; //Y
33 ULONG Status; //Y
34 BOOL bChanged; //Y
35 struct tagNetCfgComponentItem * pNext;
36 }NetCfgComponentItem;
37
38 /* netcfg_iface.c */
39 HRESULT WINAPI INetCfg_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
40
41 /* classfactory.c */
42 IClassFactory * IClassFactory_fnConstructor(LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, REFIID riidInst);
43
44 /* globals */
45 extern HINSTANCE netcfgx_hInstance;
46
47 /* inetcfgcomp_iface.c */
48 HRESULT STDCALL INetCfgComponent_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv, NetCfgComponentItem * pItem,INetCfg * iface);
49 HRESULT STDCALL IEnumNetCfgComponent_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv, NetCfgComponentItem * pItem, INetCfg * iface);
50
51 /* tcpipconf_notify.c */
52 HRESULT WINAPI TcpipConfigNotify_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
53
54 extern const GUID CLSID_TcpipConfigNotifyObject;
55
56 #endif