1 /*** Autogenerated by WIDL 4.12.1 from include/urlmon.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __urlmon_h__ 17 #define __urlmon_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IPersistMoniker_FWD_DEFINED__ 22 #define __IPersistMoniker_FWD_DEFINED__ 23 typedef interface IPersistMoniker IPersistMoniker; 24 #ifdef __cplusplus 25 interface IPersistMoniker; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IMonikerProp_FWD_DEFINED__ 30 #define __IMonikerProp_FWD_DEFINED__ 31 typedef interface IMonikerProp IMonikerProp; 32 #ifdef __cplusplus 33 interface IMonikerProp; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IBindProtocol_FWD_DEFINED__ 38 #define __IBindProtocol_FWD_DEFINED__ 39 typedef interface IBindProtocol IBindProtocol; 40 #ifdef __cplusplus 41 interface IBindProtocol; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __IBinding_FWD_DEFINED__ 46 #define __IBinding_FWD_DEFINED__ 47 typedef interface IBinding IBinding; 48 #ifdef __cplusplus 49 interface IBinding; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __IBindStatusCallback_FWD_DEFINED__ 54 #define __IBindStatusCallback_FWD_DEFINED__ 55 typedef interface IBindStatusCallback IBindStatusCallback; 56 #ifdef __cplusplus 57 interface IBindStatusCallback; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __IBindStatusCallbackEx_FWD_DEFINED__ 62 #define __IBindStatusCallbackEx_FWD_DEFINED__ 63 typedef interface IBindStatusCallbackEx IBindStatusCallbackEx; 64 #ifdef __cplusplus 65 interface IBindStatusCallbackEx; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __IAuthenticate_FWD_DEFINED__ 70 #define __IAuthenticate_FWD_DEFINED__ 71 typedef interface IAuthenticate IAuthenticate; 72 #ifdef __cplusplus 73 interface IAuthenticate; 74 #endif /* __cplusplus */ 75 #endif 76 77 #ifndef __IAuthenticateEx_FWD_DEFINED__ 78 #define __IAuthenticateEx_FWD_DEFINED__ 79 typedef interface IAuthenticateEx IAuthenticateEx; 80 #ifdef __cplusplus 81 interface IAuthenticateEx; 82 #endif /* __cplusplus */ 83 #endif 84 85 #ifndef __IHttpNegotiate_FWD_DEFINED__ 86 #define __IHttpNegotiate_FWD_DEFINED__ 87 typedef interface IHttpNegotiate IHttpNegotiate; 88 #ifdef __cplusplus 89 interface IHttpNegotiate; 90 #endif /* __cplusplus */ 91 #endif 92 93 #ifndef __IHttpNegotiate2_FWD_DEFINED__ 94 #define __IHttpNegotiate2_FWD_DEFINED__ 95 typedef interface IHttpNegotiate2 IHttpNegotiate2; 96 #ifdef __cplusplus 97 interface IHttpNegotiate2; 98 #endif /* __cplusplus */ 99 #endif 100 101 #ifndef __IHttpNegotiate3_FWD_DEFINED__ 102 #define __IHttpNegotiate3_FWD_DEFINED__ 103 typedef interface IHttpNegotiate3 IHttpNegotiate3; 104 #ifdef __cplusplus 105 interface IHttpNegotiate3; 106 #endif /* __cplusplus */ 107 #endif 108 109 #ifndef __IWinInetFileStream_FWD_DEFINED__ 110 #define __IWinInetFileStream_FWD_DEFINED__ 111 typedef interface IWinInetFileStream IWinInetFileStream; 112 #ifdef __cplusplus 113 interface IWinInetFileStream; 114 #endif /* __cplusplus */ 115 #endif 116 117 #ifndef __IWindowForBindingUI_FWD_DEFINED__ 118 #define __IWindowForBindingUI_FWD_DEFINED__ 119 typedef interface IWindowForBindingUI IWindowForBindingUI; 120 #ifdef __cplusplus 121 interface IWindowForBindingUI; 122 #endif /* __cplusplus */ 123 #endif 124 125 #ifndef __ICodeInstall_FWD_DEFINED__ 126 #define __ICodeInstall_FWD_DEFINED__ 127 typedef interface ICodeInstall ICodeInstall; 128 #ifdef __cplusplus 129 interface ICodeInstall; 130 #endif /* __cplusplus */ 131 #endif 132 133 #ifndef __IUri_FWD_DEFINED__ 134 #define __IUri_FWD_DEFINED__ 135 typedef interface IUri IUri; 136 #ifdef __cplusplus 137 interface IUri; 138 #endif /* __cplusplus */ 139 #endif 140 141 #ifndef __IUriContainer_FWD_DEFINED__ 142 #define __IUriContainer_FWD_DEFINED__ 143 typedef interface IUriContainer IUriContainer; 144 #ifdef __cplusplus 145 interface IUriContainer; 146 #endif /* __cplusplus */ 147 #endif 148 149 #ifndef __IUriBuilder_FWD_DEFINED__ 150 #define __IUriBuilder_FWD_DEFINED__ 151 typedef interface IUriBuilder IUriBuilder; 152 #ifdef __cplusplus 153 interface IUriBuilder; 154 #endif /* __cplusplus */ 155 #endif 156 157 #ifndef __IUriBuilderFactory_FWD_DEFINED__ 158 #define __IUriBuilderFactory_FWD_DEFINED__ 159 typedef interface IUriBuilderFactory IUriBuilderFactory; 160 #ifdef __cplusplus 161 interface IUriBuilderFactory; 162 #endif /* __cplusplus */ 163 #endif 164 165 #ifndef __IWinInetInfo_FWD_DEFINED__ 166 #define __IWinInetInfo_FWD_DEFINED__ 167 typedef interface IWinInetInfo IWinInetInfo; 168 #ifdef __cplusplus 169 interface IWinInetInfo; 170 #endif /* __cplusplus */ 171 #endif 172 173 #ifndef __IHttpSecurity_FWD_DEFINED__ 174 #define __IHttpSecurity_FWD_DEFINED__ 175 typedef interface IHttpSecurity IHttpSecurity; 176 #ifdef __cplusplus 177 interface IHttpSecurity; 178 #endif /* __cplusplus */ 179 #endif 180 181 #ifndef __IWinInetHttpInfo_FWD_DEFINED__ 182 #define __IWinInetHttpInfo_FWD_DEFINED__ 183 typedef interface IWinInetHttpInfo IWinInetHttpInfo; 184 #ifdef __cplusplus 185 interface IWinInetHttpInfo; 186 #endif /* __cplusplus */ 187 #endif 188 189 #ifndef __IWinInetHttpTimeouts_FWD_DEFINED__ 190 #define __IWinInetHttpTimeouts_FWD_DEFINED__ 191 typedef interface IWinInetHttpTimeouts IWinInetHttpTimeouts; 192 #ifdef __cplusplus 193 interface IWinInetHttpTimeouts; 194 #endif /* __cplusplus */ 195 #endif 196 197 #ifndef __IWinInetCacheHints_FWD_DEFINED__ 198 #define __IWinInetCacheHints_FWD_DEFINED__ 199 typedef interface IWinInetCacheHints IWinInetCacheHints; 200 #ifdef __cplusplus 201 interface IWinInetCacheHints; 202 #endif /* __cplusplus */ 203 #endif 204 205 #ifndef __IWinInetCacheHints2_FWD_DEFINED__ 206 #define __IWinInetCacheHints2_FWD_DEFINED__ 207 typedef interface IWinInetCacheHints2 IWinInetCacheHints2; 208 #ifdef __cplusplus 209 interface IWinInetCacheHints2; 210 #endif /* __cplusplus */ 211 #endif 212 213 #ifndef __IBindHost_FWD_DEFINED__ 214 #define __IBindHost_FWD_DEFINED__ 215 typedef interface IBindHost IBindHost; 216 #ifdef __cplusplus 217 interface IBindHost; 218 #endif /* __cplusplus */ 219 #endif 220 221 #ifndef __IInternet_FWD_DEFINED__ 222 #define __IInternet_FWD_DEFINED__ 223 typedef interface IInternet IInternet; 224 #ifdef __cplusplus 225 interface IInternet; 226 #endif /* __cplusplus */ 227 #endif 228 229 #ifndef __IInternetBindInfo_FWD_DEFINED__ 230 #define __IInternetBindInfo_FWD_DEFINED__ 231 typedef interface IInternetBindInfo IInternetBindInfo; 232 #ifdef __cplusplus 233 interface IInternetBindInfo; 234 #endif /* __cplusplus */ 235 #endif 236 237 #ifndef __IInternetBindInfoEx_FWD_DEFINED__ 238 #define __IInternetBindInfoEx_FWD_DEFINED__ 239 typedef interface IInternetBindInfoEx IInternetBindInfoEx; 240 #ifdef __cplusplus 241 interface IInternetBindInfoEx; 242 #endif /* __cplusplus */ 243 #endif 244 245 #ifndef __IInternetProtocolRoot_FWD_DEFINED__ 246 #define __IInternetProtocolRoot_FWD_DEFINED__ 247 typedef interface IInternetProtocolRoot IInternetProtocolRoot; 248 #ifdef __cplusplus 249 interface IInternetProtocolRoot; 250 #endif /* __cplusplus */ 251 #endif 252 253 #ifndef __IInternetProtocol_FWD_DEFINED__ 254 #define __IInternetProtocol_FWD_DEFINED__ 255 typedef interface IInternetProtocol IInternetProtocol; 256 #ifdef __cplusplus 257 interface IInternetProtocol; 258 #endif /* __cplusplus */ 259 #endif 260 261 #ifndef __IInternetProtocolEx_FWD_DEFINED__ 262 #define __IInternetProtocolEx_FWD_DEFINED__ 263 typedef interface IInternetProtocolEx IInternetProtocolEx; 264 #ifdef __cplusplus 265 interface IInternetProtocolEx; 266 #endif /* __cplusplus */ 267 #endif 268 269 #ifndef __IInternetProtocolSink_FWD_DEFINED__ 270 #define __IInternetProtocolSink_FWD_DEFINED__ 271 typedef interface IInternetProtocolSink IInternetProtocolSink; 272 #ifdef __cplusplus 273 interface IInternetProtocolSink; 274 #endif /* __cplusplus */ 275 #endif 276 277 #ifndef __IInternetProtocolSinkStackable_FWD_DEFINED__ 278 #define __IInternetProtocolSinkStackable_FWD_DEFINED__ 279 typedef interface IInternetProtocolSinkStackable IInternetProtocolSinkStackable; 280 #ifdef __cplusplus 281 interface IInternetProtocolSinkStackable; 282 #endif /* __cplusplus */ 283 #endif 284 285 #ifndef __IInternetSession_FWD_DEFINED__ 286 #define __IInternetSession_FWD_DEFINED__ 287 typedef interface IInternetSession IInternetSession; 288 #ifdef __cplusplus 289 interface IInternetSession; 290 #endif /* __cplusplus */ 291 #endif 292 293 #ifndef __IInternetThreadSwitch_FWD_DEFINED__ 294 #define __IInternetThreadSwitch_FWD_DEFINED__ 295 typedef interface IInternetThreadSwitch IInternetThreadSwitch; 296 #ifdef __cplusplus 297 interface IInternetThreadSwitch; 298 #endif /* __cplusplus */ 299 #endif 300 301 #ifndef __IInternetPriority_FWD_DEFINED__ 302 #define __IInternetPriority_FWD_DEFINED__ 303 typedef interface IInternetPriority IInternetPriority; 304 #ifdef __cplusplus 305 interface IInternetPriority; 306 #endif /* __cplusplus */ 307 #endif 308 309 #ifndef __IInternetProtocolInfo_FWD_DEFINED__ 310 #define __IInternetProtocolInfo_FWD_DEFINED__ 311 typedef interface IInternetProtocolInfo IInternetProtocolInfo; 312 #ifdef __cplusplus 313 interface IInternetProtocolInfo; 314 #endif /* __cplusplus */ 315 #endif 316 317 #ifndef __IInternetSecurityMgrSite_FWD_DEFINED__ 318 #define __IInternetSecurityMgrSite_FWD_DEFINED__ 319 typedef interface IInternetSecurityMgrSite IInternetSecurityMgrSite; 320 #ifdef __cplusplus 321 interface IInternetSecurityMgrSite; 322 #endif /* __cplusplus */ 323 #endif 324 325 #ifndef __IInternetSecurityManager_FWD_DEFINED__ 326 #define __IInternetSecurityManager_FWD_DEFINED__ 327 typedef interface IInternetSecurityManager IInternetSecurityManager; 328 #ifdef __cplusplus 329 interface IInternetSecurityManager; 330 #endif /* __cplusplus */ 331 #endif 332 333 #ifndef __IInternetSecurityManagerEx_FWD_DEFINED__ 334 #define __IInternetSecurityManagerEx_FWD_DEFINED__ 335 typedef interface IInternetSecurityManagerEx IInternetSecurityManagerEx; 336 #ifdef __cplusplus 337 interface IInternetSecurityManagerEx; 338 #endif /* __cplusplus */ 339 #endif 340 341 #ifndef __IInternetSecurityManagerEx2_FWD_DEFINED__ 342 #define __IInternetSecurityManagerEx2_FWD_DEFINED__ 343 typedef interface IInternetSecurityManagerEx2 IInternetSecurityManagerEx2; 344 #ifdef __cplusplus 345 interface IInternetSecurityManagerEx2; 346 #endif /* __cplusplus */ 347 #endif 348 349 #ifndef __IZoneIdentifier_FWD_DEFINED__ 350 #define __IZoneIdentifier_FWD_DEFINED__ 351 typedef interface IZoneIdentifier IZoneIdentifier; 352 #ifdef __cplusplus 353 interface IZoneIdentifier; 354 #endif /* __cplusplus */ 355 #endif 356 357 #ifndef __IInternetHostSecurityManager_FWD_DEFINED__ 358 #define __IInternetHostSecurityManager_FWD_DEFINED__ 359 typedef interface IInternetHostSecurityManager IInternetHostSecurityManager; 360 #ifdef __cplusplus 361 interface IInternetHostSecurityManager; 362 #endif /* __cplusplus */ 363 #endif 364 365 #ifndef __IInternetZoneManager_FWD_DEFINED__ 366 #define __IInternetZoneManager_FWD_DEFINED__ 367 typedef interface IInternetZoneManager IInternetZoneManager; 368 #ifdef __cplusplus 369 interface IInternetZoneManager; 370 #endif /* __cplusplus */ 371 #endif 372 373 #ifndef __IInternetZoneManagerEx_FWD_DEFINED__ 374 #define __IInternetZoneManagerEx_FWD_DEFINED__ 375 typedef interface IInternetZoneManagerEx IInternetZoneManagerEx; 376 #ifdef __cplusplus 377 interface IInternetZoneManagerEx; 378 #endif /* __cplusplus */ 379 #endif 380 381 #ifndef __IInternetZoneManagerEx2_FWD_DEFINED__ 382 #define __IInternetZoneManagerEx2_FWD_DEFINED__ 383 typedef interface IInternetZoneManagerEx2 IInternetZoneManagerEx2; 384 #ifdef __cplusplus 385 interface IInternetZoneManagerEx2; 386 #endif /* __cplusplus */ 387 #endif 388 389 #ifndef __ISoftDistExt_FWD_DEFINED__ 390 #define __ISoftDistExt_FWD_DEFINED__ 391 typedef interface ISoftDistExt ISoftDistExt; 392 #ifdef __cplusplus 393 interface ISoftDistExt; 394 #endif /* __cplusplus */ 395 #endif 396 397 #ifndef __ICatalogFileInfo_FWD_DEFINED__ 398 #define __ICatalogFileInfo_FWD_DEFINED__ 399 typedef interface ICatalogFileInfo ICatalogFileInfo; 400 #ifdef __cplusplus 401 interface ICatalogFileInfo; 402 #endif /* __cplusplus */ 403 #endif 404 405 #ifndef __IDataFilter_FWD_DEFINED__ 406 #define __IDataFilter_FWD_DEFINED__ 407 typedef interface IDataFilter IDataFilter; 408 #ifdef __cplusplus 409 interface IDataFilter; 410 #endif /* __cplusplus */ 411 #endif 412 413 #ifndef __IEncodingFilterFactory_FWD_DEFINED__ 414 #define __IEncodingFilterFactory_FWD_DEFINED__ 415 typedef interface IEncodingFilterFactory IEncodingFilterFactory; 416 #ifdef __cplusplus 417 interface IEncodingFilterFactory; 418 #endif /* __cplusplus */ 419 #endif 420 421 #ifndef __IWrappedProtocol_FWD_DEFINED__ 422 #define __IWrappedProtocol_FWD_DEFINED__ 423 typedef interface IWrappedProtocol IWrappedProtocol; 424 #ifdef __cplusplus 425 interface IWrappedProtocol; 426 #endif /* __cplusplus */ 427 #endif 428 429 #ifndef __IGetBindHandle_FWD_DEFINED__ 430 #define __IGetBindHandle_FWD_DEFINED__ 431 typedef interface IGetBindHandle IGetBindHandle; 432 #ifdef __cplusplus 433 interface IGetBindHandle; 434 #endif /* __cplusplus */ 435 #endif 436 437 #ifndef __IBindCallbackRedirect_FWD_DEFINED__ 438 #define __IBindCallbackRedirect_FWD_DEFINED__ 439 typedef interface IBindCallbackRedirect IBindCallbackRedirect; 440 #ifdef __cplusplus 441 interface IBindCallbackRedirect; 442 #endif /* __cplusplus */ 443 #endif 444 445 /* Headers for imported files */ 446 447 #include <objidl.h> 448 #include <oleidl.h> 449 #include <servprov.h> 450 #include <msxml.h> 451 452 #ifdef __cplusplus 453 extern "C" { 454 #endif 455 456 /** 457 * This file is part of the mingw-w64 runtime package. 458 * No warranty is given; refer to the file DISCLAIMER within this package. 459 */ 460 461 #include <winapifamily.h> 462 463 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 464 465 466 #ifndef __IPersistMoniker_FWD_DEFINED__ 467 #define __IPersistMoniker_FWD_DEFINED__ 468 typedef interface IPersistMoniker IPersistMoniker; 469 #ifdef __cplusplus 470 interface IPersistMoniker; 471 #endif /* __cplusplus */ 472 #endif 473 474 #ifndef __IBindProtocol_FWD_DEFINED__ 475 #define __IBindProtocol_FWD_DEFINED__ 476 typedef interface IBindProtocol IBindProtocol; 477 #ifdef __cplusplus 478 interface IBindProtocol; 479 #endif /* __cplusplus */ 480 #endif 481 482 #ifndef __IBinding_FWD_DEFINED__ 483 #define __IBinding_FWD_DEFINED__ 484 typedef interface IBinding IBinding; 485 #ifdef __cplusplus 486 interface IBinding; 487 #endif /* __cplusplus */ 488 #endif 489 490 #ifndef __IBindStatusCallback_FWD_DEFINED__ 491 #define __IBindStatusCallback_FWD_DEFINED__ 492 typedef interface IBindStatusCallback IBindStatusCallback; 493 #ifdef __cplusplus 494 interface IBindStatusCallback; 495 #endif /* __cplusplus */ 496 #endif 497 498 #ifndef __IBindStatusCallbackEx_FWD_DEFINED__ 499 #define __IBindStatusCallbackEx_FWD_DEFINED__ 500 typedef interface IBindStatusCallbackEx IBindStatusCallbackEx; 501 #ifdef __cplusplus 502 interface IBindStatusCallbackEx; 503 #endif /* __cplusplus */ 504 #endif 505 506 #ifndef __IBindStatusCallbackMsg_FWD_DEFINED__ 507 #define __IBindStatusCallbackMsg_FWD_DEFINED__ 508 typedef interface IBindStatusCallbackMsg IBindStatusCallbackMsg; 509 #ifdef __cplusplus 510 interface IBindStatusCallbackMsg; 511 #endif /* __cplusplus */ 512 #endif 513 514 #ifndef __IAuthenticate_FWD_DEFINED__ 515 #define __IAuthenticate_FWD_DEFINED__ 516 typedef interface IAuthenticate IAuthenticate; 517 #ifdef __cplusplus 518 interface IAuthenticate; 519 #endif /* __cplusplus */ 520 #endif 521 522 #ifndef __IAuthenticateEx_FWD_DEFINED__ 523 #define __IAuthenticateEx_FWD_DEFINED__ 524 typedef interface IAuthenticateEx IAuthenticateEx; 525 #ifdef __cplusplus 526 interface IAuthenticateEx; 527 #endif /* __cplusplus */ 528 #endif 529 530 #ifndef __IWindowForBindingUI_FWD_DEFINED__ 531 #define __IWindowForBindingUI_FWD_DEFINED__ 532 typedef interface IWindowForBindingUI IWindowForBindingUI; 533 #ifdef __cplusplus 534 interface IWindowForBindingUI; 535 #endif /* __cplusplus */ 536 #endif 537 538 #ifndef __ICodeInstall_FWD_DEFINED__ 539 #define __ICodeInstall_FWD_DEFINED__ 540 typedef interface ICodeInstall ICodeInstall; 541 #ifdef __cplusplus 542 interface ICodeInstall; 543 #endif /* __cplusplus */ 544 #endif 545 546 #ifndef __IHttpNegotiate_FWD_DEFINED__ 547 #define __IHttpNegotiate_FWD_DEFINED__ 548 typedef interface IHttpNegotiate IHttpNegotiate; 549 #ifdef __cplusplus 550 interface IHttpNegotiate; 551 #endif /* __cplusplus */ 552 #endif 553 554 #ifndef __IHttpNegotiate2_FWD_DEFINED__ 555 #define __IHttpNegotiate2_FWD_DEFINED__ 556 typedef interface IHttpNegotiate2 IHttpNegotiate2; 557 #ifdef __cplusplus 558 interface IHttpNegotiate2; 559 #endif /* __cplusplus */ 560 #endif 561 562 #ifndef __IHttpNegotiate3_FWD_DEFINED__ 563 #define __IHttpNegotiate3_FWD_DEFINED__ 564 typedef interface IHttpNegotiate3 IHttpNegotiate3; 565 #ifdef __cplusplus 566 interface IHttpNegotiate3; 567 #endif /* __cplusplus */ 568 #endif 569 570 #ifndef __IWinInetFileStream_FWD_DEFINED__ 571 #define __IWinInetFileStream_FWD_DEFINED__ 572 typedef interface IWinInetFileStream IWinInetFileStream; 573 #ifdef __cplusplus 574 interface IWinInetFileStream; 575 #endif /* __cplusplus */ 576 #endif 577 578 #ifndef __IXMLElement_FWD_DEFINED__ 579 #define __IXMLElement_FWD_DEFINED__ 580 typedef interface IXMLElement IXMLElement; 581 #ifdef __cplusplus 582 interface IXMLElement; 583 #endif /* __cplusplus */ 584 #endif 585 586 587 EXTERN_C const IID CLSID_SBS_StdURLMoniker; 588 EXTERN_C const IID CLSID_SBS_HttpProtocol; 589 EXTERN_C const IID CLSID_SBS_FtpProtocol; 590 EXTERN_C const IID CLSID_SBS_GopherProtocol; 591 EXTERN_C const IID CLSID_SBS_HttpSProtocol; 592 EXTERN_C const IID CLSID_SBS_FileProtocol; 593 EXTERN_C const IID CLSID_SBS_MkProtocol; 594 EXTERN_C const IID CLSID_SBS_UrlMkBindCtx; 595 EXTERN_C const IID CLSID_SBS_SoftDistExt; 596 EXTERN_C const IID CLSID_SBS_CdlProtocol; 597 EXTERN_C const IID CLSID_SBS_ClassInstallFilter; 598 EXTERN_C const IID CLSID_SBS_InternetSecurityManager; 599 EXTERN_C const IID CLSID_SBS_InternetZoneManager; 600 601 #define BINDF_DONTUSECACHE BINDF_GETNEWESTVERSION 602 #define BINDF_DONTPUTINCACHE BINDF_NOWRITECACHE 603 #define BINDF_NOCOPYDATA BINDF_PULLDATA 604 #define INVALID_P_ROOT_SECURITY_ID ((BYTE*)-1) 605 606 #define PI_DOCFILECLSIDLOOKUP PI_CLSIDLOOKUP 607 608 EXTERN_C const IID IID_IAsyncMoniker; 609 EXTERN_C const IID CLSID_StdURLMoniker; 610 EXTERN_C const IID CLSID_HttpProtocol; 611 EXTERN_C const IID CLSID_FtpProtocol; 612 EXTERN_C const IID CLSID_GopherProtocol; 613 EXTERN_C const IID CLSID_HttpSProtocol; 614 EXTERN_C const IID CLSID_FileProtocol; 615 EXTERN_C const IID CLSID_MkProtocol; 616 EXTERN_C const IID CLSID_StdURLProtocol; 617 EXTERN_C const IID CLSID_UrlMkBindCtx; 618 EXTERN_C const IID CLSID_CdlProtocol; 619 EXTERN_C const IID CLSID_ClassInstallFilter; 620 EXTERN_C const IID IID_IAsyncBindCtx; 621 622 #define SZ_URLCONTEXT OLESTR("URL Context") 623 #define SZ_ASYNC_CALLEE OLESTR("AsyncCallee") 624 625 #define MKSYS_URLMONIKER 6 626 #define URL_MK_LEGACY 0 627 #define URL_MK_UNIFORM 1 628 #define URL_MK_NO_CANONICALIZE 2 629 630 STDAPI CreateURLMoniker(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER *ppmk); 631 STDAPI CreateURLMonikerEx(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER *ppmk, DWORD dwFlags); 632 STDAPI GetClassURL(LPCWSTR szURL, CLSID *pClsID); 633 STDAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEFetc, IBindCtx **ppBC); 634 #if (_WIN32_IE >= _WIN32_IE_IE70) 635 STDAPI CreateURLMonikerEx2(LPMONIKER pMkCtx, IUri *pUri, LPMONIKER *ppmk, DWORD dwFlags); 636 #endif 637 STDAPI CreateAsyncBindCtxEx(IBindCtx *pbc, DWORD dwOptions, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEnum, IBindCtx **ppBC, DWORD reserved); 638 STDAPI MkParseDisplayNameEx(IBindCtx *pbc, LPCWSTR szDisplayName, ULONG *pchEaten, LPMONIKER *ppmk); 639 STDAPI RegisterBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb, IBindStatusCallback **ppBSCBPrev, DWORD dwReserved); 640 STDAPI RevokeBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb); 641 STDAPI GetClassFileOrMime(LPBC pBC, LPCWSTR szFilename, LPVOID pBuffer, DWORD cbSize, LPCWSTR szMime, DWORD dwReserved, CLSID *pclsid); 642 STDAPI IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved); 643 STDAPI CoGetClassObjectFromURL(REFCLSID rCLASSID, LPCWSTR szCODE, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szTYPE, LPBINDCTX pBindCtx, DWORD dwClsContext, LPVOID pvReserved, REFIID riid, LPVOID *ppv); 644 STDAPI IEInstallScope(LPDWORD pdwScope); 645 STDAPI FaultInIEFeature(HWND hWnd, uCLSSPEC *pClassSpec, QUERYCONTEXT *pQuery, DWORD dwFlags); 646 STDAPI GetComponentIDFromCLSSPEC(uCLSSPEC *pClassspec, LPSTR *ppszComponentID); 647 648 #define FIEF_FLAG_FORCE_JITUI 0x1 649 #define FIEF_FLAG_PEEK 0x2 650 #define FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK 0x4 651 652 STDAPI IsAsyncMoniker(IMoniker *pmk); 653 STDAPI CreateURLBinding(LPCWSTR lpszUrl, IBindCtx *pbc, IBinding **ppBdg); 654 STDAPI RegisterMediaTypes(UINT ctypes, const LPCSTR *rgszTypes, CLIPFORMAT *rgcfTypes); 655 STDAPI FindMediaType(LPCSTR rgszTypes, CLIPFORMAT *rgcfTypes); 656 STDAPI CreateFormatEnumerator(UINT cfmtetc, FORMATETC *rgfmtetc, IEnumFORMATETC **ppenumfmtetc); 657 STDAPI RegisterFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc, DWORD reserved); 658 STDAPI RevokeFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc); 659 STDAPI RegisterMediaTypeClass(LPBC pBC,UINT ctypes, const LPCSTR *rgszTypes, CLSID *rgclsID, DWORD reserved); 660 STDAPI FindMediaTypeClass(LPBC pBC, LPCSTR szType, CLSID *pclsID, DWORD reserved); 661 STDAPI UrlMkSetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved); 662 STDAPI UrlMkGetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD *pdwBufferLengthOut, DWORD dwReserved); 663 STDAPI FindMimeFromData(LPBC pBC, LPCWSTR pwzUrl, LPVOID pBuffer, DWORD cbSize, LPCWSTR pwzMimeProposed, DWORD dwMimeFlags, LPWSTR *ppwzMimeOut, DWORD dwReserved); 664 665 #define FMFD_DEFAULT 0x0 666 #define FMFD_URLASFILENAME 0x1 667 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 668 #define FMFD_ENABLEMIMESNIFFING 0x2 669 #define FMFD_IGNOREMIMETEXTPLAIN 0x4 670 #endif 671 672 #define FMFD_SERVERMIME 0x8 673 #define FMFD_RESPECTTEXTPLAIN 0x10 674 #define FMFD_RETURNUPDATEDIMGMIMES 0x20 675 #define UAS_EXACTLEGACY 0x1000 676 677 STDAPI ObtainUserAgentString(DWORD dwOption, LPSTR pszUAOut, DWORD *cbSize); 678 STDAPI CompareSecurityIds(BYTE *pbSecurityId1, DWORD dwLen1, BYTE *pbSecurityId2, DWORD dwLen2, DWORD dwReserved); 679 STDAPI CompatFlagsFromClsid(CLSID *pclsid, LPDWORD pdwCompatFlags, LPDWORD pdwMiscStatusFlags); 680 681 #define URLMON_OPTION_USERAGENT 0x10000001 682 #define URLMON_OPTION_USERAGENT_REFRESH 0x10000002 683 #define URLMON_OPTION_URL_ENCODING 0x10000004 684 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 685 #define URLMON_OPTION_USE_BINDSTRINGCREDS 0x10000008 686 #endif 687 #if (_WIN32_IE >= _WIN32_IE_IE70) 688 #define URLMON_OPTION_USE_BROWSERAPPSDOCUMENTS 0x10000010 689 #endif 690 #endif 691 692 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 693 #define CF_NULL 0 694 #define CFSTR_MIME_NULL NULL 695 696 #define CFSTR_MIME_TEXT (TEXT("text/plain")) 697 #define CFSTR_MIME_RICHTEXT (TEXT("text/richtext")) 698 #define CFSTR_MIME_MANIFEST (TEXT("text/cache-manifest")) 699 #define CFSTR_MIME_WEBVTT (TEXT("text/vtt")) 700 #define CFSTR_MIME_X_BITMAP (TEXT("image/x-xbitmap")) 701 #define CFSTR_MIME_POSTSCRIPT (TEXT("application/postscript")) 702 #define CFSTR_MIME_AIFF (TEXT("audio/aiff")) 703 #define CFSTR_MIME_BASICAUDIO (TEXT("audio/basic")) 704 #define CFSTR_MIME_WAV (TEXT("audio/wav")) 705 #define CFSTR_MIME_X_WAV (TEXT("audio/x-wav")) 706 #define CFSTR_MIME_GIF (TEXT("image/gif")) 707 #define CFSTR_MIME_PJPEG (TEXT("image/pjpeg")) 708 #define CFSTR_MIME_JPEG (TEXT("image/jpeg")) 709 #define CFSTR_MIME_TIFF (TEXT("image/tiff")) 710 #define CFSTR_MIME_JPEG_XR (TEXT("image/vnd.ms-photo")) 711 #define CFSTR_MIME_PNG (TEXT("image/png")) 712 #define CFSTR_MIME_X_PNG (TEXT("image/x-png")) 713 #define CFSTR_MIME_X_ICON (TEXT("image/x-icon")) 714 #define CFSTR_MIME_SVG_XML (TEXT("image/svg+xml")) 715 #define CFSTR_MIME_BMP (TEXT("image/bmp")) 716 #define CFSTR_MIME_X_EMF (TEXT("image/x-emf")) 717 #define CFSTR_MIME_X_WMF (TEXT("image/x-wmf")) 718 #define CFSTR_MIME_AVI (TEXT("video/avi")) 719 #define CFSTR_MIME_MPEG (TEXT("video/mpeg")) 720 #define CFSTR_MIME_FRACTALS (TEXT("application/fractals")) 721 #define CFSTR_MIME_RAWDATA (TEXT("application/octet-stream")) 722 #define CFSTR_MIME_RAWDATASTRM (TEXT("application/octet-stream")) 723 #define CFSTR_MIME_PDF (TEXT("application/pdf")) 724 #define CFSTR_MIME_HTA (TEXT("application/hta")) 725 #define CFSTR_MIME_APP_XML (TEXT("application/xml")) 726 #define CFSTR_MIME_XHTML (TEXT("application/xhtml+xml")) 727 #define CFSTR_MIME_X_AIFF (TEXT("audio/x-aiff")) 728 #define CFSTR_MIME_X_REALAUDIO (TEXT("audio/x-pn-realaudio")) 729 #define CFSTR_MIME_XBM (TEXT("image/xbm")) 730 #define CFSTR_MIME_QUICKTIME (TEXT("video/quicktime")) 731 #define CFSTR_MIME_X_MSVIDEO (TEXT("video/x-msvideo")) 732 #define CFSTR_MIME_X_SGI_MOVIE (TEXT("video/x-sgi-movie")) 733 #define CFSTR_MIME_HTML (TEXT("text/html")) 734 #define CFSTR_MIME_XML (TEXT("text/xml")) 735 #define CFSTR_MIME_TTML (TEXT("application/ttml+xml")) 736 #define CFSTR_MIME_TTAF (TEXT("application/ttaf+xml")) 737 738 #define MK_S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x401E8L) 739 #ifndef S_ASYNCHRONOUS 740 #define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS 741 #endif 742 743 #ifndef E_PENDING 744 #define E_PENDING _HRESULT_TYPEDEF_(__MSABI_LONG(0x8000000a)) 745 #endif 746 #define INET_E_INVALID_URL _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0002)) 747 #define INET_E_NO_SESSION _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0003)) 748 #define INET_E_CANNOT_CONNECT _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0004)) 749 #define INET_E_RESOURCE_NOT_FOUND _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0005)) 750 #define INET_E_OBJECT_NOT_FOUND _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0006)) 751 #define INET_E_DATA_NOT_AVAILABLE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0007)) 752 #define INET_E_DOWNLOAD_FAILURE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0008)) 753 #define INET_E_AUTHENTICATION_REQUIRED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0009)) 754 #define INET_E_NO_VALID_MEDIA _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000A)) 755 #define INET_E_CONNECTION_TIMEOUT _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000B)) 756 #define INET_E_INVALID_REQUEST _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000C)) 757 #define INET_E_UNKNOWN_PROTOCOL _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000D)) 758 #define INET_E_SECURITY_PROBLEM _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000E)) 759 #define INET_E_CANNOT_LOAD_DATA _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000F)) 760 #define INET_E_CANNOT_INSTANTIATE_OBJECT _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0010)) 761 #define INET_E_INVALID_CERTIFICATE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0019)) 762 #define INET_E_REDIRECT_FAILED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0014)) 763 #define INET_E_REDIRECT_TO_DIR _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0015)) 764 #define INET_E_CANNOT_LOCK_REQUEST _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0016)) 765 #define INET_E_USE_EXTEND_BINDING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0017)) 766 #define INET_E_TERMINATED_BIND _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0018)) 767 #define INET_E_RESERVED_1 _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C001A)) 768 #define INET_E_BLOCKED_REDIRECT_XSECURITYID _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C001B)) 769 #define INET_E_DOMINJECTIONVALIDATION _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C001C)) 770 #define INET_E_ERROR_FIRST _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0002)) 771 #define INET_E_CODE_DOWNLOAD_DECLINED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0100)) 772 #define INET_E_RESULT_DISPATCHED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0200)) 773 #define INET_E_CANNOT_REPLACE_SFP_FILE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0300)) 774 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 775 #define INET_E_CODE_INSTALL_SUPPRESSED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0400)) 776 #endif 777 #define INET_E_CODE_INSTALL_BLOCKED_BY_HASH_POLICY _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0500)) 778 #define INET_E_DOWNLOAD_BLOCKED_BY_INPRIVATE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0501)) 779 #define INET_E_CODE_INSTALL_BLOCKED_IMMERSIVE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0502)) 780 #define INET_E_FORBIDFRAMING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0503)) 781 #define INET_E_CODE_INSTALL_BLOCKED_ARM _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0504)) 782 #define INET_E_BLOCKED_PLUGGABLE_PROTOCOL _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0505)) 783 #define INET_E_ERROR_LAST INET_E_BLOCKED_PLUGGABLE_PROTOCOL 784 #endif 785 786 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 787 #ifndef _LPPERSISTMONIKER_DEFINED 788 #define _LPPERSISTMONIKER_DEFINED 789 /***************************************************************************** 790 * IPersistMoniker interface 791 */ 792 #ifndef __IPersistMoniker_INTERFACE_DEFINED__ 793 #define __IPersistMoniker_INTERFACE_DEFINED__ 794 795 typedef IPersistMoniker *LPPERSISTMONIKER; 796 797 DEFINE_GUID(IID_IPersistMoniker, 0x79eac9c9, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 798 #if defined(__cplusplus) && !defined(CINTERFACE) 799 MIDL_INTERFACE("79eac9c9-baf9-11ce-8c82-00aa004ba90b") 800 IPersistMoniker : public IUnknown 801 { 802 virtual HRESULT STDMETHODCALLTYPE GetClassID( 803 CLSID *pClassID) = 0; 804 805 virtual HRESULT STDMETHODCALLTYPE IsDirty( 806 ) = 0; 807 808 virtual HRESULT STDMETHODCALLTYPE Load( 809 WINBOOL fFullyAvailable, 810 IMoniker *pimkName, 811 LPBC pibc, 812 DWORD grfMode) = 0; 813 814 virtual HRESULT STDMETHODCALLTYPE Save( 815 IMoniker *pimkName, 816 LPBC pbc, 817 WINBOOL fRemember) = 0; 818 819 virtual HRESULT STDMETHODCALLTYPE SaveCompleted( 820 IMoniker *pimkName, 821 LPBC pibc) = 0; 822 823 virtual HRESULT STDMETHODCALLTYPE GetCurMoniker( 824 IMoniker **ppimkName) = 0; 825 826 }; 827 #ifdef __CRT_UUID_DECL 828 __CRT_UUID_DECL(IPersistMoniker, 0x79eac9c9, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 829 #endif 830 #else 831 typedef struct IPersistMonikerVtbl { 832 BEGIN_INTERFACE 833 834 /*** IUnknown methods ***/ 835 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 836 IPersistMoniker *This, 837 REFIID riid, 838 void **ppvObject); 839 840 ULONG (STDMETHODCALLTYPE *AddRef)( 841 IPersistMoniker *This); 842 843 ULONG (STDMETHODCALLTYPE *Release)( 844 IPersistMoniker *This); 845 846 /*** IPersistMoniker methods ***/ 847 HRESULT (STDMETHODCALLTYPE *GetClassID)( 848 IPersistMoniker *This, 849 CLSID *pClassID); 850 851 HRESULT (STDMETHODCALLTYPE *IsDirty)( 852 IPersistMoniker *This); 853 854 HRESULT (STDMETHODCALLTYPE *Load)( 855 IPersistMoniker *This, 856 WINBOOL fFullyAvailable, 857 IMoniker *pimkName, 858 LPBC pibc, 859 DWORD grfMode); 860 861 HRESULT (STDMETHODCALLTYPE *Save)( 862 IPersistMoniker *This, 863 IMoniker *pimkName, 864 LPBC pbc, 865 WINBOOL fRemember); 866 867 HRESULT (STDMETHODCALLTYPE *SaveCompleted)( 868 IPersistMoniker *This, 869 IMoniker *pimkName, 870 LPBC pibc); 871 872 HRESULT (STDMETHODCALLTYPE *GetCurMoniker)( 873 IPersistMoniker *This, 874 IMoniker **ppimkName); 875 876 END_INTERFACE 877 } IPersistMonikerVtbl; 878 879 interface IPersistMoniker { 880 CONST_VTBL IPersistMonikerVtbl* lpVtbl; 881 }; 882 883 #ifdef COBJMACROS 884 #ifndef WIDL_C_INLINE_WRAPPERS 885 /*** IUnknown methods ***/ 886 #define IPersistMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 887 #define IPersistMoniker_AddRef(This) (This)->lpVtbl->AddRef(This) 888 #define IPersistMoniker_Release(This) (This)->lpVtbl->Release(This) 889 /*** IPersistMoniker methods ***/ 890 #define IPersistMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 891 #define IPersistMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This) 892 #define IPersistMoniker_Load(This,fFullyAvailable,pimkName,pibc,grfMode) (This)->lpVtbl->Load(This,fFullyAvailable,pimkName,pibc,grfMode) 893 #define IPersistMoniker_Save(This,pimkName,pbc,fRemember) (This)->lpVtbl->Save(This,pimkName,pbc,fRemember) 894 #define IPersistMoniker_SaveCompleted(This,pimkName,pibc) (This)->lpVtbl->SaveCompleted(This,pimkName,pibc) 895 #define IPersistMoniker_GetCurMoniker(This,ppimkName) (This)->lpVtbl->GetCurMoniker(This,ppimkName) 896 #else 897 /*** IUnknown methods ***/ 898 static FORCEINLINE HRESULT IPersistMoniker_QueryInterface(IPersistMoniker* This,REFIID riid,void **ppvObject) { 899 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 900 } 901 static FORCEINLINE ULONG IPersistMoniker_AddRef(IPersistMoniker* This) { 902 return This->lpVtbl->AddRef(This); 903 } 904 static FORCEINLINE ULONG IPersistMoniker_Release(IPersistMoniker* This) { 905 return This->lpVtbl->Release(This); 906 } 907 /*** IPersistMoniker methods ***/ 908 static FORCEINLINE HRESULT IPersistMoniker_GetClassID(IPersistMoniker* This,CLSID *pClassID) { 909 return This->lpVtbl->GetClassID(This,pClassID); 910 } 911 static FORCEINLINE HRESULT IPersistMoniker_IsDirty(IPersistMoniker* This) { 912 return This->lpVtbl->IsDirty(This); 913 } 914 static FORCEINLINE HRESULT IPersistMoniker_Load(IPersistMoniker* This,WINBOOL fFullyAvailable,IMoniker *pimkName,LPBC pibc,DWORD grfMode) { 915 return This->lpVtbl->Load(This,fFullyAvailable,pimkName,pibc,grfMode); 916 } 917 static FORCEINLINE HRESULT IPersistMoniker_Save(IPersistMoniker* This,IMoniker *pimkName,LPBC pbc,WINBOOL fRemember) { 918 return This->lpVtbl->Save(This,pimkName,pbc,fRemember); 919 } 920 static FORCEINLINE HRESULT IPersistMoniker_SaveCompleted(IPersistMoniker* This,IMoniker *pimkName,LPBC pibc) { 921 return This->lpVtbl->SaveCompleted(This,pimkName,pibc); 922 } 923 static FORCEINLINE HRESULT IPersistMoniker_GetCurMoniker(IPersistMoniker* This,IMoniker **ppimkName) { 924 return This->lpVtbl->GetCurMoniker(This,ppimkName); 925 } 926 #endif 927 #endif 928 929 #endif 930 931 932 #endif /* __IPersistMoniker_INTERFACE_DEFINED__ */ 933 934 #endif 935 936 #ifndef _LPMONIKERPROP_DEFINED 937 #define _LPMONIKERPROP_DEFINED 938 /***************************************************************************** 939 * IMonikerProp interface 940 */ 941 #ifndef __IMonikerProp_INTERFACE_DEFINED__ 942 #define __IMonikerProp_INTERFACE_DEFINED__ 943 944 typedef IMonikerProp *LPMONIKERPROP; 945 946 typedef enum __WIDL_urlmon_generated_name_00000002 { 947 MIMETYPEPROP = 0x0, 948 USE_SRC_URL = 0x1, 949 CLASSIDPROP = 0x2, 950 TRUSTEDDOWNLOADPROP = 0x3, 951 POPUPLEVELPROP = 0x4 952 } MONIKERPROPERTY; 953 954 DEFINE_GUID(IID_IMonikerProp, 0xa5ca5f7f, 0x1847, 0x4d87, 0x9c,0x5b, 0x91,0x85,0x09,0xf7,0x51,0x1d); 955 #if defined(__cplusplus) && !defined(CINTERFACE) 956 MIDL_INTERFACE("a5ca5f7f-1847-4d87-9c5b-918509f7511d") 957 IMonikerProp : public IUnknown 958 { 959 virtual HRESULT STDMETHODCALLTYPE PutProperty( 960 MONIKERPROPERTY mkp, 961 LPCWSTR val) = 0; 962 963 }; 964 #ifdef __CRT_UUID_DECL 965 __CRT_UUID_DECL(IMonikerProp, 0xa5ca5f7f, 0x1847, 0x4d87, 0x9c,0x5b, 0x91,0x85,0x09,0xf7,0x51,0x1d) 966 #endif 967 #else 968 typedef struct IMonikerPropVtbl { 969 BEGIN_INTERFACE 970 971 /*** IUnknown methods ***/ 972 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 973 IMonikerProp *This, 974 REFIID riid, 975 void **ppvObject); 976 977 ULONG (STDMETHODCALLTYPE *AddRef)( 978 IMonikerProp *This); 979 980 ULONG (STDMETHODCALLTYPE *Release)( 981 IMonikerProp *This); 982 983 /*** IMonikerProp methods ***/ 984 HRESULT (STDMETHODCALLTYPE *PutProperty)( 985 IMonikerProp *This, 986 MONIKERPROPERTY mkp, 987 LPCWSTR val); 988 989 END_INTERFACE 990 } IMonikerPropVtbl; 991 992 interface IMonikerProp { 993 CONST_VTBL IMonikerPropVtbl* lpVtbl; 994 }; 995 996 #ifdef COBJMACROS 997 #ifndef WIDL_C_INLINE_WRAPPERS 998 /*** IUnknown methods ***/ 999 #define IMonikerProp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1000 #define IMonikerProp_AddRef(This) (This)->lpVtbl->AddRef(This) 1001 #define IMonikerProp_Release(This) (This)->lpVtbl->Release(This) 1002 /*** IMonikerProp methods ***/ 1003 #define IMonikerProp_PutProperty(This,mkp,val) (This)->lpVtbl->PutProperty(This,mkp,val) 1004 #else 1005 /*** IUnknown methods ***/ 1006 static FORCEINLINE HRESULT IMonikerProp_QueryInterface(IMonikerProp* This,REFIID riid,void **ppvObject) { 1007 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1008 } 1009 static FORCEINLINE ULONG IMonikerProp_AddRef(IMonikerProp* This) { 1010 return This->lpVtbl->AddRef(This); 1011 } 1012 static FORCEINLINE ULONG IMonikerProp_Release(IMonikerProp* This) { 1013 return This->lpVtbl->Release(This); 1014 } 1015 /*** IMonikerProp methods ***/ 1016 static FORCEINLINE HRESULT IMonikerProp_PutProperty(IMonikerProp* This,MONIKERPROPERTY mkp,LPCWSTR val) { 1017 return This->lpVtbl->PutProperty(This,mkp,val); 1018 } 1019 #endif 1020 #endif 1021 1022 #endif 1023 1024 1025 #endif /* __IMonikerProp_INTERFACE_DEFINED__ */ 1026 1027 #endif 1028 1029 #ifndef _LPBINDPROTOCOL_DEFINED 1030 #define _LPBINDPROTOCOL_DEFINED 1031 1032 /***************************************************************************** 1033 * IBindProtocol interface 1034 */ 1035 #ifndef __IBindProtocol_INTERFACE_DEFINED__ 1036 #define __IBindProtocol_INTERFACE_DEFINED__ 1037 1038 typedef IBindProtocol *LPBINDPROTOCOL; 1039 1040 DEFINE_GUID(IID_IBindProtocol, 0x79eac9cd, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 1041 #if defined(__cplusplus) && !defined(CINTERFACE) 1042 MIDL_INTERFACE("79eac9cd-baf9-11ce-8c82-00aa004ba90b") 1043 IBindProtocol : public IUnknown 1044 { 1045 virtual HRESULT STDMETHODCALLTYPE CreateBinding( 1046 LPCWSTR szUrl, 1047 IBindCtx *pbc, 1048 IBinding **ppb) = 0; 1049 1050 }; 1051 #ifdef __CRT_UUID_DECL 1052 __CRT_UUID_DECL(IBindProtocol, 0x79eac9cd, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 1053 #endif 1054 #else 1055 typedef struct IBindProtocolVtbl { 1056 BEGIN_INTERFACE 1057 1058 /*** IUnknown methods ***/ 1059 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1060 IBindProtocol *This, 1061 REFIID riid, 1062 void **ppvObject); 1063 1064 ULONG (STDMETHODCALLTYPE *AddRef)( 1065 IBindProtocol *This); 1066 1067 ULONG (STDMETHODCALLTYPE *Release)( 1068 IBindProtocol *This); 1069 1070 /*** IBindProtocol methods ***/ 1071 HRESULT (STDMETHODCALLTYPE *CreateBinding)( 1072 IBindProtocol *This, 1073 LPCWSTR szUrl, 1074 IBindCtx *pbc, 1075 IBinding **ppb); 1076 1077 END_INTERFACE 1078 } IBindProtocolVtbl; 1079 1080 interface IBindProtocol { 1081 CONST_VTBL IBindProtocolVtbl* lpVtbl; 1082 }; 1083 1084 #ifdef COBJMACROS 1085 #ifndef WIDL_C_INLINE_WRAPPERS 1086 /*** IUnknown methods ***/ 1087 #define IBindProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1088 #define IBindProtocol_AddRef(This) (This)->lpVtbl->AddRef(This) 1089 #define IBindProtocol_Release(This) (This)->lpVtbl->Release(This) 1090 /*** IBindProtocol methods ***/ 1091 #define IBindProtocol_CreateBinding(This,szUrl,pbc,ppb) (This)->lpVtbl->CreateBinding(This,szUrl,pbc,ppb) 1092 #else 1093 /*** IUnknown methods ***/ 1094 static FORCEINLINE HRESULT IBindProtocol_QueryInterface(IBindProtocol* This,REFIID riid,void **ppvObject) { 1095 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1096 } 1097 static FORCEINLINE ULONG IBindProtocol_AddRef(IBindProtocol* This) { 1098 return This->lpVtbl->AddRef(This); 1099 } 1100 static FORCEINLINE ULONG IBindProtocol_Release(IBindProtocol* This) { 1101 return This->lpVtbl->Release(This); 1102 } 1103 /*** IBindProtocol methods ***/ 1104 static FORCEINLINE HRESULT IBindProtocol_CreateBinding(IBindProtocol* This,LPCWSTR szUrl,IBindCtx *pbc,IBinding **ppb) { 1105 return This->lpVtbl->CreateBinding(This,szUrl,pbc,ppb); 1106 } 1107 #endif 1108 #endif 1109 1110 #endif 1111 1112 1113 #endif /* __IBindProtocol_INTERFACE_DEFINED__ */ 1114 1115 #endif 1116 1117 #ifndef _LPBINDING_DEFINED 1118 #define _LPBINDING_DEFINED 1119 1120 /***************************************************************************** 1121 * IBinding interface 1122 */ 1123 #ifndef __IBinding_INTERFACE_DEFINED__ 1124 #define __IBinding_INTERFACE_DEFINED__ 1125 1126 typedef IBinding *LPBINDING; 1127 1128 DEFINE_GUID(IID_IBinding, 0x79eac9c0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 1129 #if defined(__cplusplus) && !defined(CINTERFACE) 1130 MIDL_INTERFACE("79eac9c0-baf9-11ce-8c82-00aa004ba90b") 1131 IBinding : public IUnknown 1132 { 1133 virtual HRESULT STDMETHODCALLTYPE Abort( 1134 ) = 0; 1135 1136 virtual HRESULT STDMETHODCALLTYPE Suspend( 1137 ) = 0; 1138 1139 virtual HRESULT STDMETHODCALLTYPE Resume( 1140 ) = 0; 1141 1142 virtual HRESULT STDMETHODCALLTYPE SetPriority( 1143 LONG nPriority) = 0; 1144 1145 virtual HRESULT STDMETHODCALLTYPE GetPriority( 1146 LONG *pnPriority) = 0; 1147 1148 virtual HRESULT STDMETHODCALLTYPE GetBindResult( 1149 CLSID *pclsidProtocol, 1150 DWORD *pdwResult, 1151 LPOLESTR *pszResult, 1152 DWORD *pdwReserved) = 0; 1153 1154 }; 1155 #ifdef __CRT_UUID_DECL 1156 __CRT_UUID_DECL(IBinding, 0x79eac9c0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 1157 #endif 1158 #else 1159 typedef struct IBindingVtbl { 1160 BEGIN_INTERFACE 1161 1162 /*** IUnknown methods ***/ 1163 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1164 IBinding *This, 1165 REFIID riid, 1166 void **ppvObject); 1167 1168 ULONG (STDMETHODCALLTYPE *AddRef)( 1169 IBinding *This); 1170 1171 ULONG (STDMETHODCALLTYPE *Release)( 1172 IBinding *This); 1173 1174 /*** IBinding methods ***/ 1175 HRESULT (STDMETHODCALLTYPE *Abort)( 1176 IBinding *This); 1177 1178 HRESULT (STDMETHODCALLTYPE *Suspend)( 1179 IBinding *This); 1180 1181 HRESULT (STDMETHODCALLTYPE *Resume)( 1182 IBinding *This); 1183 1184 HRESULT (STDMETHODCALLTYPE *SetPriority)( 1185 IBinding *This, 1186 LONG nPriority); 1187 1188 HRESULT (STDMETHODCALLTYPE *GetPriority)( 1189 IBinding *This, 1190 LONG *pnPriority); 1191 1192 HRESULT (STDMETHODCALLTYPE *GetBindResult)( 1193 IBinding *This, 1194 CLSID *pclsidProtocol, 1195 DWORD *pdwResult, 1196 LPOLESTR *pszResult, 1197 DWORD *pdwReserved); 1198 1199 END_INTERFACE 1200 } IBindingVtbl; 1201 1202 interface IBinding { 1203 CONST_VTBL IBindingVtbl* lpVtbl; 1204 }; 1205 1206 #ifdef COBJMACROS 1207 #ifndef WIDL_C_INLINE_WRAPPERS 1208 /*** IUnknown methods ***/ 1209 #define IBinding_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1210 #define IBinding_AddRef(This) (This)->lpVtbl->AddRef(This) 1211 #define IBinding_Release(This) (This)->lpVtbl->Release(This) 1212 /*** IBinding methods ***/ 1213 #define IBinding_Abort(This) (This)->lpVtbl->Abort(This) 1214 #define IBinding_Suspend(This) (This)->lpVtbl->Suspend(This) 1215 #define IBinding_Resume(This) (This)->lpVtbl->Resume(This) 1216 #define IBinding_SetPriority(This,nPriority) (This)->lpVtbl->SetPriority(This,nPriority) 1217 #define IBinding_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority) 1218 #define IBinding_GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved) (This)->lpVtbl->GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved) 1219 #else 1220 /*** IUnknown methods ***/ 1221 static FORCEINLINE HRESULT IBinding_QueryInterface(IBinding* This,REFIID riid,void **ppvObject) { 1222 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1223 } 1224 static FORCEINLINE ULONG IBinding_AddRef(IBinding* This) { 1225 return This->lpVtbl->AddRef(This); 1226 } 1227 static FORCEINLINE ULONG IBinding_Release(IBinding* This) { 1228 return This->lpVtbl->Release(This); 1229 } 1230 /*** IBinding methods ***/ 1231 static FORCEINLINE HRESULT IBinding_Abort(IBinding* This) { 1232 return This->lpVtbl->Abort(This); 1233 } 1234 static FORCEINLINE HRESULT IBinding_Suspend(IBinding* This) { 1235 return This->lpVtbl->Suspend(This); 1236 } 1237 static FORCEINLINE HRESULT IBinding_Resume(IBinding* This) { 1238 return This->lpVtbl->Resume(This); 1239 } 1240 static FORCEINLINE HRESULT IBinding_SetPriority(IBinding* This,LONG nPriority) { 1241 return This->lpVtbl->SetPriority(This,nPriority); 1242 } 1243 static FORCEINLINE HRESULT IBinding_GetPriority(IBinding* This,LONG *pnPriority) { 1244 return This->lpVtbl->GetPriority(This,pnPriority); 1245 } 1246 static FORCEINLINE HRESULT IBinding_GetBindResult(IBinding* This,CLSID *pclsidProtocol,DWORD *pdwResult,LPOLESTR *pszResult,DWORD *pdwReserved) { 1247 return This->lpVtbl->GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved); 1248 } 1249 #endif 1250 #endif 1251 1252 #endif 1253 1254 HRESULT STDMETHODCALLTYPE IBinding_RemoteGetBindResult_Proxy( 1255 IBinding* This, 1256 CLSID *pclsidProtocol, 1257 DWORD *pdwResult, 1258 LPOLESTR *pszResult, 1259 DWORD dwReserved); 1260 void __RPC_STUB IBinding_RemoteGetBindResult_Stub( 1261 IRpcStubBuffer* This, 1262 IRpcChannelBuffer* pRpcChannelBuffer, 1263 PRPC_MESSAGE pRpcMessage, 1264 DWORD* pdwStubPhase); 1265 HRESULT CALLBACK IBinding_GetBindResult_Proxy( 1266 IBinding* This, 1267 CLSID *pclsidProtocol, 1268 DWORD *pdwResult, 1269 LPOLESTR *pszResult, 1270 DWORD *pdwReserved); 1271 HRESULT __RPC_STUB IBinding_GetBindResult_Stub( 1272 IBinding* This, 1273 CLSID *pclsidProtocol, 1274 DWORD *pdwResult, 1275 LPOLESTR *pszResult, 1276 DWORD dwReserved); 1277 1278 #endif /* __IBinding_INTERFACE_DEFINED__ */ 1279 1280 #endif 1281 #endif 1282 1283 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 1284 #ifndef _LPBINDSTATUSCALLBACK_DEFINED 1285 #define _LPBINDSTATUSCALLBACK_DEFINED 1286 1287 /***************************************************************************** 1288 * IBindStatusCallback interface 1289 */ 1290 #ifndef __IBindStatusCallback_INTERFACE_DEFINED__ 1291 #define __IBindStatusCallback_INTERFACE_DEFINED__ 1292 1293 typedef IBindStatusCallback *LPBINDSTATUSCALLBACK; 1294 1295 typedef enum __WIDL_urlmon_generated_name_00000003 { 1296 BINDVERB_GET = 0x0, 1297 BINDVERB_POST = 0x1, 1298 BINDVERB_PUT = 0x2, 1299 BINDVERB_CUSTOM = 0x3, 1300 BINDVERB_RESERVED1 = 0x4 1301 } BINDVERB; 1302 1303 typedef enum __WIDL_urlmon_generated_name_00000004 { 1304 BINDINFOF_URLENCODESTGMEDDATA = 0x1, 1305 BINDINFOF_URLENCODEDEXTRAINFO = 0x2 1306 } BINDINFOF; 1307 1308 typedef enum __WIDL_urlmon_generated_name_00000005 { 1309 BINDF_ASYNCHRONOUS = 0x1, 1310 BINDF_ASYNCSTORAGE = 0x2, 1311 BINDF_NOPROGRESSIVERENDERING = 0x4, 1312 BINDF_OFFLINEOPERATION = 0x8, 1313 BINDF_GETNEWESTVERSION = 0x10, 1314 BINDF_NOWRITECACHE = 0x20, 1315 BINDF_NEEDFILE = 0x40, 1316 BINDF_PULLDATA = 0x80, 1317 BINDF_IGNORESECURITYPROBLEM = 0x100, 1318 BINDF_RESYNCHRONIZE = 0x200, 1319 BINDF_HYPERLINK = 0x400, 1320 BINDF_NO_UI = 0x800, 1321 BINDF_SILENTOPERATION = 0x1000, 1322 BINDF_PRAGMA_NO_CACHE = 0x2000, 1323 BINDF_GETCLASSOBJECT = 0x4000, 1324 BINDF_RESERVED_1 = 0x8000, 1325 BINDF_FREE_THREADED = 0x10000, 1326 BINDF_DIRECT_READ = 0x20000, 1327 BINDF_FORMS_SUBMIT = 0x40000, 1328 BINDF_GETFROMCACHE_IF_NET_FAIL = 0x80000, 1329 BINDF_FROMURLMON = 0x100000, 1330 BINDF_FWD_BACK = 0x200000, 1331 BINDF_PREFERDEFAULTHANDLER = 0x400000, 1332 BINDF_ENFORCERESTRICTED = 0x800000, 1333 BINDF_RESERVED_2 = 0x80000000, 1334 BINDF_RESERVED_3 = 0x1000000, 1335 BINDF_RESERVED_4 = 0x2000000, 1336 BINDF_RESERVED_5 = 0x4000000, 1337 BINDF_RESERVED_6 = 0x8000000, 1338 BINDF_RESERVED_7 = 0x40000000, 1339 BINDF_RESERVED_8 = 0x20000000 1340 } BINDF; 1341 1342 typedef enum __WIDL_urlmon_generated_name_00000006 { 1343 URL_ENCODING_NONE = 0x0, 1344 URL_ENCODING_ENABLE_UTF8 = 0x10000000, 1345 URL_ENCODING_DISABLE_UTF8 = 0x20000000 1346 } URL_ENCODING; 1347 1348 typedef struct _tagBINDINFO { 1349 ULONG cbSize; 1350 LPWSTR szExtraInfo; 1351 STGMEDIUM stgmedData; 1352 DWORD grfBindInfoF; 1353 DWORD dwBindVerb; 1354 LPWSTR szCustomVerb; 1355 DWORD cbstgmedData; 1356 DWORD dwOptions; 1357 DWORD dwOptionsFlags; 1358 DWORD dwCodePage; 1359 SECURITY_ATTRIBUTES securityAttributes; 1360 IID iid; 1361 IUnknown *pUnk; 1362 DWORD dwReserved; 1363 } BINDINFO; 1364 1365 typedef struct _REMSECURITY_ATTRIBUTES { 1366 DWORD nLength; 1367 DWORD lpSecurityDescriptor; 1368 WINBOOL bInheritHandle; 1369 } REMSECURITY_ATTRIBUTES; 1370 typedef struct _REMSECURITY_ATTRIBUTES *PREMSECURITY_ATTRIBUTES; 1371 typedef struct _REMSECURITY_ATTRIBUTES *LPREMSECURITY_ATTRIBUTES; 1372 1373 typedef struct _tagRemBINDINFO { 1374 ULONG cbSize; 1375 LPWSTR szExtraInfo; 1376 DWORD grfBindInfoF; 1377 DWORD dwBindVerb; 1378 LPWSTR szCustomVerb; 1379 DWORD cbstgmedData; 1380 DWORD dwOptions; 1381 DWORD dwOptionsFlags; 1382 DWORD dwCodePage; 1383 REMSECURITY_ATTRIBUTES securityAttributes; 1384 IID iid; 1385 IUnknown *pUnk; 1386 DWORD dwReserved; 1387 } RemBINDINFO; 1388 1389 typedef struct tagRemFORMATETC { 1390 DWORD cfFormat; 1391 DWORD ptd; 1392 DWORD dwAspect; 1393 LONG lindex; 1394 DWORD tymed; 1395 } RemFORMATETC; 1396 typedef struct tagRemFORMATETC *LPREMFORMATETC; 1397 1398 typedef enum __WIDL_urlmon_generated_name_00000007 { 1399 BINDINFO_OPTIONS_WININETFLAG = 0x10000, 1400 BINDINFO_OPTIONS_ENABLE_UTF8 = 0x20000, 1401 BINDINFO_OPTIONS_DISABLE_UTF8 = 0x40000, 1402 BINDINFO_OPTIONS_USE_IE_ENCODING = 0x80000, 1403 BINDINFO_OPTIONS_BINDTOOBJECT = 0x100000, 1404 BINDINFO_OPTIONS_SECURITYOPTOUT = 0x200000, 1405 BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN = 0x400000, 1406 BINDINFO_OPTIONS_USEBINDSTRINGCREDS = 0x800000, 1407 BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS = 0x1000000, 1408 BINDINFO_OPTIONS_IGNORE_SSLERRORS_ONCE = 0x2000000, 1409 BINDINFO_WPC_DOWNLOADBLOCKED = 0x8000000, 1410 BINDINFO_WPC_LOGGING_ENABLED = 0x10000000, 1411 BINDINFO_OPTIONS_ALLOWCONNECTDATA = 0x20000000, 1412 BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS = 0x40000000, 1413 BINDINFO_OPTIONS_SHDOCVW_NAVIGATE = (int)0x80000000 1414 } BINDINFO_OPTIONS; 1415 1416 typedef enum __WIDL_urlmon_generated_name_00000008 { 1417 BSCF_FIRSTDATANOTIFICATION = 0x1, 1418 BSCF_INTERMEDIATEDATANOTIFICATION = 0x2, 1419 BSCF_LASTDATANOTIFICATION = 0x4, 1420 BSCF_DATAFULLYAVAILABLE = 0x8, 1421 BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10, 1422 BSCF_SKIPDRAINDATAFORFILEURLS = 0x20, 1423 BSCF_64BITLENGTHDOWNLOAD = 0x40 1424 } BSCF; 1425 1426 typedef enum tagBINDSTATUS { 1427 BINDSTATUS_FINDINGRESOURCE = 1, 1428 BINDSTATUS_CONNECTING = 2, 1429 BINDSTATUS_REDIRECTING = 3, 1430 BINDSTATUS_BEGINDOWNLOADDATA = 4, 1431 BINDSTATUS_DOWNLOADINGDATA = 5, 1432 BINDSTATUS_ENDDOWNLOADDATA = 6, 1433 BINDSTATUS_BEGINDOWNLOADCOMPONENTS = 7, 1434 BINDSTATUS_INSTALLINGCOMPONENTS = 8, 1435 BINDSTATUS_ENDDOWNLOADCOMPONENTS = 9, 1436 BINDSTATUS_USINGCACHEDCOPY = 10, 1437 BINDSTATUS_SENDINGREQUEST = 11, 1438 BINDSTATUS_CLASSIDAVAILABLE = 12, 1439 BINDSTATUS_MIMETYPEAVAILABLE = 13, 1440 BINDSTATUS_CACHEFILENAMEAVAILABLE = 14, 1441 BINDSTATUS_BEGINSYNCOPERATION = 15, 1442 BINDSTATUS_ENDSYNCOPERATION = 16, 1443 BINDSTATUS_BEGINUPLOADDATA = 17, 1444 BINDSTATUS_UPLOADINGDATA = 18, 1445 BINDSTATUS_ENDUPLOADDATA = 19, 1446 BINDSTATUS_PROTOCOLCLASSID = 20, 1447 BINDSTATUS_ENCODING = 21, 1448 BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE = 22, 1449 BINDSTATUS_CLASSINSTALLLOCATION = 23, 1450 BINDSTATUS_DECODING = 24, 1451 BINDSTATUS_LOADINGMIMEHANDLER = 25, 1452 BINDSTATUS_CONTENTDISPOSITIONATTACH = 26, 1453 BINDSTATUS_FILTERREPORTMIMETYPE = 27, 1454 BINDSTATUS_CLSIDCANINSTANTIATE = 28, 1455 BINDSTATUS_IUNKNOWNAVAILABLE = 29, 1456 BINDSTATUS_DIRECTBIND = 30, 1457 BINDSTATUS_RAWMIMETYPE = 31, 1458 BINDSTATUS_PROXYDETECTING = 32, 1459 BINDSTATUS_ACCEPTRANGES = 33, 1460 BINDSTATUS_COOKIE_SENT = 34, 1461 BINDSTATUS_COMPACT_POLICY_RECEIVED = 35, 1462 BINDSTATUS_COOKIE_SUPPRESSED = 36, 1463 BINDSTATUS_COOKIE_STATE_UNKNOWN = 37, 1464 BINDSTATUS_COOKIE_STATE_ACCEPT = 38, 1465 BINDSTATUS_COOKIE_STATE_REJECT = 39, 1466 BINDSTATUS_COOKIE_STATE_PROMPT = 40, 1467 BINDSTATUS_COOKIE_STATE_LEASH = 41, 1468 BINDSTATUS_COOKIE_STATE_DOWNGRADE = 42, 1469 BINDSTATUS_POLICY_HREF = 43, 1470 BINDSTATUS_P3P_HEADER = 44, 1471 BINDSTATUS_SESSION_COOKIE_RECEIVED = 45, 1472 BINDSTATUS_PERSISTENT_COOKIE_RECEIVED = 46, 1473 BINDSTATUS_SESSION_COOKIES_ALLOWED = 47, 1474 BINDSTATUS_CACHECONTROL = 48, 1475 BINDSTATUS_CONTENTDISPOSITIONFILENAME = 49, 1476 BINDSTATUS_MIMETEXTPLAINMISMATCH = 50, 1477 BINDSTATUS_PUBLISHERAVAILABLE = 51, 1478 BINDSTATUS_DISPLAYNAMEAVAILABLE = 52, 1479 BINDSTATUS_SSLUX_NAVBLOCKED = 53, 1480 BINDSTATUS_SERVER_MIMETYPEAVAILABLE = 54, 1481 BINDSTATUS_SNIFFED_CLASSIDAVAILABLE = 55, 1482 BINDSTATUS_64BIT_PROGRESS = 56, 1483 BINDSTATUS_LAST = BINDSTATUS_64BIT_PROGRESS, 1484 BINDSTATUS_RESERVED_0 = 57, 1485 BINDSTATUS_RESERVED_1 = 58, 1486 BINDSTATUS_RESERVED_2 = 59, 1487 BINDSTATUS_RESERVED_3 = 60, 1488 BINDSTATUS_RESERVED_4 = 61, 1489 BINDSTATUS_RESERVED_5 = 62, 1490 BINDSTATUS_RESERVED_6 = 63, 1491 BINDSTATUS_RESERVED_7 = 64, 1492 BINDSTATUS_RESERVED_8 = 65, 1493 BINDSTATUS_RESERVED_9 = 66, 1494 BINDSTATUS_LAST_PRIVATE = BINDSTATUS_RESERVED_9 1495 } BINDSTATUS; 1496 1497 DEFINE_GUID(IID_IBindStatusCallback, 0x79eac9c1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 1498 #if defined(__cplusplus) && !defined(CINTERFACE) 1499 MIDL_INTERFACE("79eac9c1-baf9-11ce-8c82-00aa004ba90b") 1500 IBindStatusCallback : public IUnknown 1501 { 1502 virtual HRESULT STDMETHODCALLTYPE OnStartBinding( 1503 DWORD dwReserved, 1504 IBinding *pib) = 0; 1505 1506 virtual HRESULT STDMETHODCALLTYPE GetPriority( 1507 LONG *pnPriority) = 0; 1508 1509 virtual HRESULT STDMETHODCALLTYPE OnLowResource( 1510 DWORD reserved) = 0; 1511 1512 virtual HRESULT STDMETHODCALLTYPE OnProgress( 1513 ULONG ulProgress, 1514 ULONG ulProgressMax, 1515 ULONG ulStatusCode, 1516 LPCWSTR szStatusText) = 0; 1517 1518 virtual HRESULT STDMETHODCALLTYPE OnStopBinding( 1519 HRESULT hresult, 1520 LPCWSTR szError) = 0; 1521 1522 virtual HRESULT STDMETHODCALLTYPE GetBindInfo( 1523 DWORD *grfBINDF, 1524 BINDINFO *pbindinfo) = 0; 1525 1526 virtual HRESULT STDMETHODCALLTYPE OnDataAvailable( 1527 DWORD grfBSCF, 1528 DWORD dwSize, 1529 FORMATETC *pformatetc, 1530 STGMEDIUM *pstgmed) = 0; 1531 1532 virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable( 1533 REFIID riid, 1534 IUnknown *punk) = 0; 1535 1536 }; 1537 #ifdef __CRT_UUID_DECL 1538 __CRT_UUID_DECL(IBindStatusCallback, 0x79eac9c1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 1539 #endif 1540 #else 1541 typedef struct IBindStatusCallbackVtbl { 1542 BEGIN_INTERFACE 1543 1544 /*** IUnknown methods ***/ 1545 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1546 IBindStatusCallback *This, 1547 REFIID riid, 1548 void **ppvObject); 1549 1550 ULONG (STDMETHODCALLTYPE *AddRef)( 1551 IBindStatusCallback *This); 1552 1553 ULONG (STDMETHODCALLTYPE *Release)( 1554 IBindStatusCallback *This); 1555 1556 /*** IBindStatusCallback methods ***/ 1557 HRESULT (STDMETHODCALLTYPE *OnStartBinding)( 1558 IBindStatusCallback *This, 1559 DWORD dwReserved, 1560 IBinding *pib); 1561 1562 HRESULT (STDMETHODCALLTYPE *GetPriority)( 1563 IBindStatusCallback *This, 1564 LONG *pnPriority); 1565 1566 HRESULT (STDMETHODCALLTYPE *OnLowResource)( 1567 IBindStatusCallback *This, 1568 DWORD reserved); 1569 1570 HRESULT (STDMETHODCALLTYPE *OnProgress)( 1571 IBindStatusCallback *This, 1572 ULONG ulProgress, 1573 ULONG ulProgressMax, 1574 ULONG ulStatusCode, 1575 LPCWSTR szStatusText); 1576 1577 HRESULT (STDMETHODCALLTYPE *OnStopBinding)( 1578 IBindStatusCallback *This, 1579 HRESULT hresult, 1580 LPCWSTR szError); 1581 1582 HRESULT (STDMETHODCALLTYPE *GetBindInfo)( 1583 IBindStatusCallback *This, 1584 DWORD *grfBINDF, 1585 BINDINFO *pbindinfo); 1586 1587 HRESULT (STDMETHODCALLTYPE *OnDataAvailable)( 1588 IBindStatusCallback *This, 1589 DWORD grfBSCF, 1590 DWORD dwSize, 1591 FORMATETC *pformatetc, 1592 STGMEDIUM *pstgmed); 1593 1594 HRESULT (STDMETHODCALLTYPE *OnObjectAvailable)( 1595 IBindStatusCallback *This, 1596 REFIID riid, 1597 IUnknown *punk); 1598 1599 END_INTERFACE 1600 } IBindStatusCallbackVtbl; 1601 1602 interface IBindStatusCallback { 1603 CONST_VTBL IBindStatusCallbackVtbl* lpVtbl; 1604 }; 1605 1606 #ifdef COBJMACROS 1607 #ifndef WIDL_C_INLINE_WRAPPERS 1608 /*** IUnknown methods ***/ 1609 #define IBindStatusCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1610 #define IBindStatusCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 1611 #define IBindStatusCallback_Release(This) (This)->lpVtbl->Release(This) 1612 /*** IBindStatusCallback methods ***/ 1613 #define IBindStatusCallback_OnStartBinding(This,dwReserved,pib) (This)->lpVtbl->OnStartBinding(This,dwReserved,pib) 1614 #define IBindStatusCallback_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority) 1615 #define IBindStatusCallback_OnLowResource(This,reserved) (This)->lpVtbl->OnLowResource(This,reserved) 1616 #define IBindStatusCallback_OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) (This)->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) 1617 #define IBindStatusCallback_OnStopBinding(This,hresult,szError) (This)->lpVtbl->OnStopBinding(This,hresult,szError) 1618 #define IBindStatusCallback_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo) 1619 #define IBindStatusCallback_OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) (This)->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) 1620 #define IBindStatusCallback_OnObjectAvailable(This,riid,punk) (This)->lpVtbl->OnObjectAvailable(This,riid,punk) 1621 #else 1622 /*** IUnknown methods ***/ 1623 static FORCEINLINE HRESULT IBindStatusCallback_QueryInterface(IBindStatusCallback* This,REFIID riid,void **ppvObject) { 1624 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1625 } 1626 static FORCEINLINE ULONG IBindStatusCallback_AddRef(IBindStatusCallback* This) { 1627 return This->lpVtbl->AddRef(This); 1628 } 1629 static FORCEINLINE ULONG IBindStatusCallback_Release(IBindStatusCallback* This) { 1630 return This->lpVtbl->Release(This); 1631 } 1632 /*** IBindStatusCallback methods ***/ 1633 static FORCEINLINE HRESULT IBindStatusCallback_OnStartBinding(IBindStatusCallback* This,DWORD dwReserved,IBinding *pib) { 1634 return This->lpVtbl->OnStartBinding(This,dwReserved,pib); 1635 } 1636 static FORCEINLINE HRESULT IBindStatusCallback_GetPriority(IBindStatusCallback* This,LONG *pnPriority) { 1637 return This->lpVtbl->GetPriority(This,pnPriority); 1638 } 1639 static FORCEINLINE HRESULT IBindStatusCallback_OnLowResource(IBindStatusCallback* This,DWORD reserved) { 1640 return This->lpVtbl->OnLowResource(This,reserved); 1641 } 1642 static FORCEINLINE HRESULT IBindStatusCallback_OnProgress(IBindStatusCallback* This,ULONG ulProgress,ULONG ulProgressMax,ULONG ulStatusCode,LPCWSTR szStatusText) { 1643 return This->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText); 1644 } 1645 static FORCEINLINE HRESULT IBindStatusCallback_OnStopBinding(IBindStatusCallback* This,HRESULT hresult,LPCWSTR szError) { 1646 return This->lpVtbl->OnStopBinding(This,hresult,szError); 1647 } 1648 static FORCEINLINE HRESULT IBindStatusCallback_GetBindInfo(IBindStatusCallback* This,DWORD *grfBINDF,BINDINFO *pbindinfo) { 1649 return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo); 1650 } 1651 static FORCEINLINE HRESULT IBindStatusCallback_OnDataAvailable(IBindStatusCallback* This,DWORD grfBSCF,DWORD dwSize,FORMATETC *pformatetc,STGMEDIUM *pstgmed) { 1652 return This->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed); 1653 } 1654 static FORCEINLINE HRESULT IBindStatusCallback_OnObjectAvailable(IBindStatusCallback* This,REFIID riid,IUnknown *punk) { 1655 return This->lpVtbl->OnObjectAvailable(This,riid,punk); 1656 } 1657 #endif 1658 #endif 1659 1660 #endif 1661 1662 HRESULT STDMETHODCALLTYPE IBindStatusCallback_RemoteGetBindInfo_Proxy( 1663 IBindStatusCallback* This, 1664 DWORD *grfBINDF, 1665 RemBINDINFO *pbindinfo, 1666 RemSTGMEDIUM *pstgmed); 1667 void __RPC_STUB IBindStatusCallback_RemoteGetBindInfo_Stub( 1668 IRpcStubBuffer* This, 1669 IRpcChannelBuffer* pRpcChannelBuffer, 1670 PRPC_MESSAGE pRpcMessage, 1671 DWORD* pdwStubPhase); 1672 HRESULT STDMETHODCALLTYPE IBindStatusCallback_RemoteOnDataAvailable_Proxy( 1673 IBindStatusCallback* This, 1674 DWORD grfBSCF, 1675 DWORD dwSize, 1676 RemFORMATETC *pformatetc, 1677 RemSTGMEDIUM *pstgmed); 1678 void __RPC_STUB IBindStatusCallback_RemoteOnDataAvailable_Stub( 1679 IRpcStubBuffer* This, 1680 IRpcChannelBuffer* pRpcChannelBuffer, 1681 PRPC_MESSAGE pRpcMessage, 1682 DWORD* pdwStubPhase); 1683 HRESULT CALLBACK IBindStatusCallback_GetBindInfo_Proxy( 1684 IBindStatusCallback* This, 1685 DWORD *grfBINDF, 1686 BINDINFO *pbindinfo); 1687 HRESULT __RPC_STUB IBindStatusCallback_GetBindInfo_Stub( 1688 IBindStatusCallback* This, 1689 DWORD *grfBINDF, 1690 RemBINDINFO *pbindinfo, 1691 RemSTGMEDIUM *pstgmed); 1692 HRESULT CALLBACK IBindStatusCallback_OnDataAvailable_Proxy( 1693 IBindStatusCallback* This, 1694 DWORD grfBSCF, 1695 DWORD dwSize, 1696 FORMATETC *pformatetc, 1697 STGMEDIUM *pstgmed); 1698 HRESULT __RPC_STUB IBindStatusCallback_OnDataAvailable_Stub( 1699 IBindStatusCallback* This, 1700 DWORD grfBSCF, 1701 DWORD dwSize, 1702 RemFORMATETC *pformatetc, 1703 RemSTGMEDIUM *pstgmed); 1704 1705 #endif /* __IBindStatusCallback_INTERFACE_DEFINED__ */ 1706 1707 #endif 1708 #endif 1709 1710 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 1711 #ifndef _LPBINDSTATUSCALLBACKEX_DEFINED 1712 #define _LPBINDSTATUSCALLBACKEX_DEFINED 1713 1714 /***************************************************************************** 1715 * IBindStatusCallbackEx interface 1716 */ 1717 #ifndef __IBindStatusCallbackEx_INTERFACE_DEFINED__ 1718 #define __IBindStatusCallbackEx_INTERFACE_DEFINED__ 1719 1720 typedef IBindStatusCallbackEx *LPBINDSTATUSCALLBACKEX; 1721 1722 typedef enum __WIDL_urlmon_generated_name_00000009 { 1723 BINDF2_DISABLEBASICOVERHTTP = 0x1, 1724 BINDF2_DISABLEAUTOCOOKIEHANDLING = 0x2, 1725 BINDF2_READ_DATA_GREATER_THAN_4GB = 0x4, 1726 BINDF2_DISABLE_HTTP_REDIRECT_XSECURITYID = 0x8, 1727 BINDF2_SETDOWNLOADMODE = 0x20, 1728 BINDF2_DISABLE_HTTP_REDIRECT_CACHING = 0x40, 1729 BINDF2_KEEP_CALLBACK_MODULE_LOADED = 0x80, 1730 BINDF2_ALLOW_PROXY_CRED_PROMPT = 0x100, 1731 BINDF2_RESERVED_F = 0x20000, 1732 BINDF2_RESERVED_E = 0x40000, 1733 BINDF2_RESERVED_D = 0x80000, 1734 BINDF2_RESERVED_C = 0x100000, 1735 BINDF2_RESERVED_B = 0x200000, 1736 BINDF2_RESERVED_A = 0x400000, 1737 BINDF2_RESERVED_9 = 0x800000, 1738 BINDF2_RESERVED_8 = 0x1000000, 1739 BINDF2_RESERVED_7 = 0x2000000, 1740 BINDF2_RESERVED_6 = 0x4000000, 1741 BINDF2_RESERVED_5 = 0x8000000, 1742 BINDF2_RESERVED_4 = 0x10000000, 1743 BINDF2_RESERVED_3 = 0x20000000, 1744 BINDF2_RESERVED_2 = 0x40000000, 1745 BINDF2_RESERVED_1 = 0x80000000 1746 } BINDF2; 1747 1748 DEFINE_GUID(IID_IBindStatusCallbackEx, 0xaaa74ef9, 0x8ee7, 0x4659, 0x88,0xd9, 0xf8,0xc5,0x04,0xda,0x73,0xcc); 1749 #if defined(__cplusplus) && !defined(CINTERFACE) 1750 MIDL_INTERFACE("aaa74ef9-8ee7-4659-88d9-f8c504da73cc") 1751 IBindStatusCallbackEx : public IBindStatusCallback 1752 { 1753 virtual HRESULT STDMETHODCALLTYPE GetBindInfoEx( 1754 DWORD *grfBINDF, 1755 BINDINFO *pbindinfo, 1756 DWORD *grfBINDF2, 1757 DWORD *pdwReserved) = 0; 1758 1759 }; 1760 #ifdef __CRT_UUID_DECL 1761 __CRT_UUID_DECL(IBindStatusCallbackEx, 0xaaa74ef9, 0x8ee7, 0x4659, 0x88,0xd9, 0xf8,0xc5,0x04,0xda,0x73,0xcc) 1762 #endif 1763 #else 1764 typedef struct IBindStatusCallbackExVtbl { 1765 BEGIN_INTERFACE 1766 1767 /*** IUnknown methods ***/ 1768 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1769 IBindStatusCallbackEx *This, 1770 REFIID riid, 1771 void **ppvObject); 1772 1773 ULONG (STDMETHODCALLTYPE *AddRef)( 1774 IBindStatusCallbackEx *This); 1775 1776 ULONG (STDMETHODCALLTYPE *Release)( 1777 IBindStatusCallbackEx *This); 1778 1779 /*** IBindStatusCallback methods ***/ 1780 HRESULT (STDMETHODCALLTYPE *OnStartBinding)( 1781 IBindStatusCallbackEx *This, 1782 DWORD dwReserved, 1783 IBinding *pib); 1784 1785 HRESULT (STDMETHODCALLTYPE *GetPriority)( 1786 IBindStatusCallbackEx *This, 1787 LONG *pnPriority); 1788 1789 HRESULT (STDMETHODCALLTYPE *OnLowResource)( 1790 IBindStatusCallbackEx *This, 1791 DWORD reserved); 1792 1793 HRESULT (STDMETHODCALLTYPE *OnProgress)( 1794 IBindStatusCallbackEx *This, 1795 ULONG ulProgress, 1796 ULONG ulProgressMax, 1797 ULONG ulStatusCode, 1798 LPCWSTR szStatusText); 1799 1800 HRESULT (STDMETHODCALLTYPE *OnStopBinding)( 1801 IBindStatusCallbackEx *This, 1802 HRESULT hresult, 1803 LPCWSTR szError); 1804 1805 HRESULT (STDMETHODCALLTYPE *GetBindInfo)( 1806 IBindStatusCallbackEx *This, 1807 DWORD *grfBINDF, 1808 BINDINFO *pbindinfo); 1809 1810 HRESULT (STDMETHODCALLTYPE *OnDataAvailable)( 1811 IBindStatusCallbackEx *This, 1812 DWORD grfBSCF, 1813 DWORD dwSize, 1814 FORMATETC *pformatetc, 1815 STGMEDIUM *pstgmed); 1816 1817 HRESULT (STDMETHODCALLTYPE *OnObjectAvailable)( 1818 IBindStatusCallbackEx *This, 1819 REFIID riid, 1820 IUnknown *punk); 1821 1822 /*** IBindStatusCallbackEx methods ***/ 1823 HRESULT (STDMETHODCALLTYPE *GetBindInfoEx)( 1824 IBindStatusCallbackEx *This, 1825 DWORD *grfBINDF, 1826 BINDINFO *pbindinfo, 1827 DWORD *grfBINDF2, 1828 DWORD *pdwReserved); 1829 1830 END_INTERFACE 1831 } IBindStatusCallbackExVtbl; 1832 1833 interface IBindStatusCallbackEx { 1834 CONST_VTBL IBindStatusCallbackExVtbl* lpVtbl; 1835 }; 1836 1837 #ifdef COBJMACROS 1838 #ifndef WIDL_C_INLINE_WRAPPERS 1839 /*** IUnknown methods ***/ 1840 #define IBindStatusCallbackEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1841 #define IBindStatusCallbackEx_AddRef(This) (This)->lpVtbl->AddRef(This) 1842 #define IBindStatusCallbackEx_Release(This) (This)->lpVtbl->Release(This) 1843 /*** IBindStatusCallback methods ***/ 1844 #define IBindStatusCallbackEx_OnStartBinding(This,dwReserved,pib) (This)->lpVtbl->OnStartBinding(This,dwReserved,pib) 1845 #define IBindStatusCallbackEx_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority) 1846 #define IBindStatusCallbackEx_OnLowResource(This,reserved) (This)->lpVtbl->OnLowResource(This,reserved) 1847 #define IBindStatusCallbackEx_OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) (This)->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) 1848 #define IBindStatusCallbackEx_OnStopBinding(This,hresult,szError) (This)->lpVtbl->OnStopBinding(This,hresult,szError) 1849 #define IBindStatusCallbackEx_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo) 1850 #define IBindStatusCallbackEx_OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) (This)->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) 1851 #define IBindStatusCallbackEx_OnObjectAvailable(This,riid,punk) (This)->lpVtbl->OnObjectAvailable(This,riid,punk) 1852 /*** IBindStatusCallbackEx methods ***/ 1853 #define IBindStatusCallbackEx_GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved) (This)->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved) 1854 #else 1855 /*** IUnknown methods ***/ 1856 static FORCEINLINE HRESULT IBindStatusCallbackEx_QueryInterface(IBindStatusCallbackEx* This,REFIID riid,void **ppvObject) { 1857 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1858 } 1859 static FORCEINLINE ULONG IBindStatusCallbackEx_AddRef(IBindStatusCallbackEx* This) { 1860 return This->lpVtbl->AddRef(This); 1861 } 1862 static FORCEINLINE ULONG IBindStatusCallbackEx_Release(IBindStatusCallbackEx* This) { 1863 return This->lpVtbl->Release(This); 1864 } 1865 /*** IBindStatusCallback methods ***/ 1866 static FORCEINLINE HRESULT IBindStatusCallbackEx_OnStartBinding(IBindStatusCallbackEx* This,DWORD dwReserved,IBinding *pib) { 1867 return This->lpVtbl->OnStartBinding(This,dwReserved,pib); 1868 } 1869 static FORCEINLINE HRESULT IBindStatusCallbackEx_GetPriority(IBindStatusCallbackEx* This,LONG *pnPriority) { 1870 return This->lpVtbl->GetPriority(This,pnPriority); 1871 } 1872 static FORCEINLINE HRESULT IBindStatusCallbackEx_OnLowResource(IBindStatusCallbackEx* This,DWORD reserved) { 1873 return This->lpVtbl->OnLowResource(This,reserved); 1874 } 1875 static FORCEINLINE HRESULT IBindStatusCallbackEx_OnProgress(IBindStatusCallbackEx* This,ULONG ulProgress,ULONG ulProgressMax,ULONG ulStatusCode,LPCWSTR szStatusText) { 1876 return This->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText); 1877 } 1878 static FORCEINLINE HRESULT IBindStatusCallbackEx_OnStopBinding(IBindStatusCallbackEx* This,HRESULT hresult,LPCWSTR szError) { 1879 return This->lpVtbl->OnStopBinding(This,hresult,szError); 1880 } 1881 static FORCEINLINE HRESULT IBindStatusCallbackEx_GetBindInfo(IBindStatusCallbackEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo) { 1882 return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo); 1883 } 1884 static FORCEINLINE HRESULT IBindStatusCallbackEx_OnDataAvailable(IBindStatusCallbackEx* This,DWORD grfBSCF,DWORD dwSize,FORMATETC *pformatetc,STGMEDIUM *pstgmed) { 1885 return This->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed); 1886 } 1887 static FORCEINLINE HRESULT IBindStatusCallbackEx_OnObjectAvailable(IBindStatusCallbackEx* This,REFIID riid,IUnknown *punk) { 1888 return This->lpVtbl->OnObjectAvailable(This,riid,punk); 1889 } 1890 /*** IBindStatusCallbackEx methods ***/ 1891 static FORCEINLINE HRESULT IBindStatusCallbackEx_GetBindInfoEx(IBindStatusCallbackEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo,DWORD *grfBINDF2,DWORD *pdwReserved) { 1892 return This->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved); 1893 } 1894 #endif 1895 #endif 1896 1897 #endif 1898 1899 HRESULT STDMETHODCALLTYPE IBindStatusCallbackEx_RemoteGetBindInfoEx_Proxy( 1900 IBindStatusCallbackEx* This, 1901 DWORD *grfBINDF, 1902 RemBINDINFO *pbindinfo, 1903 RemSTGMEDIUM *pstgmed, 1904 DWORD *grfBINDF2, 1905 DWORD *pdwReserved); 1906 void __RPC_STUB IBindStatusCallbackEx_RemoteGetBindInfoEx_Stub( 1907 IRpcStubBuffer* This, 1908 IRpcChannelBuffer* pRpcChannelBuffer, 1909 PRPC_MESSAGE pRpcMessage, 1910 DWORD* pdwStubPhase); 1911 HRESULT CALLBACK IBindStatusCallbackEx_GetBindInfoEx_Proxy( 1912 IBindStatusCallbackEx* This, 1913 DWORD *grfBINDF, 1914 BINDINFO *pbindinfo, 1915 DWORD *grfBINDF2, 1916 DWORD *pdwReserved); 1917 HRESULT __RPC_STUB IBindStatusCallbackEx_GetBindInfoEx_Stub( 1918 IBindStatusCallbackEx* This, 1919 DWORD *grfBINDF, 1920 RemBINDINFO *pbindinfo, 1921 RemSTGMEDIUM *pstgmed, 1922 DWORD *grfBINDF2, 1923 DWORD *pdwReserved); 1924 1925 #endif /* __IBindStatusCallbackEx_INTERFACE_DEFINED__ */ 1926 1927 #endif 1928 1929 #ifndef _LPAUTHENTICATION_DEFINED 1930 #define _LPAUTHENTICATION_DEFINED 1931 1932 /***************************************************************************** 1933 * IAuthenticate interface 1934 */ 1935 #ifndef __IAuthenticate_INTERFACE_DEFINED__ 1936 #define __IAuthenticate_INTERFACE_DEFINED__ 1937 1938 typedef IAuthenticate *LPAUTHENTICATION; 1939 1940 DEFINE_GUID(IID_IAuthenticate, 0x79eac9d0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 1941 #if defined(__cplusplus) && !defined(CINTERFACE) 1942 MIDL_INTERFACE("79eac9d0-baf9-11ce-8c82-00aa004ba90b") 1943 IAuthenticate : public IUnknown 1944 { 1945 virtual HRESULT STDMETHODCALLTYPE Authenticate( 1946 HWND *phwnd, 1947 LPWSTR *pszUsername, 1948 LPWSTR *pszPassword) = 0; 1949 1950 }; 1951 #ifdef __CRT_UUID_DECL 1952 __CRT_UUID_DECL(IAuthenticate, 0x79eac9d0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 1953 #endif 1954 #else 1955 typedef struct IAuthenticateVtbl { 1956 BEGIN_INTERFACE 1957 1958 /*** IUnknown methods ***/ 1959 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1960 IAuthenticate *This, 1961 REFIID riid, 1962 void **ppvObject); 1963 1964 ULONG (STDMETHODCALLTYPE *AddRef)( 1965 IAuthenticate *This); 1966 1967 ULONG (STDMETHODCALLTYPE *Release)( 1968 IAuthenticate *This); 1969 1970 /*** IAuthenticate methods ***/ 1971 HRESULT (STDMETHODCALLTYPE *Authenticate)( 1972 IAuthenticate *This, 1973 HWND *phwnd, 1974 LPWSTR *pszUsername, 1975 LPWSTR *pszPassword); 1976 1977 END_INTERFACE 1978 } IAuthenticateVtbl; 1979 1980 interface IAuthenticate { 1981 CONST_VTBL IAuthenticateVtbl* lpVtbl; 1982 }; 1983 1984 #ifdef COBJMACROS 1985 #ifndef WIDL_C_INLINE_WRAPPERS 1986 /*** IUnknown methods ***/ 1987 #define IAuthenticate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1988 #define IAuthenticate_AddRef(This) (This)->lpVtbl->AddRef(This) 1989 #define IAuthenticate_Release(This) (This)->lpVtbl->Release(This) 1990 /*** IAuthenticate methods ***/ 1991 #define IAuthenticate_Authenticate(This,phwnd,pszUsername,pszPassword) (This)->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword) 1992 #else 1993 /*** IUnknown methods ***/ 1994 static FORCEINLINE HRESULT IAuthenticate_QueryInterface(IAuthenticate* This,REFIID riid,void **ppvObject) { 1995 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1996 } 1997 static FORCEINLINE ULONG IAuthenticate_AddRef(IAuthenticate* This) { 1998 return This->lpVtbl->AddRef(This); 1999 } 2000 static FORCEINLINE ULONG IAuthenticate_Release(IAuthenticate* This) { 2001 return This->lpVtbl->Release(This); 2002 } 2003 /*** IAuthenticate methods ***/ 2004 static FORCEINLINE HRESULT IAuthenticate_Authenticate(IAuthenticate* This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword) { 2005 return This->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword); 2006 } 2007 #endif 2008 #endif 2009 2010 #endif 2011 2012 2013 #endif /* __IAuthenticate_INTERFACE_DEFINED__ */ 2014 2015 #endif 2016 2017 #ifndef _LPAUTHENTICATIONEX_DEFINED 2018 #define _LPAUTHENTICATIONEX_DEFINED 2019 2020 /***************************************************************************** 2021 * IAuthenticateEx interface 2022 */ 2023 #ifndef __IAuthenticateEx_INTERFACE_DEFINED__ 2024 #define __IAuthenticateEx_INTERFACE_DEFINED__ 2025 2026 typedef IAuthenticateEx *LPAUTHENTICATIONEX; 2027 2028 typedef enum __WIDL_urlmon_generated_name_0000000A { 2029 AUTHENTICATEF_PROXY = 0x1, 2030 AUTHENTICATEF_BASIC = 0x2, 2031 AUTHENTICATEF_HTTP = 0x4 2032 } AUTHENTICATEF; 2033 2034 typedef struct _tagAUTHENTICATEINFO { 2035 DWORD dwFlags; 2036 DWORD dwReserved; 2037 } AUTHENTICATEINFO; 2038 2039 DEFINE_GUID(IID_IAuthenticateEx, 0x2ad1edaf, 0xd83d, 0x48b5, 0x9a,0xdf, 0x03,0xdb,0xe1,0x9f,0x53,0xbd); 2040 #if defined(__cplusplus) && !defined(CINTERFACE) 2041 MIDL_INTERFACE("2ad1edaf-d83d-48b5-9adf-03dbe19f53bd") 2042 IAuthenticateEx : public IAuthenticate 2043 { 2044 virtual HRESULT STDMETHODCALLTYPE AuthenticateEx( 2045 HWND *phwnd, 2046 LPWSTR *pszUsername, 2047 LPWSTR *pszPassword, 2048 AUTHENTICATEINFO *pauthinfo) = 0; 2049 2050 }; 2051 #ifdef __CRT_UUID_DECL 2052 __CRT_UUID_DECL(IAuthenticateEx, 0x2ad1edaf, 0xd83d, 0x48b5, 0x9a,0xdf, 0x03,0xdb,0xe1,0x9f,0x53,0xbd) 2053 #endif 2054 #else 2055 typedef struct IAuthenticateExVtbl { 2056 BEGIN_INTERFACE 2057 2058 /*** IUnknown methods ***/ 2059 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2060 IAuthenticateEx *This, 2061 REFIID riid, 2062 void **ppvObject); 2063 2064 ULONG (STDMETHODCALLTYPE *AddRef)( 2065 IAuthenticateEx *This); 2066 2067 ULONG (STDMETHODCALLTYPE *Release)( 2068 IAuthenticateEx *This); 2069 2070 /*** IAuthenticate methods ***/ 2071 HRESULT (STDMETHODCALLTYPE *Authenticate)( 2072 IAuthenticateEx *This, 2073 HWND *phwnd, 2074 LPWSTR *pszUsername, 2075 LPWSTR *pszPassword); 2076 2077 /*** IAuthenticateEx methods ***/ 2078 HRESULT (STDMETHODCALLTYPE *AuthenticateEx)( 2079 IAuthenticateEx *This, 2080 HWND *phwnd, 2081 LPWSTR *pszUsername, 2082 LPWSTR *pszPassword, 2083 AUTHENTICATEINFO *pauthinfo); 2084 2085 END_INTERFACE 2086 } IAuthenticateExVtbl; 2087 2088 interface IAuthenticateEx { 2089 CONST_VTBL IAuthenticateExVtbl* lpVtbl; 2090 }; 2091 2092 #ifdef COBJMACROS 2093 #ifndef WIDL_C_INLINE_WRAPPERS 2094 /*** IUnknown methods ***/ 2095 #define IAuthenticateEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2096 #define IAuthenticateEx_AddRef(This) (This)->lpVtbl->AddRef(This) 2097 #define IAuthenticateEx_Release(This) (This)->lpVtbl->Release(This) 2098 /*** IAuthenticate methods ***/ 2099 #define IAuthenticateEx_Authenticate(This,phwnd,pszUsername,pszPassword) (This)->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword) 2100 /*** IAuthenticateEx methods ***/ 2101 #define IAuthenticateEx_AuthenticateEx(This,phwnd,pszUsername,pszPassword,pauthinfo) (This)->lpVtbl->AuthenticateEx(This,phwnd,pszUsername,pszPassword,pauthinfo) 2102 #else 2103 /*** IUnknown methods ***/ 2104 static FORCEINLINE HRESULT IAuthenticateEx_QueryInterface(IAuthenticateEx* This,REFIID riid,void **ppvObject) { 2105 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2106 } 2107 static FORCEINLINE ULONG IAuthenticateEx_AddRef(IAuthenticateEx* This) { 2108 return This->lpVtbl->AddRef(This); 2109 } 2110 static FORCEINLINE ULONG IAuthenticateEx_Release(IAuthenticateEx* This) { 2111 return This->lpVtbl->Release(This); 2112 } 2113 /*** IAuthenticate methods ***/ 2114 static FORCEINLINE HRESULT IAuthenticateEx_Authenticate(IAuthenticateEx* This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword) { 2115 return This->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword); 2116 } 2117 /*** IAuthenticateEx methods ***/ 2118 static FORCEINLINE HRESULT IAuthenticateEx_AuthenticateEx(IAuthenticateEx* This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword,AUTHENTICATEINFO *pauthinfo) { 2119 return This->lpVtbl->AuthenticateEx(This,phwnd,pszUsername,pszPassword,pauthinfo); 2120 } 2121 #endif 2122 #endif 2123 2124 #endif 2125 2126 2127 #endif /* __IAuthenticateEx_INTERFACE_DEFINED__ */ 2128 2129 #endif 2130 2131 #ifndef _LPHTTPNEGOTIATE_DEFINED 2132 #define _LPHTTPNEGOTIATE_DEFINED 2133 2134 /***************************************************************************** 2135 * IHttpNegotiate interface 2136 */ 2137 #ifndef __IHttpNegotiate_INTERFACE_DEFINED__ 2138 #define __IHttpNegotiate_INTERFACE_DEFINED__ 2139 2140 typedef IHttpNegotiate *LPHTTPNEGOTIATE; 2141 2142 DEFINE_GUID(IID_IHttpNegotiate, 0x79eac9d2, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 2143 #if defined(__cplusplus) && !defined(CINTERFACE) 2144 MIDL_INTERFACE("79eac9d2-baf9-11ce-8c82-00aa004ba90b") 2145 IHttpNegotiate : public IUnknown 2146 { 2147 virtual HRESULT STDMETHODCALLTYPE BeginningTransaction( 2148 LPCWSTR szURL, 2149 LPCWSTR szHeaders, 2150 DWORD dwReserved, 2151 LPWSTR *pszAdditionalHeaders) = 0; 2152 2153 virtual HRESULT STDMETHODCALLTYPE OnResponse( 2154 DWORD dwResponseCode, 2155 LPCWSTR szResponseHeaders, 2156 LPCWSTR szRequestHeaders, 2157 LPWSTR *pszAdditionalRequestHeaders) = 0; 2158 2159 }; 2160 #ifdef __CRT_UUID_DECL 2161 __CRT_UUID_DECL(IHttpNegotiate, 0x79eac9d2, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 2162 #endif 2163 #else 2164 typedef struct IHttpNegotiateVtbl { 2165 BEGIN_INTERFACE 2166 2167 /*** IUnknown methods ***/ 2168 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2169 IHttpNegotiate *This, 2170 REFIID riid, 2171 void **ppvObject); 2172 2173 ULONG (STDMETHODCALLTYPE *AddRef)( 2174 IHttpNegotiate *This); 2175 2176 ULONG (STDMETHODCALLTYPE *Release)( 2177 IHttpNegotiate *This); 2178 2179 /*** IHttpNegotiate methods ***/ 2180 HRESULT (STDMETHODCALLTYPE *BeginningTransaction)( 2181 IHttpNegotiate *This, 2182 LPCWSTR szURL, 2183 LPCWSTR szHeaders, 2184 DWORD dwReserved, 2185 LPWSTR *pszAdditionalHeaders); 2186 2187 HRESULT (STDMETHODCALLTYPE *OnResponse)( 2188 IHttpNegotiate *This, 2189 DWORD dwResponseCode, 2190 LPCWSTR szResponseHeaders, 2191 LPCWSTR szRequestHeaders, 2192 LPWSTR *pszAdditionalRequestHeaders); 2193 2194 END_INTERFACE 2195 } IHttpNegotiateVtbl; 2196 2197 interface IHttpNegotiate { 2198 CONST_VTBL IHttpNegotiateVtbl* lpVtbl; 2199 }; 2200 2201 #ifdef COBJMACROS 2202 #ifndef WIDL_C_INLINE_WRAPPERS 2203 /*** IUnknown methods ***/ 2204 #define IHttpNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2205 #define IHttpNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This) 2206 #define IHttpNegotiate_Release(This) (This)->lpVtbl->Release(This) 2207 /*** IHttpNegotiate methods ***/ 2208 #define IHttpNegotiate_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) 2209 #define IHttpNegotiate_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) 2210 #else 2211 /*** IUnknown methods ***/ 2212 static FORCEINLINE HRESULT IHttpNegotiate_QueryInterface(IHttpNegotiate* This,REFIID riid,void **ppvObject) { 2213 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2214 } 2215 static FORCEINLINE ULONG IHttpNegotiate_AddRef(IHttpNegotiate* This) { 2216 return This->lpVtbl->AddRef(This); 2217 } 2218 static FORCEINLINE ULONG IHttpNegotiate_Release(IHttpNegotiate* This) { 2219 return This->lpVtbl->Release(This); 2220 } 2221 /*** IHttpNegotiate methods ***/ 2222 static FORCEINLINE HRESULT IHttpNegotiate_BeginningTransaction(IHttpNegotiate* This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders) { 2223 return This->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders); 2224 } 2225 static FORCEINLINE HRESULT IHttpNegotiate_OnResponse(IHttpNegotiate* This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders) { 2226 return This->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders); 2227 } 2228 #endif 2229 #endif 2230 2231 #endif 2232 2233 2234 #endif /* __IHttpNegotiate_INTERFACE_DEFINED__ */ 2235 2236 #endif 2237 2238 #ifndef _LPHTTPNEGOTIATE2_DEFINED 2239 #define _LPHTTPNEGOTIATE2_DEFINED 2240 2241 /***************************************************************************** 2242 * IHttpNegotiate2 interface 2243 */ 2244 #ifndef __IHttpNegotiate2_INTERFACE_DEFINED__ 2245 #define __IHttpNegotiate2_INTERFACE_DEFINED__ 2246 2247 typedef IHttpNegotiate2 *LPHTTPNEGOTIATE2; 2248 2249 DEFINE_GUID(IID_IHttpNegotiate2, 0x4f9f9fcb, 0xe0f4, 0x48eb, 0xb7,0xab, 0xfa,0x2e,0xa9,0x36,0x5c,0xb4); 2250 #if defined(__cplusplus) && !defined(CINTERFACE) 2251 MIDL_INTERFACE("4f9f9fcb-e0f4-48eb-b7ab-fa2ea9365cb4") 2252 IHttpNegotiate2 : public IHttpNegotiate 2253 { 2254 virtual HRESULT STDMETHODCALLTYPE GetRootSecurityId( 2255 BYTE *pbSecurityId, 2256 DWORD *pcbSecurityId, 2257 DWORD_PTR dwReserved) = 0; 2258 2259 }; 2260 #ifdef __CRT_UUID_DECL 2261 __CRT_UUID_DECL(IHttpNegotiate2, 0x4f9f9fcb, 0xe0f4, 0x48eb, 0xb7,0xab, 0xfa,0x2e,0xa9,0x36,0x5c,0xb4) 2262 #endif 2263 #else 2264 typedef struct IHttpNegotiate2Vtbl { 2265 BEGIN_INTERFACE 2266 2267 /*** IUnknown methods ***/ 2268 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2269 IHttpNegotiate2 *This, 2270 REFIID riid, 2271 void **ppvObject); 2272 2273 ULONG (STDMETHODCALLTYPE *AddRef)( 2274 IHttpNegotiate2 *This); 2275 2276 ULONG (STDMETHODCALLTYPE *Release)( 2277 IHttpNegotiate2 *This); 2278 2279 /*** IHttpNegotiate methods ***/ 2280 HRESULT (STDMETHODCALLTYPE *BeginningTransaction)( 2281 IHttpNegotiate2 *This, 2282 LPCWSTR szURL, 2283 LPCWSTR szHeaders, 2284 DWORD dwReserved, 2285 LPWSTR *pszAdditionalHeaders); 2286 2287 HRESULT (STDMETHODCALLTYPE *OnResponse)( 2288 IHttpNegotiate2 *This, 2289 DWORD dwResponseCode, 2290 LPCWSTR szResponseHeaders, 2291 LPCWSTR szRequestHeaders, 2292 LPWSTR *pszAdditionalRequestHeaders); 2293 2294 /*** IHttpNegotiate2 methods ***/ 2295 HRESULT (STDMETHODCALLTYPE *GetRootSecurityId)( 2296 IHttpNegotiate2 *This, 2297 BYTE *pbSecurityId, 2298 DWORD *pcbSecurityId, 2299 DWORD_PTR dwReserved); 2300 2301 END_INTERFACE 2302 } IHttpNegotiate2Vtbl; 2303 2304 interface IHttpNegotiate2 { 2305 CONST_VTBL IHttpNegotiate2Vtbl* lpVtbl; 2306 }; 2307 2308 #ifdef COBJMACROS 2309 #ifndef WIDL_C_INLINE_WRAPPERS 2310 /*** IUnknown methods ***/ 2311 #define IHttpNegotiate2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2312 #define IHttpNegotiate2_AddRef(This) (This)->lpVtbl->AddRef(This) 2313 #define IHttpNegotiate2_Release(This) (This)->lpVtbl->Release(This) 2314 /*** IHttpNegotiate methods ***/ 2315 #define IHttpNegotiate2_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) 2316 #define IHttpNegotiate2_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) 2317 /*** IHttpNegotiate2 methods ***/ 2318 #define IHttpNegotiate2_GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) 2319 #else 2320 /*** IUnknown methods ***/ 2321 static FORCEINLINE HRESULT IHttpNegotiate2_QueryInterface(IHttpNegotiate2* This,REFIID riid,void **ppvObject) { 2322 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2323 } 2324 static FORCEINLINE ULONG IHttpNegotiate2_AddRef(IHttpNegotiate2* This) { 2325 return This->lpVtbl->AddRef(This); 2326 } 2327 static FORCEINLINE ULONG IHttpNegotiate2_Release(IHttpNegotiate2* This) { 2328 return This->lpVtbl->Release(This); 2329 } 2330 /*** IHttpNegotiate methods ***/ 2331 static FORCEINLINE HRESULT IHttpNegotiate2_BeginningTransaction(IHttpNegotiate2* This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders) { 2332 return This->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders); 2333 } 2334 static FORCEINLINE HRESULT IHttpNegotiate2_OnResponse(IHttpNegotiate2* This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders) { 2335 return This->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders); 2336 } 2337 /*** IHttpNegotiate2 methods ***/ 2338 static FORCEINLINE HRESULT IHttpNegotiate2_GetRootSecurityId(IHttpNegotiate2* This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { 2339 return This->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved); 2340 } 2341 #endif 2342 #endif 2343 2344 #endif 2345 2346 2347 #endif /* __IHttpNegotiate2_INTERFACE_DEFINED__ */ 2348 2349 #endif 2350 2351 #ifndef _LPHTTPNEGOTIATE3_DEFINED 2352 #define _LPHTTPNEGOTIATE3_DEFINED 2353 2354 /***************************************************************************** 2355 * IHttpNegotiate3 interface 2356 */ 2357 #ifndef __IHttpNegotiate3_INTERFACE_DEFINED__ 2358 #define __IHttpNegotiate3_INTERFACE_DEFINED__ 2359 2360 typedef IHttpNegotiate3 *LPHTTPNEGOTIATE3; 2361 2362 DEFINE_GUID(IID_IHttpNegotiate3, 0x57b6c80a, 0x34c2, 0x4602, 0xbc,0x26, 0x66,0xa0,0x2f,0xc5,0x71,0x53); 2363 #if defined(__cplusplus) && !defined(CINTERFACE) 2364 MIDL_INTERFACE("57b6c80a-34c2-4602-bc26-66a02fc57153") 2365 IHttpNegotiate3 : public IHttpNegotiate2 2366 { 2367 virtual HRESULT STDMETHODCALLTYPE GetSerializedClientCertContext( 2368 BYTE **ppbCert, 2369 DWORD *pcbCert) = 0; 2370 2371 }; 2372 #ifdef __CRT_UUID_DECL 2373 __CRT_UUID_DECL(IHttpNegotiate3, 0x57b6c80a, 0x34c2, 0x4602, 0xbc,0x26, 0x66,0xa0,0x2f,0xc5,0x71,0x53) 2374 #endif 2375 #else 2376 typedef struct IHttpNegotiate3Vtbl { 2377 BEGIN_INTERFACE 2378 2379 /*** IUnknown methods ***/ 2380 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2381 IHttpNegotiate3 *This, 2382 REFIID riid, 2383 void **ppvObject); 2384 2385 ULONG (STDMETHODCALLTYPE *AddRef)( 2386 IHttpNegotiate3 *This); 2387 2388 ULONG (STDMETHODCALLTYPE *Release)( 2389 IHttpNegotiate3 *This); 2390 2391 /*** IHttpNegotiate methods ***/ 2392 HRESULT (STDMETHODCALLTYPE *BeginningTransaction)( 2393 IHttpNegotiate3 *This, 2394 LPCWSTR szURL, 2395 LPCWSTR szHeaders, 2396 DWORD dwReserved, 2397 LPWSTR *pszAdditionalHeaders); 2398 2399 HRESULT (STDMETHODCALLTYPE *OnResponse)( 2400 IHttpNegotiate3 *This, 2401 DWORD dwResponseCode, 2402 LPCWSTR szResponseHeaders, 2403 LPCWSTR szRequestHeaders, 2404 LPWSTR *pszAdditionalRequestHeaders); 2405 2406 /*** IHttpNegotiate2 methods ***/ 2407 HRESULT (STDMETHODCALLTYPE *GetRootSecurityId)( 2408 IHttpNegotiate3 *This, 2409 BYTE *pbSecurityId, 2410 DWORD *pcbSecurityId, 2411 DWORD_PTR dwReserved); 2412 2413 /*** IHttpNegotiate3 methods ***/ 2414 HRESULT (STDMETHODCALLTYPE *GetSerializedClientCertContext)( 2415 IHttpNegotiate3 *This, 2416 BYTE **ppbCert, 2417 DWORD *pcbCert); 2418 2419 END_INTERFACE 2420 } IHttpNegotiate3Vtbl; 2421 2422 interface IHttpNegotiate3 { 2423 CONST_VTBL IHttpNegotiate3Vtbl* lpVtbl; 2424 }; 2425 2426 #ifdef COBJMACROS 2427 #ifndef WIDL_C_INLINE_WRAPPERS 2428 /*** IUnknown methods ***/ 2429 #define IHttpNegotiate3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2430 #define IHttpNegotiate3_AddRef(This) (This)->lpVtbl->AddRef(This) 2431 #define IHttpNegotiate3_Release(This) (This)->lpVtbl->Release(This) 2432 /*** IHttpNegotiate methods ***/ 2433 #define IHttpNegotiate3_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) 2434 #define IHttpNegotiate3_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) 2435 /*** IHttpNegotiate2 methods ***/ 2436 #define IHttpNegotiate3_GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) 2437 /*** IHttpNegotiate3 methods ***/ 2438 #define IHttpNegotiate3_GetSerializedClientCertContext(This,ppbCert,pcbCert) (This)->lpVtbl->GetSerializedClientCertContext(This,ppbCert,pcbCert) 2439 #else 2440 /*** IUnknown methods ***/ 2441 static FORCEINLINE HRESULT IHttpNegotiate3_QueryInterface(IHttpNegotiate3* This,REFIID riid,void **ppvObject) { 2442 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2443 } 2444 static FORCEINLINE ULONG IHttpNegotiate3_AddRef(IHttpNegotiate3* This) { 2445 return This->lpVtbl->AddRef(This); 2446 } 2447 static FORCEINLINE ULONG IHttpNegotiate3_Release(IHttpNegotiate3* This) { 2448 return This->lpVtbl->Release(This); 2449 } 2450 /*** IHttpNegotiate methods ***/ 2451 static FORCEINLINE HRESULT IHttpNegotiate3_BeginningTransaction(IHttpNegotiate3* This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders) { 2452 return This->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders); 2453 } 2454 static FORCEINLINE HRESULT IHttpNegotiate3_OnResponse(IHttpNegotiate3* This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders) { 2455 return This->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders); 2456 } 2457 /*** IHttpNegotiate2 methods ***/ 2458 static FORCEINLINE HRESULT IHttpNegotiate3_GetRootSecurityId(IHttpNegotiate3* This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { 2459 return This->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved); 2460 } 2461 /*** IHttpNegotiate3 methods ***/ 2462 static FORCEINLINE HRESULT IHttpNegotiate3_GetSerializedClientCertContext(IHttpNegotiate3* This,BYTE **ppbCert,DWORD *pcbCert) { 2463 return This->lpVtbl->GetSerializedClientCertContext(This,ppbCert,pcbCert); 2464 } 2465 #endif 2466 #endif 2467 2468 #endif 2469 2470 2471 #endif /* __IHttpNegotiate3_INTERFACE_DEFINED__ */ 2472 2473 #endif 2474 2475 #ifndef _LPWININETFILESTREAM_DEFINED 2476 #define _LPWININETFILESTREAM_DEFINED 2477 2478 /***************************************************************************** 2479 * IWinInetFileStream interface 2480 */ 2481 #ifndef __IWinInetFileStream_INTERFACE_DEFINED__ 2482 #define __IWinInetFileStream_INTERFACE_DEFINED__ 2483 2484 typedef IWinInetFileStream *LPWININETFILESTREAM; 2485 2486 DEFINE_GUID(IID_IWinInetFileStream, 0xf134c4b7, 0xb1f8, 0x4e75, 0xb8,0x86, 0x74,0xb9,0x09,0x43,0xbe,0xcb); 2487 #if defined(__cplusplus) && !defined(CINTERFACE) 2488 MIDL_INTERFACE("f134c4b7-b1f8-4e75-b886-74b90943becb") 2489 IWinInetFileStream : public IUnknown 2490 { 2491 virtual HRESULT STDMETHODCALLTYPE SetHandleForUnlock( 2492 DWORD_PTR hWinInetLockHandle, 2493 DWORD_PTR dwReserved) = 0; 2494 2495 virtual HRESULT STDMETHODCALLTYPE SetDeleteFile( 2496 DWORD_PTR dwReserved) = 0; 2497 2498 }; 2499 #ifdef __CRT_UUID_DECL 2500 __CRT_UUID_DECL(IWinInetFileStream, 0xf134c4b7, 0xb1f8, 0x4e75, 0xb8,0x86, 0x74,0xb9,0x09,0x43,0xbe,0xcb) 2501 #endif 2502 #else 2503 typedef struct IWinInetFileStreamVtbl { 2504 BEGIN_INTERFACE 2505 2506 /*** IUnknown methods ***/ 2507 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2508 IWinInetFileStream *This, 2509 REFIID riid, 2510 void **ppvObject); 2511 2512 ULONG (STDMETHODCALLTYPE *AddRef)( 2513 IWinInetFileStream *This); 2514 2515 ULONG (STDMETHODCALLTYPE *Release)( 2516 IWinInetFileStream *This); 2517 2518 /*** IWinInetFileStream methods ***/ 2519 HRESULT (STDMETHODCALLTYPE *SetHandleForUnlock)( 2520 IWinInetFileStream *This, 2521 DWORD_PTR hWinInetLockHandle, 2522 DWORD_PTR dwReserved); 2523 2524 HRESULT (STDMETHODCALLTYPE *SetDeleteFile)( 2525 IWinInetFileStream *This, 2526 DWORD_PTR dwReserved); 2527 2528 END_INTERFACE 2529 } IWinInetFileStreamVtbl; 2530 2531 interface IWinInetFileStream { 2532 CONST_VTBL IWinInetFileStreamVtbl* lpVtbl; 2533 }; 2534 2535 #ifdef COBJMACROS 2536 #ifndef WIDL_C_INLINE_WRAPPERS 2537 /*** IUnknown methods ***/ 2538 #define IWinInetFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2539 #define IWinInetFileStream_AddRef(This) (This)->lpVtbl->AddRef(This) 2540 #define IWinInetFileStream_Release(This) (This)->lpVtbl->Release(This) 2541 /*** IWinInetFileStream methods ***/ 2542 #define IWinInetFileStream_SetHandleForUnlock(This,hWinInetLockHandle,dwReserved) (This)->lpVtbl->SetHandleForUnlock(This,hWinInetLockHandle,dwReserved) 2543 #define IWinInetFileStream_SetDeleteFile(This,dwReserved) (This)->lpVtbl->SetDeleteFile(This,dwReserved) 2544 #else 2545 /*** IUnknown methods ***/ 2546 static FORCEINLINE HRESULT IWinInetFileStream_QueryInterface(IWinInetFileStream* This,REFIID riid,void **ppvObject) { 2547 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2548 } 2549 static FORCEINLINE ULONG IWinInetFileStream_AddRef(IWinInetFileStream* This) { 2550 return This->lpVtbl->AddRef(This); 2551 } 2552 static FORCEINLINE ULONG IWinInetFileStream_Release(IWinInetFileStream* This) { 2553 return This->lpVtbl->Release(This); 2554 } 2555 /*** IWinInetFileStream methods ***/ 2556 static FORCEINLINE HRESULT IWinInetFileStream_SetHandleForUnlock(IWinInetFileStream* This,DWORD_PTR hWinInetLockHandle,DWORD_PTR dwReserved) { 2557 return This->lpVtbl->SetHandleForUnlock(This,hWinInetLockHandle,dwReserved); 2558 } 2559 static FORCEINLINE HRESULT IWinInetFileStream_SetDeleteFile(IWinInetFileStream* This,DWORD_PTR dwReserved) { 2560 return This->lpVtbl->SetDeleteFile(This,dwReserved); 2561 } 2562 #endif 2563 #endif 2564 2565 #endif 2566 2567 2568 #endif /* __IWinInetFileStream_INTERFACE_DEFINED__ */ 2569 2570 #endif 2571 2572 #ifndef _LPWINDOWFORBINDINGUI_DEFINED 2573 #define _LPWINDOWFORBINDINGUI_DEFINED 2574 2575 /***************************************************************************** 2576 * IWindowForBindingUI interface 2577 */ 2578 #ifndef __IWindowForBindingUI_INTERFACE_DEFINED__ 2579 #define __IWindowForBindingUI_INTERFACE_DEFINED__ 2580 2581 typedef IWindowForBindingUI *LPWINDOWFORBINDINGUI; 2582 2583 DEFINE_GUID(IID_IWindowForBindingUI, 0x79eac9d5, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 2584 #if defined(__cplusplus) && !defined(CINTERFACE) 2585 MIDL_INTERFACE("79eac9d5-bafa-11ce-8c82-00aa004ba90b") 2586 IWindowForBindingUI : public IUnknown 2587 { 2588 virtual HRESULT STDMETHODCALLTYPE GetWindow( 2589 REFGUID rguidReason, 2590 HWND *phwnd) = 0; 2591 2592 }; 2593 #ifdef __CRT_UUID_DECL 2594 __CRT_UUID_DECL(IWindowForBindingUI, 0x79eac9d5, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 2595 #endif 2596 #else 2597 typedef struct IWindowForBindingUIVtbl { 2598 BEGIN_INTERFACE 2599 2600 /*** IUnknown methods ***/ 2601 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2602 IWindowForBindingUI *This, 2603 REFIID riid, 2604 void **ppvObject); 2605 2606 ULONG (STDMETHODCALLTYPE *AddRef)( 2607 IWindowForBindingUI *This); 2608 2609 ULONG (STDMETHODCALLTYPE *Release)( 2610 IWindowForBindingUI *This); 2611 2612 /*** IWindowForBindingUI methods ***/ 2613 HRESULT (STDMETHODCALLTYPE *GetWindow)( 2614 IWindowForBindingUI *This, 2615 REFGUID rguidReason, 2616 HWND *phwnd); 2617 2618 END_INTERFACE 2619 } IWindowForBindingUIVtbl; 2620 2621 interface IWindowForBindingUI { 2622 CONST_VTBL IWindowForBindingUIVtbl* lpVtbl; 2623 }; 2624 2625 #ifdef COBJMACROS 2626 #ifndef WIDL_C_INLINE_WRAPPERS 2627 /*** IUnknown methods ***/ 2628 #define IWindowForBindingUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2629 #define IWindowForBindingUI_AddRef(This) (This)->lpVtbl->AddRef(This) 2630 #define IWindowForBindingUI_Release(This) (This)->lpVtbl->Release(This) 2631 /*** IWindowForBindingUI methods ***/ 2632 #define IWindowForBindingUI_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd) 2633 #else 2634 /*** IUnknown methods ***/ 2635 static FORCEINLINE HRESULT IWindowForBindingUI_QueryInterface(IWindowForBindingUI* This,REFIID riid,void **ppvObject) { 2636 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2637 } 2638 static FORCEINLINE ULONG IWindowForBindingUI_AddRef(IWindowForBindingUI* This) { 2639 return This->lpVtbl->AddRef(This); 2640 } 2641 static FORCEINLINE ULONG IWindowForBindingUI_Release(IWindowForBindingUI* This) { 2642 return This->lpVtbl->Release(This); 2643 } 2644 /*** IWindowForBindingUI methods ***/ 2645 static FORCEINLINE HRESULT IWindowForBindingUI_GetWindow(IWindowForBindingUI* This,REFGUID rguidReason,HWND *phwnd) { 2646 return This->lpVtbl->GetWindow(This,rguidReason,phwnd); 2647 } 2648 #endif 2649 #endif 2650 2651 #endif 2652 2653 2654 #endif /* __IWindowForBindingUI_INTERFACE_DEFINED__ */ 2655 2656 #endif 2657 2658 #ifndef _LPCODEINSTALL_DEFINED 2659 #define _LPCODEINSTALL_DEFINED 2660 2661 /***************************************************************************** 2662 * ICodeInstall interface 2663 */ 2664 #ifndef __ICodeInstall_INTERFACE_DEFINED__ 2665 #define __ICodeInstall_INTERFACE_DEFINED__ 2666 2667 typedef ICodeInstall *LPCODEINSTALL; 2668 2669 typedef enum __WIDL_urlmon_generated_name_0000000B { 2670 CIP_DISK_FULL = 0, 2671 CIP_ACCESS_DENIED = 1, 2672 CIP_NEWER_VERSION_EXISTS = 2, 2673 CIP_OLDER_VERSION_EXISTS = 3, 2674 CIP_NAME_CONFLICT = 4, 2675 CIP_TRUST_VERIFICATION_COMPONENT_MISSING = 5, 2676 CIP_EXE_SELF_REGISTERATION_TIMEOUT = 6, 2677 CIP_UNSAFE_TO_ABORT = 7, 2678 CIP_NEED_REBOOT = 8, 2679 CIP_NEED_REBOOT_UI_PERMISSION = 9 2680 } CIP_STATUS; 2681 2682 DEFINE_GUID(IID_ICodeInstall, 0x79eac9d1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 2683 #if defined(__cplusplus) && !defined(CINTERFACE) 2684 MIDL_INTERFACE("79eac9d1-baf9-11ce-8c82-00aa004ba90b") 2685 ICodeInstall : public IWindowForBindingUI 2686 { 2687 virtual HRESULT STDMETHODCALLTYPE OnCodeInstallProblem( 2688 ULONG ulStatusCode, 2689 LPCWSTR szDestination, 2690 LPCWSTR szSource, 2691 DWORD dwReserved) = 0; 2692 2693 }; 2694 #ifdef __CRT_UUID_DECL 2695 __CRT_UUID_DECL(ICodeInstall, 0x79eac9d1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 2696 #endif 2697 #else 2698 typedef struct ICodeInstallVtbl { 2699 BEGIN_INTERFACE 2700 2701 /*** IUnknown methods ***/ 2702 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2703 ICodeInstall *This, 2704 REFIID riid, 2705 void **ppvObject); 2706 2707 ULONG (STDMETHODCALLTYPE *AddRef)( 2708 ICodeInstall *This); 2709 2710 ULONG (STDMETHODCALLTYPE *Release)( 2711 ICodeInstall *This); 2712 2713 /*** IWindowForBindingUI methods ***/ 2714 HRESULT (STDMETHODCALLTYPE *GetWindow)( 2715 ICodeInstall *This, 2716 REFGUID rguidReason, 2717 HWND *phwnd); 2718 2719 /*** ICodeInstall methods ***/ 2720 HRESULT (STDMETHODCALLTYPE *OnCodeInstallProblem)( 2721 ICodeInstall *This, 2722 ULONG ulStatusCode, 2723 LPCWSTR szDestination, 2724 LPCWSTR szSource, 2725 DWORD dwReserved); 2726 2727 END_INTERFACE 2728 } ICodeInstallVtbl; 2729 2730 interface ICodeInstall { 2731 CONST_VTBL ICodeInstallVtbl* lpVtbl; 2732 }; 2733 2734 #ifdef COBJMACROS 2735 #ifndef WIDL_C_INLINE_WRAPPERS 2736 /*** IUnknown methods ***/ 2737 #define ICodeInstall_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2738 #define ICodeInstall_AddRef(This) (This)->lpVtbl->AddRef(This) 2739 #define ICodeInstall_Release(This) (This)->lpVtbl->Release(This) 2740 /*** IWindowForBindingUI methods ***/ 2741 #define ICodeInstall_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd) 2742 /*** ICodeInstall methods ***/ 2743 #define ICodeInstall_OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved) (This)->lpVtbl->OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved) 2744 #else 2745 /*** IUnknown methods ***/ 2746 static FORCEINLINE HRESULT ICodeInstall_QueryInterface(ICodeInstall* This,REFIID riid,void **ppvObject) { 2747 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2748 } 2749 static FORCEINLINE ULONG ICodeInstall_AddRef(ICodeInstall* This) { 2750 return This->lpVtbl->AddRef(This); 2751 } 2752 static FORCEINLINE ULONG ICodeInstall_Release(ICodeInstall* This) { 2753 return This->lpVtbl->Release(This); 2754 } 2755 /*** IWindowForBindingUI methods ***/ 2756 static FORCEINLINE HRESULT ICodeInstall_GetWindow(ICodeInstall* This,REFGUID rguidReason,HWND *phwnd) { 2757 return This->lpVtbl->GetWindow(This,rguidReason,phwnd); 2758 } 2759 /*** ICodeInstall methods ***/ 2760 static FORCEINLINE HRESULT ICodeInstall_OnCodeInstallProblem(ICodeInstall* This,ULONG ulStatusCode,LPCWSTR szDestination,LPCWSTR szSource,DWORD dwReserved) { 2761 return This->lpVtbl->OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved); 2762 } 2763 #endif 2764 #endif 2765 2766 #endif 2767 2768 2769 #endif /* __ICodeInstall_INTERFACE_DEFINED__ */ 2770 2771 #endif 2772 #endif 2773 2774 #if (_WIN32_IE >= _WIN32_IE_IE70) 2775 #ifndef _LPUri_DEFINED 2776 #define _LPUri_DEFINED 2777 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 2778 /***************************************************************************** 2779 * IUri interface 2780 */ 2781 #ifndef __IUri_INTERFACE_DEFINED__ 2782 #define __IUri_INTERFACE_DEFINED__ 2783 2784 typedef enum __WIDL_urlmon_generated_name_0000000C { 2785 Uri_PROPERTY_ABSOLUTE_URI = 0, 2786 Uri_PROPERTY_STRING_START = Uri_PROPERTY_ABSOLUTE_URI, 2787 Uri_PROPERTY_AUTHORITY = 1, 2788 Uri_PROPERTY_DISPLAY_URI = 2, 2789 Uri_PROPERTY_DOMAIN = 3, 2790 Uri_PROPERTY_EXTENSION = 4, 2791 Uri_PROPERTY_FRAGMENT = 5, 2792 Uri_PROPERTY_HOST = 6, 2793 Uri_PROPERTY_PASSWORD = 7, 2794 Uri_PROPERTY_PATH = 8, 2795 Uri_PROPERTY_PATH_AND_QUERY = 9, 2796 Uri_PROPERTY_QUERY = 10, 2797 Uri_PROPERTY_RAW_URI = 11, 2798 Uri_PROPERTY_SCHEME_NAME = 12, 2799 Uri_PROPERTY_USER_INFO = 13, 2800 Uri_PROPERTY_USER_NAME = 14, 2801 Uri_PROPERTY_STRING_LAST = Uri_PROPERTY_USER_NAME, 2802 Uri_PROPERTY_HOST_TYPE = 15, 2803 Uri_PROPERTY_DWORD_START = Uri_PROPERTY_HOST_TYPE, 2804 Uri_PROPERTY_PORT = 16, 2805 Uri_PROPERTY_SCHEME = 17, 2806 Uri_PROPERTY_ZONE = 18, 2807 Uri_PROPERTY_DWORD_LAST = Uri_PROPERTY_ZONE 2808 } Uri_PROPERTY; 2809 2810 typedef enum __WIDL_urlmon_generated_name_0000000D { 2811 Uri_HOST_UNKNOWN = 0, 2812 Uri_HOST_DNS = 1, 2813 Uri_HOST_IPV4 = 2, 2814 Uri_HOST_IPV6 = 3, 2815 Uri_HOST_IDN = 4 2816 } Uri_HOST_TYPE; 2817 2818 DEFINE_GUID(IID_IUri, 0xa39ee748, 0x6a27, 0x4817, 0xa6,0xf2, 0x13,0x91,0x4b,0xef,0x58,0x90); 2819 #if defined(__cplusplus) && !defined(CINTERFACE) 2820 MIDL_INTERFACE("a39ee748-6a27-4817-a6f2-13914bef5890") 2821 IUri : public IUnknown 2822 { 2823 virtual HRESULT STDMETHODCALLTYPE GetPropertyBSTR( 2824 Uri_PROPERTY uriProp, 2825 BSTR *pbstrProperty, 2826 DWORD dwFlags) = 0; 2827 2828 virtual HRESULT STDMETHODCALLTYPE GetPropertyLength( 2829 Uri_PROPERTY uriProp, 2830 DWORD *pcchProperty, 2831 DWORD dwFlags) = 0; 2832 2833 virtual HRESULT STDMETHODCALLTYPE GetPropertyDWORD( 2834 Uri_PROPERTY uriProp, 2835 DWORD *pdwProperty, 2836 DWORD dwFlags) = 0; 2837 2838 virtual HRESULT STDMETHODCALLTYPE HasProperty( 2839 Uri_PROPERTY uriProp, 2840 WINBOOL *pfHasProperty) = 0; 2841 2842 virtual HRESULT STDMETHODCALLTYPE GetAbsoluteUri( 2843 BSTR *pbstrAbsoluteUri) = 0; 2844 2845 virtual HRESULT STDMETHODCALLTYPE GetAuthority( 2846 BSTR *pbstrAuthority) = 0; 2847 2848 virtual HRESULT STDMETHODCALLTYPE GetDisplayUri( 2849 BSTR *pbstrDisplayString) = 0; 2850 2851 virtual HRESULT STDMETHODCALLTYPE GetDomain( 2852 BSTR *pbstrDomain) = 0; 2853 2854 virtual HRESULT STDMETHODCALLTYPE GetExtension( 2855 BSTR *pbstrExtension) = 0; 2856 2857 virtual HRESULT STDMETHODCALLTYPE GetFragment( 2858 BSTR *pbstrFragment) = 0; 2859 2860 virtual HRESULT STDMETHODCALLTYPE GetHost( 2861 BSTR *pbstrHost) = 0; 2862 2863 virtual HRESULT STDMETHODCALLTYPE GetPassword( 2864 BSTR *pbstrPassword) = 0; 2865 2866 virtual HRESULT STDMETHODCALLTYPE GetPath( 2867 BSTR *pbstrPath) = 0; 2868 2869 virtual HRESULT STDMETHODCALLTYPE GetPathAndQuery( 2870 BSTR *pbstrPathAndQuery) = 0; 2871 2872 virtual HRESULT STDMETHODCALLTYPE GetQuery( 2873 BSTR *pbstrQuery) = 0; 2874 2875 virtual HRESULT STDMETHODCALLTYPE GetRawUri( 2876 BSTR *pbstrRawUri) = 0; 2877 2878 virtual HRESULT STDMETHODCALLTYPE GetSchemeName( 2879 BSTR *pbstrSchemeName) = 0; 2880 2881 virtual HRESULT STDMETHODCALLTYPE GetUserInfo( 2882 BSTR *pbstrUserInfo) = 0; 2883 2884 virtual HRESULT STDMETHODCALLTYPE GetUserName( 2885 BSTR *pbstrUserName) = 0; 2886 2887 virtual HRESULT STDMETHODCALLTYPE GetHostType( 2888 DWORD *pdwHostType) = 0; 2889 2890 virtual HRESULT STDMETHODCALLTYPE GetPort( 2891 DWORD *pdwPort) = 0; 2892 2893 virtual HRESULT STDMETHODCALLTYPE GetScheme( 2894 DWORD *pdwScheme) = 0; 2895 2896 virtual HRESULT STDMETHODCALLTYPE GetZone( 2897 DWORD *pdwZone) = 0; 2898 2899 virtual HRESULT STDMETHODCALLTYPE GetProperties( 2900 LPDWORD pdwFlags) = 0; 2901 2902 virtual HRESULT STDMETHODCALLTYPE IsEqual( 2903 IUri *pUri, 2904 WINBOOL *pfEqual) = 0; 2905 2906 }; 2907 #ifdef __CRT_UUID_DECL 2908 __CRT_UUID_DECL(IUri, 0xa39ee748, 0x6a27, 0x4817, 0xa6,0xf2, 0x13,0x91,0x4b,0xef,0x58,0x90) 2909 #endif 2910 #else 2911 typedef struct IUriVtbl { 2912 BEGIN_INTERFACE 2913 2914 /*** IUnknown methods ***/ 2915 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2916 IUri *This, 2917 REFIID riid, 2918 void **ppvObject); 2919 2920 ULONG (STDMETHODCALLTYPE *AddRef)( 2921 IUri *This); 2922 2923 ULONG (STDMETHODCALLTYPE *Release)( 2924 IUri *This); 2925 2926 /*** IUri methods ***/ 2927 HRESULT (STDMETHODCALLTYPE *GetPropertyBSTR)( 2928 IUri *This, 2929 Uri_PROPERTY uriProp, 2930 BSTR *pbstrProperty, 2931 DWORD dwFlags); 2932 2933 HRESULT (STDMETHODCALLTYPE *GetPropertyLength)( 2934 IUri *This, 2935 Uri_PROPERTY uriProp, 2936 DWORD *pcchProperty, 2937 DWORD dwFlags); 2938 2939 HRESULT (STDMETHODCALLTYPE *GetPropertyDWORD)( 2940 IUri *This, 2941 Uri_PROPERTY uriProp, 2942 DWORD *pdwProperty, 2943 DWORD dwFlags); 2944 2945 HRESULT (STDMETHODCALLTYPE *HasProperty)( 2946 IUri *This, 2947 Uri_PROPERTY uriProp, 2948 WINBOOL *pfHasProperty); 2949 2950 HRESULT (STDMETHODCALLTYPE *GetAbsoluteUri)( 2951 IUri *This, 2952 BSTR *pbstrAbsoluteUri); 2953 2954 HRESULT (STDMETHODCALLTYPE *GetAuthority)( 2955 IUri *This, 2956 BSTR *pbstrAuthority); 2957 2958 HRESULT (STDMETHODCALLTYPE *GetDisplayUri)( 2959 IUri *This, 2960 BSTR *pbstrDisplayString); 2961 2962 HRESULT (STDMETHODCALLTYPE *GetDomain)( 2963 IUri *This, 2964 BSTR *pbstrDomain); 2965 2966 HRESULT (STDMETHODCALLTYPE *GetExtension)( 2967 IUri *This, 2968 BSTR *pbstrExtension); 2969 2970 HRESULT (STDMETHODCALLTYPE *GetFragment)( 2971 IUri *This, 2972 BSTR *pbstrFragment); 2973 2974 HRESULT (STDMETHODCALLTYPE *GetHost)( 2975 IUri *This, 2976 BSTR *pbstrHost); 2977 2978 HRESULT (STDMETHODCALLTYPE *GetPassword)( 2979 IUri *This, 2980 BSTR *pbstrPassword); 2981 2982 HRESULT (STDMETHODCALLTYPE *GetPath)( 2983 IUri *This, 2984 BSTR *pbstrPath); 2985 2986 HRESULT (STDMETHODCALLTYPE *GetPathAndQuery)( 2987 IUri *This, 2988 BSTR *pbstrPathAndQuery); 2989 2990 HRESULT (STDMETHODCALLTYPE *GetQuery)( 2991 IUri *This, 2992 BSTR *pbstrQuery); 2993 2994 HRESULT (STDMETHODCALLTYPE *GetRawUri)( 2995 IUri *This, 2996 BSTR *pbstrRawUri); 2997 2998 HRESULT (STDMETHODCALLTYPE *GetSchemeName)( 2999 IUri *This, 3000 BSTR *pbstrSchemeName); 3001 3002 HRESULT (STDMETHODCALLTYPE *GetUserInfo)( 3003 IUri *This, 3004 BSTR *pbstrUserInfo); 3005 3006 HRESULT (STDMETHODCALLTYPE *GetUserName)( 3007 IUri *This, 3008 BSTR *pbstrUserName); 3009 3010 HRESULT (STDMETHODCALLTYPE *GetHostType)( 3011 IUri *This, 3012 DWORD *pdwHostType); 3013 3014 HRESULT (STDMETHODCALLTYPE *GetPort)( 3015 IUri *This, 3016 DWORD *pdwPort); 3017 3018 HRESULT (STDMETHODCALLTYPE *GetScheme)( 3019 IUri *This, 3020 DWORD *pdwScheme); 3021 3022 HRESULT (STDMETHODCALLTYPE *GetZone)( 3023 IUri *This, 3024 DWORD *pdwZone); 3025 3026 HRESULT (STDMETHODCALLTYPE *GetProperties)( 3027 IUri *This, 3028 LPDWORD pdwFlags); 3029 3030 HRESULT (STDMETHODCALLTYPE *IsEqual)( 3031 IUri *This, 3032 IUri *pUri, 3033 WINBOOL *pfEqual); 3034 3035 END_INTERFACE 3036 } IUriVtbl; 3037 3038 interface IUri { 3039 CONST_VTBL IUriVtbl* lpVtbl; 3040 }; 3041 3042 #ifdef COBJMACROS 3043 #ifndef WIDL_C_INLINE_WRAPPERS 3044 /*** IUnknown methods ***/ 3045 #define IUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3046 #define IUri_AddRef(This) (This)->lpVtbl->AddRef(This) 3047 #define IUri_Release(This) (This)->lpVtbl->Release(This) 3048 /*** IUri methods ***/ 3049 #define IUri_GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags) (This)->lpVtbl->GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags) 3050 #define IUri_GetPropertyLength(This,uriProp,pcchProperty,dwFlags) (This)->lpVtbl->GetPropertyLength(This,uriProp,pcchProperty,dwFlags) 3051 #define IUri_GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags) (This)->lpVtbl->GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags) 3052 #define IUri_HasProperty(This,uriProp,pfHasProperty) (This)->lpVtbl->HasProperty(This,uriProp,pfHasProperty) 3053 #define IUri_GetAbsoluteUri(This,pbstrAbsoluteUri) (This)->lpVtbl->GetAbsoluteUri(This,pbstrAbsoluteUri) 3054 #define IUri_GetAuthority(This,pbstrAuthority) (This)->lpVtbl->GetAuthority(This,pbstrAuthority) 3055 #define IUri_GetDisplayUri(This,pbstrDisplayString) (This)->lpVtbl->GetDisplayUri(This,pbstrDisplayString) 3056 #define IUri_GetDomain(This,pbstrDomain) (This)->lpVtbl->GetDomain(This,pbstrDomain) 3057 #define IUri_GetExtension(This,pbstrExtension) (This)->lpVtbl->GetExtension(This,pbstrExtension) 3058 #define IUri_GetFragment(This,pbstrFragment) (This)->lpVtbl->GetFragment(This,pbstrFragment) 3059 #define IUri_GetHost(This,pbstrHost) (This)->lpVtbl->GetHost(This,pbstrHost) 3060 #define IUri_GetPassword(This,pbstrPassword) (This)->lpVtbl->GetPassword(This,pbstrPassword) 3061 #define IUri_GetPath(This,pbstrPath) (This)->lpVtbl->GetPath(This,pbstrPath) 3062 #define IUri_GetPathAndQuery(This,pbstrPathAndQuery) (This)->lpVtbl->GetPathAndQuery(This,pbstrPathAndQuery) 3063 #define IUri_GetQuery(This,pbstrQuery) (This)->lpVtbl->GetQuery(This,pbstrQuery) 3064 #define IUri_GetRawUri(This,pbstrRawUri) (This)->lpVtbl->GetRawUri(This,pbstrRawUri) 3065 #define IUri_GetSchemeName(This,pbstrSchemeName) (This)->lpVtbl->GetSchemeName(This,pbstrSchemeName) 3066 #define IUri_GetUserInfo(This,pbstrUserInfo) (This)->lpVtbl->GetUserInfo(This,pbstrUserInfo) 3067 #define IUri_GetUserName(This,pbstrUserName) (This)->lpVtbl->GetUserName(This,pbstrUserName) 3068 #define IUri_GetHostType(This,pdwHostType) (This)->lpVtbl->GetHostType(This,pdwHostType) 3069 #define IUri_GetPort(This,pdwPort) (This)->lpVtbl->GetPort(This,pdwPort) 3070 #define IUri_GetScheme(This,pdwScheme) (This)->lpVtbl->GetScheme(This,pdwScheme) 3071 #define IUri_GetZone(This,pdwZone) (This)->lpVtbl->GetZone(This,pdwZone) 3072 #define IUri_GetProperties(This,pdwFlags) (This)->lpVtbl->GetProperties(This,pdwFlags) 3073 #define IUri_IsEqual(This,pUri,pfEqual) (This)->lpVtbl->IsEqual(This,pUri,pfEqual) 3074 #else 3075 /*** IUnknown methods ***/ 3076 static FORCEINLINE HRESULT IUri_QueryInterface(IUri* This,REFIID riid,void **ppvObject) { 3077 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3078 } 3079 static FORCEINLINE ULONG IUri_AddRef(IUri* This) { 3080 return This->lpVtbl->AddRef(This); 3081 } 3082 static FORCEINLINE ULONG IUri_Release(IUri* This) { 3083 return This->lpVtbl->Release(This); 3084 } 3085 /*** IUri methods ***/ 3086 static FORCEINLINE HRESULT IUri_GetPropertyBSTR(IUri* This,Uri_PROPERTY uriProp,BSTR *pbstrProperty,DWORD dwFlags) { 3087 return This->lpVtbl->GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags); 3088 } 3089 static FORCEINLINE HRESULT IUri_GetPropertyLength(IUri* This,Uri_PROPERTY uriProp,DWORD *pcchProperty,DWORD dwFlags) { 3090 return This->lpVtbl->GetPropertyLength(This,uriProp,pcchProperty,dwFlags); 3091 } 3092 static FORCEINLINE HRESULT IUri_GetPropertyDWORD(IUri* This,Uri_PROPERTY uriProp,DWORD *pdwProperty,DWORD dwFlags) { 3093 return This->lpVtbl->GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags); 3094 } 3095 static FORCEINLINE HRESULT IUri_HasProperty(IUri* This,Uri_PROPERTY uriProp,WINBOOL *pfHasProperty) { 3096 return This->lpVtbl->HasProperty(This,uriProp,pfHasProperty); 3097 } 3098 static FORCEINLINE HRESULT IUri_GetAbsoluteUri(IUri* This,BSTR *pbstrAbsoluteUri) { 3099 return This->lpVtbl->GetAbsoluteUri(This,pbstrAbsoluteUri); 3100 } 3101 static FORCEINLINE HRESULT IUri_GetAuthority(IUri* This,BSTR *pbstrAuthority) { 3102 return This->lpVtbl->GetAuthority(This,pbstrAuthority); 3103 } 3104 static FORCEINLINE HRESULT IUri_GetDisplayUri(IUri* This,BSTR *pbstrDisplayString) { 3105 return This->lpVtbl->GetDisplayUri(This,pbstrDisplayString); 3106 } 3107 static FORCEINLINE HRESULT IUri_GetDomain(IUri* This,BSTR *pbstrDomain) { 3108 return This->lpVtbl->GetDomain(This,pbstrDomain); 3109 } 3110 static FORCEINLINE HRESULT IUri_GetExtension(IUri* This,BSTR *pbstrExtension) { 3111 return This->lpVtbl->GetExtension(This,pbstrExtension); 3112 } 3113 static FORCEINLINE HRESULT IUri_GetFragment(IUri* This,BSTR *pbstrFragment) { 3114 return This->lpVtbl->GetFragment(This,pbstrFragment); 3115 } 3116 static FORCEINLINE HRESULT IUri_GetHost(IUri* This,BSTR *pbstrHost) { 3117 return This->lpVtbl->GetHost(This,pbstrHost); 3118 } 3119 static FORCEINLINE HRESULT IUri_GetPassword(IUri* This,BSTR *pbstrPassword) { 3120 return This->lpVtbl->GetPassword(This,pbstrPassword); 3121 } 3122 static FORCEINLINE HRESULT IUri_GetPath(IUri* This,BSTR *pbstrPath) { 3123 return This->lpVtbl->GetPath(This,pbstrPath); 3124 } 3125 static FORCEINLINE HRESULT IUri_GetPathAndQuery(IUri* This,BSTR *pbstrPathAndQuery) { 3126 return This->lpVtbl->GetPathAndQuery(This,pbstrPathAndQuery); 3127 } 3128 static FORCEINLINE HRESULT IUri_GetQuery(IUri* This,BSTR *pbstrQuery) { 3129 return This->lpVtbl->GetQuery(This,pbstrQuery); 3130 } 3131 static FORCEINLINE HRESULT IUri_GetRawUri(IUri* This,BSTR *pbstrRawUri) { 3132 return This->lpVtbl->GetRawUri(This,pbstrRawUri); 3133 } 3134 static FORCEINLINE HRESULT IUri_GetSchemeName(IUri* This,BSTR *pbstrSchemeName) { 3135 return This->lpVtbl->GetSchemeName(This,pbstrSchemeName); 3136 } 3137 static FORCEINLINE HRESULT IUri_GetUserInfo(IUri* This,BSTR *pbstrUserInfo) { 3138 return This->lpVtbl->GetUserInfo(This,pbstrUserInfo); 3139 } 3140 static FORCEINLINE HRESULT IUri_GetUserName(IUri* This,BSTR *pbstrUserName) { 3141 return This->lpVtbl->GetUserName(This,pbstrUserName); 3142 } 3143 static FORCEINLINE HRESULT IUri_GetHostType(IUri* This,DWORD *pdwHostType) { 3144 return This->lpVtbl->GetHostType(This,pdwHostType); 3145 } 3146 static FORCEINLINE HRESULT IUri_GetPort(IUri* This,DWORD *pdwPort) { 3147 return This->lpVtbl->GetPort(This,pdwPort); 3148 } 3149 static FORCEINLINE HRESULT IUri_GetScheme(IUri* This,DWORD *pdwScheme) { 3150 return This->lpVtbl->GetScheme(This,pdwScheme); 3151 } 3152 static FORCEINLINE HRESULT IUri_GetZone(IUri* This,DWORD *pdwZone) { 3153 return This->lpVtbl->GetZone(This,pdwZone); 3154 } 3155 static FORCEINLINE HRESULT IUri_GetProperties(IUri* This,LPDWORD pdwFlags) { 3156 return This->lpVtbl->GetProperties(This,pdwFlags); 3157 } 3158 static FORCEINLINE HRESULT IUri_IsEqual(IUri* This,IUri *pUri,WINBOOL *pfEqual) { 3159 return This->lpVtbl->IsEqual(This,pUri,pfEqual); 3160 } 3161 #endif 3162 #endif 3163 3164 #endif 3165 3166 3167 #endif /* __IUri_INTERFACE_DEFINED__ */ 3168 3169 3170 STDAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI); 3171 STDAPI CreateUriWithFragment( 3172 LPCWSTR pwzURI, LPCWSTR pwzFragment, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI); 3173 #endif 3174 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 3175 STDAPI CreateUriFromMultiByteString(LPCSTR pszANSIInputUri, DWORD dwEncodingFlags, DWORD dwCodePage, DWORD dwCreateFlags, DWORD_PTR dwReserved, IUri **ppUri); 3176 #endif 3177 3178 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 3179 #define Uri_HAS_ABSOLUTE_URI (1 << Uri_PROPERTY_ABSOLUTE_URI) 3180 #define Uri_HAS_AUTHORITY (1 << Uri_PROPERTY_AUTHORITY) 3181 #define Uri_HAS_DISPLAY_URI (1 << Uri_PROPERTY_DISPLAY_URI) 3182 #define Uri_HAS_DOMAIN (1 << Uri_PROPERTY_DOMAIN) 3183 #define Uri_HAS_EXTENSION (1 << Uri_PROPERTY_EXTENSION) 3184 #define Uri_HAS_FRAGMENT (1 << Uri_PROPERTY_FRAGMENT) 3185 #define Uri_HAS_HOST (1 << Uri_PROPERTY_HOST) 3186 #define Uri_HAS_PASSWORD (1 << Uri_PROPERTY_PASSWORD) 3187 #define Uri_HAS_PATH (1 << Uri_PROPERTY_PATH) 3188 #define Uri_HAS_QUERY (1 << Uri_PROPERTY_QUERY) 3189 #define Uri_HAS_RAW_URI (1 << Uri_PROPERTY_RAW_URI) 3190 #define Uri_HAS_SCHEME_NAME (1 << Uri_PROPERTY_SCHEME_NAME) 3191 #define Uri_HAS_USER_NAME (1 << Uri_PROPERTY_USER_NAME) 3192 #define Uri_HAS_PATH_AND_QUERY (1 << Uri_PROPERTY_PATH_AND_QUERY) 3193 #define Uri_HAS_USER_INFO (1 << Uri_PROPERTY_USER_INFO) 3194 #define Uri_HAS_HOST_TYPE (1 << Uri_PROPERTY_HOST_TYPE) 3195 #define Uri_HAS_PORT (1 << Uri_PROPERTY_PORT) 3196 #define Uri_HAS_SCHEME (1 << Uri_PROPERTY_SCHEME) 3197 #define Uri_HAS_ZONE (1 << Uri_PROPERTY_ZONE) 3198 3199 #define Uri_CREATE_ALLOW_RELATIVE 0x1 3200 #define Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME 0x2 3201 #define Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME 0x4 3202 #define Uri_CREATE_NOFRAG 0x8 3203 #define Uri_CREATE_NO_CANONICALIZE 0x10 3204 #define Uri_CREATE_CANONICALIZE 0x100 3205 #define Uri_CREATE_FILE_USE_DOS_PATH 0x20 3206 #define Uri_CREATE_DECODE_EXTRA_INFO 0x40 3207 #define Uri_CREATE_NO_DECODE_EXTRA_INFO 0x80 3208 #define Uri_CREATE_CRACK_UNKNOWN_SCHEMES 0x200 3209 #define Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES 0x400 3210 #define Uri_CREATE_PRE_PROCESS_HTML_URI 0x800 3211 #define Uri_CREATE_NO_PRE_PROCESS_HTML_URI 0x1000 3212 #define Uri_CREATE_IE_SETTINGS 0x2000 3213 #define Uri_CREATE_NO_IE_SETTINGS 0x4000 3214 #define Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS 0x8000 3215 #define Uri_CREATE_NORMALIZE_INTL_CHARACTERS 0x10000 3216 #define Uri_CREATE_CANONICALIZE_ABSOLUTE 0x20000 3217 3218 #define Uri_DISPLAY_NO_FRAGMENT 0x1 3219 #define Uri_PUNYCODE_IDN_HOST 0x2 3220 #define Uri_DISPLAY_IDN_HOST 0x4 3221 #define Uri_DISPLAY_NO_PUNYCODE 0x8 3222 3223 #define Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8 0x1 3224 #define Uri_ENCODING_USER_INFO_AND_PATH_IS_CP 0x2 3225 #define Uri_ENCODING_HOST_IS_IDN 0x4 3226 #define Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8 0x8 3227 #define Uri_ENCODING_HOST_IS_PERCENT_ENCODED_CP 0x10 3228 #define Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8 0x20 3229 #define Uri_ENCODING_QUERY_AND_FRAGMENT_IS_CP 0x40 3230 3231 #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) 3232 3233 #define UriBuilder_USE_ORIGINAL_FLAGS 0x1 3234 #endif 3235 #endif 3236 3237 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 3238 /***************************************************************************** 3239 * IUriContainer interface 3240 */ 3241 #ifndef __IUriContainer_INTERFACE_DEFINED__ 3242 #define __IUriContainer_INTERFACE_DEFINED__ 3243 3244 DEFINE_GUID(IID_IUriContainer, 0xa158a630, 0xed6f, 0x45fb, 0xb9,0x87, 0xf6,0x86,0x76,0xf5,0x77,0x52); 3245 #if defined(__cplusplus) && !defined(CINTERFACE) 3246 MIDL_INTERFACE("a158a630-ed6f-45fb-b987-f68676f57752") 3247 IUriContainer : public IUnknown 3248 { 3249 virtual HRESULT STDMETHODCALLTYPE GetIUri( 3250 IUri **ppIUri) = 0; 3251 3252 }; 3253 #ifdef __CRT_UUID_DECL 3254 __CRT_UUID_DECL(IUriContainer, 0xa158a630, 0xed6f, 0x45fb, 0xb9,0x87, 0xf6,0x86,0x76,0xf5,0x77,0x52) 3255 #endif 3256 #else 3257 typedef struct IUriContainerVtbl { 3258 BEGIN_INTERFACE 3259 3260 /*** IUnknown methods ***/ 3261 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3262 IUriContainer *This, 3263 REFIID riid, 3264 void **ppvObject); 3265 3266 ULONG (STDMETHODCALLTYPE *AddRef)( 3267 IUriContainer *This); 3268 3269 ULONG (STDMETHODCALLTYPE *Release)( 3270 IUriContainer *This); 3271 3272 /*** IUriContainer methods ***/ 3273 HRESULT (STDMETHODCALLTYPE *GetIUri)( 3274 IUriContainer *This, 3275 IUri **ppIUri); 3276 3277 END_INTERFACE 3278 } IUriContainerVtbl; 3279 3280 interface IUriContainer { 3281 CONST_VTBL IUriContainerVtbl* lpVtbl; 3282 }; 3283 3284 #ifdef COBJMACROS 3285 #ifndef WIDL_C_INLINE_WRAPPERS 3286 /*** IUnknown methods ***/ 3287 #define IUriContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3288 #define IUriContainer_AddRef(This) (This)->lpVtbl->AddRef(This) 3289 #define IUriContainer_Release(This) (This)->lpVtbl->Release(This) 3290 /*** IUriContainer methods ***/ 3291 #define IUriContainer_GetIUri(This,ppIUri) (This)->lpVtbl->GetIUri(This,ppIUri) 3292 #else 3293 /*** IUnknown methods ***/ 3294 static FORCEINLINE HRESULT IUriContainer_QueryInterface(IUriContainer* This,REFIID riid,void **ppvObject) { 3295 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3296 } 3297 static FORCEINLINE ULONG IUriContainer_AddRef(IUriContainer* This) { 3298 return This->lpVtbl->AddRef(This); 3299 } 3300 static FORCEINLINE ULONG IUriContainer_Release(IUriContainer* This) { 3301 return This->lpVtbl->Release(This); 3302 } 3303 /*** IUriContainer methods ***/ 3304 static FORCEINLINE HRESULT IUriContainer_GetIUri(IUriContainer* This,IUri **ppIUri) { 3305 return This->lpVtbl->GetIUri(This,ppIUri); 3306 } 3307 #endif 3308 #endif 3309 3310 #endif 3311 3312 3313 #endif /* __IUriContainer_INTERFACE_DEFINED__ */ 3314 3315 3316 /***************************************************************************** 3317 * IUriBuilder interface 3318 */ 3319 #ifndef __IUriBuilder_INTERFACE_DEFINED__ 3320 #define __IUriBuilder_INTERFACE_DEFINED__ 3321 3322 DEFINE_GUID(IID_IUriBuilder, 0x4221b2e1, 0x8955, 0x46c0, 0xbd,0x5b, 0xde,0x98,0x97,0x56,0x5d,0xe7); 3323 #if defined(__cplusplus) && !defined(CINTERFACE) 3324 MIDL_INTERFACE("4221b2e1-8955-46c0-bd5b-de9897565de7") 3325 IUriBuilder : public IUnknown 3326 { 3327 virtual HRESULT STDMETHODCALLTYPE CreateUriSimple( 3328 DWORD dwAllowEncodingPropertyMask, 3329 DWORD_PTR dwReserved, 3330 IUri **ppIUri) = 0; 3331 3332 virtual HRESULT STDMETHODCALLTYPE CreateUri( 3333 DWORD dwCreateFlags, 3334 DWORD dwAllowEncodingPropertyMask, 3335 DWORD_PTR dwReserved, 3336 IUri **ppIUri) = 0; 3337 3338 virtual HRESULT STDMETHODCALLTYPE CreateUriWithFlags( 3339 DWORD dwCreateFlags, 3340 DWORD dwUriBuilderFlags, 3341 DWORD dwAllowEncodingPropertyMask, 3342 DWORD_PTR dwReserved, 3343 IUri **ppIUri) = 0; 3344 3345 virtual HRESULT STDMETHODCALLTYPE GetIUri( 3346 IUri **ppIUri) = 0; 3347 3348 virtual HRESULT STDMETHODCALLTYPE SetIUri( 3349 IUri *pIUri) = 0; 3350 3351 virtual HRESULT STDMETHODCALLTYPE GetFragment( 3352 DWORD *pcchFragment, 3353 LPCWSTR *ppwzFragment) = 0; 3354 3355 virtual HRESULT STDMETHODCALLTYPE GetHost( 3356 DWORD *pcchHost, 3357 LPCWSTR *ppwzHost) = 0; 3358 3359 virtual HRESULT STDMETHODCALLTYPE GetPassword( 3360 DWORD *pcchPassword, 3361 LPCWSTR *ppwzPassword) = 0; 3362 3363 virtual HRESULT STDMETHODCALLTYPE GetPath( 3364 DWORD *pcchPath, 3365 LPCWSTR *ppwzPath) = 0; 3366 3367 virtual HRESULT STDMETHODCALLTYPE GetPort( 3368 WINBOOL *pfHasPort, 3369 DWORD *pdwPort) = 0; 3370 3371 virtual HRESULT STDMETHODCALLTYPE GetQuery( 3372 DWORD *pcchQuery, 3373 LPCWSTR *ppwzQuery) = 0; 3374 3375 virtual HRESULT STDMETHODCALLTYPE GetSchemeName( 3376 DWORD *pcchSchemeName, 3377 LPCWSTR *ppwzSchemeName) = 0; 3378 3379 virtual HRESULT STDMETHODCALLTYPE GetUserName( 3380 DWORD *pcchUserName, 3381 LPCWSTR *ppwzUserName) = 0; 3382 3383 virtual HRESULT STDMETHODCALLTYPE SetFragment( 3384 LPCWSTR pwzNewValue) = 0; 3385 3386 virtual HRESULT STDMETHODCALLTYPE SetHost( 3387 LPCWSTR pwzNewValue) = 0; 3388 3389 virtual HRESULT STDMETHODCALLTYPE SetPassword( 3390 LPCWSTR pwzNewValue) = 0; 3391 3392 virtual HRESULT STDMETHODCALLTYPE SetPath( 3393 LPCWSTR pwzNewValue) = 0; 3394 3395 virtual HRESULT STDMETHODCALLTYPE SetPort( 3396 WINBOOL fHasPort, 3397 DWORD dwNewValue) = 0; 3398 3399 virtual HRESULT STDMETHODCALLTYPE SetQuery( 3400 LPCWSTR pwzNewValue) = 0; 3401 3402 virtual HRESULT STDMETHODCALLTYPE SetSchemeName( 3403 LPCWSTR pwzNewValue) = 0; 3404 3405 virtual HRESULT STDMETHODCALLTYPE SetUserName( 3406 LPCWSTR pwzNewValue) = 0; 3407 3408 virtual HRESULT STDMETHODCALLTYPE RemoveProperties( 3409 DWORD dwPropertyMask) = 0; 3410 3411 virtual HRESULT STDMETHODCALLTYPE HasBeenModified( 3412 WINBOOL *pfModified) = 0; 3413 3414 }; 3415 #ifdef __CRT_UUID_DECL 3416 __CRT_UUID_DECL(IUriBuilder, 0x4221b2e1, 0x8955, 0x46c0, 0xbd,0x5b, 0xde,0x98,0x97,0x56,0x5d,0xe7) 3417 #endif 3418 #else 3419 typedef struct IUriBuilderVtbl { 3420 BEGIN_INTERFACE 3421 3422 /*** IUnknown methods ***/ 3423 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3424 IUriBuilder *This, 3425 REFIID riid, 3426 void **ppvObject); 3427 3428 ULONG (STDMETHODCALLTYPE *AddRef)( 3429 IUriBuilder *This); 3430 3431 ULONG (STDMETHODCALLTYPE *Release)( 3432 IUriBuilder *This); 3433 3434 /*** IUriBuilder methods ***/ 3435 HRESULT (STDMETHODCALLTYPE *CreateUriSimple)( 3436 IUriBuilder *This, 3437 DWORD dwAllowEncodingPropertyMask, 3438 DWORD_PTR dwReserved, 3439 IUri **ppIUri); 3440 3441 HRESULT (STDMETHODCALLTYPE *CreateUri)( 3442 IUriBuilder *This, 3443 DWORD dwCreateFlags, 3444 DWORD dwAllowEncodingPropertyMask, 3445 DWORD_PTR dwReserved, 3446 IUri **ppIUri); 3447 3448 HRESULT (STDMETHODCALLTYPE *CreateUriWithFlags)( 3449 IUriBuilder *This, 3450 DWORD dwCreateFlags, 3451 DWORD dwUriBuilderFlags, 3452 DWORD dwAllowEncodingPropertyMask, 3453 DWORD_PTR dwReserved, 3454 IUri **ppIUri); 3455 3456 HRESULT (STDMETHODCALLTYPE *GetIUri)( 3457 IUriBuilder *This, 3458 IUri **ppIUri); 3459 3460 HRESULT (STDMETHODCALLTYPE *SetIUri)( 3461 IUriBuilder *This, 3462 IUri *pIUri); 3463 3464 HRESULT (STDMETHODCALLTYPE *GetFragment)( 3465 IUriBuilder *This, 3466 DWORD *pcchFragment, 3467 LPCWSTR *ppwzFragment); 3468 3469 HRESULT (STDMETHODCALLTYPE *GetHost)( 3470 IUriBuilder *This, 3471 DWORD *pcchHost, 3472 LPCWSTR *ppwzHost); 3473 3474 HRESULT (STDMETHODCALLTYPE *GetPassword)( 3475 IUriBuilder *This, 3476 DWORD *pcchPassword, 3477 LPCWSTR *ppwzPassword); 3478 3479 HRESULT (STDMETHODCALLTYPE *GetPath)( 3480 IUriBuilder *This, 3481 DWORD *pcchPath, 3482 LPCWSTR *ppwzPath); 3483 3484 HRESULT (STDMETHODCALLTYPE *GetPort)( 3485 IUriBuilder *This, 3486 WINBOOL *pfHasPort, 3487 DWORD *pdwPort); 3488 3489 HRESULT (STDMETHODCALLTYPE *GetQuery)( 3490 IUriBuilder *This, 3491 DWORD *pcchQuery, 3492 LPCWSTR *ppwzQuery); 3493 3494 HRESULT (STDMETHODCALLTYPE *GetSchemeName)( 3495 IUriBuilder *This, 3496 DWORD *pcchSchemeName, 3497 LPCWSTR *ppwzSchemeName); 3498 3499 HRESULT (STDMETHODCALLTYPE *GetUserName)( 3500 IUriBuilder *This, 3501 DWORD *pcchUserName, 3502 LPCWSTR *ppwzUserName); 3503 3504 HRESULT (STDMETHODCALLTYPE *SetFragment)( 3505 IUriBuilder *This, 3506 LPCWSTR pwzNewValue); 3507 3508 HRESULT (STDMETHODCALLTYPE *SetHost)( 3509 IUriBuilder *This, 3510 LPCWSTR pwzNewValue); 3511 3512 HRESULT (STDMETHODCALLTYPE *SetPassword)( 3513 IUriBuilder *This, 3514 LPCWSTR pwzNewValue); 3515 3516 HRESULT (STDMETHODCALLTYPE *SetPath)( 3517 IUriBuilder *This, 3518 LPCWSTR pwzNewValue); 3519 3520 HRESULT (STDMETHODCALLTYPE *SetPort)( 3521 IUriBuilder *This, 3522 WINBOOL fHasPort, 3523 DWORD dwNewValue); 3524 3525 HRESULT (STDMETHODCALLTYPE *SetQuery)( 3526 IUriBuilder *This, 3527 LPCWSTR pwzNewValue); 3528 3529 HRESULT (STDMETHODCALLTYPE *SetSchemeName)( 3530 IUriBuilder *This, 3531 LPCWSTR pwzNewValue); 3532 3533 HRESULT (STDMETHODCALLTYPE *SetUserName)( 3534 IUriBuilder *This, 3535 LPCWSTR pwzNewValue); 3536 3537 HRESULT (STDMETHODCALLTYPE *RemoveProperties)( 3538 IUriBuilder *This, 3539 DWORD dwPropertyMask); 3540 3541 HRESULT (STDMETHODCALLTYPE *HasBeenModified)( 3542 IUriBuilder *This, 3543 WINBOOL *pfModified); 3544 3545 END_INTERFACE 3546 } IUriBuilderVtbl; 3547 3548 interface IUriBuilder { 3549 CONST_VTBL IUriBuilderVtbl* lpVtbl; 3550 }; 3551 3552 #ifdef COBJMACROS 3553 #ifndef WIDL_C_INLINE_WRAPPERS 3554 /*** IUnknown methods ***/ 3555 #define IUriBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3556 #define IUriBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 3557 #define IUriBuilder_Release(This) (This)->lpVtbl->Release(This) 3558 /*** IUriBuilder methods ***/ 3559 #define IUriBuilder_CreateUriSimple(This,dwAllowEncodingPropertyMask,dwReserved,ppIUri) (This)->lpVtbl->CreateUriSimple(This,dwAllowEncodingPropertyMask,dwReserved,ppIUri) 3560 #define IUriBuilder_CreateUri(This,dwCreateFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri) (This)->lpVtbl->CreateUri(This,dwCreateFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri) 3561 #define IUriBuilder_CreateUriWithFlags(This,dwCreateFlags,dwUriBuilderFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri) (This)->lpVtbl->CreateUriWithFlags(This,dwCreateFlags,dwUriBuilderFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri) 3562 #define IUriBuilder_GetIUri(This,ppIUri) (This)->lpVtbl->GetIUri(This,ppIUri) 3563 #define IUriBuilder_SetIUri(This,pIUri) (This)->lpVtbl->SetIUri(This,pIUri) 3564 #define IUriBuilder_GetFragment(This,pcchFragment,ppwzFragment) (This)->lpVtbl->GetFragment(This,pcchFragment,ppwzFragment) 3565 #define IUriBuilder_GetHost(This,pcchHost,ppwzHost) (This)->lpVtbl->GetHost(This,pcchHost,ppwzHost) 3566 #define IUriBuilder_GetPassword(This,pcchPassword,ppwzPassword) (This)->lpVtbl->GetPassword(This,pcchPassword,ppwzPassword) 3567 #define IUriBuilder_GetPath(This,pcchPath,ppwzPath) (This)->lpVtbl->GetPath(This,pcchPath,ppwzPath) 3568 #define IUriBuilder_GetPort(This,pfHasPort,pdwPort) (This)->lpVtbl->GetPort(This,pfHasPort,pdwPort) 3569 #define IUriBuilder_GetQuery(This,pcchQuery,ppwzQuery) (This)->lpVtbl->GetQuery(This,pcchQuery,ppwzQuery) 3570 #define IUriBuilder_GetSchemeName(This,pcchSchemeName,ppwzSchemeName) (This)->lpVtbl->GetSchemeName(This,pcchSchemeName,ppwzSchemeName) 3571 #define IUriBuilder_GetUserName(This,pcchUserName,ppwzUserName) (This)->lpVtbl->GetUserName(This,pcchUserName,ppwzUserName) 3572 #define IUriBuilder_SetFragment(This,pwzNewValue) (This)->lpVtbl->SetFragment(This,pwzNewValue) 3573 #define IUriBuilder_SetHost(This,pwzNewValue) (This)->lpVtbl->SetHost(This,pwzNewValue) 3574 #define IUriBuilder_SetPassword(This,pwzNewValue) (This)->lpVtbl->SetPassword(This,pwzNewValue) 3575 #define IUriBuilder_SetPath(This,pwzNewValue) (This)->lpVtbl->SetPath(This,pwzNewValue) 3576 #define IUriBuilder_SetPort(This,fHasPort,dwNewValue) (This)->lpVtbl->SetPort(This,fHasPort,dwNewValue) 3577 #define IUriBuilder_SetQuery(This,pwzNewValue) (This)->lpVtbl->SetQuery(This,pwzNewValue) 3578 #define IUriBuilder_SetSchemeName(This,pwzNewValue) (This)->lpVtbl->SetSchemeName(This,pwzNewValue) 3579 #define IUriBuilder_SetUserName(This,pwzNewValue) (This)->lpVtbl->SetUserName(This,pwzNewValue) 3580 #define IUriBuilder_RemoveProperties(This,dwPropertyMask) (This)->lpVtbl->RemoveProperties(This,dwPropertyMask) 3581 #define IUriBuilder_HasBeenModified(This,pfModified) (This)->lpVtbl->HasBeenModified(This,pfModified) 3582 #else 3583 /*** IUnknown methods ***/ 3584 static FORCEINLINE HRESULT IUriBuilder_QueryInterface(IUriBuilder* This,REFIID riid,void **ppvObject) { 3585 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3586 } 3587 static FORCEINLINE ULONG IUriBuilder_AddRef(IUriBuilder* This) { 3588 return This->lpVtbl->AddRef(This); 3589 } 3590 static FORCEINLINE ULONG IUriBuilder_Release(IUriBuilder* This) { 3591 return This->lpVtbl->Release(This); 3592 } 3593 /*** IUriBuilder methods ***/ 3594 static FORCEINLINE HRESULT IUriBuilder_CreateUriSimple(IUriBuilder* This,DWORD dwAllowEncodingPropertyMask,DWORD_PTR dwReserved,IUri **ppIUri) { 3595 return This->lpVtbl->CreateUriSimple(This,dwAllowEncodingPropertyMask,dwReserved,ppIUri); 3596 } 3597 static FORCEINLINE HRESULT IUriBuilder_CreateUri(IUriBuilder* This,DWORD dwCreateFlags,DWORD dwAllowEncodingPropertyMask,DWORD_PTR dwReserved,IUri **ppIUri) { 3598 return This->lpVtbl->CreateUri(This,dwCreateFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri); 3599 } 3600 static FORCEINLINE HRESULT IUriBuilder_CreateUriWithFlags(IUriBuilder* This,DWORD dwCreateFlags,DWORD dwUriBuilderFlags,DWORD dwAllowEncodingPropertyMask,DWORD_PTR dwReserved,IUri **ppIUri) { 3601 return This->lpVtbl->CreateUriWithFlags(This,dwCreateFlags,dwUriBuilderFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri); 3602 } 3603 static FORCEINLINE HRESULT IUriBuilder_GetIUri(IUriBuilder* This,IUri **ppIUri) { 3604 return This->lpVtbl->GetIUri(This,ppIUri); 3605 } 3606 static FORCEINLINE HRESULT IUriBuilder_SetIUri(IUriBuilder* This,IUri *pIUri) { 3607 return This->lpVtbl->SetIUri(This,pIUri); 3608 } 3609 static FORCEINLINE HRESULT IUriBuilder_GetFragment(IUriBuilder* This,DWORD *pcchFragment,LPCWSTR *ppwzFragment) { 3610 return This->lpVtbl->GetFragment(This,pcchFragment,ppwzFragment); 3611 } 3612 static FORCEINLINE HRESULT IUriBuilder_GetHost(IUriBuilder* This,DWORD *pcchHost,LPCWSTR *ppwzHost) { 3613 return This->lpVtbl->GetHost(This,pcchHost,ppwzHost); 3614 } 3615 static FORCEINLINE HRESULT IUriBuilder_GetPassword(IUriBuilder* This,DWORD *pcchPassword,LPCWSTR *ppwzPassword) { 3616 return This->lpVtbl->GetPassword(This,pcchPassword,ppwzPassword); 3617 } 3618 static FORCEINLINE HRESULT IUriBuilder_GetPath(IUriBuilder* This,DWORD *pcchPath,LPCWSTR *ppwzPath) { 3619 return This->lpVtbl->GetPath(This,pcchPath,ppwzPath); 3620 } 3621 static FORCEINLINE HRESULT IUriBuilder_GetPort(IUriBuilder* This,WINBOOL *pfHasPort,DWORD *pdwPort) { 3622 return This->lpVtbl->GetPort(This,pfHasPort,pdwPort); 3623 } 3624 static FORCEINLINE HRESULT IUriBuilder_GetQuery(IUriBuilder* This,DWORD *pcchQuery,LPCWSTR *ppwzQuery) { 3625 return This->lpVtbl->GetQuery(This,pcchQuery,ppwzQuery); 3626 } 3627 static FORCEINLINE HRESULT IUriBuilder_GetSchemeName(IUriBuilder* This,DWORD *pcchSchemeName,LPCWSTR *ppwzSchemeName) { 3628 return This->lpVtbl->GetSchemeName(This,pcchSchemeName,ppwzSchemeName); 3629 } 3630 static FORCEINLINE HRESULT IUriBuilder_GetUserName(IUriBuilder* This,DWORD *pcchUserName,LPCWSTR *ppwzUserName) { 3631 return This->lpVtbl->GetUserName(This,pcchUserName,ppwzUserName); 3632 } 3633 static FORCEINLINE HRESULT IUriBuilder_SetFragment(IUriBuilder* This,LPCWSTR pwzNewValue) { 3634 return This->lpVtbl->SetFragment(This,pwzNewValue); 3635 } 3636 static FORCEINLINE HRESULT IUriBuilder_SetHost(IUriBuilder* This,LPCWSTR pwzNewValue) { 3637 return This->lpVtbl->SetHost(This,pwzNewValue); 3638 } 3639 static FORCEINLINE HRESULT IUriBuilder_SetPassword(IUriBuilder* This,LPCWSTR pwzNewValue) { 3640 return This->lpVtbl->SetPassword(This,pwzNewValue); 3641 } 3642 static FORCEINLINE HRESULT IUriBuilder_SetPath(IUriBuilder* This,LPCWSTR pwzNewValue) { 3643 return This->lpVtbl->SetPath(This,pwzNewValue); 3644 } 3645 static FORCEINLINE HRESULT IUriBuilder_SetPort(IUriBuilder* This,WINBOOL fHasPort,DWORD dwNewValue) { 3646 return This->lpVtbl->SetPort(This,fHasPort,dwNewValue); 3647 } 3648 static FORCEINLINE HRESULT IUriBuilder_SetQuery(IUriBuilder* This,LPCWSTR pwzNewValue) { 3649 return This->lpVtbl->SetQuery(This,pwzNewValue); 3650 } 3651 static FORCEINLINE HRESULT IUriBuilder_SetSchemeName(IUriBuilder* This,LPCWSTR pwzNewValue) { 3652 return This->lpVtbl->SetSchemeName(This,pwzNewValue); 3653 } 3654 static FORCEINLINE HRESULT IUriBuilder_SetUserName(IUriBuilder* This,LPCWSTR pwzNewValue) { 3655 return This->lpVtbl->SetUserName(This,pwzNewValue); 3656 } 3657 static FORCEINLINE HRESULT IUriBuilder_RemoveProperties(IUriBuilder* This,DWORD dwPropertyMask) { 3658 return This->lpVtbl->RemoveProperties(This,dwPropertyMask); 3659 } 3660 static FORCEINLINE HRESULT IUriBuilder_HasBeenModified(IUriBuilder* This,WINBOOL *pfModified) { 3661 return This->lpVtbl->HasBeenModified(This,pfModified); 3662 } 3663 #endif 3664 #endif 3665 3666 #endif 3667 3668 3669 #endif /* __IUriBuilder_INTERFACE_DEFINED__ */ 3670 3671 3672 /***************************************************************************** 3673 * IUriBuilderFactory interface 3674 */ 3675 #ifndef __IUriBuilderFactory_INTERFACE_DEFINED__ 3676 #define __IUriBuilderFactory_INTERFACE_DEFINED__ 3677 3678 DEFINE_GUID(IID_IUriBuilderFactory, 0xe982ce48, 0x0b96, 0x440c, 0xbc,0x37, 0x0c,0x86,0x9b,0x27,0xa2,0x9e); 3679 #if defined(__cplusplus) && !defined(CINTERFACE) 3680 MIDL_INTERFACE("e982ce48-0b96-440c-bc37-0c869b27a29e") 3681 IUriBuilderFactory : public IUnknown 3682 { 3683 virtual HRESULT STDMETHODCALLTYPE CreateIUriBuilder( 3684 DWORD dwFlags, 3685 DWORD_PTR dwReserved, 3686 IUriBuilder **ppIUriBuilder) = 0; 3687 3688 virtual HRESULT STDMETHODCALLTYPE CreateInitializedIUriBuilder( 3689 DWORD dwFlags, 3690 DWORD_PTR dwReserved, 3691 IUriBuilder **ppIUriBuilder) = 0; 3692 3693 }; 3694 #ifdef __CRT_UUID_DECL 3695 __CRT_UUID_DECL(IUriBuilderFactory, 0xe982ce48, 0x0b96, 0x440c, 0xbc,0x37, 0x0c,0x86,0x9b,0x27,0xa2,0x9e) 3696 #endif 3697 #else 3698 typedef struct IUriBuilderFactoryVtbl { 3699 BEGIN_INTERFACE 3700 3701 /*** IUnknown methods ***/ 3702 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3703 IUriBuilderFactory *This, 3704 REFIID riid, 3705 void **ppvObject); 3706 3707 ULONG (STDMETHODCALLTYPE *AddRef)( 3708 IUriBuilderFactory *This); 3709 3710 ULONG (STDMETHODCALLTYPE *Release)( 3711 IUriBuilderFactory *This); 3712 3713 /*** IUriBuilderFactory methods ***/ 3714 HRESULT (STDMETHODCALLTYPE *CreateIUriBuilder)( 3715 IUriBuilderFactory *This, 3716 DWORD dwFlags, 3717 DWORD_PTR dwReserved, 3718 IUriBuilder **ppIUriBuilder); 3719 3720 HRESULT (STDMETHODCALLTYPE *CreateInitializedIUriBuilder)( 3721 IUriBuilderFactory *This, 3722 DWORD dwFlags, 3723 DWORD_PTR dwReserved, 3724 IUriBuilder **ppIUriBuilder); 3725 3726 END_INTERFACE 3727 } IUriBuilderFactoryVtbl; 3728 3729 interface IUriBuilderFactory { 3730 CONST_VTBL IUriBuilderFactoryVtbl* lpVtbl; 3731 }; 3732 3733 #ifdef COBJMACROS 3734 #ifndef WIDL_C_INLINE_WRAPPERS 3735 /*** IUnknown methods ***/ 3736 #define IUriBuilderFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3737 #define IUriBuilderFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 3738 #define IUriBuilderFactory_Release(This) (This)->lpVtbl->Release(This) 3739 /*** IUriBuilderFactory methods ***/ 3740 #define IUriBuilderFactory_CreateIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder) (This)->lpVtbl->CreateIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder) 3741 #define IUriBuilderFactory_CreateInitializedIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder) (This)->lpVtbl->CreateInitializedIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder) 3742 #else 3743 /*** IUnknown methods ***/ 3744 static FORCEINLINE HRESULT IUriBuilderFactory_QueryInterface(IUriBuilderFactory* This,REFIID riid,void **ppvObject) { 3745 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3746 } 3747 static FORCEINLINE ULONG IUriBuilderFactory_AddRef(IUriBuilderFactory* This) { 3748 return This->lpVtbl->AddRef(This); 3749 } 3750 static FORCEINLINE ULONG IUriBuilderFactory_Release(IUriBuilderFactory* This) { 3751 return This->lpVtbl->Release(This); 3752 } 3753 /*** IUriBuilderFactory methods ***/ 3754 static FORCEINLINE HRESULT IUriBuilderFactory_CreateIUriBuilder(IUriBuilderFactory* This,DWORD dwFlags,DWORD_PTR dwReserved,IUriBuilder **ppIUriBuilder) { 3755 return This->lpVtbl->CreateIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder); 3756 } 3757 static FORCEINLINE HRESULT IUriBuilderFactory_CreateInitializedIUriBuilder(IUriBuilderFactory* This,DWORD dwFlags,DWORD_PTR dwReserved,IUriBuilder **ppIUriBuilder) { 3758 return This->lpVtbl->CreateInitializedIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder); 3759 } 3760 #endif 3761 #endif 3762 3763 #endif 3764 3765 3766 #endif /* __IUriBuilderFactory_INTERFACE_DEFINED__ */ 3767 3768 3769 STDAPI CreateIUriBuilder(IUri *pIUri, DWORD dwFlags, DWORD_PTR dwReserved, IUriBuilder **ppIUriBuilder); 3770 #endif 3771 #endif 3772 3773 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 3774 #ifndef _LPWININETINFO_DEFINED 3775 #define _LPWININETINFO_DEFINED 3776 3777 /***************************************************************************** 3778 * IWinInetInfo interface 3779 */ 3780 #ifndef __IWinInetInfo_INTERFACE_DEFINED__ 3781 #define __IWinInetInfo_INTERFACE_DEFINED__ 3782 3783 typedef IWinInetInfo *LPWININETINFO; 3784 DEFINE_GUID(IID_IWinInetInfo, 0x79eac9d6, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 3785 #if defined(__cplusplus) && !defined(CINTERFACE) 3786 MIDL_INTERFACE("79eac9d6-bafa-11ce-8c82-00aa004ba90b") 3787 IWinInetInfo : public IUnknown 3788 { 3789 virtual HRESULT STDMETHODCALLTYPE QueryOption( 3790 DWORD dwOption, 3791 LPVOID pBuffer, 3792 DWORD *pcbBuf) = 0; 3793 3794 }; 3795 #ifdef __CRT_UUID_DECL 3796 __CRT_UUID_DECL(IWinInetInfo, 0x79eac9d6, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 3797 #endif 3798 #else 3799 typedef struct IWinInetInfoVtbl { 3800 BEGIN_INTERFACE 3801 3802 /*** IUnknown methods ***/ 3803 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3804 IWinInetInfo *This, 3805 REFIID riid, 3806 void **ppvObject); 3807 3808 ULONG (STDMETHODCALLTYPE *AddRef)( 3809 IWinInetInfo *This); 3810 3811 ULONG (STDMETHODCALLTYPE *Release)( 3812 IWinInetInfo *This); 3813 3814 /*** IWinInetInfo methods ***/ 3815 HRESULT (STDMETHODCALLTYPE *QueryOption)( 3816 IWinInetInfo *This, 3817 DWORD dwOption, 3818 LPVOID pBuffer, 3819 DWORD *pcbBuf); 3820 3821 END_INTERFACE 3822 } IWinInetInfoVtbl; 3823 3824 interface IWinInetInfo { 3825 CONST_VTBL IWinInetInfoVtbl* lpVtbl; 3826 }; 3827 3828 #ifdef COBJMACROS 3829 #ifndef WIDL_C_INLINE_WRAPPERS 3830 /*** IUnknown methods ***/ 3831 #define IWinInetInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3832 #define IWinInetInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 3833 #define IWinInetInfo_Release(This) (This)->lpVtbl->Release(This) 3834 /*** IWinInetInfo methods ***/ 3835 #define IWinInetInfo_QueryOption(This,dwOption,pBuffer,pcbBuf) (This)->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf) 3836 #else 3837 /*** IUnknown methods ***/ 3838 static FORCEINLINE HRESULT IWinInetInfo_QueryInterface(IWinInetInfo* This,REFIID riid,void **ppvObject) { 3839 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3840 } 3841 static FORCEINLINE ULONG IWinInetInfo_AddRef(IWinInetInfo* This) { 3842 return This->lpVtbl->AddRef(This); 3843 } 3844 static FORCEINLINE ULONG IWinInetInfo_Release(IWinInetInfo* This) { 3845 return This->lpVtbl->Release(This); 3846 } 3847 /*** IWinInetInfo methods ***/ 3848 static FORCEINLINE HRESULT IWinInetInfo_QueryOption(IWinInetInfo* This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf) { 3849 return This->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf); 3850 } 3851 #endif 3852 #endif 3853 3854 #endif 3855 3856 HRESULT STDMETHODCALLTYPE IWinInetInfo_RemoteQueryOption_Proxy( 3857 IWinInetInfo* This, 3858 DWORD dwOption, 3859 BYTE *pBuffer, 3860 DWORD *pcbBuf); 3861 void __RPC_STUB IWinInetInfo_RemoteQueryOption_Stub( 3862 IRpcStubBuffer* This, 3863 IRpcChannelBuffer* pRpcChannelBuffer, 3864 PRPC_MESSAGE pRpcMessage, 3865 DWORD* pdwStubPhase); 3866 HRESULT CALLBACK IWinInetInfo_QueryOption_Proxy( 3867 IWinInetInfo* This, 3868 DWORD dwOption, 3869 LPVOID pBuffer, 3870 DWORD *pcbBuf); 3871 HRESULT __RPC_STUB IWinInetInfo_QueryOption_Stub( 3872 IWinInetInfo* This, 3873 DWORD dwOption, 3874 BYTE *pBuffer, 3875 DWORD *pcbBuf); 3876 3877 #endif /* __IWinInetInfo_INTERFACE_DEFINED__ */ 3878 3879 #endif 3880 3881 #define WININETINFO_OPTION_LOCK_HANDLE 65534 3882 3883 #ifndef _LPHTTPSECURITY_DEFINED 3884 #define _LPHTTPSECURITY_DEFINED 3885 3886 /***************************************************************************** 3887 * IHttpSecurity interface 3888 */ 3889 #ifndef __IHttpSecurity_INTERFACE_DEFINED__ 3890 #define __IHttpSecurity_INTERFACE_DEFINED__ 3891 3892 typedef IHttpSecurity *LPHTTPSECURITY; 3893 3894 DEFINE_GUID(IID_IHttpSecurity, 0x79eac9d7, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 3895 #if defined(__cplusplus) && !defined(CINTERFACE) 3896 MIDL_INTERFACE("79eac9d7-bafa-11ce-8c82-00aa004ba90b") 3897 IHttpSecurity : public IWindowForBindingUI 3898 { 3899 virtual HRESULT STDMETHODCALLTYPE OnSecurityProblem( 3900 DWORD dwProblem) = 0; 3901 3902 }; 3903 #ifdef __CRT_UUID_DECL 3904 __CRT_UUID_DECL(IHttpSecurity, 0x79eac9d7, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 3905 #endif 3906 #else 3907 typedef struct IHttpSecurityVtbl { 3908 BEGIN_INTERFACE 3909 3910 /*** IUnknown methods ***/ 3911 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3912 IHttpSecurity *This, 3913 REFIID riid, 3914 void **ppvObject); 3915 3916 ULONG (STDMETHODCALLTYPE *AddRef)( 3917 IHttpSecurity *This); 3918 3919 ULONG (STDMETHODCALLTYPE *Release)( 3920 IHttpSecurity *This); 3921 3922 /*** IWindowForBindingUI methods ***/ 3923 HRESULT (STDMETHODCALLTYPE *GetWindow)( 3924 IHttpSecurity *This, 3925 REFGUID rguidReason, 3926 HWND *phwnd); 3927 3928 /*** IHttpSecurity methods ***/ 3929 HRESULT (STDMETHODCALLTYPE *OnSecurityProblem)( 3930 IHttpSecurity *This, 3931 DWORD dwProblem); 3932 3933 END_INTERFACE 3934 } IHttpSecurityVtbl; 3935 3936 interface IHttpSecurity { 3937 CONST_VTBL IHttpSecurityVtbl* lpVtbl; 3938 }; 3939 3940 #ifdef COBJMACROS 3941 #ifndef WIDL_C_INLINE_WRAPPERS 3942 /*** IUnknown methods ***/ 3943 #define IHttpSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3944 #define IHttpSecurity_AddRef(This) (This)->lpVtbl->AddRef(This) 3945 #define IHttpSecurity_Release(This) (This)->lpVtbl->Release(This) 3946 /*** IWindowForBindingUI methods ***/ 3947 #define IHttpSecurity_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd) 3948 /*** IHttpSecurity methods ***/ 3949 #define IHttpSecurity_OnSecurityProblem(This,dwProblem) (This)->lpVtbl->OnSecurityProblem(This,dwProblem) 3950 #else 3951 /*** IUnknown methods ***/ 3952 static FORCEINLINE HRESULT IHttpSecurity_QueryInterface(IHttpSecurity* This,REFIID riid,void **ppvObject) { 3953 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3954 } 3955 static FORCEINLINE ULONG IHttpSecurity_AddRef(IHttpSecurity* This) { 3956 return This->lpVtbl->AddRef(This); 3957 } 3958 static FORCEINLINE ULONG IHttpSecurity_Release(IHttpSecurity* This) { 3959 return This->lpVtbl->Release(This); 3960 } 3961 /*** IWindowForBindingUI methods ***/ 3962 static FORCEINLINE HRESULT IHttpSecurity_GetWindow(IHttpSecurity* This,REFGUID rguidReason,HWND *phwnd) { 3963 return This->lpVtbl->GetWindow(This,rguidReason,phwnd); 3964 } 3965 /*** IHttpSecurity methods ***/ 3966 static FORCEINLINE HRESULT IHttpSecurity_OnSecurityProblem(IHttpSecurity* This,DWORD dwProblem) { 3967 return This->lpVtbl->OnSecurityProblem(This,dwProblem); 3968 } 3969 #endif 3970 #endif 3971 3972 #endif 3973 3974 3975 #endif /* __IHttpSecurity_INTERFACE_DEFINED__ */ 3976 3977 #endif 3978 3979 #ifndef _LPWININETHTTPINFO_DEFINED 3980 #define _LPWININETHTTPINFO_DEFINED 3981 3982 /***************************************************************************** 3983 * IWinInetHttpInfo interface 3984 */ 3985 #ifndef __IWinInetHttpInfo_INTERFACE_DEFINED__ 3986 #define __IWinInetHttpInfo_INTERFACE_DEFINED__ 3987 3988 typedef IWinInetHttpInfo *LPWININETHTTPINFO; 3989 3990 DEFINE_GUID(IID_IWinInetHttpInfo, 0x79eac9d8, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 3991 #if defined(__cplusplus) && !defined(CINTERFACE) 3992 MIDL_INTERFACE("79eac9d8-bafa-11ce-8c82-00aa004ba90b") 3993 IWinInetHttpInfo : public IWinInetInfo 3994 { 3995 virtual HRESULT STDMETHODCALLTYPE QueryInfo( 3996 DWORD dwOption, 3997 LPVOID pBuffer, 3998 DWORD *pcbBuf, 3999 DWORD *pdwFlags, 4000 DWORD *pdwReserved) = 0; 4001 4002 }; 4003 #ifdef __CRT_UUID_DECL 4004 __CRT_UUID_DECL(IWinInetHttpInfo, 0x79eac9d8, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 4005 #endif 4006 #else 4007 typedef struct IWinInetHttpInfoVtbl { 4008 BEGIN_INTERFACE 4009 4010 /*** IUnknown methods ***/ 4011 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4012 IWinInetHttpInfo *This, 4013 REFIID riid, 4014 void **ppvObject); 4015 4016 ULONG (STDMETHODCALLTYPE *AddRef)( 4017 IWinInetHttpInfo *This); 4018 4019 ULONG (STDMETHODCALLTYPE *Release)( 4020 IWinInetHttpInfo *This); 4021 4022 /*** IWinInetInfo methods ***/ 4023 HRESULT (STDMETHODCALLTYPE *QueryOption)( 4024 IWinInetHttpInfo *This, 4025 DWORD dwOption, 4026 LPVOID pBuffer, 4027 DWORD *pcbBuf); 4028 4029 /*** IWinInetHttpInfo methods ***/ 4030 HRESULT (STDMETHODCALLTYPE *QueryInfo)( 4031 IWinInetHttpInfo *This, 4032 DWORD dwOption, 4033 LPVOID pBuffer, 4034 DWORD *pcbBuf, 4035 DWORD *pdwFlags, 4036 DWORD *pdwReserved); 4037 4038 END_INTERFACE 4039 } IWinInetHttpInfoVtbl; 4040 4041 interface IWinInetHttpInfo { 4042 CONST_VTBL IWinInetHttpInfoVtbl* lpVtbl; 4043 }; 4044 4045 #ifdef COBJMACROS 4046 #ifndef WIDL_C_INLINE_WRAPPERS 4047 /*** IUnknown methods ***/ 4048 #define IWinInetHttpInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4049 #define IWinInetHttpInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 4050 #define IWinInetHttpInfo_Release(This) (This)->lpVtbl->Release(This) 4051 /*** IWinInetInfo methods ***/ 4052 #define IWinInetHttpInfo_QueryOption(This,dwOption,pBuffer,pcbBuf) (This)->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf) 4053 /*** IWinInetHttpInfo methods ***/ 4054 #define IWinInetHttpInfo_QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved) (This)->lpVtbl->QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved) 4055 #else 4056 /*** IUnknown methods ***/ 4057 static FORCEINLINE HRESULT IWinInetHttpInfo_QueryInterface(IWinInetHttpInfo* This,REFIID riid,void **ppvObject) { 4058 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4059 } 4060 static FORCEINLINE ULONG IWinInetHttpInfo_AddRef(IWinInetHttpInfo* This) { 4061 return This->lpVtbl->AddRef(This); 4062 } 4063 static FORCEINLINE ULONG IWinInetHttpInfo_Release(IWinInetHttpInfo* This) { 4064 return This->lpVtbl->Release(This); 4065 } 4066 /*** IWinInetInfo methods ***/ 4067 static FORCEINLINE HRESULT IWinInetHttpInfo_QueryOption(IWinInetHttpInfo* This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf) { 4068 return This->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf); 4069 } 4070 /*** IWinInetHttpInfo methods ***/ 4071 static FORCEINLINE HRESULT IWinInetHttpInfo_QueryInfo(IWinInetHttpInfo* This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf,DWORD *pdwFlags,DWORD *pdwReserved) { 4072 return This->lpVtbl->QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved); 4073 } 4074 #endif 4075 #endif 4076 4077 #endif 4078 4079 HRESULT STDMETHODCALLTYPE IWinInetHttpInfo_RemoteQueryInfo_Proxy( 4080 IWinInetHttpInfo* This, 4081 DWORD dwOption, 4082 BYTE *pBuffer, 4083 DWORD *pcbBuf, 4084 DWORD *pdwFlags, 4085 DWORD *pdwReserved); 4086 void __RPC_STUB IWinInetHttpInfo_RemoteQueryInfo_Stub( 4087 IRpcStubBuffer* This, 4088 IRpcChannelBuffer* pRpcChannelBuffer, 4089 PRPC_MESSAGE pRpcMessage, 4090 DWORD* pdwStubPhase); 4091 HRESULT CALLBACK IWinInetHttpInfo_QueryInfo_Proxy( 4092 IWinInetHttpInfo* This, 4093 DWORD dwOption, 4094 LPVOID pBuffer, 4095 DWORD *pcbBuf, 4096 DWORD *pdwFlags, 4097 DWORD *pdwReserved); 4098 HRESULT __RPC_STUB IWinInetHttpInfo_QueryInfo_Stub( 4099 IWinInetHttpInfo* This, 4100 DWORD dwOption, 4101 BYTE *pBuffer, 4102 DWORD *pcbBuf, 4103 DWORD *pdwFlags, 4104 DWORD *pdwReserved); 4105 4106 #endif /* __IWinInetHttpInfo_INTERFACE_DEFINED__ */ 4107 4108 #endif 4109 4110 #ifndef _LPWININETHTTPTIMEOUTS_DEFINED 4111 #define _LPWININETHTTPTIMEOUTS_DEFINED 4112 /***************************************************************************** 4113 * IWinInetHttpTimeouts interface 4114 */ 4115 #ifndef __IWinInetHttpTimeouts_INTERFACE_DEFINED__ 4116 #define __IWinInetHttpTimeouts_INTERFACE_DEFINED__ 4117 4118 DEFINE_GUID(IID_IWinInetHttpTimeouts, 0xf286fa56, 0xc1fd, 0x4270, 0x8e,0x67, 0xb3,0xeb,0x79,0x0a,0x81,0xe8); 4119 #if defined(__cplusplus) && !defined(CINTERFACE) 4120 MIDL_INTERFACE("f286fa56-c1fd-4270-8e67-b3eb790a81e8") 4121 IWinInetHttpTimeouts : public IUnknown 4122 { 4123 virtual HRESULT STDMETHODCALLTYPE GetRequestTimeouts( 4124 DWORD *pdwConnectTimeout, 4125 DWORD *pdwSendTimeout, 4126 DWORD *pdwReceiveTimeout) = 0; 4127 4128 }; 4129 #ifdef __CRT_UUID_DECL 4130 __CRT_UUID_DECL(IWinInetHttpTimeouts, 0xf286fa56, 0xc1fd, 0x4270, 0x8e,0x67, 0xb3,0xeb,0x79,0x0a,0x81,0xe8) 4131 #endif 4132 #else 4133 typedef struct IWinInetHttpTimeoutsVtbl { 4134 BEGIN_INTERFACE 4135 4136 /*** IUnknown methods ***/ 4137 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4138 IWinInetHttpTimeouts *This, 4139 REFIID riid, 4140 void **ppvObject); 4141 4142 ULONG (STDMETHODCALLTYPE *AddRef)( 4143 IWinInetHttpTimeouts *This); 4144 4145 ULONG (STDMETHODCALLTYPE *Release)( 4146 IWinInetHttpTimeouts *This); 4147 4148 /*** IWinInetHttpTimeouts methods ***/ 4149 HRESULT (STDMETHODCALLTYPE *GetRequestTimeouts)( 4150 IWinInetHttpTimeouts *This, 4151 DWORD *pdwConnectTimeout, 4152 DWORD *pdwSendTimeout, 4153 DWORD *pdwReceiveTimeout); 4154 4155 END_INTERFACE 4156 } IWinInetHttpTimeoutsVtbl; 4157 4158 interface IWinInetHttpTimeouts { 4159 CONST_VTBL IWinInetHttpTimeoutsVtbl* lpVtbl; 4160 }; 4161 4162 #ifdef COBJMACROS 4163 #ifndef WIDL_C_INLINE_WRAPPERS 4164 /*** IUnknown methods ***/ 4165 #define IWinInetHttpTimeouts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4166 #define IWinInetHttpTimeouts_AddRef(This) (This)->lpVtbl->AddRef(This) 4167 #define IWinInetHttpTimeouts_Release(This) (This)->lpVtbl->Release(This) 4168 /*** IWinInetHttpTimeouts methods ***/ 4169 #define IWinInetHttpTimeouts_GetRequestTimeouts(This,pdwConnectTimeout,pdwSendTimeout,pdwReceiveTimeout) (This)->lpVtbl->GetRequestTimeouts(This,pdwConnectTimeout,pdwSendTimeout,pdwReceiveTimeout) 4170 #else 4171 /*** IUnknown methods ***/ 4172 static FORCEINLINE HRESULT IWinInetHttpTimeouts_QueryInterface(IWinInetHttpTimeouts* This,REFIID riid,void **ppvObject) { 4173 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4174 } 4175 static FORCEINLINE ULONG IWinInetHttpTimeouts_AddRef(IWinInetHttpTimeouts* This) { 4176 return This->lpVtbl->AddRef(This); 4177 } 4178 static FORCEINLINE ULONG IWinInetHttpTimeouts_Release(IWinInetHttpTimeouts* This) { 4179 return This->lpVtbl->Release(This); 4180 } 4181 /*** IWinInetHttpTimeouts methods ***/ 4182 static FORCEINLINE HRESULT IWinInetHttpTimeouts_GetRequestTimeouts(IWinInetHttpTimeouts* This,DWORD *pdwConnectTimeout,DWORD *pdwSendTimeout,DWORD *pdwReceiveTimeout) { 4183 return This->lpVtbl->GetRequestTimeouts(This,pdwConnectTimeout,pdwSendTimeout,pdwReceiveTimeout); 4184 } 4185 #endif 4186 #endif 4187 4188 #endif 4189 4190 4191 #endif /* __IWinInetHttpTimeouts_INTERFACE_DEFINED__ */ 4192 4193 #endif 4194 4195 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 4196 #ifndef _LPWININETCACHEHINTS_DEFINED 4197 #define _LPWININETCACHEHINTS_DEFINED 4198 4199 /***************************************************************************** 4200 * IWinInetCacheHints interface 4201 */ 4202 #ifndef __IWinInetCacheHints_INTERFACE_DEFINED__ 4203 #define __IWinInetCacheHints_INTERFACE_DEFINED__ 4204 4205 typedef IWinInetCacheHints *LPWININETCACHEHINTS; 4206 4207 DEFINE_GUID(IID_IWinInetCacheHints, 0xdd1ec3b3, 0x8391, 0x4fdb, 0xa9,0xe6, 0x34,0x7c,0x3c,0xaa,0xa7,0xdd); 4208 #if defined(__cplusplus) && !defined(CINTERFACE) 4209 MIDL_INTERFACE("dd1ec3b3-8391-4fdb-a9e6-347c3caaa7dd") 4210 IWinInetCacheHints : public IUnknown 4211 { 4212 virtual HRESULT STDMETHODCALLTYPE SetCacheExtension( 4213 LPCWSTR pwzExt, 4214 LPVOID pszCacheFile, 4215 DWORD *pcbCacheFile, 4216 DWORD *pdwWinInetError, 4217 DWORD *pdwReserved) = 0; 4218 4219 }; 4220 #ifdef __CRT_UUID_DECL 4221 __CRT_UUID_DECL(IWinInetCacheHints, 0xdd1ec3b3, 0x8391, 0x4fdb, 0xa9,0xe6, 0x34,0x7c,0x3c,0xaa,0xa7,0xdd) 4222 #endif 4223 #else 4224 typedef struct IWinInetCacheHintsVtbl { 4225 BEGIN_INTERFACE 4226 4227 /*** IUnknown methods ***/ 4228 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4229 IWinInetCacheHints *This, 4230 REFIID riid, 4231 void **ppvObject); 4232 4233 ULONG (STDMETHODCALLTYPE *AddRef)( 4234 IWinInetCacheHints *This); 4235 4236 ULONG (STDMETHODCALLTYPE *Release)( 4237 IWinInetCacheHints *This); 4238 4239 /*** IWinInetCacheHints methods ***/ 4240 HRESULT (STDMETHODCALLTYPE *SetCacheExtension)( 4241 IWinInetCacheHints *This, 4242 LPCWSTR pwzExt, 4243 LPVOID pszCacheFile, 4244 DWORD *pcbCacheFile, 4245 DWORD *pdwWinInetError, 4246 DWORD *pdwReserved); 4247 4248 END_INTERFACE 4249 } IWinInetCacheHintsVtbl; 4250 4251 interface IWinInetCacheHints { 4252 CONST_VTBL IWinInetCacheHintsVtbl* lpVtbl; 4253 }; 4254 4255 #ifdef COBJMACROS 4256 #ifndef WIDL_C_INLINE_WRAPPERS 4257 /*** IUnknown methods ***/ 4258 #define IWinInetCacheHints_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4259 #define IWinInetCacheHints_AddRef(This) (This)->lpVtbl->AddRef(This) 4260 #define IWinInetCacheHints_Release(This) (This)->lpVtbl->Release(This) 4261 /*** IWinInetCacheHints methods ***/ 4262 #define IWinInetCacheHints_SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) (This)->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) 4263 #else 4264 /*** IUnknown methods ***/ 4265 static FORCEINLINE HRESULT IWinInetCacheHints_QueryInterface(IWinInetCacheHints* This,REFIID riid,void **ppvObject) { 4266 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4267 } 4268 static FORCEINLINE ULONG IWinInetCacheHints_AddRef(IWinInetCacheHints* This) { 4269 return This->lpVtbl->AddRef(This); 4270 } 4271 static FORCEINLINE ULONG IWinInetCacheHints_Release(IWinInetCacheHints* This) { 4272 return This->lpVtbl->Release(This); 4273 } 4274 /*** IWinInetCacheHints methods ***/ 4275 static FORCEINLINE HRESULT IWinInetCacheHints_SetCacheExtension(IWinInetCacheHints* This,LPCWSTR pwzExt,LPVOID pszCacheFile,DWORD *pcbCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved) { 4276 return This->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved); 4277 } 4278 #endif 4279 #endif 4280 4281 #endif 4282 4283 4284 #endif /* __IWinInetCacheHints_INTERFACE_DEFINED__ */ 4285 4286 #endif 4287 #endif 4288 4289 #if (_WIN32_IE >= _WIN32_IE_IE70) 4290 #ifndef _LPWININETCACHEHINTS2_DEFINED 4291 #define _LPWININETCACHEHINTS2_DEFINED 4292 4293 /***************************************************************************** 4294 * IWinInetCacheHints2 interface 4295 */ 4296 #ifndef __IWinInetCacheHints2_INTERFACE_DEFINED__ 4297 #define __IWinInetCacheHints2_INTERFACE_DEFINED__ 4298 4299 typedef IWinInetCacheHints2 *LPWININETCACHEHINTS2; 4300 4301 DEFINE_GUID(IID_IWinInetCacheHints2, 0x7857aeac, 0xd31f, 0x49bf, 0x88,0x4e, 0xdd,0x46,0xdf,0x36,0x78,0x0a); 4302 #if defined(__cplusplus) && !defined(CINTERFACE) 4303 MIDL_INTERFACE("7857aeac-d31f-49bf-884e-dd46df36780a") 4304 IWinInetCacheHints2 : public IWinInetCacheHints 4305 { 4306 virtual HRESULT STDMETHODCALLTYPE SetCacheExtension2( 4307 LPCWSTR pwzExt, 4308 WCHAR *pwzCacheFile, 4309 DWORD *pcchCacheFile, 4310 DWORD *pdwWinInetError, 4311 DWORD *pdwReserved) = 0; 4312 4313 }; 4314 #ifdef __CRT_UUID_DECL 4315 __CRT_UUID_DECL(IWinInetCacheHints2, 0x7857aeac, 0xd31f, 0x49bf, 0x88,0x4e, 0xdd,0x46,0xdf,0x36,0x78,0x0a) 4316 #endif 4317 #else 4318 typedef struct IWinInetCacheHints2Vtbl { 4319 BEGIN_INTERFACE 4320 4321 /*** IUnknown methods ***/ 4322 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4323 IWinInetCacheHints2 *This, 4324 REFIID riid, 4325 void **ppvObject); 4326 4327 ULONG (STDMETHODCALLTYPE *AddRef)( 4328 IWinInetCacheHints2 *This); 4329 4330 ULONG (STDMETHODCALLTYPE *Release)( 4331 IWinInetCacheHints2 *This); 4332 4333 /*** IWinInetCacheHints methods ***/ 4334 HRESULT (STDMETHODCALLTYPE *SetCacheExtension)( 4335 IWinInetCacheHints2 *This, 4336 LPCWSTR pwzExt, 4337 LPVOID pszCacheFile, 4338 DWORD *pcbCacheFile, 4339 DWORD *pdwWinInetError, 4340 DWORD *pdwReserved); 4341 4342 /*** IWinInetCacheHints2 methods ***/ 4343 HRESULT (STDMETHODCALLTYPE *SetCacheExtension2)( 4344 IWinInetCacheHints2 *This, 4345 LPCWSTR pwzExt, 4346 WCHAR *pwzCacheFile, 4347 DWORD *pcchCacheFile, 4348 DWORD *pdwWinInetError, 4349 DWORD *pdwReserved); 4350 4351 END_INTERFACE 4352 } IWinInetCacheHints2Vtbl; 4353 4354 interface IWinInetCacheHints2 { 4355 CONST_VTBL IWinInetCacheHints2Vtbl* lpVtbl; 4356 }; 4357 4358 #ifdef COBJMACROS 4359 #ifndef WIDL_C_INLINE_WRAPPERS 4360 /*** IUnknown methods ***/ 4361 #define IWinInetCacheHints2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4362 #define IWinInetCacheHints2_AddRef(This) (This)->lpVtbl->AddRef(This) 4363 #define IWinInetCacheHints2_Release(This) (This)->lpVtbl->Release(This) 4364 /*** IWinInetCacheHints methods ***/ 4365 #define IWinInetCacheHints2_SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) (This)->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) 4366 /*** IWinInetCacheHints2 methods ***/ 4367 #define IWinInetCacheHints2_SetCacheExtension2(This,pwzExt,pwzCacheFile,pcchCacheFile,pdwWinInetError,pdwReserved) (This)->lpVtbl->SetCacheExtension2(This,pwzExt,pwzCacheFile,pcchCacheFile,pdwWinInetError,pdwReserved) 4368 #else 4369 /*** IUnknown methods ***/ 4370 static FORCEINLINE HRESULT IWinInetCacheHints2_QueryInterface(IWinInetCacheHints2* This,REFIID riid,void **ppvObject) { 4371 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4372 } 4373 static FORCEINLINE ULONG IWinInetCacheHints2_AddRef(IWinInetCacheHints2* This) { 4374 return This->lpVtbl->AddRef(This); 4375 } 4376 static FORCEINLINE ULONG IWinInetCacheHints2_Release(IWinInetCacheHints2* This) { 4377 return This->lpVtbl->Release(This); 4378 } 4379 /*** IWinInetCacheHints methods ***/ 4380 static FORCEINLINE HRESULT IWinInetCacheHints2_SetCacheExtension(IWinInetCacheHints2* This,LPCWSTR pwzExt,LPVOID pszCacheFile,DWORD *pcbCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved) { 4381 return This->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved); 4382 } 4383 /*** IWinInetCacheHints2 methods ***/ 4384 static FORCEINLINE HRESULT IWinInetCacheHints2_SetCacheExtension2(IWinInetCacheHints2* This,LPCWSTR pwzExt,WCHAR *pwzCacheFile,DWORD *pcchCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved) { 4385 return This->lpVtbl->SetCacheExtension2(This,pwzExt,pwzCacheFile,pcchCacheFile,pdwWinInetError,pdwReserved); 4386 } 4387 #endif 4388 #endif 4389 4390 #endif 4391 4392 4393 #endif /* __IWinInetCacheHints2_INTERFACE_DEFINED__ */ 4394 4395 #endif 4396 #endif 4397 4398 #define SID_IBindHost IID_IBindHost 4399 #define SID_SBindHost IID_IBindHost 4400 4401 #ifndef _LPBINDHOST_DEFINED 4402 #define _LPBINDHOST_DEFINED 4403 4404 EXTERN_C const GUID SID_BindHost; 4405 4406 /***************************************************************************** 4407 * IBindHost interface 4408 */ 4409 #ifndef __IBindHost_INTERFACE_DEFINED__ 4410 #define __IBindHost_INTERFACE_DEFINED__ 4411 4412 typedef IBindHost *LPBINDHOST; 4413 4414 DEFINE_GUID(IID_IBindHost, 0xfc4801a1, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52); 4415 #if defined(__cplusplus) && !defined(CINTERFACE) 4416 MIDL_INTERFACE("fc4801a1-2ba9-11cf-a229-00aa003d7352") 4417 IBindHost : public IUnknown 4418 { 4419 virtual HRESULT STDMETHODCALLTYPE CreateMoniker( 4420 LPOLESTR szName, 4421 IBindCtx *pBC, 4422 IMoniker **ppmk, 4423 DWORD dwReserved) = 0; 4424 4425 virtual HRESULT STDMETHODCALLTYPE MonikerBindToStorage( 4426 IMoniker *pMk, 4427 IBindCtx *pBC, 4428 IBindStatusCallback *pBSC, 4429 REFIID riid, 4430 void **ppvObj) = 0; 4431 4432 virtual HRESULT STDMETHODCALLTYPE MonikerBindToObject( 4433 IMoniker *pMk, 4434 IBindCtx *pBC, 4435 IBindStatusCallback *pBSC, 4436 REFIID riid, 4437 void **ppvObj) = 0; 4438 4439 }; 4440 #ifdef __CRT_UUID_DECL 4441 __CRT_UUID_DECL(IBindHost, 0xfc4801a1, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52) 4442 #endif 4443 #else 4444 typedef struct IBindHostVtbl { 4445 BEGIN_INTERFACE 4446 4447 /*** IUnknown methods ***/ 4448 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4449 IBindHost *This, 4450 REFIID riid, 4451 void **ppvObject); 4452 4453 ULONG (STDMETHODCALLTYPE *AddRef)( 4454 IBindHost *This); 4455 4456 ULONG (STDMETHODCALLTYPE *Release)( 4457 IBindHost *This); 4458 4459 /*** IBindHost methods ***/ 4460 HRESULT (STDMETHODCALLTYPE *CreateMoniker)( 4461 IBindHost *This, 4462 LPOLESTR szName, 4463 IBindCtx *pBC, 4464 IMoniker **ppmk, 4465 DWORD dwReserved); 4466 4467 HRESULT (STDMETHODCALLTYPE *MonikerBindToStorage)( 4468 IBindHost *This, 4469 IMoniker *pMk, 4470 IBindCtx *pBC, 4471 IBindStatusCallback *pBSC, 4472 REFIID riid, 4473 void **ppvObj); 4474 4475 HRESULT (STDMETHODCALLTYPE *MonikerBindToObject)( 4476 IBindHost *This, 4477 IMoniker *pMk, 4478 IBindCtx *pBC, 4479 IBindStatusCallback *pBSC, 4480 REFIID riid, 4481 void **ppvObj); 4482 4483 END_INTERFACE 4484 } IBindHostVtbl; 4485 4486 interface IBindHost { 4487 CONST_VTBL IBindHostVtbl* lpVtbl; 4488 }; 4489 4490 #ifdef COBJMACROS 4491 #ifndef WIDL_C_INLINE_WRAPPERS 4492 /*** IUnknown methods ***/ 4493 #define IBindHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4494 #define IBindHost_AddRef(This) (This)->lpVtbl->AddRef(This) 4495 #define IBindHost_Release(This) (This)->lpVtbl->Release(This) 4496 /*** IBindHost methods ***/ 4497 #define IBindHost_CreateMoniker(This,szName,pBC,ppmk,dwReserved) (This)->lpVtbl->CreateMoniker(This,szName,pBC,ppmk,dwReserved) 4498 #define IBindHost_MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj) (This)->lpVtbl->MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj) 4499 #define IBindHost_MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj) (This)->lpVtbl->MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj) 4500 #else 4501 /*** IUnknown methods ***/ 4502 static FORCEINLINE HRESULT IBindHost_QueryInterface(IBindHost* This,REFIID riid,void **ppvObject) { 4503 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4504 } 4505 static FORCEINLINE ULONG IBindHost_AddRef(IBindHost* This) { 4506 return This->lpVtbl->AddRef(This); 4507 } 4508 static FORCEINLINE ULONG IBindHost_Release(IBindHost* This) { 4509 return This->lpVtbl->Release(This); 4510 } 4511 /*** IBindHost methods ***/ 4512 static FORCEINLINE HRESULT IBindHost_CreateMoniker(IBindHost* This,LPOLESTR szName,IBindCtx *pBC,IMoniker **ppmk,DWORD dwReserved) { 4513 return This->lpVtbl->CreateMoniker(This,szName,pBC,ppmk,dwReserved); 4514 } 4515 static FORCEINLINE HRESULT IBindHost_MonikerBindToStorage(IBindHost* This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj) { 4516 return This->lpVtbl->MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj); 4517 } 4518 static FORCEINLINE HRESULT IBindHost_MonikerBindToObject(IBindHost* This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj) { 4519 return This->lpVtbl->MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj); 4520 } 4521 #endif 4522 #endif 4523 4524 #endif 4525 4526 HRESULT STDMETHODCALLTYPE IBindHost_RemoteMonikerBindToStorage_Proxy( 4527 IBindHost* This, 4528 IMoniker *pMk, 4529 IBindCtx *pBC, 4530 IBindStatusCallback *pBSC, 4531 REFIID riid, 4532 IUnknown **ppvObj); 4533 void __RPC_STUB IBindHost_RemoteMonikerBindToStorage_Stub( 4534 IRpcStubBuffer* This, 4535 IRpcChannelBuffer* pRpcChannelBuffer, 4536 PRPC_MESSAGE pRpcMessage, 4537 DWORD* pdwStubPhase); 4538 HRESULT STDMETHODCALLTYPE IBindHost_RemoteMonikerBindToObject_Proxy( 4539 IBindHost* This, 4540 IMoniker *pMk, 4541 IBindCtx *pBC, 4542 IBindStatusCallback *pBSC, 4543 REFIID riid, 4544 IUnknown **ppvObj); 4545 void __RPC_STUB IBindHost_RemoteMonikerBindToObject_Stub( 4546 IRpcStubBuffer* This, 4547 IRpcChannelBuffer* pRpcChannelBuffer, 4548 PRPC_MESSAGE pRpcMessage, 4549 DWORD* pdwStubPhase); 4550 HRESULT CALLBACK IBindHost_MonikerBindToStorage_Proxy( 4551 IBindHost* This, 4552 IMoniker *pMk, 4553 IBindCtx *pBC, 4554 IBindStatusCallback *pBSC, 4555 REFIID riid, 4556 void **ppvObj); 4557 HRESULT __RPC_STUB IBindHost_MonikerBindToStorage_Stub( 4558 IBindHost* This, 4559 IMoniker *pMk, 4560 IBindCtx *pBC, 4561 IBindStatusCallback *pBSC, 4562 REFIID riid, 4563 IUnknown **ppvObj); 4564 HRESULT CALLBACK IBindHost_MonikerBindToObject_Proxy( 4565 IBindHost* This, 4566 IMoniker *pMk, 4567 IBindCtx *pBC, 4568 IBindStatusCallback *pBSC, 4569 REFIID riid, 4570 void **ppvObj); 4571 HRESULT __RPC_STUB IBindHost_MonikerBindToObject_Stub( 4572 IBindHost* This, 4573 IMoniker *pMk, 4574 IBindCtx *pBC, 4575 IBindStatusCallback *pBSC, 4576 REFIID riid, 4577 IUnknown **ppvObj); 4578 4579 #endif /* __IBindHost_INTERFACE_DEFINED__ */ 4580 4581 #endif 4582 4583 #define URLOSTRM_USECACHEDCOPY_ONLY 0x1 4584 #define URLOSTRM_USECACHEDCOPY 0x2 4585 #define URLOSTRM_GETNEWESTVERSION 0x3 4586 4587 struct IBindStatusCallback; 4588 STDAPI HlinkSimpleNavigateToString(LPCWSTR szTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *, DWORD grfHLNF, DWORD dwReserved); 4589 STDAPI HlinkSimpleNavigateToMoniker(IMoniker *pmkTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *, DWORD grfHLNF, DWORD dwReserved); 4590 STDAPI URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK); 4591 STDAPI URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK); 4592 STDAPI URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK); 4593 STDAPI URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK); 4594 STDAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK); 4595 STDAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK); 4596 STDAPI URLDownloadToCacheFileA(LPUNKNOWN, LPCSTR, LPSTR, DWORD, DWORD, LPBINDSTATUSCALLBACK); 4597 STDAPI URLDownloadToCacheFileW(LPUNKNOWN, LPCWSTR, LPWSTR, DWORD, DWORD, LPBINDSTATUSCALLBACK); 4598 STDAPI URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK); 4599 STDAPI URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK); 4600 4601 #define URLOpenStream __MINGW_NAME_AW(URLOpenStream) 4602 #define URLOpenPullStream __MINGW_NAME_AW(URLOpenPullStream) 4603 #define URLDownloadToFile __MINGW_NAME_AW(URLDownloadToFile) 4604 #define URLDownloadToCacheFile __MINGW_NAME_AW(URLDownloadToCacheFile) 4605 #define URLOpenBlockingStream __MINGW_NAME_AW(URLOpenBlockingStream) 4606 4607 STDAPI HlinkGoBack(IUnknown *pUnk); 4608 STDAPI HlinkGoForward(IUnknown *pUnk); 4609 STDAPI HlinkNavigateString(IUnknown *pUnk, LPCWSTR szTarget); 4610 STDAPI HlinkNavigateMoniker(IUnknown *pUnk, IMoniker *pmkTarget); 4611 4612 #ifndef _URLMON_NO_ASYNC_PLUGABLE_PROTOCOLS_ 4613 #ifndef __IInternet_FWD_DEFINED__ 4614 #define __IInternet_FWD_DEFINED__ 4615 typedef interface IInternet IInternet; 4616 #ifdef __cplusplus 4617 interface IInternet; 4618 #endif /* __cplusplus */ 4619 #endif 4620 4621 #ifndef __IInternetBindInfo_FWD_DEFINED__ 4622 #define __IInternetBindInfo_FWD_DEFINED__ 4623 typedef interface IInternetBindInfo IInternetBindInfo; 4624 #ifdef __cplusplus 4625 interface IInternetBindInfo; 4626 #endif /* __cplusplus */ 4627 #endif 4628 4629 #ifndef __IInternetBindInfoEx_FWD_DEFINED__ 4630 #define __IInternetBindInfoEx_FWD_DEFINED__ 4631 typedef interface IInternetBindInfoEx IInternetBindInfoEx; 4632 #ifdef __cplusplus 4633 interface IInternetBindInfoEx; 4634 #endif /* __cplusplus */ 4635 #endif 4636 4637 #ifndef __IInternetProtocolRoot_FWD_DEFINED__ 4638 #define __IInternetProtocolRoot_FWD_DEFINED__ 4639 typedef interface IInternetProtocolRoot IInternetProtocolRoot; 4640 #ifdef __cplusplus 4641 interface IInternetProtocolRoot; 4642 #endif /* __cplusplus */ 4643 #endif 4644 4645 #ifndef __IInternetProtocol_FWD_DEFINED__ 4646 #define __IInternetProtocol_FWD_DEFINED__ 4647 typedef interface IInternetProtocol IInternetProtocol; 4648 #ifdef __cplusplus 4649 interface IInternetProtocol; 4650 #endif /* __cplusplus */ 4651 #endif 4652 4653 #ifndef __IInternetProtocolEx_FWD_DEFINED__ 4654 #define __IInternetProtocolEx_FWD_DEFINED__ 4655 typedef interface IInternetProtocolEx IInternetProtocolEx; 4656 #ifdef __cplusplus 4657 interface IInternetProtocolEx; 4658 #endif /* __cplusplus */ 4659 #endif 4660 4661 #ifndef __IInternetProtocolSink_FWD_DEFINED__ 4662 #define __IInternetProtocolSink_FWD_DEFINED__ 4663 typedef interface IInternetProtocolSink IInternetProtocolSink; 4664 #ifdef __cplusplus 4665 interface IInternetProtocolSink; 4666 #endif /* __cplusplus */ 4667 #endif 4668 4669 #ifndef __IInternetProtocolInfo_FWD_DEFINED__ 4670 #define __IInternetProtocolInfo_FWD_DEFINED__ 4671 typedef interface IInternetProtocolInfo IInternetProtocolInfo; 4672 #ifdef __cplusplus 4673 interface IInternetProtocolInfo; 4674 #endif /* __cplusplus */ 4675 #endif 4676 4677 #ifndef __IInternetSession_FWD_DEFINED__ 4678 #define __IInternetSession_FWD_DEFINED__ 4679 typedef interface IInternetSession IInternetSession; 4680 #ifdef __cplusplus 4681 interface IInternetSession; 4682 #endif /* __cplusplus */ 4683 #endif 4684 4685 #ifndef __IInternetProtocolSinkStackable_FWD_DEFINED__ 4686 #define __IInternetProtocolSinkStackable_FWD_DEFINED__ 4687 typedef interface IInternetProtocolSinkStackable IInternetProtocolSinkStackable; 4688 #ifdef __cplusplus 4689 interface IInternetProtocolSinkStackable; 4690 #endif /* __cplusplus */ 4691 #endif 4692 4693 4694 #ifndef _LPIINTERNET 4695 #define _LPIINTERNET 4696 4697 /***************************************************************************** 4698 * IInternet interface 4699 */ 4700 #ifndef __IInternet_INTERFACE_DEFINED__ 4701 #define __IInternet_INTERFACE_DEFINED__ 4702 4703 typedef IInternet *LPIINTERNET; 4704 DEFINE_GUID(IID_IInternet, 0x79eac9e0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 4705 #if defined(__cplusplus) && !defined(CINTERFACE) 4706 MIDL_INTERFACE("79eac9e0-baf9-11ce-8c82-00aa004ba90b") 4707 IInternet : public IUnknown 4708 { 4709 }; 4710 #ifdef __CRT_UUID_DECL 4711 __CRT_UUID_DECL(IInternet, 0x79eac9e0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 4712 #endif 4713 #else 4714 typedef struct IInternetVtbl { 4715 BEGIN_INTERFACE 4716 4717 /*** IUnknown methods ***/ 4718 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4719 IInternet *This, 4720 REFIID riid, 4721 void **ppvObject); 4722 4723 ULONG (STDMETHODCALLTYPE *AddRef)( 4724 IInternet *This); 4725 4726 ULONG (STDMETHODCALLTYPE *Release)( 4727 IInternet *This); 4728 4729 END_INTERFACE 4730 } IInternetVtbl; 4731 4732 interface IInternet { 4733 CONST_VTBL IInternetVtbl* lpVtbl; 4734 }; 4735 4736 #ifdef COBJMACROS 4737 #ifndef WIDL_C_INLINE_WRAPPERS 4738 /*** IUnknown methods ***/ 4739 #define IInternet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4740 #define IInternet_AddRef(This) (This)->lpVtbl->AddRef(This) 4741 #define IInternet_Release(This) (This)->lpVtbl->Release(This) 4742 #else 4743 /*** IUnknown methods ***/ 4744 static FORCEINLINE HRESULT IInternet_QueryInterface(IInternet* This,REFIID riid,void **ppvObject) { 4745 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4746 } 4747 static FORCEINLINE ULONG IInternet_AddRef(IInternet* This) { 4748 return This->lpVtbl->AddRef(This); 4749 } 4750 static FORCEINLINE ULONG IInternet_Release(IInternet* This) { 4751 return This->lpVtbl->Release(This); 4752 } 4753 #endif 4754 #endif 4755 4756 #endif 4757 4758 4759 #endif /* __IInternet_INTERFACE_DEFINED__ */ 4760 4761 #endif 4762 4763 #ifndef _LPIINTERNETBINDINFO 4764 #define _LPIINTERNETBINDINFO 4765 4766 /***************************************************************************** 4767 * IInternetBindInfo interface 4768 */ 4769 #ifndef __IInternetBindInfo_INTERFACE_DEFINED__ 4770 #define __IInternetBindInfo_INTERFACE_DEFINED__ 4771 4772 typedef IInternetBindInfo *LPIINTERNETBINDINFO; 4773 4774 typedef enum tagBINDSTRING { 4775 BINDSTRING_HEADERS = 1, 4776 BINDSTRING_ACCEPT_MIMES = 2, 4777 BINDSTRING_EXTRA_URL = 3, 4778 BINDSTRING_LANGUAGE = 4, 4779 BINDSTRING_USERNAME = 5, 4780 BINDSTRING_PASSWORD = 6, 4781 BINDSTRING_UA_PIXELS = 7, 4782 BINDSTRING_UA_COLOR = 8, 4783 BINDSTRING_OS = 9, 4784 BINDSTRING_USER_AGENT = 10, 4785 BINDSTRING_ACCEPT_ENCODINGS = 11, 4786 BINDSTRING_POST_COOKIE = 12, 4787 BINDSTRING_POST_DATA_MIME = 13, 4788 BINDSTRING_URL = 14, 4789 BINDSTRING_IID = 15, 4790 BINDSTRING_FLAG_BIND_TO_OBJECT = 16, 4791 BINDSTRING_PTR_BIND_CONTEXT = 17, 4792 BINDSTRING_XDR_ORIGIN = 18, 4793 BINDSTRING_DOWNLOADPATH = 19, 4794 BINDSTRING_ROOTDOC_URL = 20, 4795 BINDSTRING_INITIAL_FILENAME = 21, 4796 BINDSTRING_PROXY_USERNAME = 22, 4797 BINDSTRING_PROXY_PASSWORD = 23 4798 } BINDSTRING; 4799 4800 DEFINE_GUID(IID_IInternetBindInfo, 0x79eac9e1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 4801 #if defined(__cplusplus) && !defined(CINTERFACE) 4802 MIDL_INTERFACE("79eac9e1-baf9-11ce-8c82-00aa004ba90b") 4803 IInternetBindInfo : public IUnknown 4804 { 4805 virtual HRESULT STDMETHODCALLTYPE GetBindInfo( 4806 DWORD *grfBINDF, 4807 BINDINFO *pbindinfo) = 0; 4808 4809 virtual HRESULT STDMETHODCALLTYPE GetBindString( 4810 ULONG ulStringType, 4811 LPOLESTR *ppwzStr, 4812 ULONG cEl, 4813 ULONG *pcElFetched) = 0; 4814 4815 }; 4816 #ifdef __CRT_UUID_DECL 4817 __CRT_UUID_DECL(IInternetBindInfo, 0x79eac9e1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 4818 #endif 4819 #else 4820 typedef struct IInternetBindInfoVtbl { 4821 BEGIN_INTERFACE 4822 4823 /*** IUnknown methods ***/ 4824 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4825 IInternetBindInfo *This, 4826 REFIID riid, 4827 void **ppvObject); 4828 4829 ULONG (STDMETHODCALLTYPE *AddRef)( 4830 IInternetBindInfo *This); 4831 4832 ULONG (STDMETHODCALLTYPE *Release)( 4833 IInternetBindInfo *This); 4834 4835 /*** IInternetBindInfo methods ***/ 4836 HRESULT (STDMETHODCALLTYPE *GetBindInfo)( 4837 IInternetBindInfo *This, 4838 DWORD *grfBINDF, 4839 BINDINFO *pbindinfo); 4840 4841 HRESULT (STDMETHODCALLTYPE *GetBindString)( 4842 IInternetBindInfo *This, 4843 ULONG ulStringType, 4844 LPOLESTR *ppwzStr, 4845 ULONG cEl, 4846 ULONG *pcElFetched); 4847 4848 END_INTERFACE 4849 } IInternetBindInfoVtbl; 4850 4851 interface IInternetBindInfo { 4852 CONST_VTBL IInternetBindInfoVtbl* lpVtbl; 4853 }; 4854 4855 #ifdef COBJMACROS 4856 #ifndef WIDL_C_INLINE_WRAPPERS 4857 /*** IUnknown methods ***/ 4858 #define IInternetBindInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4859 #define IInternetBindInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 4860 #define IInternetBindInfo_Release(This) (This)->lpVtbl->Release(This) 4861 /*** IInternetBindInfo methods ***/ 4862 #define IInternetBindInfo_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo) 4863 #define IInternetBindInfo_GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) (This)->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) 4864 #else 4865 /*** IUnknown methods ***/ 4866 static FORCEINLINE HRESULT IInternetBindInfo_QueryInterface(IInternetBindInfo* This,REFIID riid,void **ppvObject) { 4867 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4868 } 4869 static FORCEINLINE ULONG IInternetBindInfo_AddRef(IInternetBindInfo* This) { 4870 return This->lpVtbl->AddRef(This); 4871 } 4872 static FORCEINLINE ULONG IInternetBindInfo_Release(IInternetBindInfo* This) { 4873 return This->lpVtbl->Release(This); 4874 } 4875 /*** IInternetBindInfo methods ***/ 4876 static FORCEINLINE HRESULT IInternetBindInfo_GetBindInfo(IInternetBindInfo* This,DWORD *grfBINDF,BINDINFO *pbindinfo) { 4877 return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo); 4878 } 4879 static FORCEINLINE HRESULT IInternetBindInfo_GetBindString(IInternetBindInfo* This,ULONG ulStringType,LPOLESTR *ppwzStr,ULONG cEl,ULONG *pcElFetched) { 4880 return This->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched); 4881 } 4882 #endif 4883 #endif 4884 4885 #endif 4886 4887 4888 #endif /* __IInternetBindInfo_INTERFACE_DEFINED__ */ 4889 4890 #endif 4891 4892 #ifndef _LPIINTERNETBINDINFOEX 4893 #define _LPIINTERNETBINDINFOEX 4894 4895 /***************************************************************************** 4896 * IInternetBindInfoEx interface 4897 */ 4898 #ifndef __IInternetBindInfoEx_INTERFACE_DEFINED__ 4899 #define __IInternetBindInfoEx_INTERFACE_DEFINED__ 4900 4901 typedef IInternetBindInfoEx *LPIINTERNETBINDINFOEX; 4902 4903 DEFINE_GUID(IID_IInternetBindInfoEx, 0xa3e015b7, 0xa82c, 0x4dcd, 0xa1,0x50, 0x56,0x9a,0xee,0xed,0x36,0xab); 4904 #if defined(__cplusplus) && !defined(CINTERFACE) 4905 MIDL_INTERFACE("a3e015b7-a82c-4dcd-a150-569aeeed36ab") 4906 IInternetBindInfoEx : public IInternetBindInfo 4907 { 4908 virtual HRESULT STDMETHODCALLTYPE GetBindInfoEx( 4909 DWORD *grfBINDF, 4910 BINDINFO *pbindinfo, 4911 DWORD *grfBINDF2, 4912 DWORD *pdwReserved) = 0; 4913 4914 }; 4915 #ifdef __CRT_UUID_DECL 4916 __CRT_UUID_DECL(IInternetBindInfoEx, 0xa3e015b7, 0xa82c, 0x4dcd, 0xa1,0x50, 0x56,0x9a,0xee,0xed,0x36,0xab) 4917 #endif 4918 #else 4919 typedef struct IInternetBindInfoExVtbl { 4920 BEGIN_INTERFACE 4921 4922 /*** IUnknown methods ***/ 4923 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4924 IInternetBindInfoEx *This, 4925 REFIID riid, 4926 void **ppvObject); 4927 4928 ULONG (STDMETHODCALLTYPE *AddRef)( 4929 IInternetBindInfoEx *This); 4930 4931 ULONG (STDMETHODCALLTYPE *Release)( 4932 IInternetBindInfoEx *This); 4933 4934 /*** IInternetBindInfo methods ***/ 4935 HRESULT (STDMETHODCALLTYPE *GetBindInfo)( 4936 IInternetBindInfoEx *This, 4937 DWORD *grfBINDF, 4938 BINDINFO *pbindinfo); 4939 4940 HRESULT (STDMETHODCALLTYPE *GetBindString)( 4941 IInternetBindInfoEx *This, 4942 ULONG ulStringType, 4943 LPOLESTR *ppwzStr, 4944 ULONG cEl, 4945 ULONG *pcElFetched); 4946 4947 /*** IInternetBindInfoEx methods ***/ 4948 HRESULT (STDMETHODCALLTYPE *GetBindInfoEx)( 4949 IInternetBindInfoEx *This, 4950 DWORD *grfBINDF, 4951 BINDINFO *pbindinfo, 4952 DWORD *grfBINDF2, 4953 DWORD *pdwReserved); 4954 4955 END_INTERFACE 4956 } IInternetBindInfoExVtbl; 4957 4958 interface IInternetBindInfoEx { 4959 CONST_VTBL IInternetBindInfoExVtbl* lpVtbl; 4960 }; 4961 4962 #ifdef COBJMACROS 4963 #ifndef WIDL_C_INLINE_WRAPPERS 4964 /*** IUnknown methods ***/ 4965 #define IInternetBindInfoEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4966 #define IInternetBindInfoEx_AddRef(This) (This)->lpVtbl->AddRef(This) 4967 #define IInternetBindInfoEx_Release(This) (This)->lpVtbl->Release(This) 4968 /*** IInternetBindInfo methods ***/ 4969 #define IInternetBindInfoEx_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo) 4970 #define IInternetBindInfoEx_GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) (This)->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) 4971 /*** IInternetBindInfoEx methods ***/ 4972 #define IInternetBindInfoEx_GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved) (This)->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved) 4973 #else 4974 /*** IUnknown methods ***/ 4975 static FORCEINLINE HRESULT IInternetBindInfoEx_QueryInterface(IInternetBindInfoEx* This,REFIID riid,void **ppvObject) { 4976 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4977 } 4978 static FORCEINLINE ULONG IInternetBindInfoEx_AddRef(IInternetBindInfoEx* This) { 4979 return This->lpVtbl->AddRef(This); 4980 } 4981 static FORCEINLINE ULONG IInternetBindInfoEx_Release(IInternetBindInfoEx* This) { 4982 return This->lpVtbl->Release(This); 4983 } 4984 /*** IInternetBindInfo methods ***/ 4985 static FORCEINLINE HRESULT IInternetBindInfoEx_GetBindInfo(IInternetBindInfoEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo) { 4986 return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo); 4987 } 4988 static FORCEINLINE HRESULT IInternetBindInfoEx_GetBindString(IInternetBindInfoEx* This,ULONG ulStringType,LPOLESTR *ppwzStr,ULONG cEl,ULONG *pcElFetched) { 4989 return This->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched); 4990 } 4991 /*** IInternetBindInfoEx methods ***/ 4992 static FORCEINLINE HRESULT IInternetBindInfoEx_GetBindInfoEx(IInternetBindInfoEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo,DWORD *grfBINDF2,DWORD *pdwReserved) { 4993 return This->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved); 4994 } 4995 #endif 4996 #endif 4997 4998 #endif 4999 5000 5001 #endif /* __IInternetBindInfoEx_INTERFACE_DEFINED__ */ 5002 5003 #endif 5004 5005 #ifndef _LPIINTERNETPROTOCOLROOT_DEFINED 5006 #define _LPIINTERNETPROTOCOLROOT_DEFINED 5007 5008 /***************************************************************************** 5009 * IInternetProtocolRoot interface 5010 */ 5011 #ifndef __IInternetProtocolRoot_INTERFACE_DEFINED__ 5012 #define __IInternetProtocolRoot_INTERFACE_DEFINED__ 5013 5014 typedef IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT; 5015 5016 typedef enum _tagPI_FLAGS { 5017 PI_PARSE_URL = 0x1, 5018 PI_FILTER_MODE = 0x2, 5019 PI_FORCE_ASYNC = 0x4, 5020 PI_USE_WORKERTHREAD = 0x8, 5021 PI_MIMEVERIFICATION = 0x10, 5022 PI_CLSIDLOOKUP = 0x20, 5023 PI_DATAPROGRESS = 0x40, 5024 PI_SYNCHRONOUS = 0x80, 5025 PI_APARTMENTTHREADED = 0x100, 5026 PI_CLASSINSTALL = 0x200, 5027 PI_PASSONBINDCTX = 0x2000, 5028 PI_NOMIMEHANDLER = 0x8000, 5029 PI_LOADAPPDIRECT = 0x4000, 5030 PD_FORCE_SWITCH = 0x10000, 5031 PI_PREFERDEFAULTHANDLER = 0x20000 5032 } PI_FLAGS; 5033 typedef struct _tagPROTOCOLDATA { 5034 DWORD grfFlags; 5035 DWORD dwState; 5036 LPVOID pData; 5037 ULONG cbData; 5038 } PROTOCOLDATA; 5039 5040 typedef struct _tagStartParam { 5041 IID iid; 5042 IBindCtx *pIBindCtx; 5043 IUnknown *pItf; 5044 } StartParam; 5045 5046 DEFINE_GUID(IID_IInternetProtocolRoot, 0x79eac9e3, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 5047 #if defined(__cplusplus) && !defined(CINTERFACE) 5048 MIDL_INTERFACE("79eac9e3-baf9-11ce-8c82-00aa004ba90b") 5049 IInternetProtocolRoot : public IUnknown 5050 { 5051 virtual HRESULT STDMETHODCALLTYPE Start( 5052 LPCWSTR szUrl, 5053 IInternetProtocolSink *pOIProtSink, 5054 IInternetBindInfo *pOIBindInfo, 5055 DWORD grfPI, 5056 HANDLE_PTR dwReserved) = 0; 5057 5058 virtual HRESULT STDMETHODCALLTYPE Continue( 5059 PROTOCOLDATA *pProtocolData) = 0; 5060 5061 virtual HRESULT STDMETHODCALLTYPE Abort( 5062 HRESULT hrReason, 5063 DWORD dwOptions) = 0; 5064 5065 virtual HRESULT STDMETHODCALLTYPE Terminate( 5066 DWORD dwOptions) = 0; 5067 5068 virtual HRESULT STDMETHODCALLTYPE Suspend( 5069 ) = 0; 5070 5071 virtual HRESULT STDMETHODCALLTYPE Resume( 5072 ) = 0; 5073 5074 }; 5075 #ifdef __CRT_UUID_DECL 5076 __CRT_UUID_DECL(IInternetProtocolRoot, 0x79eac9e3, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 5077 #endif 5078 #else 5079 typedef struct IInternetProtocolRootVtbl { 5080 BEGIN_INTERFACE 5081 5082 /*** IUnknown methods ***/ 5083 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5084 IInternetProtocolRoot *This, 5085 REFIID riid, 5086 void **ppvObject); 5087 5088 ULONG (STDMETHODCALLTYPE *AddRef)( 5089 IInternetProtocolRoot *This); 5090 5091 ULONG (STDMETHODCALLTYPE *Release)( 5092 IInternetProtocolRoot *This); 5093 5094 /*** IInternetProtocolRoot methods ***/ 5095 HRESULT (STDMETHODCALLTYPE *Start)( 5096 IInternetProtocolRoot *This, 5097 LPCWSTR szUrl, 5098 IInternetProtocolSink *pOIProtSink, 5099 IInternetBindInfo *pOIBindInfo, 5100 DWORD grfPI, 5101 HANDLE_PTR dwReserved); 5102 5103 HRESULT (STDMETHODCALLTYPE *Continue)( 5104 IInternetProtocolRoot *This, 5105 PROTOCOLDATA *pProtocolData); 5106 5107 HRESULT (STDMETHODCALLTYPE *Abort)( 5108 IInternetProtocolRoot *This, 5109 HRESULT hrReason, 5110 DWORD dwOptions); 5111 5112 HRESULT (STDMETHODCALLTYPE *Terminate)( 5113 IInternetProtocolRoot *This, 5114 DWORD dwOptions); 5115 5116 HRESULT (STDMETHODCALLTYPE *Suspend)( 5117 IInternetProtocolRoot *This); 5118 5119 HRESULT (STDMETHODCALLTYPE *Resume)( 5120 IInternetProtocolRoot *This); 5121 5122 END_INTERFACE 5123 } IInternetProtocolRootVtbl; 5124 5125 interface IInternetProtocolRoot { 5126 CONST_VTBL IInternetProtocolRootVtbl* lpVtbl; 5127 }; 5128 5129 #ifdef COBJMACROS 5130 #ifndef WIDL_C_INLINE_WRAPPERS 5131 /*** IUnknown methods ***/ 5132 #define IInternetProtocolRoot_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5133 #define IInternetProtocolRoot_AddRef(This) (This)->lpVtbl->AddRef(This) 5134 #define IInternetProtocolRoot_Release(This) (This)->lpVtbl->Release(This) 5135 /*** IInternetProtocolRoot methods ***/ 5136 #define IInternetProtocolRoot_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) 5137 #define IInternetProtocolRoot_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData) 5138 #define IInternetProtocolRoot_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions) 5139 #define IInternetProtocolRoot_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions) 5140 #define IInternetProtocolRoot_Suspend(This) (This)->lpVtbl->Suspend(This) 5141 #define IInternetProtocolRoot_Resume(This) (This)->lpVtbl->Resume(This) 5142 #else 5143 /*** IUnknown methods ***/ 5144 static FORCEINLINE HRESULT IInternetProtocolRoot_QueryInterface(IInternetProtocolRoot* This,REFIID riid,void **ppvObject) { 5145 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5146 } 5147 static FORCEINLINE ULONG IInternetProtocolRoot_AddRef(IInternetProtocolRoot* This) { 5148 return This->lpVtbl->AddRef(This); 5149 } 5150 static FORCEINLINE ULONG IInternetProtocolRoot_Release(IInternetProtocolRoot* This) { 5151 return This->lpVtbl->Release(This); 5152 } 5153 /*** IInternetProtocolRoot methods ***/ 5154 static FORCEINLINE HRESULT IInternetProtocolRoot_Start(IInternetProtocolRoot* This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) { 5155 return This->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved); 5156 } 5157 static FORCEINLINE HRESULT IInternetProtocolRoot_Continue(IInternetProtocolRoot* This,PROTOCOLDATA *pProtocolData) { 5158 return This->lpVtbl->Continue(This,pProtocolData); 5159 } 5160 static FORCEINLINE HRESULT IInternetProtocolRoot_Abort(IInternetProtocolRoot* This,HRESULT hrReason,DWORD dwOptions) { 5161 return This->lpVtbl->Abort(This,hrReason,dwOptions); 5162 } 5163 static FORCEINLINE HRESULT IInternetProtocolRoot_Terminate(IInternetProtocolRoot* This,DWORD dwOptions) { 5164 return This->lpVtbl->Terminate(This,dwOptions); 5165 } 5166 static FORCEINLINE HRESULT IInternetProtocolRoot_Suspend(IInternetProtocolRoot* This) { 5167 return This->lpVtbl->Suspend(This); 5168 } 5169 static FORCEINLINE HRESULT IInternetProtocolRoot_Resume(IInternetProtocolRoot* This) { 5170 return This->lpVtbl->Resume(This); 5171 } 5172 #endif 5173 #endif 5174 5175 #endif 5176 5177 5178 #endif /* __IInternetProtocolRoot_INTERFACE_DEFINED__ */ 5179 5180 #endif 5181 5182 #ifndef _LPIINTERNETPROTOCOL_DEFINED 5183 #define _LPIINTERNETPROTOCOL_DEFINED 5184 5185 /***************************************************************************** 5186 * IInternetProtocol interface 5187 */ 5188 #ifndef __IInternetProtocol_INTERFACE_DEFINED__ 5189 #define __IInternetProtocol_INTERFACE_DEFINED__ 5190 5191 typedef IInternetProtocol *LPIINTERNETPROTOCOL; 5192 5193 DEFINE_GUID(IID_IInternetProtocol, 0x79eac9e4, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 5194 #if defined(__cplusplus) && !defined(CINTERFACE) 5195 MIDL_INTERFACE("79eac9e4-baf9-11ce-8c82-00aa004ba90b") 5196 IInternetProtocol : public IInternetProtocolRoot 5197 { 5198 virtual HRESULT STDMETHODCALLTYPE Read( 5199 void *pv, 5200 ULONG cb, 5201 ULONG *pcbRead) = 0; 5202 5203 virtual HRESULT STDMETHODCALLTYPE Seek( 5204 LARGE_INTEGER dlibMove, 5205 DWORD dwOrigin, 5206 ULARGE_INTEGER *plibNewPosition) = 0; 5207 5208 virtual HRESULT STDMETHODCALLTYPE LockRequest( 5209 DWORD dwOptions) = 0; 5210 5211 virtual HRESULT STDMETHODCALLTYPE UnlockRequest( 5212 ) = 0; 5213 5214 }; 5215 #ifdef __CRT_UUID_DECL 5216 __CRT_UUID_DECL(IInternetProtocol, 0x79eac9e4, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 5217 #endif 5218 #else 5219 typedef struct IInternetProtocolVtbl { 5220 BEGIN_INTERFACE 5221 5222 /*** IUnknown methods ***/ 5223 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5224 IInternetProtocol *This, 5225 REFIID riid, 5226 void **ppvObject); 5227 5228 ULONG (STDMETHODCALLTYPE *AddRef)( 5229 IInternetProtocol *This); 5230 5231 ULONG (STDMETHODCALLTYPE *Release)( 5232 IInternetProtocol *This); 5233 5234 /*** IInternetProtocolRoot methods ***/ 5235 HRESULT (STDMETHODCALLTYPE *Start)( 5236 IInternetProtocol *This, 5237 LPCWSTR szUrl, 5238 IInternetProtocolSink *pOIProtSink, 5239 IInternetBindInfo *pOIBindInfo, 5240 DWORD grfPI, 5241 HANDLE_PTR dwReserved); 5242 5243 HRESULT (STDMETHODCALLTYPE *Continue)( 5244 IInternetProtocol *This, 5245 PROTOCOLDATA *pProtocolData); 5246 5247 HRESULT (STDMETHODCALLTYPE *Abort)( 5248 IInternetProtocol *This, 5249 HRESULT hrReason, 5250 DWORD dwOptions); 5251 5252 HRESULT (STDMETHODCALLTYPE *Terminate)( 5253 IInternetProtocol *This, 5254 DWORD dwOptions); 5255 5256 HRESULT (STDMETHODCALLTYPE *Suspend)( 5257 IInternetProtocol *This); 5258 5259 HRESULT (STDMETHODCALLTYPE *Resume)( 5260 IInternetProtocol *This); 5261 5262 /*** IInternetProtocol methods ***/ 5263 HRESULT (STDMETHODCALLTYPE *Read)( 5264 IInternetProtocol *This, 5265 void *pv, 5266 ULONG cb, 5267 ULONG *pcbRead); 5268 5269 HRESULT (STDMETHODCALLTYPE *Seek)( 5270 IInternetProtocol *This, 5271 LARGE_INTEGER dlibMove, 5272 DWORD dwOrigin, 5273 ULARGE_INTEGER *plibNewPosition); 5274 5275 HRESULT (STDMETHODCALLTYPE *LockRequest)( 5276 IInternetProtocol *This, 5277 DWORD dwOptions); 5278 5279 HRESULT (STDMETHODCALLTYPE *UnlockRequest)( 5280 IInternetProtocol *This); 5281 5282 END_INTERFACE 5283 } IInternetProtocolVtbl; 5284 5285 interface IInternetProtocol { 5286 CONST_VTBL IInternetProtocolVtbl* lpVtbl; 5287 }; 5288 5289 #ifdef COBJMACROS 5290 #ifndef WIDL_C_INLINE_WRAPPERS 5291 /*** IUnknown methods ***/ 5292 #define IInternetProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5293 #define IInternetProtocol_AddRef(This) (This)->lpVtbl->AddRef(This) 5294 #define IInternetProtocol_Release(This) (This)->lpVtbl->Release(This) 5295 /*** IInternetProtocolRoot methods ***/ 5296 #define IInternetProtocol_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) 5297 #define IInternetProtocol_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData) 5298 #define IInternetProtocol_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions) 5299 #define IInternetProtocol_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions) 5300 #define IInternetProtocol_Suspend(This) (This)->lpVtbl->Suspend(This) 5301 #define IInternetProtocol_Resume(This) (This)->lpVtbl->Resume(This) 5302 /*** IInternetProtocol methods ***/ 5303 #define IInternetProtocol_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) 5304 #define IInternetProtocol_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) 5305 #define IInternetProtocol_LockRequest(This,dwOptions) (This)->lpVtbl->LockRequest(This,dwOptions) 5306 #define IInternetProtocol_UnlockRequest(This) (This)->lpVtbl->UnlockRequest(This) 5307 #else 5308 /*** IUnknown methods ***/ 5309 static FORCEINLINE HRESULT IInternetProtocol_QueryInterface(IInternetProtocol* This,REFIID riid,void **ppvObject) { 5310 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5311 } 5312 static FORCEINLINE ULONG IInternetProtocol_AddRef(IInternetProtocol* This) { 5313 return This->lpVtbl->AddRef(This); 5314 } 5315 static FORCEINLINE ULONG IInternetProtocol_Release(IInternetProtocol* This) { 5316 return This->lpVtbl->Release(This); 5317 } 5318 /*** IInternetProtocolRoot methods ***/ 5319 static FORCEINLINE HRESULT IInternetProtocol_Start(IInternetProtocol* This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) { 5320 return This->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved); 5321 } 5322 static FORCEINLINE HRESULT IInternetProtocol_Continue(IInternetProtocol* This,PROTOCOLDATA *pProtocolData) { 5323 return This->lpVtbl->Continue(This,pProtocolData); 5324 } 5325 static FORCEINLINE HRESULT IInternetProtocol_Abort(IInternetProtocol* This,HRESULT hrReason,DWORD dwOptions) { 5326 return This->lpVtbl->Abort(This,hrReason,dwOptions); 5327 } 5328 static FORCEINLINE HRESULT IInternetProtocol_Terminate(IInternetProtocol* This,DWORD dwOptions) { 5329 return This->lpVtbl->Terminate(This,dwOptions); 5330 } 5331 static FORCEINLINE HRESULT IInternetProtocol_Suspend(IInternetProtocol* This) { 5332 return This->lpVtbl->Suspend(This); 5333 } 5334 static FORCEINLINE HRESULT IInternetProtocol_Resume(IInternetProtocol* This) { 5335 return This->lpVtbl->Resume(This); 5336 } 5337 /*** IInternetProtocol methods ***/ 5338 static FORCEINLINE HRESULT IInternetProtocol_Read(IInternetProtocol* This,void *pv,ULONG cb,ULONG *pcbRead) { 5339 return This->lpVtbl->Read(This,pv,cb,pcbRead); 5340 } 5341 static FORCEINLINE HRESULT IInternetProtocol_Seek(IInternetProtocol* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) { 5342 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition); 5343 } 5344 static FORCEINLINE HRESULT IInternetProtocol_LockRequest(IInternetProtocol* This,DWORD dwOptions) { 5345 return This->lpVtbl->LockRequest(This,dwOptions); 5346 } 5347 static FORCEINLINE HRESULT IInternetProtocol_UnlockRequest(IInternetProtocol* This) { 5348 return This->lpVtbl->UnlockRequest(This); 5349 } 5350 #endif 5351 #endif 5352 5353 #endif 5354 5355 5356 #endif /* __IInternetProtocol_INTERFACE_DEFINED__ */ 5357 5358 #endif 5359 5360 #if (_WIN32_IE >= _WIN32_IE_IE70) 5361 #ifndef _LPIINTERNETPROTOCOLEX_DEFINED 5362 #define _LPIINTERNETPROTOCOLEX_DEFINED 5363 5364 /***************************************************************************** 5365 * IInternetProtocolEx interface 5366 */ 5367 #ifndef __IInternetProtocolEx_INTERFACE_DEFINED__ 5368 #define __IInternetProtocolEx_INTERFACE_DEFINED__ 5369 5370 DEFINE_GUID(IID_IInternetProtocolEx, 0xc7a98e66, 0x1010, 0x492c, 0xa1,0xc8, 0xc8,0x09,0xe1,0xf7,0x59,0x05); 5371 #if defined(__cplusplus) && !defined(CINTERFACE) 5372 MIDL_INTERFACE("c7a98e66-1010-492c-a1c8-c809e1f75905") 5373 IInternetProtocolEx : public IInternetProtocol 5374 { 5375 virtual HRESULT STDMETHODCALLTYPE StartEx( 5376 IUri *pUri, 5377 IInternetProtocolSink *pOIProtSink, 5378 IInternetBindInfo *pOIBindInfo, 5379 DWORD grfPI, 5380 HANDLE_PTR dwReserved) = 0; 5381 5382 }; 5383 #ifdef __CRT_UUID_DECL 5384 __CRT_UUID_DECL(IInternetProtocolEx, 0xc7a98e66, 0x1010, 0x492c, 0xa1,0xc8, 0xc8,0x09,0xe1,0xf7,0x59,0x05) 5385 #endif 5386 #else 5387 typedef struct IInternetProtocolExVtbl { 5388 BEGIN_INTERFACE 5389 5390 /*** IUnknown methods ***/ 5391 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5392 IInternetProtocolEx *This, 5393 REFIID riid, 5394 void **ppvObject); 5395 5396 ULONG (STDMETHODCALLTYPE *AddRef)( 5397 IInternetProtocolEx *This); 5398 5399 ULONG (STDMETHODCALLTYPE *Release)( 5400 IInternetProtocolEx *This); 5401 5402 /*** IInternetProtocolRoot methods ***/ 5403 HRESULT (STDMETHODCALLTYPE *Start)( 5404 IInternetProtocolEx *This, 5405 LPCWSTR szUrl, 5406 IInternetProtocolSink *pOIProtSink, 5407 IInternetBindInfo *pOIBindInfo, 5408 DWORD grfPI, 5409 HANDLE_PTR dwReserved); 5410 5411 HRESULT (STDMETHODCALLTYPE *Continue)( 5412 IInternetProtocolEx *This, 5413 PROTOCOLDATA *pProtocolData); 5414 5415 HRESULT (STDMETHODCALLTYPE *Abort)( 5416 IInternetProtocolEx *This, 5417 HRESULT hrReason, 5418 DWORD dwOptions); 5419 5420 HRESULT (STDMETHODCALLTYPE *Terminate)( 5421 IInternetProtocolEx *This, 5422 DWORD dwOptions); 5423 5424 HRESULT (STDMETHODCALLTYPE *Suspend)( 5425 IInternetProtocolEx *This); 5426 5427 HRESULT (STDMETHODCALLTYPE *Resume)( 5428 IInternetProtocolEx *This); 5429 5430 /*** IInternetProtocol methods ***/ 5431 HRESULT (STDMETHODCALLTYPE *Read)( 5432 IInternetProtocolEx *This, 5433 void *pv, 5434 ULONG cb, 5435 ULONG *pcbRead); 5436 5437 HRESULT (STDMETHODCALLTYPE *Seek)( 5438 IInternetProtocolEx *This, 5439 LARGE_INTEGER dlibMove, 5440 DWORD dwOrigin, 5441 ULARGE_INTEGER *plibNewPosition); 5442 5443 HRESULT (STDMETHODCALLTYPE *LockRequest)( 5444 IInternetProtocolEx *This, 5445 DWORD dwOptions); 5446 5447 HRESULT (STDMETHODCALLTYPE *UnlockRequest)( 5448 IInternetProtocolEx *This); 5449 5450 /*** IInternetProtocolEx methods ***/ 5451 HRESULT (STDMETHODCALLTYPE *StartEx)( 5452 IInternetProtocolEx *This, 5453 IUri *pUri, 5454 IInternetProtocolSink *pOIProtSink, 5455 IInternetBindInfo *pOIBindInfo, 5456 DWORD grfPI, 5457 HANDLE_PTR dwReserved); 5458 5459 END_INTERFACE 5460 } IInternetProtocolExVtbl; 5461 5462 interface IInternetProtocolEx { 5463 CONST_VTBL IInternetProtocolExVtbl* lpVtbl; 5464 }; 5465 5466 #ifdef COBJMACROS 5467 #ifndef WIDL_C_INLINE_WRAPPERS 5468 /*** IUnknown methods ***/ 5469 #define IInternetProtocolEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5470 #define IInternetProtocolEx_AddRef(This) (This)->lpVtbl->AddRef(This) 5471 #define IInternetProtocolEx_Release(This) (This)->lpVtbl->Release(This) 5472 /*** IInternetProtocolRoot methods ***/ 5473 #define IInternetProtocolEx_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) 5474 #define IInternetProtocolEx_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData) 5475 #define IInternetProtocolEx_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions) 5476 #define IInternetProtocolEx_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions) 5477 #define IInternetProtocolEx_Suspend(This) (This)->lpVtbl->Suspend(This) 5478 #define IInternetProtocolEx_Resume(This) (This)->lpVtbl->Resume(This) 5479 /*** IInternetProtocol methods ***/ 5480 #define IInternetProtocolEx_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) 5481 #define IInternetProtocolEx_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) 5482 #define IInternetProtocolEx_LockRequest(This,dwOptions) (This)->lpVtbl->LockRequest(This,dwOptions) 5483 #define IInternetProtocolEx_UnlockRequest(This) (This)->lpVtbl->UnlockRequest(This) 5484 /*** IInternetProtocolEx methods ***/ 5485 #define IInternetProtocolEx_StartEx(This,pUri,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->StartEx(This,pUri,pOIProtSink,pOIBindInfo,grfPI,dwReserved) 5486 #else 5487 /*** IUnknown methods ***/ 5488 static FORCEINLINE HRESULT IInternetProtocolEx_QueryInterface(IInternetProtocolEx* This,REFIID riid,void **ppvObject) { 5489 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5490 } 5491 static FORCEINLINE ULONG IInternetProtocolEx_AddRef(IInternetProtocolEx* This) { 5492 return This->lpVtbl->AddRef(This); 5493 } 5494 static FORCEINLINE ULONG IInternetProtocolEx_Release(IInternetProtocolEx* This) { 5495 return This->lpVtbl->Release(This); 5496 } 5497 /*** IInternetProtocolRoot methods ***/ 5498 static FORCEINLINE HRESULT IInternetProtocolEx_Start(IInternetProtocolEx* This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) { 5499 return This->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved); 5500 } 5501 static FORCEINLINE HRESULT IInternetProtocolEx_Continue(IInternetProtocolEx* This,PROTOCOLDATA *pProtocolData) { 5502 return This->lpVtbl->Continue(This,pProtocolData); 5503 } 5504 static FORCEINLINE HRESULT IInternetProtocolEx_Abort(IInternetProtocolEx* This,HRESULT hrReason,DWORD dwOptions) { 5505 return This->lpVtbl->Abort(This,hrReason,dwOptions); 5506 } 5507 static FORCEINLINE HRESULT IInternetProtocolEx_Terminate(IInternetProtocolEx* This,DWORD dwOptions) { 5508 return This->lpVtbl->Terminate(This,dwOptions); 5509 } 5510 static FORCEINLINE HRESULT IInternetProtocolEx_Suspend(IInternetProtocolEx* This) { 5511 return This->lpVtbl->Suspend(This); 5512 } 5513 static FORCEINLINE HRESULT IInternetProtocolEx_Resume(IInternetProtocolEx* This) { 5514 return This->lpVtbl->Resume(This); 5515 } 5516 /*** IInternetProtocol methods ***/ 5517 static FORCEINLINE HRESULT IInternetProtocolEx_Read(IInternetProtocolEx* This,void *pv,ULONG cb,ULONG *pcbRead) { 5518 return This->lpVtbl->Read(This,pv,cb,pcbRead); 5519 } 5520 static FORCEINLINE HRESULT IInternetProtocolEx_Seek(IInternetProtocolEx* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) { 5521 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition); 5522 } 5523 static FORCEINLINE HRESULT IInternetProtocolEx_LockRequest(IInternetProtocolEx* This,DWORD dwOptions) { 5524 return This->lpVtbl->LockRequest(This,dwOptions); 5525 } 5526 static FORCEINLINE HRESULT IInternetProtocolEx_UnlockRequest(IInternetProtocolEx* This) { 5527 return This->lpVtbl->UnlockRequest(This); 5528 } 5529 /*** IInternetProtocolEx methods ***/ 5530 static FORCEINLINE HRESULT IInternetProtocolEx_StartEx(IInternetProtocolEx* This,IUri *pUri,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) { 5531 return This->lpVtbl->StartEx(This,pUri,pOIProtSink,pOIBindInfo,grfPI,dwReserved); 5532 } 5533 #endif 5534 #endif 5535 5536 #endif 5537 5538 5539 #endif /* __IInternetProtocolEx_INTERFACE_DEFINED__ */ 5540 5541 #endif 5542 #endif 5543 5544 #ifndef _LPIINTERNETPROTOCOLSINK_DEFINED 5545 #define _LPIINTERNETPROTOCOLSINK_DEFINED 5546 /***************************************************************************** 5547 * IInternetProtocolSink interface 5548 */ 5549 #ifndef __IInternetProtocolSink_INTERFACE_DEFINED__ 5550 #define __IInternetProtocolSink_INTERFACE_DEFINED__ 5551 5552 typedef IInternetProtocolSink *LPIINTERNETPROTOCOLSINK; 5553 5554 DEFINE_GUID(IID_IInternetProtocolSink, 0x79eac9e5, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 5555 #if defined(__cplusplus) && !defined(CINTERFACE) 5556 MIDL_INTERFACE("79eac9e5-baf9-11ce-8c82-00aa004ba90b") 5557 IInternetProtocolSink : public IUnknown 5558 { 5559 virtual HRESULT STDMETHODCALLTYPE Switch( 5560 PROTOCOLDATA *pProtocolData) = 0; 5561 5562 virtual HRESULT STDMETHODCALLTYPE ReportProgress( 5563 ULONG ulStatusCode, 5564 LPCWSTR szStatusText) = 0; 5565 5566 virtual HRESULT STDMETHODCALLTYPE ReportData( 5567 DWORD grfBSCF, 5568 ULONG ulProgress, 5569 ULONG ulProgressMax) = 0; 5570 5571 virtual HRESULT STDMETHODCALLTYPE ReportResult( 5572 HRESULT hrResult, 5573 DWORD dwError, 5574 LPCWSTR szResult) = 0; 5575 5576 }; 5577 #ifdef __CRT_UUID_DECL 5578 __CRT_UUID_DECL(IInternetProtocolSink, 0x79eac9e5, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 5579 #endif 5580 #else 5581 typedef struct IInternetProtocolSinkVtbl { 5582 BEGIN_INTERFACE 5583 5584 /*** IUnknown methods ***/ 5585 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5586 IInternetProtocolSink *This, 5587 REFIID riid, 5588 void **ppvObject); 5589 5590 ULONG (STDMETHODCALLTYPE *AddRef)( 5591 IInternetProtocolSink *This); 5592 5593 ULONG (STDMETHODCALLTYPE *Release)( 5594 IInternetProtocolSink *This); 5595 5596 /*** IInternetProtocolSink methods ***/ 5597 HRESULT (STDMETHODCALLTYPE *Switch)( 5598 IInternetProtocolSink *This, 5599 PROTOCOLDATA *pProtocolData); 5600 5601 HRESULT (STDMETHODCALLTYPE *ReportProgress)( 5602 IInternetProtocolSink *This, 5603 ULONG ulStatusCode, 5604 LPCWSTR szStatusText); 5605 5606 HRESULT (STDMETHODCALLTYPE *ReportData)( 5607 IInternetProtocolSink *This, 5608 DWORD grfBSCF, 5609 ULONG ulProgress, 5610 ULONG ulProgressMax); 5611 5612 HRESULT (STDMETHODCALLTYPE *ReportResult)( 5613 IInternetProtocolSink *This, 5614 HRESULT hrResult, 5615 DWORD dwError, 5616 LPCWSTR szResult); 5617 5618 END_INTERFACE 5619 } IInternetProtocolSinkVtbl; 5620 5621 interface IInternetProtocolSink { 5622 CONST_VTBL IInternetProtocolSinkVtbl* lpVtbl; 5623 }; 5624 5625 #ifdef COBJMACROS 5626 #ifndef WIDL_C_INLINE_WRAPPERS 5627 /*** IUnknown methods ***/ 5628 #define IInternetProtocolSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5629 #define IInternetProtocolSink_AddRef(This) (This)->lpVtbl->AddRef(This) 5630 #define IInternetProtocolSink_Release(This) (This)->lpVtbl->Release(This) 5631 /*** IInternetProtocolSink methods ***/ 5632 #define IInternetProtocolSink_Switch(This,pProtocolData) (This)->lpVtbl->Switch(This,pProtocolData) 5633 #define IInternetProtocolSink_ReportProgress(This,ulStatusCode,szStatusText) (This)->lpVtbl->ReportProgress(This,ulStatusCode,szStatusText) 5634 #define IInternetProtocolSink_ReportData(This,grfBSCF,ulProgress,ulProgressMax) (This)->lpVtbl->ReportData(This,grfBSCF,ulProgress,ulProgressMax) 5635 #define IInternetProtocolSink_ReportResult(This,hrResult,dwError,szResult) (This)->lpVtbl->ReportResult(This,hrResult,dwError,szResult) 5636 #else 5637 /*** IUnknown methods ***/ 5638 static FORCEINLINE HRESULT IInternetProtocolSink_QueryInterface(IInternetProtocolSink* This,REFIID riid,void **ppvObject) { 5639 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5640 } 5641 static FORCEINLINE ULONG IInternetProtocolSink_AddRef(IInternetProtocolSink* This) { 5642 return This->lpVtbl->AddRef(This); 5643 } 5644 static FORCEINLINE ULONG IInternetProtocolSink_Release(IInternetProtocolSink* This) { 5645 return This->lpVtbl->Release(This); 5646 } 5647 /*** IInternetProtocolSink methods ***/ 5648 static FORCEINLINE HRESULT IInternetProtocolSink_Switch(IInternetProtocolSink* This,PROTOCOLDATA *pProtocolData) { 5649 return This->lpVtbl->Switch(This,pProtocolData); 5650 } 5651 static FORCEINLINE HRESULT IInternetProtocolSink_ReportProgress(IInternetProtocolSink* This,ULONG ulStatusCode,LPCWSTR szStatusText) { 5652 return This->lpVtbl->ReportProgress(This,ulStatusCode,szStatusText); 5653 } 5654 static FORCEINLINE HRESULT IInternetProtocolSink_ReportData(IInternetProtocolSink* This,DWORD grfBSCF,ULONG ulProgress,ULONG ulProgressMax) { 5655 return This->lpVtbl->ReportData(This,grfBSCF,ulProgress,ulProgressMax); 5656 } 5657 static FORCEINLINE HRESULT IInternetProtocolSink_ReportResult(IInternetProtocolSink* This,HRESULT hrResult,DWORD dwError,LPCWSTR szResult) { 5658 return This->lpVtbl->ReportResult(This,hrResult,dwError,szResult); 5659 } 5660 #endif 5661 #endif 5662 5663 #endif 5664 5665 5666 #endif /* __IInternetProtocolSink_INTERFACE_DEFINED__ */ 5667 5668 #endif 5669 5670 #ifndef _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED 5671 #define _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED 5672 5673 /***************************************************************************** 5674 * IInternetProtocolSinkStackable interface 5675 */ 5676 #ifndef __IInternetProtocolSinkStackable_INTERFACE_DEFINED__ 5677 #define __IInternetProtocolSinkStackable_INTERFACE_DEFINED__ 5678 5679 typedef IInternetProtocolSinkStackable *LPIINTERNETPROTOCOLSINKStackable; 5680 5681 DEFINE_GUID(IID_IInternetProtocolSinkStackable, 0x79eac9f0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 5682 #if defined(__cplusplus) && !defined(CINTERFACE) 5683 MIDL_INTERFACE("79eac9f0-baf9-11ce-8c82-00aa004ba90b") 5684 IInternetProtocolSinkStackable : public IUnknown 5685 { 5686 virtual HRESULT STDMETHODCALLTYPE SwitchSink( 5687 IInternetProtocolSink *pOIProtSink) = 0; 5688 5689 virtual HRESULT STDMETHODCALLTYPE CommitSwitch( 5690 ) = 0; 5691 5692 virtual HRESULT STDMETHODCALLTYPE RollbackSwitch( 5693 ) = 0; 5694 5695 }; 5696 #ifdef __CRT_UUID_DECL 5697 __CRT_UUID_DECL(IInternetProtocolSinkStackable, 0x79eac9f0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 5698 #endif 5699 #else 5700 typedef struct IInternetProtocolSinkStackableVtbl { 5701 BEGIN_INTERFACE 5702 5703 /*** IUnknown methods ***/ 5704 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5705 IInternetProtocolSinkStackable *This, 5706 REFIID riid, 5707 void **ppvObject); 5708 5709 ULONG (STDMETHODCALLTYPE *AddRef)( 5710 IInternetProtocolSinkStackable *This); 5711 5712 ULONG (STDMETHODCALLTYPE *Release)( 5713 IInternetProtocolSinkStackable *This); 5714 5715 /*** IInternetProtocolSinkStackable methods ***/ 5716 HRESULT (STDMETHODCALLTYPE *SwitchSink)( 5717 IInternetProtocolSinkStackable *This, 5718 IInternetProtocolSink *pOIProtSink); 5719 5720 HRESULT (STDMETHODCALLTYPE *CommitSwitch)( 5721 IInternetProtocolSinkStackable *This); 5722 5723 HRESULT (STDMETHODCALLTYPE *RollbackSwitch)( 5724 IInternetProtocolSinkStackable *This); 5725 5726 END_INTERFACE 5727 } IInternetProtocolSinkStackableVtbl; 5728 5729 interface IInternetProtocolSinkStackable { 5730 CONST_VTBL IInternetProtocolSinkStackableVtbl* lpVtbl; 5731 }; 5732 5733 #ifdef COBJMACROS 5734 #ifndef WIDL_C_INLINE_WRAPPERS 5735 /*** IUnknown methods ***/ 5736 #define IInternetProtocolSinkStackable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5737 #define IInternetProtocolSinkStackable_AddRef(This) (This)->lpVtbl->AddRef(This) 5738 #define IInternetProtocolSinkStackable_Release(This) (This)->lpVtbl->Release(This) 5739 /*** IInternetProtocolSinkStackable methods ***/ 5740 #define IInternetProtocolSinkStackable_SwitchSink(This,pOIProtSink) (This)->lpVtbl->SwitchSink(This,pOIProtSink) 5741 #define IInternetProtocolSinkStackable_CommitSwitch(This) (This)->lpVtbl->CommitSwitch(This) 5742 #define IInternetProtocolSinkStackable_RollbackSwitch(This) (This)->lpVtbl->RollbackSwitch(This) 5743 #else 5744 /*** IUnknown methods ***/ 5745 static FORCEINLINE HRESULT IInternetProtocolSinkStackable_QueryInterface(IInternetProtocolSinkStackable* This,REFIID riid,void **ppvObject) { 5746 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5747 } 5748 static FORCEINLINE ULONG IInternetProtocolSinkStackable_AddRef(IInternetProtocolSinkStackable* This) { 5749 return This->lpVtbl->AddRef(This); 5750 } 5751 static FORCEINLINE ULONG IInternetProtocolSinkStackable_Release(IInternetProtocolSinkStackable* This) { 5752 return This->lpVtbl->Release(This); 5753 } 5754 /*** IInternetProtocolSinkStackable methods ***/ 5755 static FORCEINLINE HRESULT IInternetProtocolSinkStackable_SwitchSink(IInternetProtocolSinkStackable* This,IInternetProtocolSink *pOIProtSink) { 5756 return This->lpVtbl->SwitchSink(This,pOIProtSink); 5757 } 5758 static FORCEINLINE HRESULT IInternetProtocolSinkStackable_CommitSwitch(IInternetProtocolSinkStackable* This) { 5759 return This->lpVtbl->CommitSwitch(This); 5760 } 5761 static FORCEINLINE HRESULT IInternetProtocolSinkStackable_RollbackSwitch(IInternetProtocolSinkStackable* This) { 5762 return This->lpVtbl->RollbackSwitch(This); 5763 } 5764 #endif 5765 #endif 5766 5767 #endif 5768 5769 5770 #endif /* __IInternetProtocolSinkStackable_INTERFACE_DEFINED__ */ 5771 5772 #endif 5773 5774 #ifndef _LPIINTERNETSESSION_DEFINED 5775 #define _LPIINTERNETSESSION_DEFINED 5776 5777 /***************************************************************************** 5778 * IInternetSession interface 5779 */ 5780 #ifndef __IInternetSession_INTERFACE_DEFINED__ 5781 #define __IInternetSession_INTERFACE_DEFINED__ 5782 5783 typedef IInternetSession *LPIINTERNETSESSION; 5784 5785 typedef enum _tagOIBDG_FLAGS { 5786 OIBDG_APARTMENTTHREADED = 0x100, 5787 OIBDG_DATAONLY = 0x1000 5788 } OIBDG_FLAGS; 5789 5790 DEFINE_GUID(IID_IInternetSession, 0x79eac9e7, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 5791 #if defined(__cplusplus) && !defined(CINTERFACE) 5792 MIDL_INTERFACE("79eac9e7-baf9-11ce-8c82-00aa004ba90b") 5793 IInternetSession : public IUnknown 5794 { 5795 virtual HRESULT STDMETHODCALLTYPE RegisterNameSpace( 5796 IClassFactory *pCF, 5797 REFCLSID rclsid, 5798 LPCWSTR pwzProtocol, 5799 ULONG cPatterns, 5800 const LPCWSTR *ppwzPatterns, 5801 DWORD dwReserved) = 0; 5802 5803 virtual HRESULT STDMETHODCALLTYPE UnregisterNameSpace( 5804 IClassFactory *pCF, 5805 LPCWSTR pszProtocol) = 0; 5806 5807 virtual HRESULT STDMETHODCALLTYPE RegisterMimeFilter( 5808 IClassFactory *pCF, 5809 REFCLSID rclsid, 5810 LPCWSTR pwzType) = 0; 5811 5812 virtual HRESULT STDMETHODCALLTYPE UnregisterMimeFilter( 5813 IClassFactory *pCF, 5814 LPCWSTR pwzType) = 0; 5815 5816 virtual HRESULT STDMETHODCALLTYPE CreateBinding( 5817 LPBC pBC, 5818 LPCWSTR szUrl, 5819 IUnknown *pUnkOuter, 5820 IUnknown **ppUnk, 5821 IInternetProtocol **ppOInetProt, 5822 DWORD dwOption) = 0; 5823 5824 virtual HRESULT STDMETHODCALLTYPE SetSessionOption( 5825 DWORD dwOption, 5826 LPVOID pBuffer, 5827 DWORD dwBufferLength, 5828 DWORD dwReserved) = 0; 5829 5830 virtual HRESULT STDMETHODCALLTYPE GetSessionOption( 5831 DWORD dwOption, 5832 LPVOID pBuffer, 5833 DWORD *pdwBufferLength, 5834 DWORD dwReserved) = 0; 5835 5836 }; 5837 #ifdef __CRT_UUID_DECL 5838 __CRT_UUID_DECL(IInternetSession, 0x79eac9e7, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 5839 #endif 5840 #else 5841 typedef struct IInternetSessionVtbl { 5842 BEGIN_INTERFACE 5843 5844 /*** IUnknown methods ***/ 5845 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5846 IInternetSession *This, 5847 REFIID riid, 5848 void **ppvObject); 5849 5850 ULONG (STDMETHODCALLTYPE *AddRef)( 5851 IInternetSession *This); 5852 5853 ULONG (STDMETHODCALLTYPE *Release)( 5854 IInternetSession *This); 5855 5856 /*** IInternetSession methods ***/ 5857 HRESULT (STDMETHODCALLTYPE *RegisterNameSpace)( 5858 IInternetSession *This, 5859 IClassFactory *pCF, 5860 REFCLSID rclsid, 5861 LPCWSTR pwzProtocol, 5862 ULONG cPatterns, 5863 const LPCWSTR *ppwzPatterns, 5864 DWORD dwReserved); 5865 5866 HRESULT (STDMETHODCALLTYPE *UnregisterNameSpace)( 5867 IInternetSession *This, 5868 IClassFactory *pCF, 5869 LPCWSTR pszProtocol); 5870 5871 HRESULT (STDMETHODCALLTYPE *RegisterMimeFilter)( 5872 IInternetSession *This, 5873 IClassFactory *pCF, 5874 REFCLSID rclsid, 5875 LPCWSTR pwzType); 5876 5877 HRESULT (STDMETHODCALLTYPE *UnregisterMimeFilter)( 5878 IInternetSession *This, 5879 IClassFactory *pCF, 5880 LPCWSTR pwzType); 5881 5882 HRESULT (STDMETHODCALLTYPE *CreateBinding)( 5883 IInternetSession *This, 5884 LPBC pBC, 5885 LPCWSTR szUrl, 5886 IUnknown *pUnkOuter, 5887 IUnknown **ppUnk, 5888 IInternetProtocol **ppOInetProt, 5889 DWORD dwOption); 5890 5891 HRESULT (STDMETHODCALLTYPE *SetSessionOption)( 5892 IInternetSession *This, 5893 DWORD dwOption, 5894 LPVOID pBuffer, 5895 DWORD dwBufferLength, 5896 DWORD dwReserved); 5897 5898 HRESULT (STDMETHODCALLTYPE *GetSessionOption)( 5899 IInternetSession *This, 5900 DWORD dwOption, 5901 LPVOID pBuffer, 5902 DWORD *pdwBufferLength, 5903 DWORD dwReserved); 5904 5905 END_INTERFACE 5906 } IInternetSessionVtbl; 5907 5908 interface IInternetSession { 5909 CONST_VTBL IInternetSessionVtbl* lpVtbl; 5910 }; 5911 5912 #ifdef COBJMACROS 5913 #ifndef WIDL_C_INLINE_WRAPPERS 5914 /*** IUnknown methods ***/ 5915 #define IInternetSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5916 #define IInternetSession_AddRef(This) (This)->lpVtbl->AddRef(This) 5917 #define IInternetSession_Release(This) (This)->lpVtbl->Release(This) 5918 /*** IInternetSession methods ***/ 5919 #define IInternetSession_RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved) (This)->lpVtbl->RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved) 5920 #define IInternetSession_UnregisterNameSpace(This,pCF,pszProtocol) (This)->lpVtbl->UnregisterNameSpace(This,pCF,pszProtocol) 5921 #define IInternetSession_RegisterMimeFilter(This,pCF,rclsid,pwzType) (This)->lpVtbl->RegisterMimeFilter(This,pCF,rclsid,pwzType) 5922 #define IInternetSession_UnregisterMimeFilter(This,pCF,pwzType) (This)->lpVtbl->UnregisterMimeFilter(This,pCF,pwzType) 5923 #define IInternetSession_CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption) (This)->lpVtbl->CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption) 5924 #define IInternetSession_SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved) (This)->lpVtbl->SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved) 5925 #define IInternetSession_GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved) (This)->lpVtbl->GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved) 5926 #else 5927 /*** IUnknown methods ***/ 5928 static FORCEINLINE HRESULT IInternetSession_QueryInterface(IInternetSession* This,REFIID riid,void **ppvObject) { 5929 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5930 } 5931 static FORCEINLINE ULONG IInternetSession_AddRef(IInternetSession* This) { 5932 return This->lpVtbl->AddRef(This); 5933 } 5934 static FORCEINLINE ULONG IInternetSession_Release(IInternetSession* This) { 5935 return This->lpVtbl->Release(This); 5936 } 5937 /*** IInternetSession methods ***/ 5938 static FORCEINLINE HRESULT IInternetSession_RegisterNameSpace(IInternetSession* This,IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzProtocol,ULONG cPatterns,const LPCWSTR *ppwzPatterns,DWORD dwReserved) { 5939 return This->lpVtbl->RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved); 5940 } 5941 static FORCEINLINE HRESULT IInternetSession_UnregisterNameSpace(IInternetSession* This,IClassFactory *pCF,LPCWSTR pszProtocol) { 5942 return This->lpVtbl->UnregisterNameSpace(This,pCF,pszProtocol); 5943 } 5944 static FORCEINLINE HRESULT IInternetSession_RegisterMimeFilter(IInternetSession* This,IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzType) { 5945 return This->lpVtbl->RegisterMimeFilter(This,pCF,rclsid,pwzType); 5946 } 5947 static FORCEINLINE HRESULT IInternetSession_UnregisterMimeFilter(IInternetSession* This,IClassFactory *pCF,LPCWSTR pwzType) { 5948 return This->lpVtbl->UnregisterMimeFilter(This,pCF,pwzType); 5949 } 5950 static FORCEINLINE HRESULT IInternetSession_CreateBinding(IInternetSession* This,LPBC pBC,LPCWSTR szUrl,IUnknown *pUnkOuter,IUnknown **ppUnk,IInternetProtocol **ppOInetProt,DWORD dwOption) { 5951 return This->lpVtbl->CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption); 5952 } 5953 static FORCEINLINE HRESULT IInternetSession_SetSessionOption(IInternetSession* This,DWORD dwOption,LPVOID pBuffer,DWORD dwBufferLength,DWORD dwReserved) { 5954 return This->lpVtbl->SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved); 5955 } 5956 static FORCEINLINE HRESULT IInternetSession_GetSessionOption(IInternetSession* This,DWORD dwOption,LPVOID pBuffer,DWORD *pdwBufferLength,DWORD dwReserved) { 5957 return This->lpVtbl->GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved); 5958 } 5959 #endif 5960 #endif 5961 5962 #endif 5963 5964 5965 #endif /* __IInternetSession_INTERFACE_DEFINED__ */ 5966 5967 #endif 5968 5969 #ifndef _LPIINTERNETTHREADSWITCH_DEFINED 5970 #define _LPIINTERNETTHREADSWITCH_DEFINED 5971 5972 /***************************************************************************** 5973 * IInternetThreadSwitch interface 5974 */ 5975 #ifndef __IInternetThreadSwitch_INTERFACE_DEFINED__ 5976 #define __IInternetThreadSwitch_INTERFACE_DEFINED__ 5977 5978 typedef IInternetThreadSwitch *LPIINTERNETTHREADSWITCH; 5979 5980 DEFINE_GUID(IID_IInternetThreadSwitch, 0x79eac9e8, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 5981 #if defined(__cplusplus) && !defined(CINTERFACE) 5982 MIDL_INTERFACE("79eac9e8-baf9-11ce-8c82-00aa004ba90b") 5983 IInternetThreadSwitch : public IUnknown 5984 { 5985 virtual HRESULT STDMETHODCALLTYPE Prepare( 5986 ) = 0; 5987 5988 virtual HRESULT STDMETHODCALLTYPE Continue( 5989 ) = 0; 5990 5991 }; 5992 #ifdef __CRT_UUID_DECL 5993 __CRT_UUID_DECL(IInternetThreadSwitch, 0x79eac9e8, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 5994 #endif 5995 #else 5996 typedef struct IInternetThreadSwitchVtbl { 5997 BEGIN_INTERFACE 5998 5999 /*** IUnknown methods ***/ 6000 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6001 IInternetThreadSwitch *This, 6002 REFIID riid, 6003 void **ppvObject); 6004 6005 ULONG (STDMETHODCALLTYPE *AddRef)( 6006 IInternetThreadSwitch *This); 6007 6008 ULONG (STDMETHODCALLTYPE *Release)( 6009 IInternetThreadSwitch *This); 6010 6011 /*** IInternetThreadSwitch methods ***/ 6012 HRESULT (STDMETHODCALLTYPE *Prepare)( 6013 IInternetThreadSwitch *This); 6014 6015 HRESULT (STDMETHODCALLTYPE *Continue)( 6016 IInternetThreadSwitch *This); 6017 6018 END_INTERFACE 6019 } IInternetThreadSwitchVtbl; 6020 6021 interface IInternetThreadSwitch { 6022 CONST_VTBL IInternetThreadSwitchVtbl* lpVtbl; 6023 }; 6024 6025 #ifdef COBJMACROS 6026 #ifndef WIDL_C_INLINE_WRAPPERS 6027 /*** IUnknown methods ***/ 6028 #define IInternetThreadSwitch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6029 #define IInternetThreadSwitch_AddRef(This) (This)->lpVtbl->AddRef(This) 6030 #define IInternetThreadSwitch_Release(This) (This)->lpVtbl->Release(This) 6031 /*** IInternetThreadSwitch methods ***/ 6032 #define IInternetThreadSwitch_Prepare(This) (This)->lpVtbl->Prepare(This) 6033 #define IInternetThreadSwitch_Continue(This) (This)->lpVtbl->Continue(This) 6034 #else 6035 /*** IUnknown methods ***/ 6036 static FORCEINLINE HRESULT IInternetThreadSwitch_QueryInterface(IInternetThreadSwitch* This,REFIID riid,void **ppvObject) { 6037 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6038 } 6039 static FORCEINLINE ULONG IInternetThreadSwitch_AddRef(IInternetThreadSwitch* This) { 6040 return This->lpVtbl->AddRef(This); 6041 } 6042 static FORCEINLINE ULONG IInternetThreadSwitch_Release(IInternetThreadSwitch* This) { 6043 return This->lpVtbl->Release(This); 6044 } 6045 /*** IInternetThreadSwitch methods ***/ 6046 static FORCEINLINE HRESULT IInternetThreadSwitch_Prepare(IInternetThreadSwitch* This) { 6047 return This->lpVtbl->Prepare(This); 6048 } 6049 static FORCEINLINE HRESULT IInternetThreadSwitch_Continue(IInternetThreadSwitch* This) { 6050 return This->lpVtbl->Continue(This); 6051 } 6052 #endif 6053 #endif 6054 6055 #endif 6056 6057 6058 #endif /* __IInternetThreadSwitch_INTERFACE_DEFINED__ */ 6059 6060 #endif 6061 6062 #ifndef _LPIINTERNETPRIORITY_DEFINED 6063 #define _LPIINTERNETPRIORITY_DEFINED 6064 6065 /***************************************************************************** 6066 * IInternetPriority interface 6067 */ 6068 #ifndef __IInternetPriority_INTERFACE_DEFINED__ 6069 #define __IInternetPriority_INTERFACE_DEFINED__ 6070 6071 typedef IInternetPriority *LPIINTERNETPRIORITY; 6072 6073 DEFINE_GUID(IID_IInternetPriority, 0x79eac9eb, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 6074 #if defined(__cplusplus) && !defined(CINTERFACE) 6075 MIDL_INTERFACE("79eac9eb-baf9-11ce-8c82-00aa004ba90b") 6076 IInternetPriority : public IUnknown 6077 { 6078 virtual HRESULT STDMETHODCALLTYPE SetPriority( 6079 LONG nPriority) = 0; 6080 6081 virtual HRESULT STDMETHODCALLTYPE GetPriority( 6082 LONG *pnPriority) = 0; 6083 6084 }; 6085 #ifdef __CRT_UUID_DECL 6086 __CRT_UUID_DECL(IInternetPriority, 0x79eac9eb, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 6087 #endif 6088 #else 6089 typedef struct IInternetPriorityVtbl { 6090 BEGIN_INTERFACE 6091 6092 /*** IUnknown methods ***/ 6093 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6094 IInternetPriority *This, 6095 REFIID riid, 6096 void **ppvObject); 6097 6098 ULONG (STDMETHODCALLTYPE *AddRef)( 6099 IInternetPriority *This); 6100 6101 ULONG (STDMETHODCALLTYPE *Release)( 6102 IInternetPriority *This); 6103 6104 /*** IInternetPriority methods ***/ 6105 HRESULT (STDMETHODCALLTYPE *SetPriority)( 6106 IInternetPriority *This, 6107 LONG nPriority); 6108 6109 HRESULT (STDMETHODCALLTYPE *GetPriority)( 6110 IInternetPriority *This, 6111 LONG *pnPriority); 6112 6113 END_INTERFACE 6114 } IInternetPriorityVtbl; 6115 6116 interface IInternetPriority { 6117 CONST_VTBL IInternetPriorityVtbl* lpVtbl; 6118 }; 6119 6120 #ifdef COBJMACROS 6121 #ifndef WIDL_C_INLINE_WRAPPERS 6122 /*** IUnknown methods ***/ 6123 #define IInternetPriority_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6124 #define IInternetPriority_AddRef(This) (This)->lpVtbl->AddRef(This) 6125 #define IInternetPriority_Release(This) (This)->lpVtbl->Release(This) 6126 /*** IInternetPriority methods ***/ 6127 #define IInternetPriority_SetPriority(This,nPriority) (This)->lpVtbl->SetPriority(This,nPriority) 6128 #define IInternetPriority_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority) 6129 #else 6130 /*** IUnknown methods ***/ 6131 static FORCEINLINE HRESULT IInternetPriority_QueryInterface(IInternetPriority* This,REFIID riid,void **ppvObject) { 6132 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6133 } 6134 static FORCEINLINE ULONG IInternetPriority_AddRef(IInternetPriority* This) { 6135 return This->lpVtbl->AddRef(This); 6136 } 6137 static FORCEINLINE ULONG IInternetPriority_Release(IInternetPriority* This) { 6138 return This->lpVtbl->Release(This); 6139 } 6140 /*** IInternetPriority methods ***/ 6141 static FORCEINLINE HRESULT IInternetPriority_SetPriority(IInternetPriority* This,LONG nPriority) { 6142 return This->lpVtbl->SetPriority(This,nPriority); 6143 } 6144 static FORCEINLINE HRESULT IInternetPriority_GetPriority(IInternetPriority* This,LONG *pnPriority) { 6145 return This->lpVtbl->GetPriority(This,pnPriority); 6146 } 6147 #endif 6148 #endif 6149 6150 #endif 6151 6152 6153 #endif /* __IInternetPriority_INTERFACE_DEFINED__ */ 6154 6155 #endif 6156 6157 #ifndef _LPIINTERNETPROTOCOLINFO_DEFINED 6158 #define _LPIINTERNETPROTOCOLINFO_DEFINED 6159 6160 /***************************************************************************** 6161 * IInternetProtocolInfo interface 6162 */ 6163 #ifndef __IInternetProtocolInfo_INTERFACE_DEFINED__ 6164 #define __IInternetProtocolInfo_INTERFACE_DEFINED__ 6165 6166 typedef IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO; 6167 6168 typedef enum _tagPARSEACTION { 6169 PARSE_CANONICALIZE = 1, 6170 PARSE_FRIENDLY = 2, 6171 PARSE_SECURITY_URL = 3, 6172 PARSE_ROOTDOCUMENT = 4, 6173 PARSE_DOCUMENT = 5, 6174 PARSE_ANCHOR = 6, 6175 PARSE_ENCODE_IS_UNESCAPE = 7, 6176 PARSE_DECODE_IS_ESCAPE = 8, 6177 PARSE_PATH_FROM_URL = 9, 6178 PARSE_URL_FROM_PATH = 10, 6179 PARSE_MIME = 11, 6180 PARSE_SERVER = 12, 6181 PARSE_SCHEMA = 13, 6182 PARSE_SITE = 14, 6183 PARSE_DOMAIN = 15, 6184 PARSE_LOCATION = 16, 6185 PARSE_SECURITY_DOMAIN = 17, 6186 PARSE_ESCAPE = 18, 6187 PARSE_UNESCAPE = 19 6188 } PARSEACTION; 6189 6190 typedef enum _tagPSUACTION { 6191 PSU_DEFAULT = 1, 6192 PSU_SECURITY_URL_ONLY = 2 6193 } PSUACTION; 6194 6195 typedef enum _tagQUERYOPTION { 6196 QUERY_EXPIRATION_DATE = 1, 6197 QUERY_TIME_OF_LAST_CHANGE = 2, 6198 QUERY_CONTENT_ENCODING = 3, 6199 QUERY_CONTENT_TYPE = 4, 6200 QUERY_REFRESH = 5, 6201 QUERY_RECOMBINE = 6, 6202 QUERY_CAN_NAVIGATE = 7, 6203 QUERY_USES_NETWORK = 8, 6204 QUERY_IS_CACHED = 9, 6205 QUERY_IS_INSTALLEDENTRY = 10, 6206 QUERY_IS_CACHED_OR_MAPPED = 11, 6207 QUERY_USES_CACHE = 12, 6208 QUERY_IS_SECURE = 13, 6209 QUERY_IS_SAFE = 14, 6210 QUERY_USES_HISTORYFOLDER = 15, 6211 QUERY_IS_CACHED_AND_USABLE_OFFLINE = 16 6212 } QUERYOPTION; 6213 6214 DEFINE_GUID(IID_IInternetProtocolInfo, 0x79eac9ec, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 6215 #if defined(__cplusplus) && !defined(CINTERFACE) 6216 MIDL_INTERFACE("79eac9ec-baf9-11ce-8c82-00aa004ba90b") 6217 IInternetProtocolInfo : public IUnknown 6218 { 6219 virtual HRESULT STDMETHODCALLTYPE ParseUrl( 6220 LPCWSTR pwzUrl, 6221 PARSEACTION ParseAction, 6222 DWORD dwParseFlags, 6223 LPWSTR pwzResult, 6224 DWORD cchResult, 6225 DWORD *pcchResult, 6226 DWORD dwReserved) = 0; 6227 6228 virtual HRESULT STDMETHODCALLTYPE CombineUrl( 6229 LPCWSTR pwzBaseUrl, 6230 LPCWSTR pwzRelativeUrl, 6231 DWORD dwCombineFlags, 6232 LPWSTR pwzResult, 6233 DWORD cchResult, 6234 DWORD *pcchResult, 6235 DWORD dwReserved) = 0; 6236 6237 virtual HRESULT STDMETHODCALLTYPE CompareUrl( 6238 LPCWSTR pwzUrl1, 6239 LPCWSTR pwzUrl2, 6240 DWORD dwCompareFlags) = 0; 6241 6242 virtual HRESULT STDMETHODCALLTYPE QueryInfo( 6243 LPCWSTR pwzUrl, 6244 QUERYOPTION OueryOption, 6245 DWORD dwQueryFlags, 6246 LPVOID pBuffer, 6247 DWORD cbBuffer, 6248 DWORD *pcbBuf, 6249 DWORD dwReserved) = 0; 6250 6251 }; 6252 #ifdef __CRT_UUID_DECL 6253 __CRT_UUID_DECL(IInternetProtocolInfo, 0x79eac9ec, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 6254 #endif 6255 #else 6256 typedef struct IInternetProtocolInfoVtbl { 6257 BEGIN_INTERFACE 6258 6259 /*** IUnknown methods ***/ 6260 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6261 IInternetProtocolInfo *This, 6262 REFIID riid, 6263 void **ppvObject); 6264 6265 ULONG (STDMETHODCALLTYPE *AddRef)( 6266 IInternetProtocolInfo *This); 6267 6268 ULONG (STDMETHODCALLTYPE *Release)( 6269 IInternetProtocolInfo *This); 6270 6271 /*** IInternetProtocolInfo methods ***/ 6272 HRESULT (STDMETHODCALLTYPE *ParseUrl)( 6273 IInternetProtocolInfo *This, 6274 LPCWSTR pwzUrl, 6275 PARSEACTION ParseAction, 6276 DWORD dwParseFlags, 6277 LPWSTR pwzResult, 6278 DWORD cchResult, 6279 DWORD *pcchResult, 6280 DWORD dwReserved); 6281 6282 HRESULT (STDMETHODCALLTYPE *CombineUrl)( 6283 IInternetProtocolInfo *This, 6284 LPCWSTR pwzBaseUrl, 6285 LPCWSTR pwzRelativeUrl, 6286 DWORD dwCombineFlags, 6287 LPWSTR pwzResult, 6288 DWORD cchResult, 6289 DWORD *pcchResult, 6290 DWORD dwReserved); 6291 6292 HRESULT (STDMETHODCALLTYPE *CompareUrl)( 6293 IInternetProtocolInfo *This, 6294 LPCWSTR pwzUrl1, 6295 LPCWSTR pwzUrl2, 6296 DWORD dwCompareFlags); 6297 6298 HRESULT (STDMETHODCALLTYPE *QueryInfo)( 6299 IInternetProtocolInfo *This, 6300 LPCWSTR pwzUrl, 6301 QUERYOPTION OueryOption, 6302 DWORD dwQueryFlags, 6303 LPVOID pBuffer, 6304 DWORD cbBuffer, 6305 DWORD *pcbBuf, 6306 DWORD dwReserved); 6307 6308 END_INTERFACE 6309 } IInternetProtocolInfoVtbl; 6310 6311 interface IInternetProtocolInfo { 6312 CONST_VTBL IInternetProtocolInfoVtbl* lpVtbl; 6313 }; 6314 6315 #ifdef COBJMACROS 6316 #ifndef WIDL_C_INLINE_WRAPPERS 6317 /*** IUnknown methods ***/ 6318 #define IInternetProtocolInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6319 #define IInternetProtocolInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 6320 #define IInternetProtocolInfo_Release(This) (This)->lpVtbl->Release(This) 6321 /*** IInternetProtocolInfo methods ***/ 6322 #define IInternetProtocolInfo_ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved) (This)->lpVtbl->ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved) 6323 #define IInternetProtocolInfo_CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved) (This)->lpVtbl->CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved) 6324 #define IInternetProtocolInfo_CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags) (This)->lpVtbl->CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags) 6325 #define IInternetProtocolInfo_QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved) (This)->lpVtbl->QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved) 6326 #else 6327 /*** IUnknown methods ***/ 6328 static FORCEINLINE HRESULT IInternetProtocolInfo_QueryInterface(IInternetProtocolInfo* This,REFIID riid,void **ppvObject) { 6329 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6330 } 6331 static FORCEINLINE ULONG IInternetProtocolInfo_AddRef(IInternetProtocolInfo* This) { 6332 return This->lpVtbl->AddRef(This); 6333 } 6334 static FORCEINLINE ULONG IInternetProtocolInfo_Release(IInternetProtocolInfo* This) { 6335 return This->lpVtbl->Release(This); 6336 } 6337 /*** IInternetProtocolInfo methods ***/ 6338 static FORCEINLINE HRESULT IInternetProtocolInfo_ParseUrl(IInternetProtocolInfo* This,LPCWSTR pwzUrl,PARSEACTION ParseAction,DWORD dwParseFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved) { 6339 return This->lpVtbl->ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved); 6340 } 6341 static FORCEINLINE HRESULT IInternetProtocolInfo_CombineUrl(IInternetProtocolInfo* This,LPCWSTR pwzBaseUrl,LPCWSTR pwzRelativeUrl,DWORD dwCombineFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved) { 6342 return This->lpVtbl->CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved); 6343 } 6344 static FORCEINLINE HRESULT IInternetProtocolInfo_CompareUrl(IInternetProtocolInfo* This,LPCWSTR pwzUrl1,LPCWSTR pwzUrl2,DWORD dwCompareFlags) { 6345 return This->lpVtbl->CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags); 6346 } 6347 static FORCEINLINE HRESULT IInternetProtocolInfo_QueryInfo(IInternetProtocolInfo* This,LPCWSTR pwzUrl,QUERYOPTION OueryOption,DWORD dwQueryFlags,LPVOID pBuffer,DWORD cbBuffer,DWORD *pcbBuf,DWORD dwReserved) { 6348 return This->lpVtbl->QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved); 6349 } 6350 #endif 6351 #endif 6352 6353 #endif 6354 6355 6356 #endif /* __IInternetProtocolInfo_INTERFACE_DEFINED__ */ 6357 6358 6359 #ifndef URLMON_STRICT 6360 #define PARSE_ENCODE PARSE_ENCODE_IS_UNESCAPE 6361 #define PARSE_DECODE PARSE_DECODE_IS_ESCAPE 6362 #endif 6363 #endif 6364 6365 #define IOInet IInternet 6366 #define IOInetBindInfo IInternetBindInfo 6367 #define IOInetBindInfoEx IInternetBindInfoEx 6368 #define IOInetProtocolRoot IInternetProtocolRoot 6369 #define IOInetProtocol IInternetProtocol 6370 6371 #if (_WIN32_IE >= _WIN32_IE_IE70) 6372 #define IOInetProtocolEx IInternetProtocolEx 6373 #endif 6374 #define IOInetProtocolSink IInternetProtocolSink 6375 #define IOInetProtocolInfo IInternetProtocolInfo 6376 #define IOInetSession IInternetSession 6377 #define IOInetPriority IInternetPriority 6378 #define IOInetThreadSwitch IInternetThreadSwitch 6379 #define IOInetProtocolSinkStackable IInternetProtocolSinkStackable 6380 6381 #define LPOINET LPIINTERNET 6382 #define LPOINETPROTOCOLINFO LPIINTERNETPROTOCOLINFO 6383 #define LPOINETBINDINFO LPIINTERNETBINDINFO 6384 #define LPOINETPROTOCOLROOT LPIINTERNETPROTOCOLROOT 6385 #define LPOINETPROTOCOL LPIINTERNETPROTOCOL 6386 6387 #if (_WIN32_IE >= _WIN32_IE_IE70) 6388 #define LPOINETPROTOCOLEX LPIINTERNETPROTOCOLEX 6389 #endif 6390 #define LPOINETPROTOCOLSINK LPIINTERNETPROTOCOLSINK 6391 #define LPOINETSESSION LPIINTERNETSESSION 6392 #define LPOINETTHREADSWITCH LPIINTERNETTHREADSWITCH 6393 #define LPOINETPRIORITY LPIINTERNETPRIORITY 6394 #define LPOINETPROTOCOLINFO LPIINTERNETPROTOCOLINFO 6395 #define LPOINETPROTOCOLSINKSTACKABLE LPIINTERNETPROTOCOLSINKSTACKABLE 6396 6397 #define IID_IOInet IID_IInternet 6398 #define IID_IOInetBindInfo IID_IInternetBindInfo 6399 #define IID_IOInetBindInfoEx IID_IInternetBindInfoEx 6400 #define IID_IOInetProtocolRoot IID_IInternetProtocolRoot 6401 #define IID_IOInetProtocol IID_IInternetProtocol 6402 6403 #if (_WIN32_IE >= _WIN32_IE_IE70) 6404 #define IID_IOInetProtocolEx IID_IInternetProtocolEx 6405 #endif 6406 #define IID_IOInetProtocolSink IID_IInternetProtocolSink 6407 #define IID_IOInetProtocolInfo IID_IInternetProtocolInfo 6408 #define IID_IOInetSession IID_IInternetSession 6409 #define IID_IOInetPriority IID_IInternetPriority 6410 #define IID_IOInetThreadSwitch IID_IInternetThreadSwitch 6411 #define IID_IOInetProtocolSinkStackable IID_IInternetProtocolSinkStackable 6412 6413 STDAPI CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved); 6414 #if (_WIN32_IE >= _WIN32_IE_IE70) 6415 STDAPI CoInternetParseIUri(IUri *pIUri, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD_PTR dwReserved); 6416 #endif 6417 STDAPI CoInternetCombineUrl(LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved); 6418 #if (_WIN32_IE >= _WIN32_IE_IE70) 6419 STDAPI CoInternetCombineUrlEx(IUri *pBaseUri, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved); 6420 STDAPI CoInternetCombineIUri (IUri *pBaseUri, IUri *pRelativeUri, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved); 6421 #endif 6422 STDAPI CoInternetCompareUrl(LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwFlags); 6423 STDAPI CoInternetGetProtocolFlags(LPCWSTR pwzUrl, DWORD *pdwFlags, DWORD dwReserved); 6424 STDAPI CoInternetQueryInfo(LPCWSTR pwzUrl, QUERYOPTION QueryOptions, DWORD dwQueryFlags, LPVOID pvBuffer, DWORD cbBuffer, DWORD *pcbBuffer, DWORD dwReserved); 6425 STDAPI CoInternetGetSession(DWORD dwSessionMode, IInternetSession **ppIInternetSession, DWORD dwReserved); 6426 STDAPI CoInternetGetSecurityUrl(LPCWSTR pwszUrl, LPWSTR *ppwszSecUrl, PSUACTION psuAction, DWORD dwReserved); 6427 STDAPI AsyncInstallDistributionUnit(LPCWSTR szDistUnit, LPCWSTR szTYPE, LPCWSTR szExt, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szURL,IBindCtx *pbc, LPVOID pvReserved,DWORD flags); 6428 #if (_WIN32_IE >= _WIN32_IE_IE70) 6429 STDAPI CoInternetGetSecurityUrlEx(IUri *pUri, IUri **ppSecUri, PSUACTION psuAction, DWORD_PTR dwReserved); 6430 #endif 6431 6432 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 6433 #ifndef _INTERNETFEATURELIST_DEFINED 6434 #define _INTERNETFEATURELIST_DEFINED 6435 6436 typedef enum _tagINTERNETFEATURELIST { 6437 FEATURE_OBJECT_CACHING = 0, 6438 FEATURE_ZONE_ELEVATION = 1, 6439 FEATURE_MIME_HANDLING = 2, 6440 FEATURE_MIME_SNIFFING = 3, 6441 FEATURE_WINDOW_RESTRICTIONS = 4, 6442 FEATURE_WEBOC_POPUPMANAGEMENT = 5, 6443 FEATURE_BEHAVIORS = 6, 6444 FEATURE_DISABLE_MK_PROTOCOL = 7, 6445 FEATURE_LOCALMACHINE_LOCKDOWN = 8, 6446 FEATURE_SECURITYBAND = 9, 6447 FEATURE_RESTRICT_ACTIVEXINSTALL = 10, 6448 FEATURE_VALIDATE_NAVIGATE_URL = 11, 6449 FEATURE_RESTRICT_FILEDOWNLOAD = 12, 6450 FEATURE_ADDON_MANAGEMENT = 13, 6451 FEATURE_PROTOCOL_LOCKDOWN = 14, 6452 FEATURE_HTTP_USERNAME_PASSWORD_DISABLE = 15, 6453 FEATURE_SAFE_BINDTOOBJECT = 16, 6454 FEATURE_UNC_SAVEDFILECHECK = 17, 6455 FEATURE_GET_URL_DOM_FILEPATH_UNENCODED = 18, 6456 FEATURE_TABBED_BROWSING = 19, 6457 FEATURE_SSLUX = 20, 6458 FEATURE_DISABLE_NAVIGATION_SOUNDS = 21, 6459 FEATURE_DISABLE_LEGACY_COMPRESSION = 22, 6460 FEATURE_FORCE_ADDR_AND_STATUS = 23, 6461 FEATURE_XMLHTTP = 24, 6462 FEATURE_DISABLE_TELNET_PROTOCOL = 25, 6463 FEATURE_FEEDS = 26, 6464 FEATURE_BLOCK_INPUT_PROMPTS = 27, 6465 FEATURE_ENTRY_COUNT = 28 6466 } INTERNETFEATURELIST; 6467 6468 #define SET_FEATURE_ON_THREAD 0x1 6469 #define SET_FEATURE_ON_PROCESS 0x2 6470 #define SET_FEATURE_IN_REGISTRY 0x4 6471 #define SET_FEATURE_ON_THREAD_LOCALMACHINE 0x8 6472 #define SET_FEATURE_ON_THREAD_INTRANET 0x10 6473 #define SET_FEATURE_ON_THREAD_TRUSTED 0x20 6474 #define SET_FEATURE_ON_THREAD_INTERNET 0x40 6475 #define SET_FEATURE_ON_THREAD_RESTRICTED 0x80 6476 6477 #define GET_FEATURE_FROM_THREAD 0x1 6478 #define GET_FEATURE_FROM_PROCESS 0x2 6479 #define GET_FEATURE_FROM_REGISTRY 0x4 6480 #define GET_FEATURE_FROM_THREAD_LOCALMACHINE 0x8 6481 #define GET_FEATURE_FROM_THREAD_INTRANET 0x10 6482 #define GET_FEATURE_FROM_THREAD_TRUSTED 0x20 6483 #define GET_FEATURE_FROM_THREAD_INTERNET 0x40 6484 #define GET_FEATURE_FROM_THREAD_RESTRICTED 0x80 6485 #endif 6486 6487 STDAPI CoInternetSetFeatureEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, WINBOOL fEnable); 6488 STDAPI CoInternetIsFeatureEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags); 6489 STDAPI CoInternetIsFeatureEnabledForUrl(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, LPCWSTR szURL, IInternetSecurityManager *pSecMgr); 6490 STDAPI CoInternetIsFeatureEnabledForIUri(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, IUri *pIUri, IInternetSecurityManagerEx2 *pSecMgr); 6491 STDAPI CoInternetIsFeatureZoneElevationEnabled(LPCWSTR szFromURL, LPCWSTR szToURL, IInternetSecurityManager *pSecMgr, DWORD dwFlags); 6492 #endif 6493 STDAPI CopyStgMedium(const STGMEDIUM *pcstgmedSrc, STGMEDIUM *pstgmedDest); 6494 STDAPI CopyBindInfo(const BINDINFO *pcbiSrc, BINDINFO *pbiDest); 6495 STDAPI_(void) ReleaseBindInfo(BINDINFO *pbindinfo); 6496 6497 #define INET_E_USE_DEFAULT_PROTOCOLHANDLER _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0011)) 6498 #define INET_E_USE_DEFAULT_SETTING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0012)) 6499 #define INET_E_DEFAULT_ACTION INET_E_USE_DEFAULT_PROTOCOLHANDLER 6500 #define INET_E_QUERYOPTION_UNKNOWN _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0013)) 6501 #define INET_E_REDIRECTING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0014)) 6502 6503 #define OInetParseUrl CoInternetParseUrl 6504 #define OInetCombineUrl CoInternetCombineUrl 6505 #if (_WIN32_IE >= _WIN32_IE_IE70) 6506 #define OInetCombineUrlEx CoInternetCombineUrlEx 6507 #define OInetCombineIUri CoInternetCombineIUri 6508 #endif 6509 #define OInetCompareUrl CoInternetCompareUrl 6510 #define OInetQueryInfo CoInternetQueryInfo 6511 #define OInetGetSession CoInternetGetSession 6512 #endif 6513 6514 #define PROTOCOLFLAG_NO_PICS_CHECK 0x1 6515 6516 STDAPI CoInternetCreateSecurityManager(IServiceProvider *pSP, IInternetSecurityManager **ppSM, DWORD dwReserved); 6517 STDAPI CoInternetCreateZoneManager(IServiceProvider *pSP, IInternetZoneManager **ppZM, DWORD dwReserved); 6518 6519 EXTERN_C const IID CLSID_InternetSecurityManager; 6520 EXTERN_C const IID CLSID_InternetZoneManager; 6521 6522 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 6523 EXTERN_C const IID CLSID_PersistentZoneIdentifier; 6524 #endif 6525 6526 #define SID_SInternetSecurityManager IID_IInternetSecurityManager 6527 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 6528 #define SID_SInternetSecurityManagerEx IID_IInternetSecurityManagerEx 6529 #endif 6530 #if (_WIN32_IE >= _WIN32_IE_IE70) 6531 #define SID_SInternetSecurityManagerEx2 IID_IInternetSecurityManagerEx2 6532 #endif 6533 #define SID_SInternetHostSecurityManager IID_IInternetHostSecurityManager 6534 6535 #ifndef _LPINTERNETSECURITYMGRSITE_DEFINED 6536 #define _LPINTERNETSECURITYMGRSITE_DEFINED 6537 6538 /***************************************************************************** 6539 * IInternetSecurityMgrSite interface 6540 */ 6541 #ifndef __IInternetSecurityMgrSite_INTERFACE_DEFINED__ 6542 #define __IInternetSecurityMgrSite_INTERFACE_DEFINED__ 6543 6544 DEFINE_GUID(IID_IInternetSecurityMgrSite, 0x79eac9ed, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 6545 #if defined(__cplusplus) && !defined(CINTERFACE) 6546 MIDL_INTERFACE("79eac9ed-baf9-11ce-8c82-00aa004ba90b") 6547 IInternetSecurityMgrSite : public IUnknown 6548 { 6549 virtual HRESULT STDMETHODCALLTYPE GetWindow( 6550 HWND *phwnd) = 0; 6551 6552 virtual HRESULT STDMETHODCALLTYPE EnableModeless( 6553 WINBOOL fEnable) = 0; 6554 6555 }; 6556 #ifdef __CRT_UUID_DECL 6557 __CRT_UUID_DECL(IInternetSecurityMgrSite, 0x79eac9ed, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 6558 #endif 6559 #else 6560 typedef struct IInternetSecurityMgrSiteVtbl { 6561 BEGIN_INTERFACE 6562 6563 /*** IUnknown methods ***/ 6564 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6565 IInternetSecurityMgrSite *This, 6566 REFIID riid, 6567 void **ppvObject); 6568 6569 ULONG (STDMETHODCALLTYPE *AddRef)( 6570 IInternetSecurityMgrSite *This); 6571 6572 ULONG (STDMETHODCALLTYPE *Release)( 6573 IInternetSecurityMgrSite *This); 6574 6575 /*** IInternetSecurityMgrSite methods ***/ 6576 HRESULT (STDMETHODCALLTYPE *GetWindow)( 6577 IInternetSecurityMgrSite *This, 6578 HWND *phwnd); 6579 6580 HRESULT (STDMETHODCALLTYPE *EnableModeless)( 6581 IInternetSecurityMgrSite *This, 6582 WINBOOL fEnable); 6583 6584 END_INTERFACE 6585 } IInternetSecurityMgrSiteVtbl; 6586 6587 interface IInternetSecurityMgrSite { 6588 CONST_VTBL IInternetSecurityMgrSiteVtbl* lpVtbl; 6589 }; 6590 6591 #ifdef COBJMACROS 6592 #ifndef WIDL_C_INLINE_WRAPPERS 6593 /*** IUnknown methods ***/ 6594 #define IInternetSecurityMgrSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6595 #define IInternetSecurityMgrSite_AddRef(This) (This)->lpVtbl->AddRef(This) 6596 #define IInternetSecurityMgrSite_Release(This) (This)->lpVtbl->Release(This) 6597 /*** IInternetSecurityMgrSite methods ***/ 6598 #define IInternetSecurityMgrSite_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) 6599 #define IInternetSecurityMgrSite_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable) 6600 #else 6601 /*** IUnknown methods ***/ 6602 static FORCEINLINE HRESULT IInternetSecurityMgrSite_QueryInterface(IInternetSecurityMgrSite* This,REFIID riid,void **ppvObject) { 6603 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6604 } 6605 static FORCEINLINE ULONG IInternetSecurityMgrSite_AddRef(IInternetSecurityMgrSite* This) { 6606 return This->lpVtbl->AddRef(This); 6607 } 6608 static FORCEINLINE ULONG IInternetSecurityMgrSite_Release(IInternetSecurityMgrSite* This) { 6609 return This->lpVtbl->Release(This); 6610 } 6611 /*** IInternetSecurityMgrSite methods ***/ 6612 static FORCEINLINE HRESULT IInternetSecurityMgrSite_GetWindow(IInternetSecurityMgrSite* This,HWND *phwnd) { 6613 return This->lpVtbl->GetWindow(This,phwnd); 6614 } 6615 static FORCEINLINE HRESULT IInternetSecurityMgrSite_EnableModeless(IInternetSecurityMgrSite* This,WINBOOL fEnable) { 6616 return This->lpVtbl->EnableModeless(This,fEnable); 6617 } 6618 #endif 6619 #endif 6620 6621 #endif 6622 6623 6624 #endif /* __IInternetSecurityMgrSite_INTERFACE_DEFINED__ */ 6625 6626 #endif 6627 6628 #ifndef _LPINTERNETSECURITYMANANGER_DEFINED 6629 #define _LPINTERNETSECURITYMANANGER_DEFINED 6630 6631 /***************************************************************************** 6632 * IInternetSecurityManager interface 6633 */ 6634 #ifndef __IInternetSecurityManager_INTERFACE_DEFINED__ 6635 #define __IInternetSecurityManager_INTERFACE_DEFINED__ 6636 6637 6638 #define MUTZ_NOSAVEDFILECHECK 0x1 6639 #define MUTZ_ISFILE 0x2 6640 #define MUTZ_ACCEPT_WILDCARD_SCHEME 0x80 6641 #define MUTZ_ENFORCERESTRICTED 0x100 6642 #define MUTZ_RESERVED 0x200 6643 #define MUTZ_REQUIRESAVEDFILECHECK 0x400 6644 #define MUTZ_DONT_UNESCAPE 0x800 6645 #define MUTZ_DONT_USE_CACHE 0x1000 6646 #define MUTZ_FORCE_INTRANET_FLAGS 0x2000 6647 #define MUTZ_IGNORE_ZONE_MAPPINGS 0x4000 6648 6649 6650 #define MAX_SIZE_SECURITY_ID 512 6651 6652 6653 typedef enum __WIDL_urlmon_generated_name_0000000E { 6654 PUAF_DEFAULT = 0x0, 6655 PUAF_NOUI = 0x1, 6656 PUAF_ISFILE = 0x2, 6657 PUAF_WARN_IF_DENIED = 0x4, 6658 PUAF_FORCEUI_FOREGROUND = 0x8, 6659 PUAF_CHECK_TIFS = 0x10, 6660 PUAF_DONTCHECKBOXINDIALOG = 0x20, 6661 PUAF_TRUSTED = 0x40, 6662 PUAF_ACCEPT_WILDCARD_SCHEME = 0x80, 6663 PUAF_ENFORCERESTRICTED = 0x100, 6664 PUAF_NOSAVEDFILECHECK = 0x200, 6665 PUAF_REQUIRESAVEDFILECHECK = 0x400, 6666 PUAF_DONT_USE_CACHE = 0x1000, 6667 PUAF_RESERVED1 = 0x2000, 6668 PUAF_RESERVED2 = 0x4000, 6669 PUAF_LMZ_UNLOCKED = 0x10000, 6670 PUAF_LMZ_LOCKED = 0x20000, 6671 PUAF_DEFAULTZONEPOL = 0x40000, 6672 PUAF_NPL_USE_LOCKED_IF_RESTRICTED = 0x80000, 6673 PUAF_NOUIIFLOCKED = 0x100000, 6674 PUAF_DRAGPROTOCOLCHECK = 0x200000 6675 } PUAF; 6676 typedef enum __WIDL_urlmon_generated_name_0000000F { 6677 PUAFOUT_DEFAULT = 0x0, 6678 PUAFOUT_ISLOCKZONEPOLICY = 0x1 6679 } PUAFOUT; 6680 6681 6682 typedef enum __WIDL_urlmon_generated_name_00000010 { 6683 SZM_CREATE = 0x0, 6684 SZM_DELETE = 0x1 6685 } SZM_FLAGS; 6686 6687 DEFINE_GUID(IID_IInternetSecurityManager, 0x79eac9ee, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 6688 #if defined(__cplusplus) && !defined(CINTERFACE) 6689 MIDL_INTERFACE("79eac9ee-baf9-11ce-8c82-00aa004ba90b") 6690 IInternetSecurityManager : public IUnknown 6691 { 6692 virtual HRESULT STDMETHODCALLTYPE SetSecuritySite( 6693 IInternetSecurityMgrSite *pSite) = 0; 6694 6695 virtual HRESULT STDMETHODCALLTYPE GetSecuritySite( 6696 IInternetSecurityMgrSite **ppSite) = 0; 6697 6698 virtual HRESULT STDMETHODCALLTYPE MapUrlToZone( 6699 LPCWSTR pwszUrl, 6700 DWORD *pdwZone, 6701 DWORD dwFlags) = 0; 6702 6703 virtual HRESULT STDMETHODCALLTYPE GetSecurityId( 6704 LPCWSTR pwszUrl, 6705 BYTE *pbSecurityId, 6706 DWORD *pcbSecurityId, 6707 DWORD_PTR dwReserved) = 0; 6708 6709 virtual HRESULT STDMETHODCALLTYPE ProcessUrlAction( 6710 LPCWSTR pwszUrl, 6711 DWORD dwAction, 6712 BYTE *pPolicy, 6713 DWORD cbPolicy, 6714 BYTE *pContext, 6715 DWORD cbContext, 6716 DWORD dwFlags, 6717 DWORD dwReserved) = 0; 6718 6719 virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicy( 6720 LPCWSTR pwszUrl, 6721 REFGUID guidKey, 6722 BYTE **ppPolicy, 6723 DWORD *pcbPolicy, 6724 BYTE *pContext, 6725 DWORD cbContext, 6726 DWORD dwReserved) = 0; 6727 6728 virtual HRESULT STDMETHODCALLTYPE SetZoneMapping( 6729 DWORD dwZone, 6730 LPCWSTR lpszPattern, 6731 DWORD dwFlags) = 0; 6732 6733 virtual HRESULT STDMETHODCALLTYPE GetZoneMappings( 6734 DWORD dwZone, 6735 IEnumString **ppenumString, 6736 DWORD dwFlags) = 0; 6737 6738 }; 6739 #ifdef __CRT_UUID_DECL 6740 __CRT_UUID_DECL(IInternetSecurityManager, 0x79eac9ee, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 6741 #endif 6742 #else 6743 typedef struct IInternetSecurityManagerVtbl { 6744 BEGIN_INTERFACE 6745 6746 /*** IUnknown methods ***/ 6747 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6748 IInternetSecurityManager *This, 6749 REFIID riid, 6750 void **ppvObject); 6751 6752 ULONG (STDMETHODCALLTYPE *AddRef)( 6753 IInternetSecurityManager *This); 6754 6755 ULONG (STDMETHODCALLTYPE *Release)( 6756 IInternetSecurityManager *This); 6757 6758 /*** IInternetSecurityManager methods ***/ 6759 HRESULT (STDMETHODCALLTYPE *SetSecuritySite)( 6760 IInternetSecurityManager *This, 6761 IInternetSecurityMgrSite *pSite); 6762 6763 HRESULT (STDMETHODCALLTYPE *GetSecuritySite)( 6764 IInternetSecurityManager *This, 6765 IInternetSecurityMgrSite **ppSite); 6766 6767 HRESULT (STDMETHODCALLTYPE *MapUrlToZone)( 6768 IInternetSecurityManager *This, 6769 LPCWSTR pwszUrl, 6770 DWORD *pdwZone, 6771 DWORD dwFlags); 6772 6773 HRESULT (STDMETHODCALLTYPE *GetSecurityId)( 6774 IInternetSecurityManager *This, 6775 LPCWSTR pwszUrl, 6776 BYTE *pbSecurityId, 6777 DWORD *pcbSecurityId, 6778 DWORD_PTR dwReserved); 6779 6780 HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)( 6781 IInternetSecurityManager *This, 6782 LPCWSTR pwszUrl, 6783 DWORD dwAction, 6784 BYTE *pPolicy, 6785 DWORD cbPolicy, 6786 BYTE *pContext, 6787 DWORD cbContext, 6788 DWORD dwFlags, 6789 DWORD dwReserved); 6790 6791 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)( 6792 IInternetSecurityManager *This, 6793 LPCWSTR pwszUrl, 6794 REFGUID guidKey, 6795 BYTE **ppPolicy, 6796 DWORD *pcbPolicy, 6797 BYTE *pContext, 6798 DWORD cbContext, 6799 DWORD dwReserved); 6800 6801 HRESULT (STDMETHODCALLTYPE *SetZoneMapping)( 6802 IInternetSecurityManager *This, 6803 DWORD dwZone, 6804 LPCWSTR lpszPattern, 6805 DWORD dwFlags); 6806 6807 HRESULT (STDMETHODCALLTYPE *GetZoneMappings)( 6808 IInternetSecurityManager *This, 6809 DWORD dwZone, 6810 IEnumString **ppenumString, 6811 DWORD dwFlags); 6812 6813 END_INTERFACE 6814 } IInternetSecurityManagerVtbl; 6815 6816 interface IInternetSecurityManager { 6817 CONST_VTBL IInternetSecurityManagerVtbl* lpVtbl; 6818 }; 6819 6820 #ifdef COBJMACROS 6821 #ifndef WIDL_C_INLINE_WRAPPERS 6822 /*** IUnknown methods ***/ 6823 #define IInternetSecurityManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6824 #define IInternetSecurityManager_AddRef(This) (This)->lpVtbl->AddRef(This) 6825 #define IInternetSecurityManager_Release(This) (This)->lpVtbl->Release(This) 6826 /*** IInternetSecurityManager methods ***/ 6827 #define IInternetSecurityManager_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite) 6828 #define IInternetSecurityManager_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite) 6829 #define IInternetSecurityManager_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) 6830 #define IInternetSecurityManager_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) 6831 #define IInternetSecurityManager_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) 6832 #define IInternetSecurityManager_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) 6833 #define IInternetSecurityManager_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags) 6834 #define IInternetSecurityManager_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags) 6835 #else 6836 /*** IUnknown methods ***/ 6837 static FORCEINLINE HRESULT IInternetSecurityManager_QueryInterface(IInternetSecurityManager* This,REFIID riid,void **ppvObject) { 6838 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6839 } 6840 static FORCEINLINE ULONG IInternetSecurityManager_AddRef(IInternetSecurityManager* This) { 6841 return This->lpVtbl->AddRef(This); 6842 } 6843 static FORCEINLINE ULONG IInternetSecurityManager_Release(IInternetSecurityManager* This) { 6844 return This->lpVtbl->Release(This); 6845 } 6846 /*** IInternetSecurityManager methods ***/ 6847 static FORCEINLINE HRESULT IInternetSecurityManager_SetSecuritySite(IInternetSecurityManager* This,IInternetSecurityMgrSite *pSite) { 6848 return This->lpVtbl->SetSecuritySite(This,pSite); 6849 } 6850 static FORCEINLINE HRESULT IInternetSecurityManager_GetSecuritySite(IInternetSecurityManager* This,IInternetSecurityMgrSite **ppSite) { 6851 return This->lpVtbl->GetSecuritySite(This,ppSite); 6852 } 6853 static FORCEINLINE HRESULT IInternetSecurityManager_MapUrlToZone(IInternetSecurityManager* This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags) { 6854 return This->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags); 6855 } 6856 static FORCEINLINE HRESULT IInternetSecurityManager_GetSecurityId(IInternetSecurityManager* This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { 6857 return This->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved); 6858 } 6859 static FORCEINLINE HRESULT IInternetSecurityManager_ProcessUrlAction(IInternetSecurityManager* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) { 6860 return This->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved); 6861 } 6862 static FORCEINLINE HRESULT IInternetSecurityManager_QueryCustomPolicy(IInternetSecurityManager* This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) { 6863 return This->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved); 6864 } 6865 static FORCEINLINE HRESULT IInternetSecurityManager_SetZoneMapping(IInternetSecurityManager* This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags) { 6866 return This->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags); 6867 } 6868 static FORCEINLINE HRESULT IInternetSecurityManager_GetZoneMappings(IInternetSecurityManager* This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags) { 6869 return This->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags); 6870 } 6871 #endif 6872 #endif 6873 6874 #endif 6875 6876 6877 #endif /* __IInternetSecurityManager_INTERFACE_DEFINED__ */ 6878 6879 #endif 6880 6881 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 6882 #ifndef _LPINTERNETSECURITYMANANGEREX_DEFINED 6883 #define _LPINTERNETSECURITYMANANGEREX_DEFINED 6884 6885 /***************************************************************************** 6886 * IInternetSecurityManagerEx interface 6887 */ 6888 #ifndef __IInternetSecurityManagerEx_INTERFACE_DEFINED__ 6889 #define __IInternetSecurityManagerEx_INTERFACE_DEFINED__ 6890 6891 DEFINE_GUID(IID_IInternetSecurityManagerEx, 0xf164edf1, 0xcc7c, 0x4f0d, 0x9a,0x94, 0x34,0x22,0x26,0x25,0xc3,0x93); 6892 #if defined(__cplusplus) && !defined(CINTERFACE) 6893 MIDL_INTERFACE("f164edf1-cc7c-4f0d-9a94-34222625c393") 6894 IInternetSecurityManagerEx : public IInternetSecurityManager 6895 { 6896 virtual HRESULT STDMETHODCALLTYPE ProcessUrlActionEx( 6897 LPCWSTR pwszUrl, 6898 DWORD dwAction, 6899 BYTE *pPolicy, 6900 DWORD cbPolicy, 6901 BYTE *pContext, 6902 DWORD cbContext, 6903 DWORD dwFlags, 6904 DWORD dwReserved, 6905 DWORD *pdwOutFlags) = 0; 6906 6907 }; 6908 #ifdef __CRT_UUID_DECL 6909 __CRT_UUID_DECL(IInternetSecurityManagerEx, 0xf164edf1, 0xcc7c, 0x4f0d, 0x9a,0x94, 0x34,0x22,0x26,0x25,0xc3,0x93) 6910 #endif 6911 #else 6912 typedef struct IInternetSecurityManagerExVtbl { 6913 BEGIN_INTERFACE 6914 6915 /*** IUnknown methods ***/ 6916 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6917 IInternetSecurityManagerEx *This, 6918 REFIID riid, 6919 void **ppvObject); 6920 6921 ULONG (STDMETHODCALLTYPE *AddRef)( 6922 IInternetSecurityManagerEx *This); 6923 6924 ULONG (STDMETHODCALLTYPE *Release)( 6925 IInternetSecurityManagerEx *This); 6926 6927 /*** IInternetSecurityManager methods ***/ 6928 HRESULT (STDMETHODCALLTYPE *SetSecuritySite)( 6929 IInternetSecurityManagerEx *This, 6930 IInternetSecurityMgrSite *pSite); 6931 6932 HRESULT (STDMETHODCALLTYPE *GetSecuritySite)( 6933 IInternetSecurityManagerEx *This, 6934 IInternetSecurityMgrSite **ppSite); 6935 6936 HRESULT (STDMETHODCALLTYPE *MapUrlToZone)( 6937 IInternetSecurityManagerEx *This, 6938 LPCWSTR pwszUrl, 6939 DWORD *pdwZone, 6940 DWORD dwFlags); 6941 6942 HRESULT (STDMETHODCALLTYPE *GetSecurityId)( 6943 IInternetSecurityManagerEx *This, 6944 LPCWSTR pwszUrl, 6945 BYTE *pbSecurityId, 6946 DWORD *pcbSecurityId, 6947 DWORD_PTR dwReserved); 6948 6949 HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)( 6950 IInternetSecurityManagerEx *This, 6951 LPCWSTR pwszUrl, 6952 DWORD dwAction, 6953 BYTE *pPolicy, 6954 DWORD cbPolicy, 6955 BYTE *pContext, 6956 DWORD cbContext, 6957 DWORD dwFlags, 6958 DWORD dwReserved); 6959 6960 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)( 6961 IInternetSecurityManagerEx *This, 6962 LPCWSTR pwszUrl, 6963 REFGUID guidKey, 6964 BYTE **ppPolicy, 6965 DWORD *pcbPolicy, 6966 BYTE *pContext, 6967 DWORD cbContext, 6968 DWORD dwReserved); 6969 6970 HRESULT (STDMETHODCALLTYPE *SetZoneMapping)( 6971 IInternetSecurityManagerEx *This, 6972 DWORD dwZone, 6973 LPCWSTR lpszPattern, 6974 DWORD dwFlags); 6975 6976 HRESULT (STDMETHODCALLTYPE *GetZoneMappings)( 6977 IInternetSecurityManagerEx *This, 6978 DWORD dwZone, 6979 IEnumString **ppenumString, 6980 DWORD dwFlags); 6981 6982 /*** IInternetSecurityManagerEx methods ***/ 6983 HRESULT (STDMETHODCALLTYPE *ProcessUrlActionEx)( 6984 IInternetSecurityManagerEx *This, 6985 LPCWSTR pwszUrl, 6986 DWORD dwAction, 6987 BYTE *pPolicy, 6988 DWORD cbPolicy, 6989 BYTE *pContext, 6990 DWORD cbContext, 6991 DWORD dwFlags, 6992 DWORD dwReserved, 6993 DWORD *pdwOutFlags); 6994 6995 END_INTERFACE 6996 } IInternetSecurityManagerExVtbl; 6997 6998 interface IInternetSecurityManagerEx { 6999 CONST_VTBL IInternetSecurityManagerExVtbl* lpVtbl; 7000 }; 7001 7002 #ifdef COBJMACROS 7003 #ifndef WIDL_C_INLINE_WRAPPERS 7004 /*** IUnknown methods ***/ 7005 #define IInternetSecurityManagerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7006 #define IInternetSecurityManagerEx_AddRef(This) (This)->lpVtbl->AddRef(This) 7007 #define IInternetSecurityManagerEx_Release(This) (This)->lpVtbl->Release(This) 7008 /*** IInternetSecurityManager methods ***/ 7009 #define IInternetSecurityManagerEx_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite) 7010 #define IInternetSecurityManagerEx_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite) 7011 #define IInternetSecurityManagerEx_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) 7012 #define IInternetSecurityManagerEx_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) 7013 #define IInternetSecurityManagerEx_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) 7014 #define IInternetSecurityManagerEx_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) 7015 #define IInternetSecurityManagerEx_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags) 7016 #define IInternetSecurityManagerEx_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags) 7017 /*** IInternetSecurityManagerEx methods ***/ 7018 #define IInternetSecurityManagerEx_ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) (This)->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) 7019 #else 7020 /*** IUnknown methods ***/ 7021 static FORCEINLINE HRESULT IInternetSecurityManagerEx_QueryInterface(IInternetSecurityManagerEx* This,REFIID riid,void **ppvObject) { 7022 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7023 } 7024 static FORCEINLINE ULONG IInternetSecurityManagerEx_AddRef(IInternetSecurityManagerEx* This) { 7025 return This->lpVtbl->AddRef(This); 7026 } 7027 static FORCEINLINE ULONG IInternetSecurityManagerEx_Release(IInternetSecurityManagerEx* This) { 7028 return This->lpVtbl->Release(This); 7029 } 7030 /*** IInternetSecurityManager methods ***/ 7031 static FORCEINLINE HRESULT IInternetSecurityManagerEx_SetSecuritySite(IInternetSecurityManagerEx* This,IInternetSecurityMgrSite *pSite) { 7032 return This->lpVtbl->SetSecuritySite(This,pSite); 7033 } 7034 static FORCEINLINE HRESULT IInternetSecurityManagerEx_GetSecuritySite(IInternetSecurityManagerEx* This,IInternetSecurityMgrSite **ppSite) { 7035 return This->lpVtbl->GetSecuritySite(This,ppSite); 7036 } 7037 static FORCEINLINE HRESULT IInternetSecurityManagerEx_MapUrlToZone(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags) { 7038 return This->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags); 7039 } 7040 static FORCEINLINE HRESULT IInternetSecurityManagerEx_GetSecurityId(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { 7041 return This->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved); 7042 } 7043 static FORCEINLINE HRESULT IInternetSecurityManagerEx_ProcessUrlAction(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) { 7044 return This->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved); 7045 } 7046 static FORCEINLINE HRESULT IInternetSecurityManagerEx_QueryCustomPolicy(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) { 7047 return This->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved); 7048 } 7049 static FORCEINLINE HRESULT IInternetSecurityManagerEx_SetZoneMapping(IInternetSecurityManagerEx* This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags) { 7050 return This->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags); 7051 } 7052 static FORCEINLINE HRESULT IInternetSecurityManagerEx_GetZoneMappings(IInternetSecurityManagerEx* This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags) { 7053 return This->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags); 7054 } 7055 /*** IInternetSecurityManagerEx methods ***/ 7056 static FORCEINLINE HRESULT IInternetSecurityManagerEx_ProcessUrlActionEx(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved,DWORD *pdwOutFlags) { 7057 return This->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags); 7058 } 7059 #endif 7060 #endif 7061 7062 #endif 7063 7064 7065 #endif /* __IInternetSecurityManagerEx_INTERFACE_DEFINED__ */ 7066 7067 #endif 7068 #endif 7069 7070 #if (_WIN32_IE >= _WIN32_IE_IE70) 7071 #ifndef _LPINTERNETSECURITYMANANGEREx2_DEFINED 7072 #define _LPINTERNETSECURITYMANANGEREx2_DEFINED 7073 7074 /***************************************************************************** 7075 * IInternetSecurityManagerEx2 interface 7076 */ 7077 #ifndef __IInternetSecurityManagerEx2_INTERFACE_DEFINED__ 7078 #define __IInternetSecurityManagerEx2_INTERFACE_DEFINED__ 7079 7080 DEFINE_GUID(IID_IInternetSecurityManagerEx2, 0xf1e50292, 0xa795, 0x4117, 0x8e,0x09, 0x2b,0x56,0x0a,0x72,0xac,0x60); 7081 #if defined(__cplusplus) && !defined(CINTERFACE) 7082 MIDL_INTERFACE("f1e50292-a795-4117-8e09-2b560a72ac60") 7083 IInternetSecurityManagerEx2 : public IInternetSecurityManagerEx 7084 { 7085 virtual HRESULT STDMETHODCALLTYPE MapUrlToZoneEx2( 7086 IUri *pUri, 7087 DWORD *pdwZone, 7088 DWORD dwFlags, 7089 LPWSTR *ppwszMappedUrl, 7090 DWORD *pdwOutFlags) = 0; 7091 7092 virtual HRESULT STDMETHODCALLTYPE ProcessUrlActionEx2( 7093 IUri *pUri, 7094 DWORD dwAction, 7095 BYTE *pPolicy, 7096 DWORD cbPolicy, 7097 BYTE *pContext, 7098 DWORD cbContext, 7099 DWORD dwFlags, 7100 DWORD_PTR dwReserved, 7101 DWORD *pdwOutFlags) = 0; 7102 7103 virtual HRESULT STDMETHODCALLTYPE GetSecurityIdEx2( 7104 IUri *pUri, 7105 BYTE *pbSecurityId, 7106 DWORD *pcbSecurityId, 7107 DWORD_PTR dwReserved) = 0; 7108 7109 virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicyEx2( 7110 IUri *pUri, 7111 REFGUID guidKey, 7112 BYTE **ppPolicy, 7113 DWORD *pcbPolicy, 7114 BYTE *pContext, 7115 DWORD cbContext, 7116 DWORD_PTR dwReserved) = 0; 7117 7118 }; 7119 #ifdef __CRT_UUID_DECL 7120 __CRT_UUID_DECL(IInternetSecurityManagerEx2, 0xf1e50292, 0xa795, 0x4117, 0x8e,0x09, 0x2b,0x56,0x0a,0x72,0xac,0x60) 7121 #endif 7122 #else 7123 typedef struct IInternetSecurityManagerEx2Vtbl { 7124 BEGIN_INTERFACE 7125 7126 /*** IUnknown methods ***/ 7127 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7128 IInternetSecurityManagerEx2 *This, 7129 REFIID riid, 7130 void **ppvObject); 7131 7132 ULONG (STDMETHODCALLTYPE *AddRef)( 7133 IInternetSecurityManagerEx2 *This); 7134 7135 ULONG (STDMETHODCALLTYPE *Release)( 7136 IInternetSecurityManagerEx2 *This); 7137 7138 /*** IInternetSecurityManager methods ***/ 7139 HRESULT (STDMETHODCALLTYPE *SetSecuritySite)( 7140 IInternetSecurityManagerEx2 *This, 7141 IInternetSecurityMgrSite *pSite); 7142 7143 HRESULT (STDMETHODCALLTYPE *GetSecuritySite)( 7144 IInternetSecurityManagerEx2 *This, 7145 IInternetSecurityMgrSite **ppSite); 7146 7147 HRESULT (STDMETHODCALLTYPE *MapUrlToZone)( 7148 IInternetSecurityManagerEx2 *This, 7149 LPCWSTR pwszUrl, 7150 DWORD *pdwZone, 7151 DWORD dwFlags); 7152 7153 HRESULT (STDMETHODCALLTYPE *GetSecurityId)( 7154 IInternetSecurityManagerEx2 *This, 7155 LPCWSTR pwszUrl, 7156 BYTE *pbSecurityId, 7157 DWORD *pcbSecurityId, 7158 DWORD_PTR dwReserved); 7159 7160 HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)( 7161 IInternetSecurityManagerEx2 *This, 7162 LPCWSTR pwszUrl, 7163 DWORD dwAction, 7164 BYTE *pPolicy, 7165 DWORD cbPolicy, 7166 BYTE *pContext, 7167 DWORD cbContext, 7168 DWORD dwFlags, 7169 DWORD dwReserved); 7170 7171 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)( 7172 IInternetSecurityManagerEx2 *This, 7173 LPCWSTR pwszUrl, 7174 REFGUID guidKey, 7175 BYTE **ppPolicy, 7176 DWORD *pcbPolicy, 7177 BYTE *pContext, 7178 DWORD cbContext, 7179 DWORD dwReserved); 7180 7181 HRESULT (STDMETHODCALLTYPE *SetZoneMapping)( 7182 IInternetSecurityManagerEx2 *This, 7183 DWORD dwZone, 7184 LPCWSTR lpszPattern, 7185 DWORD dwFlags); 7186 7187 HRESULT (STDMETHODCALLTYPE *GetZoneMappings)( 7188 IInternetSecurityManagerEx2 *This, 7189 DWORD dwZone, 7190 IEnumString **ppenumString, 7191 DWORD dwFlags); 7192 7193 /*** IInternetSecurityManagerEx methods ***/ 7194 HRESULT (STDMETHODCALLTYPE *ProcessUrlActionEx)( 7195 IInternetSecurityManagerEx2 *This, 7196 LPCWSTR pwszUrl, 7197 DWORD dwAction, 7198 BYTE *pPolicy, 7199 DWORD cbPolicy, 7200 BYTE *pContext, 7201 DWORD cbContext, 7202 DWORD dwFlags, 7203 DWORD dwReserved, 7204 DWORD *pdwOutFlags); 7205 7206 /*** IInternetSecurityManagerEx2 methods ***/ 7207 HRESULT (STDMETHODCALLTYPE *MapUrlToZoneEx2)( 7208 IInternetSecurityManagerEx2 *This, 7209 IUri *pUri, 7210 DWORD *pdwZone, 7211 DWORD dwFlags, 7212 LPWSTR *ppwszMappedUrl, 7213 DWORD *pdwOutFlags); 7214 7215 HRESULT (STDMETHODCALLTYPE *ProcessUrlActionEx2)( 7216 IInternetSecurityManagerEx2 *This, 7217 IUri *pUri, 7218 DWORD dwAction, 7219 BYTE *pPolicy, 7220 DWORD cbPolicy, 7221 BYTE *pContext, 7222 DWORD cbContext, 7223 DWORD dwFlags, 7224 DWORD_PTR dwReserved, 7225 DWORD *pdwOutFlags); 7226 7227 HRESULT (STDMETHODCALLTYPE *GetSecurityIdEx2)( 7228 IInternetSecurityManagerEx2 *This, 7229 IUri *pUri, 7230 BYTE *pbSecurityId, 7231 DWORD *pcbSecurityId, 7232 DWORD_PTR dwReserved); 7233 7234 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicyEx2)( 7235 IInternetSecurityManagerEx2 *This, 7236 IUri *pUri, 7237 REFGUID guidKey, 7238 BYTE **ppPolicy, 7239 DWORD *pcbPolicy, 7240 BYTE *pContext, 7241 DWORD cbContext, 7242 DWORD_PTR dwReserved); 7243 7244 END_INTERFACE 7245 } IInternetSecurityManagerEx2Vtbl; 7246 7247 interface IInternetSecurityManagerEx2 { 7248 CONST_VTBL IInternetSecurityManagerEx2Vtbl* lpVtbl; 7249 }; 7250 7251 #ifdef COBJMACROS 7252 #ifndef WIDL_C_INLINE_WRAPPERS 7253 /*** IUnknown methods ***/ 7254 #define IInternetSecurityManagerEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7255 #define IInternetSecurityManagerEx2_AddRef(This) (This)->lpVtbl->AddRef(This) 7256 #define IInternetSecurityManagerEx2_Release(This) (This)->lpVtbl->Release(This) 7257 /*** IInternetSecurityManager methods ***/ 7258 #define IInternetSecurityManagerEx2_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite) 7259 #define IInternetSecurityManagerEx2_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite) 7260 #define IInternetSecurityManagerEx2_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) 7261 #define IInternetSecurityManagerEx2_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) 7262 #define IInternetSecurityManagerEx2_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) 7263 #define IInternetSecurityManagerEx2_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) 7264 #define IInternetSecurityManagerEx2_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags) 7265 #define IInternetSecurityManagerEx2_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags) 7266 /*** IInternetSecurityManagerEx methods ***/ 7267 #define IInternetSecurityManagerEx2_ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) (This)->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) 7268 /*** IInternetSecurityManagerEx2 methods ***/ 7269 #define IInternetSecurityManagerEx2_MapUrlToZoneEx2(This,pUri,pdwZone,dwFlags,ppwszMappedUrl,pdwOutFlags) (This)->lpVtbl->MapUrlToZoneEx2(This,pUri,pdwZone,dwFlags,ppwszMappedUrl,pdwOutFlags) 7270 #define IInternetSecurityManagerEx2_ProcessUrlActionEx2(This,pUri,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) (This)->lpVtbl->ProcessUrlActionEx2(This,pUri,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) 7271 #define IInternetSecurityManagerEx2_GetSecurityIdEx2(This,pUri,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityIdEx2(This,pUri,pbSecurityId,pcbSecurityId,dwReserved) 7272 #define IInternetSecurityManagerEx2_QueryCustomPolicyEx2(This,pUri,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicyEx2(This,pUri,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) 7273 #else 7274 /*** IUnknown methods ***/ 7275 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_QueryInterface(IInternetSecurityManagerEx2* This,REFIID riid,void **ppvObject) { 7276 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7277 } 7278 static FORCEINLINE ULONG IInternetSecurityManagerEx2_AddRef(IInternetSecurityManagerEx2* This) { 7279 return This->lpVtbl->AddRef(This); 7280 } 7281 static FORCEINLINE ULONG IInternetSecurityManagerEx2_Release(IInternetSecurityManagerEx2* This) { 7282 return This->lpVtbl->Release(This); 7283 } 7284 /*** IInternetSecurityManager methods ***/ 7285 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_SetSecuritySite(IInternetSecurityManagerEx2* This,IInternetSecurityMgrSite *pSite) { 7286 return This->lpVtbl->SetSecuritySite(This,pSite); 7287 } 7288 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_GetSecuritySite(IInternetSecurityManagerEx2* This,IInternetSecurityMgrSite **ppSite) { 7289 return This->lpVtbl->GetSecuritySite(This,ppSite); 7290 } 7291 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_MapUrlToZone(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags) { 7292 return This->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags); 7293 } 7294 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_GetSecurityId(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { 7295 return This->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved); 7296 } 7297 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_ProcessUrlAction(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) { 7298 return This->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved); 7299 } 7300 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_QueryCustomPolicy(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) { 7301 return This->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved); 7302 } 7303 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_SetZoneMapping(IInternetSecurityManagerEx2* This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags) { 7304 return This->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags); 7305 } 7306 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_GetZoneMappings(IInternetSecurityManagerEx2* This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags) { 7307 return This->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags); 7308 } 7309 /*** IInternetSecurityManagerEx methods ***/ 7310 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_ProcessUrlActionEx(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved,DWORD *pdwOutFlags) { 7311 return This->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags); 7312 } 7313 /*** IInternetSecurityManagerEx2 methods ***/ 7314 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_MapUrlToZoneEx2(IInternetSecurityManagerEx2* This,IUri *pUri,DWORD *pdwZone,DWORD dwFlags,LPWSTR *ppwszMappedUrl,DWORD *pdwOutFlags) { 7315 return This->lpVtbl->MapUrlToZoneEx2(This,pUri,pdwZone,dwFlags,ppwszMappedUrl,pdwOutFlags); 7316 } 7317 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_ProcessUrlActionEx2(IInternetSecurityManagerEx2* This,IUri *pUri,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD_PTR dwReserved,DWORD *pdwOutFlags) { 7318 return This->lpVtbl->ProcessUrlActionEx2(This,pUri,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags); 7319 } 7320 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_GetSecurityIdEx2(IInternetSecurityManagerEx2* This,IUri *pUri,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { 7321 return This->lpVtbl->GetSecurityIdEx2(This,pUri,pbSecurityId,pcbSecurityId,dwReserved); 7322 } 7323 static FORCEINLINE HRESULT IInternetSecurityManagerEx2_QueryCustomPolicyEx2(IInternetSecurityManagerEx2* This,IUri *pUri,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD_PTR dwReserved) { 7324 return This->lpVtbl->QueryCustomPolicyEx2(This,pUri,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved); 7325 } 7326 #endif 7327 #endif 7328 7329 #endif 7330 7331 7332 #endif /* __IInternetSecurityManagerEx2_INTERFACE_DEFINED__ */ 7333 7334 #endif 7335 #endif 7336 7337 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 7338 /***************************************************************************** 7339 * IZoneIdentifier interface 7340 */ 7341 #ifndef __IZoneIdentifier_INTERFACE_DEFINED__ 7342 #define __IZoneIdentifier_INTERFACE_DEFINED__ 7343 7344 DEFINE_GUID(IID_IZoneIdentifier, 0xcd45f185, 0x1b21, 0x48e2, 0x96,0x7b, 0xea,0xd7,0x43,0xa8,0x91,0x4e); 7345 #if defined(__cplusplus) && !defined(CINTERFACE) 7346 MIDL_INTERFACE("cd45f185-1b21-48e2-967b-ead743a8914e") 7347 IZoneIdentifier : public IUnknown 7348 { 7349 virtual HRESULT STDMETHODCALLTYPE GetId( 7350 DWORD *pdwZone) = 0; 7351 7352 virtual HRESULT STDMETHODCALLTYPE SetId( 7353 DWORD dwZone) = 0; 7354 7355 virtual HRESULT STDMETHODCALLTYPE Remove( 7356 ) = 0; 7357 7358 }; 7359 #ifdef __CRT_UUID_DECL 7360 __CRT_UUID_DECL(IZoneIdentifier, 0xcd45f185, 0x1b21, 0x48e2, 0x96,0x7b, 0xea,0xd7,0x43,0xa8,0x91,0x4e) 7361 #endif 7362 #else 7363 typedef struct IZoneIdentifierVtbl { 7364 BEGIN_INTERFACE 7365 7366 /*** IUnknown methods ***/ 7367 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7368 IZoneIdentifier *This, 7369 REFIID riid, 7370 void **ppvObject); 7371 7372 ULONG (STDMETHODCALLTYPE *AddRef)( 7373 IZoneIdentifier *This); 7374 7375 ULONG (STDMETHODCALLTYPE *Release)( 7376 IZoneIdentifier *This); 7377 7378 /*** IZoneIdentifier methods ***/ 7379 HRESULT (STDMETHODCALLTYPE *GetId)( 7380 IZoneIdentifier *This, 7381 DWORD *pdwZone); 7382 7383 HRESULT (STDMETHODCALLTYPE *SetId)( 7384 IZoneIdentifier *This, 7385 DWORD dwZone); 7386 7387 HRESULT (STDMETHODCALLTYPE *Remove)( 7388 IZoneIdentifier *This); 7389 7390 END_INTERFACE 7391 } IZoneIdentifierVtbl; 7392 7393 interface IZoneIdentifier { 7394 CONST_VTBL IZoneIdentifierVtbl* lpVtbl; 7395 }; 7396 7397 #ifdef COBJMACROS 7398 #ifndef WIDL_C_INLINE_WRAPPERS 7399 /*** IUnknown methods ***/ 7400 #define IZoneIdentifier_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7401 #define IZoneIdentifier_AddRef(This) (This)->lpVtbl->AddRef(This) 7402 #define IZoneIdentifier_Release(This) (This)->lpVtbl->Release(This) 7403 /*** IZoneIdentifier methods ***/ 7404 #define IZoneIdentifier_GetId(This,pdwZone) (This)->lpVtbl->GetId(This,pdwZone) 7405 #define IZoneIdentifier_SetId(This,dwZone) (This)->lpVtbl->SetId(This,dwZone) 7406 #define IZoneIdentifier_Remove(This) (This)->lpVtbl->Remove(This) 7407 #else 7408 /*** IUnknown methods ***/ 7409 static FORCEINLINE HRESULT IZoneIdentifier_QueryInterface(IZoneIdentifier* This,REFIID riid,void **ppvObject) { 7410 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7411 } 7412 static FORCEINLINE ULONG IZoneIdentifier_AddRef(IZoneIdentifier* This) { 7413 return This->lpVtbl->AddRef(This); 7414 } 7415 static FORCEINLINE ULONG IZoneIdentifier_Release(IZoneIdentifier* This) { 7416 return This->lpVtbl->Release(This); 7417 } 7418 /*** IZoneIdentifier methods ***/ 7419 static FORCEINLINE HRESULT IZoneIdentifier_GetId(IZoneIdentifier* This,DWORD *pdwZone) { 7420 return This->lpVtbl->GetId(This,pdwZone); 7421 } 7422 static FORCEINLINE HRESULT IZoneIdentifier_SetId(IZoneIdentifier* This,DWORD dwZone) { 7423 return This->lpVtbl->SetId(This,dwZone); 7424 } 7425 static FORCEINLINE HRESULT IZoneIdentifier_Remove(IZoneIdentifier* This) { 7426 return This->lpVtbl->Remove(This); 7427 } 7428 #endif 7429 #endif 7430 7431 #endif 7432 7433 7434 #endif /* __IZoneIdentifier_INTERFACE_DEFINED__ */ 7435 7436 #endif 7437 7438 #ifndef _LPINTERNETHOSTSECURITYMANANGER_DEFINED 7439 #define _LPINTERNETHOSTSECURITYMANANGER_DEFINED 7440 7441 /***************************************************************************** 7442 * IInternetHostSecurityManager interface 7443 */ 7444 #ifndef __IInternetHostSecurityManager_INTERFACE_DEFINED__ 7445 #define __IInternetHostSecurityManager_INTERFACE_DEFINED__ 7446 7447 DEFINE_GUID(IID_IInternetHostSecurityManager, 0x3af280b6, 0xcb3f, 0x11d0, 0x89,0x1e, 0x00,0xc0,0x4f,0xb6,0xbf,0xc4); 7448 #if defined(__cplusplus) && !defined(CINTERFACE) 7449 MIDL_INTERFACE("3af280b6-cb3f-11d0-891e-00c04fb6bfc4") 7450 IInternetHostSecurityManager : public IUnknown 7451 { 7452 virtual HRESULT STDMETHODCALLTYPE GetSecurityId( 7453 BYTE *pbSecurityId, 7454 DWORD *pcbSecurityId, 7455 DWORD_PTR dwReserved) = 0; 7456 7457 virtual HRESULT STDMETHODCALLTYPE ProcessUrlAction( 7458 DWORD dwAction, 7459 BYTE *pPolicy, 7460 DWORD cbPolicy, 7461 BYTE *pContext, 7462 DWORD cbContext, 7463 DWORD dwFlags, 7464 DWORD dwReserved) = 0; 7465 7466 virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicy( 7467 REFGUID guidKey, 7468 BYTE **ppPolicy, 7469 DWORD *pcbPolicy, 7470 BYTE *pContext, 7471 DWORD cbContext, 7472 DWORD dwReserved) = 0; 7473 7474 }; 7475 #ifdef __CRT_UUID_DECL 7476 __CRT_UUID_DECL(IInternetHostSecurityManager, 0x3af280b6, 0xcb3f, 0x11d0, 0x89,0x1e, 0x00,0xc0,0x4f,0xb6,0xbf,0xc4) 7477 #endif 7478 #else 7479 typedef struct IInternetHostSecurityManagerVtbl { 7480 BEGIN_INTERFACE 7481 7482 /*** IUnknown methods ***/ 7483 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7484 IInternetHostSecurityManager *This, 7485 REFIID riid, 7486 void **ppvObject); 7487 7488 ULONG (STDMETHODCALLTYPE *AddRef)( 7489 IInternetHostSecurityManager *This); 7490 7491 ULONG (STDMETHODCALLTYPE *Release)( 7492 IInternetHostSecurityManager *This); 7493 7494 /*** IInternetHostSecurityManager methods ***/ 7495 HRESULT (STDMETHODCALLTYPE *GetSecurityId)( 7496 IInternetHostSecurityManager *This, 7497 BYTE *pbSecurityId, 7498 DWORD *pcbSecurityId, 7499 DWORD_PTR dwReserved); 7500 7501 HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)( 7502 IInternetHostSecurityManager *This, 7503 DWORD dwAction, 7504 BYTE *pPolicy, 7505 DWORD cbPolicy, 7506 BYTE *pContext, 7507 DWORD cbContext, 7508 DWORD dwFlags, 7509 DWORD dwReserved); 7510 7511 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)( 7512 IInternetHostSecurityManager *This, 7513 REFGUID guidKey, 7514 BYTE **ppPolicy, 7515 DWORD *pcbPolicy, 7516 BYTE *pContext, 7517 DWORD cbContext, 7518 DWORD dwReserved); 7519 7520 END_INTERFACE 7521 } IInternetHostSecurityManagerVtbl; 7522 7523 interface IInternetHostSecurityManager { 7524 CONST_VTBL IInternetHostSecurityManagerVtbl* lpVtbl; 7525 }; 7526 7527 #ifdef COBJMACROS 7528 #ifndef WIDL_C_INLINE_WRAPPERS 7529 /*** IUnknown methods ***/ 7530 #define IInternetHostSecurityManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7531 #define IInternetHostSecurityManager_AddRef(This) (This)->lpVtbl->AddRef(This) 7532 #define IInternetHostSecurityManager_Release(This) (This)->lpVtbl->Release(This) 7533 /*** IInternetHostSecurityManager methods ***/ 7534 #define IInternetHostSecurityManager_GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) 7535 #define IInternetHostSecurityManager_ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) 7536 #define IInternetHostSecurityManager_QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) 7537 #else 7538 /*** IUnknown methods ***/ 7539 static FORCEINLINE HRESULT IInternetHostSecurityManager_QueryInterface(IInternetHostSecurityManager* This,REFIID riid,void **ppvObject) { 7540 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7541 } 7542 static FORCEINLINE ULONG IInternetHostSecurityManager_AddRef(IInternetHostSecurityManager* This) { 7543 return This->lpVtbl->AddRef(This); 7544 } 7545 static FORCEINLINE ULONG IInternetHostSecurityManager_Release(IInternetHostSecurityManager* This) { 7546 return This->lpVtbl->Release(This); 7547 } 7548 /*** IInternetHostSecurityManager methods ***/ 7549 static FORCEINLINE HRESULT IInternetHostSecurityManager_GetSecurityId(IInternetHostSecurityManager* This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { 7550 return This->lpVtbl->GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved); 7551 } 7552 static FORCEINLINE HRESULT IInternetHostSecurityManager_ProcessUrlAction(IInternetHostSecurityManager* This,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) { 7553 return This->lpVtbl->ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved); 7554 } 7555 static FORCEINLINE HRESULT IInternetHostSecurityManager_QueryCustomPolicy(IInternetHostSecurityManager* This,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) { 7556 return This->lpVtbl->QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved); 7557 } 7558 #endif 7559 #endif 7560 7561 #endif 7562 7563 7564 #endif /* __IInternetHostSecurityManager_INTERFACE_DEFINED__ */ 7565 7566 #endif 7567 7568 #define URLACTION_MIN 0x1000 7569 7570 #define URLACTION_DOWNLOAD_MIN 0x1000 7571 #define URLACTION_DOWNLOAD_SIGNED_ACTIVEX 0x1001 7572 #define URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX 0x1004 7573 #define URLACTION_DOWNLOAD_CURR_MAX 0x1004 7574 #define URLACTION_DOWNLOAD_MAX 0x11FF 7575 7576 #define URLACTION_ACTIVEX_MIN 0x1200 7577 #define URLACTION_ACTIVEX_RUN 0x1200 7578 #define URLPOLICY_ACTIVEX_CHECK_LIST 0x10000 7579 #define URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY 0x1201 7580 #define URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY 0x1202 7581 #define URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY 0x1203 7582 #define URLACTION_SCRIPT_OVERRIDE_SAFETY 0x1401 7583 #define URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY 0x1204 7584 #define URLACTION_ACTIVEX_TREATASUNTRUSTED 0x1205 7585 #define URLACTION_ACTIVEX_NO_WEBOC_SCRIPT 0x1206 7586 #define URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION 0x1207 7587 #define URLACTION_ACTIVEX_OVERRIDE_OPTIN 0x1208 7588 #define URLACTION_ACTIVEX_SCRIPTLET_RUN 0x1209 7589 #define URLACTION_ACTIVEX_DYNSRC_VIDEO_AND_ANIMATION 0x120A 7590 #define URLACTION_ACTIVEX_OVERRIDE_DOMAINLIST 0x120B 7591 #define URLACTION_ACTIVEX_CURR_MAX 0x120B 7592 #define URLACTION_ACTIVEX_MAX 0x13ff 7593 7594 #define URLACTION_SCRIPT_MIN 0x1400 7595 #define URLACTION_SCRIPT_RUN 0x1400 7596 #define URLACTION_SCRIPT_JAVA_USE 0x1402 7597 #define URLACTION_SCRIPT_SAFE_ACTIVEX 0x1405 7598 #define URLACTION_CROSS_DOMAIN_DATA 0x1406 7599 #define URLACTION_SCRIPT_PASTE 0x1407 7600 #define URLACTION_ALLOW_XDOMAIN_SUBFRAME_RESIZE 0x1408 7601 #define URLACTION_SCRIPT_XSSFILTER 0x1409 7602 #define URLACTION_SCRIPT_NAVIGATE 0x140A 7603 #define URLACTION_PLUGGABLE_PROTOCOL_XHR 0x140B 7604 #define URLACTION_SCRIPT_CURR_MAX 0x140B 7605 #define URLACTION_SCRIPT_MAX 0x15ff 7606 7607 #define URLACTION_HTML_MIN 0x1600 7608 #define URLACTION_HTML_SUBMIT_FORMS 0x1601 7609 #define URLACTION_HTML_SUBMIT_FORMS_FROM 0x1602 7610 #define URLACTION_HTML_SUBMIT_FORMS_TO 0x1603 7611 #define URLACTION_HTML_FONT_DOWNLOAD 0x1604 7612 #define URLACTION_HTML_JAVA_RUN 0x1605 7613 #define URLACTION_HTML_USERDATA_SAVE 0x1606 7614 #define URLACTION_HTML_SUBFRAME_NAVIGATE 0x1607 7615 #define URLACTION_HTML_META_REFRESH 0x1608 7616 #define URLACTION_HTML_MIXED_CONTENT 0x1609 7617 #define URLACTION_HTML_INCLUDE_FILE_PATH 0x160A 7618 #define URLACTION_HTML_ALLOW_INJECTED_DYNAMIC_HTML 0x160B 7619 #define URLACTION_HTML_REQUIRE_UTF8_DOCUMENT_CODEPAGE 0x160C 7620 #define URLACTION_HTML_ALLOW_CROSS_DOMAIN_CANVAS 0x160D 7621 #define URLACTION_HTML_ALLOW_WINDOW_CLOSE 0x160E 7622 #define URLACTION_HTML_ALLOW_CROSS_DOMAIN_WEBWORKER 0x160F 7623 #define URLACTION_HTML_ALLOW_CROSS_DOMAIN_TEXTTRACK 0x1610 7624 #define URLACTION_HTML_ALLOW_INDEXEDDB 0x1611 7625 7626 #define URLACTION_HTML_MAX 0x17ff 7627 7628 #define URLACTION_SHELL_MIN 0x1800 7629 #define URLACTION_SHELL_INSTALL_DTITEMS 0x1800 7630 #define URLACTION_SHELL_MOVE_OR_COPY 0x1802 7631 #define URLACTION_SHELL_FILE_DOWNLOAD 0x1803 7632 #define URLACTION_SHELL_VERB 0x1804 7633 #define URLACTION_SHELL_WEBVIEW_VERB 0x1805 7634 #define URLACTION_SHELL_SHELLEXECUTE 0x1806 7635 7636 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 7637 #define URLACTION_SHELL_EXECUTE_HIGHRISK 0x1806 7638 #define URLACTION_SHELL_EXECUTE_MODRISK 0x1807 7639 #define URLACTION_SHELL_EXECUTE_LOWRISK 0x1808 7640 #define URLACTION_SHELL_POPUPMGR 0x1809 7641 #define URLACTION_SHELL_RTF_OBJECTS_LOAD 0x180A 7642 #define URLACTION_SHELL_ENHANCED_DRAGDROP_SECURITY 0x180B 7643 #define URLACTION_SHELL_EXTENSIONSECURITY 0x180C 7644 #define URLACTION_SHELL_SECURE_DRAGSOURCE 0x180D 7645 #endif 7646 #if (_WIN32_IE >= _WIN32_IE_WIN7) 7647 #define URLACTION_SHELL_REMOTEQUERY 0x180E 7648 #define URLACTION_SHELL_PREVIEW 0x180F 7649 #define URLACTION_SHELL_SHARE 0x1810 7650 #define URLACTION_SHELL_ALLOW_CROSS_SITE_SHARE 0x1811 7651 #endif 7652 #define URLACTION_SHELL_CURR_MAX 0x1811 7653 #define URLACTION_SHELL_MAX 0x19ff 7654 7655 #define URLACTION_NETWORK_MIN 0x1A00 7656 7657 #define URLACTION_CREDENTIALS_USE 0x1A00 7658 #define URLPOLICY_CREDENTIALS_SILENT_LOGON_OK 0x0 7659 #define URLPOLICY_CREDENTIALS_MUST_PROMPT_USER 0x10000 7660 #define URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT 0x20000 7661 #define URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY 0x30000 7662 7663 #define URLACTION_AUTHENTICATE_CLIENT 0x1A01 7664 #define URLPOLICY_AUTHENTICATE_CLEARTEXT_OK 0x0 7665 #define URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE 0x10000 7666 #define URLPOLICY_AUTHENTICATE_MUTUAL_ONLY 0x30000 7667 7668 #define URLACTION_COOKIES 0x1A02 7669 #define URLACTION_COOKIES_SESSION 0x1A03 7670 7671 #define URLACTION_CLIENT_CERT_PROMPT 0x1A04 7672 7673 #define URLACTION_COOKIES_THIRD_PARTY 0x1A05 7674 #define URLACTION_COOKIES_SESSION_THIRD_PARTY 0x1A06 7675 7676 #define URLACTION_COOKIES_ENABLED 0x1A10 7677 7678 #define URLACTION_NETWORK_CURR_MAX 0x1A10 7679 #define URLACTION_NETWORK_MAX 0x1Bff 7680 7681 #define URLACTION_JAVA_MIN 0x1C00 7682 #define URLACTION_JAVA_PERMISSIONS 0x1C00 7683 #define URLPOLICY_JAVA_PROHIBIT 0x0 7684 #define URLPOLICY_JAVA_HIGH 0x10000 7685 #define URLPOLICY_JAVA_MEDIUM 0x20000 7686 #define URLPOLICY_JAVA_LOW 0x30000 7687 #define URLPOLICY_JAVA_CUSTOM 0x800000 7688 #define URLACTION_JAVA_CURR_MAX 0x1C00 7689 #define URLACTION_JAVA_MAX 0x1Cff 7690 7691 #define URLACTION_INFODELIVERY_MIN 0x1D00 7692 #define URLACTION_INFODELIVERY_NO_ADDING_CHANNELS 0x1D00 7693 #define URLACTION_INFODELIVERY_NO_EDITING_CHANNELS 0x1D01 7694 #define URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS 0x1D02 7695 #define URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS 0x1D03 7696 #define URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS 0x1D04 7697 #define URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS 0x1D05 7698 #define URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING 0x1D06 7699 #define URLACTION_INFODELIVERY_CURR_MAX 0x1D06 7700 #define URLACTION_INFODELIVERY_MAX 0x1Dff 7701 #define URLACTION_CHANNEL_SOFTDIST_MIN 0x1E00 7702 #define URLACTION_CHANNEL_SOFTDIST_PERMISSIONS 0x1E05 7703 #define URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT 0x10000 7704 #define URLPOLICY_CHANNEL_SOFTDIST_PRECACHE 0x20000 7705 #define URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL 0x30000 7706 #define URLACTION_CHANNEL_SOFTDIST_MAX 0x1Eff 7707 #if (_WIN32_IE >= _WIN32_IE_IE80) 7708 #define URLACTION_DOTNET_USERCONTROLS 0x2005 7709 #endif 7710 7711 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 7712 #define URLACTION_BEHAVIOR_MIN 0x2000 7713 #define URLACTION_BEHAVIOR_RUN 0x2000 7714 #define URLPOLICY_BEHAVIOR_CHECK_LIST 0x10000 7715 7716 #define URLACTION_FEATURE_MIN 0x2100 7717 #define URLACTION_FEATURE_MIME_SNIFFING 0x2100 7718 #define URLACTION_FEATURE_ZONE_ELEVATION 0x2101 7719 #define URLACTION_FEATURE_WINDOW_RESTRICTIONS 0x2102 7720 #define URLACTION_FEATURE_SCRIPT_STATUS_BAR 0x2103 7721 #define URLACTION_FEATURE_FORCE_ADDR_AND_STATUS 0x2104 7722 #define URLACTION_FEATURE_BLOCK_INPUT_PROMPTS 0x2105 7723 #define URLACTION_FEATURE_DATA_BINDING 0x2106 7724 #define URLACTION_FEATURE_CROSSDOMAIN_FOCUS_CHANGE 0x2107 7725 7726 #define URLACTION_AUTOMATIC_DOWNLOAD_UI_MIN 0x2200 7727 #define URLACTION_AUTOMATIC_DOWNLOAD_UI 0x2200 7728 #define URLACTION_AUTOMATIC_ACTIVEX_UI 0x2201 7729 7730 #define URLACTION_ALLOW_RESTRICTEDPROTOCOLS 0x2300 7731 #endif 7732 #if (_WIN32_IE >= _WIN32_IE_IE70) 7733 #define URLACTION_ALLOW_APEVALUATION 0x2301 7734 #define URLACTION_ALLOW_XHR_EVALUATION 0x2302 7735 #define URLACTION_WINDOWS_BROWSER_APPLICATIONS 0x2400 7736 #define URLACTION_XPS_DOCUMENTS 0x2401 7737 #define URLACTION_LOOSE_XAML 0x2402 7738 #define URLACTION_LOWRIGHTS 0x2500 7739 #define URLACTION_WINFX_SETUP 0x2600 7740 #define URLACTION_INPRIVATE_BLOCKING 0x2700 7741 #endif 7742 #define URLACTION_ALLOW_AUDIO_VIDEO 0x2701 7743 #define URLACTION_ALLOW_ACTIVEX_FILTERING 0x2702 7744 #define URLACTION_ALLOW_STRUCTURED_STORAGE_SNIFFING 0x2703 7745 #define URLACTION_ALLOW_AUDIO_VIDEO_PLUGINS 0x2704 7746 #define URLACTION_ALLOW_ZONE_ELEVATION_VIA_OPT_OUT 0x2705 7747 #define URLACTION_ALLOW_ZONE_ELEVATION_OPT_OUT_ADDITION 0x2706 7748 #define URLACTION_ALLOW_CROSSDOMAIN_DROP_WITHIN_WINDOW 0x2708 7749 #define URLACTION_ALLOW_CROSSDOMAIN_DROP_ACROSS_WINDOWS 0x2709 7750 #define URLACTION_ALLOW_CROSSDOMAIN_APPCACHE_MANIFEST 0x270A 7751 #define URLACTION_ALLOW_RENDER_LEGACY_DXTFILTERS 0x270B 7752 7753 #define URLPOLICY_ALLOW 0x0 7754 #define URLPOLICY_QUERY 0x1 7755 #define URLPOLICY_DISALLOW 0x3 7756 #define URLPOLICY_NOTIFY_ON_ALLOW 0x10 7757 #define URLPOLICY_NOTIFY_ON_DISALLOW 0x20 7758 #define URLPOLICY_LOG_ON_ALLOW 0x40 7759 #define URLPOLICY_LOG_ON_DISALLOW 0x80 7760 7761 #define URLPOLICY_MASK_PERMISSIONS 0x0f 7762 #define GetUrlPolicyPermissions(dw) (dw & URLPOLICY_MASK_PERMISSIONS) 7763 #define SetUrlPolicyPermissions(dw,dw2) ((dw) = ((dw) & ~(URLPOLICY_MASK_PERMISSIONS)) | (dw2)) 7764 7765 #define URLPOLICY_DONTCHECKDLGBOX 0x100 7766 7767 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 7768 EXTERN_C const GUID GUID_CUSTOM_LOCALMACHINEZONEUNLOCKED; 7769 #endif 7770 7771 #ifndef _LPINTERNETZONEMANAGER_DEFINED 7772 #define _LPINTERNETZONEMANAGER_DEFINED 7773 7774 /***************************************************************************** 7775 * IInternetZoneManager interface 7776 */ 7777 #ifndef __IInternetZoneManager_INTERFACE_DEFINED__ 7778 #define __IInternetZoneManager_INTERFACE_DEFINED__ 7779 7780 typedef IInternetZoneManager *LPURLZONEMANAGER; 7781 7782 typedef enum tagURLZONE { 7783 URLZONE_INVALID = -1, 7784 URLZONE_PREDEFINED_MIN = 0, 7785 URLZONE_LOCAL_MACHINE = 0, 7786 URLZONE_INTRANET = 1, 7787 URLZONE_TRUSTED = 2, 7788 URLZONE_INTERNET = 3, 7789 URLZONE_UNTRUSTED = 4, 7790 URLZONE_PREDEFINED_MAX = 999, 7791 URLZONE_USER_MIN = 1000, 7792 URLZONE_USER_MAX = 10000 7793 } URLZONE; 7794 7795 #define URLZONE_ESC_FLAG 0x100 7796 7797 typedef enum tagURLTEMPLATE { 7798 URLTEMPLATE_CUSTOM = 0x0, 7799 URLTEMPLATE_PREDEFINED_MIN = 0x10000, 7800 URLTEMPLATE_LOW = 0x10000, 7801 URLTEMPLATE_MEDLOW = 0x10500, 7802 URLTEMPLATE_MEDIUM = 0x11000, 7803 URLTEMPLATE_MEDHIGH = 0x11500, 7804 URLTEMPLATE_HIGH = 0x12000, 7805 URLTEMPLATE_PREDEFINED_MAX = 0x20000 7806 } URLTEMPLATE; 7807 7808 enum { 7809 MAX_ZONE_PATH = 260, 7810 MAX_ZONE_DESCRIPTION = 200 7811 }; 7812 7813 typedef enum __WIDL_urlmon_generated_name_00000011 { 7814 ZAFLAGS_CUSTOM_EDIT = 0x1, 7815 ZAFLAGS_ADD_SITES = 0x2, 7816 ZAFLAGS_REQUIRE_VERIFICATION = 0x4, 7817 ZAFLAGS_INCLUDE_PROXY_OVERRIDE = 0x8, 7818 ZAFLAGS_INCLUDE_INTRANET_SITES = 0x10, 7819 ZAFLAGS_NO_UI = 0x20, 7820 ZAFLAGS_SUPPORTS_VERIFICATION = 0x40, 7821 ZAFLAGS_UNC_AS_INTRANET = 0x80, 7822 ZAFLAGS_DETECT_INTRANET = 0x100, 7823 ZAFLAGS_USE_LOCKED_ZONES = 0x10000, 7824 ZAFLAGS_VERIFY_TEMPLATE_SETTINGS = 0x20000, 7825 ZAFLAGS_NO_CACHE = 0x40000 7826 } ZAFLAGS; 7827 7828 typedef struct _ZONEATTRIBUTES { 7829 ULONG cbSize; 7830 WCHAR szDisplayName[260]; 7831 WCHAR szDescription[200]; 7832 WCHAR szIconPath[260]; 7833 DWORD dwTemplateMinLevel; 7834 DWORD dwTemplateRecommended; 7835 DWORD dwTemplateCurrentLevel; 7836 DWORD dwFlags; 7837 } ZONEATTRIBUTES; 7838 typedef struct _ZONEATTRIBUTES *LPZONEATTRIBUTES; 7839 7840 7841 typedef enum _URLZONEREG { 7842 URLZONEREG_DEFAULT = 0, 7843 URLZONEREG_HKLM = 1, 7844 URLZONEREG_HKCU = 2 7845 } URLZONEREG; 7846 7847 DEFINE_GUID(IID_IInternetZoneManager, 0x79eac9ef, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); 7848 #if defined(__cplusplus) && !defined(CINTERFACE) 7849 MIDL_INTERFACE("79eac9ef-baf9-11ce-8c82-00aa004ba90b") 7850 IInternetZoneManager : public IUnknown 7851 { 7852 virtual HRESULT STDMETHODCALLTYPE GetZoneAttributes( 7853 DWORD dwZone, 7854 ZONEATTRIBUTES *pZoneAttributes) = 0; 7855 7856 virtual HRESULT STDMETHODCALLTYPE SetZoneAttributes( 7857 DWORD dwZone, 7858 ZONEATTRIBUTES *pZoneAttributes) = 0; 7859 7860 virtual HRESULT STDMETHODCALLTYPE GetZoneCustomPolicy( 7861 DWORD dwZone, 7862 REFGUID guidKey, 7863 BYTE **ppPolicy, 7864 DWORD *pcbPolicy, 7865 URLZONEREG urlZoneReg) = 0; 7866 7867 virtual HRESULT STDMETHODCALLTYPE SetZoneCustomPolicy( 7868 DWORD dwZone, 7869 REFGUID guidKey, 7870 BYTE *pPolicy, 7871 DWORD cbPolicy, 7872 URLZONEREG urlZoneReg) = 0; 7873 7874 virtual HRESULT STDMETHODCALLTYPE GetZoneActionPolicy( 7875 DWORD dwZone, 7876 DWORD dwAction, 7877 BYTE *pPolicy, 7878 DWORD cbPolicy, 7879 URLZONEREG urlZoneReg) = 0; 7880 7881 virtual HRESULT STDMETHODCALLTYPE SetZoneActionPolicy( 7882 DWORD dwZone, 7883 DWORD dwAction, 7884 BYTE *pPolicy, 7885 DWORD cbPolicy, 7886 URLZONEREG urlZoneReg) = 0; 7887 7888 virtual HRESULT STDMETHODCALLTYPE PromptAction( 7889 DWORD dwAction, 7890 HWND hwndParent, 7891 LPCWSTR pwszUrl, 7892 LPCWSTR pwszText, 7893 DWORD dwPromptFlags) = 0; 7894 7895 virtual HRESULT STDMETHODCALLTYPE LogAction( 7896 DWORD dwAction, 7897 LPCWSTR pwszUrl, 7898 LPCWSTR pwszText, 7899 DWORD dwLogFlags) = 0; 7900 7901 virtual HRESULT STDMETHODCALLTYPE CreateZoneEnumerator( 7902 DWORD *pdwEnum, 7903 DWORD *pdwCount, 7904 DWORD dwFlags) = 0; 7905 7906 virtual HRESULT STDMETHODCALLTYPE GetZoneAt( 7907 DWORD dwEnum, 7908 DWORD dwIndex, 7909 DWORD *pdwZone) = 0; 7910 7911 virtual HRESULT STDMETHODCALLTYPE DestroyZoneEnumerator( 7912 DWORD dwEnum) = 0; 7913 7914 virtual HRESULT STDMETHODCALLTYPE CopyTemplatePoliciesToZone( 7915 DWORD dwTemplate, 7916 DWORD dwZone, 7917 DWORD dwReserved) = 0; 7918 7919 }; 7920 #ifdef __CRT_UUID_DECL 7921 __CRT_UUID_DECL(IInternetZoneManager, 0x79eac9ef, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) 7922 #endif 7923 #else 7924 typedef struct IInternetZoneManagerVtbl { 7925 BEGIN_INTERFACE 7926 7927 /*** IUnknown methods ***/ 7928 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7929 IInternetZoneManager *This, 7930 REFIID riid, 7931 void **ppvObject); 7932 7933 ULONG (STDMETHODCALLTYPE *AddRef)( 7934 IInternetZoneManager *This); 7935 7936 ULONG (STDMETHODCALLTYPE *Release)( 7937 IInternetZoneManager *This); 7938 7939 /*** IInternetZoneManager methods ***/ 7940 HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)( 7941 IInternetZoneManager *This, 7942 DWORD dwZone, 7943 ZONEATTRIBUTES *pZoneAttributes); 7944 7945 HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)( 7946 IInternetZoneManager *This, 7947 DWORD dwZone, 7948 ZONEATTRIBUTES *pZoneAttributes); 7949 7950 HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)( 7951 IInternetZoneManager *This, 7952 DWORD dwZone, 7953 REFGUID guidKey, 7954 BYTE **ppPolicy, 7955 DWORD *pcbPolicy, 7956 URLZONEREG urlZoneReg); 7957 7958 HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)( 7959 IInternetZoneManager *This, 7960 DWORD dwZone, 7961 REFGUID guidKey, 7962 BYTE *pPolicy, 7963 DWORD cbPolicy, 7964 URLZONEREG urlZoneReg); 7965 7966 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)( 7967 IInternetZoneManager *This, 7968 DWORD dwZone, 7969 DWORD dwAction, 7970 BYTE *pPolicy, 7971 DWORD cbPolicy, 7972 URLZONEREG urlZoneReg); 7973 7974 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)( 7975 IInternetZoneManager *This, 7976 DWORD dwZone, 7977 DWORD dwAction, 7978 BYTE *pPolicy, 7979 DWORD cbPolicy, 7980 URLZONEREG urlZoneReg); 7981 7982 HRESULT (STDMETHODCALLTYPE *PromptAction)( 7983 IInternetZoneManager *This, 7984 DWORD dwAction, 7985 HWND hwndParent, 7986 LPCWSTR pwszUrl, 7987 LPCWSTR pwszText, 7988 DWORD dwPromptFlags); 7989 7990 HRESULT (STDMETHODCALLTYPE *LogAction)( 7991 IInternetZoneManager *This, 7992 DWORD dwAction, 7993 LPCWSTR pwszUrl, 7994 LPCWSTR pwszText, 7995 DWORD dwLogFlags); 7996 7997 HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)( 7998 IInternetZoneManager *This, 7999 DWORD *pdwEnum, 8000 DWORD *pdwCount, 8001 DWORD dwFlags); 8002 8003 HRESULT (STDMETHODCALLTYPE *GetZoneAt)( 8004 IInternetZoneManager *This, 8005 DWORD dwEnum, 8006 DWORD dwIndex, 8007 DWORD *pdwZone); 8008 8009 HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)( 8010 IInternetZoneManager *This, 8011 DWORD dwEnum); 8012 8013 HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)( 8014 IInternetZoneManager *This, 8015 DWORD dwTemplate, 8016 DWORD dwZone, 8017 DWORD dwReserved); 8018 8019 END_INTERFACE 8020 } IInternetZoneManagerVtbl; 8021 8022 interface IInternetZoneManager { 8023 CONST_VTBL IInternetZoneManagerVtbl* lpVtbl; 8024 }; 8025 8026 #ifdef COBJMACROS 8027 #ifndef WIDL_C_INLINE_WRAPPERS 8028 /*** IUnknown methods ***/ 8029 #define IInternetZoneManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8030 #define IInternetZoneManager_AddRef(This) (This)->lpVtbl->AddRef(This) 8031 #define IInternetZoneManager_Release(This) (This)->lpVtbl->Release(This) 8032 /*** IInternetZoneManager methods ***/ 8033 #define IInternetZoneManager_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes) 8034 #define IInternetZoneManager_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes) 8035 #define IInternetZoneManager_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) 8036 #define IInternetZoneManager_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) 8037 #define IInternetZoneManager_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) 8038 #define IInternetZoneManager_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) 8039 #define IInternetZoneManager_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) 8040 #define IInternetZoneManager_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) 8041 #define IInternetZoneManager_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) 8042 #define IInternetZoneManager_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone) 8043 #define IInternetZoneManager_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum) 8044 #define IInternetZoneManager_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) 8045 #else 8046 /*** IUnknown methods ***/ 8047 static FORCEINLINE HRESULT IInternetZoneManager_QueryInterface(IInternetZoneManager* This,REFIID riid,void **ppvObject) { 8048 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8049 } 8050 static FORCEINLINE ULONG IInternetZoneManager_AddRef(IInternetZoneManager* This) { 8051 return This->lpVtbl->AddRef(This); 8052 } 8053 static FORCEINLINE ULONG IInternetZoneManager_Release(IInternetZoneManager* This) { 8054 return This->lpVtbl->Release(This); 8055 } 8056 /*** IInternetZoneManager methods ***/ 8057 static FORCEINLINE HRESULT IInternetZoneManager_GetZoneAttributes(IInternetZoneManager* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { 8058 return This->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes); 8059 } 8060 static FORCEINLINE HRESULT IInternetZoneManager_SetZoneAttributes(IInternetZoneManager* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { 8061 return This->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes); 8062 } 8063 static FORCEINLINE HRESULT IInternetZoneManager_GetZoneCustomPolicy(IInternetZoneManager* This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg) { 8064 return This->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg); 8065 } 8066 static FORCEINLINE HRESULT IInternetZoneManager_SetZoneCustomPolicy(IInternetZoneManager* This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { 8067 return This->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg); 8068 } 8069 static FORCEINLINE HRESULT IInternetZoneManager_GetZoneActionPolicy(IInternetZoneManager* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { 8070 return This->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); 8071 } 8072 static FORCEINLINE HRESULT IInternetZoneManager_SetZoneActionPolicy(IInternetZoneManager* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { 8073 return This->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); 8074 } 8075 static FORCEINLINE HRESULT IInternetZoneManager_PromptAction(IInternetZoneManager* This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags) { 8076 return This->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags); 8077 } 8078 static FORCEINLINE HRESULT IInternetZoneManager_LogAction(IInternetZoneManager* This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags) { 8079 return This->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags); 8080 } 8081 static FORCEINLINE HRESULT IInternetZoneManager_CreateZoneEnumerator(IInternetZoneManager* This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags) { 8082 return This->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags); 8083 } 8084 static FORCEINLINE HRESULT IInternetZoneManager_GetZoneAt(IInternetZoneManager* This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone) { 8085 return This->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone); 8086 } 8087 static FORCEINLINE HRESULT IInternetZoneManager_DestroyZoneEnumerator(IInternetZoneManager* This,DWORD dwEnum) { 8088 return This->lpVtbl->DestroyZoneEnumerator(This,dwEnum); 8089 } 8090 static FORCEINLINE HRESULT IInternetZoneManager_CopyTemplatePoliciesToZone(IInternetZoneManager* This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved) { 8091 return This->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved); 8092 } 8093 #endif 8094 #endif 8095 8096 #endif 8097 8098 8099 #endif /* __IInternetZoneManager_INTERFACE_DEFINED__ */ 8100 8101 #endif 8102 8103 #if (_WIN32_IE >= _WIN32_IE_IE60SP2) 8104 #ifndef _LPINTERNETZONEMANAGEREX_DEFINED 8105 #define _LPINTERNETZONEMANAGEREX_DEFINED 8106 8107 /***************************************************************************** 8108 * IInternetZoneManagerEx interface 8109 */ 8110 #ifndef __IInternetZoneManagerEx_INTERFACE_DEFINED__ 8111 #define __IInternetZoneManagerEx_INTERFACE_DEFINED__ 8112 8113 DEFINE_GUID(IID_IInternetZoneManagerEx, 0xa4c23339, 0x8e06, 0x431e, 0x9b,0xf4, 0x7e,0x71,0x1c,0x08,0x56,0x48); 8114 #if defined(__cplusplus) && !defined(CINTERFACE) 8115 MIDL_INTERFACE("a4c23339-8e06-431e-9bf4-7e711c085648") 8116 IInternetZoneManagerEx : public IInternetZoneManager 8117 { 8118 virtual HRESULT STDMETHODCALLTYPE GetZoneActionPolicyEx( 8119 DWORD dwZone, 8120 DWORD dwAction, 8121 BYTE *pPolicy, 8122 DWORD cbPolicy, 8123 URLZONEREG urlZoneReg, 8124 DWORD dwFlags) = 0; 8125 8126 virtual HRESULT STDMETHODCALLTYPE SetZoneActionPolicyEx( 8127 DWORD dwZone, 8128 DWORD dwAction, 8129 BYTE *pPolicy, 8130 DWORD cbPolicy, 8131 URLZONEREG urlZoneReg, 8132 DWORD dwFlags) = 0; 8133 8134 }; 8135 #ifdef __CRT_UUID_DECL 8136 __CRT_UUID_DECL(IInternetZoneManagerEx, 0xa4c23339, 0x8e06, 0x431e, 0x9b,0xf4, 0x7e,0x71,0x1c,0x08,0x56,0x48) 8137 #endif 8138 #else 8139 typedef struct IInternetZoneManagerExVtbl { 8140 BEGIN_INTERFACE 8141 8142 /*** IUnknown methods ***/ 8143 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8144 IInternetZoneManagerEx *This, 8145 REFIID riid, 8146 void **ppvObject); 8147 8148 ULONG (STDMETHODCALLTYPE *AddRef)( 8149 IInternetZoneManagerEx *This); 8150 8151 ULONG (STDMETHODCALLTYPE *Release)( 8152 IInternetZoneManagerEx *This); 8153 8154 /*** IInternetZoneManager methods ***/ 8155 HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)( 8156 IInternetZoneManagerEx *This, 8157 DWORD dwZone, 8158 ZONEATTRIBUTES *pZoneAttributes); 8159 8160 HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)( 8161 IInternetZoneManagerEx *This, 8162 DWORD dwZone, 8163 ZONEATTRIBUTES *pZoneAttributes); 8164 8165 HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)( 8166 IInternetZoneManagerEx *This, 8167 DWORD dwZone, 8168 REFGUID guidKey, 8169 BYTE **ppPolicy, 8170 DWORD *pcbPolicy, 8171 URLZONEREG urlZoneReg); 8172 8173 HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)( 8174 IInternetZoneManagerEx *This, 8175 DWORD dwZone, 8176 REFGUID guidKey, 8177 BYTE *pPolicy, 8178 DWORD cbPolicy, 8179 URLZONEREG urlZoneReg); 8180 8181 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)( 8182 IInternetZoneManagerEx *This, 8183 DWORD dwZone, 8184 DWORD dwAction, 8185 BYTE *pPolicy, 8186 DWORD cbPolicy, 8187 URLZONEREG urlZoneReg); 8188 8189 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)( 8190 IInternetZoneManagerEx *This, 8191 DWORD dwZone, 8192 DWORD dwAction, 8193 BYTE *pPolicy, 8194 DWORD cbPolicy, 8195 URLZONEREG urlZoneReg); 8196 8197 HRESULT (STDMETHODCALLTYPE *PromptAction)( 8198 IInternetZoneManagerEx *This, 8199 DWORD dwAction, 8200 HWND hwndParent, 8201 LPCWSTR pwszUrl, 8202 LPCWSTR pwszText, 8203 DWORD dwPromptFlags); 8204 8205 HRESULT (STDMETHODCALLTYPE *LogAction)( 8206 IInternetZoneManagerEx *This, 8207 DWORD dwAction, 8208 LPCWSTR pwszUrl, 8209 LPCWSTR pwszText, 8210 DWORD dwLogFlags); 8211 8212 HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)( 8213 IInternetZoneManagerEx *This, 8214 DWORD *pdwEnum, 8215 DWORD *pdwCount, 8216 DWORD dwFlags); 8217 8218 HRESULT (STDMETHODCALLTYPE *GetZoneAt)( 8219 IInternetZoneManagerEx *This, 8220 DWORD dwEnum, 8221 DWORD dwIndex, 8222 DWORD *pdwZone); 8223 8224 HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)( 8225 IInternetZoneManagerEx *This, 8226 DWORD dwEnum); 8227 8228 HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)( 8229 IInternetZoneManagerEx *This, 8230 DWORD dwTemplate, 8231 DWORD dwZone, 8232 DWORD dwReserved); 8233 8234 /*** IInternetZoneManagerEx methods ***/ 8235 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicyEx)( 8236 IInternetZoneManagerEx *This, 8237 DWORD dwZone, 8238 DWORD dwAction, 8239 BYTE *pPolicy, 8240 DWORD cbPolicy, 8241 URLZONEREG urlZoneReg, 8242 DWORD dwFlags); 8243 8244 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicyEx)( 8245 IInternetZoneManagerEx *This, 8246 DWORD dwZone, 8247 DWORD dwAction, 8248 BYTE *pPolicy, 8249 DWORD cbPolicy, 8250 URLZONEREG urlZoneReg, 8251 DWORD dwFlags); 8252 8253 END_INTERFACE 8254 } IInternetZoneManagerExVtbl; 8255 8256 interface IInternetZoneManagerEx { 8257 CONST_VTBL IInternetZoneManagerExVtbl* lpVtbl; 8258 }; 8259 8260 #ifdef COBJMACROS 8261 #ifndef WIDL_C_INLINE_WRAPPERS 8262 /*** IUnknown methods ***/ 8263 #define IInternetZoneManagerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8264 #define IInternetZoneManagerEx_AddRef(This) (This)->lpVtbl->AddRef(This) 8265 #define IInternetZoneManagerEx_Release(This) (This)->lpVtbl->Release(This) 8266 /*** IInternetZoneManager methods ***/ 8267 #define IInternetZoneManagerEx_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes) 8268 #define IInternetZoneManagerEx_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes) 8269 #define IInternetZoneManagerEx_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) 8270 #define IInternetZoneManagerEx_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) 8271 #define IInternetZoneManagerEx_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) 8272 #define IInternetZoneManagerEx_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) 8273 #define IInternetZoneManagerEx_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) 8274 #define IInternetZoneManagerEx_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) 8275 #define IInternetZoneManagerEx_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) 8276 #define IInternetZoneManagerEx_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone) 8277 #define IInternetZoneManagerEx_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum) 8278 #define IInternetZoneManagerEx_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) 8279 /*** IInternetZoneManagerEx methods ***/ 8280 #define IInternetZoneManagerEx_GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) 8281 #define IInternetZoneManagerEx_SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) 8282 #else 8283 /*** IUnknown methods ***/ 8284 static FORCEINLINE HRESULT IInternetZoneManagerEx_QueryInterface(IInternetZoneManagerEx* This,REFIID riid,void **ppvObject) { 8285 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8286 } 8287 static FORCEINLINE ULONG IInternetZoneManagerEx_AddRef(IInternetZoneManagerEx* This) { 8288 return This->lpVtbl->AddRef(This); 8289 } 8290 static FORCEINLINE ULONG IInternetZoneManagerEx_Release(IInternetZoneManagerEx* This) { 8291 return This->lpVtbl->Release(This); 8292 } 8293 /*** IInternetZoneManager methods ***/ 8294 static FORCEINLINE HRESULT IInternetZoneManagerEx_GetZoneAttributes(IInternetZoneManagerEx* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { 8295 return This->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes); 8296 } 8297 static FORCEINLINE HRESULT IInternetZoneManagerEx_SetZoneAttributes(IInternetZoneManagerEx* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { 8298 return This->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes); 8299 } 8300 static FORCEINLINE HRESULT IInternetZoneManagerEx_GetZoneCustomPolicy(IInternetZoneManagerEx* This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg) { 8301 return This->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg); 8302 } 8303 static FORCEINLINE HRESULT IInternetZoneManagerEx_SetZoneCustomPolicy(IInternetZoneManagerEx* This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { 8304 return This->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg); 8305 } 8306 static FORCEINLINE HRESULT IInternetZoneManagerEx_GetZoneActionPolicy(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { 8307 return This->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); 8308 } 8309 static FORCEINLINE HRESULT IInternetZoneManagerEx_SetZoneActionPolicy(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { 8310 return This->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); 8311 } 8312 static FORCEINLINE HRESULT IInternetZoneManagerEx_PromptAction(IInternetZoneManagerEx* This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags) { 8313 return This->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags); 8314 } 8315 static FORCEINLINE HRESULT IInternetZoneManagerEx_LogAction(IInternetZoneManagerEx* This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags) { 8316 return This->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags); 8317 } 8318 static FORCEINLINE HRESULT IInternetZoneManagerEx_CreateZoneEnumerator(IInternetZoneManagerEx* This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags) { 8319 return This->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags); 8320 } 8321 static FORCEINLINE HRESULT IInternetZoneManagerEx_GetZoneAt(IInternetZoneManagerEx* This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone) { 8322 return This->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone); 8323 } 8324 static FORCEINLINE HRESULT IInternetZoneManagerEx_DestroyZoneEnumerator(IInternetZoneManagerEx* This,DWORD dwEnum) { 8325 return This->lpVtbl->DestroyZoneEnumerator(This,dwEnum); 8326 } 8327 static FORCEINLINE HRESULT IInternetZoneManagerEx_CopyTemplatePoliciesToZone(IInternetZoneManagerEx* This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved) { 8328 return This->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved); 8329 } 8330 /*** IInternetZoneManagerEx methods ***/ 8331 static FORCEINLINE HRESULT IInternetZoneManagerEx_GetZoneActionPolicyEx(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) { 8332 return This->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags); 8333 } 8334 static FORCEINLINE HRESULT IInternetZoneManagerEx_SetZoneActionPolicyEx(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) { 8335 return This->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags); 8336 } 8337 #endif 8338 #endif 8339 8340 #endif 8341 8342 8343 #endif /* __IInternetZoneManagerEx_INTERFACE_DEFINED__ */ 8344 8345 #endif 8346 #endif 8347 8348 #if (_WIN32_IE >= _WIN32_IE_IE70) 8349 #ifndef _LPINTERNETZONEMANAGEREX2_DEFINED 8350 #define _LPINTERNETZONEMANAGEREX2_DEFINED 8351 8352 #define SECURITY_IE_STATE_GREEN 0x0 8353 #define SECURITY_IE_STATE_RED 0x1 8354 8355 /***************************************************************************** 8356 * IInternetZoneManagerEx2 interface 8357 */ 8358 #ifndef __IInternetZoneManagerEx2_INTERFACE_DEFINED__ 8359 #define __IInternetZoneManagerEx2_INTERFACE_DEFINED__ 8360 8361 DEFINE_GUID(IID_IInternetZoneManagerEx2, 0xedc17559, 0xdd5d, 0x4846, 0x8e,0xef, 0x8b,0xec,0xba,0x5a,0x4a,0xbf); 8362 #if defined(__cplusplus) && !defined(CINTERFACE) 8363 MIDL_INTERFACE("edc17559-dd5d-4846-8eef-8becba5a4abf") 8364 IInternetZoneManagerEx2 : public IInternetZoneManagerEx 8365 { 8366 virtual HRESULT STDMETHODCALLTYPE GetZoneAttributesEx( 8367 DWORD dwZone, 8368 ZONEATTRIBUTES *pZoneAttributes, 8369 DWORD dwFlags) = 0; 8370 8371 virtual HRESULT STDMETHODCALLTYPE GetZoneSecurityState( 8372 DWORD dwZoneIndex, 8373 WINBOOL fRespectPolicy, 8374 LPDWORD pdwState, 8375 WINBOOL *pfPolicyEncountered) = 0; 8376 8377 virtual HRESULT STDMETHODCALLTYPE GetIESecurityState( 8378 WINBOOL fRespectPolicy, 8379 LPDWORD pdwState, 8380 WINBOOL *pfPolicyEncountered, 8381 WINBOOL fNoCache) = 0; 8382 8383 virtual HRESULT STDMETHODCALLTYPE FixUnsecureSettings( 8384 ) = 0; 8385 8386 }; 8387 #ifdef __CRT_UUID_DECL 8388 __CRT_UUID_DECL(IInternetZoneManagerEx2, 0xedc17559, 0xdd5d, 0x4846, 0x8e,0xef, 0x8b,0xec,0xba,0x5a,0x4a,0xbf) 8389 #endif 8390 #else 8391 typedef struct IInternetZoneManagerEx2Vtbl { 8392 BEGIN_INTERFACE 8393 8394 /*** IUnknown methods ***/ 8395 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8396 IInternetZoneManagerEx2 *This, 8397 REFIID riid, 8398 void **ppvObject); 8399 8400 ULONG (STDMETHODCALLTYPE *AddRef)( 8401 IInternetZoneManagerEx2 *This); 8402 8403 ULONG (STDMETHODCALLTYPE *Release)( 8404 IInternetZoneManagerEx2 *This); 8405 8406 /*** IInternetZoneManager methods ***/ 8407 HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)( 8408 IInternetZoneManagerEx2 *This, 8409 DWORD dwZone, 8410 ZONEATTRIBUTES *pZoneAttributes); 8411 8412 HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)( 8413 IInternetZoneManagerEx2 *This, 8414 DWORD dwZone, 8415 ZONEATTRIBUTES *pZoneAttributes); 8416 8417 HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)( 8418 IInternetZoneManagerEx2 *This, 8419 DWORD dwZone, 8420 REFGUID guidKey, 8421 BYTE **ppPolicy, 8422 DWORD *pcbPolicy, 8423 URLZONEREG urlZoneReg); 8424 8425 HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)( 8426 IInternetZoneManagerEx2 *This, 8427 DWORD dwZone, 8428 REFGUID guidKey, 8429 BYTE *pPolicy, 8430 DWORD cbPolicy, 8431 URLZONEREG urlZoneReg); 8432 8433 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)( 8434 IInternetZoneManagerEx2 *This, 8435 DWORD dwZone, 8436 DWORD dwAction, 8437 BYTE *pPolicy, 8438 DWORD cbPolicy, 8439 URLZONEREG urlZoneReg); 8440 8441 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)( 8442 IInternetZoneManagerEx2 *This, 8443 DWORD dwZone, 8444 DWORD dwAction, 8445 BYTE *pPolicy, 8446 DWORD cbPolicy, 8447 URLZONEREG urlZoneReg); 8448 8449 HRESULT (STDMETHODCALLTYPE *PromptAction)( 8450 IInternetZoneManagerEx2 *This, 8451 DWORD dwAction, 8452 HWND hwndParent, 8453 LPCWSTR pwszUrl, 8454 LPCWSTR pwszText, 8455 DWORD dwPromptFlags); 8456 8457 HRESULT (STDMETHODCALLTYPE *LogAction)( 8458 IInternetZoneManagerEx2 *This, 8459 DWORD dwAction, 8460 LPCWSTR pwszUrl, 8461 LPCWSTR pwszText, 8462 DWORD dwLogFlags); 8463 8464 HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)( 8465 IInternetZoneManagerEx2 *This, 8466 DWORD *pdwEnum, 8467 DWORD *pdwCount, 8468 DWORD dwFlags); 8469 8470 HRESULT (STDMETHODCALLTYPE *GetZoneAt)( 8471 IInternetZoneManagerEx2 *This, 8472 DWORD dwEnum, 8473 DWORD dwIndex, 8474 DWORD *pdwZone); 8475 8476 HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)( 8477 IInternetZoneManagerEx2 *This, 8478 DWORD dwEnum); 8479 8480 HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)( 8481 IInternetZoneManagerEx2 *This, 8482 DWORD dwTemplate, 8483 DWORD dwZone, 8484 DWORD dwReserved); 8485 8486 /*** IInternetZoneManagerEx methods ***/ 8487 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicyEx)( 8488 IInternetZoneManagerEx2 *This, 8489 DWORD dwZone, 8490 DWORD dwAction, 8491 BYTE *pPolicy, 8492 DWORD cbPolicy, 8493 URLZONEREG urlZoneReg, 8494 DWORD dwFlags); 8495 8496 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicyEx)( 8497 IInternetZoneManagerEx2 *This, 8498 DWORD dwZone, 8499 DWORD dwAction, 8500 BYTE *pPolicy, 8501 DWORD cbPolicy, 8502 URLZONEREG urlZoneReg, 8503 DWORD dwFlags); 8504 8505 /*** IInternetZoneManagerEx2 methods ***/ 8506 HRESULT (STDMETHODCALLTYPE *GetZoneAttributesEx)( 8507 IInternetZoneManagerEx2 *This, 8508 DWORD dwZone, 8509 ZONEATTRIBUTES *pZoneAttributes, 8510 DWORD dwFlags); 8511 8512 HRESULT (STDMETHODCALLTYPE *GetZoneSecurityState)( 8513 IInternetZoneManagerEx2 *This, 8514 DWORD dwZoneIndex, 8515 WINBOOL fRespectPolicy, 8516 LPDWORD pdwState, 8517 WINBOOL *pfPolicyEncountered); 8518 8519 HRESULT (STDMETHODCALLTYPE *GetIESecurityState)( 8520 IInternetZoneManagerEx2 *This, 8521 WINBOOL fRespectPolicy, 8522 LPDWORD pdwState, 8523 WINBOOL *pfPolicyEncountered, 8524 WINBOOL fNoCache); 8525 8526 HRESULT (STDMETHODCALLTYPE *FixUnsecureSettings)( 8527 IInternetZoneManagerEx2 *This); 8528 8529 END_INTERFACE 8530 } IInternetZoneManagerEx2Vtbl; 8531 8532 interface IInternetZoneManagerEx2 { 8533 CONST_VTBL IInternetZoneManagerEx2Vtbl* lpVtbl; 8534 }; 8535 8536 #ifdef COBJMACROS 8537 #ifndef WIDL_C_INLINE_WRAPPERS 8538 /*** IUnknown methods ***/ 8539 #define IInternetZoneManagerEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8540 #define IInternetZoneManagerEx2_AddRef(This) (This)->lpVtbl->AddRef(This) 8541 #define IInternetZoneManagerEx2_Release(This) (This)->lpVtbl->Release(This) 8542 /*** IInternetZoneManager methods ***/ 8543 #define IInternetZoneManagerEx2_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes) 8544 #define IInternetZoneManagerEx2_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes) 8545 #define IInternetZoneManagerEx2_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) 8546 #define IInternetZoneManagerEx2_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) 8547 #define IInternetZoneManagerEx2_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) 8548 #define IInternetZoneManagerEx2_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) 8549 #define IInternetZoneManagerEx2_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) 8550 #define IInternetZoneManagerEx2_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) 8551 #define IInternetZoneManagerEx2_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) 8552 #define IInternetZoneManagerEx2_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone) 8553 #define IInternetZoneManagerEx2_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum) 8554 #define IInternetZoneManagerEx2_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) 8555 /*** IInternetZoneManagerEx methods ***/ 8556 #define IInternetZoneManagerEx2_GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) 8557 #define IInternetZoneManagerEx2_SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) 8558 /*** IInternetZoneManagerEx2 methods ***/ 8559 #define IInternetZoneManagerEx2_GetZoneAttributesEx(This,dwZone,pZoneAttributes,dwFlags) (This)->lpVtbl->GetZoneAttributesEx(This,dwZone,pZoneAttributes,dwFlags) 8560 #define IInternetZoneManagerEx2_GetZoneSecurityState(This,dwZoneIndex,fRespectPolicy,pdwState,pfPolicyEncountered) (This)->lpVtbl->GetZoneSecurityState(This,dwZoneIndex,fRespectPolicy,pdwState,pfPolicyEncountered) 8561 #define IInternetZoneManagerEx2_GetIESecurityState(This,fRespectPolicy,pdwState,pfPolicyEncountered,fNoCache) (This)->lpVtbl->GetIESecurityState(This,fRespectPolicy,pdwState,pfPolicyEncountered,fNoCache) 8562 #define IInternetZoneManagerEx2_FixUnsecureSettings(This) (This)->lpVtbl->FixUnsecureSettings(This) 8563 #else 8564 /*** IUnknown methods ***/ 8565 static FORCEINLINE HRESULT IInternetZoneManagerEx2_QueryInterface(IInternetZoneManagerEx2* This,REFIID riid,void **ppvObject) { 8566 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8567 } 8568 static FORCEINLINE ULONG IInternetZoneManagerEx2_AddRef(IInternetZoneManagerEx2* This) { 8569 return This->lpVtbl->AddRef(This); 8570 } 8571 static FORCEINLINE ULONG IInternetZoneManagerEx2_Release(IInternetZoneManagerEx2* This) { 8572 return This->lpVtbl->Release(This); 8573 } 8574 /*** IInternetZoneManager methods ***/ 8575 static FORCEINLINE HRESULT IInternetZoneManagerEx2_GetZoneAttributes(IInternetZoneManagerEx2* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { 8576 return This->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes); 8577 } 8578 static FORCEINLINE HRESULT IInternetZoneManagerEx2_SetZoneAttributes(IInternetZoneManagerEx2* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { 8579 return This->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes); 8580 } 8581 static FORCEINLINE HRESULT IInternetZoneManagerEx2_GetZoneCustomPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg) { 8582 return This->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg); 8583 } 8584 static FORCEINLINE HRESULT IInternetZoneManagerEx2_SetZoneCustomPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { 8585 return This->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg); 8586 } 8587 static FORCEINLINE HRESULT IInternetZoneManagerEx2_GetZoneActionPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { 8588 return This->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); 8589 } 8590 static FORCEINLINE HRESULT IInternetZoneManagerEx2_SetZoneActionPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { 8591 return This->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); 8592 } 8593 static FORCEINLINE HRESULT IInternetZoneManagerEx2_PromptAction(IInternetZoneManagerEx2* This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags) { 8594 return This->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags); 8595 } 8596 static FORCEINLINE HRESULT IInternetZoneManagerEx2_LogAction(IInternetZoneManagerEx2* This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags) { 8597 return This->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags); 8598 } 8599 static FORCEINLINE HRESULT IInternetZoneManagerEx2_CreateZoneEnumerator(IInternetZoneManagerEx2* This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags) { 8600 return This->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags); 8601 } 8602 static FORCEINLINE HRESULT IInternetZoneManagerEx2_GetZoneAt(IInternetZoneManagerEx2* This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone) { 8603 return This->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone); 8604 } 8605 static FORCEINLINE HRESULT IInternetZoneManagerEx2_DestroyZoneEnumerator(IInternetZoneManagerEx2* This,DWORD dwEnum) { 8606 return This->lpVtbl->DestroyZoneEnumerator(This,dwEnum); 8607 } 8608 static FORCEINLINE HRESULT IInternetZoneManagerEx2_CopyTemplatePoliciesToZone(IInternetZoneManagerEx2* This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved) { 8609 return This->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved); 8610 } 8611 /*** IInternetZoneManagerEx methods ***/ 8612 static FORCEINLINE HRESULT IInternetZoneManagerEx2_GetZoneActionPolicyEx(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) { 8613 return This->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags); 8614 } 8615 static FORCEINLINE HRESULT IInternetZoneManagerEx2_SetZoneActionPolicyEx(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) { 8616 return This->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags); 8617 } 8618 /*** IInternetZoneManagerEx2 methods ***/ 8619 static FORCEINLINE HRESULT IInternetZoneManagerEx2_GetZoneAttributesEx(IInternetZoneManagerEx2* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes,DWORD dwFlags) { 8620 return This->lpVtbl->GetZoneAttributesEx(This,dwZone,pZoneAttributes,dwFlags); 8621 } 8622 static FORCEINLINE HRESULT IInternetZoneManagerEx2_GetZoneSecurityState(IInternetZoneManagerEx2* This,DWORD dwZoneIndex,WINBOOL fRespectPolicy,LPDWORD pdwState,WINBOOL *pfPolicyEncountered) { 8623 return This->lpVtbl->GetZoneSecurityState(This,dwZoneIndex,fRespectPolicy,pdwState,pfPolicyEncountered); 8624 } 8625 static FORCEINLINE HRESULT IInternetZoneManagerEx2_GetIESecurityState(IInternetZoneManagerEx2* This,WINBOOL fRespectPolicy,LPDWORD pdwState,WINBOOL *pfPolicyEncountered,WINBOOL fNoCache) { 8626 return This->lpVtbl->GetIESecurityState(This,fRespectPolicy,pdwState,pfPolicyEncountered,fNoCache); 8627 } 8628 static FORCEINLINE HRESULT IInternetZoneManagerEx2_FixUnsecureSettings(IInternetZoneManagerEx2* This) { 8629 return This->lpVtbl->FixUnsecureSettings(This); 8630 } 8631 #endif 8632 #endif 8633 8634 #endif 8635 8636 8637 #endif /* __IInternetZoneManagerEx2_INTERFACE_DEFINED__ */ 8638 8639 #endif 8640 #endif 8641 8642 EXTERN_C const IID CLSID_SoftDistExt; 8643 8644 #ifndef _LPSOFTDISTEXT_DEFINED 8645 #define _LPSOFTDISTEXT_DEFINED 8646 8647 #define SOFTDIST_FLAG_USAGE_EMAIL 0x1 8648 #define SOFTDIST_FLAG_USAGE_PRECACHE 0x2 8649 #define SOFTDIST_FLAG_USAGE_AUTOINSTALL 0x4 8650 #define SOFTDIST_FLAG_DELETE_SUBSCRIPTION 0x8 8651 8652 #define SOFTDIST_ADSTATE_NONE 0x0 8653 #define SOFTDIST_ADSTATE_AVAILABLE 0x1 8654 #define SOFTDIST_ADSTATE_DOWNLOADED 0x2 8655 #define SOFTDIST_ADSTATE_INSTALLED 0x3 8656 8657 typedef struct _tagCODEBASEHOLD { 8658 ULONG cbSize; 8659 LPWSTR szDistUnit; 8660 LPWSTR szCodeBase; 8661 DWORD dwVersionMS; 8662 DWORD dwVersionLS; 8663 DWORD dwStyle; 8664 } CODEBASEHOLD; 8665 typedef struct _tagCODEBASEHOLD *LPCODEBASEHOLD; 8666 8667 typedef struct _tagSOFTDISTINFO { 8668 ULONG cbSize; 8669 DWORD dwFlags; 8670 DWORD dwAdState; 8671 LPWSTR szTitle; 8672 LPWSTR szAbstract; 8673 LPWSTR szHREF; 8674 DWORD dwInstalledVersionMS; 8675 DWORD dwInstalledVersionLS; 8676 DWORD dwUpdateVersionMS; 8677 DWORD dwUpdateVersionLS; 8678 DWORD dwAdvertisedVersionMS; 8679 DWORD dwAdvertisedVersionLS; 8680 DWORD dwReserved; 8681 } SOFTDISTINFO; 8682 typedef struct _tagSOFTDISTINFO *LPSOFTDISTINFO; 8683 8684 /***************************************************************************** 8685 * ISoftDistExt interface 8686 */ 8687 #ifndef __ISoftDistExt_INTERFACE_DEFINED__ 8688 #define __ISoftDistExt_INTERFACE_DEFINED__ 8689 8690 DEFINE_GUID(IID_ISoftDistExt, 0xb15b8dc1, 0xc7e1, 0x11d0, 0x86,0x80, 0x00,0xaa,0x00,0xbd,0xcb,0x71); 8691 #if defined(__cplusplus) && !defined(CINTERFACE) 8692 MIDL_INTERFACE("b15b8dc1-c7e1-11d0-8680-00aa00bdcb71") 8693 ISoftDistExt : public IUnknown 8694 { 8695 virtual HRESULT STDMETHODCALLTYPE ProcessSoftDist( 8696 LPCWSTR szCDFURL, 8697 IXMLElement *pSoftDistElement, 8698 LPSOFTDISTINFO lpsdi) = 0; 8699 8700 virtual HRESULT STDMETHODCALLTYPE GetFirstCodeBase( 8701 LPWSTR *szCodeBase, 8702 LPDWORD dwMaxSize) = 0; 8703 8704 virtual HRESULT STDMETHODCALLTYPE GetNextCodeBase( 8705 LPWSTR *szCodeBase, 8706 LPDWORD dwMaxSize) = 0; 8707 8708 virtual HRESULT STDMETHODCALLTYPE AsyncInstallDistributionUnit( 8709 IBindCtx *pbc, 8710 LPVOID pvReserved, 8711 DWORD flags, 8712 LPCODEBASEHOLD lpcbh) = 0; 8713 8714 }; 8715 #ifdef __CRT_UUID_DECL 8716 __CRT_UUID_DECL(ISoftDistExt, 0xb15b8dc1, 0xc7e1, 0x11d0, 0x86,0x80, 0x00,0xaa,0x00,0xbd,0xcb,0x71) 8717 #endif 8718 #else 8719 typedef struct ISoftDistExtVtbl { 8720 BEGIN_INTERFACE 8721 8722 /*** IUnknown methods ***/ 8723 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8724 ISoftDistExt *This, 8725 REFIID riid, 8726 void **ppvObject); 8727 8728 ULONG (STDMETHODCALLTYPE *AddRef)( 8729 ISoftDistExt *This); 8730 8731 ULONG (STDMETHODCALLTYPE *Release)( 8732 ISoftDistExt *This); 8733 8734 /*** ISoftDistExt methods ***/ 8735 HRESULT (STDMETHODCALLTYPE *ProcessSoftDist)( 8736 ISoftDistExt *This, 8737 LPCWSTR szCDFURL, 8738 IXMLElement *pSoftDistElement, 8739 LPSOFTDISTINFO lpsdi); 8740 8741 HRESULT (STDMETHODCALLTYPE *GetFirstCodeBase)( 8742 ISoftDistExt *This, 8743 LPWSTR *szCodeBase, 8744 LPDWORD dwMaxSize); 8745 8746 HRESULT (STDMETHODCALLTYPE *GetNextCodeBase)( 8747 ISoftDistExt *This, 8748 LPWSTR *szCodeBase, 8749 LPDWORD dwMaxSize); 8750 8751 HRESULT (STDMETHODCALLTYPE *AsyncInstallDistributionUnit)( 8752 ISoftDistExt *This, 8753 IBindCtx *pbc, 8754 LPVOID pvReserved, 8755 DWORD flags, 8756 LPCODEBASEHOLD lpcbh); 8757 8758 END_INTERFACE 8759 } ISoftDistExtVtbl; 8760 8761 interface ISoftDistExt { 8762 CONST_VTBL ISoftDistExtVtbl* lpVtbl; 8763 }; 8764 8765 #ifdef COBJMACROS 8766 #ifndef WIDL_C_INLINE_WRAPPERS 8767 /*** IUnknown methods ***/ 8768 #define ISoftDistExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8769 #define ISoftDistExt_AddRef(This) (This)->lpVtbl->AddRef(This) 8770 #define ISoftDistExt_Release(This) (This)->lpVtbl->Release(This) 8771 /*** ISoftDistExt methods ***/ 8772 #define ISoftDistExt_ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi) (This)->lpVtbl->ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi) 8773 #define ISoftDistExt_GetFirstCodeBase(This,szCodeBase,dwMaxSize) (This)->lpVtbl->GetFirstCodeBase(This,szCodeBase,dwMaxSize) 8774 #define ISoftDistExt_GetNextCodeBase(This,szCodeBase,dwMaxSize) (This)->lpVtbl->GetNextCodeBase(This,szCodeBase,dwMaxSize) 8775 #define ISoftDistExt_AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh) (This)->lpVtbl->AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh) 8776 #else 8777 /*** IUnknown methods ***/ 8778 static FORCEINLINE HRESULT ISoftDistExt_QueryInterface(ISoftDistExt* This,REFIID riid,void **ppvObject) { 8779 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8780 } 8781 static FORCEINLINE ULONG ISoftDistExt_AddRef(ISoftDistExt* This) { 8782 return This->lpVtbl->AddRef(This); 8783 } 8784 static FORCEINLINE ULONG ISoftDistExt_Release(ISoftDistExt* This) { 8785 return This->lpVtbl->Release(This); 8786 } 8787 /*** ISoftDistExt methods ***/ 8788 static FORCEINLINE HRESULT ISoftDistExt_ProcessSoftDist(ISoftDistExt* This,LPCWSTR szCDFURL,IXMLElement *pSoftDistElement,LPSOFTDISTINFO lpsdi) { 8789 return This->lpVtbl->ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi); 8790 } 8791 static FORCEINLINE HRESULT ISoftDistExt_GetFirstCodeBase(ISoftDistExt* This,LPWSTR *szCodeBase,LPDWORD dwMaxSize) { 8792 return This->lpVtbl->GetFirstCodeBase(This,szCodeBase,dwMaxSize); 8793 } 8794 static FORCEINLINE HRESULT ISoftDistExt_GetNextCodeBase(ISoftDistExt* This,LPWSTR *szCodeBase,LPDWORD dwMaxSize) { 8795 return This->lpVtbl->GetNextCodeBase(This,szCodeBase,dwMaxSize); 8796 } 8797 static FORCEINLINE HRESULT ISoftDistExt_AsyncInstallDistributionUnit(ISoftDistExt* This,IBindCtx *pbc,LPVOID pvReserved,DWORD flags,LPCODEBASEHOLD lpcbh) { 8798 return This->lpVtbl->AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh); 8799 } 8800 #endif 8801 #endif 8802 8803 #endif 8804 8805 8806 #endif /* __ISoftDistExt_INTERFACE_DEFINED__ */ 8807 8808 8809 STDAPI GetSoftwareUpdateInfo(LPCWSTR szDistUnit, LPSOFTDISTINFO psdi); 8810 STDAPI SetSoftwareUpdateAdvertisementState(LPCWSTR szDistUnit, DWORD dwAdState, DWORD dwAdvertisedVersionMS, DWORD dwAdvertisedVersionLS); 8811 #endif 8812 8813 #ifndef _LPCATALOGFILEINFO_DEFINED 8814 #define _LPCATALOGFILEINFO_DEFINED 8815 8816 /***************************************************************************** 8817 * ICatalogFileInfo interface 8818 */ 8819 #ifndef __ICatalogFileInfo_INTERFACE_DEFINED__ 8820 #define __ICatalogFileInfo_INTERFACE_DEFINED__ 8821 8822 typedef ICatalogFileInfo *LPCATALOGFILEINFO; 8823 8824 DEFINE_GUID(IID_ICatalogFileInfo, 0x711c7600, 0x6b48, 0x11d1, 0xb4,0x03, 0x00,0xaa,0x00,0xb9,0x2a,0xf1); 8825 #if defined(__cplusplus) && !defined(CINTERFACE) 8826 MIDL_INTERFACE("711c7600-6b48-11d1-b403-00aa00b92af1") 8827 ICatalogFileInfo : public IUnknown 8828 { 8829 virtual HRESULT STDMETHODCALLTYPE GetCatalogFile( 8830 LPSTR *ppszCatalogFile) = 0; 8831 8832 virtual HRESULT STDMETHODCALLTYPE GetJavaTrust( 8833 void **ppJavaTrust) = 0; 8834 8835 }; 8836 #ifdef __CRT_UUID_DECL 8837 __CRT_UUID_DECL(ICatalogFileInfo, 0x711c7600, 0x6b48, 0x11d1, 0xb4,0x03, 0x00,0xaa,0x00,0xb9,0x2a,0xf1) 8838 #endif 8839 #else 8840 typedef struct ICatalogFileInfoVtbl { 8841 BEGIN_INTERFACE 8842 8843 /*** IUnknown methods ***/ 8844 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8845 ICatalogFileInfo *This, 8846 REFIID riid, 8847 void **ppvObject); 8848 8849 ULONG (STDMETHODCALLTYPE *AddRef)( 8850 ICatalogFileInfo *This); 8851 8852 ULONG (STDMETHODCALLTYPE *Release)( 8853 ICatalogFileInfo *This); 8854 8855 /*** ICatalogFileInfo methods ***/ 8856 HRESULT (STDMETHODCALLTYPE *GetCatalogFile)( 8857 ICatalogFileInfo *This, 8858 LPSTR *ppszCatalogFile); 8859 8860 HRESULT (STDMETHODCALLTYPE *GetJavaTrust)( 8861 ICatalogFileInfo *This, 8862 void **ppJavaTrust); 8863 8864 END_INTERFACE 8865 } ICatalogFileInfoVtbl; 8866 8867 interface ICatalogFileInfo { 8868 CONST_VTBL ICatalogFileInfoVtbl* lpVtbl; 8869 }; 8870 8871 #ifdef COBJMACROS 8872 #ifndef WIDL_C_INLINE_WRAPPERS 8873 /*** IUnknown methods ***/ 8874 #define ICatalogFileInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8875 #define ICatalogFileInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 8876 #define ICatalogFileInfo_Release(This) (This)->lpVtbl->Release(This) 8877 /*** ICatalogFileInfo methods ***/ 8878 #define ICatalogFileInfo_GetCatalogFile(This,ppszCatalogFile) (This)->lpVtbl->GetCatalogFile(This,ppszCatalogFile) 8879 #define ICatalogFileInfo_GetJavaTrust(This,ppJavaTrust) (This)->lpVtbl->GetJavaTrust(This,ppJavaTrust) 8880 #else 8881 /*** IUnknown methods ***/ 8882 static FORCEINLINE HRESULT ICatalogFileInfo_QueryInterface(ICatalogFileInfo* This,REFIID riid,void **ppvObject) { 8883 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8884 } 8885 static FORCEINLINE ULONG ICatalogFileInfo_AddRef(ICatalogFileInfo* This) { 8886 return This->lpVtbl->AddRef(This); 8887 } 8888 static FORCEINLINE ULONG ICatalogFileInfo_Release(ICatalogFileInfo* This) { 8889 return This->lpVtbl->Release(This); 8890 } 8891 /*** ICatalogFileInfo methods ***/ 8892 static FORCEINLINE HRESULT ICatalogFileInfo_GetCatalogFile(ICatalogFileInfo* This,LPSTR *ppszCatalogFile) { 8893 return This->lpVtbl->GetCatalogFile(This,ppszCatalogFile); 8894 } 8895 static FORCEINLINE HRESULT ICatalogFileInfo_GetJavaTrust(ICatalogFileInfo* This,void **ppJavaTrust) { 8896 return This->lpVtbl->GetJavaTrust(This,ppJavaTrust); 8897 } 8898 #endif 8899 #endif 8900 8901 #endif 8902 8903 8904 #endif /* __ICatalogFileInfo_INTERFACE_DEFINED__ */ 8905 8906 #endif 8907 8908 #ifndef _LPDATAFILTER_DEFINED 8909 #define _LPDATAFILTER_DEFINED 8910 8911 /***************************************************************************** 8912 * IDataFilter interface 8913 */ 8914 #ifndef __IDataFilter_INTERFACE_DEFINED__ 8915 #define __IDataFilter_INTERFACE_DEFINED__ 8916 8917 typedef IDataFilter *LPDATAFILTER; 8918 8919 DEFINE_GUID(IID_IDataFilter, 0x69d14c80, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11); 8920 #if defined(__cplusplus) && !defined(CINTERFACE) 8921 MIDL_INTERFACE("69d14c80-c18e-11d0-a9ce-006097942311") 8922 IDataFilter : public IUnknown 8923 { 8924 virtual HRESULT STDMETHODCALLTYPE DoEncode( 8925 DWORD dwFlags, 8926 LONG lInBufferSize, 8927 BYTE *pbInBuffer, 8928 LONG lOutBufferSize, 8929 BYTE *pbOutBuffer, 8930 LONG lInBytesAvailable, 8931 LONG *plInBytesRead, 8932 LONG *plOutBytesWritten, 8933 DWORD dwReserved) = 0; 8934 8935 virtual HRESULT STDMETHODCALLTYPE DoDecode( 8936 DWORD dwFlags, 8937 LONG lInBufferSize, 8938 BYTE *pbInBuffer, 8939 LONG lOutBufferSize, 8940 BYTE *pbOutBuffer, 8941 LONG lInBytesAvailable, 8942 LONG *plInBytesRead, 8943 LONG *plOutBytesWritten, 8944 DWORD dwReserved) = 0; 8945 8946 virtual HRESULT STDMETHODCALLTYPE SetEncodingLevel( 8947 DWORD dwEncLevel) = 0; 8948 8949 }; 8950 #ifdef __CRT_UUID_DECL 8951 __CRT_UUID_DECL(IDataFilter, 0x69d14c80, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11) 8952 #endif 8953 #else 8954 typedef struct IDataFilterVtbl { 8955 BEGIN_INTERFACE 8956 8957 /*** IUnknown methods ***/ 8958 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8959 IDataFilter *This, 8960 REFIID riid, 8961 void **ppvObject); 8962 8963 ULONG (STDMETHODCALLTYPE *AddRef)( 8964 IDataFilter *This); 8965 8966 ULONG (STDMETHODCALLTYPE *Release)( 8967 IDataFilter *This); 8968 8969 /*** IDataFilter methods ***/ 8970 HRESULT (STDMETHODCALLTYPE *DoEncode)( 8971 IDataFilter *This, 8972 DWORD dwFlags, 8973 LONG lInBufferSize, 8974 BYTE *pbInBuffer, 8975 LONG lOutBufferSize, 8976 BYTE *pbOutBuffer, 8977 LONG lInBytesAvailable, 8978 LONG *plInBytesRead, 8979 LONG *plOutBytesWritten, 8980 DWORD dwReserved); 8981 8982 HRESULT (STDMETHODCALLTYPE *DoDecode)( 8983 IDataFilter *This, 8984 DWORD dwFlags, 8985 LONG lInBufferSize, 8986 BYTE *pbInBuffer, 8987 LONG lOutBufferSize, 8988 BYTE *pbOutBuffer, 8989 LONG lInBytesAvailable, 8990 LONG *plInBytesRead, 8991 LONG *plOutBytesWritten, 8992 DWORD dwReserved); 8993 8994 HRESULT (STDMETHODCALLTYPE *SetEncodingLevel)( 8995 IDataFilter *This, 8996 DWORD dwEncLevel); 8997 8998 END_INTERFACE 8999 } IDataFilterVtbl; 9000 9001 interface IDataFilter { 9002 CONST_VTBL IDataFilterVtbl* lpVtbl; 9003 }; 9004 9005 #ifdef COBJMACROS 9006 #ifndef WIDL_C_INLINE_WRAPPERS 9007 /*** IUnknown methods ***/ 9008 #define IDataFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9009 #define IDataFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 9010 #define IDataFilter_Release(This) (This)->lpVtbl->Release(This) 9011 /*** IDataFilter methods ***/ 9012 #define IDataFilter_DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved) (This)->lpVtbl->DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved) 9013 #define IDataFilter_DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved) (This)->lpVtbl->DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved) 9014 #define IDataFilter_SetEncodingLevel(This,dwEncLevel) (This)->lpVtbl->SetEncodingLevel(This,dwEncLevel) 9015 #else 9016 /*** IUnknown methods ***/ 9017 static FORCEINLINE HRESULT IDataFilter_QueryInterface(IDataFilter* This,REFIID riid,void **ppvObject) { 9018 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9019 } 9020 static FORCEINLINE ULONG IDataFilter_AddRef(IDataFilter* This) { 9021 return This->lpVtbl->AddRef(This); 9022 } 9023 static FORCEINLINE ULONG IDataFilter_Release(IDataFilter* This) { 9024 return This->lpVtbl->Release(This); 9025 } 9026 /*** IDataFilter methods ***/ 9027 static FORCEINLINE HRESULT IDataFilter_DoEncode(IDataFilter* This,DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved) { 9028 return This->lpVtbl->DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved); 9029 } 9030 static FORCEINLINE HRESULT IDataFilter_DoDecode(IDataFilter* This,DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved) { 9031 return This->lpVtbl->DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved); 9032 } 9033 static FORCEINLINE HRESULT IDataFilter_SetEncodingLevel(IDataFilter* This,DWORD dwEncLevel) { 9034 return This->lpVtbl->SetEncodingLevel(This,dwEncLevel); 9035 } 9036 #endif 9037 #endif 9038 9039 #endif 9040 9041 9042 #endif /* __IDataFilter_INTERFACE_DEFINED__ */ 9043 9044 #endif 9045 9046 #ifndef _LPENCODINGFILTERFACTORY_DEFINED 9047 #define _LPENCODINGFILTERFACTORY_DEFINED 9048 9049 typedef struct _tagPROTOCOLFILTERDATA { 9050 DWORD cbSize; 9051 IInternetProtocolSink *pProtocolSink; 9052 IInternetProtocol *pProtocol; 9053 IUnknown *pUnk; 9054 DWORD dwFilterFlags; 9055 } PROTOCOLFILTERDATA; 9056 9057 /***************************************************************************** 9058 * IEncodingFilterFactory interface 9059 */ 9060 #ifndef __IEncodingFilterFactory_INTERFACE_DEFINED__ 9061 #define __IEncodingFilterFactory_INTERFACE_DEFINED__ 9062 9063 typedef IEncodingFilterFactory *LPENCODINGFILTERFACTORY; 9064 9065 typedef struct _tagDATAINFO { 9066 ULONG ulTotalSize; 9067 ULONG ulavrPacketSize; 9068 ULONG ulConnectSpeed; 9069 ULONG ulProcessorSpeed; 9070 } DATAINFO; 9071 9072 DEFINE_GUID(IID_IEncodingFilterFactory, 0x70bdde00, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11); 9073 #if defined(__cplusplus) && !defined(CINTERFACE) 9074 MIDL_INTERFACE("70bdde00-c18e-11d0-a9ce-006097942311") 9075 IEncodingFilterFactory : public IUnknown 9076 { 9077 virtual HRESULT STDMETHODCALLTYPE FindBestFilter( 9078 LPCWSTR pwzCodeIn, 9079 LPCWSTR pwzCodeOut, 9080 DATAINFO info, 9081 IDataFilter **ppDF) = 0; 9082 9083 virtual HRESULT STDMETHODCALLTYPE GetDefaultFilter( 9084 LPCWSTR pwzCodeIn, 9085 LPCWSTR pwzCodeOut, 9086 IDataFilter **ppDF) = 0; 9087 9088 }; 9089 #ifdef __CRT_UUID_DECL 9090 __CRT_UUID_DECL(IEncodingFilterFactory, 0x70bdde00, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11) 9091 #endif 9092 #else 9093 typedef struct IEncodingFilterFactoryVtbl { 9094 BEGIN_INTERFACE 9095 9096 /*** IUnknown methods ***/ 9097 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9098 IEncodingFilterFactory *This, 9099 REFIID riid, 9100 void **ppvObject); 9101 9102 ULONG (STDMETHODCALLTYPE *AddRef)( 9103 IEncodingFilterFactory *This); 9104 9105 ULONG (STDMETHODCALLTYPE *Release)( 9106 IEncodingFilterFactory *This); 9107 9108 /*** IEncodingFilterFactory methods ***/ 9109 HRESULT (STDMETHODCALLTYPE *FindBestFilter)( 9110 IEncodingFilterFactory *This, 9111 LPCWSTR pwzCodeIn, 9112 LPCWSTR pwzCodeOut, 9113 DATAINFO info, 9114 IDataFilter **ppDF); 9115 9116 HRESULT (STDMETHODCALLTYPE *GetDefaultFilter)( 9117 IEncodingFilterFactory *This, 9118 LPCWSTR pwzCodeIn, 9119 LPCWSTR pwzCodeOut, 9120 IDataFilter **ppDF); 9121 9122 END_INTERFACE 9123 } IEncodingFilterFactoryVtbl; 9124 9125 interface IEncodingFilterFactory { 9126 CONST_VTBL IEncodingFilterFactoryVtbl* lpVtbl; 9127 }; 9128 9129 #ifdef COBJMACROS 9130 #ifndef WIDL_C_INLINE_WRAPPERS 9131 /*** IUnknown methods ***/ 9132 #define IEncodingFilterFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9133 #define IEncodingFilterFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 9134 #define IEncodingFilterFactory_Release(This) (This)->lpVtbl->Release(This) 9135 /*** IEncodingFilterFactory methods ***/ 9136 #define IEncodingFilterFactory_FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF) (This)->lpVtbl->FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF) 9137 #define IEncodingFilterFactory_GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF) (This)->lpVtbl->GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF) 9138 #else 9139 /*** IUnknown methods ***/ 9140 static FORCEINLINE HRESULT IEncodingFilterFactory_QueryInterface(IEncodingFilterFactory* This,REFIID riid,void **ppvObject) { 9141 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9142 } 9143 static FORCEINLINE ULONG IEncodingFilterFactory_AddRef(IEncodingFilterFactory* This) { 9144 return This->lpVtbl->AddRef(This); 9145 } 9146 static FORCEINLINE ULONG IEncodingFilterFactory_Release(IEncodingFilterFactory* This) { 9147 return This->lpVtbl->Release(This); 9148 } 9149 /*** IEncodingFilterFactory methods ***/ 9150 static FORCEINLINE HRESULT IEncodingFilterFactory_FindBestFilter(IEncodingFilterFactory* This,LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,DATAINFO info,IDataFilter **ppDF) { 9151 return This->lpVtbl->FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF); 9152 } 9153 static FORCEINLINE HRESULT IEncodingFilterFactory_GetDefaultFilter(IEncodingFilterFactory* This,LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,IDataFilter **ppDF) { 9154 return This->lpVtbl->GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF); 9155 } 9156 #endif 9157 #endif 9158 9159 #endif 9160 9161 9162 #endif /* __IEncodingFilterFactory_INTERFACE_DEFINED__ */ 9163 9164 #endif 9165 9166 #ifndef _HITLOGGING_DEFINED 9167 #define _HITLOGGING_DEFINED 9168 9169 WINBOOL WINAPI IsLoggingEnabledA(LPCSTR pszUrl); 9170 WINBOOL WINAPI IsLoggingEnabledW(LPCWSTR pwszUrl); 9171 9172 #define IsLoggingEnabled __MINGW_NAME_AW(IsLoggingEnabled) 9173 typedef struct _tagHIT_LOGGING_INFO { 9174 DWORD dwStructSize; 9175 LPSTR lpszLoggedUrlName; 9176 SYSTEMTIME StartTime; 9177 SYSTEMTIME EndTime; 9178 LPSTR lpszExtendedInfo; 9179 } HIT_LOGGING_INFO; 9180 typedef struct _tagHIT_LOGGING_INFO *LPHIT_LOGGING_INFO; 9181 9182 WINBOOL WINAPI WriteHitLogging(LPHIT_LOGGING_INFO lpLogginginfo); 9183 9184 #define CONFIRMSAFETYACTION_LOADOBJECT 0x1 9185 9186 struct CONFIRMSAFETY { 9187 CLSID clsid; 9188 IUnknown *pUnk; 9189 DWORD dwFlags; 9190 }; 9191 9192 EXTERN_C const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY; 9193 #endif 9194 9195 #ifndef _LPIWRAPPEDPROTOCOL_DEFINED 9196 #define _LPIWRAPPEDPROTOCOL_DEFINED 9197 9198 /***************************************************************************** 9199 * IWrappedProtocol interface 9200 */ 9201 #ifndef __IWrappedProtocol_INTERFACE_DEFINED__ 9202 #define __IWrappedProtocol_INTERFACE_DEFINED__ 9203 9204 typedef IWrappedProtocol *LPIWRAPPEDPROTOCOL; 9205 9206 DEFINE_GUID(IID_IWrappedProtocol, 0x53c84785, 0x8425, 0x4dc5, 0x97,0x1b, 0xe5,0x8d,0x9c,0x19,0xf9,0xb6); 9207 #if defined(__cplusplus) && !defined(CINTERFACE) 9208 MIDL_INTERFACE("53c84785-8425-4dc5-971b-e58d9c19f9b6") 9209 IWrappedProtocol : public IUnknown 9210 { 9211 virtual HRESULT STDMETHODCALLTYPE GetWrapperCode( 9212 LONG *pnCode, 9213 DWORD_PTR dwReserved) = 0; 9214 9215 }; 9216 #ifdef __CRT_UUID_DECL 9217 __CRT_UUID_DECL(IWrappedProtocol, 0x53c84785, 0x8425, 0x4dc5, 0x97,0x1b, 0xe5,0x8d,0x9c,0x19,0xf9,0xb6) 9218 #endif 9219 #else 9220 typedef struct IWrappedProtocolVtbl { 9221 BEGIN_INTERFACE 9222 9223 /*** IUnknown methods ***/ 9224 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9225 IWrappedProtocol *This, 9226 REFIID riid, 9227 void **ppvObject); 9228 9229 ULONG (STDMETHODCALLTYPE *AddRef)( 9230 IWrappedProtocol *This); 9231 9232 ULONG (STDMETHODCALLTYPE *Release)( 9233 IWrappedProtocol *This); 9234 9235 /*** IWrappedProtocol methods ***/ 9236 HRESULT (STDMETHODCALLTYPE *GetWrapperCode)( 9237 IWrappedProtocol *This, 9238 LONG *pnCode, 9239 DWORD_PTR dwReserved); 9240 9241 END_INTERFACE 9242 } IWrappedProtocolVtbl; 9243 9244 interface IWrappedProtocol { 9245 CONST_VTBL IWrappedProtocolVtbl* lpVtbl; 9246 }; 9247 9248 #ifdef COBJMACROS 9249 #ifndef WIDL_C_INLINE_WRAPPERS 9250 /*** IUnknown methods ***/ 9251 #define IWrappedProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9252 #define IWrappedProtocol_AddRef(This) (This)->lpVtbl->AddRef(This) 9253 #define IWrappedProtocol_Release(This) (This)->lpVtbl->Release(This) 9254 /*** IWrappedProtocol methods ***/ 9255 #define IWrappedProtocol_GetWrapperCode(This,pnCode,dwReserved) (This)->lpVtbl->GetWrapperCode(This,pnCode,dwReserved) 9256 #else 9257 /*** IUnknown methods ***/ 9258 static FORCEINLINE HRESULT IWrappedProtocol_QueryInterface(IWrappedProtocol* This,REFIID riid,void **ppvObject) { 9259 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9260 } 9261 static FORCEINLINE ULONG IWrappedProtocol_AddRef(IWrappedProtocol* This) { 9262 return This->lpVtbl->AddRef(This); 9263 } 9264 static FORCEINLINE ULONG IWrappedProtocol_Release(IWrappedProtocol* This) { 9265 return This->lpVtbl->Release(This); 9266 } 9267 /*** IWrappedProtocol methods ***/ 9268 static FORCEINLINE HRESULT IWrappedProtocol_GetWrapperCode(IWrappedProtocol* This,LONG *pnCode,DWORD_PTR dwReserved) { 9269 return This->lpVtbl->GetWrapperCode(This,pnCode,dwReserved); 9270 } 9271 #endif 9272 #endif 9273 9274 #endif 9275 9276 9277 #endif /* __IWrappedProtocol_INTERFACE_DEFINED__ */ 9278 9279 #endif 9280 9281 #ifndef _LPGETBINDHANDLE_DEFINED 9282 #define _LPGETBINDHANDLE_DEFINED 9283 9284 /***************************************************************************** 9285 * IGetBindHandle interface 9286 */ 9287 #ifndef __IGetBindHandle_INTERFACE_DEFINED__ 9288 #define __IGetBindHandle_INTERFACE_DEFINED__ 9289 9290 typedef IGetBindHandle *LPGETBINDHANDLE; 9291 9292 typedef enum __WIDL_urlmon_generated_name_00000012 { 9293 BINDHANDLETYPES_APPCACHE = 0x0, 9294 BINDHANDLETYPES_DEPENDENCY = 0x1, 9295 BINDHANDLETYPES_COUNT = 0x2 9296 } BINDHANDLETYPES; 9297 9298 DEFINE_GUID(IID_IGetBindHandle, 0xaf0ff408, 0x129d, 0x4b20, 0x91,0xf0, 0x02,0xbd,0x23,0xd8,0x83,0x52); 9299 #if defined(__cplusplus) && !defined(CINTERFACE) 9300 MIDL_INTERFACE("af0ff408-129d-4b20-91f0-02bd23d88352") 9301 IGetBindHandle : public IUnknown 9302 { 9303 virtual HRESULT STDMETHODCALLTYPE GetBindHandle( 9304 BINDHANDLETYPES enumRequestedHandle, 9305 HANDLE *pRetHandle) = 0; 9306 9307 }; 9308 #ifdef __CRT_UUID_DECL 9309 __CRT_UUID_DECL(IGetBindHandle, 0xaf0ff408, 0x129d, 0x4b20, 0x91,0xf0, 0x02,0xbd,0x23,0xd8,0x83,0x52) 9310 #endif 9311 #else 9312 typedef struct IGetBindHandleVtbl { 9313 BEGIN_INTERFACE 9314 9315 /*** IUnknown methods ***/ 9316 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9317 IGetBindHandle *This, 9318 REFIID riid, 9319 void **ppvObject); 9320 9321 ULONG (STDMETHODCALLTYPE *AddRef)( 9322 IGetBindHandle *This); 9323 9324 ULONG (STDMETHODCALLTYPE *Release)( 9325 IGetBindHandle *This); 9326 9327 /*** IGetBindHandle methods ***/ 9328 HRESULT (STDMETHODCALLTYPE *GetBindHandle)( 9329 IGetBindHandle *This, 9330 BINDHANDLETYPES enumRequestedHandle, 9331 HANDLE *pRetHandle); 9332 9333 END_INTERFACE 9334 } IGetBindHandleVtbl; 9335 9336 interface IGetBindHandle { 9337 CONST_VTBL IGetBindHandleVtbl* lpVtbl; 9338 }; 9339 9340 #ifdef COBJMACROS 9341 #ifndef WIDL_C_INLINE_WRAPPERS 9342 /*** IUnknown methods ***/ 9343 #define IGetBindHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9344 #define IGetBindHandle_AddRef(This) (This)->lpVtbl->AddRef(This) 9345 #define IGetBindHandle_Release(This) (This)->lpVtbl->Release(This) 9346 /*** IGetBindHandle methods ***/ 9347 #define IGetBindHandle_GetBindHandle(This,enumRequestedHandle,pRetHandle) (This)->lpVtbl->GetBindHandle(This,enumRequestedHandle,pRetHandle) 9348 #else 9349 /*** IUnknown methods ***/ 9350 static FORCEINLINE HRESULT IGetBindHandle_QueryInterface(IGetBindHandle* This,REFIID riid,void **ppvObject) { 9351 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9352 } 9353 static FORCEINLINE ULONG IGetBindHandle_AddRef(IGetBindHandle* This) { 9354 return This->lpVtbl->AddRef(This); 9355 } 9356 static FORCEINLINE ULONG IGetBindHandle_Release(IGetBindHandle* This) { 9357 return This->lpVtbl->Release(This); 9358 } 9359 /*** IGetBindHandle methods ***/ 9360 static FORCEINLINE HRESULT IGetBindHandle_GetBindHandle(IGetBindHandle* This,BINDHANDLETYPES enumRequestedHandle,HANDLE *pRetHandle) { 9361 return This->lpVtbl->GetBindHandle(This,enumRequestedHandle,pRetHandle); 9362 } 9363 #endif 9364 #endif 9365 9366 #endif 9367 9368 9369 #endif /* __IGetBindHandle_INTERFACE_DEFINED__ */ 9370 9371 #endif 9372 9373 #ifndef _XHRPLUGGABLEPROTOCOL_DEFINED 9374 #define _XHRPLUGGABLEPROTOCOL_DEFINED 9375 9376 typedef struct _tagPROTOCOL_ARGUMENT { 9377 LPCWSTR szMethod; 9378 LPCWSTR szTargetUrl; 9379 } PROTOCOL_ARGUMENT; 9380 typedef struct _tagPROTOCOL_ARGUMENT *LPPROTOCOL_ARGUMENT; 9381 #endif 9382 9383 #ifndef _LPBINDCALLBACKREDIRECT_DEFINED 9384 #define _LPBINDCALLBACKREDIRECT_DEFINED 9385 9386 /***************************************************************************** 9387 * IBindCallbackRedirect interface 9388 */ 9389 #ifndef __IBindCallbackRedirect_INTERFACE_DEFINED__ 9390 #define __IBindCallbackRedirect_INTERFACE_DEFINED__ 9391 9392 typedef IBindCallbackRedirect *LPBINDCALLBACKREDIRECT; 9393 9394 DEFINE_GUID(IID_IBindCallbackRedirect, 0x11c81bc2, 0x121e, 0x4ed5, 0xb9,0xc4, 0xb4,0x30,0xbd,0x54,0xf2,0xc0); 9395 #if defined(__cplusplus) && !defined(CINTERFACE) 9396 MIDL_INTERFACE("11c81bc2-121e-4ed5-b9c4-b430bd54f2c0") 9397 IBindCallbackRedirect : public IUnknown 9398 { 9399 virtual HRESULT STDMETHODCALLTYPE Redirect( 9400 LPCWSTR lpcUrl, 9401 VARIANT_BOOL *vbCancel) = 0; 9402 9403 }; 9404 #ifdef __CRT_UUID_DECL 9405 __CRT_UUID_DECL(IBindCallbackRedirect, 0x11c81bc2, 0x121e, 0x4ed5, 0xb9,0xc4, 0xb4,0x30,0xbd,0x54,0xf2,0xc0) 9406 #endif 9407 #else 9408 typedef struct IBindCallbackRedirectVtbl { 9409 BEGIN_INTERFACE 9410 9411 /*** IUnknown methods ***/ 9412 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9413 IBindCallbackRedirect *This, 9414 REFIID riid, 9415 void **ppvObject); 9416 9417 ULONG (STDMETHODCALLTYPE *AddRef)( 9418 IBindCallbackRedirect *This); 9419 9420 ULONG (STDMETHODCALLTYPE *Release)( 9421 IBindCallbackRedirect *This); 9422 9423 /*** IBindCallbackRedirect methods ***/ 9424 HRESULT (STDMETHODCALLTYPE *Redirect)( 9425 IBindCallbackRedirect *This, 9426 LPCWSTR lpcUrl, 9427 VARIANT_BOOL *vbCancel); 9428 9429 END_INTERFACE 9430 } IBindCallbackRedirectVtbl; 9431 9432 interface IBindCallbackRedirect { 9433 CONST_VTBL IBindCallbackRedirectVtbl* lpVtbl; 9434 }; 9435 9436 #ifdef COBJMACROS 9437 #ifndef WIDL_C_INLINE_WRAPPERS 9438 /*** IUnknown methods ***/ 9439 #define IBindCallbackRedirect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9440 #define IBindCallbackRedirect_AddRef(This) (This)->lpVtbl->AddRef(This) 9441 #define IBindCallbackRedirect_Release(This) (This)->lpVtbl->Release(This) 9442 /*** IBindCallbackRedirect methods ***/ 9443 #define IBindCallbackRedirect_Redirect(This,lpcUrl,vbCancel) (This)->lpVtbl->Redirect(This,lpcUrl,vbCancel) 9444 #else 9445 /*** IUnknown methods ***/ 9446 static FORCEINLINE HRESULT IBindCallbackRedirect_QueryInterface(IBindCallbackRedirect* This,REFIID riid,void **ppvObject) { 9447 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9448 } 9449 static FORCEINLINE ULONG IBindCallbackRedirect_AddRef(IBindCallbackRedirect* This) { 9450 return This->lpVtbl->AddRef(This); 9451 } 9452 static FORCEINLINE ULONG IBindCallbackRedirect_Release(IBindCallbackRedirect* This) { 9453 return This->lpVtbl->Release(This); 9454 } 9455 /*** IBindCallbackRedirect methods ***/ 9456 static FORCEINLINE HRESULT IBindCallbackRedirect_Redirect(IBindCallbackRedirect* This,LPCWSTR lpcUrl,VARIANT_BOOL *vbCancel) { 9457 return This->lpVtbl->Redirect(This,lpcUrl,vbCancel); 9458 } 9459 #endif 9460 #endif 9461 9462 #endif 9463 9464 9465 #endif /* __IBindCallbackRedirect_INTERFACE_DEFINED__ */ 9466 9467 #endif 9468 9469 #endif 9470 /* Begin additional prototypes for all interfaces */ 9471 9472 ULONG __RPC_USER STGMEDIUM_UserSize (ULONG *, ULONG, STGMEDIUM *); 9473 unsigned char * __RPC_USER STGMEDIUM_UserMarshal (ULONG *, unsigned char *, STGMEDIUM *); 9474 unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *); 9475 void __RPC_USER STGMEDIUM_UserFree (ULONG *, STGMEDIUM *); 9476 ULONG __RPC_USER CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *); 9477 unsigned char * __RPC_USER CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *); 9478 unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *); 9479 void __RPC_USER CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *); 9480 ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); 9481 unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); 9482 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); 9483 void __RPC_USER HWND_UserFree (ULONG *, HWND *); 9484 ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); 9485 unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); 9486 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); 9487 void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); 9488 9489 /* End additional prototypes */ 9490 9491 #ifdef __cplusplus 9492 } 9493 #endif 9494 9495 #endif /* __urlmon_h__ */ 9496