Sync with trunk r58151 to bring the latest changes from Amine and Timo.
[reactos.git] / dll / win32 / netshell / precomp.h
1 #ifndef _PRECOMP_H__
2 #define _PRECOMP_H__
3
4 #include <stdarg.h>
5 #include <stdlib.h>
6 #include <string.h>
7 #include <stdio.h>
8 #include <assert.h>
9 #include <ctype.h>
10 #include <malloc.h>
11
12 #include <winsock2.h>
13 #include <windows.h>
14
15 #include <shlguid.h>
16 #include <shlwapi.h>
17 #include <shlobj.h>
18 #include <shldisp.h>
19 #include <cpl.h>
20 #include <objbase.h>
21 #include <ole2.h>
22 #include <ocidl.h>
23 #include <shobjidl.h>
24 #include <shellapi.h>
25 #include <olectl.h>
26 #include <iphlpapi.h>
27 #include <shtypes.h>
28 #include <setupapi.h>
29 #include <initguid.h>
30 #include <devguid.h>
31 #include <netcon.h>
32 #include <docobj.h>
33 #include <netcfgx.h>
34 #include <netcfgn.h>
35 #include <prsht.h>
36
37 #include "wine/debug.h"
38 #include "wine/unicode.h"
39 #include "resource.h"
40
41 #define NCF_VIRTUAL 0x1
42 #define NCF_SOFTWARE_ENUMERATED 0x2
43 #define NCF_PHYSICAL 0x4
44 #define NCF_HIDDEN 0x8
45 #define NCF_NO_SERVICE 0x10
46 #define NCF_NOT_USER_REMOVABLE 0x20
47 #define NCF_MULTIPORT_INSTANCED_ADAPTER 0x40
48 #define NCF_HAS_UI 0x80
49 #define NCF_FILTER 0x400
50 #define NCF_NDIS_PROTOCOL 0x4000
51
52 typedef struct {
53 int colnameid;
54 int pcsFlags;
55 int fmt;
56 int cxChar;
57 } shvheader;
58
59 typedef struct tagVALUEStruct
60 {
61 BYTE dummy;
62 INetConnection * pItem;
63 } VALUEStruct;
64
65 /* globals */
66 extern HINSTANCE netshell_hInstance;
67 extern const GUID CLSID_NetworkConnections;
68 extern const GUID CLSID_LANConnectUI;
69 extern const GUID CLSID_LanConnectStatusUI;
70 extern const GUID GUID_DEVCLASS_NET;
71
72 /* shfldr_netconnect.c */
73 HRESULT ShowNetConnectionProperties(INetConnection * pNetConnect, HWND hwnd);
74 HRESULT WINAPI ISF_NetConnect_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
75
76 /* enumlist.c */
77 LPITEMIDLIST _ILCreateNetConnect(void);
78 LPITEMIDLIST ILCreateNetConnectItem(INetConnection *pItem);
79 BOOL _ILIsNetConnect(LPCITEMIDLIST pidl);
80 //BOOL AddToEnumList(IEnumIDList *iface, LPITEMIDLIST pidl);
81 VALUEStruct * _ILGetValueStruct(LPCITEMIDLIST pidl);
82
83 /* classfactory.c */
84 HRESULT IClassFactory_fnConstructor(REFCLSID rclsid, REFIID riid, LPVOID *ppvOut);
85
86 /* connectmanager.c */
87 HRESULT WINAPI INetConnectionManager_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv);
88 BOOL GetAdapterIndexFromNetCfgInstanceId(PIP_ADAPTER_INFO pAdapterInfo, LPWSTR szNetCfg, PDWORD pIndex);
89
90 /* lanconnectui.c */
91 HPROPSHEETPAGE InitializePropertySheetPage(LPWSTR resname, DLGPROC dlgproc, LPARAM lParam, LPWSTR szTitle);
92 HRESULT WINAPI LanConnectUI_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv);
93
94 /* lanstatusui.c */
95 HRESULT WINAPI LanConnectStatusUI_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv);
96
97 #define NCCF_NOTIFY_DISCONNECTED 0x100000
98
99 #include "enumlist.h"
100
101 #endif