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

urlmon.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2000 Ulrich Czekalla
00003  * Copyright (C) 2003 Alexandre Julliard
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Lesser General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2.1 of the License, or (at your option) any later version.
00009  *
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Lesser General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this library; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00018  */
00019 
00020 import "objidl.idl";
00021 import "oleidl.idl";
00022 import "servprov.idl";
00023 import "msxml.idl";
00024 
00025 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
00026 cpp_quote("#undef GetUserName")
00027 cpp_quote("#undef SetPort")
00028 cpp_quote("#endif")
00029 
00030 interface IInternetProtocolSink;
00031 
00032 /*****************************************************************************
00033  * IInternet interface
00034  */
00035 [
00036     object,
00037     uuid(79eac9e0-baf9-11ce-8c82-00aa004ba90b),
00038     pointer_default(unique),
00039     local
00040 ]
00041 interface IInternet : IUnknown
00042 {
00043     typedef [unique] IInternet *LPIINTERNET;
00044 }
00045 
00046 /*****************************************************************************
00047  * IBinding interface
00048  */
00049 [
00050     object,
00051     uuid(79eac9c0-baf9-11ce-8c82-00aa004ba90b),
00052     pointer_default(unique)
00053 ]
00054 interface IBinding : IUnknown
00055 {
00056     typedef [unique] IBinding *LPBINDING;
00057 
00058     HRESULT Abort();
00059     HRESULT Suspend();
00060     HRESULT Resume();
00061 
00062     HRESULT SetPriority(
00063         [in] LONG nPriority);
00064 
00065     HRESULT GetPriority(
00066         [out] LONG * pnPriority);
00067 
00068     [local]
00069     HRESULT GetBindResult(
00070         [out] CLSID *pclsidProtocol,
00071         [out] DWORD *pdwResult,
00072         [out] LPOLESTR *pszResult,
00073         [in, out] DWORD *pdwReserved);
00074 
00075     [call_as(GetBindResult)]
00076     HRESULT RemoteGetBindResult(
00077         [out] CLSID *pclsidProtocol,
00078         [out] DWORD *pdwResult,
00079         [out] LPOLESTR *pszResult,
00080         [in] DWORD dwReserved);
00081 }
00082 
00083 
00084 /*****************************************************************************
00085  * IBindStatusCallback interface
00086  */
00087 [
00088     object,
00089     uuid(79eac9c1-baf9-11ce-8c82-00aa004ba90b),
00090     pointer_default(unique)
00091 ]
00092 interface IBindStatusCallback : IUnknown
00093 {
00094     typedef [unique] IBindStatusCallback *LPBINDSTATUSCALLBACK;
00095 
00096     typedef enum
00097     {
00098         BINDVERB_GET    = 0x00000000,
00099         BINDVERB_POST   = 0x00000001,
00100         BINDVERB_PUT    = 0x00000002,
00101         BINDVERB_CUSTOM = 0x00000003
00102     } BINDVERB;
00103 
00104     typedef enum
00105     {
00106         BINDINFOF_URLENCODESTGMEDDATA = 0x00000001,
00107         BINDINFOF_URLENCODEDEXTRAINFO = 0x00000002
00108     } BINDINFOF;
00109 
00110     typedef enum
00111     {
00112         BINDF_ASYNCHRONOUS = 0x00000001,
00113         BINDF_ASYNCSTORAGE = 0x00000002,
00114         BINDF_NOPROGRESSIVERENDERING = 0x00000004,
00115         BINDF_OFFLINEOPERATION = 0x00000008,
00116         BINDF_GETNEWESTVERSION = 0x00000010,
00117         BINDF_NOWRITECACHE = 0x00000020,
00118         BINDF_NEEDFILE = 0x00000040,
00119         BINDF_PULLDATA = 0x00000080,
00120         BINDF_IGNORESECURITYPROBLEM = 0x00000100,
00121         BINDF_RESYNCHRONIZE = 0x00000200,
00122         BINDF_HYPERLINK = 0x00000400,
00123         BINDF_NO_UI = 0x00000800,
00124         BINDF_SILENTOPERATION = 0x00001000,
00125         BINDF_PRAGMA_NO_CACHE = 0x00002000,
00126         BINDF_GETCLASSOBJECT = 0x00004000,
00127         BINDF_RESERVED_1 = 0x00008000,
00128         BINDF_FREE_THREADED = 0x00010000,
00129         BINDF_DIRECT_READ = 0x00020000,
00130         BINDF_FORMS_SUBMIT = 0x00040000,
00131         BINDF_GETFROMCACHE_IF_NET_FAIL = 0x00080000,
00132         BINDF_FROMURLMON = 0x00100000,
00133         BINDF_FWD_BACK = 0x00200000,
00134         BINDF_PREFERDEFAULTHANDLER = 0x00400000,
00135         BINDF_ENFORCERESTRICTED = 0x00800000
00136     } BINDF;
00137 
00138     typedef enum
00139     {
00140         URL_ENCODING_NONE         = 0x00000000,
00141         URL_ENCODING_ENABLE_UTF8  = 0x10000000,
00142         URL_ENCODING_DISABLE_UTF8 = 0x20000000
00143     } URL_ENCODING;
00144 
00145     typedef struct _tagBINDINFO
00146     {
00147         ULONG cbSize;
00148         LPWSTR szExtraInfo;
00149         STGMEDIUM stgmedData;
00150         DWORD grfBindInfoF;
00151         DWORD dwBindVerb;
00152         LPWSTR szCustomVerb;
00153         DWORD cbstgmedData;
00154         DWORD dwOptions;
00155         DWORD dwOptionsFlags;
00156         DWORD dwCodePage;
00157         SECURITY_ATTRIBUTES securityAttributes;
00158         IID iid;
00159         IUnknown *pUnk;
00160         DWORD dwReserved;
00161     } BINDINFO;
00162 
00163     typedef struct _REMSECURITY_ATTRIBUTES
00164     {
00165         DWORD nLength;
00166         DWORD lpSecurityDescriptor;
00167         BOOL bInheritHandle;
00168     } REMSECURITY_ATTRIBUTES, *PREMSECURITY_ATTRIBUTES, *LPREMSECURITY_ATTRIBUTES;
00169 
00170     typedef struct _tagRemBINDINFO
00171     {
00172         ULONG cbSize;
00173         LPWSTR szExtraInfo;
00174         DWORD grfBindInfoF;
00175         DWORD dwBindVerb;
00176         LPWSTR szCustomVerb;
00177         DWORD cbstgmedData;
00178         DWORD dwOptions;
00179         DWORD dwOptionsFlags;
00180         DWORD dwCodePage;
00181         REMSECURITY_ATTRIBUTES securityAttributes;
00182         IID iid;
00183         IUnknown *pUnk;
00184         DWORD dwReserved;
00185     } RemBINDINFO;
00186 
00187     typedef struct tagRemFORMATETC
00188     {
00189         DWORD cfFormat;
00190         DWORD ptd;
00191         DWORD dwAspect;
00192         LONG lindex;
00193         DWORD tymed;
00194     } RemFORMATETC, *LPREMFORMATETC;
00195 
00196     typedef enum
00197     {
00198         BSCF_FIRSTDATANOTIFICATION = 0x01,
00199         BSCF_INTERMEDIATEDATANOTIFICATION = 0x02,
00200         BSCF_LASTDATANOTIFICATION = 0x04,
00201         BSCF_DATAFULLYAVAILABLE = 0x08,
00202         BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10,
00203         BSCF_SKIPDRAINDATAFORFILEURLS = 0x20,
00204         BSCF_64BITLENGTHDOWNLOAD = 0x40
00205     } BSCF;
00206 
00207     typedef enum BINDSTATUS
00208     {
00209     BINDSTATUS_FINDINGRESOURCE = 1,
00210     BINDSTATUS_CONNECTING,
00211     BINDSTATUS_REDIRECTING,
00212     BINDSTATUS_BEGINDOWNLOADDATA,
00213     BINDSTATUS_DOWNLOADINGDATA,
00214     BINDSTATUS_ENDDOWNLOADDATA,
00215     BINDSTATUS_BEGINDOWNLOADCOMPONENTS,
00216     BINDSTATUS_INSTALLINGCOMPONENTS,
00217     BINDSTATUS_ENDDOWNLOADCOMPONENTS,
00218     BINDSTATUS_USINGCACHEDCOPY,
00219     BINDSTATUS_SENDINGREQUEST,
00220     BINDSTATUS_CLASSIDAVAILABLE,
00221     BINDSTATUS_MIMETYPEAVAILABLE,
00222     BINDSTATUS_CACHEFILENAMEAVAILABLE,
00223     BINDSTATUS_BEGINSYNCOPERATION,
00224     BINDSTATUS_ENDSYNCOPERATION,
00225     BINDSTATUS_BEGINUPLOADDATA,
00226     BINDSTATUS_UPLOADINGDATA,
00227     BINDSTATUS_ENDUPLOADINGDATA,
00228     BINDSTATUS_PROTOCOLCLASSID,
00229     BINDSTATUS_ENCODING,
00230     BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE,
00231     BINDSTATUS_CLASSINSTALLLOCATION,
00232     BINDSTATUS_DECODING,
00233     BINDSTATUS_LOADINGMIMEHANDLER,
00234     BINDSTATUS_CONTENTDISPOSITIONATTACH,
00235     BINDSTATUS_FILTERREPORTMIMETYPE,
00236     BINDSTATUS_CLSIDCANINSTANTIATE,
00237     BINDSTATUS_IUNKNOWNAVAILABLE,
00238     BINDSTATUS_DIRECTBIND,
00239     BINDSTATUS_RAWMIMETYPE,
00240     BINDSTATUS_PROXYDETECTING,
00241     BINDSTATUS_ACCEPTRANGES,
00242         BINDSTATUS_COOKIE_SENT,
00243         BINDSTATUS_COMPACT_POLICY_RECEIVED,
00244         BINDSTATUS_COOKIE_SUPPRESSED,
00245         BINDSTATUS_COOKIE_STATE_UNKNOWN,
00246         BINDSTATUS_COOKIE_STATE_ACCEPT,
00247         BINDSTATUS_COOKIE_STATE_REJECT,
00248         BINDSTATUS_COOKIE_STATE_PROMPT,
00249         BINDSTATUS_COOKIE_STATE_LEASH,
00250         BINDSTATUS_COOKIE_STATE_DOWNGRADE,
00251         BINDSTATUS_POLICY_HREF,
00252         BINDSTATUS_P3P_HEADER,
00253         BINDSTATUS_SESSION_COOKIE_RECEIVED,
00254         BINDSTATUS_PERSISTENT_COOKIE_RECEIVED,
00255         BINDSTATUS_SESSION_COOKIES_ALLOWED,
00256         BINDSTATUS_CACHECONTROL,
00257         BINDSTATUS_CONTENTDISPOSITIONFILENAME,
00258         BINDSTATUS_MIMETEXTPLAINMISMATCH,
00259         BINDSTATUS_PUBLISHERAVAILABLE,
00260         BINDSTATUS_DISPLAYNAMEAVAILABLE
00261     } BINDSTATUS;
00262 
00263 
00264     HRESULT OnStartBinding(
00265         [in] DWORD dwReserved,
00266         [in] IBinding * pib);
00267 
00268     HRESULT GetPriority(
00269         [out] LONG * pnPriority);
00270 
00271     HRESULT OnLowResource(
00272         [in] DWORD reserved);
00273 
00274     HRESULT OnProgress(
00275         [in] ULONG ulProgress,
00276         [in] ULONG ulProgressMax,
00277         [in] ULONG ulStatusCode,
00278         [in] LPCWSTR szStatusText);
00279 
00280     HRESULT OnStopBinding(
00281         [in] HRESULT hresult,
00282         [in, unique] LPCWSTR szError);
00283 
00284     [local]
00285     HRESULT GetBindInfo(
00286         [out] DWORD *grfBINDF,
00287         [in, out, unique] BINDINFO * pbindinfo);
00288 
00289     [call_as(GetBindInfo)]
00290     HRESULT RemoteGetBindInfo(
00291         [out] DWORD *grfBINDF,
00292         [in, out, unique] RemBINDINFO * pbindinfo,
00293         [in, out, unique] RemSTGMEDIUM* pstgmed);
00294 
00295     [local]
00296     HRESULT OnDataAvailable(
00297         [in] DWORD grfBSCF,
00298         [in] DWORD dwSize,
00299         [in] FORMATETC* pformatetc,
00300         [in] STGMEDIUM* pstgmed);
00301 
00302     [call_as(OnDataAvailable)]
00303     HRESULT RemoteOnDataAvailable(
00304         [in] DWORD grfBSCF,
00305         [in] DWORD dwSize,
00306         [in] RemFORMATETC *pformatetc,
00307         [in] RemSTGMEDIUM* pstgmed);
00308 
00309     HRESULT OnObjectAvailable(
00310         [in] REFIID riid,
00311         [in, iid_is(riid)] IUnknown* punk);
00312 }
00313 
00314 /*****************************************************************************
00315  * IBindStatusCallbackEx interface
00316  */
00317 [
00318     object,
00319     uuid(aaa74ef9-8ee7-4659-88d9-f8c504da73cc),
00320     pointer_default(unique)
00321 ]
00322 interface IBindStatusCallbackEx : IBindStatusCallback
00323 {
00324     typedef [unique] IBindStatusCallbackEx *LPBINDSTATUSCALLBACKEX;
00325 
00326     typedef enum {
00327         BINDF2_DISABLEBASICOVERHTTP               = 0x00000001,
00328         BINDF2_DISABLEAUTOCOOKIEHANDLING          = 0x00000002,
00329         BINDF2_READ_DATA_GREATER_THAN_4GB         = 0x00000004,
00330         BINDF2_DISABLE_HTTP_REDIRECT_XSECURITYID  = 0x00000008,
00331         BINDF2_RESERVED_3                         = 0x20000000,
00332         BINDF2_RESERVED_2                         = 0x40000000,
00333         BINDF2_RESERVED_1                         = 0x80000000,
00334     } BINDF2;
00335 
00336     [local]
00337     HRESULT GetBindInfoEx(
00338             [out] DWORD *grfBINDF,
00339             [in, out, unique] BINDINFO *pbindinfo,
00340             [out] DWORD *grfBINDF2,
00341             [out] DWORD *pdwReserved);
00342 
00343     [call_as(GetBindInfoEx)]
00344     HRESULT RemoteGetBindInfoEx(
00345             [out] DWORD *grfBINDF,
00346             [in, out, unique] RemBINDINFO *pbindinfo,
00347             [in, out, unique] RemSTGMEDIUM *pstgmed,
00348             [out] DWORD *grfBINDF2,
00349             [out] DWORD *pdwReserved);
00350 }
00351 
00352 
00353 /*****************************************************************************
00354  * IAuthenticate interface
00355  */
00356 [
00357     local,
00358     object,
00359     uuid(79EAC9D0-BAf9-11CE-8C82-00AA004BA90B),
00360     pointer_default(unique)
00361 ]
00362 interface IAuthenticate : IUnknown
00363 {
00364     typedef [unique] IAuthenticate *LPAUTHENTICATION;
00365 
00366     HRESULT Authenticate(
00367         [out] HWND* phwnd,
00368         [out] LPWSTR *pszUsername,
00369         [out] LPWSTR *pszPassword);
00370 }
00371 
00372 /*****************************************************************************
00373  * IHttpNegotiate interface
00374  */
00375 [
00376     object,
00377     uuid(79EAC9D2-BAF9-11CE-8C82-00AA004BA90B),
00378     pointer_default(unique)
00379 ]
00380 interface IHttpNegotiate : IUnknown
00381 {
00382     typedef [unique] IHttpNegotiate *LPHTTPNEGOTIATE;
00383 
00384     HRESULT BeginningTransaction(
00385         [in] LPCWSTR szURL,
00386         [in, unique] LPCWSTR szHeaders,
00387         [in] DWORD dwReserved,
00388         [out] LPWSTR *pszAdditionalHeaders);
00389 
00390     HRESULT OnResponse(
00391         [in] DWORD dwResponseCode,
00392         [in, unique] LPCWSTR szResponseHeaders,
00393         [in, unique] LPCWSTR szRequestHeaders,
00394         [out] LPWSTR *pszAdditionalRequestHeaders);
00395 }
00396 
00397 /*****************************************************************************
00398  * IHttpNegotiate2 interface
00399  */
00400 [
00401     object,
00402     uuid(4F9F9FCB-E0F4-48eb-B7AB-FA2EA9365CB4),
00403     pointer_default(unique)
00404 ]
00405 interface IHttpNegotiate2 : IHttpNegotiate
00406 {
00407     typedef [unique] IHttpNegotiate2 *LPHTTPNEGOTIATE2;
00408 
00409     HRESULT GetRootSecurityId(
00410          [out, size_is(*pcbSecurityId)] BYTE *pbSecurityId,
00411          [in, out] DWORD *pcbSecurityId,
00412          [in] DWORD_PTR dwReserved);
00413 }
00414 
00415 /*****************************************************************************
00416  * IBindHost interface
00417  */
00418 cpp_quote("#define SID_IBindHost IID_IBindHost")
00419 cpp_quote("#define SID_SBindHost IID_IBindHost")
00420 [
00421     object,
00422     uuid(fc4801a1-2ba9-11cf-a229-00aa003d7352),
00423     pointer_default(unique)
00424 ]
00425 interface IBindHost : IUnknown
00426 {
00427     typedef [unique] IBindHost *LPBINDHOST;
00428 
00429     HRESULT CreateMoniker(
00430         [in] LPOLESTR szName,
00431         [in] IBindCtx *pBC,
00432         [out] IMoniker** ppmk,
00433         [in] DWORD dwReserved);
00434 
00435     [local]
00436     HRESULT MonikerBindToStorage(
00437         [in] IMoniker *pMk,
00438         [in] IBindCtx *pBC,
00439         [in] IBindStatusCallback *pBSC,
00440         [in] REFIID riid,
00441         [out] void **ppvObj);
00442 
00443     [call_as(MonikerBindToStorage)]
00444     HRESULT RemoteMonikerBindToStorage(
00445         [in, unique] IMoniker *pMk,
00446         [in, unique] IBindCtx *pBC,
00447         [in, unique] IBindStatusCallback *pBSC,
00448         [in] REFIID riid,
00449         [out, iid_is(riid)] IUnknown **ppvObj);
00450 
00451     [local]
00452     HRESULT MonikerBindToObject(
00453         [in] IMoniker *pMk,
00454         [in] IBindCtx *pBC,
00455         [in] IBindStatusCallback *pBSC,
00456         [in] REFIID riid,
00457         [out] void **ppvObj);
00458 
00459     [call_as(MonikerBindToObject)]
00460     HRESULT RemoteMonikerBindToObject(
00461         [in, unique] IMoniker *pMk,
00462         [in, unique] IBindCtx *pBC,
00463         [in, unique] IBindStatusCallback *pBSC,
00464         [in] REFIID riid,
00465         [out, iid_is(riid)] IUnknown **ppvObj);
00466 }
00467 
00468 
00469 /*****************************************************************************
00470  * IWinInetInfo interface
00471  */
00472 [
00473     object,
00474     uuid(79eac9d6-bafa-11ce-8c82-00aa004ba90b),
00475     pointer_default(unique)
00476 ]
00477 interface IWinInetInfo : IUnknown
00478 {
00479     typedef [unique] IWinInetInfo *LPWININETINFO;
00480 
00481     [local]
00482     HRESULT QueryOption(
00483         [in] DWORD dwOption,
00484         [in, out, size_is(*pcbBuf)] LPVOID pBuffer,
00485         [in, out] DWORD *pcbBuf);
00486 
00487     [call_as(QueryOption)]
00488     HRESULT RemoteQueryOption(
00489         [in] DWORD  dwOption,
00490         [in, out, size_is(*pcbBuf)] BYTE *pBuffer,
00491         [in, out] DWORD *pcbBuf);
00492 }
00493 
00494 
00495 
00496 /*****************************************************************************
00497  * IWinInetHttpInfo interface
00498  */
00499 [
00500     object,
00501     uuid(79eac9d8-bafa-11ce-8c82-00aa004ba90b),
00502     pointer_default(unique)
00503 ]
00504 interface IWinInetHttpInfo : IWinInetInfo
00505 {
00506     typedef [unique] IWinInetHttpInfo *LPWININETHTTPINFO;
00507 
00508     [local]
00509     HRESULT QueryInfo(
00510         [in] DWORD dwOption,
00511         [in, out,size_is(*pcbBuf)] LPVOID pBuffer,
00512         [in, out] DWORD *pcbBuf,
00513         [in, out] DWORD *pdwFlags,
00514         [in, out] DWORD *pdwReserved);
00515 
00516     [call_as(QueryInfo)]
00517     HRESULT RemoteQueryInfo(
00518         [in] DWORD dwOption,
00519         [in,out,size_is(*pcbBuf)] BYTE *pBuffer,
00520         [in, out] DWORD *pcbBuf,
00521         [in, out] DWORD *pdwFlags,
00522         [in, out] DWORD *pdwReserved);
00523 }
00524 
00525 /*****************************************************************************
00526  * IWindowForBindingUI interface
00527  */
00528 [
00529     local,
00530     object,
00531     uuid(79eac9d5-bafa-11ce-8c82-00aa004ba90b),
00532     pointer_default(unique)
00533 ]
00534 interface IWindowForBindingUI : IUnknown
00535 {
00536     typedef [unique] IWindowForBindingUI *LPWINDOWFORBINDINGUI;
00537 
00538     HRESULT GetWindow(
00539         [in] REFGUID rguidReason,
00540         [out] HWND *phwnd);
00541 }
00542 
00543 /*****************************************************************************
00544  * IHttpSecurity interface
00545  */
00546 [
00547     object,
00548     uuid(79eac9d7-bafa-11ce-8c82-00aa004ba90b),
00549     pointer_default(unique)
00550 ]
00551 interface IHttpSecurity : IWindowForBindingUI
00552 {
00553     typedef [unique] IHttpSecurity *LPHTTPSECURITY;
00554 
00555     HRESULT OnSecurityProblem(
00556         [in] DWORD dwProblem);
00557 }
00558 
00559 
00560 /*****************************************************************************
00561  * IPersistMoniker interface
00562  */
00563 [
00564     object,
00565     uuid(79eac9c9-baf9-11ce-8c82-00aa004ba90b),
00566     pointer_default(unique)
00567 ]
00568 interface IPersistMoniker : IUnknown
00569 {
00570     typedef [unique] IPersistMoniker *LPPERSISTMONIKER;
00571 
00572     HRESULT GetClassID(
00573         [out] CLSID *pClassID);
00574 
00575     HRESULT IsDirty();
00576 
00577     HRESULT Load(
00578         [in] BOOL fFullyAvailable,
00579         [in] IMoniker *pimkName,
00580         [in] LPBC pibc,
00581         [in] DWORD grfMode);
00582 
00583     HRESULT Save(
00584         [in] IMoniker *pimkName,
00585         [in] LPBC pbc,
00586         [in] BOOL fRemember);
00587 
00588     HRESULT SaveCompleted(
00589         [in] IMoniker *pimkName,
00590         [in] LPBC pibc);
00591 
00592     HRESULT GetCurMoniker(
00593         [out] IMoniker **ppimkName);
00594 }
00595 
00596 /*****************************************************************************
00597  * IMonikerProp interface
00598  */
00599 [
00600     object,
00601     uuid(A5CA5F7F-1847-4D87-9C5B-918509F7511D),
00602     pointer_default(unique)
00603 ]
00604 interface IMonikerProp : IUnknown
00605 {
00606     typedef [unique] IMonikerProp *LPMONIKERPROP;
00607 
00608     typedef enum {
00609         MIMETYPEPROP        = 0,
00610         USE_SRC_URL         = 1,
00611         CLASSIDPROP         = 2,
00612         TRUSTEDDOWNLOADPROP = 3,
00613         POPUPLEVELPROP      = 4
00614     } MONIKERPROPERTY;
00615 
00616     HRESULT PutProperty(
00617         [in] MONIKERPROPERTY mkp,
00618         [in] LPCWSTR val);
00619 }
00620 
00621 cpp_quote("#ifndef _LPBINDPROTOCOL_DEFINED")
00622 cpp_quote("#define _LPBINDPROTOCOL_DEFINED")
00623 
00624 /*****************************************************************************
00625  * IBindProtocol interface
00626  */
00627 [
00628     local,
00629     object,
00630     uuid(79EAC9CD-BAF9-11CE-8C82-00AA004BA90B),
00631     pointer_default(unique)
00632 ]
00633 interface IBindProtocol : IUnknown
00634 {
00635     typedef [unique] IBindProtocol *LPBINDPROTOCOL;
00636 
00637     HRESULT CreateBinding(
00638         [in] LPCWSTR szUrl,
00639         [in] IBindCtx *pbc,
00640         [out] IBinding **ppb);
00641 }
00642 
00643 cpp_quote("#endif /* !defined _LPBINDPROTOCOL_DEFINED */")
00644 
00645 /*****************************************************************************
00646  * IInternetBindInfo interface
00647  */
00648 [
00649     local,
00650     object,
00651     uuid(79EAC9E1-BAF9-11CE-8C82-00AA004BA90B),
00652     pointer_default(unique)
00653 ]
00654 interface IInternetBindInfo : IUnknown
00655 {
00656     typedef [unique] IInternetBindInfo *LPIINTERNETBINDINFO;
00657 
00658     typedef enum tagBINDSTRING
00659     {
00660         BINDSTRING_HEADERS = 1,
00661         BINDSTRING_ACCEPT_MIMES,
00662         BINDSTRING_EXTRA_URL,
00663         BINDSTRING_LANGUAGE,
00664         BINDSTRING_USERNAME,
00665         BINDSTRING_PASSWORD,
00666         BINDSTRING_UA_PIXELS,
00667         BINDSTRING_UA_COLOR,
00668         BINDSTRING_OS,
00669         BINDSTRING_USER_AGENT,
00670         BINDSTRING_ACCEPT_ENCODINGS,
00671         BINDSTRING_POST_COOKIE,
00672         BINDSTRING_POST_DATA_MIME,
00673         BINDSTRING_URL,
00674         BINDSTRING_IID,
00675         BINDSTRING_FLAG_BIND_TO_OBJECT,
00676         BINDSTRING_PTR_BIND_CONTEXT
00677     } BINDSTRING;
00678 
00679     HRESULT GetBindInfo(
00680         [out] DWORD *grfBINDF,
00681         [in, out, unique] BINDINFO *pbindinfo);
00682 
00683     HRESULT GetBindString(
00684         [in]      ULONG ulStringType,
00685         [in, out] LPOLESTR *ppwzStr,
00686         [in]      ULONG cEl,
00687         [in, out] ULONG *pcElFetched);
00688 }
00689 
00690 /*****************************************************************************
00691  * IInternetPriority interface
00692  */
00693 [
00694     local,
00695     object,
00696     uuid(79EAC9EB-BAF9-11CE-8C82-00AA004BA90B),
00697     pointer_default(unique)
00698 ]
00699 interface IInternetPriority : IUnknown
00700 {
00701     typedef [unique] IInternetPriority *LPIINTERNETPRIORITY;
00702 
00703     HRESULT SetPriority([in] LONG nPriority);
00704     HRESULT GetPriority([out] LONG *pnPriority);
00705 }
00706 
00707 /*****************************************************************************
00708  * IInternetProtocolRoot interface
00709  */
00710 [
00711     local,
00712     object,
00713     uuid(79EAC9E3-BAF9-11CE-8C82-00AA004BA90B),
00714     pointer_default(unique)
00715 ]
00716 interface IInternetProtocolRoot : IUnknown
00717 {
00718     typedef [unique] IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT;
00719 
00720     typedef enum _tagPI_FLAGS
00721     {
00722         PI_PARSE_URL         = 0x00000001,
00723         PI_FILTER_MODE       = 0x00000002,
00724         PI_FORCE_ASYNC       = 0x00000004,
00725         PI_USE_WORKERTHREAD  = 0x00000008,
00726         PI_MIMEVERIFICATION  = 0x00000010,
00727         PI_CLSIDLOOKUP       = 0x00000020,
00728         PI_DATAPROGRESS      = 0x00000040,
00729         PI_SYNCHRONOUS       = 0x00000080,
00730         PI_APARTMENTTHREADED = 0x00000100,
00731         PI_CLASSINSTALL      = 0x00000200,
00732         PD_FORCE_SWITCH      = 0x00010000
00733     } PI_FLAGS;
00734 
00735     typedef struct _tagPROTOCOLDATA
00736     {
00737         DWORD grfFlags;
00738         DWORD dwState;
00739         LPVOID pData;
00740         ULONG cbData;
00741     } PROTOCOLDATA;
00742 
00743     HRESULT Start(
00744         [in] LPCWSTR szUrl,
00745         [in] IInternetProtocolSink *pOIProtSink,
00746         [in] IInternetBindInfo *pOIBindInfo,
00747         [in] DWORD grfPI,
00748         [in] HANDLE_PTR dwReserved);
00749 
00750     HRESULT Continue(
00751         [in] PROTOCOLDATA *pProtocolData);
00752 
00753     HRESULT Abort(
00754         [in] HRESULT hrReason,
00755         [in] DWORD dwOptions);
00756 
00757     HRESULT Terminate(
00758         [in] DWORD dwOptions);
00759 
00760     HRESULT Suspend();
00761 
00762     HRESULT Resume();
00763 }
00764 
00765 /*****************************************************************************
00766  * IInternetProtocolSink interface
00767  */
00768 [
00769     local,
00770     object,
00771     uuid(79EAC9E5-BAF9-11CE-8C82-00AA004BA90B),
00772     pointer_default(unique)
00773 ]
00774 interface IInternetProtocolSink : IUnknown
00775 {
00776     typedef [unique] IInternetProtocolSink *LPIINTERNETPROTOCOLSINK;
00777 
00778     HRESULT Switch(
00779         [in] PROTOCOLDATA *pProtocolData);
00780 
00781     HRESULT ReportProgress(
00782         [in] ULONG ulStatusCode,
00783         [in] LPCWSTR szStatusText);
00784 
00785     HRESULT ReportData(
00786         [in] DWORD grfBSCF,
00787         [in] ULONG ulProgress,
00788         [in] ULONG ulProgressMax);
00789 
00790     HRESULT ReportResult(
00791         [in] HRESULT hrResult,
00792         [in] DWORD dwError,
00793         [in] LPCWSTR szResult);
00794 }
00795 
00796 /*****************************************************************************
00797  * IInternetProtocol interface
00798  */
00799 [
00800     local,
00801     object,
00802     uuid(79EAC9E4-BAF9-11CE-8C82-00AA004BA90B),
00803     pointer_default(unique)
00804 ]
00805 interface IInternetProtocol : IInternetProtocolRoot
00806 {
00807     typedef [unique] IInternetProtocol *LPIINTERNETPROTOCOL;
00808 
00809     HRESULT Read(
00810         [in,out, size_is(cb), length_is(*pcbRead)] void *pv,
00811         [in]  ULONG cb,
00812         [out] ULONG *pcbRead);
00813 
00814     HRESULT Seek(
00815         [in]  LARGE_INTEGER dlibMove,
00816         [in]  DWORD dwOrigin,
00817         [out] ULARGE_INTEGER *plibNewPosition);
00818 
00819     HRESULT LockRequest(
00820         [in] DWORD dwOptions);
00821 
00822     HRESULT UnlockRequest();
00823 }
00824 
00825 /*****************************************************************************
00826  * IInternetProtocolInfo interface
00827  */
00828 [
00829     local,
00830     object,
00831     uuid(79eac9ec-baf9-11ce-8c82-00aa004ba90b),
00832     pointer_default(unique)
00833 ]
00834 interface IInternetProtocolInfo : IUnknown
00835 {
00836     typedef [unique] IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO;
00837 
00838     typedef enum _tagPARSEACTION
00839     {
00840         PARSE_CANONICALIZE = 1,
00841         PARSE_FRIENDLY,
00842         PARSE_SECURITY_URL,
00843         PARSE_ROOTDOCUMENT,
00844         PARSE_DOCUMENT,
00845         PARSE_ANCHOR,
00846         PARSE_ENCODE,
00847         PARSE_DECODE,
00848         PARSE_PATH_FROM_URL,
00849         PARSE_URL_FROM_PATH,
00850         PARSE_MIME,
00851         PARSE_SERVER,
00852         PARSE_SCHEMA,
00853         PARSE_SITE,
00854         PARSE_DOMAIN,
00855         PARSE_LOCATION,
00856         PARSE_SECURITY_DOMAIN,
00857         PARSE_ESCAPE,
00858         PARSE_UNESCAPE
00859     } PARSEACTION;
00860 
00861     typedef enum _tagPSUACTION
00862     {
00863         PSU_DEFAULT = 1,
00864         PSU_SECURITY_URL_ONLY
00865     } PSUACTION;
00866 
00867     typedef enum _tagQUERYOPTION
00868     {
00869         QUERY_EXPIRATION_DATE = 1,
00870         QUERY_TIME_OF_LAST_CHANGE,
00871         QUERY_CONTENT_ENCODING,
00872         QUERY_CONTENT_TYPE,
00873         QUERY_REFRESH,
00874         QUERY_RECOMBINE,
00875         QUERY_CAN_NAVIGATE,
00876         QUERY_USES_NETWORK,
00877         QUERY_IS_CACHED,
00878         QUERY_IS_INSTALLEDENTRY,
00879         QUERY_IS_CACHED_OR_MAPPED,
00880         QUERY_USES_CACHE,
00881         QUERY_IS_SECURE,
00882         QUERY_IS_SAFE,
00883         QUERY_USES_HISTORYFOLDER
00884     } QUERYOPTION;
00885 
00886     HRESULT ParseUrl(
00887         [in] LPCWSTR pwzUrl,
00888         [in] PARSEACTION ParseAction,
00889         [in] DWORD dwParseFlags,
00890         [out] LPWSTR pwzResult,
00891         [in] DWORD cchResult,
00892         [out] DWORD *pcchResult,
00893         [in] DWORD dwReserved);
00894 
00895     HRESULT CombineUrl(
00896         [in] LPCWSTR pwzBaseUrl,
00897         [in] LPCWSTR pwzRelativeUrl,
00898         [in] DWORD dwCombineFlags,
00899         [out] LPWSTR pwzResult,
00900         [in] DWORD cchResult,
00901         [out] DWORD *pcchResult,
00902         [in] DWORD dwReserved);
00903 
00904     HRESULT CompareUrl(
00905         [in] LPCWSTR pwzUrl1,
00906         [in] LPCWSTR pwzUrl2,
00907         [in] DWORD dwCompareFlags);
00908 
00909     HRESULT QueryInfo(
00910         [in] LPCWSTR pwzUrl,
00911         [in] QUERYOPTION OueryOption,
00912         [in] DWORD dwQueryFlags,
00913         [in, out,size_is(*pcbBuf)] LPVOID pBuffer,
00914         [in] DWORD cbBuffer,
00915         [in, out] DWORD *pcbBuf,
00916         [in] DWORD dwReserved);
00917 }
00918 
00919 /*****************************************************************************
00920  * IInternetSession interface
00921  */
00922 [
00923     local,
00924     object,
00925     uuid(79eac9e7-baf9-11ce-8c82-00aa004ba90b),
00926     pointer_default(unique)
00927 ]
00928 interface IInternetSession : IUnknown
00929 {
00930     typedef [unique] IInternetSession *LPIINTERNETSESSION;
00931 
00932     typedef enum _tagOIBDG_FLAGS
00933     {
00934         OIBDG_APARTMENTTHREADED = 0x0100,
00935         OIBDG_DATAONLY          = 0x1000
00936     } OIBDG_FLAGS;
00937 
00938     HRESULT RegisterNameSpace(
00939         [in] IClassFactory *pCF,
00940         [in] REFCLSID rclsid,
00941         [in] LPCWSTR pwzProtocol,
00942         [in] ULONG cPatterns,
00943         [in] const LPCWSTR *ppwzPatterns,
00944         [in] DWORD dwReserved);
00945 
00946     HRESULT UnregisterNameSpace(
00947         [in] IClassFactory *pCF,
00948         [in] LPCWSTR pszProtocol);
00949 
00950     HRESULT RegisterMimeFilter(
00951         [in] IClassFactory *pCF,
00952         [in] REFCLSID rclsid,
00953         [in] LPCWSTR pwzType);
00954 
00955     HRESULT UnregisterMimeFilter(
00956         [in] IClassFactory *pCF,
00957         [in] LPCWSTR pwzType);
00958 
00959     HRESULT CreateBinding(
00960         [in] LPBC pBC,
00961         [in] LPCWSTR szUrl,
00962         [in] IUnknown *pUnkOuter,
00963         [out, unique] IUnknown **ppUnk,
00964         [out, unique] IInternetProtocol **ppOInetProt,
00965         [in] DWORD dwOption);
00966 
00967     HRESULT SetSessionOption(
00968         [in] DWORD dwOption,
00969         [in] LPVOID pBuffer,
00970         [in] DWORD dwBufferLength,
00971         [in] DWORD dwReserved);
00972 }
00973 
00974 /*****************************************************************************
00975  * IInternetSecurityMgrSite interface
00976  */
00977 [
00978     local,
00979     object,
00980     uuid(79eac9ed-baf9-11ce-8c82-00aa004ba90b),
00981     pointer_default(unique)
00982 ]
00983 interface IInternetSecurityMgrSite : IUnknown
00984 {
00985     HRESULT GetWindow(
00986         [out] HWND *phwnd);
00987 
00988     HRESULT EnableModeless(
00989         [in] BOOL fEnable);
00990 }
00991 
00992 
00993 /*****************************************************************************
00994  * IInternetSecurityManager interface
00995  */
00996 cpp_quote("#define SID_SInternetSecurityManager IID_IInternetSecurityManager")
00997 
00998 [
00999     object,
01000     uuid(79eac9ee-baf9-11ce-8c82-00aa004ba90b),
01001     pointer_default(unique)
01002 ]
01003 interface IInternetSecurityManager : IUnknown
01004 {
01005     HRESULT SetSecuritySite(
01006         [in, unique] IInternetSecurityMgrSite *pSite);
01007 
01008     HRESULT GetSecuritySite(
01009         [out] IInternetSecurityMgrSite **ppSite);
01010 
01011     HRESULT MapUrlToZone(
01012         [in] LPCWSTR pwszUrl,
01013         [out] DWORD *pdwZone,
01014         [in] DWORD dwFlags);
01015 
01016 cpp_quote("#define MAX_SIZE_SECURITY_ID 512")
01017 
01018     HRESULT GetSecurityId(
01019         [in] LPCWSTR pwszUrl,
01020         [out, size_is(*pcbSecurityId)] BYTE *pbSecurityId,
01021         [in, out] DWORD *pcbSecurityId,
01022         [in] DWORD_PTR dwReserved);
01023 
01024 
01025     typedef enum {
01026         PUAF_DEFAULT                = 0x00,
01027         PUAF_NOUI                   = 0x01,
01028         PUAF_ISFILE                 = 0x02,
01029         PUAF_WARN_IF_DENIED         = 0x04,
01030         PUAF_FORCEUI_FOREGROUND     = 0x08,
01031         PUAF_CHECK_TIPS             = 0x10
01032     } PUAF;
01033 
01034     HRESULT ProcessUrlAction(
01035         [in] LPCWSTR pwszUrl,
01036         [in] DWORD dwAction,
01037         [out, size_is(cbPolicy)] BYTE *pPolicy,
01038         [in] DWORD cbPolicy,
01039         [in] BYTE *pContext,
01040         [in] DWORD cbContext,
01041         [in] DWORD dwFlags,
01042         [in] DWORD dwReserved);
01043 
01044     HRESULT QueryCustomPolicy(
01045         [in] LPCWSTR pwszUrl,
01046         [in] REFGUID guidKey,
01047         [out, size_is(,*pcbPolicy)] BYTE **ppPolicy,
01048         [out] DWORD *pcbPolicy,
01049         [in] BYTE *pContext,
01050         [in] DWORD cbContext,
01051         [in] DWORD dwReserved);
01052 
01053     typedef enum {
01054         SZM_CREATE = 0x0,
01055         SZM_DELETE = 0x1
01056     } SZM_FLAGS;
01057 
01058     HRESULT SetZoneMapping(
01059         [in] DWORD dwZone,
01060         [in] LPCWSTR lpszPattern,
01061         [in] DWORD dwFlags);
01062 
01063     HRESULT GetZoneMappings(
01064         [in] DWORD dwZone,
01065         [out] IEnumString **ppenumString,
01066         [in] DWORD dwFlags);
01067 }
01068 
01069 /*****************************************************************************
01070  * IInternetHostSecurityManager interface
01071  */
01072 cpp_quote("#define SID_SInternetHostSecurityManager IID_IInternetHostSecurityManager")
01073 
01074 [
01075     local,
01076     object,
01077     uuid(3af280b6-cb3f-11d0-891e-00c04fb6bfc4),
01078     pointer_default(unique)
01079 ]
01080 interface IInternetHostSecurityManager : IUnknown
01081 {
01082     HRESULT GetSecurityId(
01083             [out, size_is(*pcbSecurityId)] BYTE *pbSecurityId,
01084             [in, out] DWORD *pcbSecurityId,
01085             [in] DWORD_PTR dwReserved);
01086 
01087     HRESULT ProcessUrlAction(
01088             [in] DWORD dwAction,
01089             [out, size_is(cbPolicy)] BYTE *pPolicy,
01090             [in] DWORD cbPolicy,
01091             [in] BYTE *pContext,
01092             [in] DWORD cbContext,
01093             [in] DWORD dwFlags,
01094             [in] DWORD dwReserved);
01095 
01096     HRESULT QueryCustomPolicy(
01097             [in] REFGUID guidKey,
01098             [out, size_is(,*pcbPolicy)] BYTE **ppPolicy,
01099             [out] DWORD *pcbPolicy,
01100             [in] BYTE *pContext,
01101             [in] DWORD cbContext,
01102             [in] DWORD dwReserved);
01103 }
01104 
01105 cpp_quote("#define URLACTION_MIN                        0x00001000")
01106 cpp_quote("#define URLACTION_DOWNLOAD_MIN               0x00001000")
01107 cpp_quote("#define URLACTION_DOWNLOAD_SIGNED_ACTIVEX    0x00001001")
01108 cpp_quote("#define URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX  0x00001004")
01109 cpp_quote("#define URLACTION_DOWNLOAD_CURR_MAX          0x00001004")
01110 cpp_quote("#define URLACTION_DOWNLOAD_MAX               0x000011ff")
01111 
01112 cpp_quote("#define URLACTION_ACTIVEX_MIN                     0x00001200")
01113 cpp_quote("#define URLACTION_ACTIVEX_RUN                     0x00001200")
01114 cpp_quote("#define URLPOLICY_ACTIVEX_CHECK_LIST              0x00010000")
01115 cpp_quote("#define URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY  0x00001201")
01116 cpp_quote("#define URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY    0x00001202")
01117 cpp_quote("#define URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY  0x00001203")
01118 cpp_quote("#define URLACTION_SCRIPT_OVERRIDE_SAFETY          0x00001401")
01119 cpp_quote("#define URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY  0x00001204")
01120 cpp_quote("#define URLACTION_ACTIVEX_TREATASUNTRUSTED        0x00001205")
01121 cpp_quote("#define URLACTION_ACTIVEX_CURR_MAX                0x00001205")
01122 cpp_quote("#define URLACTION_ACTIVEX_MAX                     0x000013ff")
01123 
01124 cpp_quote("#define URLACTION_SCRIPT_MIN           0x00001400")
01125 cpp_quote("#define URLACTION_SCRIPT_RUN           0x00001400")
01126 cpp_quote("#define URLACTION_SCRIPT_JAVA_USE      0x00001402")
01127 cpp_quote("#define URLACTION_SCRIPT_SAFE_ACTIVEX  0x00001405")
01128 cpp_quote("#define URLACTION_CROSS_DOMAIN_DATA    0x00001406")
01129 cpp_quote("#define URLACTION_SCRIPT_PASTE         0x00001407")
01130 cpp_quote("#define URLACTION_SCRIPT_CURR_MAX      0x00001407")
01131 cpp_quote("#define URLACTION_SCRIPT_MAX           0x000015ff")
01132 
01133 cpp_quote("#define URLACTION_HTML_MIN                0x00001600")
01134 cpp_quote("#define URLACTION_HTML_SUBMIT_FORMS       0x00001601")
01135 cpp_quote("#define URLACTION_HTML_SUBMIT_FORMS_FROM  0x00001602")
01136 cpp_quote("#define URLACTION_HTML_SUBMIT_FORMS_TO    0x00001603")
01137 cpp_quote("#define URLACTION_HTML_FONT_DOWNLOAD      0x00001604")
01138 cpp_quote("#define URLACTION_HTML_JAVA_RUN           0x00001605")
01139 cpp_quote("#define URLACTION_HTML_USERDATA_SAVE      0x00001606")
01140 cpp_quote("#define URLACTION_HTML_SUBFRAME_NAVIGATE  0x00001607")
01141 cpp_quote("#define URLACTION_HTML_META_REFRESH       0x00001608")
01142 cpp_quote("#define URLACTION_HTML_MIXED_CONTENT      0x00001609")
01143 cpp_quote("#define URLACTION_HTML_MAX                0x000017ff")
01144 
01145 cpp_quote("#define URLACTION_SHELL_MIN              0x00001800")
01146 cpp_quote("#define URLACTION_SHELL_INSTALL_DTITEMS  0x00001800")
01147 cpp_quote("#define URLACTION_SHELL_MOVE_OR_COPY     0x00001802")
01148 cpp_quote("#define URLACTION_SHELL_FILE_DOWNLOAD    0x00001803")
01149 cpp_quote("#define URLACTION_SHELL_VERB             0x00001804")
01150 cpp_quote("#define URLACTION_SHELL_WEBVIEW_VERB     0x00001805")
01151 cpp_quote("#define URLACTION_SHELL_CURR_MAX         0x00001805")
01152 cpp_quote("#define URLACTION_SHELL_MAX              0x000019ff")
01153 
01154 cpp_quote("#define URLACTION_NETWORK_MIN                  0x00001a00")
01155 cpp_quote("#define URLACTION_CREDENTIALS_USE              0x00001a00")
01156 cpp_quote("#define URLACTION_AUTHENTICATE_CLIENT          0x00001a01")
01157 cpp_quote("#define URLACTION_COOKIES                      0x00001a02")
01158 cpp_quote("#define URLACTION_COOKIES_SESSION              0x00001a03")
01159 cpp_quote("#define URLACTION_CLIENT_CERT_PROMPT           0x00001a04")
01160 cpp_quote("#define URLACTION_COOKIES_THIRD_PARTY          0x00001a05")
01161 cpp_quote("#define URLACTION_COOKIES_SESSION_THIRD_PARTY  0x00001a06")
01162 cpp_quote("#define URLACTION_COOKIES_ENABLED              0x00001a10")
01163 cpp_quote("#define URLACTION_NETWORK_CURR_MAX             0x00001a10")
01164 cpp_quote("#define URLACTION_NETWORK_MAX                  0x00001bff")
01165 
01166 cpp_quote("#define URLACTION_JAVA_MIN          0x00001c00")
01167 cpp_quote("#define URLACTION_JAVA_PERMISSIONS  0x00001c00")
01168 cpp_quote("#define URLPOLICY_JAVA_PROHIBIT     0x00000000")
01169 cpp_quote("#define URLPOLICY_JAVA_HIGH         0x00010000")
01170 cpp_quote("#define URLPOLICY_JAVA_MEDIUM       0x00020000")
01171 cpp_quote("#define URLPOLICY_JAVA_LOW          0x00030000")
01172 cpp_quote("#define URLPOLICY_JAVA_CUSTOM       0x00800000")
01173 cpp_quote("#define URLACTION_JAVA_CURR_MAX     0x00001c00")
01174 cpp_quote("#define URLACTION_JAVA_MAX          0x00001cff")
01175 
01176 cpp_quote("#define URLACTION_INFODELIVERY_MIN                        0x00001d00")
01177 cpp_quote("#define URLACTION_INFODELIVERY_NO_ADDING_CHANNELS         0x00001d00")
01178 cpp_quote("#define URLACTION_INFODELIVERY_NO_EDITING_CHANNELS        0x00001d01")
01179 cpp_quote("#define URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS       0x00001d02")
01180 cpp_quote("#define URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS    0x00001d03")
01181 cpp_quote("#define URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS   0x00001d04")
01182 cpp_quote("#define URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS  0x00001d05")
01183 cpp_quote("#define URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING         0x00001d06")
01184 cpp_quote("#define URLACTION_INFODELIVERY_CURR_MAX                   0x00001d06")
01185 cpp_quote("#define URLACTION_INFODELIVERY_MAX                        0x00001dff")
01186 
01187 cpp_quote("#define URLACTION_CHANNEL_SOFTDIST_MIN          0x00001e00")
01188 cpp_quote("#define URLACTION_CHANNEL_SOFTDIST_PERMISSIONS  0x00001e05")
01189 cpp_quote("#define URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT     0x00010000")
01190 cpp_quote("#define URLPOLICY_CHANNEL_SOFTDIST_PRECACHE     0x00020000")
01191 cpp_quote("#define URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL  0x00030000")
01192 cpp_quote("#define URLACTION_CHANNEL_SOFTDIST_MAX          0x00001eff")
01193 
01194 cpp_quote("#define URLPOLICY_ALLOW     0x00")
01195 cpp_quote("#define URLPOLICY_QUERY     0x01")
01196 cpp_quote("#define URLPOLICY_DISALLOW  0x03")
01197 
01198 cpp_quote("#define URLPOLICY_NOTIFY_ON_ALLOW     0x10")
01199 cpp_quote("#define URLPOLICY_NOTIFY_ON_DISALLOW  0x20")
01200 
01201 cpp_quote("#define URLPOLICY_LOG_ON_ALLOW     0x40")
01202 cpp_quote("#define URLPOLICY_LOG_ON_DISALLOW  0x80")
01203 
01204 cpp_quote("#define URLPOLICY_DONTCHECKDLGBOX     0x100")
01205 
01206 cpp_quote("#define URLPOLICY_CREDENTIALS_SILENT_LOGON_OK     0x00000000")
01207 cpp_quote("#define URLPOLICY_CREDENTIALS_MUST_PROMPT_USER    0x00010000")
01208 cpp_quote("#define URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT  0x00020000")
01209 cpp_quote("#define URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY      0x00030000")
01210 
01211 cpp_quote("#define URLPOLICY_AUTHENTICATE_CLEARTEXT_OK        0x00000000")
01212 cpp_quote("#define URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE  0x00010000")
01213 cpp_quote("#define URLPOLICY_AUTHENTICATE_MUTUAL_ONLY         0x00030000")
01214 
01215 cpp_quote("#define URLPOLICY_MASK_PERMISSIONS  0x0f")
01216 cpp_quote("#define GetUrlPolicyPermissions(dw)      (dw & URLPOLICY_MASK_PERMISSIONS)")
01217 cpp_quote("#define SetUrlPolicyPermissions(dw,dw2)  ((dw) = ((dw) & ~URLPOLICY_MASK_PERMISSIONS) | (dw2))")
01218 
01219 /*****************************************************************************
01220  * IInternetZoneManager interface
01221  */
01222 [
01223     local,
01224     object,
01225     uuid(79EAC9EF-BAf9-11CE-8C82-00AA004BA90B),
01226     pointer_default(unique)
01227 ]
01228 interface IInternetZoneManager : IUnknown
01229 {
01230     typedef [unique] IInternetZoneManager* LPURLZONEMANAGER;
01231 
01232     typedef enum tagURLZONE
01233     {
01234         URLZONE_INVALID         = -1,
01235         URLZONE_PREDEFINED_MIN  = 0,
01236         URLZONE_LOCAL_MACHINE   = 0,
01237         URLZONE_INTRANET        = 1,
01238         URLZONE_TRUSTED         = 2,
01239         URLZONE_INTERNET        = 3,
01240         URLZONE_UNTRUSTED       = 4,
01241         URLZONE_PREDEFINED_MAX  = 999,
01242         URLZONE_USER_MIN        = 1000,
01243         URLZONE_USER_MAX        = 10000,
01244     }  URLZONE;
01245 
01246     typedef enum tagURLTEMPLATE
01247     {
01248         URLTEMPLATE_CUSTOM         = 0x00000,
01249         URLTEMPLATE_PREDEFINED_MIN = 0x10000,
01250         URLTEMPLATE_LOW            = 0x10000,
01251         URLTEMPLATE_MEDLOW         = 0x10500,
01252         URLTEMPLATE_MEDIUM         = 0x11000,
01253         URLTEMPLATE_MEDHIGH        = 0x11500,
01254         URLTEMPLATE_HIGH           = 0x12000,
01255         URLTEMPLATE_PREDEFINED_MAX = 0x20000,
01256     } URLTEMPLATE ;
01257 
01258     typedef enum {
01259         ZAFLAGS_CUSTOM_EDIT              = 0x00000001,
01260         ZAFLAGS_ADD_SITES                = 0x00000002,
01261         ZAFLAGS_REQUIRE_VERIFICATION     = 0x00000004,
01262         ZAFLAGS_INCLUDE_PROXY_OVERRIDE   = 0x00000008,
01263         ZAFLAGS_INCLUDE_INTRANET_SITES   = 0x00000010,
01264         ZAFLAGS_NO_UI                    = 0x00000020,
01265         ZAFLAGS_SUPPORTS_VERIFICATION    = 0x00000040,
01266         ZAFLAGS_UNC_AS_INTRANET          = 0x00000080,
01267         ZAFLAGS_DETECT_INTRANET          = 0x00000100,
01268         ZAFLAGS_USE_LOCKED_ZONES         = 0x00010000,
01269         ZAFLAGS_VERIFY_TEMPLATE_SETTINGS = 0x00020000,
01270         ZAFLAGS_NO_CACHE                 = 0x00040000,
01271     } ZAFLAGS ;
01272 
01273     enum {
01274         MAX_ZONE_PATH        = 260,
01275         MAX_ZONE_DESCRIPTION = 200
01276     };
01277 
01278     typedef struct _ZONEATTRIBUTES {
01279         ULONG cbSize;
01280         WCHAR szDisplayName[MAX_ZONE_PATH];
01281         WCHAR szDescription[MAX_ZONE_DESCRIPTION];
01282         WCHAR szIconPath[MAX_ZONE_PATH];
01283         DWORD dwTemplateMinLevel;
01284         DWORD dwTemplateRecommended;
01285         DWORD dwTemplateCurrentLevel;
01286         DWORD dwFlags;
01287     } ZONEATTRIBUTES, *LPZONEATTRIBUTES;
01288 
01289     typedef enum _URLZONEREG {
01290         URLZONEREG_DEFAULT,
01291         URLZONEREG_HKLM,
01292         URLZONEREG_HKCU
01293     } URLZONEREG;
01294 
01295     HRESULT GetZoneAttributes(
01296         [in]              DWORD dwZone,
01297         [in, out, unique] ZONEATTRIBUTES* pZoneAttributes);
01298 
01299     HRESULT SetZoneAttributes(
01300         [in] DWORD dwZone,
01301         [in] ZONEATTRIBUTES* pZoneAttributes);
01302 
01303     HRESULT GetZoneCustomPolicy(
01304         [in]  DWORD dwZone,
01305         [in]  REFGUID guidKey,
01306         [out] BYTE **ppPolicy,
01307         [out] DWORD* pcbPolicy,
01308         [in]  URLZONEREG ulrZoneReg);
01309 
01310     HRESULT SetZoneCustomPolicy(
01311         [in] DWORD dwZone,
01312         [in] REFGUID guidKey,
01313         [in] BYTE *ppPolicy,
01314         [in] DWORD pcbPolicy,
01315         [in] URLZONEREG ulrZoneReg);
01316 
01317     HRESULT GetZoneActionPolicy(
01318         [in]  DWORD dwZone,
01319         [in]  DWORD dwAction,
01320         [out] BYTE* pPolicy,
01321         [in]  DWORD cbPolicy,
01322         [in]  URLZONEREG urlZoneReg);
01323 
01324     HRESULT SetZoneActionPolicy(
01325         [in] DWORD dwZone,
01326         [in] DWORD dwAction,
01327         [in] BYTE* pPolicy,
01328         [in] DWORD cbPolicy,
01329         [in] URLZONEREG urlZoneReg);
01330 
01331     HRESULT PromptAction(
01332         [in] DWORD dwAction,
01333         [in] HWND hwndParent,
01334         [in] LPCWSTR pwszUrl,
01335         [in] LPCWSTR pwszText,
01336         [in] DWORD dwPromptFlags );
01337 
01338     HRESULT LogAction(
01339         [in] DWORD dwAction,
01340         [in] LPCWSTR pwszUrl,
01341         [in] LPCWSTR pwszText,
01342         [in] DWORD dwLogFlags);
01343 
01344     HRESULT CreateZoneEnumerator(
01345         [out] DWORD* pdwEnum,
01346         [out] DWORD* pdwCount,
01347         [in]  DWORD dwFlags);
01348 
01349     HRESULT GetZoneAt(
01350         [in]  DWORD dwEnum,
01351         [in]  DWORD dwIndex,
01352         [out] DWORD* pdwZone);
01353 
01354     HRESULT DestroyZoneEnumerator(
01355         [in] DWORD dwEnum);
01356 
01357     HRESULT CopyTemplatePoliciesToZone(
01358         [in] DWORD dwTemplate,
01359         [in] DWORD dwZone,
01360         [in] DWORD dwReserved);
01361 }
01362 
01363 /*****************************************************************************
01364  * IInternetZoneManagerEx interface
01365  */
01366 [
01367     local,
01368     object,
01369     uuid(A4C23339-8E06-431E-9BF4-7E711C085648),
01370     pointer_default(unique)
01371 ]
01372 interface IInternetZoneManagerEx : IInternetZoneManager
01373 {
01374     HRESULT GetZoneActionPolicyEx(
01375         [in]  DWORD dwZone,
01376         [in]  DWORD dwAction,
01377         [out] BYTE* pPolicy,
01378         [in]  DWORD cbPolicy,
01379         [in]  URLZONEREG urlZoneReg,
01380         [in]  DWORD dwFlags);
01381 
01382     HRESULT SetZoneActionPolicyEx(
01383         [in] DWORD dwZone,
01384         [in] DWORD dwAction,
01385         [in] BYTE* pPolicy,
01386         [in] DWORD cbPolicy,
01387         [in] URLZONEREG urlZoneReg,
01388         [in] DWORD dwFlags);
01389 
01390 }
01391 
01392 /*****************************************************************************
01393  * IInternetZoneManagerEx2 interface
01394  */
01395 
01396 cpp_quote("#define SECURITY_IE_STATE_GREEN 0")
01397 cpp_quote("#define SECURITY_IE_STATE_RED   1")
01398 
01399 [
01400     local,
01401     object,
01402     uuid(EDC17559-DD5D-4846-8EEF-8BECBA5A4ABF),
01403     pointer_default(unique)
01404 ]
01405 interface IInternetZoneManagerEx2 : IInternetZoneManagerEx
01406 {
01407     HRESULT GetZoneAttributesEx(
01408         [in]              DWORD dwZone,
01409         [in, out, unique] ZONEATTRIBUTES* pZoneAttributes,
01410         [in]              DWORD dwFlags);
01411 
01412     HRESULT GetZoneSecurityState(
01413         [in]      DWORD dwZoneIndex,
01414         [in]      BOOL fRespectPolicy,
01415         [in, out] LPDWORD pdwState,
01416         [in, out] BOOL *pfPolicyEncountered);
01417 
01418     HRESULT GetIESecurityState(
01419         [in]      BOOL fRespectPolicy,
01420         [in, out] LPDWORD pdwState,
01421         [in, out] BOOL *pfPolicyEncountered,
01422         [in]      BOOL fNoCache);
01423 
01424     HRESULT FixInsecureSettings(void);
01425 
01426 }
01427 
01428 
01429 typedef struct _tagSOFTDISTINFO
01430 {
01431     ULONG cbSize;
01432     DWORD dwFlags;
01433     DWORD dwAdState;
01434     LPWSTR szTitle;
01435     LPWSTR szAbstract;
01436     LPWSTR szHREF;
01437     DWORD dwInstalledVersionMS;
01438     DWORD dwInstalledVersionLS;
01439     DWORD dwUpdateVersionMS;
01440     DWORD dwUpdateVersionLS;
01441     DWORD dwAdvertisedVersionMS;
01442     DWORD dwAdvertisedVersionLS;
01443     DWORD dwReserved;
01444 } SOFTDISTINFO, *LPSOFTDISTINFO;
01445 
01446 typedef struct _tagCODEBASEHOLD
01447 {
01448     DWORD cbSize;
01449     LPWSTR szDistUnit;
01450     LPWSTR szCodeBase;
01451     DWORD dwVersionMS;
01452     DWORD dwVersionLS;
01453     DWORD dwStyle;
01454 } CODEBASEHOLD, *LPCODEBASEHOLD;
01455 
01456 [
01457     local,
01458     object,
01459     uuid(b15b8dc1-c7e1-11d0-8680-00aa00bdcb71),
01460     pointer_default(unique)
01461 ]
01462 interface ISoftDistExt : IUnknown
01463 {
01464     HRESULT ProcessSoftDist(
01465         [in] LPCWSTR szCDFURL,
01466         [in] IXMLElement *pSoftDistElement,
01467         [in, out] LPSOFTDISTINFO lpsdi );
01468 
01469     HRESULT GetFirstCodeBase(
01470         [in] LPWSTR *szCodeBase,
01471         [in] LPDWORD dwMaxSize );
01472 
01473     HRESULT GetNextCodeBase(
01474         [in] LPWSTR *szCodeBase,
01475         [in] LPDWORD dwMaxSize );
01476 
01477     HRESULT AsyncInstallDistributionUnit(
01478         [in] IBindCtx *pbc,
01479         [in] LPVOID lpReserved,
01480         [in] DWORD flags,
01481         [in] LPCODEBASEHOLD lpcbh);
01482 }
01483 
01484 typedef enum _tagINTERNETFEATURELIST
01485 {
01486     FEATURE_OBJECT_CACHING,
01487     FEATURE_ZONE_ELEVATION,
01488     FEATURE_MIME_HANDLING,
01489     FEATURE_MIME_SNIFFING,
01490     FEATURE_WINDOW_RESTRICTIONS,
01491     FEATURE_WEBOC_POPUPMANAGEMENT,
01492     FEATURE_BEHAVIORS,
01493     FEATURE_DISABLE_MK_PROTOCOL,
01494     FEATURE_LOCALMACHINE_LOCKDOWN,
01495     FEATURE_SECURITYBAND,
01496     FEATURE_RESTRICT_ACTIVEXINSTALL,
01497     FEATURE_VALIDATE_NAVIGATE_URL,
01498     FEATURE_RESTRICT_FILEDOWNLOAD,
01499     FEATURE_ADDON_MANAGEMENT,
01500     FEATURE_PROTOCOL_LOCKDOWN,
01501     FEATURE_HTTP_USERNAME_PASSWORD_DISABLE,
01502     FEATURE_SAFE_BINDTOOBJECT,
01503     FEATURE_UNC_SAVEDFILECHECK,
01504     FEATURE_GET_URL_DOM_FILEPATH_UNENCODED,
01505     FEATURE_TABBED_BROWSING,
01506     FEATURE_SSLUX,
01507     FEATURE_DISABLE_NAVIGATION_SOUNDS,
01508     FEATURE_DISABLE_LEGACY_COMPRESSION,
01509     FEATURE_FORCE_ADDR_AND_STATUS,
01510     FEATURE_XMLHTTP,
01511     FEATURE_DISABLE_TELNET_PROTOCOL,
01512     FEATURE_FEEDS,
01513     FEATURE_BLOCK_INPUT_PROMPTS,
01514     FEATURE_ENTRY_COUNT
01515 } INTERNETFEATURELIST;
01516 
01517 cpp_quote("#define SET_FEATURE_ON_THREAD                0x00000001")
01518 cpp_quote("#define SET_FEATURE_ON_PROCESS               0x00000002")
01519 cpp_quote("#define SET_FEATURE_IN_REGISTRY              0x00000004")
01520 cpp_quote("#define SET_FEATURE_ON_THREAD_LOCALMACHINE   0x00000008")
01521 cpp_quote("#define SET_FEATURE_ON_THREAD_INTRANET       0x00000010")
01522 cpp_quote("#define SET_FEATURE_ON_THREAD_TRUSTED        0x00000020")
01523 cpp_quote("#define SET_FEATURE_ON_THREAD_INTERNET       0x00000040")
01524 cpp_quote("#define SET_FEATURE_ON_THREAD_RESTRICTED     0x00000080")
01525 
01526 cpp_quote("#define GET_FEATURE_FROM_THREAD              0x00000001")
01527 cpp_quote("#define GET_FEATURE_FROM_PROCESS             0x00000002")
01528 cpp_quote("#define GET_FEATURE_FROM_REGISTRY            0x00000004")
01529 cpp_quote("#define GET_FEATURE_FROM_THREAD_LOCALMACHINE 0x00000008")
01530 cpp_quote("#define GET_FEATURE_FROM_THREAD_INTRANET     0x00000010")
01531 cpp_quote("#define GET_FEATURE_FROM_THREAD_TRUSTED      0x00000020")
01532 cpp_quote("#define GET_FEATURE_FROM_THREAD_INTERNET     0x00000040")
01533 cpp_quote("#define GET_FEATURE_FROM_THREAD_RESTRICTED   0x00000080")
01534 
01535 typedef struct _tagPROTOCOLFILTERDATA {
01536     DWORD cbSize;
01537     IInternetProtocolSink *pProtocolSink;
01538     IInternetProtocol *pProtocol;
01539     IUnknown *pUnk;
01540     DWORD dwFilterFlags;
01541 } PROTOCOLFILTERDATA;
01542 
01543 /*****************************************************************************
01544  * IUri interface
01545  */
01546 [
01547     local,
01548     object,
01549     uuid(a39ee748-6a27-4817-a6f2-13914bef5890),
01550     pointer_default(unique)
01551 ]
01552 interface IUri : IUnknown
01553 {
01554     typedef enum
01555     {
01556         Uri_PROPERTY_ABSOLUTE_URI = 0,
01557         Uri_PROPERTY_STRING_START = Uri_PROPERTY_ABSOLUTE_URI,
01558         Uri_PROPERTY_AUTHORITY = 1,
01559         Uri_PROPERTY_DISPLAY_URI = 2,
01560         Uri_PROPERTY_DOMAIN = 3,
01561         Uri_PROPERTY_EXTENSION = 4,
01562         Uri_PROPERTY_FRAGMENT = 5,
01563         Uri_PROPERTY_HOST = 6,
01564         Uri_PROPERTY_PASSWORD = 7,
01565         Uri_PROPERTY_PATH = 8,
01566         Uri_PROPERTY_PATH_AND_QUERY = 9,
01567         Uri_PROPERTY_QUERY = 10,
01568         Uri_PROPERTY_RAW_URI = 11,
01569         Uri_PROPERTY_SCHEME_NAME = 12,
01570         Uri_PROPERTY_USER_INFO = 13,
01571         Uri_PROPERTY_USER_NAME = 14,
01572         Uri_PROPERTY_STRING_LAST = Uri_PROPERTY_USER_NAME,
01573         Uri_PROPERTY_HOST_TYPE = 15,
01574         Uri_PROPERTY_DWORD_START = Uri_PROPERTY_HOST_TYPE,
01575         Uri_PROPERTY_PORT = 16,
01576         Uri_PROPERTY_SCHEME = 17,
01577         Uri_PROPERTY_ZONE = 18,
01578         Uri_PROPERTY_DWORD_LAST = Uri_PROPERTY_ZONE
01579     } Uri_PROPERTY;
01580 
01581     typedef enum
01582     {
01583         Uri_HOST_UNKNOWN = 0,
01584         Uri_HOST_DNS = 1,
01585         Uri_HOST_IPV4 = 2,
01586         Uri_HOST_IPV6 = 3,
01587         Uri_HOST_IDN = 4
01588     } Uri_HOST_TYPE;
01589 
01590     HRESULT GetPropertyBSTR(
01591         [in]  Uri_PROPERTY uriProp,
01592         [out] BSTR *pbstrProperty,
01593         [in]  DWORD dwFlags);
01594 
01595     HRESULT GetPropertyLength(
01596         [in]  Uri_PROPERTY uriProp,
01597         [out] DWORD *pcchProperty,
01598         [in]  DWORD dwFlags);
01599 
01600     HRESULT GetPropertyDWORD(
01601         [in]  Uri_PROPERTY uriProp,
01602         [out] DWORD *pdwProperty,
01603         [in]  DWORD dwFlags);
01604 
01605     HRESULT HasProperty(
01606         [in] Uri_PROPERTY uriProp,
01607         [out] BOOL *pfHasProperty);
01608 
01609     HRESULT GetAbsoluteUri(
01610         [out] BSTR *pbstrAbsoluteUri);
01611 
01612     HRESULT GetAuthority(
01613         [out] BSTR *pbstrAuthority);
01614 
01615     HRESULT GetDisplayUri(
01616         [out] BSTR *pbstrDisplayString);
01617 
01618     HRESULT GetDomain(
01619         [out] BSTR *pbstrDomain);
01620 
01621     HRESULT GetExtension(
01622         [out] BSTR *pbstrExtension);
01623 
01624     HRESULT GetFragment(
01625         [out] BSTR *pbstrFragment);
01626 
01627     HRESULT GetHost(
01628         [out] BSTR *pbstrHost);
01629 
01630     HRESULT GetPassword(
01631         [out] BSTR *pbstrPassword);
01632 
01633     HRESULT GetPath(
01634         [out] BSTR *pbstrPath);
01635 
01636     HRESULT GetPathAndQuery(
01637         [out] BSTR *pbstrPathAndQuery);
01638 
01639     HRESULT GetQuery(
01640         [out] BSTR *pbstrQuery);
01641 
01642     HRESULT GetRawUri(
01643         [out] BSTR *pbstrRawUri);
01644 
01645     HRESULT GetSchemeName(
01646         [out] BSTR *pbstrSchemeName);
01647 
01648     HRESULT GetUserInfo(
01649         [out] BSTR *pbstrUserInfo);
01650 
01651     HRESULT GetUserName(
01652         [out] BSTR *pbstrUserName);
01653 
01654     HRESULT GetHostType(
01655         [out] DWORD *pdwHostType);
01656 
01657     HRESULT GetPort(
01658         [out] DWORD *pdwPort);
01659 
01660     HRESULT GetScheme(
01661         [out] DWORD *pdwScheme);
01662 
01663     HRESULT GetZone(
01664         [out] DWORD *pdwZone);
01665 
01666     HRESULT GetProperties(
01667         [out] LPDWORD pdwFlags);
01668 
01669     HRESULT IsEqual(
01670         [in]  IUri *pUri,
01671         [out] BOOL *pfEqual);
01672 }
01673 
01674 cpp_quote("HRESULT WINAPI CreateUri(LPCWSTR,DWORD,DWORD_PTR,IUri**);")
01675 cpp_quote("HRESULT WINAPI CreateUriWithFragment(LPCWSTR,LPCWSTR,DWORD,DWORD_PTR,IUri**);")
01676 cpp_quote("HRESULT WINAPI CreateUriFromMultiByteString(LPCSTR,DWORD,DWORD,DWORD,DWORD_PTR,IUri**);")
01677 
01678 cpp_quote("#define Uri_HAS_ABSOLUTE_URI    (1 << Uri_PROPERTY_ABSOLUTE_URI)")
01679 cpp_quote("#define Uri_HAS_AUTHORITY       (1 << Uri_PROPERTY_AUTHORITY)")
01680 cpp_quote("#define Uri_HAS_DISPLAY_URI     (1 << Uri_PROPERTY_DISPLAY_URI)")
01681 cpp_quote("#define Uri_HAS_DOMAIN          (1 << Uri_PROPERTY_DOMAIN)")
01682 cpp_quote("#define Uri_HAS_EXTENSION       (1 << Uri_PROPERTY_EXTENSION)")
01683 cpp_quote("#define Uri_HAS_FRAGMENT        (1 << Uri_PROPERTY_FRAGMENT)")
01684 cpp_quote("#define Uri_HAS_HOST            (1 << Uri_PROPERTY_HOST)")
01685 cpp_quote("#define Uri_HAS_PASSWORD        (1 << Uri_PROPERTY_PASSWORD)")
01686 cpp_quote("#define Uri_HAS_PATH            (1 << Uri_PROPERTY_PATH)")
01687 cpp_quote("#define Uri_HAS_QUERY           (1 << Uri_PROPERTY_QUERY)")
01688 cpp_quote("#define Uri_HAS_RAW_URI         (1 << Uri_PROPERTY_RAW_URI)")
01689 cpp_quote("#define Uri_HAS_SCHEME_NAME     (1 << Uri_PROPERTY_SCHEME_NAME)")
01690 cpp_quote("#define Uri_HAS_USER_NAME       (1 << Uri_PROPERTY_USER_NAME)")
01691 cpp_quote("#define Uri_HAS_PATH_AND_QUERY  (1 << Uri_PROPERTY_PATH_AND_QUERY)")
01692 cpp_quote("#define Uri_HAS_USER_INFO       (1 << Uri_PROPERTY_USER_INFO)")
01693 cpp_quote("#define Uri_HAS_HOST_TYPE       (1 << Uri_PROPERTY_HOST_TYPE)")
01694 cpp_quote("#define Uri_HAS_PORT            (1 << Uri_PROPERTY_PORT)")
01695 cpp_quote("#define Uri_HAS_SCHEME          (1 << Uri_PROPERTY_SCHEME)")
01696 cpp_quote("#define Uri_HAS_ZONE            (1 << Uri_PROPERTY_ZONE)")
01697 
01698 cpp_quote("#define Uri_CREATE_ALLOW_RELATIVE                  0x0001")
01699 cpp_quote("#define Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME  0x0002")
01700 cpp_quote("#define Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME      0x0004")
01701 cpp_quote("#define Uri_CREATE_NOFRAG                          0x0008")
01702 cpp_quote("#define Uri_CREATE_NO_CANONICALIZE                 0x0010")
01703 cpp_quote("#define Uri_CREATE_CANONICALIZE                    0x0100")
01704 cpp_quote("#define Uri_CREATE_FILE_USE_DOS_PATH               0x0020")
01705 cpp_quote("#define Uri_CREATE_DECODE_EXTRA_INFO               0x0040")
01706 cpp_quote("#define Uri_CREATE_NO_DECODE_EXTRA_INFO            0x0080")
01707 cpp_quote("#define Uri_CREATE_CRACK_UNKNOWN_SCHEMES           0x0200")
01708 cpp_quote("#define Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES        0x0400")
01709 cpp_quote("#define Uri_CREATE_PRE_PROCESS_HTML_URI            0x0800")
01710 cpp_quote("#define Uri_CREATE_NO_PRE_PROCESS_HTML_URI         0x1000")
01711 cpp_quote("#define Uri_CREATE_IE_SETTINGS                     0x2000")
01712 cpp_quote("#define Uri_CREATE_NO_IE_SETTINGS                  0x4000")
01713 cpp_quote("#define Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS  0x8000")
01714 
01715 cpp_quote("#define Uri_DISPLAY_NO_FRAGMENT  0x00000001")
01716 cpp_quote("#define Uri_PUNYCODE_IDN_HOST    0x00000002")
01717 cpp_quote("#define Uri_DISPLAY_IDN_HOST     0x00000004")
01718 
01719 cpp_quote("#define Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8   0x00000001")
01720 cpp_quote("#define Uri_ENCODING_USER_INFO_AND_PATH_IS_CP                     0x00000002")
01721 cpp_quote("#define Uri_ENCODING_HOST_IS_IDN                                  0x00000004")
01722 cpp_quote("#define Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8                 0x00000008")
01723 cpp_quote("#define Uri_ENCODING_HOST_IS_PERCENT_ENCODED_CP                   0x00000010")
01724 cpp_quote("#define Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8   0x00000020")
01725 cpp_quote("#define Uri_ENCODING_QUERY_AND_FRAGMENT_IS_CP                     0x00000040")
01726 cpp_quote("#define Uri_ENCODING_RFC (Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8|Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8|Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8)")
01727 
01728 cpp_quote("#define UriBuilder_USE_ORIGINAL_FLAGS  0x00000001")
01729 
01730 /*****************************************************************************
01731  * IUriContainer interface
01732  */
01733 [
01734     local,
01735     object,
01736     uuid(a158a630-ed6f-45fb-b987-f68676f57752),
01737     pointer_default(unique)
01738 ]
01739 interface IUriContainer : IUnknown
01740 {
01741     HRESULT GetIUri([out] IUri **ppIUri);
01742 }
01743 
01744 /*****************************************************************************
01745  * IUriBuilder interface
01746  */
01747 [
01748     local,
01749     object,
01750     uuid(4221b2e1-8955-46c0-bd5b-de9897565de7),
01751     pointer_default(unique)
01752 ]
01753 interface IUriBuilder: IUnknown
01754 {
01755     HRESULT CreateUriSimple(
01756         [in]  DWORD       dwAllowEncodingPropertyMask,
01757         [in]  DWORD_PTR   dwReserved,
01758         [out] IUri      **ppIUri);
01759 
01760     HRESULT CreateUri(
01761         [in]  DWORD       dwCreateFlags,
01762         [in]  DWORD       dwAllowEncodingPropertyMask,
01763         [in]  DWORD_PTR   dwReserved,
01764         [out] IUri      **ppIUri);
01765 
01766     HRESULT CreateUriWithFlags(
01767         [in]  DWORD       dwCreateFlags,
01768         [in]  DWORD       dwUriBuilderFlags,
01769         [in]  DWORD       dwAllowEncodingPropertyMask,
01770         [in]  DWORD_PTR   dwReserved,
01771         [out] IUri      **ppIUri);
01772 
01773     HRESULT GetIUri(
01774         [out] IUri **ppIUri);
01775 
01776     HRESULT SetIUri(
01777         [in, unique] IUri *pIUri);
01778 
01779     HRESULT GetFragment(
01780         [out] DWORD   *pcchFragment,
01781         [out] LPCWSTR *ppwzFragment);
01782 
01783     HRESULT GetHost(
01784         [out] DWORD   *pcchHost,
01785         [out] LPCWSTR *ppwzHost);
01786 
01787     HRESULT GetPassword(
01788         [out] DWORD   *pcchPassword,
01789         [out] LPCWSTR *ppwzPassword);
01790 
01791     HRESULT GetPath(
01792         [out] DWORD   *pcchPath,
01793         [out] LPCWSTR *ppwzPath);
01794 
01795     HRESULT GetPort(
01796         [out] BOOL  *pfHasPort,
01797         [out] DWORD *pdwPort);
01798 
01799     HRESULT GetQuery(
01800         [out] DWORD   *pcchQuery,
01801         [out] LPCWSTR *ppwzQuery);
01802 
01803     HRESULT GetSchemeName(
01804         [out] DWORD   *pcchSchemeName,
01805         [out] LPCWSTR *ppwzSchemeName);
01806 
01807     HRESULT GetUserName(
01808         [out] DWORD   *pcchUserName,
01809         [out] LPCWSTR *ppwzUserName);
01810 
01811     HRESULT SetFragment(
01812         [in] LPCWSTR pwzNewValue);
01813 
01814     HRESULT SetHost(
01815         [in] LPCWSTR pwzNewValue);
01816 
01817     HRESULT SetPassword(
01818         [in] LPCWSTR pwzNewValue);
01819 
01820     HRESULT SetPath(
01821         [in] LPCWSTR pwzNewValue);
01822 
01823     HRESULT SetPort(
01824         [in] BOOL  fHasPort,
01825         [in] DWORD dwNewValue);
01826 
01827     HRESULT SetQuery(
01828         [in] LPCWSTR pwzNewValue);
01829 
01830     HRESULT SetSchemeName(
01831         [in] LPCWSTR pwzNewValue);
01832 
01833     HRESULT SetUserName(
01834         [in] LPCWSTR pwzNewValue);
01835 
01836     HRESULT RemoveProperties(
01837         [in] DWORD dwPropertyMask);
01838 
01839     HRESULT HasBeenModified(
01840         [out] BOOL *pfModified);
01841 };
01842 
01843 cpp_quote("HRESULT WINAPI CreateIUriBuilder(IUri*,DWORD,DWORD_PTR,IUriBuilder**);")
01844 
01845 /*****************************************************************************
01846  * IUriBuilderFactory interface
01847  */
01848 [
01849     local,
01850     object,
01851     uuid(e982ce48-0b96-440c-bc37-0c869b27a29e),
01852     pointer_default(unique)
01853 ]
01854 interface IUriBuilderFactory : IUnknown
01855 {
01856     HRESULT CreateIUriBuilder(
01857         [in]  DWORD dwFlags,
01858         [in]  DWORD_PTR dwReserved,
01859         [out] IUriBuilder **ppIUriBuilder);
01860 
01861     HRESULT CreateInitializedIUriBuilder(
01862         [in]  DWORD dwFlags,
01863         [in]  DWORD_PTR dwReserved,
01864         [out] IUriBuilder **ppIUriBuilder);
01865 }
01866 
01867 /*****************************************************************************
01868  * IInternetProtocolEx interface
01869  */
01870 [
01871     local,
01872     object,
01873     uuid(c7a98e66-1010-492c-a1c8-c809e1f75905),
01874     pointer_default(unique)
01875 ]
01876 interface IInternetProtocolEx : IInternetProtocol
01877 {
01878     HRESULT StartEx(
01879         [in] IUri *pUri,
01880         [in] IInternetProtocolSink *pOIProtSink,
01881         [in] IInternetBindInfo *pOIBindInfo,
01882         [in] DWORD grfPI,
01883         [in] HANDLE *dwReserved);
01884 }
01885 
01886 cpp_quote("#define CONFIRMSAFETYACTION_LOADOBJECT  0x00000001")
01887 
01888 struct CONFIRMSAFETY
01889 {
01890     CLSID clsid;
01891     IUnknown *pUnk;
01892     DWORD dwFlags;
01893 };
01894 
01895 cpp_quote("EXTERN_C const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY;")
01896 
01897 cpp_quote("DEFINE_GUID(CLSID_InternetSecurityManager, 0x7b8a2d94, 0x0ac9, 0x11d1, 0x89, 0x6c, 0x00, 0xc0, 0x4f, 0xB6, 0xbf, 0xc4);")
01898 cpp_quote("DEFINE_GUID(CLSID_InternetZoneManager, 0x7B8A2D95, 0x0AC9, 0x11D1, 0x89, 0x6C, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4);")
01899 cpp_quote("DEFINE_GUID(IID_IAsyncMoniker, 0x79EAC9D3, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);")
01900 cpp_quote("DEFINE_GUID(IID_IAsyncBindCtx, 0x79EAC9D4, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);")
01901 cpp_quote("DEFINE_GUID(CLSID_StdURLMoniker, 0x79EAC9E0, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);")
01902 cpp_quote("DEFINE_GUID(CLSID_DeCompMimeFilter, 0x8f6b0360, 0xb80d, 0x11d0, 0xa9,0xb3, 0x00,0x60,0x97,0x94,0x23,0x11);")
01903 
01904 cpp_quote("DEFINE_GUID(CLSID_CdlProtocol, 0x3dd53d40, 0x7b8b, 0x11D0, 0xb0,0x13, 0x00,0xaa,0x00,0x59,0xce,0x02);")
01905 cpp_quote("DEFINE_GUID(CLSID_FileProtocol, 0x79EAC9E7, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);")
01906 cpp_quote("DEFINE_GUID(CLSID_FtpProtocol, 0x79EAC9E3, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);")
01907 cpp_quote("DEFINE_GUID(CLSID_GopherProtocol, 0x79EAC9E4, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);")
01908 cpp_quote("DEFINE_GUID(CLSID_HttpProtocol, 0x79EAC9E2, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);")
01909 cpp_quote("DEFINE_GUID(CLSID_HttpSProtocol, 0x79EAC9E5, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);")
01910 cpp_quote("DEFINE_GUID(CLSID_MkProtocol, 0x79EAC9E6, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);")
01911 
01912 cpp_quote("#define URLMON_OPTION_USERAGENT          0x10000001")
01913 cpp_quote("#define URLMON_OPTION_USERAGENT_REFRESH  0x10000002")
01914 cpp_quote("#define URLMON_OPTION_URL_ENCODING       0x10000004")
01915 
01916 cpp_quote("#define MK_S_ASYNCHRONOUS                _HRESULT_TYPEDEF_(0x000401E8)")
01917 cpp_quote("#ifndef S_ASYNCHRONOUS")
01918 cpp_quote("#define S_ASYNCHRONOUS                   MK_S_ASYNCHRONOUS")
01919 cpp_quote("#endif")
01920 
01921 cpp_quote("#define INET_E_ERROR_FIRST               _HRESULT_TYPEDEF_(0x800C0002)")
01922 cpp_quote("#define INET_E_INVALID_URL               _HRESULT_TYPEDEF_(0x800C0002)")
01923 cpp_quote("#define INET_E_NO_SESSION                _HRESULT_TYPEDEF_(0x800C0003)")
01924 cpp_quote("#define INET_E_CANNOT_CONNECT            _HRESULT_TYPEDEF_(0x800C0004)")
01925 cpp_quote("#define INET_E_RESOURCE_NOT_FOUND        _HRESULT_TYPEDEF_(0x800C0005)")
01926 cpp_quote("#define INET_E_OBJECT_NOT_FOUND          _HRESULT_TYPEDEF_(0x800C0006)")
01927 cpp_quote("#define INET_E_DATA_NOT_AVAILABLE        _HRESULT_TYPEDEF_(0x800C0007)")
01928 cpp_quote("#define INET_E_DOWNLOAD_FAILURE          _HRESULT_TYPEDEF_(0x800C0008)")
01929 cpp_quote("#define INET_E_AUTHENTICATION_REQUIRED   _HRESULT_TYPEDEF_(0x800C0009)")
01930 cpp_quote("#define INET_E_NO_VALID_MEDIA            _HRESULT_TYPEDEF_(0x800C000A)")
01931 cpp_quote("#define INET_E_CONNECTION_TIMEOUT        _HRESULT_TYPEDEF_(0x800C000B)")
01932 cpp_quote("#define INET_E_INVALID_REQUEST           _HRESULT_TYPEDEF_(0x800C000C)")
01933 cpp_quote("#define INET_E_UNKNOWN_PROTOCOL          _HRESULT_TYPEDEF_(0x800C000D)")
01934 cpp_quote("#define INET_E_SECURITY_PROBLEM          _HRESULT_TYPEDEF_(0x800C000E)")
01935 cpp_quote("#define INET_E_CANNOT_LOAD_DATA          _HRESULT_TYPEDEF_(0x800C000F)")
01936 cpp_quote("#define INET_E_CANNOT_INSTANTIATE_OBJECT _HRESULT_TYPEDEF_(0x800C0010)")
01937 cpp_quote("#define INET_E_USE_DEFAULT_PROTOCOLHANDLER _HRESULT_TYPEDEF_(0x800C0011)")
01938 cpp_quote("#define INET_E_USE_DEFAULT_SETTING       _HRESULT_TYPEDEF_(0x800C0012L)")
01939 cpp_quote("#define INET_E_DEFAULT_ACTION            INET_E_USE_DEFAULT_PROTOCOLHANDLER")
01940 cpp_quote("#define INET_E_QUERYOPTION_UNKNOWN       _HRESULT_TYPEDEF_(0x800C0013)")
01941 cpp_quote("#define INET_E_REDIRECT_FAILED           _HRESULT_TYPEDEF_(0x800C0014)")
01942 cpp_quote("#define INET_E_REDIRECT_TO_DIR           _HRESULT_TYPEDEF_(0x800C0015)")
01943 cpp_quote("#define INET_E_CANNOT_LOCK_REQUEST       _HRESULT_TYPEDEF_(0x800C0016)")
01944 cpp_quote("#define INET_E_USE_EXTENDED_BINDING      _HRESULT_TYPEDEF_(0x800C0017)")
01945 cpp_quote("#define INET_E_TERMINATED_BIND           _HRESULT_TYPEDEF_(0x800C0018)")
01946 cpp_quote("#define INET_E_INVALID_CERTIFICATE       _HRESULT_TYPEDEF_(0x800C0019)")
01947 cpp_quote("#define INET_E_CODE_DOWNLOAD_DECLINED    _HRESULT_TYPEDEF_(0x800C0100)")
01948 cpp_quote("#define INET_E_RESULT_DISPATCHED         _HRESULT_TYPEDEF_(0x800C0200)")
01949 cpp_quote("#define INET_E_CANNOT_REPLACE_SFP_FILE   _HRESULT_TYPEDEF_(0x800C0300)")
01950 cpp_quote("#define INET_E_CODE_INSTALL_SUPPRESSED   _HRESULT_TYPEDEF_(0x800C0400)")
01951 cpp_quote("#define INET_E_CODE_INSTALL_BLOCKED_BY_HASH_POLICY  _HRESULT_TYPEDEF_(0x800C0500)")
01952 cpp_quote("#define INET_E_DOWNLOAD_BLOCKED_BY_INPRIVATE        _HRESULT_TYPEDEF_(0x800C0501)")
01953 cpp_quote("#define INET_E_ERROR_LAST                INET_E_DOWNLOAD_BLOCKED_BY_INPRIVATE")
01954 
01955 cpp_quote("HRESULT WINAPI CoGetClassObjectFromURL(REFCLSID, LPCWSTR, DWORD, DWORD, LPCWSTR, LPBINDCTX, DWORD, LPVOID, REFIID, LPVOID*);")
01956 cpp_quote("HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk);")
01957 cpp_quote("HRESULT WINAPI CreateURLMonikerEx(IMoniker*,LPCWSTR,IMoniker**,DWORD);")
01958 cpp_quote("HRESULT WINAPI CreateURLMonikerEx2(IMoniker*,IUri*,IMoniker**,DWORD);")
01959 cpp_quote("HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbsc, DWORD dwReserved);")
01960 cpp_quote("HRESULT WINAPI CompareSecurityIds(BYTE*,DWORD,BYTE*,DWORD,DWORD);")
01961 cpp_quote("HRESULT WINAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);")
01962 cpp_quote("HRESULT WINAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);")
01963 cpp_quote("HRESULT WINAPI URLDownloadToCacheFileA(LPUNKNOWN,LPCSTR,LPSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);")
01964 cpp_quote("HRESULT WINAPI URLDownloadToCacheFileW(LPUNKNOWN,LPCWSTR,LPWSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);")
01965 cpp_quote("HRESULT WINAPI CoInternetGetSession(DWORD,IInternetSession**,DWORD);")
01966 cpp_quote("HRESULT WINAPI MkParseDisplayNameEx(IBindCtx*,LPCWSTR,ULONG*,IMoniker**);")
01967 cpp_quote("HRESULT WINAPI IsAsyncMoniker(IMoniker* pmk);")
01968 cpp_quote("HRESULT WINAPI CreateAsyncBindCtx(DWORD, IBindStatusCallback*, IEnumFORMATETC*, IBindCtx**);")
01969 cpp_quote("HRESULT WINAPI CreateAsyncBindCtxEx(IBindCtx*,DWORD,IBindStatusCallback*,IEnumFORMATETC*,IBindCtx**,DWORD);")
01970 cpp_quote("HRESULT WINAPI CoInternetCreateSecurityManager(IServiceProvider*,IInternetSecurityManager**,DWORD);")
01971 cpp_quote("HRESULT WINAPI CoInternetCombineUrl(LPCWSTR,LPCWSTR,DWORD,LPWSTR,DWORD,DWORD*,DWORD);")
01972 cpp_quote("HRESULT WINAPI CoInternetCombineUrlEx(IUri*,LPCWSTR,DWORD,IUri**,DWORD_PTR);")
01973 cpp_quote("HRESULT WINAPI CoInternetCompareUrl(LPCWSTR,LPCWSTR,DWORD);")
01974 cpp_quote("HRESULT WINAPI CoInternetCombineIUri(IUri*,IUri*,DWORD,IUri**,DWORD_PTR);")
01975 cpp_quote("HRESULT WINAPI CoInternetCreateZoneManager(IServiceProvider*, IInternetZoneManager**, DWORD);")
01976 cpp_quote("HRESULT WINAPI CoInternetParseUrl(LPCWSTR,PARSEACTION,DWORD,LPWSTR,DWORD,DWORD*,DWORD);")
01977 cpp_quote("HRESULT WINAPI CoInternetParseIUri(IUri*,PARSEACTION,DWORD,LPWSTR,DWORD,DWORD*,DWORD_PTR);")
01978 cpp_quote("HRESULT WINAPI CoInternetQueryInfo(LPCWSTR,QUERYOPTION,DWORD,LPVOID,DWORD,DWORD*,DWORD);")
01979 cpp_quote("HRESULT WINAPI CoInternetSetFeatureEnabled(INTERNETFEATURELIST,DWORD,BOOL);")
01980 cpp_quote("HRESULT WINAPI CoInternetGetSecurityUrl(LPCWSTR,LPWSTR*,PSUACTION,DWORD);")
01981 cpp_quote("HRESULT WINAPI CoInternetGetSecurityUrlEx(IUri*,IUri**,PSUACTION,DWORD_PTR);")
01982 cpp_quote("HRESULT WINAPI CreateFormatEnumerator(UINT,FORMATETC*,IEnumFORMATETC**);")
01983 cpp_quote("HRESULT WINAPI GetSoftwareUpdateInfo( LPCWSTR szDistUnit, LPSOFTDISTINFO psdi);")
01984 cpp_quote("HRESULT WINAPI FaultInIEFeature(HWND,uCLSSPEC*,QUERYCONTEXT*,DWORD);")
01985 cpp_quote("HRESULT WINAPI FindMimeFromData(LPBC,LPCWSTR,LPVOID,DWORD,LPCWSTR,DWORD,LPWSTR*,DWORD);")
01986 cpp_quote("HRESULT WINAPI GetClassFileOrMime(LPBC,LPCWSTR,LPVOID,DWORD,LPCWSTR,DWORD,CLSID*);")
01987 cpp_quote("HRESULT WINAPI HlinkGoBack(IUnknown*);")
01988 cpp_quote("HRESULT WINAPI HlinkGoForward(IUnknown*);")
01989 cpp_quote("HRESULT WINAPI HlinkNavigateMoniker(IUnknown*,IMoniker*);")
01990 cpp_quote("HRESULT WINAPI HlinkNavigateString(IUnknown*,LPCWSTR);")
01991 cpp_quote("HRESULT WINAPI HlinkSimpleNavigateToMoniker(IMoniker*,LPCWSTR,LPCWSTR,IUnknown*,IBindCtx*,IBindStatusCallback*,DWORD,DWORD);")
01992 cpp_quote("HRESULT WINAPI HlinkSimpleNavigateToString(LPCWSTR,LPCWSTR,LPCWSTR,IUnknown*,IBindCtx*,IBindStatusCallback*,DWORD,DWORD);")
01993 cpp_quote("HRESULT WINAPI IsValidURL(LPBC,LPCWSTR,DWORD);")
01994 cpp_quote("HRESULT WINAPI ObtainUserAgentString(DWORD,LPSTR,DWORD*);")
01995 cpp_quote("HRESULT WINAPI RegisterFormatEnumerator(LPBC,IEnumFORMATETC*,DWORD);")
01996 cpp_quote("HRESULT WINAPI RevokeFormatEnumerator(LPBC,IEnumFORMATETC*);")
01997 cpp_quote("HRESULT WINAPI RevokeBindStatusCallback(LPBC,IBindStatusCallback*);")
01998 cpp_quote("HRESULT WINAPI CopyStgMedium(const STGMEDIUM*,STGMEDIUM*);")
01999 cpp_quote("void WINAPI ReleaseBindInfo(BINDINFO*);")
02000 cpp_quote("HRESULT WINAPI UrlMkGetSessionOption(DWORD,LPVOID,DWORD,DWORD*,DWORD);")
02001 cpp_quote("HRESULT WINAPI UrlMkSetSessionOption(DWORD,LPVOID,DWORD,DWORD);")
02002 cpp_quote("HRESULT WINAPI URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);")
02003 cpp_quote("HRESULT WINAPI URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);")
02004 cpp_quote("HRESULT WINAPI URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);")
02005 cpp_quote("HRESULT WINAPI URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);")
02006 cpp_quote("HRESULT WINAPI URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);")
02007 cpp_quote("HRESULT WINAPI URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);")
02008 
02009 cpp_quote("#define OInetCombineUrl CoInternetCombineUrl")
02010 cpp_quote("#define OInetCompareUrl CoInternetCompareUrl")
02011 cpp_quote("#define OInetGetSession CoInternetGetSession")
02012 
02013 cpp_quote("BOOL WINAPI IsLoggingEnabledA(LPCSTR);")
02014 cpp_quote("BOOL WINAPI IsLoggingEnabledW(LPCWSTR);")
02015 cpp_quote("#define IsLoggingEnabled WINELIB_NAME_AW(IsLoggingEnabled)")
02016 
02017 cpp_quote("#define MKSYS_URLMONIKER 6")
02018 cpp_quote("#define URL_MK_LEGACY            0")
02019 cpp_quote("#define URL_MK_UNIFORM           1")

Generated on Sun May 27 2012 04:32:31 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.