Sync with trunk (r49303)
[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 #define COBJMACROS
13 #define NONAMELESSUNION
14 #define NONAMELESSSTRUCT
15 #include <winsock2.h>
16 #include <windows.h>
17
18 #include <shlguid.h>
19 #include <shlwapi.h>
20 #include <shlobj.h>
21 #include <shldisp.h>
22 #include <cpl.h>
23 #include <objbase.h>
24 #include <ole2.h>
25 #include <ocidl.h>
26 #include <shobjidl.h>
27 #include <shellapi.h>
28 #include <olectl.h>
29 #include <iphlpapi.h>
30 #include <shtypes.h>
31 #include <setupapi.h>
32 #include <devguid.h>
33 #include <netcon.h>
34 #include <docobj.h>
35 #include <netcfgx.h>
36 #include <netcfgn.h>
37 #include <prsht.h>
38
39
40 #include "wine/debug.h"
41 #include "wine/unicode.h"
42 #include "resource.h"
43
44 #define NCF_VIRTUAL 0x1
45 #define NCF_SOFTWARE_ENUMERATED 0x2
46 #define NCF_PHYSICAL 0x4
47 #define NCF_HIDDEN 0x8
48 #define NCF_NO_SERVICE 0x10
49 #define NCF_NOT_USER_REMOVABLE 0x20
50 #define NCF_MULTIPORT_INSTANCED_ADAPTER 0x40
51 #define NCF_HAS_UI 0x80
52 #define NCF_FILTER 0x400
53 #define NCF_NDIS_PROTOCOL 0x4000
54
55 typedef struct {
56 int colnameid;
57 int pcsFlags;
58 int fmt;
59 int cxChar;
60 } shvheader;
61
62 typedef HRESULT (CALLBACK *LPFNCREATEINSTANCE)(IUnknown* pUnkOuter, REFIID riid, LPVOID* ppvObject);
63 typedef struct {
64 REFIID riid;
65 LPFNCREATEINSTANCE lpfnCI;
66 } INTERFACE_TABLE;
67
68 typedef struct tagVALUEStruct
69 {
70 BYTE dummy;
71 INetConnection * pItem;
72 }VALUEStruct;
73
74 /* globals */
75 extern HINSTANCE netshell_hInstance;
76 extern const GUID CLSID_NetworkConnections;
77 extern const GUID CLSID_LANConnectUI;
78 extern const GUID CLSID_LanConnectStatusUI;
79 extern const GUID GUID_DEVCLASS_NET;
80
81
82 /* shfldr_netconnect.c */
83 HRESULT ShowNetConnectionProperties(INetConnection * pNetConnect, HWND hwnd);
84 HRESULT WINAPI ISF_NetConnect_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
85
86 /* enumlist.c */
87 IEnumIDList * IEnumIDList_Constructor(void);
88 LPITEMIDLIST _ILCreateNetConnect();
89 LPITEMIDLIST ILCreateNetConnectItem(INetConnection * pItem);
90 BOOL _ILIsNetConnect (LPCITEMIDLIST pidl);
91 BOOL AddToEnumList(IEnumIDList * iface, LPITEMIDLIST pidl);
92 VALUEStruct * _ILGetValueStruct(LPCITEMIDLIST pidl);
93
94 /* classfactory.c */
95 IClassFactory * IClassFactory_fnConstructor(LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, REFIID riidInst);
96
97 /* connectmanager.c */
98 HRESULT WINAPI INetConnectionManager_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
99 BOOL GetAdapterIndexFromNetCfgInstanceId(PIP_ADAPTER_INFO pAdapterInfo, LPWSTR szNetCfg, PDWORD pIndex);
100
101 /* lanconnectui.c */
102 HPROPSHEETPAGE InitializePropertySheetPage(LPWSTR resname, DLGPROC dlgproc, LPARAM lParam, LPWSTR szTitle);
103 HRESULT WINAPI LanConnectUI_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
104
105 /* lanstatusui.c */
106 HRESULT WINAPI LanConnectStatusUI_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
107
108 #define NCCF_NOTIFY_DISCONNECTED 0x100000
109
110 #endif