urlmon.h 343 KB

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