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