Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygennetcon.h
Go to the documentation of this file.
00001 #ifndef __NETCON_H__ 00002 #define __NETCON_H__ 00003 00004 #ifdef __cplusplus 00005 extern "C" { 00006 #endif 00007 00008 typedef enum 00009 { 00010 NCME_DEFAULT = 0 00011 }NETCONMGR_ENUM_FLAGS; 00012 00013 typedef enum 00014 { 00015 NCCF_NONE = 0, 00016 NCCF_ALL_USERS = 0x1, 00017 NCCF_ALLOW_DUPLICATION = 0x2, 00018 NCCF_ALLOW_REMOVAL = 0x4, 00019 NCCF_ALLOW_RENAME = 0x8, 00020 NCCF_SHOW_ICON = 0x10, 00021 NCCF_INCOMING_ONLY = 0x20, 00022 NCCF_OUTGOING_ONLY = 0x40, 00023 NCCF_BRANDED = 0x80, 00024 NCCF_SHARED = 0x100, 00025 NCCF_BRIDGED = 0x200, 00026 NCCF_FIREWALLED = 0x400, 00027 NCCF_DEFAULT = 0x800, 00028 NCCF_HOMENET_CAPABLE = 0x1000, 00029 NCCF_SHARED_PRIVATE = 0x2000, 00030 NCCF_QUARANTINED = 0x4000, 00031 NCCF_RESERVED = 0x8000, 00032 NCCF_BLUETOOTH_MASK = 0xf0000, 00033 NCCF_LAN_MASK = 0xf00000 00034 }NETCON_CHARACTERISTIC_FLAGS; 00035 00036 00037 typedef enum 00038 { 00039 NCS_DISCONNECTED = 0, 00040 NCS_CONNECTING = NCS_DISCONNECTED + 1, 00041 NCS_CONNECTED = NCS_CONNECTING + 1, 00042 NCS_DISCONNECTING = NCS_CONNECTED + 1, 00043 NCS_HARDWARE_NOT_PRESENT = NCS_DISCONNECTING + 1, 00044 NCS_HARDWARE_DISABLED = NCS_HARDWARE_NOT_PRESENT + 1, 00045 NCS_HARDWARE_MALFUNCTION = NCS_HARDWARE_DISABLED + 1, 00046 NCS_MEDIA_DISCONNECTED = NCS_HARDWARE_MALFUNCTION + 1, 00047 NCS_AUTHENTICATING = NCS_MEDIA_DISCONNECTED + 1, 00048 NCS_AUTHENTICATION_SUCCEEDED= NCS_AUTHENTICATING + 1, 00049 NCS_AUTHENTICATION_FAILED = NCS_AUTHENTICATION_SUCCEEDED + 1, 00050 NCS_INVALID_ADDRESS = NCS_AUTHENTICATION_FAILED + 1, 00051 NCS_CREDENTIALS_REQUIRED = NCS_INVALID_ADDRESS + 1 00052 }NETCON_STATUS; 00053 00054 typedef enum 00055 { 00056 NCT_DIRECT_CONNECT = 0, 00057 NCT_INBOUND = NCT_DIRECT_CONNECT + 1, 00058 NCT_INTERNET = NCT_INBOUND + 1, 00059 NCT_LAN = NCT_INTERNET + 1, 00060 NCT_PHONE = NCT_LAN + 1, 00061 NCT_TUNNEL = NCT_PHONE + 1, 00062 NCT_BRIDGE = NCT_TUNNEL + 1 00063 }NETCON_TYPE; 00064 00065 00066 typedef enum 00067 { 00068 NCM_NONE = 0, 00069 NCM_DIRECT = NCM_NONE + 1, 00070 NCM_ISDN = NCM_DIRECT + 1, 00071 NCM_LAN = NCM_ISDN + 1, 00072 NCM_PHONE = NCM_LAN + 1, 00073 NCM_TUNNEL = NCM_PHONE + 1, 00074 NCM_PPPOE = NCM_TUNNEL + 1, 00075 NCM_BRIDGE = NCM_PPPOE + 1, 00076 NCM_SHAREDACCESSHOST_LAN = NCM_BRIDGE + 1, 00077 NCM_SHAREDACCESSHOST_RAS = NCM_SHAREDACCESSHOST_LAN + 1 00078 }NETCON_MEDIATYPE; 00079 00080 00081 typedef struct tagNETCON_PROPERTIES 00082 { 00083 GUID guidId; 00084 LPWSTR pszwName; 00085 LPWSTR pszwDeviceName; 00086 NETCON_STATUS Status; 00087 NETCON_MEDIATYPE MediaType; 00088 DWORD dwCharacter; 00089 CLSID clsidThisObject; 00090 CLSID clsidUiObject; 00091 }NETCON_PROPERTIES; 00092 00093 00094 #undef INTERFACE 00095 #define INTERFACE INetConnection 00096 DECLARE_INTERFACE_(INetConnection, IUnknown) 00097 { 00098 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppv) PURE; 00099 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00100 STDMETHOD_(ULONG,Release) (THIS) PURE; 00101 STDMETHOD_(HRESULT,Connect) (THIS) PURE; 00102 STDMETHOD_(HRESULT,Disconnect) (THIS) PURE; 00103 STDMETHOD_(HRESULT,Delete) (THIS) PURE; 00104 STDMETHOD_(HRESULT,Duplicate)(THIS_ LPCWSTR pszwDuplicateName, INetConnection **ppCon) PURE; 00105 STDMETHOD_(HRESULT,GetProperties) (THIS_ NETCON_PROPERTIES **ppProps) PURE; 00106 STDMETHOD_(HRESULT,GetUiObjectClassId) (THIS_ CLSID *pclsid) PURE; 00107 STDMETHOD_(HRESULT,Rename) (THIS_ LPCWSTR pszwNewName) PURE; 00108 }; 00109 #undef INTERFACE 00110 00111 #if !defined(__cplusplus) || defined(CINTERFACE) 00112 /*** IUnknown methods ***/ 00113 #define INetConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00114 #define INetConnection_AddRef(p) (p)->lpVtbl->AddRef(p) 00115 #define INetConnection_Release(p) (p)->lpVtbl->Release(p) 00116 #define INetConnection_Connect(p) (p)->lpVtbl->Connect(p) 00117 #define INetConnection_Disconnect(p) (p)->lpVtbl->Disconnect(p) 00118 #define INetConnection_Delete(p) (p)->lpVtbl->Delete(p) 00119 #define INetConnection_Duplicate(p,a,b) (p)->lpVtbl->Duplicate(p,a,b) 00120 #define INetConnection_GetProperties(p,a) (p)->lpVtbl->GetProperties(p,a) 00121 #define INetConnection_GetUiObjectClassId(p,a) (p)->lpVtbl->GetUiObjectClassId(p,a) 00122 #define INetConnection_Rename(p,a) (p)->lpVtbl->Rename(p,a) 00123 #endif 00124 00125 EXTERN_C const IID IID_INetConnection; 00126 00127 00128 #undef INTERFACE 00129 #define INTERFACE IEnumNetConnection 00130 DECLARE_INTERFACE_(IEnumNetConnection, IUnknown) 00131 { 00132 STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE; 00133 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 00134 STDMETHOD_(ULONG,Release) (THIS) PURE; 00135 STDMETHOD(Next)(THIS_ ULONG celt, INetConnection **rgelt, ULONG *pceltFetched) PURE; 00136 STDMETHOD(Skip) (THIS_ ULONG celt) PURE; 00137 STDMETHOD(Reset) (THIS) PURE; 00138 STDMETHOD(Clone) (THIS_ IEnumNetConnection **ppenum) PURE; 00139 }; 00140 #undef INTERFACE 00141 00142 EXTERN_C const IID IID_IEnumNetConnection; 00143 00144 #if !defined(__cplusplus) || defined(CINTERFACE) 00145 #define IEnumNetConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00146 #define IEnumNetConnection_AddRef(p) (p)->lpVtbl->AddRef(p) 00147 #define IEnumNetConnection_Release(p) (p)->lpVtbl->Release(p) 00148 #define IEnumNetConnection_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) 00149 #define IEnumNetConnection_Skip(p,a) (p)->lpVtbl->Skip(p,a) 00150 #define IEnumNetConnection_Reset(p) (p)->lpVtbl->Reset(p) 00151 #define IEnumNetConnection_Clone(p,a) (p)->lpVtbl->Clone(p,a) 00152 #endif 00153 00154 #undef INTERFACE 00155 #define INTERFACE INetConnectionManager 00156 DECLARE_INTERFACE_(INetConnectionManager, IUnknown) 00157 { 00158 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppv) PURE; 00159 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00160 STDMETHOD_(ULONG,Release) (THIS) PURE; 00161 STDMETHOD_(HRESULT,EnumConnections) (THIS_ NETCONMGR_ENUM_FLAGS Flags, IEnumNetConnection **ppEnum) PURE; 00162 }; 00163 #undef INTERFACE 00164 00165 #if !defined(__cplusplus) || defined(CINTERFACE) 00166 #define INetConnectionManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00167 #define INetConnectionManager_AddRef(p) (p)->lpVtbl->AddRef(p) 00168 #define INetConnectionManager_Release(p) (p)->lpVtbl->Release(p) 00169 #define INetConnectionManager_EnumConnections(p,a,b) (p)->lpVtbl->EnumConnections(p,a,b) 00170 #endif 00171 00172 EXTERN_C const CLSID CLSID_ConnectionManager; 00173 EXTERN_C const IID IID_INetConnectionManager; 00174 00175 typedef enum 00176 { 00177 NCUC_DEFAULT = 0, 00178 NCUC_NO_UI = 1, 00179 NCUC_ENABLE_DISABLE = 2 00180 }NETCONUI_CONNECT_FLAGS; 00181 00182 #undef INTERFACE 00183 #define INTERFACE INetConnectionConnectUi 00184 DECLARE_INTERFACE_(INetConnectionConnectUi, IUnknown) 00185 { 00186 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppv) PURE; 00187 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00188 STDMETHOD_(ULONG,Release) (THIS) PURE; 00189 STDMETHOD_(HRESULT,SetConnection)(THIS_ INetConnection* pCon) PURE; 00190 STDMETHOD_(HRESULT,Connect) (THIS_ HWND hwndParent, DWORD dwFlags) PURE; 00191 STDMETHOD_(HRESULT,Disconnect) (THIS_ HWND hwndParent, DWORD dwFlags); 00192 }; 00193 00194 #if !defined(__cplusplus) || defined(CINTERFACE) 00195 #define INetConnectionConnectUi_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00196 #define INetConnectionConnectUi_AddRef(p) (p)->lpVtbl->AddRef(p) 00197 #define INetConnectionConnectUi_Release(p) (p)->lpVtbl->Release(p) 00198 #define INetConnectionConnectUi_SetConnection(p,a) (p)->lpVtbl->SetConnection(p,a) 00199 #define INetConnectionConnectUi_Connect(p,a,b) (p)->lpVtbl->Connect(p,a,b) 00200 #define INetConnectionConnectUi_Disconnect(p,a,b) (p)->lpVtbl->Disconnect(p,a,b) 00201 #endif 00202 00203 EXTERN_C const IID IID_INetConnectionConnectUi; 00204 00205 #undef INTERFACE 00206 #define INTERFACE INetConnectionPropertyUi 00207 DECLARE_INTERFACE_(INetConnectionPropertyUi, IUnknown) 00208 { 00209 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppv) PURE; 00210 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00211 STDMETHOD_(ULONG,Release) (THIS) PURE; 00212 STDMETHOD_(HRESULT, SetConnection) (THIS_ INetConnection *pCon) PURE; 00213 STDMETHOD_(HRESULT, AddPages) (THIS_ HWND hwndParent, LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam) PURE; 00214 00215 00216 }; 00217 #undef INTERFACE 00218 00219 #if !defined(__cplusplus) || defined(CINTERFACE) 00220 #define INetConnectionPropertyUi_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00221 #define INetConnectionPropertyUi_AddRef(p) (p)->lpVtbl->AddRef(p) 00222 #define INetConnectionPropertyUi_Release(p) (p)->lpVtbl->Release(p) 00223 #define INetConnectionPropertyUi_SetConnection(p,a) (p)->lpVtbl->SetConnection(p,a) 00224 #define INetConnectionPropertyUi_AddPages(p,a,b,c) (p)->lpVtbl->AddPages(p,a,b,c) 00225 #endif 00226 00227 EXTERN_C const IID IID_INetConnectionPropertyUi; 00228 00229 #undef INTERFACE 00230 #define INTERFACE INetConnectionPropertyUi2 00231 DECLARE_INTERFACE_(INetConnectionPropertyUi2, IUnknown) 00232 { 00233 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppv) PURE; 00234 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00235 STDMETHOD_(ULONG,Release) (THIS) PURE; 00236 STDMETHOD_(HRESULT, SetConnection) (THIS_ INetConnection *pCon) PURE; 00237 STDMETHOD_(HRESULT, AddPages) (THIS_ HWND hwndParent, LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam) PURE; 00238 STDMETHOD_(HRESULT, GetIcon) (THIS_ DWORD dwSize, HICON *phIcon) PURE; 00239 }; 00240 #undef INTERFACE 00241 00242 #if !defined(__cplusplus) || defined(CINTERFACE) 00243 #define INetConnectionPropertyUi2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00244 #define INetConnectionPropertyUi2_AddRef(p) (p)->lpVtbl->AddRef(p) 00245 #define INetConnectionPropertyUi2_Release(p) (p)->lpVtbl->Release(p) 00246 #define INetConnectionPropertyUi2_SetConnection(p,a) (p)->lpVtbl->SetConnection(p,a) 00247 #define INetConnectionPropertyUi2_AddPages(p,a,b,c) (p)->lpVtbl->AddPages(p,a,b,c) 00248 #define INetConnectionPropertyUi2_GetIcon(p,a,b) (p)->lpVtbl->GetIcon(p,a,b) 00249 #endif 00250 00251 00252 EXTERN_C const IID IID_INetConnectionPropertyUi2; 00253 00254 00255 VOID WINAPI NcFreeNetconProperties (NETCON_PROPERTIES* pProps); 00256 00257 #ifdef __cplusplus 00258 } 00259 #endif 00260 00261 #endif Generated on Sat May 26 2012 04:30:49 for ReactOS by
1.7.6.1
|