ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

netcon.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.