Reactos
at listview 2226 lines 74 kB view raw
1/* 2 * Copyright (C) 2000 Ulrich Czekalla 3 * Copyright (C) 2003 Alexandre Julliard 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 18 */ 19 20import "objidl.idl"; 21import "oleidl.idl"; 22import "servprov.idl"; 23import "msxml.idl"; 24 25cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") 26cpp_quote("#undef GetUserName") 27cpp_quote("#undef SetPort") 28cpp_quote("#endif") 29 30interface IInternetProtocolSink; 31interface IUri; 32 33/***************************************************************************** 34 * IInternet interface 35 */ 36[ 37 object, 38 uuid(79eac9e0-baf9-11ce-8c82-00aa004ba90b), 39 pointer_default(unique), 40 local 41] 42interface IInternet : IUnknown 43{ 44 typedef [unique] IInternet *LPIINTERNET; 45} 46 47/***************************************************************************** 48 * IBinding interface 49 */ 50[ 51 object, 52 uuid(79eac9c0-baf9-11ce-8c82-00aa004ba90b), 53 pointer_default(unique) 54] 55interface IBinding : IUnknown 56{ 57 typedef [unique] IBinding *LPBINDING; 58 59 HRESULT Abort(); 60 HRESULT Suspend(); 61 HRESULT Resume(); 62 63 HRESULT SetPriority( 64 [in] LONG nPriority); 65 66 HRESULT GetPriority( 67 [out] LONG * pnPriority); 68 69 [local] 70 HRESULT GetBindResult( 71 [out] CLSID *pclsidProtocol, 72 [out] DWORD *pdwResult, 73 [out] LPOLESTR *pszResult, 74 [in, out] DWORD *pdwReserved); 75 76 [call_as(GetBindResult)] 77 HRESULT RemoteGetBindResult( 78 [out] CLSID *pclsidProtocol, 79 [out] DWORD *pdwResult, 80 [out] LPOLESTR *pszResult, 81 [in] DWORD dwReserved); 82} 83 84 85/***************************************************************************** 86 * IBindStatusCallback interface 87 */ 88[ 89 object, 90 uuid(79eac9c1-baf9-11ce-8c82-00aa004ba90b), 91 pointer_default(unique) 92] 93interface IBindStatusCallback : IUnknown 94{ 95 typedef [unique] IBindStatusCallback *LPBINDSTATUSCALLBACK; 96 97 typedef enum 98 { 99 BINDVERB_GET = 0x00000000, 100 BINDVERB_POST = 0x00000001, 101 BINDVERB_PUT = 0x00000002, 102 BINDVERB_CUSTOM = 0x00000003 103 } BINDVERB; 104 105 typedef enum 106 { 107 BINDINFOF_URLENCODESTGMEDDATA = 0x00000001, 108 BINDINFOF_URLENCODEDEXTRAINFO = 0x00000002 109 } BINDINFOF; 110 111 typedef enum 112 { 113 BINDF_ASYNCHRONOUS = 0x00000001, 114 BINDF_ASYNCSTORAGE = 0x00000002, 115 BINDF_NOPROGRESSIVERENDERING = 0x00000004, 116 BINDF_OFFLINEOPERATION = 0x00000008, 117 BINDF_GETNEWESTVERSION = 0x00000010, 118 BINDF_NOWRITECACHE = 0x00000020, 119 BINDF_NEEDFILE = 0x00000040, 120 BINDF_PULLDATA = 0x00000080, 121 BINDF_IGNORESECURITYPROBLEM = 0x00000100, 122 BINDF_RESYNCHRONIZE = 0x00000200, 123 BINDF_HYPERLINK = 0x00000400, 124 BINDF_NO_UI = 0x00000800, 125 BINDF_SILENTOPERATION = 0x00001000, 126 BINDF_PRAGMA_NO_CACHE = 0x00002000, 127 BINDF_GETCLASSOBJECT = 0x00004000, 128 BINDF_RESERVED_1 = 0x00008000, 129 BINDF_FREE_THREADED = 0x00010000, 130 BINDF_DIRECT_READ = 0x00020000, 131 BINDF_FORMS_SUBMIT = 0x00040000, 132 BINDF_GETFROMCACHE_IF_NET_FAIL = 0x00080000, 133 BINDF_FROMURLMON = 0x00100000, 134 BINDF_FWD_BACK = 0x00200000, 135 BINDF_PREFERDEFAULTHANDLER = 0x00400000, 136 BINDF_ENFORCERESTRICTED = 0x00800000 137 } BINDF; 138 139 typedef enum 140 { 141 URL_ENCODING_NONE = 0x00000000, 142 URL_ENCODING_ENABLE_UTF8 = 0x10000000, 143 URL_ENCODING_DISABLE_UTF8 = 0x20000000 144 } URL_ENCODING; 145 146 typedef struct _tagBINDINFO 147 { 148 ULONG cbSize; 149 LPWSTR szExtraInfo; 150 STGMEDIUM stgmedData; 151 DWORD grfBindInfoF; 152 DWORD dwBindVerb; 153 LPWSTR szCustomVerb; 154 DWORD cbstgmedData; 155 DWORD dwOptions; 156 DWORD dwOptionsFlags; 157 DWORD dwCodePage; 158 SECURITY_ATTRIBUTES securityAttributes; 159 IID iid; 160 IUnknown *pUnk; 161 DWORD dwReserved; 162 } BINDINFO; 163 164 typedef struct _REMSECURITY_ATTRIBUTES 165 { 166 DWORD nLength; 167 DWORD lpSecurityDescriptor; 168 BOOL bInheritHandle; 169 } REMSECURITY_ATTRIBUTES, *PREMSECURITY_ATTRIBUTES, *LPREMSECURITY_ATTRIBUTES; 170 171 typedef struct _tagRemBINDINFO 172 { 173 ULONG cbSize; 174 LPWSTR szExtraInfo; 175 DWORD grfBindInfoF; 176 DWORD dwBindVerb; 177 LPWSTR szCustomVerb; 178 DWORD cbstgmedData; 179 DWORD dwOptions; 180 DWORD dwOptionsFlags; 181 DWORD dwCodePage; 182 REMSECURITY_ATTRIBUTES securityAttributes; 183 IID iid; 184 IUnknown *pUnk; 185 DWORD dwReserved; 186 } RemBINDINFO; 187 188 typedef struct tagRemFORMATETC 189 { 190 DWORD cfFormat; 191 DWORD ptd; 192 DWORD dwAspect; 193 LONG lindex; 194 DWORD tymed; 195 } RemFORMATETC, *LPREMFORMATETC; 196 197 typedef enum 198 { 199 BINDINFO_OPTIONS_WININETFLAG = 0x00010000, 200 BINDINFO_OPTIONS_ENABLE_UTF8 = 0x00020000, 201 BINDINFO_OPTIONS_DISABLE_UTF8 = 0x00040000, 202 BINDINFO_OPTIONS_USE_IE_ENCODING = 0x00080000, 203 BINDINFO_OPTIONS_BINDTOOBJECT = 0x00100000, 204 BINDINFO_OPTIONS_SECURITYOPTOUT = 0x00200000, 205 BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN = 0x00400000, 206 BINDINFO_OPTIONS_USEBINDSTRINGCREDS = 0x00800000, 207 BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS = 0x01000000, 208 BINDINFO_OPTIONS_IGNORE_SSLERRORS_ONCE = 0x02000000, 209 BINDINFO_WPC_DOWNLOADBLOCKED = 0x08000000, 210 BINDINFO_WPC_LOGGING_ENABLED = 0x10000000, 211 BINDINFO_OPTIONS_ALLOWCONNECTDATA = 0x20000000, 212 BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS = 0x40000000, 213 BINDINFO_OPTIONS_SHDOCVW_NAVIGATE = (int)0x80000000 214 } BINDINFO_OPTIONS; 215 216 typedef enum 217 { 218 BSCF_FIRSTDATANOTIFICATION = 0x01, 219 BSCF_INTERMEDIATEDATANOTIFICATION = 0x02, 220 BSCF_LASTDATANOTIFICATION = 0x04, 221 BSCF_DATAFULLYAVAILABLE = 0x08, 222 BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10, 223 BSCF_SKIPDRAINDATAFORFILEURLS = 0x20, 224 BSCF_64BITLENGTHDOWNLOAD = 0x40 225 } BSCF; 226 227 typedef enum BINDSTATUS 228 { 229 BINDSTATUS_FINDINGRESOURCE = 1, 230 BINDSTATUS_CONNECTING, 231 BINDSTATUS_REDIRECTING, 232 BINDSTATUS_BEGINDOWNLOADDATA, 233 BINDSTATUS_DOWNLOADINGDATA, 234 BINDSTATUS_ENDDOWNLOADDATA, 235 BINDSTATUS_BEGINDOWNLOADCOMPONENTS, 236 BINDSTATUS_INSTALLINGCOMPONENTS, 237 BINDSTATUS_ENDDOWNLOADCOMPONENTS, 238 BINDSTATUS_USINGCACHEDCOPY, 239 BINDSTATUS_SENDINGREQUEST, 240 BINDSTATUS_CLASSIDAVAILABLE, 241 BINDSTATUS_MIMETYPEAVAILABLE, 242 BINDSTATUS_CACHEFILENAMEAVAILABLE, 243 BINDSTATUS_BEGINSYNCOPERATION, 244 BINDSTATUS_ENDSYNCOPERATION, 245 BINDSTATUS_BEGINUPLOADDATA, 246 BINDSTATUS_UPLOADINGDATA, 247 BINDSTATUS_ENDUPLOADINGDATA, 248 BINDSTATUS_PROTOCOLCLASSID, 249 BINDSTATUS_ENCODING, 250 BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE, 251 BINDSTATUS_CLASSINSTALLLOCATION, 252 BINDSTATUS_DECODING, 253 BINDSTATUS_LOADINGMIMEHANDLER, 254 BINDSTATUS_CONTENTDISPOSITIONATTACH, 255 BINDSTATUS_FILTERREPORTMIMETYPE, 256 BINDSTATUS_CLSIDCANINSTANTIATE, 257 BINDSTATUS_IUNKNOWNAVAILABLE, 258 BINDSTATUS_DIRECTBIND, 259 BINDSTATUS_RAWMIMETYPE, 260 BINDSTATUS_PROXYDETECTING, 261 BINDSTATUS_ACCEPTRANGES, 262 BINDSTATUS_COOKIE_SENT, 263 BINDSTATUS_COMPACT_POLICY_RECEIVED, 264 BINDSTATUS_COOKIE_SUPPRESSED, 265 BINDSTATUS_COOKIE_STATE_UNKNOWN, 266 BINDSTATUS_COOKIE_STATE_ACCEPT, 267 BINDSTATUS_COOKIE_STATE_REJECT, 268 BINDSTATUS_COOKIE_STATE_PROMPT, 269 BINDSTATUS_COOKIE_STATE_LEASH, 270 BINDSTATUS_COOKIE_STATE_DOWNGRADE, 271 BINDSTATUS_POLICY_HREF, 272 BINDSTATUS_P3P_HEADER, 273 BINDSTATUS_SESSION_COOKIE_RECEIVED, 274 BINDSTATUS_PERSISTENT_COOKIE_RECEIVED, 275 BINDSTATUS_SESSION_COOKIES_ALLOWED, 276 BINDSTATUS_CACHECONTROL, 277 BINDSTATUS_CONTENTDISPOSITIONFILENAME, 278 BINDSTATUS_MIMETEXTPLAINMISMATCH, 279 BINDSTATUS_PUBLISHERAVAILABLE, 280 BINDSTATUS_DISPLAYNAMEAVAILABLE, 281 BINDSTATUS_SSLUX_NAVBLOCKED, 282 BINDSTATUS_SERVER_MIMETYPEAVAILABLE, 283 BINDSTATUS_SNIFFED_CLASSIDAVAILABLE, 284 BINDSTATUS_64BIT_PROGRESS, 285 BINDSTATUS_LAST = BINDSTATUS_64BIT_PROGRESS, 286 BINDSTATUS_RESERVED_0 = (BINDSTATUS_LAST+1), 287 BINDSTATUS_RESERVED_1 = (BINDSTATUS_RESERVED_0+1), 288 BINDSTATUS_RESERVED_2 = (BINDSTATUS_RESERVED_1+1), 289 BINDSTATUS_RESERVED_3 = (BINDSTATUS_RESERVED_2+1), 290 BINDSTATUS_RESERVED_4 = (BINDSTATUS_RESERVED_3+1), 291 BINDSTATUS_RESERVED_5 = (BINDSTATUS_RESERVED_4+1), 292 BINDSTATUS_RESERVED_6 = (BINDSTATUS_RESERVED_5+1), 293 BINDSTATUS_RESERVED_7 = (BINDSTATUS_RESERVED_6+1), 294 BINDSTATUS_RESERVED_8 = (BINDSTATUS_RESERVED_7+1), 295 BINDSTATUS_RESERVED_9 = (BINDSTATUS_RESERVED_8+1), 296 BINDSTATUS_LAST_PRIVATE = BINDSTATUS_RESERVED_9 297 } BINDSTATUS; 298 299 300 HRESULT OnStartBinding( 301 [in] DWORD dwReserved, 302 [in] IBinding * pib); 303 304 HRESULT GetPriority( 305 [out] LONG * pnPriority); 306 307 HRESULT OnLowResource( 308 [in] DWORD reserved); 309 310 HRESULT OnProgress( 311 [in] ULONG ulProgress, 312 [in] ULONG ulProgressMax, 313 [in] ULONG ulStatusCode, 314 [in, unique] LPCWSTR szStatusText); 315 316 HRESULT OnStopBinding( 317 [in] HRESULT hresult, 318 [in, unique] LPCWSTR szError); 319 320 [local] 321 HRESULT GetBindInfo( 322 [out] DWORD *grfBINDF, 323 [in, out, unique] BINDINFO * pbindinfo); 324 325 [call_as(GetBindInfo)] 326 HRESULT RemoteGetBindInfo( 327 [out] DWORD *grfBINDF, 328 [in, out, unique] RemBINDINFO * pbindinfo, 329 [in, out, unique] RemSTGMEDIUM* pstgmed); 330 331 [local] 332 HRESULT OnDataAvailable( 333 [in] DWORD grfBSCF, 334 [in] DWORD dwSize, 335 [in] FORMATETC* pformatetc, 336 [in] STGMEDIUM* pstgmed); 337 338 [call_as(OnDataAvailable)] 339 HRESULT RemoteOnDataAvailable( 340 [in] DWORD grfBSCF, 341 [in] DWORD dwSize, 342 [in] RemFORMATETC *pformatetc, 343 [in] RemSTGMEDIUM* pstgmed); 344 345 HRESULT OnObjectAvailable( 346 [in] REFIID riid, 347 [in, iid_is(riid)] IUnknown* punk); 348} 349 350/***************************************************************************** 351 * IBindStatusCallbackEx interface 352 */ 353[ 354 object, 355 uuid(aaa74ef9-8ee7-4659-88d9-f8c504da73cc), 356 pointer_default(unique) 357] 358interface IBindStatusCallbackEx : IBindStatusCallback 359{ 360 typedef [unique] IBindStatusCallbackEx *LPBINDSTATUSCALLBACKEX; 361 362 typedef enum { 363 BINDF2_DISABLEBASICOVERHTTP = 0x00000001, 364 BINDF2_DISABLEAUTOCOOKIEHANDLING = 0x00000002, 365 BINDF2_READ_DATA_GREATER_THAN_4GB = 0x00000004, 366 BINDF2_DISABLE_HTTP_REDIRECT_XSECURITYID = 0x00000008, 367 BINDF2_RESERVED_3 = 0x20000000, 368 BINDF2_RESERVED_2 = 0x40000000, 369 BINDF2_RESERVED_1 = 0x80000000, 370 } BINDF2; 371 372 [local] 373 HRESULT GetBindInfoEx( 374 [out] DWORD *grfBINDF, 375 [in, out, unique] BINDINFO *pbindinfo, 376 [out] DWORD *grfBINDF2, 377 [out] DWORD *pdwReserved); 378 379 [call_as(GetBindInfoEx)] 380 HRESULT RemoteGetBindInfoEx( 381 [out] DWORD *grfBINDF, 382 [in, out, unique] RemBINDINFO *pbindinfo, 383 [in, out, unique] RemSTGMEDIUM *pstgmed, 384 [out] DWORD *grfBINDF2, 385 [out] DWORD *pdwReserved); 386} 387 388 389/***************************************************************************** 390 * IAuthenticate interface 391 */ 392[ 393 object, 394 uuid(79EAC9D0-BAf9-11CE-8C82-00AA004BA90B), 395 pointer_default(unique) 396] 397interface IAuthenticate : IUnknown 398{ 399 typedef [unique] IAuthenticate *LPAUTHENTICATION; 400 401 HRESULT Authenticate( 402 [out] HWND* phwnd, 403 [out] LPWSTR *pszUsername, 404 [out] LPWSTR *pszPassword); 405} 406 407/***************************************************************************** 408 * IHttpNegotiate interface 409 */ 410[ 411 object, 412 uuid(79EAC9D2-BAF9-11CE-8C82-00AA004BA90B), 413 pointer_default(unique) 414] 415interface IHttpNegotiate : IUnknown 416{ 417 typedef [unique] IHttpNegotiate *LPHTTPNEGOTIATE; 418 419 HRESULT BeginningTransaction( 420 [in] LPCWSTR szURL, 421 [in, unique] LPCWSTR szHeaders, 422 [in] DWORD dwReserved, 423 [out] LPWSTR *pszAdditionalHeaders); 424 425 HRESULT OnResponse( 426 [in] DWORD dwResponseCode, 427 [in, unique] LPCWSTR szResponseHeaders, 428 [in, unique] LPCWSTR szRequestHeaders, 429 [out] LPWSTR *pszAdditionalRequestHeaders); 430} 431 432/***************************************************************************** 433 * IHttpNegotiate2 interface 434 */ 435[ 436 object, 437 uuid(4F9F9FCB-E0F4-48eb-B7AB-FA2EA9365CB4), 438 pointer_default(unique) 439] 440interface IHttpNegotiate2 : IHttpNegotiate 441{ 442 typedef [unique] IHttpNegotiate2 *LPHTTPNEGOTIATE2; 443 444 HRESULT GetRootSecurityId( 445 [out, size_is(*pcbSecurityId)] BYTE *pbSecurityId, 446 [in, out] DWORD *pcbSecurityId, 447 [in] DWORD_PTR dwReserved); 448} 449 450/***************************************************************************** 451 * IBindHost interface 452 */ 453cpp_quote("#define SID_IBindHost IID_IBindHost") 454cpp_quote("#define SID_SBindHost IID_IBindHost") 455[ 456 object, 457 uuid(fc4801a1-2ba9-11cf-a229-00aa003d7352), 458 pointer_default(unique) 459] 460interface IBindHost : IUnknown 461{ 462 typedef [unique] IBindHost *LPBINDHOST; 463 464 HRESULT CreateMoniker( 465 [in] LPOLESTR szName, 466 [in] IBindCtx *pBC, 467 [out] IMoniker** ppmk, 468 [in] DWORD dwReserved); 469 470 [local] 471 HRESULT MonikerBindToStorage( 472 [in] IMoniker *pMk, 473 [in] IBindCtx *pBC, 474 [in] IBindStatusCallback *pBSC, 475 [in] REFIID riid, 476 [out] void **ppvObj); 477 478 [call_as(MonikerBindToStorage)] 479 HRESULT RemoteMonikerBindToStorage( 480 [in, unique] IMoniker *pMk, 481 [in, unique] IBindCtx *pBC, 482 [in, unique] IBindStatusCallback *pBSC, 483 [in] REFIID riid, 484 [out, iid_is(riid)] IUnknown **ppvObj); 485 486 [local] 487 HRESULT MonikerBindToObject( 488 [in] IMoniker *pMk, 489 [in] IBindCtx *pBC, 490 [in] IBindStatusCallback *pBSC, 491 [in] REFIID riid, 492 [out] void **ppvObj); 493 494 [call_as(MonikerBindToObject)] 495 HRESULT RemoteMonikerBindToObject( 496 [in, unique] IMoniker *pMk, 497 [in, unique] IBindCtx *pBC, 498 [in, unique] IBindStatusCallback *pBSC, 499 [in] REFIID riid, 500 [out, iid_is(riid)] IUnknown **ppvObj); 501} 502 503 504/***************************************************************************** 505 * IWinInetInfo interface 506 */ 507[ 508 object, 509 uuid(79eac9d6-bafa-11ce-8c82-00aa004ba90b), 510 pointer_default(unique) 511] 512interface IWinInetInfo : IUnknown 513{ 514 typedef [unique] IWinInetInfo *LPWININETINFO; 515 516 [local] 517 HRESULT QueryOption( 518 [in] DWORD dwOption, 519 [in, out, size_is(*pcbBuf)] LPVOID pBuffer, 520 [in, out] DWORD *pcbBuf); 521 522 [call_as(QueryOption)] 523 HRESULT RemoteQueryOption( 524 [in] DWORD dwOption, 525 [in, out, size_is(*pcbBuf)] BYTE *pBuffer, 526 [in, out] DWORD *pcbBuf); 527} 528 529 530 531/***************************************************************************** 532 * IWinInetHttpInfo interface 533 */ 534[ 535 object, 536 uuid(79eac9d8-bafa-11ce-8c82-00aa004ba90b), 537 pointer_default(unique) 538] 539interface IWinInetHttpInfo : IWinInetInfo 540{ 541 typedef [unique] IWinInetHttpInfo *LPWININETHTTPINFO; 542 543 [local] 544 HRESULT QueryInfo( 545 [in] DWORD dwOption, 546 [in, out,size_is(*pcbBuf)] LPVOID pBuffer, 547 [in, out] DWORD *pcbBuf, 548 [in, out] DWORD *pdwFlags, 549 [in, out] DWORD *pdwReserved); 550 551 [call_as(QueryInfo)] 552 HRESULT RemoteQueryInfo( 553 [in] DWORD dwOption, 554 [in,out,size_is(*pcbBuf)] BYTE *pBuffer, 555 [in, out] DWORD *pcbBuf, 556 [in, out] DWORD *pdwFlags, 557 [in, out] DWORD *pdwReserved); 558} 559 560/***************************************************************************** 561 * IWindowForBindingUI interface 562 */ 563[ 564 local, 565 object, 566 uuid(79eac9d5-bafa-11ce-8c82-00aa004ba90b), 567 pointer_default(unique) 568] 569interface IWindowForBindingUI : IUnknown 570{ 571 typedef [unique] IWindowForBindingUI *LPWINDOWFORBINDINGUI; 572 573 HRESULT GetWindow( 574 [in] REFGUID rguidReason, 575 [out] HWND *phwnd); 576} 577 578/***************************************************************************** 579 * ICodeInstall interface 580 */ 581[ 582 local, 583 object, 584 uuid(79eac9d1-baf9-11ce-8c82-00aa004ba90b), 585 pointer_default(unique) 586] 587interface ICodeInstall : IWindowForBindingUI 588{ 589 typedef [unique] ICodeInstall *LPCODEINSTALL; 590 591 typedef enum { 592 CIP_DISK_FULL, 593 CIP_ACCESS_DENIED, 594 CIP_NEWER_VERSION_EXISTS, 595 CIP_OLDER_VERSION_EXISTS, 596 CIP_NAME_CONFLICT, 597 CIP_TRUST_VERIFICATION_COMPONENT_MISSING, 598 CIP_EXE_SELF_REGISTERATION_TIMEOUT, 599 CIP_UNSAFE_TO_ABORT, 600 CIP_NEED_REBOOT, 601 CIP_NEED_REBOOT_UI_PERMISSION 602 } CIP_STATUS; 603 604 HRESULT OnCodeInstallProblem( 605 [in] ULONG ulStatusCode, 606 [in, unique] LPCWSTR szDestination, 607 [in, unique] LPCWSTR szSource, 608 [in] DWORD dwReserved); 609} 610 611/***************************************************************************** 612 * IHttpSecurity interface 613 */ 614[ 615 local, 616 object, 617 uuid(79eac9d7-bafa-11ce-8c82-00aa004ba90b), 618 pointer_default(unique) 619] 620interface IHttpSecurity : IWindowForBindingUI 621{ 622 typedef [unique] IHttpSecurity *LPHTTPSECURITY; 623 624 HRESULT OnSecurityProblem( 625 [in] DWORD dwProblem); 626} 627 628 629/***************************************************************************** 630 * IPersistMoniker interface 631 */ 632[ 633 object, 634 uuid(79eac9c9-baf9-11ce-8c82-00aa004ba90b), 635 pointer_default(unique) 636] 637interface IPersistMoniker : IUnknown 638{ 639 typedef [unique] IPersistMoniker *LPPERSISTMONIKER; 640 641 HRESULT GetClassID( 642 [out] CLSID *pClassID); 643 644 HRESULT IsDirty(); 645 646 HRESULT Load( 647 [in] BOOL fFullyAvailable, 648 [in] IMoniker *pimkName, 649 [in] LPBC pibc, 650 [in] DWORD grfMode); 651 652 HRESULT Save( 653 [in] IMoniker *pimkName, 654 [in] LPBC pbc, 655 [in] BOOL fRemember); 656 657 HRESULT SaveCompleted( 658 [in] IMoniker *pimkName, 659 [in] LPBC pibc); 660 661 HRESULT GetCurMoniker( 662 [out] IMoniker **ppimkName); 663} 664 665/***************************************************************************** 666 * IMonikerProp interface 667 */ 668[ 669 object, 670 uuid(A5CA5F7F-1847-4D87-9C5B-918509F7511D), 671 pointer_default(unique) 672] 673interface IMonikerProp : IUnknown 674{ 675 typedef [unique] IMonikerProp *LPMONIKERPROP; 676 677 typedef enum { 678 MIMETYPEPROP = 0, 679 USE_SRC_URL = 1, 680 CLASSIDPROP = 2, 681 TRUSTEDDOWNLOADPROP = 3, 682 POPUPLEVELPROP = 4 683 } MONIKERPROPERTY; 684 685 HRESULT PutProperty( 686 [in] MONIKERPROPERTY mkp, 687 [in] LPCWSTR val); 688} 689 690cpp_quote("#ifndef _LPBINDPROTOCOL_DEFINED") 691cpp_quote("#define _LPBINDPROTOCOL_DEFINED") 692 693/***************************************************************************** 694 * IBindProtocol interface 695 */ 696[ 697 local, 698 object, 699 uuid(79EAC9CD-BAF9-11CE-8C82-00AA004BA90B), 700 pointer_default(unique) 701] 702interface IBindProtocol : IUnknown 703{ 704 typedef [unique] IBindProtocol *LPBINDPROTOCOL; 705 706 HRESULT CreateBinding( 707 [in] LPCWSTR szUrl, 708 [in] IBindCtx *pbc, 709 [out] IBinding **ppb); 710} 711 712cpp_quote("#endif /* !defined _LPBINDPROTOCOL_DEFINED */") 713 714/***************************************************************************** 715 * IInternetBindInfo interface 716 */ 717[ 718 local, 719 object, 720 uuid(79EAC9E1-BAF9-11CE-8C82-00AA004BA90B), 721 pointer_default(unique) 722] 723interface IInternetBindInfo : IUnknown 724{ 725 typedef [unique] IInternetBindInfo *LPIINTERNETBINDINFO; 726 727 typedef enum tagBINDSTRING 728 { 729 BINDSTRING_HEADERS = 1, 730 BINDSTRING_ACCEPT_MIMES, 731 BINDSTRING_EXTRA_URL, 732 BINDSTRING_LANGUAGE, 733 BINDSTRING_USERNAME, 734 BINDSTRING_PASSWORD, 735 BINDSTRING_UA_PIXELS, 736 BINDSTRING_UA_COLOR, 737 BINDSTRING_OS, 738 BINDSTRING_USER_AGENT, 739 BINDSTRING_ACCEPT_ENCODINGS, 740 BINDSTRING_POST_COOKIE, 741 BINDSTRING_POST_DATA_MIME, 742 BINDSTRING_URL, 743 BINDSTRING_IID, 744 BINDSTRING_FLAG_BIND_TO_OBJECT, 745 BINDSTRING_PTR_BIND_CONTEXT, 746 BINDSTRING_XDR_ORIGIN, 747 BINDSTRING_DOWNLOADPATH, 748 BINDSTRING_ROOTDOC_URL, 749 BINDSTRING_INITIAL_FILENAME, 750 BINDSTRING_PROXY_USERNAME, 751 BINDSTRING_PROXY_PASSWORD, 752 BINDSTRING_ENTERPRISE_ID 753 } BINDSTRING; 754 755 HRESULT GetBindInfo( 756 [out] DWORD *grfBINDF, 757 [in, out, unique] BINDINFO *pbindinfo); 758 759 HRESULT GetBindString( 760 [in] ULONG ulStringType, 761 [in, out] LPOLESTR *ppwzStr, 762 [in] ULONG cEl, 763 [in, out] ULONG *pcElFetched); 764} 765 766/***************************************************************************** 767 * IInternetPriority interface 768 */ 769[ 770 local, 771 object, 772 uuid(79EAC9EB-BAF9-11CE-8C82-00AA004BA90B), 773 pointer_default(unique) 774] 775interface IInternetPriority : IUnknown 776{ 777 typedef [unique] IInternetPriority *LPIINTERNETPRIORITY; 778 779 HRESULT SetPriority([in] LONG nPriority); 780 HRESULT GetPriority([out] LONG *pnPriority); 781} 782 783/***************************************************************************** 784 * IInternetProtocolRoot interface 785 */ 786[ 787 local, 788 object, 789 uuid(79EAC9E3-BAF9-11CE-8C82-00AA004BA90B), 790 pointer_default(unique) 791] 792interface IInternetProtocolRoot : IUnknown 793{ 794 typedef [unique] IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT; 795 796 typedef enum _tagPI_FLAGS 797 { 798 PI_PARSE_URL = 0x00000001, 799 PI_FILTER_MODE = 0x00000002, 800 PI_FORCE_ASYNC = 0x00000004, 801 PI_USE_WORKERTHREAD = 0x00000008, 802 PI_MIMEVERIFICATION = 0x00000010, 803 PI_CLSIDLOOKUP = 0x00000020, 804 PI_DATAPROGRESS = 0x00000040, 805 PI_SYNCHRONOUS = 0x00000080, 806 PI_APARTMENTTHREADED = 0x00000100, 807 PI_CLASSINSTALL = 0x00000200, 808 PD_FORCE_SWITCH = 0x00010000 809 } PI_FLAGS; 810 811 typedef struct _tagPROTOCOLDATA 812 { 813 DWORD grfFlags; 814 DWORD dwState; 815 LPVOID pData; 816 ULONG cbData; 817 } PROTOCOLDATA; 818 819 HRESULT Start( 820 [in] LPCWSTR szUrl, 821 [in] IInternetProtocolSink *pOIProtSink, 822 [in] IInternetBindInfo *pOIBindInfo, 823 [in] DWORD grfPI, 824 [in] HANDLE_PTR dwReserved); 825 826 HRESULT Continue( 827 [in] PROTOCOLDATA *pProtocolData); 828 829 HRESULT Abort( 830 [in] HRESULT hrReason, 831 [in] DWORD dwOptions); 832 833 HRESULT Terminate( 834 [in] DWORD dwOptions); 835 836 HRESULT Suspend(); 837 838 HRESULT Resume(); 839} 840 841/***************************************************************************** 842 * IInternetProtocolSink interface 843 */ 844[ 845 local, 846 object, 847 uuid(79EAC9E5-BAF9-11CE-8C82-00AA004BA90B), 848 pointer_default(unique) 849] 850interface IInternetProtocolSink : IUnknown 851{ 852 typedef [unique] IInternetProtocolSink *LPIINTERNETPROTOCOLSINK; 853 854 HRESULT Switch( 855 [in] PROTOCOLDATA *pProtocolData); 856 857 HRESULT ReportProgress( 858 [in] ULONG ulStatusCode, 859 [in] LPCWSTR szStatusText); 860 861 HRESULT ReportData( 862 [in] DWORD grfBSCF, 863 [in] ULONG ulProgress, 864 [in] ULONG ulProgressMax); 865 866 HRESULT ReportResult( 867 [in] HRESULT hrResult, 868 [in] DWORD dwError, 869 [in] LPCWSTR szResult); 870} 871 872/***************************************************************************** 873 * IInternetProtocol interface 874 */ 875[ 876 local, 877 object, 878 uuid(79EAC9E4-BAF9-11CE-8C82-00AA004BA90B), 879 pointer_default(unique) 880] 881interface IInternetProtocol : IInternetProtocolRoot 882{ 883 typedef [unique] IInternetProtocol *LPIINTERNETPROTOCOL; 884 885 HRESULT Read( 886 [in,out, size_is(cb), length_is(*pcbRead)] void *pv, 887 [in] ULONG cb, 888 [out] ULONG *pcbRead); 889 890 HRESULT Seek( 891 [in] LARGE_INTEGER dlibMove, 892 [in] DWORD dwOrigin, 893 [out] ULARGE_INTEGER *plibNewPosition); 894 895 HRESULT LockRequest( 896 [in] DWORD dwOptions); 897 898 HRESULT UnlockRequest(); 899} 900 901/***************************************************************************** 902 * IInternetProtocolInfo interface 903 */ 904[ 905 local, 906 object, 907 uuid(79eac9ec-baf9-11ce-8c82-00aa004ba90b), 908 pointer_default(unique) 909] 910interface IInternetProtocolInfo : IUnknown 911{ 912 typedef [unique] IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO; 913 914 typedef enum _tagPARSEACTION 915 { 916 PARSE_CANONICALIZE = 1, 917 PARSE_FRIENDLY, 918 PARSE_SECURITY_URL, 919 PARSE_ROOTDOCUMENT, 920 PARSE_DOCUMENT, 921 PARSE_ANCHOR, 922 PARSE_ENCODE, 923 PARSE_DECODE, 924 PARSE_PATH_FROM_URL, 925 PARSE_URL_FROM_PATH, 926 PARSE_MIME, 927 PARSE_SERVER, 928 PARSE_SCHEMA, 929 PARSE_SITE, 930 PARSE_DOMAIN, 931 PARSE_LOCATION, 932 PARSE_SECURITY_DOMAIN, 933 PARSE_ESCAPE, 934 PARSE_UNESCAPE 935 } PARSEACTION; 936 937 typedef enum _tagPSUACTION 938 { 939 PSU_DEFAULT = 1, 940 PSU_SECURITY_URL_ONLY 941 } PSUACTION; 942 943 typedef enum _tagQUERYOPTION 944 { 945 QUERY_EXPIRATION_DATE = 1, 946 QUERY_TIME_OF_LAST_CHANGE, 947 QUERY_CONTENT_ENCODING, 948 QUERY_CONTENT_TYPE, 949 QUERY_REFRESH, 950 QUERY_RECOMBINE, 951 QUERY_CAN_NAVIGATE, 952 QUERY_USES_NETWORK, 953 QUERY_IS_CACHED, 954 QUERY_IS_INSTALLEDENTRY, 955 QUERY_IS_CACHED_OR_MAPPED, 956 QUERY_USES_CACHE, 957 QUERY_IS_SECURE, 958 QUERY_IS_SAFE, 959 QUERY_USES_HISTORYFOLDER, 960 QUERY_IS_CACHED_AND_USABLE_OFFLINE 961 } QUERYOPTION; 962 963 HRESULT ParseUrl( 964 [in] LPCWSTR pwzUrl, 965 [in] PARSEACTION ParseAction, 966 [in] DWORD dwParseFlags, 967 [out] LPWSTR pwzResult, 968 [in] DWORD cchResult, 969 [out] DWORD *pcchResult, 970 [in] DWORD dwReserved); 971 972 HRESULT CombineUrl( 973 [in] LPCWSTR pwzBaseUrl, 974 [in] LPCWSTR pwzRelativeUrl, 975 [in] DWORD dwCombineFlags, 976 [out] LPWSTR pwzResult, 977 [in] DWORD cchResult, 978 [out] DWORD *pcchResult, 979 [in] DWORD dwReserved); 980 981 HRESULT CompareUrl( 982 [in] LPCWSTR pwzUrl1, 983 [in] LPCWSTR pwzUrl2, 984 [in] DWORD dwCompareFlags); 985 986 HRESULT QueryInfo( 987 [in] LPCWSTR pwzUrl, 988 [in] QUERYOPTION OueryOption, 989 [in] DWORD dwQueryFlags, 990 [in, out,size_is(*pcbBuf)] LPVOID pBuffer, 991 [in] DWORD cbBuffer, 992 [in, out] DWORD *pcbBuf, 993 [in] DWORD dwReserved); 994} 995 996/***************************************************************************** 997 * IInternetSession interface 998 */ 999[ 1000 local, 1001 object, 1002 uuid(79eac9e7-baf9-11ce-8c82-00aa004ba90b), 1003 pointer_default(unique) 1004] 1005interface IInternetSession : IUnknown 1006{ 1007 typedef [unique] IInternetSession *LPIINTERNETSESSION; 1008 1009 typedef enum _tagOIBDG_FLAGS 1010 { 1011 OIBDG_APARTMENTTHREADED = 0x0100, 1012 OIBDG_DATAONLY = 0x1000 1013 } OIBDG_FLAGS; 1014 1015 HRESULT RegisterNameSpace( 1016 [in] IClassFactory *pCF, 1017 [in] REFCLSID rclsid, 1018 [in] LPCWSTR pwzProtocol, 1019 [in] ULONG cPatterns, 1020 [in] const LPCWSTR *ppwzPatterns, 1021 [in] DWORD dwReserved); 1022 1023 HRESULT UnregisterNameSpace( 1024 [in] IClassFactory *pCF, 1025 [in] LPCWSTR pszProtocol); 1026 1027 HRESULT RegisterMimeFilter( 1028 [in] IClassFactory *pCF, 1029 [in] REFCLSID rclsid, 1030 [in] LPCWSTR pwzType); 1031 1032 HRESULT UnregisterMimeFilter( 1033 [in] IClassFactory *pCF, 1034 [in] LPCWSTR pwzType); 1035 1036 HRESULT CreateBinding( 1037 [in] LPBC pBC, 1038 [in] LPCWSTR szUrl, 1039 [in] IUnknown *pUnkOuter, 1040 [out, unique] IUnknown **ppUnk, 1041 [out, unique] IInternetProtocol **ppOInetProt, 1042 [in] DWORD dwOption); 1043 1044 HRESULT SetSessionOption( 1045 [in] DWORD dwOption, 1046 [in] LPVOID pBuffer, 1047 [in] DWORD dwBufferLength, 1048 [in] DWORD dwReserved); 1049} 1050 1051/***************************************************************************** 1052 * IInternetSecurityMgrSite interface 1053 */ 1054[ 1055 local, 1056 object, 1057 uuid(79eac9ed-baf9-11ce-8c82-00aa004ba90b), 1058 pointer_default(unique) 1059] 1060interface IInternetSecurityMgrSite : IUnknown 1061{ 1062 HRESULT GetWindow( 1063 [out] HWND *phwnd); 1064 1065 HRESULT EnableModeless( 1066 [in] BOOL fEnable); 1067} 1068 1069 1070/***************************************************************************** 1071 * IInternetSecurityManager interface 1072 */ 1073cpp_quote("#define SID_SInternetSecurityManager IID_IInternetSecurityManager") 1074 1075[ 1076 object, 1077 uuid(79eac9ee-baf9-11ce-8c82-00aa004ba90b), 1078 pointer_default(unique) 1079] 1080interface IInternetSecurityManager : IUnknown 1081{ 1082 HRESULT SetSecuritySite( 1083 [in, unique] IInternetSecurityMgrSite *pSite); 1084 1085 HRESULT GetSecuritySite( 1086 [out] IInternetSecurityMgrSite **ppSite); 1087 1088 HRESULT MapUrlToZone( 1089 [in] LPCWSTR pwszUrl, 1090 [out] DWORD *pdwZone, 1091 [in] DWORD dwFlags); 1092 1093cpp_quote("#define MAX_SIZE_SECURITY_ID 512") 1094 1095 HRESULT GetSecurityId( 1096 [in] LPCWSTR pwszUrl, 1097 [out, size_is(*pcbSecurityId)] BYTE *pbSecurityId, 1098 [in, out] DWORD *pcbSecurityId, 1099 [in] DWORD_PTR dwReserved); 1100 1101 1102 typedef enum { 1103 PUAF_DEFAULT = 0x00, 1104 PUAF_NOUI = 0x01, 1105 PUAF_ISFILE = 0x02, 1106 PUAF_WARN_IF_DENIED = 0x04, 1107 PUAF_FORCEUI_FOREGROUND = 0x08, 1108 PUAF_CHECK_TIPS = 0x10 1109 } PUAF; 1110 1111 HRESULT ProcessUrlAction( 1112 [in] LPCWSTR pwszUrl, 1113 [in] DWORD dwAction, 1114 [out, size_is(cbPolicy)] BYTE *pPolicy, 1115 [in] DWORD cbPolicy, 1116 [in, unique] BYTE *pContext, 1117 [in] DWORD cbContext, 1118 [in] DWORD dwFlags, 1119 [in] DWORD dwReserved); 1120 1121 HRESULT QueryCustomPolicy( 1122 [in] LPCWSTR pwszUrl, 1123 [in] REFGUID guidKey, 1124 [out, size_is(,*pcbPolicy)] BYTE **ppPolicy, 1125 [out] DWORD *pcbPolicy, 1126 [in] BYTE *pContext, 1127 [in] DWORD cbContext, 1128 [in] DWORD dwReserved); 1129 1130 typedef enum { 1131 SZM_CREATE = 0x0, 1132 SZM_DELETE = 0x1 1133 } SZM_FLAGS; 1134 1135 HRESULT SetZoneMapping( 1136 [in] DWORD dwZone, 1137 [in] LPCWSTR lpszPattern, 1138 [in] DWORD dwFlags); 1139 1140 HRESULT GetZoneMappings( 1141 [in] DWORD dwZone, 1142 [out] IEnumString **ppenumString, 1143 [in] DWORD dwFlags); 1144} 1145 1146/***************************************************************************** 1147 * IInternetSecurityManagerEx interface 1148 */ 1149cpp_quote("#define SID_SInternetSecurityManagerEx IID_IInternetSecurityManagerEx") 1150 1151[ 1152 object, 1153 uuid(f164edf1-cc7c-4f0d-9a94-34222625C393), 1154 pointer_default(unique) 1155] 1156interface IInternetSecurityManagerEx : IInternetSecurityManager 1157{ 1158 HRESULT ProcessUrlActionEx( 1159 [in] LPCWSTR pwszUrl, 1160 [in] DWORD dwAction, 1161 [out, size_is(cbPolicy)] BYTE *pPolicy, 1162 [in] DWORD cbPolicy, 1163 [in] BYTE *pContext, 1164 [in] DWORD cbContext, 1165 [in] DWORD dwFlags, 1166 [in] DWORD dwReserved, 1167 [out] DWORD *pdwOutFlags); 1168} 1169 1170/***************************************************************************** 1171 * IInternetSecurityManagerEx2 interface 1172 */ 1173cpp_quote("#define SID_SInternetSecurityManagerEx2 IID_IInternetSecurityManagerEx2") 1174 1175[ 1176 object, 1177 uuid(f1e50292-a795-4117-8e09-2b560a72ac60), 1178 pointer_default(unique) 1179] 1180interface IInternetSecurityManagerEx2 : IInternetSecurityManagerEx 1181{ 1182 HRESULT MapUrlToZoneEx2( 1183 [in] IUri *pUri, 1184 [out] DWORD *pdwZone, 1185 [in] DWORD dwFlags, 1186 [out] LPWSTR *ppwszMappedUrl, 1187 [out] DWORD *pdwOutFlags); 1188 1189 HRESULT ProcessUrlActionEx2( 1190 [in] IUri *pUri, 1191 [in] DWORD dwAction, 1192 [out, size_is(cbPolicy)] BYTE *pPolicy, 1193 [in] DWORD cbPolicy, 1194 [in, unique] BYTE *pContext, 1195 [in] DWORD cbContext, 1196 [in] DWORD dwFlags, 1197 [in] DWORD_PTR dwReserved, 1198 [out] DWORD *pdwOutFlags); 1199 1200 HRESULT GetSecurityIdEx2( 1201 [in] IUri *pUri, 1202 [out, size_is(*pcbSecurityId)] BYTE *pbSecurityId, 1203 [in, out] DWORD *pcbSecurityId, 1204 [in] DWORD_PTR dwReserved); 1205 1206 HRESULT QueryCustomPolicyEx2( 1207 [in] IUri *pUri, 1208 [in] REFGUID guidKey, 1209 [out, size_is(,*pcbPolicy)] BYTE **ppPolicy, 1210 [out] DWORD *pcbPolicy, 1211 [in] BYTE *pContext, 1212 [in] DWORD cbContext, 1213 [in] DWORD_PTR dwReserved); 1214} 1215 1216/***************************************************************************** 1217 * IInternetHostSecurityManager interface 1218 */ 1219cpp_quote("#define SID_SInternetHostSecurityManager IID_IInternetHostSecurityManager") 1220 1221[ 1222 local, 1223 object, 1224 uuid(3af280b6-cb3f-11d0-891e-00c04fb6bfc4), 1225 pointer_default(unique) 1226] 1227interface IInternetHostSecurityManager : IUnknown 1228{ 1229 HRESULT GetSecurityId( 1230 [out, size_is(*pcbSecurityId)] BYTE *pbSecurityId, 1231 [in, out] DWORD *pcbSecurityId, 1232 [in] DWORD_PTR dwReserved); 1233 1234 HRESULT ProcessUrlAction( 1235 [in] DWORD dwAction, 1236 [out, size_is(cbPolicy)] BYTE *pPolicy, 1237 [in] DWORD cbPolicy, 1238 [in] BYTE *pContext, 1239 [in] DWORD cbContext, 1240 [in] DWORD dwFlags, 1241 [in] DWORD dwReserved); 1242 1243 HRESULT QueryCustomPolicy( 1244 [in] REFGUID guidKey, 1245 [out, size_is(,*pcbPolicy)] BYTE **ppPolicy, 1246 [out] DWORD *pcbPolicy, 1247 [in] BYTE *pContext, 1248 [in] DWORD cbContext, 1249 [in] DWORD dwReserved); 1250} 1251 1252cpp_quote("#define URLACTION_MIN 0x00001000") 1253cpp_quote("#define URLACTION_DOWNLOAD_MIN 0x00001000") 1254cpp_quote("#define URLACTION_DOWNLOAD_SIGNED_ACTIVEX 0x00001001") 1255cpp_quote("#define URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX 0x00001004") 1256cpp_quote("#define URLACTION_DOWNLOAD_CURR_MAX 0x00001004") 1257cpp_quote("#define URLACTION_DOWNLOAD_MAX 0x000011ff") 1258 1259cpp_quote("#define URLACTION_ACTIVEX_MIN 0x00001200") 1260cpp_quote("#define URLACTION_ACTIVEX_RUN 0x00001200") 1261cpp_quote("#define URLPOLICY_ACTIVEX_CHECK_LIST 0x00010000") 1262cpp_quote("#define URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY 0x00001201") 1263cpp_quote("#define URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY 0x00001202") 1264cpp_quote("#define URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY 0x00001203") 1265cpp_quote("#define URLACTION_SCRIPT_OVERRIDE_SAFETY 0x00001401") 1266cpp_quote("#define URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY 0x00001204") 1267cpp_quote("#define URLACTION_ACTIVEX_TREATASUNTRUSTED 0x00001205") 1268cpp_quote("#define URLACTION_ACTIVEX_CURR_MAX 0x00001205") 1269cpp_quote("#define URLACTION_ACTIVEX_MAX 0x000013ff") 1270 1271cpp_quote("#define URLACTION_SCRIPT_MIN 0x00001400") 1272cpp_quote("#define URLACTION_SCRIPT_RUN 0x00001400") 1273cpp_quote("#define URLACTION_SCRIPT_JAVA_USE 0x00001402") 1274cpp_quote("#define URLACTION_SCRIPT_SAFE_ACTIVEX 0x00001405") 1275cpp_quote("#define URLACTION_CROSS_DOMAIN_DATA 0x00001406") 1276cpp_quote("#define URLACTION_SCRIPT_PASTE 0x00001407") 1277cpp_quote("#define URLACTION_SCRIPT_CURR_MAX 0x00001407") 1278cpp_quote("#define URLACTION_SCRIPT_MAX 0x000015ff") 1279 1280cpp_quote("#define URLACTION_HTML_MIN 0x00001600") 1281cpp_quote("#define URLACTION_HTML_SUBMIT_FORMS 0x00001601") 1282cpp_quote("#define URLACTION_HTML_SUBMIT_FORMS_FROM 0x00001602") 1283cpp_quote("#define URLACTION_HTML_SUBMIT_FORMS_TO 0x00001603") 1284cpp_quote("#define URLACTION_HTML_FONT_DOWNLOAD 0x00001604") 1285cpp_quote("#define URLACTION_HTML_JAVA_RUN 0x00001605") 1286cpp_quote("#define URLACTION_HTML_USERDATA_SAVE 0x00001606") 1287cpp_quote("#define URLACTION_HTML_SUBFRAME_NAVIGATE 0x00001607") 1288cpp_quote("#define URLACTION_HTML_META_REFRESH 0x00001608") 1289cpp_quote("#define URLACTION_HTML_MIXED_CONTENT 0x00001609") 1290cpp_quote("#define URLACTION_HTML_MAX 0x000017ff") 1291 1292cpp_quote("#define URLACTION_SHELL_MIN 0x00001800") 1293cpp_quote("#define URLACTION_SHELL_INSTALL_DTITEMS 0x00001800") 1294cpp_quote("#define URLACTION_SHELL_MOVE_OR_COPY 0x00001802") 1295cpp_quote("#define URLACTION_SHELL_FILE_DOWNLOAD 0x00001803") 1296cpp_quote("#define URLACTION_SHELL_VERB 0x00001804") 1297cpp_quote("#define URLACTION_SHELL_WEBVIEW_VERB 0x00001805") 1298cpp_quote("#define URLACTION_SHELL_CURR_MAX 0x00001805") 1299cpp_quote("#define URLACTION_SHELL_MAX 0x000019ff") 1300 1301cpp_quote("#define URLACTION_NETWORK_MIN 0x00001a00") 1302cpp_quote("#define URLACTION_CREDENTIALS_USE 0x00001a00") 1303cpp_quote("#define URLACTION_AUTHENTICATE_CLIENT 0x00001a01") 1304cpp_quote("#define URLACTION_COOKIES 0x00001a02") 1305cpp_quote("#define URLACTION_COOKIES_SESSION 0x00001a03") 1306cpp_quote("#define URLACTION_CLIENT_CERT_PROMPT 0x00001a04") 1307cpp_quote("#define URLACTION_COOKIES_THIRD_PARTY 0x00001a05") 1308cpp_quote("#define URLACTION_COOKIES_SESSION_THIRD_PARTY 0x00001a06") 1309cpp_quote("#define URLACTION_COOKIES_ENABLED 0x00001a10") 1310cpp_quote("#define URLACTION_NETWORK_CURR_MAX 0x00001a10") 1311cpp_quote("#define URLACTION_NETWORK_MAX 0x00001bff") 1312 1313cpp_quote("#define URLACTION_JAVA_MIN 0x00001c00") 1314cpp_quote("#define URLACTION_JAVA_PERMISSIONS 0x00001c00") 1315cpp_quote("#define URLPOLICY_JAVA_PROHIBIT 0x00000000") 1316cpp_quote("#define URLPOLICY_JAVA_HIGH 0x00010000") 1317cpp_quote("#define URLPOLICY_JAVA_MEDIUM 0x00020000") 1318cpp_quote("#define URLPOLICY_JAVA_LOW 0x00030000") 1319cpp_quote("#define URLPOLICY_JAVA_CUSTOM 0x00800000") 1320cpp_quote("#define URLACTION_JAVA_CURR_MAX 0x00001c00") 1321cpp_quote("#define URLACTION_JAVA_MAX 0x00001cff") 1322 1323cpp_quote("#define URLACTION_INFODELIVERY_MIN 0x00001d00") 1324cpp_quote("#define URLACTION_INFODELIVERY_NO_ADDING_CHANNELS 0x00001d00") 1325cpp_quote("#define URLACTION_INFODELIVERY_NO_EDITING_CHANNELS 0x00001d01") 1326cpp_quote("#define URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS 0x00001d02") 1327cpp_quote("#define URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS 0x00001d03") 1328cpp_quote("#define URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS 0x00001d04") 1329cpp_quote("#define URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS 0x00001d05") 1330cpp_quote("#define URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING 0x00001d06") 1331cpp_quote("#define URLACTION_INFODELIVERY_CURR_MAX 0x00001d06") 1332cpp_quote("#define URLACTION_INFODELIVERY_MAX 0x00001dff") 1333 1334cpp_quote("#define URLACTION_CHANNEL_SOFTDIST_MIN 0x00001e00") 1335cpp_quote("#define URLACTION_CHANNEL_SOFTDIST_PERMISSIONS 0x00001e05") 1336cpp_quote("#define URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT 0x00010000") 1337cpp_quote("#define URLPOLICY_CHANNEL_SOFTDIST_PRECACHE 0x00020000") 1338cpp_quote("#define URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL 0x00030000") 1339cpp_quote("#define URLACTION_CHANNEL_SOFTDIST_MAX 0x00001eff") 1340 1341cpp_quote("#define URLACTION_BEHAVIOR_MIN 0x00002000") 1342cpp_quote("#define URLACTION_BEHAVIOR_RUN 0x00002000") 1343cpp_quote("#define URLPOLICY_BEHAVIOR_CHECK_LIST 0x00010000") 1344 1345cpp_quote("#define URLACTION_FEATURE_MIN 0x00002100") 1346cpp_quote("#define URLACTION_FEATURE_MIME_SNIFFING 0x00002100") 1347cpp_quote("#define URLACTION_FEATURE_ZONE_ELEVATION 0x00002101") 1348cpp_quote("#define URLACTION_FEATURE_WINDOW_RESTRICTIONS 0x00002102") 1349cpp_quote("#define URLACTION_FEATURE_SCRIPT_STATUS_BAR 0x00002103") 1350cpp_quote("#define URLACTION_FEATURE_FORCE_ADDR_AND_STATUS 0x00002104") 1351cpp_quote("#define URLACTION_FEATURE_BLOCK_INPUT_PROMPTS 0x00002105") 1352 1353cpp_quote("#define URLPOLICY_ALLOW 0x00") 1354cpp_quote("#define URLPOLICY_QUERY 0x01") 1355cpp_quote("#define URLPOLICY_DISALLOW 0x03") 1356 1357cpp_quote("#define URLPOLICY_NOTIFY_ON_ALLOW 0x10") 1358cpp_quote("#define URLPOLICY_NOTIFY_ON_DISALLOW 0x20") 1359 1360cpp_quote("#define URLPOLICY_LOG_ON_ALLOW 0x40") 1361cpp_quote("#define URLPOLICY_LOG_ON_DISALLOW 0x80") 1362 1363cpp_quote("#define URLPOLICY_DONTCHECKDLGBOX 0x100") 1364 1365cpp_quote("#define URLPOLICY_CREDENTIALS_SILENT_LOGON_OK 0x00000000") 1366cpp_quote("#define URLPOLICY_CREDENTIALS_MUST_PROMPT_USER 0x00010000") 1367cpp_quote("#define URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT 0x00020000") 1368cpp_quote("#define URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY 0x00030000") 1369 1370cpp_quote("#define URLPOLICY_AUTHENTICATE_CLEARTEXT_OK 0x00000000") 1371cpp_quote("#define URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE 0x00010000") 1372cpp_quote("#define URLPOLICY_AUTHENTICATE_MUTUAL_ONLY 0x00030000") 1373 1374cpp_quote("#define URLPOLICY_MASK_PERMISSIONS 0x0f") 1375cpp_quote("#define GetUrlPolicyPermissions(dw) (dw & URLPOLICY_MASK_PERMISSIONS)") 1376cpp_quote("#define SetUrlPolicyPermissions(dw,dw2) ((dw) = ((dw) & ~URLPOLICY_MASK_PERMISSIONS) | (dw2))") 1377 1378/***************************************************************************** 1379 * IInternetZoneManager interface 1380 */ 1381[ 1382 local, 1383 object, 1384 uuid(79EAC9EF-BAf9-11CE-8C82-00AA004BA90B), 1385 pointer_default(unique) 1386] 1387interface IInternetZoneManager : IUnknown 1388{ 1389 typedef [unique] IInternetZoneManager* LPURLZONEMANAGER; 1390 1391 typedef enum tagURLZONE 1392 { 1393 URLZONE_INVALID = -1, 1394 URLZONE_PREDEFINED_MIN = 0, 1395 URLZONE_LOCAL_MACHINE = 0, 1396 URLZONE_INTRANET = 1, 1397 URLZONE_TRUSTED = 2, 1398 URLZONE_INTERNET = 3, 1399 URLZONE_UNTRUSTED = 4, 1400 URLZONE_PREDEFINED_MAX = 999, 1401 URLZONE_USER_MIN = 1000, 1402 URLZONE_USER_MAX = 10000, 1403 } URLZONE; 1404 1405 typedef enum tagURLTEMPLATE 1406 { 1407 URLTEMPLATE_CUSTOM = 0x00000, 1408 URLTEMPLATE_PREDEFINED_MIN = 0x10000, 1409 URLTEMPLATE_LOW = 0x10000, 1410 URLTEMPLATE_MEDLOW = 0x10500, 1411 URLTEMPLATE_MEDIUM = 0x11000, 1412 URLTEMPLATE_MEDHIGH = 0x11500, 1413 URLTEMPLATE_HIGH = 0x12000, 1414 URLTEMPLATE_PREDEFINED_MAX = 0x20000, 1415 } URLTEMPLATE ; 1416 1417 typedef enum { 1418 ZAFLAGS_CUSTOM_EDIT = 0x00000001, 1419 ZAFLAGS_ADD_SITES = 0x00000002, 1420 ZAFLAGS_REQUIRE_VERIFICATION = 0x00000004, 1421 ZAFLAGS_INCLUDE_PROXY_OVERRIDE = 0x00000008, 1422 ZAFLAGS_INCLUDE_INTRANET_SITES = 0x00000010, 1423 ZAFLAGS_NO_UI = 0x00000020, 1424 ZAFLAGS_SUPPORTS_VERIFICATION = 0x00000040, 1425 ZAFLAGS_UNC_AS_INTRANET = 0x00000080, 1426 ZAFLAGS_DETECT_INTRANET = 0x00000100, 1427 ZAFLAGS_USE_LOCKED_ZONES = 0x00010000, 1428 ZAFLAGS_VERIFY_TEMPLATE_SETTINGS = 0x00020000, 1429 ZAFLAGS_NO_CACHE = 0x00040000, 1430 } ZAFLAGS ; 1431 1432 enum { 1433 MAX_ZONE_PATH = 260, 1434 MAX_ZONE_DESCRIPTION = 200 1435 }; 1436 1437 typedef struct _ZONEATTRIBUTES { 1438 ULONG cbSize; 1439 WCHAR szDisplayName[MAX_ZONE_PATH]; 1440 WCHAR szDescription[MAX_ZONE_DESCRIPTION]; 1441 WCHAR szIconPath[MAX_ZONE_PATH]; 1442 DWORD dwTemplateMinLevel; 1443 DWORD dwTemplateRecommended; 1444 DWORD dwTemplateCurrentLevel; 1445 DWORD dwFlags; 1446 } ZONEATTRIBUTES, *LPZONEATTRIBUTES; 1447 1448 typedef enum _URLZONEREG { 1449 URLZONEREG_DEFAULT, 1450 URLZONEREG_HKLM, 1451 URLZONEREG_HKCU 1452 } URLZONEREG; 1453 1454 HRESULT GetZoneAttributes( 1455 [in] DWORD dwZone, 1456 [in, out, unique] ZONEATTRIBUTES* pZoneAttributes); 1457 1458 HRESULT SetZoneAttributes( 1459 [in] DWORD dwZone, 1460 [in] ZONEATTRIBUTES* pZoneAttributes); 1461 1462 HRESULT GetZoneCustomPolicy( 1463 [in] DWORD dwZone, 1464 [in] REFGUID guidKey, 1465 [out, size_is(,*pcbPolicy)] BYTE **ppPolicy, 1466 [out] DWORD* pcbPolicy, 1467 [in] URLZONEREG ulrZoneReg); 1468 1469 HRESULT SetZoneCustomPolicy( 1470 [in] DWORD dwZone, 1471 [in] REFGUID guidKey, 1472 [in, size_is(pcbPolicy)] BYTE *ppPolicy, 1473 [in] DWORD pcbPolicy, 1474 [in] URLZONEREG ulrZoneReg); 1475 1476 HRESULT GetZoneActionPolicy( 1477 [in] DWORD dwZone, 1478 [in] DWORD dwAction, 1479 [out, size_is(cbPolicy)] BYTE* pPolicy, 1480 [in] DWORD cbPolicy, 1481 [in] URLZONEREG urlZoneReg); 1482 1483 HRESULT SetZoneActionPolicy( 1484 [in] DWORD dwZone, 1485 [in] DWORD dwAction, 1486 [in, size_is(cbPolicy)] BYTE* pPolicy, 1487 [in] DWORD cbPolicy, 1488 [in] URLZONEREG urlZoneReg); 1489 1490 HRESULT PromptAction( 1491 [in] DWORD dwAction, 1492 [in] HWND hwndParent, 1493 [in] LPCWSTR pwszUrl, 1494 [in] LPCWSTR pwszText, 1495 [in] DWORD dwPromptFlags ); 1496 1497 HRESULT LogAction( 1498 [in] DWORD dwAction, 1499 [in] LPCWSTR pwszUrl, 1500 [in] LPCWSTR pwszText, 1501 [in] DWORD dwLogFlags); 1502 1503 HRESULT CreateZoneEnumerator( 1504 [out] DWORD* pdwEnum, 1505 [out] DWORD* pdwCount, 1506 [in] DWORD dwFlags); 1507 1508 HRESULT GetZoneAt( 1509 [in] DWORD dwEnum, 1510 [in] DWORD dwIndex, 1511 [out] DWORD* pdwZone); 1512 1513 HRESULT DestroyZoneEnumerator( 1514 [in] DWORD dwEnum); 1515 1516 HRESULT CopyTemplatePoliciesToZone( 1517 [in] DWORD dwTemplate, 1518 [in] DWORD dwZone, 1519 [in] DWORD dwReserved); 1520} 1521 1522/***************************************************************************** 1523 * IInternetZoneManagerEx interface 1524 */ 1525[ 1526 local, 1527 object, 1528 uuid(A4C23339-8E06-431E-9BF4-7E711C085648), 1529 pointer_default(unique) 1530] 1531interface IInternetZoneManagerEx : IInternetZoneManager 1532{ 1533 HRESULT GetZoneActionPolicyEx( 1534 [in] DWORD dwZone, 1535 [in] DWORD dwAction, 1536 [out, size_is(cbPolicy)] BYTE *pPolicy, 1537 [in] DWORD cbPolicy, 1538 [in] URLZONEREG urlZoneReg, 1539 [in] DWORD dwFlags); 1540 1541 HRESULT SetZoneActionPolicyEx( 1542 [in] DWORD dwZone, 1543 [in] DWORD dwAction, 1544 [in, size_is(cbPolicy)] BYTE *pPolicy, 1545 [in] DWORD cbPolicy, 1546 [in] URLZONEREG urlZoneReg, 1547 [in] DWORD dwFlags); 1548 1549} 1550 1551/***************************************************************************** 1552 * IInternetZoneManagerEx2 interface 1553 */ 1554 1555cpp_quote("#define SECURITY_IE_STATE_GREEN 0") 1556cpp_quote("#define SECURITY_IE_STATE_RED 1") 1557 1558[ 1559 local, 1560 object, 1561 uuid(EDC17559-DD5D-4846-8EEF-8BECBA5A4ABF), 1562 pointer_default(unique) 1563] 1564interface IInternetZoneManagerEx2 : IInternetZoneManagerEx 1565{ 1566 HRESULT GetZoneAttributesEx( 1567 [in] DWORD dwZone, 1568 [in, out, unique] ZONEATTRIBUTES* pZoneAttributes, 1569 [in] DWORD dwFlags); 1570 1571 HRESULT GetZoneSecurityState( 1572 [in] DWORD dwZoneIndex, 1573 [in] BOOL fRespectPolicy, 1574 [in, out] LPDWORD pdwState, 1575 [in, out] BOOL *pfPolicyEncountered); 1576 1577 HRESULT GetIESecurityState( 1578 [in] BOOL fRespectPolicy, 1579 [in, out] LPDWORD pdwState, 1580 [in, out] BOOL *pfPolicyEncountered, 1581 [in] BOOL fNoCache); 1582 1583 HRESULT FixInsecureSettings(void); 1584 1585} 1586 1587 1588typedef struct _tagSOFTDISTINFO 1589{ 1590 ULONG cbSize; 1591 DWORD dwFlags; 1592 DWORD dwAdState; 1593 LPWSTR szTitle; 1594 LPWSTR szAbstract; 1595 LPWSTR szHREF; 1596 DWORD dwInstalledVersionMS; 1597 DWORD dwInstalledVersionLS; 1598 DWORD dwUpdateVersionMS; 1599 DWORD dwUpdateVersionLS; 1600 DWORD dwAdvertisedVersionMS; 1601 DWORD dwAdvertisedVersionLS; 1602 DWORD dwReserved; 1603} SOFTDISTINFO, *LPSOFTDISTINFO; 1604 1605typedef struct _tagCODEBASEHOLD 1606{ 1607 DWORD cbSize; 1608 LPWSTR szDistUnit; 1609 LPWSTR szCodeBase; 1610 DWORD dwVersionMS; 1611 DWORD dwVersionLS; 1612 DWORD dwStyle; 1613} CODEBASEHOLD, *LPCODEBASEHOLD; 1614 1615[ 1616 local, 1617 object, 1618 uuid(b15b8dc1-c7e1-11d0-8680-00aa00bdcb71), 1619 pointer_default(unique) 1620] 1621interface ISoftDistExt : IUnknown 1622{ 1623 HRESULT ProcessSoftDist( 1624 [in] LPCWSTR szCDFURL, 1625 [in] IXMLElement *pSoftDistElement, 1626 [in, out] LPSOFTDISTINFO lpsdi ); 1627 1628 HRESULT GetFirstCodeBase( 1629 [in] LPWSTR *szCodeBase, 1630 [in] LPDWORD dwMaxSize ); 1631 1632 HRESULT GetNextCodeBase( 1633 [in] LPWSTR *szCodeBase, 1634 [in] LPDWORD dwMaxSize ); 1635 1636 HRESULT AsyncInstallDistributionUnit( 1637 [in] IBindCtx *pbc, 1638 [in] LPVOID lpReserved, 1639 [in] DWORD flags, 1640 [in] LPCODEBASEHOLD lpcbh); 1641} 1642 1643typedef enum _tagINTERNETFEATURELIST 1644{ 1645 FEATURE_OBJECT_CACHING, 1646 FEATURE_ZONE_ELEVATION, 1647 FEATURE_MIME_HANDLING, 1648 FEATURE_MIME_SNIFFING, 1649 FEATURE_WINDOW_RESTRICTIONS, 1650 FEATURE_WEBOC_POPUPMANAGEMENT, 1651 FEATURE_BEHAVIORS, 1652 FEATURE_DISABLE_MK_PROTOCOL, 1653 FEATURE_LOCALMACHINE_LOCKDOWN, 1654 FEATURE_SECURITYBAND, 1655 FEATURE_RESTRICT_ACTIVEXINSTALL, 1656 FEATURE_VALIDATE_NAVIGATE_URL, 1657 FEATURE_RESTRICT_FILEDOWNLOAD, 1658 FEATURE_ADDON_MANAGEMENT, 1659 FEATURE_PROTOCOL_LOCKDOWN, 1660 FEATURE_HTTP_USERNAME_PASSWORD_DISABLE, 1661 FEATURE_SAFE_BINDTOOBJECT, 1662 FEATURE_UNC_SAVEDFILECHECK, 1663 FEATURE_GET_URL_DOM_FILEPATH_UNENCODED, 1664 FEATURE_TABBED_BROWSING, 1665 FEATURE_SSLUX, 1666 FEATURE_DISABLE_NAVIGATION_SOUNDS, 1667 FEATURE_DISABLE_LEGACY_COMPRESSION, 1668 FEATURE_FORCE_ADDR_AND_STATUS, 1669 FEATURE_XMLHTTP, 1670 FEATURE_DISABLE_TELNET_PROTOCOL, 1671 FEATURE_FEEDS, 1672 FEATURE_BLOCK_INPUT_PROMPTS, 1673 FEATURE_ENTRY_COUNT 1674} INTERNETFEATURELIST; 1675 1676cpp_quote("#define SET_FEATURE_ON_THREAD 0x00000001") 1677cpp_quote("#define SET_FEATURE_ON_PROCESS 0x00000002") 1678cpp_quote("#define SET_FEATURE_IN_REGISTRY 0x00000004") 1679cpp_quote("#define SET_FEATURE_ON_THREAD_LOCALMACHINE 0x00000008") 1680cpp_quote("#define SET_FEATURE_ON_THREAD_INTRANET 0x00000010") 1681cpp_quote("#define SET_FEATURE_ON_THREAD_TRUSTED 0x00000020") 1682cpp_quote("#define SET_FEATURE_ON_THREAD_INTERNET 0x00000040") 1683cpp_quote("#define SET_FEATURE_ON_THREAD_RESTRICTED 0x00000080") 1684 1685cpp_quote("#define GET_FEATURE_FROM_THREAD 0x00000001") 1686cpp_quote("#define GET_FEATURE_FROM_PROCESS 0x00000002") 1687cpp_quote("#define GET_FEATURE_FROM_REGISTRY 0x00000004") 1688cpp_quote("#define GET_FEATURE_FROM_THREAD_LOCALMACHINE 0x00000008") 1689cpp_quote("#define GET_FEATURE_FROM_THREAD_INTRANET 0x00000010") 1690cpp_quote("#define GET_FEATURE_FROM_THREAD_TRUSTED 0x00000020") 1691cpp_quote("#define GET_FEATURE_FROM_THREAD_INTERNET 0x00000040") 1692cpp_quote("#define GET_FEATURE_FROM_THREAD_RESTRICTED 0x00000080") 1693 1694typedef struct _tagPROTOCOLFILTERDATA { 1695 DWORD cbSize; 1696 IInternetProtocolSink *pProtocolSink; 1697 IInternetProtocol *pProtocol; 1698 IUnknown *pUnk; 1699 DWORD dwFilterFlags; 1700} PROTOCOLFILTERDATA; 1701 1702/***************************************************************************** 1703 * IUri interface 1704 */ 1705[ 1706 object, 1707 uuid(a39ee748-6a27-4817-a6f2-13914bef5890), 1708 pointer_default(unique) 1709] 1710interface IUri : IUnknown 1711{ 1712 typedef enum 1713 { 1714 Uri_PROPERTY_ABSOLUTE_URI = 0, 1715 Uri_PROPERTY_STRING_START = Uri_PROPERTY_ABSOLUTE_URI, 1716 Uri_PROPERTY_AUTHORITY = 1, 1717 Uri_PROPERTY_DISPLAY_URI = 2, 1718 Uri_PROPERTY_DOMAIN = 3, 1719 Uri_PROPERTY_EXTENSION = 4, 1720 Uri_PROPERTY_FRAGMENT = 5, 1721 Uri_PROPERTY_HOST = 6, 1722 Uri_PROPERTY_PASSWORD = 7, 1723 Uri_PROPERTY_PATH = 8, 1724 Uri_PROPERTY_PATH_AND_QUERY = 9, 1725 Uri_PROPERTY_QUERY = 10, 1726 Uri_PROPERTY_RAW_URI = 11, 1727 Uri_PROPERTY_SCHEME_NAME = 12, 1728 Uri_PROPERTY_USER_INFO = 13, 1729 Uri_PROPERTY_USER_NAME = 14, 1730 Uri_PROPERTY_STRING_LAST = Uri_PROPERTY_USER_NAME, 1731 Uri_PROPERTY_HOST_TYPE = 15, 1732 Uri_PROPERTY_DWORD_START = Uri_PROPERTY_HOST_TYPE, 1733 Uri_PROPERTY_PORT = 16, 1734 Uri_PROPERTY_SCHEME = 17, 1735 Uri_PROPERTY_ZONE = 18, 1736 Uri_PROPERTY_DWORD_LAST = Uri_PROPERTY_ZONE 1737 } Uri_PROPERTY; 1738 1739 typedef enum 1740 { 1741 Uri_HOST_UNKNOWN = 0, 1742 Uri_HOST_DNS = 1, 1743 Uri_HOST_IPV4 = 2, 1744 Uri_HOST_IPV6 = 3, 1745 Uri_HOST_IDN = 4 1746 } Uri_HOST_TYPE; 1747 1748 HRESULT GetPropertyBSTR( 1749 [in] Uri_PROPERTY uriProp, 1750 [out] BSTR *pbstrProperty, 1751 [in] DWORD dwFlags); 1752 1753 HRESULT GetPropertyLength( 1754 [in] Uri_PROPERTY uriProp, 1755 [out] DWORD *pcchProperty, 1756 [in] DWORD dwFlags); 1757 1758 HRESULT GetPropertyDWORD( 1759 [in] Uri_PROPERTY uriProp, 1760 [out] DWORD *pdwProperty, 1761 [in] DWORD dwFlags); 1762 1763 HRESULT HasProperty( 1764 [in] Uri_PROPERTY uriProp, 1765 [out] BOOL *pfHasProperty); 1766 1767 HRESULT GetAbsoluteUri( 1768 [out] BSTR *pbstrAbsoluteUri); 1769 1770 HRESULT GetAuthority( 1771 [out] BSTR *pbstrAuthority); 1772 1773 HRESULT GetDisplayUri( 1774 [out] BSTR *pbstrDisplayString); 1775 1776 HRESULT GetDomain( 1777 [out] BSTR *pbstrDomain); 1778 1779 HRESULT GetExtension( 1780 [out] BSTR *pbstrExtension); 1781 1782 HRESULT GetFragment( 1783 [out] BSTR *pbstrFragment); 1784 1785 HRESULT GetHost( 1786 [out] BSTR *pbstrHost); 1787 1788 HRESULT GetPassword( 1789 [out] BSTR *pbstrPassword); 1790 1791 HRESULT GetPath( 1792 [out] BSTR *pbstrPath); 1793 1794 HRESULT GetPathAndQuery( 1795 [out] BSTR *pbstrPathAndQuery); 1796 1797 HRESULT GetQuery( 1798 [out] BSTR *pbstrQuery); 1799 1800 HRESULT GetRawUri( 1801 [out] BSTR *pbstrRawUri); 1802 1803 HRESULT GetSchemeName( 1804 [out] BSTR *pbstrSchemeName); 1805 1806 HRESULT GetUserInfo( 1807 [out] BSTR *pbstrUserInfo); 1808 1809 HRESULT GetUserName( 1810 [out] BSTR *pbstrUserName); 1811 1812 HRESULT GetHostType( 1813 [out] DWORD *pdwHostType); 1814 1815 HRESULT GetPort( 1816 [out] DWORD *pdwPort); 1817 1818 HRESULT GetScheme( 1819 [out] DWORD *pdwScheme); 1820 1821 HRESULT GetZone( 1822 [out] DWORD *pdwZone); 1823 1824 HRESULT GetProperties( 1825 [out] LPDWORD pdwFlags); 1826 1827 HRESULT IsEqual( 1828 [in] IUri *pUri, 1829 [out] BOOL *pfEqual); 1830} 1831 1832cpp_quote("HRESULT WINAPI CreateUri(LPCWSTR,DWORD,DWORD_PTR,IUri**);") 1833cpp_quote("HRESULT WINAPI CreateUriWithFragment(LPCWSTR,LPCWSTR,DWORD,DWORD_PTR,IUri**);") 1834cpp_quote("HRESULT WINAPI CreateUriFromMultiByteString(LPCSTR,DWORD,DWORD,DWORD,DWORD_PTR,IUri**);") 1835 1836cpp_quote("#define Uri_HAS_ABSOLUTE_URI (1 << Uri_PROPERTY_ABSOLUTE_URI)") 1837cpp_quote("#define Uri_HAS_AUTHORITY (1 << Uri_PROPERTY_AUTHORITY)") 1838cpp_quote("#define Uri_HAS_DISPLAY_URI (1 << Uri_PROPERTY_DISPLAY_URI)") 1839cpp_quote("#define Uri_HAS_DOMAIN (1 << Uri_PROPERTY_DOMAIN)") 1840cpp_quote("#define Uri_HAS_EXTENSION (1 << Uri_PROPERTY_EXTENSION)") 1841cpp_quote("#define Uri_HAS_FRAGMENT (1 << Uri_PROPERTY_FRAGMENT)") 1842cpp_quote("#define Uri_HAS_HOST (1 << Uri_PROPERTY_HOST)") 1843cpp_quote("#define Uri_HAS_PASSWORD (1 << Uri_PROPERTY_PASSWORD)") 1844cpp_quote("#define Uri_HAS_PATH (1 << Uri_PROPERTY_PATH)") 1845cpp_quote("#define Uri_HAS_QUERY (1 << Uri_PROPERTY_QUERY)") 1846cpp_quote("#define Uri_HAS_RAW_URI (1 << Uri_PROPERTY_RAW_URI)") 1847cpp_quote("#define Uri_HAS_SCHEME_NAME (1 << Uri_PROPERTY_SCHEME_NAME)") 1848cpp_quote("#define Uri_HAS_USER_NAME (1 << Uri_PROPERTY_USER_NAME)") 1849cpp_quote("#define Uri_HAS_PATH_AND_QUERY (1 << Uri_PROPERTY_PATH_AND_QUERY)") 1850cpp_quote("#define Uri_HAS_USER_INFO (1 << Uri_PROPERTY_USER_INFO)") 1851cpp_quote("#define Uri_HAS_HOST_TYPE (1 << Uri_PROPERTY_HOST_TYPE)") 1852cpp_quote("#define Uri_HAS_PORT (1 << Uri_PROPERTY_PORT)") 1853cpp_quote("#define Uri_HAS_SCHEME (1 << Uri_PROPERTY_SCHEME)") 1854cpp_quote("#define Uri_HAS_ZONE (1 << Uri_PROPERTY_ZONE)") 1855 1856cpp_quote("#define Uri_CREATE_ALLOW_RELATIVE 0x0001") 1857cpp_quote("#define Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME 0x0002") 1858cpp_quote("#define Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME 0x0004") 1859cpp_quote("#define Uri_CREATE_NOFRAG 0x0008") 1860cpp_quote("#define Uri_CREATE_NO_CANONICALIZE 0x0010") 1861cpp_quote("#define Uri_CREATE_CANONICALIZE 0x0100") 1862cpp_quote("#define Uri_CREATE_FILE_USE_DOS_PATH 0x0020") 1863cpp_quote("#define Uri_CREATE_DECODE_EXTRA_INFO 0x0040") 1864cpp_quote("#define Uri_CREATE_NO_DECODE_EXTRA_INFO 0x0080") 1865cpp_quote("#define Uri_CREATE_CRACK_UNKNOWN_SCHEMES 0x0200") 1866cpp_quote("#define Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES 0x0400") 1867cpp_quote("#define Uri_CREATE_PRE_PROCESS_HTML_URI 0x0800") 1868cpp_quote("#define Uri_CREATE_NO_PRE_PROCESS_HTML_URI 0x1000") 1869cpp_quote("#define Uri_CREATE_IE_SETTINGS 0x2000") 1870cpp_quote("#define Uri_CREATE_NO_IE_SETTINGS 0x4000") 1871cpp_quote("#define Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS 0x8000") 1872cpp_quote("#define Uri_CREATE_NORMALIZE_INTL_CHARACTERS 0x00010000") 1873cpp_quote("#define Uri_CREATE_CANONICALIZE_ABSOLUTE 0x00020000") 1874 1875cpp_quote("#define Uri_DISPLAY_NO_FRAGMENT 0x00000001") 1876cpp_quote("#define Uri_PUNYCODE_IDN_HOST 0x00000002") 1877cpp_quote("#define Uri_DISPLAY_IDN_HOST 0x00000004") 1878 1879cpp_quote("#define Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8 0x00000001") 1880cpp_quote("#define Uri_ENCODING_USER_INFO_AND_PATH_IS_CP 0x00000002") 1881cpp_quote("#define Uri_ENCODING_HOST_IS_IDN 0x00000004") 1882cpp_quote("#define Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8 0x00000008") 1883cpp_quote("#define Uri_ENCODING_HOST_IS_PERCENT_ENCODED_CP 0x00000010") 1884cpp_quote("#define Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8 0x00000020") 1885cpp_quote("#define Uri_ENCODING_QUERY_AND_FRAGMENT_IS_CP 0x00000040") 1886cpp_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)") 1887 1888cpp_quote("#define UriBuilder_USE_ORIGINAL_FLAGS 0x00000001") 1889 1890/***************************************************************************** 1891 * IUriContainer interface 1892 */ 1893[ 1894 local, 1895 object, 1896 uuid(a158a630-ed6f-45fb-b987-f68676f57752), 1897 pointer_default(unique) 1898] 1899interface IUriContainer : IUnknown 1900{ 1901 HRESULT GetIUri([out] IUri **ppIUri); 1902} 1903 1904/***************************************************************************** 1905 * IUriBuilder interface 1906 */ 1907[ 1908 local, 1909 object, 1910 uuid(4221b2e1-8955-46c0-bd5b-de9897565de7), 1911 pointer_default(unique) 1912] 1913interface IUriBuilder: IUnknown 1914{ 1915 HRESULT CreateUriSimple( 1916 [in] DWORD dwAllowEncodingPropertyMask, 1917 [in] DWORD_PTR dwReserved, 1918 [out] IUri **ppIUri); 1919 1920 HRESULT CreateUri( 1921 [in] DWORD dwCreateFlags, 1922 [in] DWORD dwAllowEncodingPropertyMask, 1923 [in] DWORD_PTR dwReserved, 1924 [out] IUri **ppIUri); 1925 1926 HRESULT CreateUriWithFlags( 1927 [in] DWORD dwCreateFlags, 1928 [in] DWORD dwUriBuilderFlags, 1929 [in] DWORD dwAllowEncodingPropertyMask, 1930 [in] DWORD_PTR dwReserved, 1931 [out] IUri **ppIUri); 1932 1933 HRESULT GetIUri( 1934 [out] IUri **ppIUri); 1935 1936 HRESULT SetIUri( 1937 [in, unique] IUri *pIUri); 1938 1939 HRESULT GetFragment( 1940 [out] DWORD *pcchFragment, 1941 [out] LPCWSTR *ppwzFragment); 1942 1943 HRESULT GetHost( 1944 [out] DWORD *pcchHost, 1945 [out] LPCWSTR *ppwzHost); 1946 1947 HRESULT GetPassword( 1948 [out] DWORD *pcchPassword, 1949 [out] LPCWSTR *ppwzPassword); 1950 1951 HRESULT GetPath( 1952 [out] DWORD *pcchPath, 1953 [out] LPCWSTR *ppwzPath); 1954 1955 HRESULT GetPort( 1956 [out] BOOL *pfHasPort, 1957 [out] DWORD *pdwPort); 1958 1959 HRESULT GetQuery( 1960 [out] DWORD *pcchQuery, 1961 [out] LPCWSTR *ppwzQuery); 1962 1963 HRESULT GetSchemeName( 1964 [out] DWORD *pcchSchemeName, 1965 [out] LPCWSTR *ppwzSchemeName); 1966 1967 HRESULT GetUserName( 1968 [out] DWORD *pcchUserName, 1969 [out] LPCWSTR *ppwzUserName); 1970 1971 HRESULT SetFragment( 1972 [in] LPCWSTR pwzNewValue); 1973 1974 HRESULT SetHost( 1975 [in] LPCWSTR pwzNewValue); 1976 1977 HRESULT SetPassword( 1978 [in] LPCWSTR pwzNewValue); 1979 1980 HRESULT SetPath( 1981 [in] LPCWSTR pwzNewValue); 1982 1983 HRESULT SetPort( 1984 [in] BOOL fHasPort, 1985 [in] DWORD dwNewValue); 1986 1987 HRESULT SetQuery( 1988 [in] LPCWSTR pwzNewValue); 1989 1990 HRESULT SetSchemeName( 1991 [in] LPCWSTR pwzNewValue); 1992 1993 HRESULT SetUserName( 1994 [in] LPCWSTR pwzNewValue); 1995 1996 HRESULT RemoveProperties( 1997 [in] DWORD dwPropertyMask); 1998 1999 HRESULT HasBeenModified( 2000 [out] BOOL *pfModified); 2001}; 2002 2003cpp_quote("HRESULT WINAPI CreateIUriBuilder(IUri*,DWORD,DWORD_PTR,IUriBuilder**);") 2004 2005/***************************************************************************** 2006 * IUriBuilderFactory interface 2007 */ 2008[ 2009 local, 2010 object, 2011 uuid(e982ce48-0b96-440c-bc37-0c869b27a29e), 2012 pointer_default(unique) 2013] 2014interface IUriBuilderFactory : IUnknown 2015{ 2016 HRESULT CreateIUriBuilder( 2017 [in] DWORD dwFlags, 2018 [in] DWORD_PTR dwReserved, 2019 [out] IUriBuilder **ppIUriBuilder); 2020 2021 HRESULT CreateInitializedIUriBuilder( 2022 [in] DWORD dwFlags, 2023 [in] DWORD_PTR dwReserved, 2024 [out] IUriBuilder **ppIUriBuilder); 2025} 2026 2027/***************************************************************************** 2028 * IInternetProtocolEx interface 2029 */ 2030[ 2031 local, 2032 object, 2033 uuid(c7a98e66-1010-492c-a1c8-c809e1f75905), 2034 pointer_default(unique) 2035] 2036interface IInternetProtocolEx : IInternetProtocol 2037{ 2038 HRESULT StartEx( 2039 [in] IUri *pUri, 2040 [in] IInternetProtocolSink *pOIProtSink, 2041 [in] IInternetBindInfo *pOIBindInfo, 2042 [in] DWORD grfPI, 2043 [in] HANDLE *dwReserved); 2044} 2045 2046/***************************************************************************** 2047 * IGetBindHandle interface 2048 */ 2049[ 2050 local, 2051 object, 2052 uuid(AF0FF408-129D-4b20-91F0-02BD23D88352), 2053 pointer_default(unique) 2054] 2055interface IGetBindHandle : IUnknown 2056{ 2057 typedef [unique] IGetBindHandle *LPGETBINDHANDLE; 2058 2059 typedef enum { 2060 BINDHANDLETYPES_APPCACHE = 0x00000000, 2061 BINDHANDLETYPES_DEPENDENCY = 0x00000001, 2062 BINDHANDLETYPES_COUNT 2063 } BINDHANDLETYPES; 2064 2065 HRESULT GetBindHandle( 2066 [in] BINDHANDLETYPES enumRequestedHandle, 2067 [out] HANDLE *pRetHandle); 2068} 2069 2070/***************************************************************************** 2071 * IBindCallbackRedirect interface 2072 */ 2073[ 2074 local, 2075 object, 2076 uuid(11c81bc2-121e-4ed5-b9c4-b430bd54f2c0), 2077 pointer_default(unique) 2078] 2079interface IBindCallbackRedirect : IUnknown 2080{ 2081 typedef [unique] IBindCallbackRedirect *LPBINDCALLBACKREDIRECT; 2082 2083 HRESULT Redirect( 2084 [in] LPCWSTR lpcUrl, 2085 [out] VARIANT_BOOL *vbCancel); 2086} 2087 2088cpp_quote("#define CONFIRMSAFETYACTION_LOADOBJECT 0x00000001") 2089 2090struct CONFIRMSAFETY 2091{ 2092 CLSID clsid; 2093 IUnknown *pUnk; 2094 DWORD dwFlags; 2095}; 2096 2097cpp_quote("EXTERN_C const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY;") 2098 2099cpp_quote("DEFINE_GUID(CLSID_InternetSecurityManager, 0x7b8a2d94, 0x0ac9, 0x11d1, 0x89, 0x6c, 0x00, 0xc0, 0x4f, 0xB6, 0xbf, 0xc4);") 2100cpp_quote("DEFINE_GUID(CLSID_InternetZoneManager, 0x7B8A2D95, 0x0AC9, 0x11D1, 0x89, 0x6C, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4);") 2101cpp_quote("DEFINE_GUID(IID_IAsyncMoniker, 0x79EAC9D3, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);") 2102cpp_quote("DEFINE_GUID(IID_IAsyncBindCtx, 0x79EAC9D4, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);") 2103cpp_quote("DEFINE_GUID(CLSID_StdURLMoniker, 0x79EAC9E0, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);") 2104cpp_quote("DEFINE_GUID(CLSID_DeCompMimeFilter, 0x8f6b0360, 0xb80d, 0x11d0, 0xa9,0xb3, 0x00,0x60,0x97,0x94,0x23,0x11);") 2105 2106cpp_quote("DEFINE_GUID(CLSID_CdlProtocol, 0x3dd53d40, 0x7b8b, 0x11D0, 0xb0,0x13, 0x00,0xaa,0x00,0x59,0xce,0x02);") 2107cpp_quote("DEFINE_GUID(CLSID_FileProtocol, 0x79EAC9E7, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);") 2108cpp_quote("DEFINE_GUID(CLSID_FtpProtocol, 0x79EAC9E3, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);") 2109cpp_quote("DEFINE_GUID(CLSID_GopherProtocol, 0x79EAC9E4, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);") 2110cpp_quote("DEFINE_GUID(CLSID_HttpProtocol, 0x79EAC9E2, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);") 2111cpp_quote("DEFINE_GUID(CLSID_HttpSProtocol, 0x79EAC9E5, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);") 2112cpp_quote("DEFINE_GUID(CLSID_MkProtocol, 0x79EAC9E6, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);") 2113 2114cpp_quote("#define URLMON_OPTION_USERAGENT 0x10000001") 2115cpp_quote("#define URLMON_OPTION_USERAGENT_REFRESH 0x10000002") 2116cpp_quote("#define URLMON_OPTION_URL_ENCODING 0x10000004") 2117 2118cpp_quote("#define MK_S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x000401E8)") 2119cpp_quote("#ifndef S_ASYNCHRONOUS") 2120cpp_quote("#define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS") 2121cpp_quote("#endif") 2122 2123cpp_quote("#define INET_E_ERROR_FIRST _HRESULT_TYPEDEF_(0x800C0002)") 2124cpp_quote("#define INET_E_INVALID_URL _HRESULT_TYPEDEF_(0x800C0002)") 2125cpp_quote("#define INET_E_NO_SESSION _HRESULT_TYPEDEF_(0x800C0003)") 2126cpp_quote("#define INET_E_CANNOT_CONNECT _HRESULT_TYPEDEF_(0x800C0004)") 2127cpp_quote("#define INET_E_RESOURCE_NOT_FOUND _HRESULT_TYPEDEF_(0x800C0005)") 2128cpp_quote("#define INET_E_OBJECT_NOT_FOUND _HRESULT_TYPEDEF_(0x800C0006)") 2129cpp_quote("#define INET_E_DATA_NOT_AVAILABLE _HRESULT_TYPEDEF_(0x800C0007)") 2130cpp_quote("#define INET_E_DOWNLOAD_FAILURE _HRESULT_TYPEDEF_(0x800C0008)") 2131cpp_quote("#define INET_E_AUTHENTICATION_REQUIRED _HRESULT_TYPEDEF_(0x800C0009)") 2132cpp_quote("#define INET_E_NO_VALID_MEDIA _HRESULT_TYPEDEF_(0x800C000A)") 2133cpp_quote("#define INET_E_CONNECTION_TIMEOUT _HRESULT_TYPEDEF_(0x800C000B)") 2134cpp_quote("#define INET_E_INVALID_REQUEST _HRESULT_TYPEDEF_(0x800C000C)") 2135cpp_quote("#define INET_E_UNKNOWN_PROTOCOL _HRESULT_TYPEDEF_(0x800C000D)") 2136cpp_quote("#define INET_E_SECURITY_PROBLEM _HRESULT_TYPEDEF_(0x800C000E)") 2137cpp_quote("#define INET_E_CANNOT_LOAD_DATA _HRESULT_TYPEDEF_(0x800C000F)") 2138cpp_quote("#define INET_E_CANNOT_INSTANTIATE_OBJECT _HRESULT_TYPEDEF_(0x800C0010)") 2139cpp_quote("#define INET_E_USE_DEFAULT_PROTOCOLHANDLER _HRESULT_TYPEDEF_(0x800C0011)") 2140cpp_quote("#define INET_E_USE_DEFAULT_SETTING _HRESULT_TYPEDEF_(0x800C0012L)") 2141cpp_quote("#define INET_E_DEFAULT_ACTION INET_E_USE_DEFAULT_PROTOCOLHANDLER") 2142cpp_quote("#define INET_E_QUERYOPTION_UNKNOWN _HRESULT_TYPEDEF_(0x800C0013)") 2143cpp_quote("#define INET_E_REDIRECT_FAILED _HRESULT_TYPEDEF_(0x800C0014)") 2144cpp_quote("#define INET_E_REDIRECT_TO_DIR _HRESULT_TYPEDEF_(0x800C0015)") 2145cpp_quote("#define INET_E_CANNOT_LOCK_REQUEST _HRESULT_TYPEDEF_(0x800C0016)") 2146cpp_quote("#define INET_E_USE_EXTENDED_BINDING _HRESULT_TYPEDEF_(0x800C0017)") 2147cpp_quote("#define INET_E_TERMINATED_BIND _HRESULT_TYPEDEF_(0x800C0018)") 2148cpp_quote("#define INET_E_INVALID_CERTIFICATE _HRESULT_TYPEDEF_(0x800C0019)") 2149cpp_quote("#define INET_E_CODE_DOWNLOAD_DECLINED _HRESULT_TYPEDEF_(0x800C0100)") 2150cpp_quote("#define INET_E_RESULT_DISPATCHED _HRESULT_TYPEDEF_(0x800C0200)") 2151cpp_quote("#define INET_E_CANNOT_REPLACE_SFP_FILE _HRESULT_TYPEDEF_(0x800C0300)") 2152cpp_quote("#define INET_E_CODE_INSTALL_SUPPRESSED _HRESULT_TYPEDEF_(0x800C0400)") 2153cpp_quote("#define INET_E_CODE_INSTALL_BLOCKED_BY_HASH_POLICY _HRESULT_TYPEDEF_(0x800C0500)") 2154cpp_quote("#define INET_E_DOWNLOAD_BLOCKED_BY_INPRIVATE _HRESULT_TYPEDEF_(0x800C0501)") 2155cpp_quote("#define INET_E_ERROR_LAST INET_E_DOWNLOAD_BLOCKED_BY_INPRIVATE") 2156 2157cpp_quote("HRESULT WINAPI CoGetClassObjectFromURL(REFCLSID, LPCWSTR, DWORD, DWORD, LPCWSTR, LPBINDCTX, DWORD, LPVOID, REFIID, LPVOID*);") 2158cpp_quote("HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk);") 2159cpp_quote("HRESULT WINAPI CreateURLMonikerEx(IMoniker*,LPCWSTR,IMoniker**,DWORD);") 2160cpp_quote("HRESULT WINAPI CreateURLMonikerEx2(IMoniker*,IUri*,IMoniker**,DWORD);") 2161cpp_quote("HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbsc, DWORD dwReserved);") 2162cpp_quote("HRESULT WINAPI CompareSecurityIds(BYTE*,DWORD,BYTE*,DWORD,DWORD);") 2163cpp_quote("HRESULT WINAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);") 2164cpp_quote("HRESULT WINAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);") 2165cpp_quote("HRESULT WINAPI URLDownloadToCacheFileA(LPUNKNOWN,LPCSTR,LPSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);") 2166cpp_quote("HRESULT WINAPI URLDownloadToCacheFileW(LPUNKNOWN,LPCWSTR,LPWSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);") 2167cpp_quote("HRESULT WINAPI CoInternetGetSession(DWORD,IInternetSession**,DWORD);") 2168cpp_quote("HRESULT WINAPI MkParseDisplayNameEx(IBindCtx*,LPCWSTR,ULONG*,IMoniker**);") 2169cpp_quote("HRESULT WINAPI IsAsyncMoniker(IMoniker* pmk);") 2170cpp_quote("HRESULT WINAPI CreateAsyncBindCtx(DWORD, IBindStatusCallback*, IEnumFORMATETC*, IBindCtx**);") 2171cpp_quote("HRESULT WINAPI CreateAsyncBindCtxEx(IBindCtx*,DWORD,IBindStatusCallback*,IEnumFORMATETC*,IBindCtx**,DWORD);") 2172cpp_quote("HRESULT WINAPI CoInternetCreateSecurityManager(IServiceProvider*,IInternetSecurityManager**,DWORD);") 2173cpp_quote("HRESULT WINAPI CoInternetCombineUrl(LPCWSTR,LPCWSTR,DWORD,LPWSTR,DWORD,DWORD*,DWORD);") 2174cpp_quote("HRESULT WINAPI CoInternetCombineUrlEx(IUri*,LPCWSTR,DWORD,IUri**,DWORD_PTR);") 2175cpp_quote("HRESULT WINAPI CoInternetCompareUrl(LPCWSTR,LPCWSTR,DWORD);") 2176cpp_quote("HRESULT WINAPI CoInternetCombineIUri(IUri*,IUri*,DWORD,IUri**,DWORD_PTR);") 2177cpp_quote("HRESULT WINAPI CoInternetCreateZoneManager(IServiceProvider*, IInternetZoneManager**, DWORD);") 2178cpp_quote("HRESULT WINAPI CoInternetParseUrl(LPCWSTR,PARSEACTION,DWORD,LPWSTR,DWORD,DWORD*,DWORD);") 2179cpp_quote("HRESULT WINAPI CoInternetParseIUri(IUri*,PARSEACTION,DWORD,LPWSTR,DWORD,DWORD*,DWORD_PTR);") 2180cpp_quote("HRESULT WINAPI CoInternetQueryInfo(LPCWSTR,QUERYOPTION,DWORD,LPVOID,DWORD,DWORD*,DWORD);") 2181cpp_quote("HRESULT WINAPI CoInternetSetFeatureEnabled(INTERNETFEATURELIST,DWORD,BOOL);") 2182cpp_quote("HRESULT WINAPI CoInternetIsFeatureEnabled(INTERNETFEATURELIST,DWORD dwFlags);") 2183cpp_quote("HRESULT WINAPI CoInternetIsFeatureEnabledForUrl(INTERNETFEATURELIST,DWORD,LPCWSTR,IInternetSecurityManager*);") 2184cpp_quote("HRESULT WINAPI CoInternetGetSecurityUrl(LPCWSTR,LPWSTR*,PSUACTION,DWORD);") 2185cpp_quote("HRESULT WINAPI CoInternetGetSecurityUrlEx(IUri*,IUri**,PSUACTION,DWORD_PTR);") 2186cpp_quote("HRESULT WINAPI AsyncInstallDistributionUnit(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,LPCWSTR,IBindCtx*,LPVOID,DWORD);") 2187cpp_quote("HRESULT WINAPI CreateFormatEnumerator(UINT,FORMATETC*,IEnumFORMATETC**);") 2188cpp_quote("HRESULT WINAPI GetSoftwareUpdateInfo( LPCWSTR szDistUnit, LPSOFTDISTINFO psdi);") 2189cpp_quote("HRESULT WINAPI FaultInIEFeature(HWND,uCLSSPEC*,QUERYCONTEXT*,DWORD);") 2190cpp_quote("HRESULT WINAPI FindMimeFromData(LPBC,LPCWSTR,LPVOID,DWORD,LPCWSTR,DWORD,LPWSTR*,DWORD);") 2191cpp_quote("HRESULT WINAPI GetClassFileOrMime(LPBC,LPCWSTR,LPVOID,DWORD,LPCWSTR,DWORD,CLSID*);") 2192cpp_quote("HRESULT WINAPI HlinkGoBack(IUnknown*);") 2193cpp_quote("HRESULT WINAPI HlinkGoForward(IUnknown*);") 2194cpp_quote("HRESULT WINAPI HlinkNavigateMoniker(IUnknown*,IMoniker*);") 2195cpp_quote("HRESULT WINAPI HlinkNavigateString(IUnknown*,LPCWSTR);") 2196cpp_quote("HRESULT WINAPI HlinkSimpleNavigateToMoniker(IMoniker*,LPCWSTR,LPCWSTR,IUnknown*,IBindCtx*,IBindStatusCallback*,DWORD,DWORD);") 2197cpp_quote("HRESULT WINAPI HlinkSimpleNavigateToString(LPCWSTR,LPCWSTR,LPCWSTR,IUnknown*,IBindCtx*,IBindStatusCallback*,DWORD,DWORD);") 2198cpp_quote("HRESULT WINAPI IsValidURL(LPBC,LPCWSTR,DWORD);") 2199cpp_quote("HRESULT WINAPI ObtainUserAgentString(DWORD,LPSTR,DWORD*);") 2200cpp_quote("HRESULT WINAPI RegisterFormatEnumerator(LPBC,IEnumFORMATETC*,DWORD);") 2201cpp_quote("HRESULT WINAPI RevokeFormatEnumerator(LPBC,IEnumFORMATETC*);") 2202cpp_quote("HRESULT WINAPI RevokeBindStatusCallback(LPBC,IBindStatusCallback*);") 2203cpp_quote("HRESULT WINAPI CopyStgMedium(const STGMEDIUM*,STGMEDIUM*);") 2204cpp_quote("HRESULT WINAPI CopyBindInfo(const BINDINFO*,BINDINFO*);") 2205cpp_quote("void WINAPI ReleaseBindInfo(BINDINFO*);") 2206cpp_quote("HRESULT WINAPI UrlMkGetSessionOption(DWORD,LPVOID,DWORD,DWORD*,DWORD);") 2207cpp_quote("HRESULT WINAPI UrlMkSetSessionOption(DWORD,LPVOID,DWORD,DWORD);") 2208cpp_quote("HRESULT WINAPI URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);") 2209cpp_quote("HRESULT WINAPI URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);") 2210cpp_quote("HRESULT WINAPI URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);") 2211cpp_quote("HRESULT WINAPI URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);") 2212cpp_quote("HRESULT WINAPI URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);") 2213cpp_quote("HRESULT WINAPI URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);") 2214 2215cpp_quote("#define OInetCombineUrl CoInternetCombineUrl") 2216cpp_quote("#define OInetCompareUrl CoInternetCompareUrl") 2217cpp_quote("#define OInetGetSession CoInternetGetSession") 2218 2219cpp_quote("BOOL WINAPI IsLoggingEnabledA(LPCSTR);") 2220cpp_quote("BOOL WINAPI IsLoggingEnabledW(LPCWSTR);") 2221cpp_quote("#define IsLoggingEnabled WINELIB_NAME_AW(IsLoggingEnabled)") 2222 2223cpp_quote("#define MKSYS_URLMONIKER 6") 2224cpp_quote("#define URL_MK_LEGACY 0") 2225cpp_quote("#define URL_MK_UNIFORM 1") 2226cpp_quote("#define URL_MK_NO_CANONICALIZE 2")