Synchronize with trunk revision 59636 (just before Alex's CreateProcess revamp).
[reactos.git] / dll / win32 / netshell / precomp.h
1 #ifndef _PRECOMP_H__
2 #define _PRECOMP_H__
3
4 #define WIN32_NO_STATUS
5 #define _INC_WINDOWS
6 #define COM_NO_WINDOWS_H
7
8 #include <stdio.h>
9 #include <windef.h>
10 #include <winreg.h>
11 #include <winbase.h>
12 #include <winnls.h>
13 #include <winsock2.h>
14 #include <shlwapi.h>
15 #include <shlobj.h>
16 #include <shellapi.h>
17 #include <olectl.h>
18 #include <iphlpapi.h>
19 #include <setupapi.h>
20 #include <devguid.h>
21 #include <netcon.h>
22 #include <netcfgx.h>
23 #include <netcfgn.h>
24 #include <wine/debug.h>
25
26 #include "resource.h"
27
28 #if defined(_MSC_VER) && _MSC_VER < 1700
29 #define final sealed
30 #endif
31
32 #define NCF_VIRTUAL 0x1
33 #define NCF_SOFTWARE_ENUMERATED 0x2
34 #define NCF_PHYSICAL 0x4
35 #define NCF_HIDDEN 0x8
36 #define NCF_NO_SERVICE 0x10
37 #define NCF_NOT_USER_REMOVABLE 0x20
38 #define NCF_MULTIPORT_INSTANCED_ADAPTER 0x40
39 #define NCF_HAS_UI 0x80
40 #define NCF_FILTER 0x400
41 #define NCF_NDIS_PROTOCOL 0x4000
42
43 typedef struct {
44 int colnameid;
45 int pcsFlags;
46 int fmt;
47 int cxChar;
48 } shvheader;
49
50 typedef struct tagVALUEStruct
51 {
52 BYTE dummy;
53 INetConnection * pItem;
54 } VALUEStruct;
55
56 /* globals */
57 extern HINSTANCE netshell_hInstance;
58 extern const GUID CLSID_NetworkConnections;
59 extern const GUID CLSID_LANConnectUI;
60 extern const GUID CLSID_LanConnectStatusUI;
61 extern const GUID GUID_DEVCLASS_NET;
62
63 /* shfldr_netconnect.c */
64 HRESULT ShowNetConnectionProperties(INetConnection * pNetConnect, HWND hwnd);
65 HRESULT WINAPI ISF_NetConnect_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
66
67 /* enumlist.c */
68 LPITEMIDLIST _ILCreateNetConnect(void);
69 LPITEMIDLIST ILCreateNetConnectItem(INetConnection *pItem);
70 BOOL _ILIsNetConnect(LPCITEMIDLIST pidl);
71 //BOOL AddToEnumList(IEnumIDList *iface, LPITEMIDLIST pidl);
72 VALUEStruct * _ILGetValueStruct(LPCITEMIDLIST pidl);
73
74 /* classfactory.c */
75 HRESULT IClassFactory_fnConstructor(REFCLSID rclsid, REFIID riid, LPVOID *ppvOut);
76
77 /* connectmanager.c */
78 HRESULT WINAPI INetConnectionManager_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv);
79 BOOL GetAdapterIndexFromNetCfgInstanceId(PIP_ADAPTER_INFO pAdapterInfo, LPWSTR szNetCfg, PDWORD pIndex);
80
81 /* lanconnectui.c */
82 HPROPSHEETPAGE InitializePropertySheetPage(LPWSTR resname, DLGPROC dlgproc, LPARAM lParam, LPWSTR szTitle);
83 HRESULT WINAPI LanConnectUI_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv);
84
85 /* lanstatusui.c */
86 HRESULT WINAPI LanConnectStatusUI_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv);
87
88 #define NCCF_NOTIFY_DISCONNECTED 0x100000
89
90 #include "enumlist.h"
91
92 #endif