[NETCFGX]
[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 #define WIN32_NO_STATUS
9 #include <windows.h>
10 #define NTOS_MODE_USER
11 #include <ndk/ntndk.h>
12 #include <netcfgx.h>
13 #include <setupapi.h>
14 #include <stdio.h>
15 #include <iphlpapi.h>
16 #include <olectl.h>
17 #include <netcfgn.h>
18 #include "resource.h"
19 #include <prsht.h>
20
21 typedef HRESULT (CALLBACK *LPFNCREATEINSTANCE)(IUnknown* pUnkOuter, REFIID riid, LPVOID* ppvObject);
22 typedef struct {
23 REFIID riid;
24 LPFNCREATEINSTANCE lpfnCI;
25 } INTERFACE_TABLE;
26
27 typedef struct tagNetCfgComponentItem
28 {
29 LPWSTR szDisplayName; //Y
30 LPWSTR szHelpText; //Y
31 LPWSTR szId; //Y
32 LPWSTR szBindName; //Y
33 LPWSTR szNodeId; //Y
34 CLSID InstanceId; //Y
35 CLSID ClassGUID; //Y
36 DWORD dwCharacteristics; //Y
37 ULONG Status; //Y
38 BOOL bChanged; //Y
39 struct tagNetCfgComponentItem * pNext;
40 INetCfgComponentControl * pNCCC;
41 }NetCfgComponentItem;
42
43 /* netcfg_iface.c */
44 HRESULT WINAPI INetCfg_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
45
46 /* classfactory.c */
47 IClassFactory * IClassFactory_fnConstructor(LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, REFIID riidInst);
48
49 /* globals */
50 extern HINSTANCE netcfgx_hInstance;
51
52 /* inetcfgcomp_iface.c */
53 HRESULT WINAPI INetCfgComponent_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv, NetCfgComponentItem * pItem,INetCfg * iface);
54 HRESULT WINAPI IEnumNetCfgComponent_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv, NetCfgComponentItem * pItem, INetCfg * iface);
55
56 /* tcpipconf_notify.c */
57 HRESULT WINAPI TcpipConfigNotify_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
58
59 extern const GUID CLSID_TcpipConfigNotifyObject;
60
61 #endif