Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygennetcon.idl
Go to the documentation of this file.
00001 /* 00002 * Copyright 2009 Jacek Caban for CodeWeavers 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 #ifndef DO_NO_IMPORTS 00020 import "oaidl.idl"; 00021 import "unknwn.idl"; 00022 import "wtypes.idl"; 00023 /* import "prsht.idl"; */ 00024 #endif 00025 00026 cpp_quote("DEFINE_GUID(CLSID_NetSharingManager,0x5c63c1ad,0x3956,0x4ff8,0x84,0x86,0x40,0x03,0x47,0x58,0x31,0x5b);") 00027 00028 [ 00029 object, 00030 uuid(c08956a1-1cd3-11d1-b1c5-00805fc1270e), 00031 pointer_default(unique) 00032 ] 00033 interface INetConnection : IUnknown 00034 { 00035 typedef enum tagNETCON_CHARACTERISTIC_FLAGS 00036 { 00037 NCCF_NONE = 0x0000, 00038 NCCF_ALL_USERS = 0x0001, 00039 NCCF_ALLOW_DUPLICATION = 0x0002, 00040 NCCF_ALLOW_REMOVAL = 0x0004, 00041 NCCF_ALLOW_RENAME = 0x0008, 00042 NCCF_INCOMING_ONLY = 0x0020, 00043 NCCF_OUTGOING_ONLY = 0x0040, 00044 NCCF_BRANDED = 0x0080, 00045 NCCF_SHARED = 0x0100, 00046 NCCF_BRIDGED = 0x0200, 00047 NCCF_FIREWALLED = 0x0400, 00048 NCCF_DEFAULT = 0x0800, 00049 NCCF_HOMENET_CAPABLE = 0x1000, 00050 NCCF_SHARED_PRIVATE = 0x2000, 00051 NCCF_QUARANTINED = 0x4000, 00052 NCCF_RESERVED = 0x8000, 00053 NCCF_BLUETOOTH_MASK = 0x000F0000, 00054 NCCF_LAN_MASK = 0x00F00000 00055 } NETCON_CHARACTERISTIC_FLAGS; 00056 00057 typedef enum tagNETCON_STATUS 00058 { 00059 NCS_DISCONNECTED, 00060 NCS_CONNECTING, 00061 NCS_CONNECTED, 00062 NCS_DISCONNECTING, 00063 NCS_HARDWARE_NOT_PRESENT, 00064 NCS_HARDWARE_DISABLED, 00065 NCS_HARDWARE_MALFUNCTION, 00066 NCS_MEDIA_DISCONNECTED, 00067 NCS_AUTHENTICATING, 00068 NCS_AUTHENTICATION_SUCCEEDED, 00069 NCS_AUTHENTICATION_FAILED, 00070 NCS_INVALID_ADDRESS, 00071 NCS_CREDENTIALS_REQUIRED 00072 } NETCON_STATUS; 00073 00074 typedef enum tagNETCON_TYPE 00075 { 00076 NCT_DIRECT_CONNECT, 00077 NCT_INBOUND, 00078 NCT_INTERNET, 00079 NCT_LAN, 00080 NCT_PHONE, 00081 NCT_TUNNEL, 00082 NCT_BRIDGE 00083 } NETCON_TYPE; 00084 00085 typedef enum tagNETCON_MEDIATYPE 00086 { 00087 NCM_NONE, 00088 NCM_DIRECT, 00089 NCM_ISDN, 00090 NCM_LAN, 00091 NCM_PHONE, 00092 NCM_TUNNEL, 00093 NCM_PPPOE, 00094 NCM_BRIDGE, 00095 NCM_SHAREDACCESSHOST_LAN, 00096 NCM_SHAREDACCESSHOST_RAS 00097 } NETCON_MEDIATYPE; 00098 00099 typedef struct tagNETCON_PROPERTIES 00100 { 00101 GUID guidId; 00102 [string] LPWSTR pszwName; 00103 [string] LPWSTR pszwDeviceName; 00104 NETCON_STATUS Status; 00105 NETCON_MEDIATYPE MediaType; 00106 DWORD dwCharacter; 00107 CLSID clsidThisObject; 00108 CLSID clsidUiObject; 00109 } NETCON_PROPERTIES; 00110 00111 HRESULT Connect(); 00112 00113 HRESULT Disconnect(); 00114 00115 HRESULT Delete(); 00116 00117 HRESULT Duplicate( 00118 [in, string] LPCWSTR pszwDuplicateName, 00119 [out] INetConnection **ppCon); 00120 00121 HRESULT GetProperties([out] NETCON_PROPERTIES **ppProps); 00122 00123 HRESULT GetUiObjectClassId([out, ref] CLSID *pclsid); 00124 00125 HRESULT Rename([in, string] LPCWSTR pszwNewName); 00126 } 00127 00128 [ 00129 object, 00130 uuid(24b7e9b5-e38f-4685-851b-00892cf5f940), 00131 oleautomation, 00132 dual, 00133 pointer_default(unique) 00134 ] 00135 interface INetSharingPortMappingProps : IDispatch 00136 { 00137 [propget, id(1)] 00138 HRESULT Name([out, retval] BSTR *pbstrName); 00139 00140 [propget, id(2)] 00141 HRESULT IPProtocol([out, retval] UCHAR *pucIPProt); 00142 00143 [propget, id(3)] 00144 HRESULT ExternalPort([out, retval] long *pusPort); 00145 00146 [propget, id(4)] 00147 HRESULT InternalPort([out, retval] long *pusPort); 00148 00149 [propget, id(5)] 00150 HRESULT Options([out, retval] long *pdwOptions); 00151 00152 [propget, id(6)] 00153 HRESULT TargetName([out, retval] BSTR *pbstrTargetName); 00154 00155 [propget, id(7)] 00156 HRESULT TargetIPAddress([out, retval] BSTR *pbstrTargetIPAddress); 00157 00158 [propget, id(8)] 00159 HRESULT Enabled([out, retval] VARIANT_BOOL *pbool); 00160 } 00161 00162 [ 00163 object, 00164 uuid(c08956b1-1cd3-11d1-b1c5-00805fc1270e), 00165 oleautomation, 00166 dual, 00167 pointer_default(unique) 00168 ] 00169 interface INetSharingPortMapping : IDispatch 00170 { 00171 [id(1)] 00172 HRESULT Disable(); 00173 00174 [id(2)] 00175 HRESULT Enable(); 00176 00177 [propget, id(3)] 00178 HRESULT Properties([out, retval] INetSharingPortMappingProps **ppNSPMP); 00179 00180 [id(4)] 00181 HRESULT Delete(); 00182 }; 00183 [ 00184 object, 00185 uuid(02e4a2de-da20-4e34-89c8-ac22275a010b), 00186 oleautomation, 00187 dual, 00188 pointer_default(unique) 00189 ] 00190 interface INetSharingPortMappingCollection : IDispatch 00191 { 00192 [propget, id(DISPID_NEWENUM), restricted] 00193 HRESULT _NewEnum([out, retval] IUnknown **pVal); 00194 00195 [propget, id(1)] 00196 HRESULT Count([out, retval] long *pVal); 00197 } 00198 00199 [ 00200 object, 00201 uuid(c08956b6-1cd3-11d1-b1c5-00805fc1270e), 00202 oleautomation, 00203 dual, 00204 pointer_default(unique) 00205 ] 00206 interface INetSharingConfiguration : IDispatch 00207 { 00208 typedef enum tagSHARINGCONNECTIONTYPE { 00209 ICSSHARINGTYPE_PUBLIC, 00210 ICSSHARINGTYPE_PRIVATE 00211 } SHARINGCONNECTIONTYPE, *LPSHARINGCONNECTIONTYPE; 00212 00213 typedef enum tagSHARINGCONNECTION_ENUM_FLAGS { 00214 ICSSC_DEFAULT, 00215 ICSSC_ENABLED 00216 } SHARINGCONNECTION_ENUM_FLAGS; 00217 00218 typedef enum tagICS_TARGETTYPE { 00219 ICSTT_NAME, 00220 ICSTT_IPADDRESS 00221 }ICS_TARGETTYPE; 00222 00223 [propget, id(1)] 00224 HRESULT SharingEnabled([out, retval] VARIANT_BOOL *pbEnabled); 00225 00226 [propget, id(2)] 00227 HRESULT SharingConnectionType([out, retval] SHARINGCONNECTIONTYPE *pType); 00228 00229 [id(3)] 00230 HRESULT DisableSharing(); 00231 00232 [id(4)] 00233 HRESULT EnableSharing([in] SHARINGCONNECTIONTYPE Type); 00234 00235 [propget, id(5)] 00236 HRESULT InternetFirewallEnabled([out, retval] VARIANT_BOOL *pbEnabled); 00237 00238 [id(6)] 00239 HRESULT DisableInternetFirewall(); 00240 00241 [id(7)] 00242 HRESULT EnableInternetFirewall(); 00243 00244 [propget, id(8)] 00245 HRESULT EnumPortMappings( 00246 [in] SHARINGCONNECTION_ENUM_FLAGS Flags, 00247 [out, retval] INetSharingPortMappingCollection **ppColl); 00248 00249 [id(9)] 00250 HRESULT AddPortMapping( 00251 [in] BSTR bstrName, 00252 [in] UCHAR ucIPProtocol, 00253 [in] USHORT usExternalPort, 00254 [in] USHORT usInternalPort, 00255 [in] DWORD dwOptions, 00256 [in] BSTR bstrTargetNameOrIPAddress, 00257 [in] ICS_TARGETTYPE eTargetType, 00258 [out, retval] INetSharingPortMapping **ppMapping ); 00259 00260 [id(10)] 00261 HRESULT RemovePortMapping([in] INetSharingPortMapping *pMapping); 00262 } 00263 00264 [ 00265 object, 00266 uuid(c08956b4-1cd3-11d1-b1c5-00805fc1270e), 00267 pointer_default(unique) 00268 ] 00269 interface IEnumNetSharingPublicConnection : IUnknown 00270 { 00271 HRESULT Next( 00272 [in] ULONG celt, 00273 [out, size_is(celt), length_is(*pceltFetched)] VARIANT *rgVar, 00274 [out] ULONG *pceltFetched); 00275 00276 HRESULT Skip([in] ULONG celt); 00277 00278 HRESULT Reset(); 00279 00280 HRESULT Clone([out] IEnumNetSharingPublicConnection **ppenum); 00281 } 00282 00283 [ 00284 object, 00285 uuid(c08956b5-1cd3-11d1-b1c5-00805fc1270e), 00286 pointer_default(unique) 00287 ] 00288 interface IEnumNetSharingPrivateConnection : IUnknown 00289 { 00290 HRESULT Next( 00291 [in] ULONG celt, 00292 [out, size_is(celt), length_is(*pCeltFetched)] VARIANT *rgVar, 00293 [out] ULONG *pCeltFetched); 00294 00295 HRESULT Skip([in] ULONG celt); 00296 00297 HRESULT Reset(); 00298 00299 HRESULT Clone([out] IEnumNetSharingPrivateConnection **ppenum); 00300 } 00301 00302 [ 00303 object, 00304 uuid(f4277c95-ce5b-463d-8167-5662d9bcaa72), 00305 oleautomation, 00306 dual, 00307 pointer_default(unique) 00308 ] 00309 interface INetConnectionProps : IDispatch 00310 { 00311 [propget, id(1)] 00312 HRESULT Guid([out, retval] BSTR *pbstrGuid); 00313 00314 [propget, id(2)] 00315 HRESULT Name([out, retval] BSTR *pbstrName); 00316 00317 [propget, id(3)] 00318 HRESULT DeviceName([out, retval] BSTR *pbstrDeviceName); 00319 00320 [propget, id(4)] 00321 HRESULT Status([out, retval] NETCON_STATUS *pStatus); 00322 00323 [propget, id(5)] 00324 HRESULT MediaType([out, retval] NETCON_MEDIATYPE *pMediaType); 00325 00326 [propget, id(6)] 00327 HRESULT Characteristics([out, retval] DWORD *pdwFlags); 00328 } 00329 00330 [ 00331 object, 00332 uuid(7d7a6355-f372-4971-a149-bfc927be762a), 00333 oleautomation, 00334 dual, 00335 pointer_default(unique) 00336 ] 00337 interface INetSharingPublicConnectionCollection : IDispatch 00338 { 00339 [propget, id(DISPID_NEWENUM), restricted] 00340 HRESULT _NewEnum([out, retval] IUnknown **pVal); 00341 00342 [propget, id(1)] 00343 HRESULT Count([out, retval] long *pVal); 00344 } 00345 00346 [ 00347 object, 00348 uuid(33c4643c-7811-46fa-a89a-768597bd7223), 00349 oleautomation, 00350 dual, 00351 pointer_default(unique) 00352 ] 00353 interface INetSharingEveryConnectionCollection : IDispatch 00354 { 00355 [propget, id(DISPID_NEWENUM), restricted] 00356 HRESULT _NewEnum([out, retval] IUnknown **pVal); 00357 00358 [propget, id(1)] 00359 HRESULT Count([out, retval] long *pVal); 00360 } 00361 00362 [ 00363 object, 00364 uuid(38ae69e0-4409-402a-a2cb-e965c727f840), 00365 oleautomation, 00366 dual, 00367 pointer_default(unique) 00368 ] 00369 interface INetSharingPrivateConnectionCollection : IDispatch 00370 { 00371 [propget, id(DISPID_NEWENUM), restricted] 00372 HRESULT _NewEnum([out, retval] IUnknown **pVal); 00373 00374 [propget, id(1)] 00375 HRESULT Count([out, retval] long *pVal); 00376 } 00377 00378 [ 00379 object, 00380 uuid(c08956b7-1cd3-11d1-b1c5-00805fc1270e), 00381 oleautomation, 00382 dual, 00383 pointer_default(unique) 00384 ] 00385 interface INetSharingManager : IDispatch 00386 { 00387 [propget, id(1)] 00388 HRESULT SharingInstalled([out, retval] VARIANT_BOOL *pbInstalled); 00389 00390 [propget, id(2)] 00391 HRESULT EnumPublicConnections( 00392 [in] SHARINGCONNECTION_ENUM_FLAGS Flags, 00393 [out, retval] INetSharingPublicConnectionCollection **ppColl); 00394 00395 [propget, id(3)] 00396 HRESULT EnumPrivateConnections( 00397 [in] SHARINGCONNECTION_ENUM_FLAGS Flags, 00398 [out, retval] INetSharingPrivateConnectionCollection **ppColl); 00399 00400 [propget, id(6)] 00401 HRESULT INetSharingConfigurationForINetConnection( 00402 [in] INetConnection *pNetConnection, 00403 [out, retval] INetSharingConfiguration **ppNetSharingConfiguration); 00404 00405 [propget, id(7)] 00406 HRESULT EnumEveryConnection([out, retval] INetSharingEveryConnectionCollection **ppColl); 00407 00408 [propget, id(8)] 00409 HRESULT NetConnectionProps( 00410 [in] INetConnection *pNetConnection, 00411 [out, retval] INetConnectionProps **ppProps); 00412 } Generated on Sat May 26 2012 04:30:50 for ReactOS by
1.7.6.1
|