shldisp.h 303 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057
  1. /*** Autogenerated by WIDL 7.7 from include/shldisp.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 __shldisp_h__
  14. #define __shldisp_h__
  15. /* Forward declarations */
  16. #ifndef __IFolderViewOC_FWD_DEFINED__
  17. #define __IFolderViewOC_FWD_DEFINED__
  18. typedef interface IFolderViewOC IFolderViewOC;
  19. #ifdef __cplusplus
  20. interface IFolderViewOC;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __DShellFolderViewEvents_FWD_DEFINED__
  24. #define __DShellFolderViewEvents_FWD_DEFINED__
  25. typedef interface DShellFolderViewEvents DShellFolderViewEvents;
  26. #ifdef __cplusplus
  27. interface DShellFolderViewEvents;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __ShellFolderViewOC_FWD_DEFINED__
  31. #define __ShellFolderViewOC_FWD_DEFINED__
  32. #ifdef __cplusplus
  33. typedef class ShellFolderViewOC ShellFolderViewOC;
  34. #else
  35. typedef struct ShellFolderViewOC ShellFolderViewOC;
  36. #endif /* defined __cplusplus */
  37. #endif /* defined __ShellFolderViewOC_FWD_DEFINED__ */
  38. #ifndef __DFConstraint_FWD_DEFINED__
  39. #define __DFConstraint_FWD_DEFINED__
  40. typedef interface DFConstraint DFConstraint;
  41. #ifdef __cplusplus
  42. interface DFConstraint;
  43. #endif /* __cplusplus */
  44. #endif
  45. #ifndef __Folder_FWD_DEFINED__
  46. #define __Folder_FWD_DEFINED__
  47. typedef interface Folder Folder;
  48. #ifdef __cplusplus
  49. interface Folder;
  50. #endif /* __cplusplus */
  51. #endif
  52. #ifndef __Folder2_FWD_DEFINED__
  53. #define __Folder2_FWD_DEFINED__
  54. typedef interface Folder2 Folder2;
  55. #ifdef __cplusplus
  56. interface Folder2;
  57. #endif /* __cplusplus */
  58. #endif
  59. #ifndef __Folder3_FWD_DEFINED__
  60. #define __Folder3_FWD_DEFINED__
  61. typedef interface Folder3 Folder3;
  62. #ifdef __cplusplus
  63. interface Folder3;
  64. #endif /* __cplusplus */
  65. #endif
  66. #ifndef __FolderItem_FWD_DEFINED__
  67. #define __FolderItem_FWD_DEFINED__
  68. typedef interface FolderItem FolderItem;
  69. #ifdef __cplusplus
  70. interface FolderItem;
  71. #endif /* __cplusplus */
  72. #endif
  73. #ifndef __FolderItem2_FWD_DEFINED__
  74. #define __FolderItem2_FWD_DEFINED__
  75. typedef interface FolderItem2 FolderItem2;
  76. #ifdef __cplusplus
  77. interface FolderItem2;
  78. #endif /* __cplusplus */
  79. #endif
  80. #ifndef __ShellFolderItem_FWD_DEFINED__
  81. #define __ShellFolderItem_FWD_DEFINED__
  82. #ifdef __cplusplus
  83. typedef class ShellFolderItem ShellFolderItem;
  84. #else
  85. typedef struct ShellFolderItem ShellFolderItem;
  86. #endif /* defined __cplusplus */
  87. #endif /* defined __ShellFolderItem_FWD_DEFINED__ */
  88. #ifndef __FolderItems_FWD_DEFINED__
  89. #define __FolderItems_FWD_DEFINED__
  90. typedef interface FolderItems FolderItems;
  91. #ifdef __cplusplus
  92. interface FolderItems;
  93. #endif /* __cplusplus */
  94. #endif
  95. #ifndef __FolderItems2_FWD_DEFINED__
  96. #define __FolderItems2_FWD_DEFINED__
  97. typedef interface FolderItems2 FolderItems2;
  98. #ifdef __cplusplus
  99. interface FolderItems2;
  100. #endif /* __cplusplus */
  101. #endif
  102. #ifndef __FolderItems3_FWD_DEFINED__
  103. #define __FolderItems3_FWD_DEFINED__
  104. typedef interface FolderItems3 FolderItems3;
  105. #ifdef __cplusplus
  106. interface FolderItems3;
  107. #endif /* __cplusplus */
  108. #endif
  109. #ifndef __FolderItemVerb_FWD_DEFINED__
  110. #define __FolderItemVerb_FWD_DEFINED__
  111. typedef interface FolderItemVerb FolderItemVerb;
  112. #ifdef __cplusplus
  113. interface FolderItemVerb;
  114. #endif /* __cplusplus */
  115. #endif
  116. #ifndef __FolderItemVerbs_FWD_DEFINED__
  117. #define __FolderItemVerbs_FWD_DEFINED__
  118. typedef interface FolderItemVerbs FolderItemVerbs;
  119. #ifdef __cplusplus
  120. interface FolderItemVerbs;
  121. #endif /* __cplusplus */
  122. #endif
  123. #ifndef __IShellLinkDual_FWD_DEFINED__
  124. #define __IShellLinkDual_FWD_DEFINED__
  125. typedef interface IShellLinkDual IShellLinkDual;
  126. #ifdef __cplusplus
  127. interface IShellLinkDual;
  128. #endif /* __cplusplus */
  129. #endif
  130. #ifndef __IShellLinkDual2_FWD_DEFINED__
  131. #define __IShellLinkDual2_FWD_DEFINED__
  132. typedef interface IShellLinkDual2 IShellLinkDual2;
  133. #ifdef __cplusplus
  134. interface IShellLinkDual2;
  135. #endif /* __cplusplus */
  136. #endif
  137. #ifndef __ShellLinkObject_FWD_DEFINED__
  138. #define __ShellLinkObject_FWD_DEFINED__
  139. #ifdef __cplusplus
  140. typedef class ShellLinkObject ShellLinkObject;
  141. #else
  142. typedef struct ShellLinkObject ShellLinkObject;
  143. #endif /* defined __cplusplus */
  144. #endif /* defined __ShellLinkObject_FWD_DEFINED__ */
  145. #ifndef __IShellFolderViewDual_FWD_DEFINED__
  146. #define __IShellFolderViewDual_FWD_DEFINED__
  147. typedef interface IShellFolderViewDual IShellFolderViewDual;
  148. #ifdef __cplusplus
  149. interface IShellFolderViewDual;
  150. #endif /* __cplusplus */
  151. #endif
  152. #ifndef __IShellFolderViewDual2_FWD_DEFINED__
  153. #define __IShellFolderViewDual2_FWD_DEFINED__
  154. typedef interface IShellFolderViewDual2 IShellFolderViewDual2;
  155. #ifdef __cplusplus
  156. interface IShellFolderViewDual2;
  157. #endif /* __cplusplus */
  158. #endif
  159. #ifndef __IShellFolderViewDual3_FWD_DEFINED__
  160. #define __IShellFolderViewDual3_FWD_DEFINED__
  161. typedef interface IShellFolderViewDual3 IShellFolderViewDual3;
  162. #ifdef __cplusplus
  163. interface IShellFolderViewDual3;
  164. #endif /* __cplusplus */
  165. #endif
  166. #ifndef __ShellFolderView_FWD_DEFINED__
  167. #define __ShellFolderView_FWD_DEFINED__
  168. #ifdef __cplusplus
  169. typedef class ShellFolderView ShellFolderView;
  170. #else
  171. typedef struct ShellFolderView ShellFolderView;
  172. #endif /* defined __cplusplus */
  173. #endif /* defined __ShellFolderView_FWD_DEFINED__ */
  174. #ifndef __IShellDispatch_FWD_DEFINED__
  175. #define __IShellDispatch_FWD_DEFINED__
  176. typedef interface IShellDispatch IShellDispatch;
  177. #ifdef __cplusplus
  178. interface IShellDispatch;
  179. #endif /* __cplusplus */
  180. #endif
  181. #ifndef __IShellDispatch2_FWD_DEFINED__
  182. #define __IShellDispatch2_FWD_DEFINED__
  183. typedef interface IShellDispatch2 IShellDispatch2;
  184. #ifdef __cplusplus
  185. interface IShellDispatch2;
  186. #endif /* __cplusplus */
  187. #endif
  188. #ifndef __IShellDispatch3_FWD_DEFINED__
  189. #define __IShellDispatch3_FWD_DEFINED__
  190. typedef interface IShellDispatch3 IShellDispatch3;
  191. #ifdef __cplusplus
  192. interface IShellDispatch3;
  193. #endif /* __cplusplus */
  194. #endif
  195. #ifndef __IShellDispatch4_FWD_DEFINED__
  196. #define __IShellDispatch4_FWD_DEFINED__
  197. typedef interface IShellDispatch4 IShellDispatch4;
  198. #ifdef __cplusplus
  199. interface IShellDispatch4;
  200. #endif /* __cplusplus */
  201. #endif
  202. #ifndef __IShellDispatch5_FWD_DEFINED__
  203. #define __IShellDispatch5_FWD_DEFINED__
  204. typedef interface IShellDispatch5 IShellDispatch5;
  205. #ifdef __cplusplus
  206. interface IShellDispatch5;
  207. #endif /* __cplusplus */
  208. #endif
  209. #ifndef __IShellDispatch6_FWD_DEFINED__
  210. #define __IShellDispatch6_FWD_DEFINED__
  211. typedef interface IShellDispatch6 IShellDispatch6;
  212. #ifdef __cplusplus
  213. interface IShellDispatch6;
  214. #endif /* __cplusplus */
  215. #endif
  216. #ifndef __Shell_FWD_DEFINED__
  217. #define __Shell_FWD_DEFINED__
  218. #ifdef __cplusplus
  219. typedef class Shell Shell;
  220. #else
  221. typedef struct Shell Shell;
  222. #endif /* defined __cplusplus */
  223. #endif /* defined __Shell_FWD_DEFINED__ */
  224. #ifndef __ShellDispatchInproc_FWD_DEFINED__
  225. #define __ShellDispatchInproc_FWD_DEFINED__
  226. #ifdef __cplusplus
  227. typedef class ShellDispatchInproc ShellDispatchInproc;
  228. #else
  229. typedef struct ShellDispatchInproc ShellDispatchInproc;
  230. #endif /* defined __cplusplus */
  231. #endif /* defined __ShellDispatchInproc_FWD_DEFINED__ */
  232. #ifndef __IFileSearchBand_FWD_DEFINED__
  233. #define __IFileSearchBand_FWD_DEFINED__
  234. typedef interface IFileSearchBand IFileSearchBand;
  235. #ifdef __cplusplus
  236. interface IFileSearchBand;
  237. #endif /* __cplusplus */
  238. #endif
  239. #ifndef __FileSearchBand_FWD_DEFINED__
  240. #define __FileSearchBand_FWD_DEFINED__
  241. #ifdef __cplusplus
  242. typedef class FileSearchBand FileSearchBand;
  243. #else
  244. typedef struct FileSearchBand FileSearchBand;
  245. #endif /* defined __cplusplus */
  246. #endif /* defined __FileSearchBand_FWD_DEFINED__ */
  247. #ifndef __IWebWizardHost_FWD_DEFINED__
  248. #define __IWebWizardHost_FWD_DEFINED__
  249. typedef interface IWebWizardHost IWebWizardHost;
  250. #ifdef __cplusplus
  251. interface IWebWizardHost;
  252. #endif /* __cplusplus */
  253. #endif
  254. #ifndef __INewWDEvents_FWD_DEFINED__
  255. #define __INewWDEvents_FWD_DEFINED__
  256. typedef interface INewWDEvents INewWDEvents;
  257. #ifdef __cplusplus
  258. interface INewWDEvents;
  259. #endif /* __cplusplus */
  260. #endif
  261. #ifndef __IAutoComplete_FWD_DEFINED__
  262. #define __IAutoComplete_FWD_DEFINED__
  263. typedef interface IAutoComplete IAutoComplete;
  264. #ifdef __cplusplus
  265. interface IAutoComplete;
  266. #endif /* __cplusplus */
  267. #endif
  268. #ifndef __IAutoComplete2_FWD_DEFINED__
  269. #define __IAutoComplete2_FWD_DEFINED__
  270. typedef interface IAutoComplete2 IAutoComplete2;
  271. #ifdef __cplusplus
  272. interface IAutoComplete2;
  273. #endif /* __cplusplus */
  274. #endif
  275. #ifndef __IEnumACString_FWD_DEFINED__
  276. #define __IEnumACString_FWD_DEFINED__
  277. typedef interface IEnumACString IEnumACString;
  278. #ifdef __cplusplus
  279. interface IEnumACString;
  280. #endif /* __cplusplus */
  281. #endif
  282. #ifndef __IDataObjectAsyncCapability_FWD_DEFINED__
  283. #define __IDataObjectAsyncCapability_FWD_DEFINED__
  284. typedef interface IDataObjectAsyncCapability IDataObjectAsyncCapability;
  285. #ifdef __cplusplus
  286. interface IDataObjectAsyncCapability;
  287. #endif /* __cplusplus */
  288. #endif
  289. /* Headers for imported files */
  290. #include <ocidl.h>
  291. #ifdef __cplusplus
  292. extern "C" {
  293. #endif
  294. #include <winapifamily.h>
  295. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  296. #ifndef __DShellFolderViewEvents_FWD_DEFINED__
  297. #define __DShellFolderViewEvents_FWD_DEFINED__
  298. typedef interface DShellFolderViewEvents DShellFolderViewEvents;
  299. #ifdef __cplusplus
  300. interface DShellFolderViewEvents;
  301. #endif /* __cplusplus */
  302. #endif
  303. #ifndef __IAutoComplete_FWD_DEFINED__
  304. #define __IAutoComplete_FWD_DEFINED__
  305. typedef interface IAutoComplete IAutoComplete;
  306. #ifdef __cplusplus
  307. interface IAutoComplete;
  308. #endif /* __cplusplus */
  309. #endif
  310. #ifndef __FolderItem_FWD_DEFINED__
  311. #define __FolderItem_FWD_DEFINED__
  312. typedef interface FolderItem FolderItem;
  313. #ifdef __cplusplus
  314. interface FolderItem;
  315. #endif /* __cplusplus */
  316. #endif
  317. #ifndef __FolderItems_FWD_DEFINED__
  318. #define __FolderItems_FWD_DEFINED__
  319. typedef interface FolderItems FolderItems;
  320. #ifdef __cplusplus
  321. interface FolderItems;
  322. #endif /* __cplusplus */
  323. #endif
  324. #ifndef __FolderItemVerb_FWD_DEFINED__
  325. #define __FolderItemVerb_FWD_DEFINED__
  326. typedef interface FolderItemVerb FolderItemVerb;
  327. #ifdef __cplusplus
  328. interface FolderItemVerb;
  329. #endif /* __cplusplus */
  330. #endif
  331. #ifndef __FolderItemVerbs_FWD_DEFINED__
  332. #define __FolderItemVerbs_FWD_DEFINED__
  333. typedef interface FolderItemVerbs FolderItemVerbs;
  334. #ifdef __cplusplus
  335. interface FolderItemVerbs;
  336. #endif /* __cplusplus */
  337. #endif
  338. #ifndef __Shell32_LIBRARY_DEFINED__
  339. #define __Shell32_LIBRARY_DEFINED__
  340. DEFINE_GUID(LIBID_Shell32, 0x50a7e9b0, 0x70ef, 0x11d1, 0xb7,0x5a, 0x00,0xa0,0xc9,0x05,0x64,0xfe);
  341. /*****************************************************************************
  342. * IFolderViewOC interface
  343. */
  344. #ifndef __IFolderViewOC_INTERFACE_DEFINED__
  345. #define __IFolderViewOC_INTERFACE_DEFINED__
  346. DEFINE_GUID(IID_IFolderViewOC, 0x9ba05970, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39);
  347. #if defined(__cplusplus) && !defined(CINTERFACE)
  348. MIDL_INTERFACE("9ba05970-f6a8-11cf-a442-00a0c90a8f39")
  349. IFolderViewOC : public IDispatch
  350. {
  351. virtual HRESULT STDMETHODCALLTYPE SetFolderView(
  352. IDispatch *pdisp) = 0;
  353. };
  354. #ifdef __CRT_UUID_DECL
  355. __CRT_UUID_DECL(IFolderViewOC, 0x9ba05970, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39)
  356. #endif
  357. #else
  358. typedef struct IFolderViewOCVtbl {
  359. BEGIN_INTERFACE
  360. /*** IUnknown methods ***/
  361. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  362. IFolderViewOC *This,
  363. REFIID riid,
  364. void **ppvObject);
  365. ULONG (STDMETHODCALLTYPE *AddRef)(
  366. IFolderViewOC *This);
  367. ULONG (STDMETHODCALLTYPE *Release)(
  368. IFolderViewOC *This);
  369. /*** IDispatch methods ***/
  370. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  371. IFolderViewOC *This,
  372. UINT *pctinfo);
  373. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  374. IFolderViewOC *This,
  375. UINT iTInfo,
  376. LCID lcid,
  377. ITypeInfo **ppTInfo);
  378. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  379. IFolderViewOC *This,
  380. REFIID riid,
  381. LPOLESTR *rgszNames,
  382. UINT cNames,
  383. LCID lcid,
  384. DISPID *rgDispId);
  385. HRESULT (STDMETHODCALLTYPE *Invoke)(
  386. IFolderViewOC *This,
  387. DISPID dispIdMember,
  388. REFIID riid,
  389. LCID lcid,
  390. WORD wFlags,
  391. DISPPARAMS *pDispParams,
  392. VARIANT *pVarResult,
  393. EXCEPINFO *pExcepInfo,
  394. UINT *puArgErr);
  395. /*** IFolderViewOC methods ***/
  396. HRESULT (STDMETHODCALLTYPE *SetFolderView)(
  397. IFolderViewOC *This,
  398. IDispatch *pdisp);
  399. END_INTERFACE
  400. } IFolderViewOCVtbl;
  401. interface IFolderViewOC {
  402. CONST_VTBL IFolderViewOCVtbl* lpVtbl;
  403. };
  404. #ifdef COBJMACROS
  405. #ifndef WIDL_C_INLINE_WRAPPERS
  406. /*** IUnknown methods ***/
  407. #define IFolderViewOC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  408. #define IFolderViewOC_AddRef(This) (This)->lpVtbl->AddRef(This)
  409. #define IFolderViewOC_Release(This) (This)->lpVtbl->Release(This)
  410. /*** IDispatch methods ***/
  411. #define IFolderViewOC_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  412. #define IFolderViewOC_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  413. #define IFolderViewOC_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  414. #define IFolderViewOC_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  415. /*** IFolderViewOC methods ***/
  416. #define IFolderViewOC_SetFolderView(This,pdisp) (This)->lpVtbl->SetFolderView(This,pdisp)
  417. #else
  418. /*** IUnknown methods ***/
  419. static FORCEINLINE HRESULT IFolderViewOC_QueryInterface(IFolderViewOC* This,REFIID riid,void **ppvObject) {
  420. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  421. }
  422. static FORCEINLINE ULONG IFolderViewOC_AddRef(IFolderViewOC* This) {
  423. return This->lpVtbl->AddRef(This);
  424. }
  425. static FORCEINLINE ULONG IFolderViewOC_Release(IFolderViewOC* This) {
  426. return This->lpVtbl->Release(This);
  427. }
  428. /*** IDispatch methods ***/
  429. static FORCEINLINE HRESULT IFolderViewOC_GetTypeInfoCount(IFolderViewOC* This,UINT *pctinfo) {
  430. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  431. }
  432. static FORCEINLINE HRESULT IFolderViewOC_GetTypeInfo(IFolderViewOC* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  433. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  434. }
  435. static FORCEINLINE HRESULT IFolderViewOC_GetIDsOfNames(IFolderViewOC* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  436. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  437. }
  438. static FORCEINLINE HRESULT IFolderViewOC_Invoke(IFolderViewOC* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  439. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  440. }
  441. /*** IFolderViewOC methods ***/
  442. static FORCEINLINE HRESULT IFolderViewOC_SetFolderView(IFolderViewOC* This,IDispatch *pdisp) {
  443. return This->lpVtbl->SetFolderView(This,pdisp);
  444. }
  445. #endif
  446. #endif
  447. #endif
  448. #endif /* __IFolderViewOC_INTERFACE_DEFINED__ */
  449. /*****************************************************************************
  450. * DShellFolderViewEvents dispinterface
  451. */
  452. #ifndef __DShellFolderViewEvents_DISPINTERFACE_DEFINED__
  453. #define __DShellFolderViewEvents_DISPINTERFACE_DEFINED__
  454. DEFINE_GUID(DIID_DShellFolderViewEvents, 0x62112aa2, 0xebe4, 0x11cf, 0xa5,0xfb, 0x00,0x20,0xaf,0xe7,0x29,0x2d);
  455. #if defined(__cplusplus) && !defined(CINTERFACE)
  456. MIDL_INTERFACE("62112aa2-ebe4-11cf-a5fb-0020afe7292d")
  457. DShellFolderViewEvents : public IDispatch
  458. {
  459. };
  460. #ifdef __CRT_UUID_DECL
  461. __CRT_UUID_DECL(DShellFolderViewEvents, 0x62112aa2, 0xebe4, 0x11cf, 0xa5,0xfb, 0x00,0x20,0xaf,0xe7,0x29,0x2d)
  462. #endif
  463. #else
  464. typedef struct DShellFolderViewEventsVtbl {
  465. BEGIN_INTERFACE
  466. /*** IUnknown methods ***/
  467. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  468. DShellFolderViewEvents *This,
  469. REFIID riid,
  470. void **ppvObject);
  471. ULONG (STDMETHODCALLTYPE *AddRef)(
  472. DShellFolderViewEvents *This);
  473. ULONG (STDMETHODCALLTYPE *Release)(
  474. DShellFolderViewEvents *This);
  475. /*** IDispatch methods ***/
  476. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  477. DShellFolderViewEvents *This,
  478. UINT *pctinfo);
  479. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  480. DShellFolderViewEvents *This,
  481. UINT iTInfo,
  482. LCID lcid,
  483. ITypeInfo **ppTInfo);
  484. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  485. DShellFolderViewEvents *This,
  486. REFIID riid,
  487. LPOLESTR *rgszNames,
  488. UINT cNames,
  489. LCID lcid,
  490. DISPID *rgDispId);
  491. HRESULT (STDMETHODCALLTYPE *Invoke)(
  492. DShellFolderViewEvents *This,
  493. DISPID dispIdMember,
  494. REFIID riid,
  495. LCID lcid,
  496. WORD wFlags,
  497. DISPPARAMS *pDispParams,
  498. VARIANT *pVarResult,
  499. EXCEPINFO *pExcepInfo,
  500. UINT *puArgErr);
  501. END_INTERFACE
  502. } DShellFolderViewEventsVtbl;
  503. interface DShellFolderViewEvents {
  504. CONST_VTBL DShellFolderViewEventsVtbl* lpVtbl;
  505. };
  506. #ifdef COBJMACROS
  507. #ifndef WIDL_C_INLINE_WRAPPERS
  508. /*** IUnknown methods ***/
  509. #define DShellFolderViewEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  510. #define DShellFolderViewEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  511. #define DShellFolderViewEvents_Release(This) (This)->lpVtbl->Release(This)
  512. /*** IDispatch methods ***/
  513. #define DShellFolderViewEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  514. #define DShellFolderViewEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  515. #define DShellFolderViewEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  516. #define DShellFolderViewEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  517. #else
  518. /*** IUnknown methods ***/
  519. static FORCEINLINE HRESULT DShellFolderViewEvents_QueryInterface(DShellFolderViewEvents* This,REFIID riid,void **ppvObject) {
  520. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  521. }
  522. static FORCEINLINE ULONG DShellFolderViewEvents_AddRef(DShellFolderViewEvents* This) {
  523. return This->lpVtbl->AddRef(This);
  524. }
  525. static FORCEINLINE ULONG DShellFolderViewEvents_Release(DShellFolderViewEvents* This) {
  526. return This->lpVtbl->Release(This);
  527. }
  528. /*** IDispatch methods ***/
  529. static FORCEINLINE HRESULT DShellFolderViewEvents_GetTypeInfoCount(DShellFolderViewEvents* This,UINT *pctinfo) {
  530. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  531. }
  532. static FORCEINLINE HRESULT DShellFolderViewEvents_GetTypeInfo(DShellFolderViewEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  533. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  534. }
  535. static FORCEINLINE HRESULT DShellFolderViewEvents_GetIDsOfNames(DShellFolderViewEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  536. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  537. }
  538. static FORCEINLINE HRESULT DShellFolderViewEvents_Invoke(DShellFolderViewEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  539. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  540. }
  541. #endif
  542. #endif
  543. #endif
  544. #endif /* __DShellFolderViewEvents_DISPINTERFACE_DEFINED__ */
  545. /*****************************************************************************
  546. * ShellFolderViewOC coclass
  547. */
  548. DEFINE_GUID(CLSID_ShellFolderViewOC, 0x9ba05971, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39);
  549. #ifdef __cplusplus
  550. class DECLSPEC_UUID("9ba05971-f6a8-11cf-a442-00a0c90a8f39") ShellFolderViewOC;
  551. #ifdef __CRT_UUID_DECL
  552. __CRT_UUID_DECL(ShellFolderViewOC, 0x9ba05971, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39)
  553. #endif
  554. #endif
  555. /*****************************************************************************
  556. * DFConstraint interface
  557. */
  558. #ifndef __DFConstraint_INTERFACE_DEFINED__
  559. #define __DFConstraint_INTERFACE_DEFINED__
  560. DEFINE_GUID(IID_DFConstraint, 0x4a3df050, 0x23bd, 0x11d2, 0x93,0x9f, 0x00,0xa0,0xc9,0x1e,0xed,0xba);
  561. #if defined(__cplusplus) && !defined(CINTERFACE)
  562. MIDL_INTERFACE("4a3df050-23bd-11d2-939f-00a0c91eedba")
  563. DFConstraint : public IDispatch
  564. {
  565. virtual HRESULT STDMETHODCALLTYPE get_Name(
  566. BSTR *pbs) = 0;
  567. virtual HRESULT STDMETHODCALLTYPE get_Value(
  568. VARIANT *pv) = 0;
  569. };
  570. #ifdef __CRT_UUID_DECL
  571. __CRT_UUID_DECL(DFConstraint, 0x4a3df050, 0x23bd, 0x11d2, 0x93,0x9f, 0x00,0xa0,0xc9,0x1e,0xed,0xba)
  572. #endif
  573. #else
  574. typedef struct DFConstraintVtbl {
  575. BEGIN_INTERFACE
  576. /*** IUnknown methods ***/
  577. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  578. DFConstraint *This,
  579. REFIID riid,
  580. void **ppvObject);
  581. ULONG (STDMETHODCALLTYPE *AddRef)(
  582. DFConstraint *This);
  583. ULONG (STDMETHODCALLTYPE *Release)(
  584. DFConstraint *This);
  585. /*** IDispatch methods ***/
  586. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  587. DFConstraint *This,
  588. UINT *pctinfo);
  589. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  590. DFConstraint *This,
  591. UINT iTInfo,
  592. LCID lcid,
  593. ITypeInfo **ppTInfo);
  594. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  595. DFConstraint *This,
  596. REFIID riid,
  597. LPOLESTR *rgszNames,
  598. UINT cNames,
  599. LCID lcid,
  600. DISPID *rgDispId);
  601. HRESULT (STDMETHODCALLTYPE *Invoke)(
  602. DFConstraint *This,
  603. DISPID dispIdMember,
  604. REFIID riid,
  605. LCID lcid,
  606. WORD wFlags,
  607. DISPPARAMS *pDispParams,
  608. VARIANT *pVarResult,
  609. EXCEPINFO *pExcepInfo,
  610. UINT *puArgErr);
  611. /*** DFConstraint methods ***/
  612. HRESULT (STDMETHODCALLTYPE *get_Name)(
  613. DFConstraint *This,
  614. BSTR *pbs);
  615. HRESULT (STDMETHODCALLTYPE *get_Value)(
  616. DFConstraint *This,
  617. VARIANT *pv);
  618. END_INTERFACE
  619. } DFConstraintVtbl;
  620. interface DFConstraint {
  621. CONST_VTBL DFConstraintVtbl* lpVtbl;
  622. };
  623. #ifdef COBJMACROS
  624. #ifndef WIDL_C_INLINE_WRAPPERS
  625. /*** IUnknown methods ***/
  626. #define DFConstraint_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  627. #define DFConstraint_AddRef(This) (This)->lpVtbl->AddRef(This)
  628. #define DFConstraint_Release(This) (This)->lpVtbl->Release(This)
  629. /*** IDispatch methods ***/
  630. #define DFConstraint_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  631. #define DFConstraint_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  632. #define DFConstraint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  633. #define DFConstraint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  634. /*** DFConstraint methods ***/
  635. #define DFConstraint_get_Name(This,pbs) (This)->lpVtbl->get_Name(This,pbs)
  636. #define DFConstraint_get_Value(This,pv) (This)->lpVtbl->get_Value(This,pv)
  637. #else
  638. /*** IUnknown methods ***/
  639. static FORCEINLINE HRESULT DFConstraint_QueryInterface(DFConstraint* This,REFIID riid,void **ppvObject) {
  640. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  641. }
  642. static FORCEINLINE ULONG DFConstraint_AddRef(DFConstraint* This) {
  643. return This->lpVtbl->AddRef(This);
  644. }
  645. static FORCEINLINE ULONG DFConstraint_Release(DFConstraint* This) {
  646. return This->lpVtbl->Release(This);
  647. }
  648. /*** IDispatch methods ***/
  649. static FORCEINLINE HRESULT DFConstraint_GetTypeInfoCount(DFConstraint* This,UINT *pctinfo) {
  650. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  651. }
  652. static FORCEINLINE HRESULT DFConstraint_GetTypeInfo(DFConstraint* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  653. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  654. }
  655. static FORCEINLINE HRESULT DFConstraint_GetIDsOfNames(DFConstraint* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  656. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  657. }
  658. static FORCEINLINE HRESULT DFConstraint_Invoke(DFConstraint* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  659. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  660. }
  661. /*** DFConstraint methods ***/
  662. static FORCEINLINE HRESULT DFConstraint_get_Name(DFConstraint* This,BSTR *pbs) {
  663. return This->lpVtbl->get_Name(This,pbs);
  664. }
  665. static FORCEINLINE HRESULT DFConstraint_get_Value(DFConstraint* This,VARIANT *pv) {
  666. return This->lpVtbl->get_Value(This,pv);
  667. }
  668. #endif
  669. #endif
  670. #endif
  671. #endif /* __DFConstraint_INTERFACE_DEFINED__ */
  672. /*****************************************************************************
  673. * Folder interface
  674. */
  675. #ifndef __Folder_INTERFACE_DEFINED__
  676. #define __Folder_INTERFACE_DEFINED__
  677. DEFINE_GUID(IID_Folder, 0xbbcbde60, 0xc3ff, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00);
  678. #if defined(__cplusplus) && !defined(CINTERFACE)
  679. MIDL_INTERFACE("bbcbde60-c3ff-11ce-8350-444553540000")
  680. Folder : public IDispatch
  681. {
  682. virtual HRESULT STDMETHODCALLTYPE get_Title(
  683. BSTR *pbs) = 0;
  684. virtual HRESULT STDMETHODCALLTYPE get_Application(
  685. IDispatch **ppid) = 0;
  686. virtual HRESULT STDMETHODCALLTYPE get_Parent(
  687. IDispatch **ppid) = 0;
  688. virtual HRESULT STDMETHODCALLTYPE get_ParentFolder(
  689. Folder **ppsf) = 0;
  690. virtual HRESULT STDMETHODCALLTYPE Items(
  691. FolderItems **ppid) = 0;
  692. virtual HRESULT STDMETHODCALLTYPE ParseName(
  693. BSTR bName,
  694. FolderItem **ppid) = 0;
  695. virtual HRESULT STDMETHODCALLTYPE NewFolder(
  696. BSTR bName,
  697. VARIANT vOptions) = 0;
  698. virtual HRESULT STDMETHODCALLTYPE MoveHere(
  699. VARIANT vItem,
  700. VARIANT vOptions) = 0;
  701. virtual HRESULT STDMETHODCALLTYPE CopyHere(
  702. VARIANT vItem,
  703. VARIANT vOptions) = 0;
  704. virtual HRESULT STDMETHODCALLTYPE GetDetailsOf(
  705. VARIANT vItem,
  706. int iColumn,
  707. BSTR *pbs) = 0;
  708. };
  709. #ifdef __CRT_UUID_DECL
  710. __CRT_UUID_DECL(Folder, 0xbbcbde60, 0xc3ff, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00)
  711. #endif
  712. #else
  713. typedef struct FolderVtbl {
  714. BEGIN_INTERFACE
  715. /*** IUnknown methods ***/
  716. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  717. Folder *This,
  718. REFIID riid,
  719. void **ppvObject);
  720. ULONG (STDMETHODCALLTYPE *AddRef)(
  721. Folder *This);
  722. ULONG (STDMETHODCALLTYPE *Release)(
  723. Folder *This);
  724. /*** IDispatch methods ***/
  725. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  726. Folder *This,
  727. UINT *pctinfo);
  728. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  729. Folder *This,
  730. UINT iTInfo,
  731. LCID lcid,
  732. ITypeInfo **ppTInfo);
  733. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  734. Folder *This,
  735. REFIID riid,
  736. LPOLESTR *rgszNames,
  737. UINT cNames,
  738. LCID lcid,
  739. DISPID *rgDispId);
  740. HRESULT (STDMETHODCALLTYPE *Invoke)(
  741. Folder *This,
  742. DISPID dispIdMember,
  743. REFIID riid,
  744. LCID lcid,
  745. WORD wFlags,
  746. DISPPARAMS *pDispParams,
  747. VARIANT *pVarResult,
  748. EXCEPINFO *pExcepInfo,
  749. UINT *puArgErr);
  750. /*** Folder methods ***/
  751. HRESULT (STDMETHODCALLTYPE *get_Title)(
  752. Folder *This,
  753. BSTR *pbs);
  754. HRESULT (STDMETHODCALLTYPE *get_Application)(
  755. Folder *This,
  756. IDispatch **ppid);
  757. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  758. Folder *This,
  759. IDispatch **ppid);
  760. HRESULT (STDMETHODCALLTYPE *get_ParentFolder)(
  761. Folder *This,
  762. Folder **ppsf);
  763. HRESULT (STDMETHODCALLTYPE *Items)(
  764. Folder *This,
  765. FolderItems **ppid);
  766. HRESULT (STDMETHODCALLTYPE *ParseName)(
  767. Folder *This,
  768. BSTR bName,
  769. FolderItem **ppid);
  770. HRESULT (STDMETHODCALLTYPE *NewFolder)(
  771. Folder *This,
  772. BSTR bName,
  773. VARIANT vOptions);
  774. HRESULT (STDMETHODCALLTYPE *MoveHere)(
  775. Folder *This,
  776. VARIANT vItem,
  777. VARIANT vOptions);
  778. HRESULT (STDMETHODCALLTYPE *CopyHere)(
  779. Folder *This,
  780. VARIANT vItem,
  781. VARIANT vOptions);
  782. HRESULT (STDMETHODCALLTYPE *GetDetailsOf)(
  783. Folder *This,
  784. VARIANT vItem,
  785. int iColumn,
  786. BSTR *pbs);
  787. END_INTERFACE
  788. } FolderVtbl;
  789. interface Folder {
  790. CONST_VTBL FolderVtbl* lpVtbl;
  791. };
  792. #ifdef COBJMACROS
  793. #ifndef WIDL_C_INLINE_WRAPPERS
  794. /*** IUnknown methods ***/
  795. #define Folder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  796. #define Folder_AddRef(This) (This)->lpVtbl->AddRef(This)
  797. #define Folder_Release(This) (This)->lpVtbl->Release(This)
  798. /*** IDispatch methods ***/
  799. #define Folder_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  800. #define Folder_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  801. #define Folder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  802. #define Folder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  803. /*** Folder methods ***/
  804. #define Folder_get_Title(This,pbs) (This)->lpVtbl->get_Title(This,pbs)
  805. #define Folder_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  806. #define Folder_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  807. #define Folder_get_ParentFolder(This,ppsf) (This)->lpVtbl->get_ParentFolder(This,ppsf)
  808. #define Folder_Items(This,ppid) (This)->lpVtbl->Items(This,ppid)
  809. #define Folder_ParseName(This,bName,ppid) (This)->lpVtbl->ParseName(This,bName,ppid)
  810. #define Folder_NewFolder(This,bName,vOptions) (This)->lpVtbl->NewFolder(This,bName,vOptions)
  811. #define Folder_MoveHere(This,vItem,vOptions) (This)->lpVtbl->MoveHere(This,vItem,vOptions)
  812. #define Folder_CopyHere(This,vItem,vOptions) (This)->lpVtbl->CopyHere(This,vItem,vOptions)
  813. #define Folder_GetDetailsOf(This,vItem,iColumn,pbs) (This)->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs)
  814. #else
  815. /*** IUnknown methods ***/
  816. static FORCEINLINE HRESULT Folder_QueryInterface(Folder* This,REFIID riid,void **ppvObject) {
  817. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  818. }
  819. static FORCEINLINE ULONG Folder_AddRef(Folder* This) {
  820. return This->lpVtbl->AddRef(This);
  821. }
  822. static FORCEINLINE ULONG Folder_Release(Folder* This) {
  823. return This->lpVtbl->Release(This);
  824. }
  825. /*** IDispatch methods ***/
  826. static FORCEINLINE HRESULT Folder_GetTypeInfoCount(Folder* This,UINT *pctinfo) {
  827. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  828. }
  829. static FORCEINLINE HRESULT Folder_GetTypeInfo(Folder* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  830. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  831. }
  832. static FORCEINLINE HRESULT Folder_GetIDsOfNames(Folder* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  833. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  834. }
  835. static FORCEINLINE HRESULT Folder_Invoke(Folder* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  836. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  837. }
  838. /*** Folder methods ***/
  839. static FORCEINLINE HRESULT Folder_get_Title(Folder* This,BSTR *pbs) {
  840. return This->lpVtbl->get_Title(This,pbs);
  841. }
  842. static FORCEINLINE HRESULT Folder_get_Application(Folder* This,IDispatch **ppid) {
  843. return This->lpVtbl->get_Application(This,ppid);
  844. }
  845. static FORCEINLINE HRESULT Folder_get_Parent(Folder* This,IDispatch **ppid) {
  846. return This->lpVtbl->get_Parent(This,ppid);
  847. }
  848. static FORCEINLINE HRESULT Folder_get_ParentFolder(Folder* This,Folder **ppsf) {
  849. return This->lpVtbl->get_ParentFolder(This,ppsf);
  850. }
  851. static FORCEINLINE HRESULT Folder_Items(Folder* This,FolderItems **ppid) {
  852. return This->lpVtbl->Items(This,ppid);
  853. }
  854. static FORCEINLINE HRESULT Folder_ParseName(Folder* This,BSTR bName,FolderItem **ppid) {
  855. return This->lpVtbl->ParseName(This,bName,ppid);
  856. }
  857. static FORCEINLINE HRESULT Folder_NewFolder(Folder* This,BSTR bName,VARIANT vOptions) {
  858. return This->lpVtbl->NewFolder(This,bName,vOptions);
  859. }
  860. static FORCEINLINE HRESULT Folder_MoveHere(Folder* This,VARIANT vItem,VARIANT vOptions) {
  861. return This->lpVtbl->MoveHere(This,vItem,vOptions);
  862. }
  863. static FORCEINLINE HRESULT Folder_CopyHere(Folder* This,VARIANT vItem,VARIANT vOptions) {
  864. return This->lpVtbl->CopyHere(This,vItem,vOptions);
  865. }
  866. static FORCEINLINE HRESULT Folder_GetDetailsOf(Folder* This,VARIANT vItem,int iColumn,BSTR *pbs) {
  867. return This->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs);
  868. }
  869. #endif
  870. #endif
  871. #endif
  872. #endif /* __Folder_INTERFACE_DEFINED__ */
  873. /*****************************************************************************
  874. * Folder2 interface
  875. */
  876. #ifndef __Folder2_INTERFACE_DEFINED__
  877. #define __Folder2_INTERFACE_DEFINED__
  878. DEFINE_GUID(IID_Folder2, 0xf0d2d8ef, 0x3890, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61);
  879. #if defined(__cplusplus) && !defined(CINTERFACE)
  880. MIDL_INTERFACE("f0d2d8ef-3890-11d2-bf8b-00c04fb93661")
  881. Folder2 : public Folder
  882. {
  883. virtual HRESULT STDMETHODCALLTYPE get_Self(
  884. FolderItem **ppfi) = 0;
  885. virtual HRESULT STDMETHODCALLTYPE get_OfflineStatus(
  886. LONG *pul) = 0;
  887. virtual HRESULT STDMETHODCALLTYPE Synchronize(
  888. ) = 0;
  889. virtual HRESULT STDMETHODCALLTYPE get_HaveToShowWebViewBarricade(
  890. VARIANT_BOOL *pbHaveToShowWebViewBarricade) = 0;
  891. virtual HRESULT STDMETHODCALLTYPE DismissedWebViewBarricade(
  892. ) = 0;
  893. };
  894. #ifdef __CRT_UUID_DECL
  895. __CRT_UUID_DECL(Folder2, 0xf0d2d8ef, 0x3890, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61)
  896. #endif
  897. #else
  898. typedef struct Folder2Vtbl {
  899. BEGIN_INTERFACE
  900. /*** IUnknown methods ***/
  901. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  902. Folder2 *This,
  903. REFIID riid,
  904. void **ppvObject);
  905. ULONG (STDMETHODCALLTYPE *AddRef)(
  906. Folder2 *This);
  907. ULONG (STDMETHODCALLTYPE *Release)(
  908. Folder2 *This);
  909. /*** IDispatch methods ***/
  910. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  911. Folder2 *This,
  912. UINT *pctinfo);
  913. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  914. Folder2 *This,
  915. UINT iTInfo,
  916. LCID lcid,
  917. ITypeInfo **ppTInfo);
  918. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  919. Folder2 *This,
  920. REFIID riid,
  921. LPOLESTR *rgszNames,
  922. UINT cNames,
  923. LCID lcid,
  924. DISPID *rgDispId);
  925. HRESULT (STDMETHODCALLTYPE *Invoke)(
  926. Folder2 *This,
  927. DISPID dispIdMember,
  928. REFIID riid,
  929. LCID lcid,
  930. WORD wFlags,
  931. DISPPARAMS *pDispParams,
  932. VARIANT *pVarResult,
  933. EXCEPINFO *pExcepInfo,
  934. UINT *puArgErr);
  935. /*** Folder methods ***/
  936. HRESULT (STDMETHODCALLTYPE *get_Title)(
  937. Folder2 *This,
  938. BSTR *pbs);
  939. HRESULT (STDMETHODCALLTYPE *get_Application)(
  940. Folder2 *This,
  941. IDispatch **ppid);
  942. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  943. Folder2 *This,
  944. IDispatch **ppid);
  945. HRESULT (STDMETHODCALLTYPE *get_ParentFolder)(
  946. Folder2 *This,
  947. Folder **ppsf);
  948. HRESULT (STDMETHODCALLTYPE *Items)(
  949. Folder2 *This,
  950. FolderItems **ppid);
  951. HRESULT (STDMETHODCALLTYPE *ParseName)(
  952. Folder2 *This,
  953. BSTR bName,
  954. FolderItem **ppid);
  955. HRESULT (STDMETHODCALLTYPE *NewFolder)(
  956. Folder2 *This,
  957. BSTR bName,
  958. VARIANT vOptions);
  959. HRESULT (STDMETHODCALLTYPE *MoveHere)(
  960. Folder2 *This,
  961. VARIANT vItem,
  962. VARIANT vOptions);
  963. HRESULT (STDMETHODCALLTYPE *CopyHere)(
  964. Folder2 *This,
  965. VARIANT vItem,
  966. VARIANT vOptions);
  967. HRESULT (STDMETHODCALLTYPE *GetDetailsOf)(
  968. Folder2 *This,
  969. VARIANT vItem,
  970. int iColumn,
  971. BSTR *pbs);
  972. /*** Folder2 methods ***/
  973. HRESULT (STDMETHODCALLTYPE *get_Self)(
  974. Folder2 *This,
  975. FolderItem **ppfi);
  976. HRESULT (STDMETHODCALLTYPE *get_OfflineStatus)(
  977. Folder2 *This,
  978. LONG *pul);
  979. HRESULT (STDMETHODCALLTYPE *Synchronize)(
  980. Folder2 *This);
  981. HRESULT (STDMETHODCALLTYPE *get_HaveToShowWebViewBarricade)(
  982. Folder2 *This,
  983. VARIANT_BOOL *pbHaveToShowWebViewBarricade);
  984. HRESULT (STDMETHODCALLTYPE *DismissedWebViewBarricade)(
  985. Folder2 *This);
  986. END_INTERFACE
  987. } Folder2Vtbl;
  988. interface Folder2 {
  989. CONST_VTBL Folder2Vtbl* lpVtbl;
  990. };
  991. #ifdef COBJMACROS
  992. #ifndef WIDL_C_INLINE_WRAPPERS
  993. /*** IUnknown methods ***/
  994. #define Folder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  995. #define Folder2_AddRef(This) (This)->lpVtbl->AddRef(This)
  996. #define Folder2_Release(This) (This)->lpVtbl->Release(This)
  997. /*** IDispatch methods ***/
  998. #define Folder2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  999. #define Folder2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1000. #define Folder2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1001. #define Folder2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1002. /*** Folder methods ***/
  1003. #define Folder2_get_Title(This,pbs) (This)->lpVtbl->get_Title(This,pbs)
  1004. #define Folder2_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  1005. #define Folder2_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  1006. #define Folder2_get_ParentFolder(This,ppsf) (This)->lpVtbl->get_ParentFolder(This,ppsf)
  1007. #define Folder2_Items(This,ppid) (This)->lpVtbl->Items(This,ppid)
  1008. #define Folder2_ParseName(This,bName,ppid) (This)->lpVtbl->ParseName(This,bName,ppid)
  1009. #define Folder2_NewFolder(This,bName,vOptions) (This)->lpVtbl->NewFolder(This,bName,vOptions)
  1010. #define Folder2_MoveHere(This,vItem,vOptions) (This)->lpVtbl->MoveHere(This,vItem,vOptions)
  1011. #define Folder2_CopyHere(This,vItem,vOptions) (This)->lpVtbl->CopyHere(This,vItem,vOptions)
  1012. #define Folder2_GetDetailsOf(This,vItem,iColumn,pbs) (This)->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs)
  1013. /*** Folder2 methods ***/
  1014. #define Folder2_get_Self(This,ppfi) (This)->lpVtbl->get_Self(This,ppfi)
  1015. #define Folder2_get_OfflineStatus(This,pul) (This)->lpVtbl->get_OfflineStatus(This,pul)
  1016. #define Folder2_Synchronize(This) (This)->lpVtbl->Synchronize(This)
  1017. #define Folder2_get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade) (This)->lpVtbl->get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade)
  1018. #define Folder2_DismissedWebViewBarricade(This) (This)->lpVtbl->DismissedWebViewBarricade(This)
  1019. #else
  1020. /*** IUnknown methods ***/
  1021. static FORCEINLINE HRESULT Folder2_QueryInterface(Folder2* This,REFIID riid,void **ppvObject) {
  1022. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1023. }
  1024. static FORCEINLINE ULONG Folder2_AddRef(Folder2* This) {
  1025. return This->lpVtbl->AddRef(This);
  1026. }
  1027. static FORCEINLINE ULONG Folder2_Release(Folder2* This) {
  1028. return This->lpVtbl->Release(This);
  1029. }
  1030. /*** IDispatch methods ***/
  1031. static FORCEINLINE HRESULT Folder2_GetTypeInfoCount(Folder2* This,UINT *pctinfo) {
  1032. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1033. }
  1034. static FORCEINLINE HRESULT Folder2_GetTypeInfo(Folder2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1035. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1036. }
  1037. static FORCEINLINE HRESULT Folder2_GetIDsOfNames(Folder2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1038. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1039. }
  1040. static FORCEINLINE HRESULT Folder2_Invoke(Folder2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1041. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1042. }
  1043. /*** Folder methods ***/
  1044. static FORCEINLINE HRESULT Folder2_get_Title(Folder2* This,BSTR *pbs) {
  1045. return This->lpVtbl->get_Title(This,pbs);
  1046. }
  1047. static FORCEINLINE HRESULT Folder2_get_Application(Folder2* This,IDispatch **ppid) {
  1048. return This->lpVtbl->get_Application(This,ppid);
  1049. }
  1050. static FORCEINLINE HRESULT Folder2_get_Parent(Folder2* This,IDispatch **ppid) {
  1051. return This->lpVtbl->get_Parent(This,ppid);
  1052. }
  1053. static FORCEINLINE HRESULT Folder2_get_ParentFolder(Folder2* This,Folder **ppsf) {
  1054. return This->lpVtbl->get_ParentFolder(This,ppsf);
  1055. }
  1056. static FORCEINLINE HRESULT Folder2_Items(Folder2* This,FolderItems **ppid) {
  1057. return This->lpVtbl->Items(This,ppid);
  1058. }
  1059. static FORCEINLINE HRESULT Folder2_ParseName(Folder2* This,BSTR bName,FolderItem **ppid) {
  1060. return This->lpVtbl->ParseName(This,bName,ppid);
  1061. }
  1062. static FORCEINLINE HRESULT Folder2_NewFolder(Folder2* This,BSTR bName,VARIANT vOptions) {
  1063. return This->lpVtbl->NewFolder(This,bName,vOptions);
  1064. }
  1065. static FORCEINLINE HRESULT Folder2_MoveHere(Folder2* This,VARIANT vItem,VARIANT vOptions) {
  1066. return This->lpVtbl->MoveHere(This,vItem,vOptions);
  1067. }
  1068. static FORCEINLINE HRESULT Folder2_CopyHere(Folder2* This,VARIANT vItem,VARIANT vOptions) {
  1069. return This->lpVtbl->CopyHere(This,vItem,vOptions);
  1070. }
  1071. static FORCEINLINE HRESULT Folder2_GetDetailsOf(Folder2* This,VARIANT vItem,int iColumn,BSTR *pbs) {
  1072. return This->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs);
  1073. }
  1074. /*** Folder2 methods ***/
  1075. static FORCEINLINE HRESULT Folder2_get_Self(Folder2* This,FolderItem **ppfi) {
  1076. return This->lpVtbl->get_Self(This,ppfi);
  1077. }
  1078. static FORCEINLINE HRESULT Folder2_get_OfflineStatus(Folder2* This,LONG *pul) {
  1079. return This->lpVtbl->get_OfflineStatus(This,pul);
  1080. }
  1081. static FORCEINLINE HRESULT Folder2_Synchronize(Folder2* This) {
  1082. return This->lpVtbl->Synchronize(This);
  1083. }
  1084. static FORCEINLINE HRESULT Folder2_get_HaveToShowWebViewBarricade(Folder2* This,VARIANT_BOOL *pbHaveToShowWebViewBarricade) {
  1085. return This->lpVtbl->get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade);
  1086. }
  1087. static FORCEINLINE HRESULT Folder2_DismissedWebViewBarricade(Folder2* This) {
  1088. return This->lpVtbl->DismissedWebViewBarricade(This);
  1089. }
  1090. #endif
  1091. #endif
  1092. #endif
  1093. #endif /* __Folder2_INTERFACE_DEFINED__ */
  1094. typedef enum OfflineFolderStatus {
  1095. OFS_INACTIVE = -1,
  1096. OFS_ONLINE = 0,
  1097. OFS_OFFLINE = 1,
  1098. OFS_SERVERBACK = 2,
  1099. OFS_DIRTYCACHE = 3
  1100. } OfflineFolderStatus;
  1101. /*****************************************************************************
  1102. * Folder3 interface
  1103. */
  1104. #ifndef __Folder3_INTERFACE_DEFINED__
  1105. #define __Folder3_INTERFACE_DEFINED__
  1106. DEFINE_GUID(IID_Folder3, 0xa7ae5f64, 0xc4d7, 0x4d7f, 0x93,0x07, 0x4d,0x24,0xee,0x54,0xb8,0x41);
  1107. #if defined(__cplusplus) && !defined(CINTERFACE)
  1108. MIDL_INTERFACE("a7ae5f64-c4d7-4d7f-9307-4d24ee54b841")
  1109. Folder3 : public Folder2
  1110. {
  1111. virtual HRESULT STDMETHODCALLTYPE get_ShowWebViewBarricade(
  1112. VARIANT_BOOL *pbShowWebViewBarricade) = 0;
  1113. virtual HRESULT STDMETHODCALLTYPE put_ShowWebViewBarricade(
  1114. VARIANT_BOOL bShowWebViewBarricade) = 0;
  1115. };
  1116. #ifdef __CRT_UUID_DECL
  1117. __CRT_UUID_DECL(Folder3, 0xa7ae5f64, 0xc4d7, 0x4d7f, 0x93,0x07, 0x4d,0x24,0xee,0x54,0xb8,0x41)
  1118. #endif
  1119. #else
  1120. typedef struct Folder3Vtbl {
  1121. BEGIN_INTERFACE
  1122. /*** IUnknown methods ***/
  1123. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1124. Folder3 *This,
  1125. REFIID riid,
  1126. void **ppvObject);
  1127. ULONG (STDMETHODCALLTYPE *AddRef)(
  1128. Folder3 *This);
  1129. ULONG (STDMETHODCALLTYPE *Release)(
  1130. Folder3 *This);
  1131. /*** IDispatch methods ***/
  1132. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1133. Folder3 *This,
  1134. UINT *pctinfo);
  1135. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1136. Folder3 *This,
  1137. UINT iTInfo,
  1138. LCID lcid,
  1139. ITypeInfo **ppTInfo);
  1140. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1141. Folder3 *This,
  1142. REFIID riid,
  1143. LPOLESTR *rgszNames,
  1144. UINT cNames,
  1145. LCID lcid,
  1146. DISPID *rgDispId);
  1147. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1148. Folder3 *This,
  1149. DISPID dispIdMember,
  1150. REFIID riid,
  1151. LCID lcid,
  1152. WORD wFlags,
  1153. DISPPARAMS *pDispParams,
  1154. VARIANT *pVarResult,
  1155. EXCEPINFO *pExcepInfo,
  1156. UINT *puArgErr);
  1157. /*** Folder methods ***/
  1158. HRESULT (STDMETHODCALLTYPE *get_Title)(
  1159. Folder3 *This,
  1160. BSTR *pbs);
  1161. HRESULT (STDMETHODCALLTYPE *get_Application)(
  1162. Folder3 *This,
  1163. IDispatch **ppid);
  1164. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  1165. Folder3 *This,
  1166. IDispatch **ppid);
  1167. HRESULT (STDMETHODCALLTYPE *get_ParentFolder)(
  1168. Folder3 *This,
  1169. Folder **ppsf);
  1170. HRESULT (STDMETHODCALLTYPE *Items)(
  1171. Folder3 *This,
  1172. FolderItems **ppid);
  1173. HRESULT (STDMETHODCALLTYPE *ParseName)(
  1174. Folder3 *This,
  1175. BSTR bName,
  1176. FolderItem **ppid);
  1177. HRESULT (STDMETHODCALLTYPE *NewFolder)(
  1178. Folder3 *This,
  1179. BSTR bName,
  1180. VARIANT vOptions);
  1181. HRESULT (STDMETHODCALLTYPE *MoveHere)(
  1182. Folder3 *This,
  1183. VARIANT vItem,
  1184. VARIANT vOptions);
  1185. HRESULT (STDMETHODCALLTYPE *CopyHere)(
  1186. Folder3 *This,
  1187. VARIANT vItem,
  1188. VARIANT vOptions);
  1189. HRESULT (STDMETHODCALLTYPE *GetDetailsOf)(
  1190. Folder3 *This,
  1191. VARIANT vItem,
  1192. int iColumn,
  1193. BSTR *pbs);
  1194. /*** Folder2 methods ***/
  1195. HRESULT (STDMETHODCALLTYPE *get_Self)(
  1196. Folder3 *This,
  1197. FolderItem **ppfi);
  1198. HRESULT (STDMETHODCALLTYPE *get_OfflineStatus)(
  1199. Folder3 *This,
  1200. LONG *pul);
  1201. HRESULT (STDMETHODCALLTYPE *Synchronize)(
  1202. Folder3 *This);
  1203. HRESULT (STDMETHODCALLTYPE *get_HaveToShowWebViewBarricade)(
  1204. Folder3 *This,
  1205. VARIANT_BOOL *pbHaveToShowWebViewBarricade);
  1206. HRESULT (STDMETHODCALLTYPE *DismissedWebViewBarricade)(
  1207. Folder3 *This);
  1208. /*** Folder3 methods ***/
  1209. HRESULT (STDMETHODCALLTYPE *get_ShowWebViewBarricade)(
  1210. Folder3 *This,
  1211. VARIANT_BOOL *pbShowWebViewBarricade);
  1212. HRESULT (STDMETHODCALLTYPE *put_ShowWebViewBarricade)(
  1213. Folder3 *This,
  1214. VARIANT_BOOL bShowWebViewBarricade);
  1215. END_INTERFACE
  1216. } Folder3Vtbl;
  1217. interface Folder3 {
  1218. CONST_VTBL Folder3Vtbl* lpVtbl;
  1219. };
  1220. #ifdef COBJMACROS
  1221. #ifndef WIDL_C_INLINE_WRAPPERS
  1222. /*** IUnknown methods ***/
  1223. #define Folder3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1224. #define Folder3_AddRef(This) (This)->lpVtbl->AddRef(This)
  1225. #define Folder3_Release(This) (This)->lpVtbl->Release(This)
  1226. /*** IDispatch methods ***/
  1227. #define Folder3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1228. #define Folder3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1229. #define Folder3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1230. #define Folder3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1231. /*** Folder methods ***/
  1232. #define Folder3_get_Title(This,pbs) (This)->lpVtbl->get_Title(This,pbs)
  1233. #define Folder3_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  1234. #define Folder3_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  1235. #define Folder3_get_ParentFolder(This,ppsf) (This)->lpVtbl->get_ParentFolder(This,ppsf)
  1236. #define Folder3_Items(This,ppid) (This)->lpVtbl->Items(This,ppid)
  1237. #define Folder3_ParseName(This,bName,ppid) (This)->lpVtbl->ParseName(This,bName,ppid)
  1238. #define Folder3_NewFolder(This,bName,vOptions) (This)->lpVtbl->NewFolder(This,bName,vOptions)
  1239. #define Folder3_MoveHere(This,vItem,vOptions) (This)->lpVtbl->MoveHere(This,vItem,vOptions)
  1240. #define Folder3_CopyHere(This,vItem,vOptions) (This)->lpVtbl->CopyHere(This,vItem,vOptions)
  1241. #define Folder3_GetDetailsOf(This,vItem,iColumn,pbs) (This)->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs)
  1242. /*** Folder2 methods ***/
  1243. #define Folder3_get_Self(This,ppfi) (This)->lpVtbl->get_Self(This,ppfi)
  1244. #define Folder3_get_OfflineStatus(This,pul) (This)->lpVtbl->get_OfflineStatus(This,pul)
  1245. #define Folder3_Synchronize(This) (This)->lpVtbl->Synchronize(This)
  1246. #define Folder3_get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade) (This)->lpVtbl->get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade)
  1247. #define Folder3_DismissedWebViewBarricade(This) (This)->lpVtbl->DismissedWebViewBarricade(This)
  1248. /*** Folder3 methods ***/
  1249. #define Folder3_get_ShowWebViewBarricade(This,pbShowWebViewBarricade) (This)->lpVtbl->get_ShowWebViewBarricade(This,pbShowWebViewBarricade)
  1250. #define Folder3_put_ShowWebViewBarricade(This,bShowWebViewBarricade) (This)->lpVtbl->put_ShowWebViewBarricade(This,bShowWebViewBarricade)
  1251. #else
  1252. /*** IUnknown methods ***/
  1253. static FORCEINLINE HRESULT Folder3_QueryInterface(Folder3* This,REFIID riid,void **ppvObject) {
  1254. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1255. }
  1256. static FORCEINLINE ULONG Folder3_AddRef(Folder3* This) {
  1257. return This->lpVtbl->AddRef(This);
  1258. }
  1259. static FORCEINLINE ULONG Folder3_Release(Folder3* This) {
  1260. return This->lpVtbl->Release(This);
  1261. }
  1262. /*** IDispatch methods ***/
  1263. static FORCEINLINE HRESULT Folder3_GetTypeInfoCount(Folder3* This,UINT *pctinfo) {
  1264. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1265. }
  1266. static FORCEINLINE HRESULT Folder3_GetTypeInfo(Folder3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1267. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1268. }
  1269. static FORCEINLINE HRESULT Folder3_GetIDsOfNames(Folder3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1270. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1271. }
  1272. static FORCEINLINE HRESULT Folder3_Invoke(Folder3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1273. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1274. }
  1275. /*** Folder methods ***/
  1276. static FORCEINLINE HRESULT Folder3_get_Title(Folder3* This,BSTR *pbs) {
  1277. return This->lpVtbl->get_Title(This,pbs);
  1278. }
  1279. static FORCEINLINE HRESULT Folder3_get_Application(Folder3* This,IDispatch **ppid) {
  1280. return This->lpVtbl->get_Application(This,ppid);
  1281. }
  1282. static FORCEINLINE HRESULT Folder3_get_Parent(Folder3* This,IDispatch **ppid) {
  1283. return This->lpVtbl->get_Parent(This,ppid);
  1284. }
  1285. static FORCEINLINE HRESULT Folder3_get_ParentFolder(Folder3* This,Folder **ppsf) {
  1286. return This->lpVtbl->get_ParentFolder(This,ppsf);
  1287. }
  1288. static FORCEINLINE HRESULT Folder3_Items(Folder3* This,FolderItems **ppid) {
  1289. return This->lpVtbl->Items(This,ppid);
  1290. }
  1291. static FORCEINLINE HRESULT Folder3_ParseName(Folder3* This,BSTR bName,FolderItem **ppid) {
  1292. return This->lpVtbl->ParseName(This,bName,ppid);
  1293. }
  1294. static FORCEINLINE HRESULT Folder3_NewFolder(Folder3* This,BSTR bName,VARIANT vOptions) {
  1295. return This->lpVtbl->NewFolder(This,bName,vOptions);
  1296. }
  1297. static FORCEINLINE HRESULT Folder3_MoveHere(Folder3* This,VARIANT vItem,VARIANT vOptions) {
  1298. return This->lpVtbl->MoveHere(This,vItem,vOptions);
  1299. }
  1300. static FORCEINLINE HRESULT Folder3_CopyHere(Folder3* This,VARIANT vItem,VARIANT vOptions) {
  1301. return This->lpVtbl->CopyHere(This,vItem,vOptions);
  1302. }
  1303. static FORCEINLINE HRESULT Folder3_GetDetailsOf(Folder3* This,VARIANT vItem,int iColumn,BSTR *pbs) {
  1304. return This->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs);
  1305. }
  1306. /*** Folder2 methods ***/
  1307. static FORCEINLINE HRESULT Folder3_get_Self(Folder3* This,FolderItem **ppfi) {
  1308. return This->lpVtbl->get_Self(This,ppfi);
  1309. }
  1310. static FORCEINLINE HRESULT Folder3_get_OfflineStatus(Folder3* This,LONG *pul) {
  1311. return This->lpVtbl->get_OfflineStatus(This,pul);
  1312. }
  1313. static FORCEINLINE HRESULT Folder3_Synchronize(Folder3* This) {
  1314. return This->lpVtbl->Synchronize(This);
  1315. }
  1316. static FORCEINLINE HRESULT Folder3_get_HaveToShowWebViewBarricade(Folder3* This,VARIANT_BOOL *pbHaveToShowWebViewBarricade) {
  1317. return This->lpVtbl->get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade);
  1318. }
  1319. static FORCEINLINE HRESULT Folder3_DismissedWebViewBarricade(Folder3* This) {
  1320. return This->lpVtbl->DismissedWebViewBarricade(This);
  1321. }
  1322. /*** Folder3 methods ***/
  1323. static FORCEINLINE HRESULT Folder3_get_ShowWebViewBarricade(Folder3* This,VARIANT_BOOL *pbShowWebViewBarricade) {
  1324. return This->lpVtbl->get_ShowWebViewBarricade(This,pbShowWebViewBarricade);
  1325. }
  1326. static FORCEINLINE HRESULT Folder3_put_ShowWebViewBarricade(Folder3* This,VARIANT_BOOL bShowWebViewBarricade) {
  1327. return This->lpVtbl->put_ShowWebViewBarricade(This,bShowWebViewBarricade);
  1328. }
  1329. #endif
  1330. #endif
  1331. #endif
  1332. #endif /* __Folder3_INTERFACE_DEFINED__ */
  1333. /*****************************************************************************
  1334. * FolderItem interface
  1335. */
  1336. #ifndef __FolderItem_INTERFACE_DEFINED__
  1337. #define __FolderItem_INTERFACE_DEFINED__
  1338. typedef FolderItem *LPFOLDERITEM;
  1339. DEFINE_GUID(IID_FolderItem, 0xfac32c80, 0xcbe4, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00);
  1340. #if defined(__cplusplus) && !defined(CINTERFACE)
  1341. MIDL_INTERFACE("fac32c80-cbe4-11ce-8350-444553540000")
  1342. FolderItem : public IDispatch
  1343. {
  1344. virtual HRESULT STDMETHODCALLTYPE get_Application(
  1345. IDispatch **ppid) = 0;
  1346. virtual HRESULT STDMETHODCALLTYPE get_Parent(
  1347. IDispatch **ppid) = 0;
  1348. virtual HRESULT STDMETHODCALLTYPE get_Name(
  1349. BSTR *pbs) = 0;
  1350. virtual HRESULT STDMETHODCALLTYPE put_Name(
  1351. BSTR bs) = 0;
  1352. virtual HRESULT STDMETHODCALLTYPE get_Path(
  1353. BSTR *pbs) = 0;
  1354. virtual HRESULT STDMETHODCALLTYPE get_GetLink(
  1355. IDispatch **ppid) = 0;
  1356. virtual HRESULT STDMETHODCALLTYPE get_GetFolder(
  1357. IDispatch **ppid) = 0;
  1358. virtual HRESULT STDMETHODCALLTYPE get_IsLink(
  1359. VARIANT_BOOL *pb) = 0;
  1360. virtual HRESULT STDMETHODCALLTYPE get_IsFolder(
  1361. VARIANT_BOOL *pb) = 0;
  1362. virtual HRESULT STDMETHODCALLTYPE get_IsFileSystem(
  1363. VARIANT_BOOL *pb) = 0;
  1364. virtual HRESULT STDMETHODCALLTYPE get_IsBrowsable(
  1365. VARIANT_BOOL *pb) = 0;
  1366. virtual HRESULT STDMETHODCALLTYPE get_ModifyDate(
  1367. DATE *pdt) = 0;
  1368. virtual HRESULT STDMETHODCALLTYPE put_ModifyDate(
  1369. DATE dt) = 0;
  1370. virtual HRESULT STDMETHODCALLTYPE get_Size(
  1371. LONG *pul) = 0;
  1372. virtual HRESULT STDMETHODCALLTYPE get_Type(
  1373. BSTR *pbs) = 0;
  1374. virtual HRESULT STDMETHODCALLTYPE Verbs(
  1375. FolderItemVerbs **ppfic) = 0;
  1376. virtual HRESULT STDMETHODCALLTYPE InvokeVerb(
  1377. VARIANT vVerb) = 0;
  1378. };
  1379. #ifdef __CRT_UUID_DECL
  1380. __CRT_UUID_DECL(FolderItem, 0xfac32c80, 0xcbe4, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00)
  1381. #endif
  1382. #else
  1383. typedef struct FolderItemVtbl {
  1384. BEGIN_INTERFACE
  1385. /*** IUnknown methods ***/
  1386. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1387. FolderItem *This,
  1388. REFIID riid,
  1389. void **ppvObject);
  1390. ULONG (STDMETHODCALLTYPE *AddRef)(
  1391. FolderItem *This);
  1392. ULONG (STDMETHODCALLTYPE *Release)(
  1393. FolderItem *This);
  1394. /*** IDispatch methods ***/
  1395. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1396. FolderItem *This,
  1397. UINT *pctinfo);
  1398. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1399. FolderItem *This,
  1400. UINT iTInfo,
  1401. LCID lcid,
  1402. ITypeInfo **ppTInfo);
  1403. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1404. FolderItem *This,
  1405. REFIID riid,
  1406. LPOLESTR *rgszNames,
  1407. UINT cNames,
  1408. LCID lcid,
  1409. DISPID *rgDispId);
  1410. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1411. FolderItem *This,
  1412. DISPID dispIdMember,
  1413. REFIID riid,
  1414. LCID lcid,
  1415. WORD wFlags,
  1416. DISPPARAMS *pDispParams,
  1417. VARIANT *pVarResult,
  1418. EXCEPINFO *pExcepInfo,
  1419. UINT *puArgErr);
  1420. /*** FolderItem methods ***/
  1421. HRESULT (STDMETHODCALLTYPE *get_Application)(
  1422. FolderItem *This,
  1423. IDispatch **ppid);
  1424. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  1425. FolderItem *This,
  1426. IDispatch **ppid);
  1427. HRESULT (STDMETHODCALLTYPE *get_Name)(
  1428. FolderItem *This,
  1429. BSTR *pbs);
  1430. HRESULT (STDMETHODCALLTYPE *put_Name)(
  1431. FolderItem *This,
  1432. BSTR bs);
  1433. HRESULT (STDMETHODCALLTYPE *get_Path)(
  1434. FolderItem *This,
  1435. BSTR *pbs);
  1436. HRESULT (STDMETHODCALLTYPE *get_GetLink)(
  1437. FolderItem *This,
  1438. IDispatch **ppid);
  1439. HRESULT (STDMETHODCALLTYPE *get_GetFolder)(
  1440. FolderItem *This,
  1441. IDispatch **ppid);
  1442. HRESULT (STDMETHODCALLTYPE *get_IsLink)(
  1443. FolderItem *This,
  1444. VARIANT_BOOL *pb);
  1445. HRESULT (STDMETHODCALLTYPE *get_IsFolder)(
  1446. FolderItem *This,
  1447. VARIANT_BOOL *pb);
  1448. HRESULT (STDMETHODCALLTYPE *get_IsFileSystem)(
  1449. FolderItem *This,
  1450. VARIANT_BOOL *pb);
  1451. HRESULT (STDMETHODCALLTYPE *get_IsBrowsable)(
  1452. FolderItem *This,
  1453. VARIANT_BOOL *pb);
  1454. HRESULT (STDMETHODCALLTYPE *get_ModifyDate)(
  1455. FolderItem *This,
  1456. DATE *pdt);
  1457. HRESULT (STDMETHODCALLTYPE *put_ModifyDate)(
  1458. FolderItem *This,
  1459. DATE dt);
  1460. HRESULT (STDMETHODCALLTYPE *get_Size)(
  1461. FolderItem *This,
  1462. LONG *pul);
  1463. HRESULT (STDMETHODCALLTYPE *get_Type)(
  1464. FolderItem *This,
  1465. BSTR *pbs);
  1466. HRESULT (STDMETHODCALLTYPE *Verbs)(
  1467. FolderItem *This,
  1468. FolderItemVerbs **ppfic);
  1469. HRESULT (STDMETHODCALLTYPE *InvokeVerb)(
  1470. FolderItem *This,
  1471. VARIANT vVerb);
  1472. END_INTERFACE
  1473. } FolderItemVtbl;
  1474. interface FolderItem {
  1475. CONST_VTBL FolderItemVtbl* lpVtbl;
  1476. };
  1477. #ifdef COBJMACROS
  1478. #ifndef WIDL_C_INLINE_WRAPPERS
  1479. /*** IUnknown methods ***/
  1480. #define FolderItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1481. #define FolderItem_AddRef(This) (This)->lpVtbl->AddRef(This)
  1482. #define FolderItem_Release(This) (This)->lpVtbl->Release(This)
  1483. /*** IDispatch methods ***/
  1484. #define FolderItem_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1485. #define FolderItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1486. #define FolderItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1487. #define FolderItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1488. /*** FolderItem methods ***/
  1489. #define FolderItem_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  1490. #define FolderItem_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  1491. #define FolderItem_get_Name(This,pbs) (This)->lpVtbl->get_Name(This,pbs)
  1492. #define FolderItem_put_Name(This,bs) (This)->lpVtbl->put_Name(This,bs)
  1493. #define FolderItem_get_Path(This,pbs) (This)->lpVtbl->get_Path(This,pbs)
  1494. #define FolderItem_get_GetLink(This,ppid) (This)->lpVtbl->get_GetLink(This,ppid)
  1495. #define FolderItem_get_GetFolder(This,ppid) (This)->lpVtbl->get_GetFolder(This,ppid)
  1496. #define FolderItem_get_IsLink(This,pb) (This)->lpVtbl->get_IsLink(This,pb)
  1497. #define FolderItem_get_IsFolder(This,pb) (This)->lpVtbl->get_IsFolder(This,pb)
  1498. #define FolderItem_get_IsFileSystem(This,pb) (This)->lpVtbl->get_IsFileSystem(This,pb)
  1499. #define FolderItem_get_IsBrowsable(This,pb) (This)->lpVtbl->get_IsBrowsable(This,pb)
  1500. #define FolderItem_get_ModifyDate(This,pdt) (This)->lpVtbl->get_ModifyDate(This,pdt)
  1501. #define FolderItem_put_ModifyDate(This,dt) (This)->lpVtbl->put_ModifyDate(This,dt)
  1502. #define FolderItem_get_Size(This,pul) (This)->lpVtbl->get_Size(This,pul)
  1503. #define FolderItem_get_Type(This,pbs) (This)->lpVtbl->get_Type(This,pbs)
  1504. #define FolderItem_Verbs(This,ppfic) (This)->lpVtbl->Verbs(This,ppfic)
  1505. #define FolderItem_InvokeVerb(This,vVerb) (This)->lpVtbl->InvokeVerb(This,vVerb)
  1506. #else
  1507. /*** IUnknown methods ***/
  1508. static FORCEINLINE HRESULT FolderItem_QueryInterface(FolderItem* This,REFIID riid,void **ppvObject) {
  1509. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1510. }
  1511. static FORCEINLINE ULONG FolderItem_AddRef(FolderItem* This) {
  1512. return This->lpVtbl->AddRef(This);
  1513. }
  1514. static FORCEINLINE ULONG FolderItem_Release(FolderItem* This) {
  1515. return This->lpVtbl->Release(This);
  1516. }
  1517. /*** IDispatch methods ***/
  1518. static FORCEINLINE HRESULT FolderItem_GetTypeInfoCount(FolderItem* This,UINT *pctinfo) {
  1519. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1520. }
  1521. static FORCEINLINE HRESULT FolderItem_GetTypeInfo(FolderItem* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1522. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1523. }
  1524. static FORCEINLINE HRESULT FolderItem_GetIDsOfNames(FolderItem* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1525. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1526. }
  1527. static FORCEINLINE HRESULT FolderItem_Invoke(FolderItem* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1528. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1529. }
  1530. /*** FolderItem methods ***/
  1531. static FORCEINLINE HRESULT FolderItem_get_Application(FolderItem* This,IDispatch **ppid) {
  1532. return This->lpVtbl->get_Application(This,ppid);
  1533. }
  1534. static FORCEINLINE HRESULT FolderItem_get_Parent(FolderItem* This,IDispatch **ppid) {
  1535. return This->lpVtbl->get_Parent(This,ppid);
  1536. }
  1537. static FORCEINLINE HRESULT FolderItem_get_Name(FolderItem* This,BSTR *pbs) {
  1538. return This->lpVtbl->get_Name(This,pbs);
  1539. }
  1540. static FORCEINLINE HRESULT FolderItem_put_Name(FolderItem* This,BSTR bs) {
  1541. return This->lpVtbl->put_Name(This,bs);
  1542. }
  1543. static FORCEINLINE HRESULT FolderItem_get_Path(FolderItem* This,BSTR *pbs) {
  1544. return This->lpVtbl->get_Path(This,pbs);
  1545. }
  1546. static FORCEINLINE HRESULT FolderItem_get_GetLink(FolderItem* This,IDispatch **ppid) {
  1547. return This->lpVtbl->get_GetLink(This,ppid);
  1548. }
  1549. static FORCEINLINE HRESULT FolderItem_get_GetFolder(FolderItem* This,IDispatch **ppid) {
  1550. return This->lpVtbl->get_GetFolder(This,ppid);
  1551. }
  1552. static FORCEINLINE HRESULT FolderItem_get_IsLink(FolderItem* This,VARIANT_BOOL *pb) {
  1553. return This->lpVtbl->get_IsLink(This,pb);
  1554. }
  1555. static FORCEINLINE HRESULT FolderItem_get_IsFolder(FolderItem* This,VARIANT_BOOL *pb) {
  1556. return This->lpVtbl->get_IsFolder(This,pb);
  1557. }
  1558. static FORCEINLINE HRESULT FolderItem_get_IsFileSystem(FolderItem* This,VARIANT_BOOL *pb) {
  1559. return This->lpVtbl->get_IsFileSystem(This,pb);
  1560. }
  1561. static FORCEINLINE HRESULT FolderItem_get_IsBrowsable(FolderItem* This,VARIANT_BOOL *pb) {
  1562. return This->lpVtbl->get_IsBrowsable(This,pb);
  1563. }
  1564. static FORCEINLINE HRESULT FolderItem_get_ModifyDate(FolderItem* This,DATE *pdt) {
  1565. return This->lpVtbl->get_ModifyDate(This,pdt);
  1566. }
  1567. static FORCEINLINE HRESULT FolderItem_put_ModifyDate(FolderItem* This,DATE dt) {
  1568. return This->lpVtbl->put_ModifyDate(This,dt);
  1569. }
  1570. static FORCEINLINE HRESULT FolderItem_get_Size(FolderItem* This,LONG *pul) {
  1571. return This->lpVtbl->get_Size(This,pul);
  1572. }
  1573. static FORCEINLINE HRESULT FolderItem_get_Type(FolderItem* This,BSTR *pbs) {
  1574. return This->lpVtbl->get_Type(This,pbs);
  1575. }
  1576. static FORCEINLINE HRESULT FolderItem_Verbs(FolderItem* This,FolderItemVerbs **ppfic) {
  1577. return This->lpVtbl->Verbs(This,ppfic);
  1578. }
  1579. static FORCEINLINE HRESULT FolderItem_InvokeVerb(FolderItem* This,VARIANT vVerb) {
  1580. return This->lpVtbl->InvokeVerb(This,vVerb);
  1581. }
  1582. #endif
  1583. #endif
  1584. #endif
  1585. #endif /* __FolderItem_INTERFACE_DEFINED__ */
  1586. /*****************************************************************************
  1587. * FolderItem2 interface
  1588. */
  1589. #ifndef __FolderItem2_INTERFACE_DEFINED__
  1590. #define __FolderItem2_INTERFACE_DEFINED__
  1591. DEFINE_GUID(IID_FolderItem2, 0xedc817aa, 0x92b8, 0x11d1, 0xb0,0x75, 0x00,0xc0,0x4f,0xc3,0x3a,0xa5);
  1592. #if defined(__cplusplus) && !defined(CINTERFACE)
  1593. MIDL_INTERFACE("edc817aa-92b8-11d1-b075-00c04fc33aa5")
  1594. FolderItem2 : public FolderItem
  1595. {
  1596. virtual HRESULT STDMETHODCALLTYPE InvokeVerbEx(
  1597. VARIANT vVerb,
  1598. VARIANT vArgs) = 0;
  1599. virtual HRESULT STDMETHODCALLTYPE ExtendedProperty(
  1600. BSTR bstrPropName,
  1601. VARIANT *pvRet) = 0;
  1602. };
  1603. #ifdef __CRT_UUID_DECL
  1604. __CRT_UUID_DECL(FolderItem2, 0xedc817aa, 0x92b8, 0x11d1, 0xb0,0x75, 0x00,0xc0,0x4f,0xc3,0x3a,0xa5)
  1605. #endif
  1606. #else
  1607. typedef struct FolderItem2Vtbl {
  1608. BEGIN_INTERFACE
  1609. /*** IUnknown methods ***/
  1610. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1611. FolderItem2 *This,
  1612. REFIID riid,
  1613. void **ppvObject);
  1614. ULONG (STDMETHODCALLTYPE *AddRef)(
  1615. FolderItem2 *This);
  1616. ULONG (STDMETHODCALLTYPE *Release)(
  1617. FolderItem2 *This);
  1618. /*** IDispatch methods ***/
  1619. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1620. FolderItem2 *This,
  1621. UINT *pctinfo);
  1622. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1623. FolderItem2 *This,
  1624. UINT iTInfo,
  1625. LCID lcid,
  1626. ITypeInfo **ppTInfo);
  1627. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1628. FolderItem2 *This,
  1629. REFIID riid,
  1630. LPOLESTR *rgszNames,
  1631. UINT cNames,
  1632. LCID lcid,
  1633. DISPID *rgDispId);
  1634. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1635. FolderItem2 *This,
  1636. DISPID dispIdMember,
  1637. REFIID riid,
  1638. LCID lcid,
  1639. WORD wFlags,
  1640. DISPPARAMS *pDispParams,
  1641. VARIANT *pVarResult,
  1642. EXCEPINFO *pExcepInfo,
  1643. UINT *puArgErr);
  1644. /*** FolderItem methods ***/
  1645. HRESULT (STDMETHODCALLTYPE *get_Application)(
  1646. FolderItem2 *This,
  1647. IDispatch **ppid);
  1648. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  1649. FolderItem2 *This,
  1650. IDispatch **ppid);
  1651. HRESULT (STDMETHODCALLTYPE *get_Name)(
  1652. FolderItem2 *This,
  1653. BSTR *pbs);
  1654. HRESULT (STDMETHODCALLTYPE *put_Name)(
  1655. FolderItem2 *This,
  1656. BSTR bs);
  1657. HRESULT (STDMETHODCALLTYPE *get_Path)(
  1658. FolderItem2 *This,
  1659. BSTR *pbs);
  1660. HRESULT (STDMETHODCALLTYPE *get_GetLink)(
  1661. FolderItem2 *This,
  1662. IDispatch **ppid);
  1663. HRESULT (STDMETHODCALLTYPE *get_GetFolder)(
  1664. FolderItem2 *This,
  1665. IDispatch **ppid);
  1666. HRESULT (STDMETHODCALLTYPE *get_IsLink)(
  1667. FolderItem2 *This,
  1668. VARIANT_BOOL *pb);
  1669. HRESULT (STDMETHODCALLTYPE *get_IsFolder)(
  1670. FolderItem2 *This,
  1671. VARIANT_BOOL *pb);
  1672. HRESULT (STDMETHODCALLTYPE *get_IsFileSystem)(
  1673. FolderItem2 *This,
  1674. VARIANT_BOOL *pb);
  1675. HRESULT (STDMETHODCALLTYPE *get_IsBrowsable)(
  1676. FolderItem2 *This,
  1677. VARIANT_BOOL *pb);
  1678. HRESULT (STDMETHODCALLTYPE *get_ModifyDate)(
  1679. FolderItem2 *This,
  1680. DATE *pdt);
  1681. HRESULT (STDMETHODCALLTYPE *put_ModifyDate)(
  1682. FolderItem2 *This,
  1683. DATE dt);
  1684. HRESULT (STDMETHODCALLTYPE *get_Size)(
  1685. FolderItem2 *This,
  1686. LONG *pul);
  1687. HRESULT (STDMETHODCALLTYPE *get_Type)(
  1688. FolderItem2 *This,
  1689. BSTR *pbs);
  1690. HRESULT (STDMETHODCALLTYPE *Verbs)(
  1691. FolderItem2 *This,
  1692. FolderItemVerbs **ppfic);
  1693. HRESULT (STDMETHODCALLTYPE *InvokeVerb)(
  1694. FolderItem2 *This,
  1695. VARIANT vVerb);
  1696. /*** FolderItem2 methods ***/
  1697. HRESULT (STDMETHODCALLTYPE *InvokeVerbEx)(
  1698. FolderItem2 *This,
  1699. VARIANT vVerb,
  1700. VARIANT vArgs);
  1701. HRESULT (STDMETHODCALLTYPE *ExtendedProperty)(
  1702. FolderItem2 *This,
  1703. BSTR bstrPropName,
  1704. VARIANT *pvRet);
  1705. END_INTERFACE
  1706. } FolderItem2Vtbl;
  1707. interface FolderItem2 {
  1708. CONST_VTBL FolderItem2Vtbl* lpVtbl;
  1709. };
  1710. #ifdef COBJMACROS
  1711. #ifndef WIDL_C_INLINE_WRAPPERS
  1712. /*** IUnknown methods ***/
  1713. #define FolderItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1714. #define FolderItem2_AddRef(This) (This)->lpVtbl->AddRef(This)
  1715. #define FolderItem2_Release(This) (This)->lpVtbl->Release(This)
  1716. /*** IDispatch methods ***/
  1717. #define FolderItem2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1718. #define FolderItem2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1719. #define FolderItem2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1720. #define FolderItem2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1721. /*** FolderItem methods ***/
  1722. #define FolderItem2_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  1723. #define FolderItem2_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  1724. #define FolderItem2_get_Name(This,pbs) (This)->lpVtbl->get_Name(This,pbs)
  1725. #define FolderItem2_put_Name(This,bs) (This)->lpVtbl->put_Name(This,bs)
  1726. #define FolderItem2_get_Path(This,pbs) (This)->lpVtbl->get_Path(This,pbs)
  1727. #define FolderItem2_get_GetLink(This,ppid) (This)->lpVtbl->get_GetLink(This,ppid)
  1728. #define FolderItem2_get_GetFolder(This,ppid) (This)->lpVtbl->get_GetFolder(This,ppid)
  1729. #define FolderItem2_get_IsLink(This,pb) (This)->lpVtbl->get_IsLink(This,pb)
  1730. #define FolderItem2_get_IsFolder(This,pb) (This)->lpVtbl->get_IsFolder(This,pb)
  1731. #define FolderItem2_get_IsFileSystem(This,pb) (This)->lpVtbl->get_IsFileSystem(This,pb)
  1732. #define FolderItem2_get_IsBrowsable(This,pb) (This)->lpVtbl->get_IsBrowsable(This,pb)
  1733. #define FolderItem2_get_ModifyDate(This,pdt) (This)->lpVtbl->get_ModifyDate(This,pdt)
  1734. #define FolderItem2_put_ModifyDate(This,dt) (This)->lpVtbl->put_ModifyDate(This,dt)
  1735. #define FolderItem2_get_Size(This,pul) (This)->lpVtbl->get_Size(This,pul)
  1736. #define FolderItem2_get_Type(This,pbs) (This)->lpVtbl->get_Type(This,pbs)
  1737. #define FolderItem2_Verbs(This,ppfic) (This)->lpVtbl->Verbs(This,ppfic)
  1738. #define FolderItem2_InvokeVerb(This,vVerb) (This)->lpVtbl->InvokeVerb(This,vVerb)
  1739. /*** FolderItem2 methods ***/
  1740. #define FolderItem2_InvokeVerbEx(This,vVerb,vArgs) (This)->lpVtbl->InvokeVerbEx(This,vVerb,vArgs)
  1741. #define FolderItem2_ExtendedProperty(This,bstrPropName,pvRet) (This)->lpVtbl->ExtendedProperty(This,bstrPropName,pvRet)
  1742. #else
  1743. /*** IUnknown methods ***/
  1744. static FORCEINLINE HRESULT FolderItem2_QueryInterface(FolderItem2* This,REFIID riid,void **ppvObject) {
  1745. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1746. }
  1747. static FORCEINLINE ULONG FolderItem2_AddRef(FolderItem2* This) {
  1748. return This->lpVtbl->AddRef(This);
  1749. }
  1750. static FORCEINLINE ULONG FolderItem2_Release(FolderItem2* This) {
  1751. return This->lpVtbl->Release(This);
  1752. }
  1753. /*** IDispatch methods ***/
  1754. static FORCEINLINE HRESULT FolderItem2_GetTypeInfoCount(FolderItem2* This,UINT *pctinfo) {
  1755. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1756. }
  1757. static FORCEINLINE HRESULT FolderItem2_GetTypeInfo(FolderItem2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1758. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1759. }
  1760. static FORCEINLINE HRESULT FolderItem2_GetIDsOfNames(FolderItem2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1761. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1762. }
  1763. static FORCEINLINE HRESULT FolderItem2_Invoke(FolderItem2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1764. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1765. }
  1766. /*** FolderItem methods ***/
  1767. static FORCEINLINE HRESULT FolderItem2_get_Application(FolderItem2* This,IDispatch **ppid) {
  1768. return This->lpVtbl->get_Application(This,ppid);
  1769. }
  1770. static FORCEINLINE HRESULT FolderItem2_get_Parent(FolderItem2* This,IDispatch **ppid) {
  1771. return This->lpVtbl->get_Parent(This,ppid);
  1772. }
  1773. static FORCEINLINE HRESULT FolderItem2_get_Name(FolderItem2* This,BSTR *pbs) {
  1774. return This->lpVtbl->get_Name(This,pbs);
  1775. }
  1776. static FORCEINLINE HRESULT FolderItem2_put_Name(FolderItem2* This,BSTR bs) {
  1777. return This->lpVtbl->put_Name(This,bs);
  1778. }
  1779. static FORCEINLINE HRESULT FolderItem2_get_Path(FolderItem2* This,BSTR *pbs) {
  1780. return This->lpVtbl->get_Path(This,pbs);
  1781. }
  1782. static FORCEINLINE HRESULT FolderItem2_get_GetLink(FolderItem2* This,IDispatch **ppid) {
  1783. return This->lpVtbl->get_GetLink(This,ppid);
  1784. }
  1785. static FORCEINLINE HRESULT FolderItem2_get_GetFolder(FolderItem2* This,IDispatch **ppid) {
  1786. return This->lpVtbl->get_GetFolder(This,ppid);
  1787. }
  1788. static FORCEINLINE HRESULT FolderItem2_get_IsLink(FolderItem2* This,VARIANT_BOOL *pb) {
  1789. return This->lpVtbl->get_IsLink(This,pb);
  1790. }
  1791. static FORCEINLINE HRESULT FolderItem2_get_IsFolder(FolderItem2* This,VARIANT_BOOL *pb) {
  1792. return This->lpVtbl->get_IsFolder(This,pb);
  1793. }
  1794. static FORCEINLINE HRESULT FolderItem2_get_IsFileSystem(FolderItem2* This,VARIANT_BOOL *pb) {
  1795. return This->lpVtbl->get_IsFileSystem(This,pb);
  1796. }
  1797. static FORCEINLINE HRESULT FolderItem2_get_IsBrowsable(FolderItem2* This,VARIANT_BOOL *pb) {
  1798. return This->lpVtbl->get_IsBrowsable(This,pb);
  1799. }
  1800. static FORCEINLINE HRESULT FolderItem2_get_ModifyDate(FolderItem2* This,DATE *pdt) {
  1801. return This->lpVtbl->get_ModifyDate(This,pdt);
  1802. }
  1803. static FORCEINLINE HRESULT FolderItem2_put_ModifyDate(FolderItem2* This,DATE dt) {
  1804. return This->lpVtbl->put_ModifyDate(This,dt);
  1805. }
  1806. static FORCEINLINE HRESULT FolderItem2_get_Size(FolderItem2* This,LONG *pul) {
  1807. return This->lpVtbl->get_Size(This,pul);
  1808. }
  1809. static FORCEINLINE HRESULT FolderItem2_get_Type(FolderItem2* This,BSTR *pbs) {
  1810. return This->lpVtbl->get_Type(This,pbs);
  1811. }
  1812. static FORCEINLINE HRESULT FolderItem2_Verbs(FolderItem2* This,FolderItemVerbs **ppfic) {
  1813. return This->lpVtbl->Verbs(This,ppfic);
  1814. }
  1815. static FORCEINLINE HRESULT FolderItem2_InvokeVerb(FolderItem2* This,VARIANT vVerb) {
  1816. return This->lpVtbl->InvokeVerb(This,vVerb);
  1817. }
  1818. /*** FolderItem2 methods ***/
  1819. static FORCEINLINE HRESULT FolderItem2_InvokeVerbEx(FolderItem2* This,VARIANT vVerb,VARIANT vArgs) {
  1820. return This->lpVtbl->InvokeVerbEx(This,vVerb,vArgs);
  1821. }
  1822. static FORCEINLINE HRESULT FolderItem2_ExtendedProperty(FolderItem2* This,BSTR bstrPropName,VARIANT *pvRet) {
  1823. return This->lpVtbl->ExtendedProperty(This,bstrPropName,pvRet);
  1824. }
  1825. #endif
  1826. #endif
  1827. #endif
  1828. #endif /* __FolderItem2_INTERFACE_DEFINED__ */
  1829. /*****************************************************************************
  1830. * ShellFolderItem coclass
  1831. */
  1832. DEFINE_GUID(CLSID_ShellFolderItem, 0x2fe352ea, 0xfd1f, 0x11d2, 0xb1,0xf4, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e);
  1833. #ifdef __cplusplus
  1834. class DECLSPEC_UUID("2fe352ea-fd1f-11d2-b1f4-00c04f8eeb3e") ShellFolderItem;
  1835. #ifdef __CRT_UUID_DECL
  1836. __CRT_UUID_DECL(ShellFolderItem, 0x2fe352ea, 0xfd1f, 0x11d2, 0xb1,0xf4, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e)
  1837. #endif
  1838. #endif
  1839. /*****************************************************************************
  1840. * FolderItems interface
  1841. */
  1842. #ifndef __FolderItems_INTERFACE_DEFINED__
  1843. #define __FolderItems_INTERFACE_DEFINED__
  1844. DEFINE_GUID(IID_FolderItems, 0x744129e0, 0xcbe5, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00);
  1845. #if defined(__cplusplus) && !defined(CINTERFACE)
  1846. MIDL_INTERFACE("744129e0-cbe5-11ce-8350-444553540000")
  1847. FolderItems : public IDispatch
  1848. {
  1849. virtual HRESULT STDMETHODCALLTYPE get_Count(
  1850. LONG *plCount) = 0;
  1851. virtual HRESULT STDMETHODCALLTYPE get_Application(
  1852. IDispatch **ppid) = 0;
  1853. virtual HRESULT STDMETHODCALLTYPE get_Parent(
  1854. IDispatch **ppid) = 0;
  1855. virtual HRESULT STDMETHODCALLTYPE Item(
  1856. VARIANT index,
  1857. FolderItem **ppid) = 0;
  1858. virtual HRESULT STDMETHODCALLTYPE _NewEnum(
  1859. IUnknown **ppunk) = 0;
  1860. };
  1861. #ifdef __CRT_UUID_DECL
  1862. __CRT_UUID_DECL(FolderItems, 0x744129e0, 0xcbe5, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00)
  1863. #endif
  1864. #else
  1865. typedef struct FolderItemsVtbl {
  1866. BEGIN_INTERFACE
  1867. /*** IUnknown methods ***/
  1868. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1869. FolderItems *This,
  1870. REFIID riid,
  1871. void **ppvObject);
  1872. ULONG (STDMETHODCALLTYPE *AddRef)(
  1873. FolderItems *This);
  1874. ULONG (STDMETHODCALLTYPE *Release)(
  1875. FolderItems *This);
  1876. /*** IDispatch methods ***/
  1877. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1878. FolderItems *This,
  1879. UINT *pctinfo);
  1880. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1881. FolderItems *This,
  1882. UINT iTInfo,
  1883. LCID lcid,
  1884. ITypeInfo **ppTInfo);
  1885. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1886. FolderItems *This,
  1887. REFIID riid,
  1888. LPOLESTR *rgszNames,
  1889. UINT cNames,
  1890. LCID lcid,
  1891. DISPID *rgDispId);
  1892. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1893. FolderItems *This,
  1894. DISPID dispIdMember,
  1895. REFIID riid,
  1896. LCID lcid,
  1897. WORD wFlags,
  1898. DISPPARAMS *pDispParams,
  1899. VARIANT *pVarResult,
  1900. EXCEPINFO *pExcepInfo,
  1901. UINT *puArgErr);
  1902. /*** FolderItems methods ***/
  1903. HRESULT (STDMETHODCALLTYPE *get_Count)(
  1904. FolderItems *This,
  1905. LONG *plCount);
  1906. HRESULT (STDMETHODCALLTYPE *get_Application)(
  1907. FolderItems *This,
  1908. IDispatch **ppid);
  1909. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  1910. FolderItems *This,
  1911. IDispatch **ppid);
  1912. HRESULT (STDMETHODCALLTYPE *Item)(
  1913. FolderItems *This,
  1914. VARIANT index,
  1915. FolderItem **ppid);
  1916. HRESULT (STDMETHODCALLTYPE *_NewEnum)(
  1917. FolderItems *This,
  1918. IUnknown **ppunk);
  1919. END_INTERFACE
  1920. } FolderItemsVtbl;
  1921. interface FolderItems {
  1922. CONST_VTBL FolderItemsVtbl* lpVtbl;
  1923. };
  1924. #ifdef COBJMACROS
  1925. #ifndef WIDL_C_INLINE_WRAPPERS
  1926. /*** IUnknown methods ***/
  1927. #define FolderItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1928. #define FolderItems_AddRef(This) (This)->lpVtbl->AddRef(This)
  1929. #define FolderItems_Release(This) (This)->lpVtbl->Release(This)
  1930. /*** IDispatch methods ***/
  1931. #define FolderItems_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1932. #define FolderItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1933. #define FolderItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1934. #define FolderItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1935. /*** FolderItems methods ***/
  1936. #define FolderItems_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
  1937. #define FolderItems_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  1938. #define FolderItems_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  1939. #define FolderItems_Item(This,index,ppid) (This)->lpVtbl->Item(This,index,ppid)
  1940. #define FolderItems__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
  1941. #else
  1942. /*** IUnknown methods ***/
  1943. static FORCEINLINE HRESULT FolderItems_QueryInterface(FolderItems* This,REFIID riid,void **ppvObject) {
  1944. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1945. }
  1946. static FORCEINLINE ULONG FolderItems_AddRef(FolderItems* This) {
  1947. return This->lpVtbl->AddRef(This);
  1948. }
  1949. static FORCEINLINE ULONG FolderItems_Release(FolderItems* This) {
  1950. return This->lpVtbl->Release(This);
  1951. }
  1952. /*** IDispatch methods ***/
  1953. static FORCEINLINE HRESULT FolderItems_GetTypeInfoCount(FolderItems* This,UINT *pctinfo) {
  1954. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1955. }
  1956. static FORCEINLINE HRESULT FolderItems_GetTypeInfo(FolderItems* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1957. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1958. }
  1959. static FORCEINLINE HRESULT FolderItems_GetIDsOfNames(FolderItems* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1960. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1961. }
  1962. static FORCEINLINE HRESULT FolderItems_Invoke(FolderItems* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1963. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1964. }
  1965. /*** FolderItems methods ***/
  1966. static FORCEINLINE HRESULT FolderItems_get_Count(FolderItems* This,LONG *plCount) {
  1967. return This->lpVtbl->get_Count(This,plCount);
  1968. }
  1969. static FORCEINLINE HRESULT FolderItems_get_Application(FolderItems* This,IDispatch **ppid) {
  1970. return This->lpVtbl->get_Application(This,ppid);
  1971. }
  1972. static FORCEINLINE HRESULT FolderItems_get_Parent(FolderItems* This,IDispatch **ppid) {
  1973. return This->lpVtbl->get_Parent(This,ppid);
  1974. }
  1975. static FORCEINLINE HRESULT FolderItems_Item(FolderItems* This,VARIANT index,FolderItem **ppid) {
  1976. return This->lpVtbl->Item(This,index,ppid);
  1977. }
  1978. static FORCEINLINE HRESULT FolderItems__NewEnum(FolderItems* This,IUnknown **ppunk) {
  1979. return This->lpVtbl->_NewEnum(This,ppunk);
  1980. }
  1981. #endif
  1982. #endif
  1983. #endif
  1984. #endif /* __FolderItems_INTERFACE_DEFINED__ */
  1985. /*****************************************************************************
  1986. * FolderItems2 interface
  1987. */
  1988. #ifndef __FolderItems2_INTERFACE_DEFINED__
  1989. #define __FolderItems2_INTERFACE_DEFINED__
  1990. DEFINE_GUID(IID_FolderItems2, 0xc94f0ad0, 0xf363, 0x11d2, 0xa3,0x27, 0x00,0xc0,0x4f,0x8e,0xec,0x7f);
  1991. #if defined(__cplusplus) && !defined(CINTERFACE)
  1992. MIDL_INTERFACE("c94f0ad0-f363-11d2-a327-00c04f8eec7f")
  1993. FolderItems2 : public FolderItems
  1994. {
  1995. virtual HRESULT STDMETHODCALLTYPE InvokeVerbEx(
  1996. VARIANT vVerb,
  1997. VARIANT vArgs) = 0;
  1998. };
  1999. #ifdef __CRT_UUID_DECL
  2000. __CRT_UUID_DECL(FolderItems2, 0xc94f0ad0, 0xf363, 0x11d2, 0xa3,0x27, 0x00,0xc0,0x4f,0x8e,0xec,0x7f)
  2001. #endif
  2002. #else
  2003. typedef struct FolderItems2Vtbl {
  2004. BEGIN_INTERFACE
  2005. /*** IUnknown methods ***/
  2006. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2007. FolderItems2 *This,
  2008. REFIID riid,
  2009. void **ppvObject);
  2010. ULONG (STDMETHODCALLTYPE *AddRef)(
  2011. FolderItems2 *This);
  2012. ULONG (STDMETHODCALLTYPE *Release)(
  2013. FolderItems2 *This);
  2014. /*** IDispatch methods ***/
  2015. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2016. FolderItems2 *This,
  2017. UINT *pctinfo);
  2018. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2019. FolderItems2 *This,
  2020. UINT iTInfo,
  2021. LCID lcid,
  2022. ITypeInfo **ppTInfo);
  2023. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2024. FolderItems2 *This,
  2025. REFIID riid,
  2026. LPOLESTR *rgszNames,
  2027. UINT cNames,
  2028. LCID lcid,
  2029. DISPID *rgDispId);
  2030. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2031. FolderItems2 *This,
  2032. DISPID dispIdMember,
  2033. REFIID riid,
  2034. LCID lcid,
  2035. WORD wFlags,
  2036. DISPPARAMS *pDispParams,
  2037. VARIANT *pVarResult,
  2038. EXCEPINFO *pExcepInfo,
  2039. UINT *puArgErr);
  2040. /*** FolderItems methods ***/
  2041. HRESULT (STDMETHODCALLTYPE *get_Count)(
  2042. FolderItems2 *This,
  2043. LONG *plCount);
  2044. HRESULT (STDMETHODCALLTYPE *get_Application)(
  2045. FolderItems2 *This,
  2046. IDispatch **ppid);
  2047. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  2048. FolderItems2 *This,
  2049. IDispatch **ppid);
  2050. HRESULT (STDMETHODCALLTYPE *Item)(
  2051. FolderItems2 *This,
  2052. VARIANT index,
  2053. FolderItem **ppid);
  2054. HRESULT (STDMETHODCALLTYPE *_NewEnum)(
  2055. FolderItems2 *This,
  2056. IUnknown **ppunk);
  2057. /*** FolderItems2 methods ***/
  2058. HRESULT (STDMETHODCALLTYPE *InvokeVerbEx)(
  2059. FolderItems2 *This,
  2060. VARIANT vVerb,
  2061. VARIANT vArgs);
  2062. END_INTERFACE
  2063. } FolderItems2Vtbl;
  2064. interface FolderItems2 {
  2065. CONST_VTBL FolderItems2Vtbl* lpVtbl;
  2066. };
  2067. #ifdef COBJMACROS
  2068. #ifndef WIDL_C_INLINE_WRAPPERS
  2069. /*** IUnknown methods ***/
  2070. #define FolderItems2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2071. #define FolderItems2_AddRef(This) (This)->lpVtbl->AddRef(This)
  2072. #define FolderItems2_Release(This) (This)->lpVtbl->Release(This)
  2073. /*** IDispatch methods ***/
  2074. #define FolderItems2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2075. #define FolderItems2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2076. #define FolderItems2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2077. #define FolderItems2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2078. /*** FolderItems methods ***/
  2079. #define FolderItems2_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
  2080. #define FolderItems2_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  2081. #define FolderItems2_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  2082. #define FolderItems2_Item(This,index,ppid) (This)->lpVtbl->Item(This,index,ppid)
  2083. #define FolderItems2__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
  2084. /*** FolderItems2 methods ***/
  2085. #define FolderItems2_InvokeVerbEx(This,vVerb,vArgs) (This)->lpVtbl->InvokeVerbEx(This,vVerb,vArgs)
  2086. #else
  2087. /*** IUnknown methods ***/
  2088. static FORCEINLINE HRESULT FolderItems2_QueryInterface(FolderItems2* This,REFIID riid,void **ppvObject) {
  2089. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2090. }
  2091. static FORCEINLINE ULONG FolderItems2_AddRef(FolderItems2* This) {
  2092. return This->lpVtbl->AddRef(This);
  2093. }
  2094. static FORCEINLINE ULONG FolderItems2_Release(FolderItems2* This) {
  2095. return This->lpVtbl->Release(This);
  2096. }
  2097. /*** IDispatch methods ***/
  2098. static FORCEINLINE HRESULT FolderItems2_GetTypeInfoCount(FolderItems2* This,UINT *pctinfo) {
  2099. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2100. }
  2101. static FORCEINLINE HRESULT FolderItems2_GetTypeInfo(FolderItems2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2102. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2103. }
  2104. static FORCEINLINE HRESULT FolderItems2_GetIDsOfNames(FolderItems2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2105. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2106. }
  2107. static FORCEINLINE HRESULT FolderItems2_Invoke(FolderItems2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2108. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2109. }
  2110. /*** FolderItems methods ***/
  2111. static FORCEINLINE HRESULT FolderItems2_get_Count(FolderItems2* This,LONG *plCount) {
  2112. return This->lpVtbl->get_Count(This,plCount);
  2113. }
  2114. static FORCEINLINE HRESULT FolderItems2_get_Application(FolderItems2* This,IDispatch **ppid) {
  2115. return This->lpVtbl->get_Application(This,ppid);
  2116. }
  2117. static FORCEINLINE HRESULT FolderItems2_get_Parent(FolderItems2* This,IDispatch **ppid) {
  2118. return This->lpVtbl->get_Parent(This,ppid);
  2119. }
  2120. static FORCEINLINE HRESULT FolderItems2_Item(FolderItems2* This,VARIANT index,FolderItem **ppid) {
  2121. return This->lpVtbl->Item(This,index,ppid);
  2122. }
  2123. static FORCEINLINE HRESULT FolderItems2__NewEnum(FolderItems2* This,IUnknown **ppunk) {
  2124. return This->lpVtbl->_NewEnum(This,ppunk);
  2125. }
  2126. /*** FolderItems2 methods ***/
  2127. static FORCEINLINE HRESULT FolderItems2_InvokeVerbEx(FolderItems2* This,VARIANT vVerb,VARIANT vArgs) {
  2128. return This->lpVtbl->InvokeVerbEx(This,vVerb,vArgs);
  2129. }
  2130. #endif
  2131. #endif
  2132. #endif
  2133. #endif /* __FolderItems2_INTERFACE_DEFINED__ */
  2134. /*****************************************************************************
  2135. * FolderItems3 interface
  2136. */
  2137. #ifndef __FolderItems3_INTERFACE_DEFINED__
  2138. #define __FolderItems3_INTERFACE_DEFINED__
  2139. DEFINE_GUID(IID_FolderItems3, 0xeaa7c309, 0xbbec, 0x49d5, 0x82,0x1d, 0x64,0xd9,0x66,0xcb,0x66,0x7f);
  2140. #if defined(__cplusplus) && !defined(CINTERFACE)
  2141. MIDL_INTERFACE("eaa7c309-bbec-49d5-821d-64d966cb667f")
  2142. FolderItems3 : public FolderItems2
  2143. {
  2144. virtual HRESULT STDMETHODCALLTYPE Filter(
  2145. LONG grfFlags,
  2146. BSTR bstrFileSpec) = 0;
  2147. virtual HRESULT STDMETHODCALLTYPE get_Verbs(
  2148. FolderItemVerbs **ppfic) = 0;
  2149. };
  2150. #ifdef __CRT_UUID_DECL
  2151. __CRT_UUID_DECL(FolderItems3, 0xeaa7c309, 0xbbec, 0x49d5, 0x82,0x1d, 0x64,0xd9,0x66,0xcb,0x66,0x7f)
  2152. #endif
  2153. #else
  2154. typedef struct FolderItems3Vtbl {
  2155. BEGIN_INTERFACE
  2156. /*** IUnknown methods ***/
  2157. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2158. FolderItems3 *This,
  2159. REFIID riid,
  2160. void **ppvObject);
  2161. ULONG (STDMETHODCALLTYPE *AddRef)(
  2162. FolderItems3 *This);
  2163. ULONG (STDMETHODCALLTYPE *Release)(
  2164. FolderItems3 *This);
  2165. /*** IDispatch methods ***/
  2166. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2167. FolderItems3 *This,
  2168. UINT *pctinfo);
  2169. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2170. FolderItems3 *This,
  2171. UINT iTInfo,
  2172. LCID lcid,
  2173. ITypeInfo **ppTInfo);
  2174. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2175. FolderItems3 *This,
  2176. REFIID riid,
  2177. LPOLESTR *rgszNames,
  2178. UINT cNames,
  2179. LCID lcid,
  2180. DISPID *rgDispId);
  2181. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2182. FolderItems3 *This,
  2183. DISPID dispIdMember,
  2184. REFIID riid,
  2185. LCID lcid,
  2186. WORD wFlags,
  2187. DISPPARAMS *pDispParams,
  2188. VARIANT *pVarResult,
  2189. EXCEPINFO *pExcepInfo,
  2190. UINT *puArgErr);
  2191. /*** FolderItems methods ***/
  2192. HRESULT (STDMETHODCALLTYPE *get_Count)(
  2193. FolderItems3 *This,
  2194. LONG *plCount);
  2195. HRESULT (STDMETHODCALLTYPE *get_Application)(
  2196. FolderItems3 *This,
  2197. IDispatch **ppid);
  2198. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  2199. FolderItems3 *This,
  2200. IDispatch **ppid);
  2201. HRESULT (STDMETHODCALLTYPE *Item)(
  2202. FolderItems3 *This,
  2203. VARIANT index,
  2204. FolderItem **ppid);
  2205. HRESULT (STDMETHODCALLTYPE *_NewEnum)(
  2206. FolderItems3 *This,
  2207. IUnknown **ppunk);
  2208. /*** FolderItems2 methods ***/
  2209. HRESULT (STDMETHODCALLTYPE *InvokeVerbEx)(
  2210. FolderItems3 *This,
  2211. VARIANT vVerb,
  2212. VARIANT vArgs);
  2213. /*** FolderItems3 methods ***/
  2214. HRESULT (STDMETHODCALLTYPE *Filter)(
  2215. FolderItems3 *This,
  2216. LONG grfFlags,
  2217. BSTR bstrFileSpec);
  2218. HRESULT (STDMETHODCALLTYPE *get_Verbs)(
  2219. FolderItems3 *This,
  2220. FolderItemVerbs **ppfic);
  2221. END_INTERFACE
  2222. } FolderItems3Vtbl;
  2223. interface FolderItems3 {
  2224. CONST_VTBL FolderItems3Vtbl* lpVtbl;
  2225. };
  2226. #ifdef COBJMACROS
  2227. #ifndef WIDL_C_INLINE_WRAPPERS
  2228. /*** IUnknown methods ***/
  2229. #define FolderItems3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2230. #define FolderItems3_AddRef(This) (This)->lpVtbl->AddRef(This)
  2231. #define FolderItems3_Release(This) (This)->lpVtbl->Release(This)
  2232. /*** IDispatch methods ***/
  2233. #define FolderItems3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2234. #define FolderItems3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2235. #define FolderItems3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2236. #define FolderItems3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2237. /*** FolderItems methods ***/
  2238. #define FolderItems3_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
  2239. #define FolderItems3_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  2240. #define FolderItems3_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  2241. #define FolderItems3_Item(This,index,ppid) (This)->lpVtbl->Item(This,index,ppid)
  2242. #define FolderItems3__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
  2243. /*** FolderItems2 methods ***/
  2244. #define FolderItems3_InvokeVerbEx(This,vVerb,vArgs) (This)->lpVtbl->InvokeVerbEx(This,vVerb,vArgs)
  2245. /*** FolderItems3 methods ***/
  2246. #define FolderItems3_Filter(This,grfFlags,bstrFileSpec) (This)->lpVtbl->Filter(This,grfFlags,bstrFileSpec)
  2247. #define FolderItems3_get_Verbs(This,ppfic) (This)->lpVtbl->get_Verbs(This,ppfic)
  2248. #else
  2249. /*** IUnknown methods ***/
  2250. static FORCEINLINE HRESULT FolderItems3_QueryInterface(FolderItems3* This,REFIID riid,void **ppvObject) {
  2251. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2252. }
  2253. static FORCEINLINE ULONG FolderItems3_AddRef(FolderItems3* This) {
  2254. return This->lpVtbl->AddRef(This);
  2255. }
  2256. static FORCEINLINE ULONG FolderItems3_Release(FolderItems3* This) {
  2257. return This->lpVtbl->Release(This);
  2258. }
  2259. /*** IDispatch methods ***/
  2260. static FORCEINLINE HRESULT FolderItems3_GetTypeInfoCount(FolderItems3* This,UINT *pctinfo) {
  2261. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2262. }
  2263. static FORCEINLINE HRESULT FolderItems3_GetTypeInfo(FolderItems3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2264. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2265. }
  2266. static FORCEINLINE HRESULT FolderItems3_GetIDsOfNames(FolderItems3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2267. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2268. }
  2269. static FORCEINLINE HRESULT FolderItems3_Invoke(FolderItems3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2270. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2271. }
  2272. /*** FolderItems methods ***/
  2273. static FORCEINLINE HRESULT FolderItems3_get_Count(FolderItems3* This,LONG *plCount) {
  2274. return This->lpVtbl->get_Count(This,plCount);
  2275. }
  2276. static FORCEINLINE HRESULT FolderItems3_get_Application(FolderItems3* This,IDispatch **ppid) {
  2277. return This->lpVtbl->get_Application(This,ppid);
  2278. }
  2279. static FORCEINLINE HRESULT FolderItems3_get_Parent(FolderItems3* This,IDispatch **ppid) {
  2280. return This->lpVtbl->get_Parent(This,ppid);
  2281. }
  2282. static FORCEINLINE HRESULT FolderItems3_Item(FolderItems3* This,VARIANT index,FolderItem **ppid) {
  2283. return This->lpVtbl->Item(This,index,ppid);
  2284. }
  2285. static FORCEINLINE HRESULT FolderItems3__NewEnum(FolderItems3* This,IUnknown **ppunk) {
  2286. return This->lpVtbl->_NewEnum(This,ppunk);
  2287. }
  2288. /*** FolderItems2 methods ***/
  2289. static FORCEINLINE HRESULT FolderItems3_InvokeVerbEx(FolderItems3* This,VARIANT vVerb,VARIANT vArgs) {
  2290. return This->lpVtbl->InvokeVerbEx(This,vVerb,vArgs);
  2291. }
  2292. /*** FolderItems3 methods ***/
  2293. static FORCEINLINE HRESULT FolderItems3_Filter(FolderItems3* This,LONG grfFlags,BSTR bstrFileSpec) {
  2294. return This->lpVtbl->Filter(This,grfFlags,bstrFileSpec);
  2295. }
  2296. static FORCEINLINE HRESULT FolderItems3_get_Verbs(FolderItems3* This,FolderItemVerbs **ppfic) {
  2297. return This->lpVtbl->get_Verbs(This,ppfic);
  2298. }
  2299. #endif
  2300. #endif
  2301. #endif
  2302. #endif /* __FolderItems3_INTERFACE_DEFINED__ */
  2303. /*****************************************************************************
  2304. * FolderItemVerb interface
  2305. */
  2306. #ifndef __FolderItemVerb_INTERFACE_DEFINED__
  2307. #define __FolderItemVerb_INTERFACE_DEFINED__
  2308. DEFINE_GUID(IID_FolderItemVerb, 0x08ec3e00, 0x50b0, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85);
  2309. #if defined(__cplusplus) && !defined(CINTERFACE)
  2310. MIDL_INTERFACE("08ec3e00-50b0-11cf-960c-0080c7f4ee85")
  2311. FolderItemVerb : public IDispatch
  2312. {
  2313. virtual HRESULT STDMETHODCALLTYPE get_Application(
  2314. IDispatch **ppid) = 0;
  2315. virtual HRESULT STDMETHODCALLTYPE get_Parent(
  2316. IDispatch **ppid) = 0;
  2317. virtual HRESULT STDMETHODCALLTYPE get_Name(
  2318. BSTR *pbs) = 0;
  2319. virtual HRESULT STDMETHODCALLTYPE DoIt(
  2320. ) = 0;
  2321. };
  2322. #ifdef __CRT_UUID_DECL
  2323. __CRT_UUID_DECL(FolderItemVerb, 0x08ec3e00, 0x50b0, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85)
  2324. #endif
  2325. #else
  2326. typedef struct FolderItemVerbVtbl {
  2327. BEGIN_INTERFACE
  2328. /*** IUnknown methods ***/
  2329. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2330. FolderItemVerb *This,
  2331. REFIID riid,
  2332. void **ppvObject);
  2333. ULONG (STDMETHODCALLTYPE *AddRef)(
  2334. FolderItemVerb *This);
  2335. ULONG (STDMETHODCALLTYPE *Release)(
  2336. FolderItemVerb *This);
  2337. /*** IDispatch methods ***/
  2338. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2339. FolderItemVerb *This,
  2340. UINT *pctinfo);
  2341. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2342. FolderItemVerb *This,
  2343. UINT iTInfo,
  2344. LCID lcid,
  2345. ITypeInfo **ppTInfo);
  2346. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2347. FolderItemVerb *This,
  2348. REFIID riid,
  2349. LPOLESTR *rgszNames,
  2350. UINT cNames,
  2351. LCID lcid,
  2352. DISPID *rgDispId);
  2353. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2354. FolderItemVerb *This,
  2355. DISPID dispIdMember,
  2356. REFIID riid,
  2357. LCID lcid,
  2358. WORD wFlags,
  2359. DISPPARAMS *pDispParams,
  2360. VARIANT *pVarResult,
  2361. EXCEPINFO *pExcepInfo,
  2362. UINT *puArgErr);
  2363. /*** FolderItemVerb methods ***/
  2364. HRESULT (STDMETHODCALLTYPE *get_Application)(
  2365. FolderItemVerb *This,
  2366. IDispatch **ppid);
  2367. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  2368. FolderItemVerb *This,
  2369. IDispatch **ppid);
  2370. HRESULT (STDMETHODCALLTYPE *get_Name)(
  2371. FolderItemVerb *This,
  2372. BSTR *pbs);
  2373. HRESULT (STDMETHODCALLTYPE *DoIt)(
  2374. FolderItemVerb *This);
  2375. END_INTERFACE
  2376. } FolderItemVerbVtbl;
  2377. interface FolderItemVerb {
  2378. CONST_VTBL FolderItemVerbVtbl* lpVtbl;
  2379. };
  2380. #ifdef COBJMACROS
  2381. #ifndef WIDL_C_INLINE_WRAPPERS
  2382. /*** IUnknown methods ***/
  2383. #define FolderItemVerb_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2384. #define FolderItemVerb_AddRef(This) (This)->lpVtbl->AddRef(This)
  2385. #define FolderItemVerb_Release(This) (This)->lpVtbl->Release(This)
  2386. /*** IDispatch methods ***/
  2387. #define FolderItemVerb_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2388. #define FolderItemVerb_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2389. #define FolderItemVerb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2390. #define FolderItemVerb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2391. /*** FolderItemVerb methods ***/
  2392. #define FolderItemVerb_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  2393. #define FolderItemVerb_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  2394. #define FolderItemVerb_get_Name(This,pbs) (This)->lpVtbl->get_Name(This,pbs)
  2395. #define FolderItemVerb_DoIt(This) (This)->lpVtbl->DoIt(This)
  2396. #else
  2397. /*** IUnknown methods ***/
  2398. static FORCEINLINE HRESULT FolderItemVerb_QueryInterface(FolderItemVerb* This,REFIID riid,void **ppvObject) {
  2399. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2400. }
  2401. static FORCEINLINE ULONG FolderItemVerb_AddRef(FolderItemVerb* This) {
  2402. return This->lpVtbl->AddRef(This);
  2403. }
  2404. static FORCEINLINE ULONG FolderItemVerb_Release(FolderItemVerb* This) {
  2405. return This->lpVtbl->Release(This);
  2406. }
  2407. /*** IDispatch methods ***/
  2408. static FORCEINLINE HRESULT FolderItemVerb_GetTypeInfoCount(FolderItemVerb* This,UINT *pctinfo) {
  2409. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2410. }
  2411. static FORCEINLINE HRESULT FolderItemVerb_GetTypeInfo(FolderItemVerb* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2412. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2413. }
  2414. static FORCEINLINE HRESULT FolderItemVerb_GetIDsOfNames(FolderItemVerb* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2415. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2416. }
  2417. static FORCEINLINE HRESULT FolderItemVerb_Invoke(FolderItemVerb* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2418. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2419. }
  2420. /*** FolderItemVerb methods ***/
  2421. static FORCEINLINE HRESULT FolderItemVerb_get_Application(FolderItemVerb* This,IDispatch **ppid) {
  2422. return This->lpVtbl->get_Application(This,ppid);
  2423. }
  2424. static FORCEINLINE HRESULT FolderItemVerb_get_Parent(FolderItemVerb* This,IDispatch **ppid) {
  2425. return This->lpVtbl->get_Parent(This,ppid);
  2426. }
  2427. static FORCEINLINE HRESULT FolderItemVerb_get_Name(FolderItemVerb* This,BSTR *pbs) {
  2428. return This->lpVtbl->get_Name(This,pbs);
  2429. }
  2430. static FORCEINLINE HRESULT FolderItemVerb_DoIt(FolderItemVerb* This) {
  2431. return This->lpVtbl->DoIt(This);
  2432. }
  2433. #endif
  2434. #endif
  2435. #endif
  2436. #endif /* __FolderItemVerb_INTERFACE_DEFINED__ */
  2437. /*****************************************************************************
  2438. * FolderItemVerbs interface
  2439. */
  2440. #ifndef __FolderItemVerbs_INTERFACE_DEFINED__
  2441. #define __FolderItemVerbs_INTERFACE_DEFINED__
  2442. DEFINE_GUID(IID_FolderItemVerbs, 0x1f8352c0, 0x50b0, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85);
  2443. #if defined(__cplusplus) && !defined(CINTERFACE)
  2444. MIDL_INTERFACE("1f8352c0-50b0-11cf-960c-0080c7f4ee85")
  2445. FolderItemVerbs : public IDispatch
  2446. {
  2447. virtual HRESULT STDMETHODCALLTYPE get_Count(
  2448. LONG *plCount) = 0;
  2449. virtual HRESULT STDMETHODCALLTYPE get_Application(
  2450. IDispatch **ppid) = 0;
  2451. virtual HRESULT STDMETHODCALLTYPE get_Parent(
  2452. IDispatch **ppid) = 0;
  2453. virtual HRESULT STDMETHODCALLTYPE Item(
  2454. VARIANT index,
  2455. FolderItemVerb **ppid) = 0;
  2456. virtual HRESULT STDMETHODCALLTYPE _NewEnum(
  2457. IUnknown **ppunk) = 0;
  2458. };
  2459. #ifdef __CRT_UUID_DECL
  2460. __CRT_UUID_DECL(FolderItemVerbs, 0x1f8352c0, 0x50b0, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85)
  2461. #endif
  2462. #else
  2463. typedef struct FolderItemVerbsVtbl {
  2464. BEGIN_INTERFACE
  2465. /*** IUnknown methods ***/
  2466. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2467. FolderItemVerbs *This,
  2468. REFIID riid,
  2469. void **ppvObject);
  2470. ULONG (STDMETHODCALLTYPE *AddRef)(
  2471. FolderItemVerbs *This);
  2472. ULONG (STDMETHODCALLTYPE *Release)(
  2473. FolderItemVerbs *This);
  2474. /*** IDispatch methods ***/
  2475. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2476. FolderItemVerbs *This,
  2477. UINT *pctinfo);
  2478. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2479. FolderItemVerbs *This,
  2480. UINT iTInfo,
  2481. LCID lcid,
  2482. ITypeInfo **ppTInfo);
  2483. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2484. FolderItemVerbs *This,
  2485. REFIID riid,
  2486. LPOLESTR *rgszNames,
  2487. UINT cNames,
  2488. LCID lcid,
  2489. DISPID *rgDispId);
  2490. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2491. FolderItemVerbs *This,
  2492. DISPID dispIdMember,
  2493. REFIID riid,
  2494. LCID lcid,
  2495. WORD wFlags,
  2496. DISPPARAMS *pDispParams,
  2497. VARIANT *pVarResult,
  2498. EXCEPINFO *pExcepInfo,
  2499. UINT *puArgErr);
  2500. /*** FolderItemVerbs methods ***/
  2501. HRESULT (STDMETHODCALLTYPE *get_Count)(
  2502. FolderItemVerbs *This,
  2503. LONG *plCount);
  2504. HRESULT (STDMETHODCALLTYPE *get_Application)(
  2505. FolderItemVerbs *This,
  2506. IDispatch **ppid);
  2507. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  2508. FolderItemVerbs *This,
  2509. IDispatch **ppid);
  2510. HRESULT (STDMETHODCALLTYPE *Item)(
  2511. FolderItemVerbs *This,
  2512. VARIANT index,
  2513. FolderItemVerb **ppid);
  2514. HRESULT (STDMETHODCALLTYPE *_NewEnum)(
  2515. FolderItemVerbs *This,
  2516. IUnknown **ppunk);
  2517. END_INTERFACE
  2518. } FolderItemVerbsVtbl;
  2519. interface FolderItemVerbs {
  2520. CONST_VTBL FolderItemVerbsVtbl* lpVtbl;
  2521. };
  2522. #ifdef COBJMACROS
  2523. #ifndef WIDL_C_INLINE_WRAPPERS
  2524. /*** IUnknown methods ***/
  2525. #define FolderItemVerbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2526. #define FolderItemVerbs_AddRef(This) (This)->lpVtbl->AddRef(This)
  2527. #define FolderItemVerbs_Release(This) (This)->lpVtbl->Release(This)
  2528. /*** IDispatch methods ***/
  2529. #define FolderItemVerbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2530. #define FolderItemVerbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2531. #define FolderItemVerbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2532. #define FolderItemVerbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2533. /*** FolderItemVerbs methods ***/
  2534. #define FolderItemVerbs_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
  2535. #define FolderItemVerbs_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  2536. #define FolderItemVerbs_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  2537. #define FolderItemVerbs_Item(This,index,ppid) (This)->lpVtbl->Item(This,index,ppid)
  2538. #define FolderItemVerbs__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
  2539. #else
  2540. /*** IUnknown methods ***/
  2541. static FORCEINLINE HRESULT FolderItemVerbs_QueryInterface(FolderItemVerbs* This,REFIID riid,void **ppvObject) {
  2542. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2543. }
  2544. static FORCEINLINE ULONG FolderItemVerbs_AddRef(FolderItemVerbs* This) {
  2545. return This->lpVtbl->AddRef(This);
  2546. }
  2547. static FORCEINLINE ULONG FolderItemVerbs_Release(FolderItemVerbs* This) {
  2548. return This->lpVtbl->Release(This);
  2549. }
  2550. /*** IDispatch methods ***/
  2551. static FORCEINLINE HRESULT FolderItemVerbs_GetTypeInfoCount(FolderItemVerbs* This,UINT *pctinfo) {
  2552. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2553. }
  2554. static FORCEINLINE HRESULT FolderItemVerbs_GetTypeInfo(FolderItemVerbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2555. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2556. }
  2557. static FORCEINLINE HRESULT FolderItemVerbs_GetIDsOfNames(FolderItemVerbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2558. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2559. }
  2560. static FORCEINLINE HRESULT FolderItemVerbs_Invoke(FolderItemVerbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2561. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2562. }
  2563. /*** FolderItemVerbs methods ***/
  2564. static FORCEINLINE HRESULT FolderItemVerbs_get_Count(FolderItemVerbs* This,LONG *plCount) {
  2565. return This->lpVtbl->get_Count(This,plCount);
  2566. }
  2567. static FORCEINLINE HRESULT FolderItemVerbs_get_Application(FolderItemVerbs* This,IDispatch **ppid) {
  2568. return This->lpVtbl->get_Application(This,ppid);
  2569. }
  2570. static FORCEINLINE HRESULT FolderItemVerbs_get_Parent(FolderItemVerbs* This,IDispatch **ppid) {
  2571. return This->lpVtbl->get_Parent(This,ppid);
  2572. }
  2573. static FORCEINLINE HRESULT FolderItemVerbs_Item(FolderItemVerbs* This,VARIANT index,FolderItemVerb **ppid) {
  2574. return This->lpVtbl->Item(This,index,ppid);
  2575. }
  2576. static FORCEINLINE HRESULT FolderItemVerbs__NewEnum(FolderItemVerbs* This,IUnknown **ppunk) {
  2577. return This->lpVtbl->_NewEnum(This,ppunk);
  2578. }
  2579. #endif
  2580. #endif
  2581. #endif
  2582. #endif /* __FolderItemVerbs_INTERFACE_DEFINED__ */
  2583. /*****************************************************************************
  2584. * IShellLinkDual interface
  2585. */
  2586. #ifndef __IShellLinkDual_INTERFACE_DEFINED__
  2587. #define __IShellLinkDual_INTERFACE_DEFINED__
  2588. DEFINE_GUID(IID_IShellLinkDual, 0x88a05c00, 0xf000, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00);
  2589. #if defined(__cplusplus) && !defined(CINTERFACE)
  2590. MIDL_INTERFACE("88a05c00-f000-11ce-8350-444553540000")
  2591. IShellLinkDual : public IDispatch
  2592. {
  2593. virtual HRESULT STDMETHODCALLTYPE get_Path(
  2594. BSTR *pbs) = 0;
  2595. virtual HRESULT STDMETHODCALLTYPE put_Path(
  2596. BSTR bs) = 0;
  2597. virtual HRESULT STDMETHODCALLTYPE get_Description(
  2598. BSTR *pbs) = 0;
  2599. virtual HRESULT STDMETHODCALLTYPE put_Description(
  2600. BSTR bs) = 0;
  2601. virtual HRESULT STDMETHODCALLTYPE get_WorkingDirectory(
  2602. BSTR *pbs) = 0;
  2603. virtual HRESULT STDMETHODCALLTYPE put_WorkingDirectory(
  2604. BSTR bs) = 0;
  2605. virtual HRESULT STDMETHODCALLTYPE get_Arguments(
  2606. BSTR *pbs) = 0;
  2607. virtual HRESULT STDMETHODCALLTYPE put_Arguments(
  2608. BSTR bs) = 0;
  2609. virtual HRESULT STDMETHODCALLTYPE get_Hotkey(
  2610. int *piHK) = 0;
  2611. virtual HRESULT STDMETHODCALLTYPE put_Hotkey(
  2612. int iHK) = 0;
  2613. virtual HRESULT STDMETHODCALLTYPE get_ShowCommand(
  2614. int *piShowCommand) = 0;
  2615. virtual HRESULT STDMETHODCALLTYPE put_ShowCommand(
  2616. int iShowCommand) = 0;
  2617. virtual HRESULT STDMETHODCALLTYPE Resolve(
  2618. int fFlags) = 0;
  2619. virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
  2620. BSTR *pbs,
  2621. int *piIcon) = 0;
  2622. virtual HRESULT STDMETHODCALLTYPE SetIconLocation(
  2623. BSTR bs,
  2624. int iIcon) = 0;
  2625. virtual HRESULT STDMETHODCALLTYPE Save(
  2626. VARIANT vWhere) = 0;
  2627. };
  2628. #ifdef __CRT_UUID_DECL
  2629. __CRT_UUID_DECL(IShellLinkDual, 0x88a05c00, 0xf000, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00)
  2630. #endif
  2631. #else
  2632. typedef struct IShellLinkDualVtbl {
  2633. BEGIN_INTERFACE
  2634. /*** IUnknown methods ***/
  2635. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2636. IShellLinkDual *This,
  2637. REFIID riid,
  2638. void **ppvObject);
  2639. ULONG (STDMETHODCALLTYPE *AddRef)(
  2640. IShellLinkDual *This);
  2641. ULONG (STDMETHODCALLTYPE *Release)(
  2642. IShellLinkDual *This);
  2643. /*** IDispatch methods ***/
  2644. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2645. IShellLinkDual *This,
  2646. UINT *pctinfo);
  2647. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2648. IShellLinkDual *This,
  2649. UINT iTInfo,
  2650. LCID lcid,
  2651. ITypeInfo **ppTInfo);
  2652. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2653. IShellLinkDual *This,
  2654. REFIID riid,
  2655. LPOLESTR *rgszNames,
  2656. UINT cNames,
  2657. LCID lcid,
  2658. DISPID *rgDispId);
  2659. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2660. IShellLinkDual *This,
  2661. DISPID dispIdMember,
  2662. REFIID riid,
  2663. LCID lcid,
  2664. WORD wFlags,
  2665. DISPPARAMS *pDispParams,
  2666. VARIANT *pVarResult,
  2667. EXCEPINFO *pExcepInfo,
  2668. UINT *puArgErr);
  2669. /*** IShellLinkDual methods ***/
  2670. HRESULT (STDMETHODCALLTYPE *get_Path)(
  2671. IShellLinkDual *This,
  2672. BSTR *pbs);
  2673. HRESULT (STDMETHODCALLTYPE *put_Path)(
  2674. IShellLinkDual *This,
  2675. BSTR bs);
  2676. HRESULT (STDMETHODCALLTYPE *get_Description)(
  2677. IShellLinkDual *This,
  2678. BSTR *pbs);
  2679. HRESULT (STDMETHODCALLTYPE *put_Description)(
  2680. IShellLinkDual *This,
  2681. BSTR bs);
  2682. HRESULT (STDMETHODCALLTYPE *get_WorkingDirectory)(
  2683. IShellLinkDual *This,
  2684. BSTR *pbs);
  2685. HRESULT (STDMETHODCALLTYPE *put_WorkingDirectory)(
  2686. IShellLinkDual *This,
  2687. BSTR bs);
  2688. HRESULT (STDMETHODCALLTYPE *get_Arguments)(
  2689. IShellLinkDual *This,
  2690. BSTR *pbs);
  2691. HRESULT (STDMETHODCALLTYPE *put_Arguments)(
  2692. IShellLinkDual *This,
  2693. BSTR bs);
  2694. HRESULT (STDMETHODCALLTYPE *get_Hotkey)(
  2695. IShellLinkDual *This,
  2696. int *piHK);
  2697. HRESULT (STDMETHODCALLTYPE *put_Hotkey)(
  2698. IShellLinkDual *This,
  2699. int iHK);
  2700. HRESULT (STDMETHODCALLTYPE *get_ShowCommand)(
  2701. IShellLinkDual *This,
  2702. int *piShowCommand);
  2703. HRESULT (STDMETHODCALLTYPE *put_ShowCommand)(
  2704. IShellLinkDual *This,
  2705. int iShowCommand);
  2706. HRESULT (STDMETHODCALLTYPE *Resolve)(
  2707. IShellLinkDual *This,
  2708. int fFlags);
  2709. HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
  2710. IShellLinkDual *This,
  2711. BSTR *pbs,
  2712. int *piIcon);
  2713. HRESULT (STDMETHODCALLTYPE *SetIconLocation)(
  2714. IShellLinkDual *This,
  2715. BSTR bs,
  2716. int iIcon);
  2717. HRESULT (STDMETHODCALLTYPE *Save)(
  2718. IShellLinkDual *This,
  2719. VARIANT vWhere);
  2720. END_INTERFACE
  2721. } IShellLinkDualVtbl;
  2722. interface IShellLinkDual {
  2723. CONST_VTBL IShellLinkDualVtbl* lpVtbl;
  2724. };
  2725. #ifdef COBJMACROS
  2726. #ifndef WIDL_C_INLINE_WRAPPERS
  2727. /*** IUnknown methods ***/
  2728. #define IShellLinkDual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2729. #define IShellLinkDual_AddRef(This) (This)->lpVtbl->AddRef(This)
  2730. #define IShellLinkDual_Release(This) (This)->lpVtbl->Release(This)
  2731. /*** IDispatch methods ***/
  2732. #define IShellLinkDual_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2733. #define IShellLinkDual_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2734. #define IShellLinkDual_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2735. #define IShellLinkDual_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2736. /*** IShellLinkDual methods ***/
  2737. #define IShellLinkDual_get_Path(This,pbs) (This)->lpVtbl->get_Path(This,pbs)
  2738. #define IShellLinkDual_put_Path(This,bs) (This)->lpVtbl->put_Path(This,bs)
  2739. #define IShellLinkDual_get_Description(This,pbs) (This)->lpVtbl->get_Description(This,pbs)
  2740. #define IShellLinkDual_put_Description(This,bs) (This)->lpVtbl->put_Description(This,bs)
  2741. #define IShellLinkDual_get_WorkingDirectory(This,pbs) (This)->lpVtbl->get_WorkingDirectory(This,pbs)
  2742. #define IShellLinkDual_put_WorkingDirectory(This,bs) (This)->lpVtbl->put_WorkingDirectory(This,bs)
  2743. #define IShellLinkDual_get_Arguments(This,pbs) (This)->lpVtbl->get_Arguments(This,pbs)
  2744. #define IShellLinkDual_put_Arguments(This,bs) (This)->lpVtbl->put_Arguments(This,bs)
  2745. #define IShellLinkDual_get_Hotkey(This,piHK) (This)->lpVtbl->get_Hotkey(This,piHK)
  2746. #define IShellLinkDual_put_Hotkey(This,iHK) (This)->lpVtbl->put_Hotkey(This,iHK)
  2747. #define IShellLinkDual_get_ShowCommand(This,piShowCommand) (This)->lpVtbl->get_ShowCommand(This,piShowCommand)
  2748. #define IShellLinkDual_put_ShowCommand(This,iShowCommand) (This)->lpVtbl->put_ShowCommand(This,iShowCommand)
  2749. #define IShellLinkDual_Resolve(This,fFlags) (This)->lpVtbl->Resolve(This,fFlags)
  2750. #define IShellLinkDual_GetIconLocation(This,pbs,piIcon) (This)->lpVtbl->GetIconLocation(This,pbs,piIcon)
  2751. #define IShellLinkDual_SetIconLocation(This,bs,iIcon) (This)->lpVtbl->SetIconLocation(This,bs,iIcon)
  2752. #define IShellLinkDual_Save(This,vWhere) (This)->lpVtbl->Save(This,vWhere)
  2753. #else
  2754. /*** IUnknown methods ***/
  2755. static FORCEINLINE HRESULT IShellLinkDual_QueryInterface(IShellLinkDual* This,REFIID riid,void **ppvObject) {
  2756. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2757. }
  2758. static FORCEINLINE ULONG IShellLinkDual_AddRef(IShellLinkDual* This) {
  2759. return This->lpVtbl->AddRef(This);
  2760. }
  2761. static FORCEINLINE ULONG IShellLinkDual_Release(IShellLinkDual* This) {
  2762. return This->lpVtbl->Release(This);
  2763. }
  2764. /*** IDispatch methods ***/
  2765. static FORCEINLINE HRESULT IShellLinkDual_GetTypeInfoCount(IShellLinkDual* This,UINT *pctinfo) {
  2766. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2767. }
  2768. static FORCEINLINE HRESULT IShellLinkDual_GetTypeInfo(IShellLinkDual* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2769. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2770. }
  2771. static FORCEINLINE HRESULT IShellLinkDual_GetIDsOfNames(IShellLinkDual* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2772. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2773. }
  2774. static FORCEINLINE HRESULT IShellLinkDual_Invoke(IShellLinkDual* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2775. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2776. }
  2777. /*** IShellLinkDual methods ***/
  2778. static FORCEINLINE HRESULT IShellLinkDual_get_Path(IShellLinkDual* This,BSTR *pbs) {
  2779. return This->lpVtbl->get_Path(This,pbs);
  2780. }
  2781. static FORCEINLINE HRESULT IShellLinkDual_put_Path(IShellLinkDual* This,BSTR bs) {
  2782. return This->lpVtbl->put_Path(This,bs);
  2783. }
  2784. static FORCEINLINE HRESULT IShellLinkDual_get_Description(IShellLinkDual* This,BSTR *pbs) {
  2785. return This->lpVtbl->get_Description(This,pbs);
  2786. }
  2787. static FORCEINLINE HRESULT IShellLinkDual_put_Description(IShellLinkDual* This,BSTR bs) {
  2788. return This->lpVtbl->put_Description(This,bs);
  2789. }
  2790. static FORCEINLINE HRESULT IShellLinkDual_get_WorkingDirectory(IShellLinkDual* This,BSTR *pbs) {
  2791. return This->lpVtbl->get_WorkingDirectory(This,pbs);
  2792. }
  2793. static FORCEINLINE HRESULT IShellLinkDual_put_WorkingDirectory(IShellLinkDual* This,BSTR bs) {
  2794. return This->lpVtbl->put_WorkingDirectory(This,bs);
  2795. }
  2796. static FORCEINLINE HRESULT IShellLinkDual_get_Arguments(IShellLinkDual* This,BSTR *pbs) {
  2797. return This->lpVtbl->get_Arguments(This,pbs);
  2798. }
  2799. static FORCEINLINE HRESULT IShellLinkDual_put_Arguments(IShellLinkDual* This,BSTR bs) {
  2800. return This->lpVtbl->put_Arguments(This,bs);
  2801. }
  2802. static FORCEINLINE HRESULT IShellLinkDual_get_Hotkey(IShellLinkDual* This,int *piHK) {
  2803. return This->lpVtbl->get_Hotkey(This,piHK);
  2804. }
  2805. static FORCEINLINE HRESULT IShellLinkDual_put_Hotkey(IShellLinkDual* This,int iHK) {
  2806. return This->lpVtbl->put_Hotkey(This,iHK);
  2807. }
  2808. static FORCEINLINE HRESULT IShellLinkDual_get_ShowCommand(IShellLinkDual* This,int *piShowCommand) {
  2809. return This->lpVtbl->get_ShowCommand(This,piShowCommand);
  2810. }
  2811. static FORCEINLINE HRESULT IShellLinkDual_put_ShowCommand(IShellLinkDual* This,int iShowCommand) {
  2812. return This->lpVtbl->put_ShowCommand(This,iShowCommand);
  2813. }
  2814. static FORCEINLINE HRESULT IShellLinkDual_Resolve(IShellLinkDual* This,int fFlags) {
  2815. return This->lpVtbl->Resolve(This,fFlags);
  2816. }
  2817. static FORCEINLINE HRESULT IShellLinkDual_GetIconLocation(IShellLinkDual* This,BSTR *pbs,int *piIcon) {
  2818. return This->lpVtbl->GetIconLocation(This,pbs,piIcon);
  2819. }
  2820. static FORCEINLINE HRESULT IShellLinkDual_SetIconLocation(IShellLinkDual* This,BSTR bs,int iIcon) {
  2821. return This->lpVtbl->SetIconLocation(This,bs,iIcon);
  2822. }
  2823. static FORCEINLINE HRESULT IShellLinkDual_Save(IShellLinkDual* This,VARIANT vWhere) {
  2824. return This->lpVtbl->Save(This,vWhere);
  2825. }
  2826. #endif
  2827. #endif
  2828. #endif
  2829. #endif /* __IShellLinkDual_INTERFACE_DEFINED__ */
  2830. /*****************************************************************************
  2831. * IShellLinkDual2 interface
  2832. */
  2833. #ifndef __IShellLinkDual2_INTERFACE_DEFINED__
  2834. #define __IShellLinkDual2_INTERFACE_DEFINED__
  2835. DEFINE_GUID(IID_IShellLinkDual2, 0x317ee249, 0xf12e, 0x11d2, 0xb1,0xe4, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e);
  2836. #if defined(__cplusplus) && !defined(CINTERFACE)
  2837. MIDL_INTERFACE("317ee249-f12e-11d2-b1e4-00c04f8eeb3e")
  2838. IShellLinkDual2 : public IShellLinkDual
  2839. {
  2840. virtual HRESULT STDMETHODCALLTYPE get_Target(
  2841. FolderItem **ppfi) = 0;
  2842. };
  2843. #ifdef __CRT_UUID_DECL
  2844. __CRT_UUID_DECL(IShellLinkDual2, 0x317ee249, 0xf12e, 0x11d2, 0xb1,0xe4, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e)
  2845. #endif
  2846. #else
  2847. typedef struct IShellLinkDual2Vtbl {
  2848. BEGIN_INTERFACE
  2849. /*** IUnknown methods ***/
  2850. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2851. IShellLinkDual2 *This,
  2852. REFIID riid,
  2853. void **ppvObject);
  2854. ULONG (STDMETHODCALLTYPE *AddRef)(
  2855. IShellLinkDual2 *This);
  2856. ULONG (STDMETHODCALLTYPE *Release)(
  2857. IShellLinkDual2 *This);
  2858. /*** IDispatch methods ***/
  2859. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2860. IShellLinkDual2 *This,
  2861. UINT *pctinfo);
  2862. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2863. IShellLinkDual2 *This,
  2864. UINT iTInfo,
  2865. LCID lcid,
  2866. ITypeInfo **ppTInfo);
  2867. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2868. IShellLinkDual2 *This,
  2869. REFIID riid,
  2870. LPOLESTR *rgszNames,
  2871. UINT cNames,
  2872. LCID lcid,
  2873. DISPID *rgDispId);
  2874. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2875. IShellLinkDual2 *This,
  2876. DISPID dispIdMember,
  2877. REFIID riid,
  2878. LCID lcid,
  2879. WORD wFlags,
  2880. DISPPARAMS *pDispParams,
  2881. VARIANT *pVarResult,
  2882. EXCEPINFO *pExcepInfo,
  2883. UINT *puArgErr);
  2884. /*** IShellLinkDual methods ***/
  2885. HRESULT (STDMETHODCALLTYPE *get_Path)(
  2886. IShellLinkDual2 *This,
  2887. BSTR *pbs);
  2888. HRESULT (STDMETHODCALLTYPE *put_Path)(
  2889. IShellLinkDual2 *This,
  2890. BSTR bs);
  2891. HRESULT (STDMETHODCALLTYPE *get_Description)(
  2892. IShellLinkDual2 *This,
  2893. BSTR *pbs);
  2894. HRESULT (STDMETHODCALLTYPE *put_Description)(
  2895. IShellLinkDual2 *This,
  2896. BSTR bs);
  2897. HRESULT (STDMETHODCALLTYPE *get_WorkingDirectory)(
  2898. IShellLinkDual2 *This,
  2899. BSTR *pbs);
  2900. HRESULT (STDMETHODCALLTYPE *put_WorkingDirectory)(
  2901. IShellLinkDual2 *This,
  2902. BSTR bs);
  2903. HRESULT (STDMETHODCALLTYPE *get_Arguments)(
  2904. IShellLinkDual2 *This,
  2905. BSTR *pbs);
  2906. HRESULT (STDMETHODCALLTYPE *put_Arguments)(
  2907. IShellLinkDual2 *This,
  2908. BSTR bs);
  2909. HRESULT (STDMETHODCALLTYPE *get_Hotkey)(
  2910. IShellLinkDual2 *This,
  2911. int *piHK);
  2912. HRESULT (STDMETHODCALLTYPE *put_Hotkey)(
  2913. IShellLinkDual2 *This,
  2914. int iHK);
  2915. HRESULT (STDMETHODCALLTYPE *get_ShowCommand)(
  2916. IShellLinkDual2 *This,
  2917. int *piShowCommand);
  2918. HRESULT (STDMETHODCALLTYPE *put_ShowCommand)(
  2919. IShellLinkDual2 *This,
  2920. int iShowCommand);
  2921. HRESULT (STDMETHODCALLTYPE *Resolve)(
  2922. IShellLinkDual2 *This,
  2923. int fFlags);
  2924. HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
  2925. IShellLinkDual2 *This,
  2926. BSTR *pbs,
  2927. int *piIcon);
  2928. HRESULT (STDMETHODCALLTYPE *SetIconLocation)(
  2929. IShellLinkDual2 *This,
  2930. BSTR bs,
  2931. int iIcon);
  2932. HRESULT (STDMETHODCALLTYPE *Save)(
  2933. IShellLinkDual2 *This,
  2934. VARIANT vWhere);
  2935. /*** IShellLinkDual2 methods ***/
  2936. HRESULT (STDMETHODCALLTYPE *get_Target)(
  2937. IShellLinkDual2 *This,
  2938. FolderItem **ppfi);
  2939. END_INTERFACE
  2940. } IShellLinkDual2Vtbl;
  2941. interface IShellLinkDual2 {
  2942. CONST_VTBL IShellLinkDual2Vtbl* lpVtbl;
  2943. };
  2944. #ifdef COBJMACROS
  2945. #ifndef WIDL_C_INLINE_WRAPPERS
  2946. /*** IUnknown methods ***/
  2947. #define IShellLinkDual2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2948. #define IShellLinkDual2_AddRef(This) (This)->lpVtbl->AddRef(This)
  2949. #define IShellLinkDual2_Release(This) (This)->lpVtbl->Release(This)
  2950. /*** IDispatch methods ***/
  2951. #define IShellLinkDual2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2952. #define IShellLinkDual2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2953. #define IShellLinkDual2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2954. #define IShellLinkDual2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2955. /*** IShellLinkDual methods ***/
  2956. #define IShellLinkDual2_get_Path(This,pbs) (This)->lpVtbl->get_Path(This,pbs)
  2957. #define IShellLinkDual2_put_Path(This,bs) (This)->lpVtbl->put_Path(This,bs)
  2958. #define IShellLinkDual2_get_Description(This,pbs) (This)->lpVtbl->get_Description(This,pbs)
  2959. #define IShellLinkDual2_put_Description(This,bs) (This)->lpVtbl->put_Description(This,bs)
  2960. #define IShellLinkDual2_get_WorkingDirectory(This,pbs) (This)->lpVtbl->get_WorkingDirectory(This,pbs)
  2961. #define IShellLinkDual2_put_WorkingDirectory(This,bs) (This)->lpVtbl->put_WorkingDirectory(This,bs)
  2962. #define IShellLinkDual2_get_Arguments(This,pbs) (This)->lpVtbl->get_Arguments(This,pbs)
  2963. #define IShellLinkDual2_put_Arguments(This,bs) (This)->lpVtbl->put_Arguments(This,bs)
  2964. #define IShellLinkDual2_get_Hotkey(This,piHK) (This)->lpVtbl->get_Hotkey(This,piHK)
  2965. #define IShellLinkDual2_put_Hotkey(This,iHK) (This)->lpVtbl->put_Hotkey(This,iHK)
  2966. #define IShellLinkDual2_get_ShowCommand(This,piShowCommand) (This)->lpVtbl->get_ShowCommand(This,piShowCommand)
  2967. #define IShellLinkDual2_put_ShowCommand(This,iShowCommand) (This)->lpVtbl->put_ShowCommand(This,iShowCommand)
  2968. #define IShellLinkDual2_Resolve(This,fFlags) (This)->lpVtbl->Resolve(This,fFlags)
  2969. #define IShellLinkDual2_GetIconLocation(This,pbs,piIcon) (This)->lpVtbl->GetIconLocation(This,pbs,piIcon)
  2970. #define IShellLinkDual2_SetIconLocation(This,bs,iIcon) (This)->lpVtbl->SetIconLocation(This,bs,iIcon)
  2971. #define IShellLinkDual2_Save(This,vWhere) (This)->lpVtbl->Save(This,vWhere)
  2972. /*** IShellLinkDual2 methods ***/
  2973. #define IShellLinkDual2_get_Target(This,ppfi) (This)->lpVtbl->get_Target(This,ppfi)
  2974. #else
  2975. /*** IUnknown methods ***/
  2976. static FORCEINLINE HRESULT IShellLinkDual2_QueryInterface(IShellLinkDual2* This,REFIID riid,void **ppvObject) {
  2977. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2978. }
  2979. static FORCEINLINE ULONG IShellLinkDual2_AddRef(IShellLinkDual2* This) {
  2980. return This->lpVtbl->AddRef(This);
  2981. }
  2982. static FORCEINLINE ULONG IShellLinkDual2_Release(IShellLinkDual2* This) {
  2983. return This->lpVtbl->Release(This);
  2984. }
  2985. /*** IDispatch methods ***/
  2986. static FORCEINLINE HRESULT IShellLinkDual2_GetTypeInfoCount(IShellLinkDual2* This,UINT *pctinfo) {
  2987. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2988. }
  2989. static FORCEINLINE HRESULT IShellLinkDual2_GetTypeInfo(IShellLinkDual2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2990. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2991. }
  2992. static FORCEINLINE HRESULT IShellLinkDual2_GetIDsOfNames(IShellLinkDual2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2993. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2994. }
  2995. static FORCEINLINE HRESULT IShellLinkDual2_Invoke(IShellLinkDual2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2996. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2997. }
  2998. /*** IShellLinkDual methods ***/
  2999. static FORCEINLINE HRESULT IShellLinkDual2_get_Path(IShellLinkDual2* This,BSTR *pbs) {
  3000. return This->lpVtbl->get_Path(This,pbs);
  3001. }
  3002. static FORCEINLINE HRESULT IShellLinkDual2_put_Path(IShellLinkDual2* This,BSTR bs) {
  3003. return This->lpVtbl->put_Path(This,bs);
  3004. }
  3005. static FORCEINLINE HRESULT IShellLinkDual2_get_Description(IShellLinkDual2* This,BSTR *pbs) {
  3006. return This->lpVtbl->get_Description(This,pbs);
  3007. }
  3008. static FORCEINLINE HRESULT IShellLinkDual2_put_Description(IShellLinkDual2* This,BSTR bs) {
  3009. return This->lpVtbl->put_Description(This,bs);
  3010. }
  3011. static FORCEINLINE HRESULT IShellLinkDual2_get_WorkingDirectory(IShellLinkDual2* This,BSTR *pbs) {
  3012. return This->lpVtbl->get_WorkingDirectory(This,pbs);
  3013. }
  3014. static FORCEINLINE HRESULT IShellLinkDual2_put_WorkingDirectory(IShellLinkDual2* This,BSTR bs) {
  3015. return This->lpVtbl->put_WorkingDirectory(This,bs);
  3016. }
  3017. static FORCEINLINE HRESULT IShellLinkDual2_get_Arguments(IShellLinkDual2* This,BSTR *pbs) {
  3018. return This->lpVtbl->get_Arguments(This,pbs);
  3019. }
  3020. static FORCEINLINE HRESULT IShellLinkDual2_put_Arguments(IShellLinkDual2* This,BSTR bs) {
  3021. return This->lpVtbl->put_Arguments(This,bs);
  3022. }
  3023. static FORCEINLINE HRESULT IShellLinkDual2_get_Hotkey(IShellLinkDual2* This,int *piHK) {
  3024. return This->lpVtbl->get_Hotkey(This,piHK);
  3025. }
  3026. static FORCEINLINE HRESULT IShellLinkDual2_put_Hotkey(IShellLinkDual2* This,int iHK) {
  3027. return This->lpVtbl->put_Hotkey(This,iHK);
  3028. }
  3029. static FORCEINLINE HRESULT IShellLinkDual2_get_ShowCommand(IShellLinkDual2* This,int *piShowCommand) {
  3030. return This->lpVtbl->get_ShowCommand(This,piShowCommand);
  3031. }
  3032. static FORCEINLINE HRESULT IShellLinkDual2_put_ShowCommand(IShellLinkDual2* This,int iShowCommand) {
  3033. return This->lpVtbl->put_ShowCommand(This,iShowCommand);
  3034. }
  3035. static FORCEINLINE HRESULT IShellLinkDual2_Resolve(IShellLinkDual2* This,int fFlags) {
  3036. return This->lpVtbl->Resolve(This,fFlags);
  3037. }
  3038. static FORCEINLINE HRESULT IShellLinkDual2_GetIconLocation(IShellLinkDual2* This,BSTR *pbs,int *piIcon) {
  3039. return This->lpVtbl->GetIconLocation(This,pbs,piIcon);
  3040. }
  3041. static FORCEINLINE HRESULT IShellLinkDual2_SetIconLocation(IShellLinkDual2* This,BSTR bs,int iIcon) {
  3042. return This->lpVtbl->SetIconLocation(This,bs,iIcon);
  3043. }
  3044. static FORCEINLINE HRESULT IShellLinkDual2_Save(IShellLinkDual2* This,VARIANT vWhere) {
  3045. return This->lpVtbl->Save(This,vWhere);
  3046. }
  3047. /*** IShellLinkDual2 methods ***/
  3048. static FORCEINLINE HRESULT IShellLinkDual2_get_Target(IShellLinkDual2* This,FolderItem **ppfi) {
  3049. return This->lpVtbl->get_Target(This,ppfi);
  3050. }
  3051. #endif
  3052. #endif
  3053. #endif
  3054. #endif /* __IShellLinkDual2_INTERFACE_DEFINED__ */
  3055. /*****************************************************************************
  3056. * ShellLinkObject coclass
  3057. */
  3058. DEFINE_GUID(CLSID_ShellLinkObject, 0x11219420, 0x1768, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f);
  3059. #ifdef __cplusplus
  3060. class DECLSPEC_UUID("11219420-1768-11d1-95be-00609797ea4f") ShellLinkObject;
  3061. #ifdef __CRT_UUID_DECL
  3062. __CRT_UUID_DECL(ShellLinkObject, 0x11219420, 0x1768, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f)
  3063. #endif
  3064. #endif
  3065. /*****************************************************************************
  3066. * IShellFolderViewDual interface
  3067. */
  3068. #ifndef __IShellFolderViewDual_INTERFACE_DEFINED__
  3069. #define __IShellFolderViewDual_INTERFACE_DEFINED__
  3070. DEFINE_GUID(IID_IShellFolderViewDual, 0xe7a1af80, 0x4d96, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85);
  3071. #if defined(__cplusplus) && !defined(CINTERFACE)
  3072. MIDL_INTERFACE("e7a1af80-4d96-11cf-960c-0080c7f4ee85")
  3073. IShellFolderViewDual : public IDispatch
  3074. {
  3075. virtual HRESULT STDMETHODCALLTYPE get_Application(
  3076. IDispatch **ppid) = 0;
  3077. virtual HRESULT STDMETHODCALLTYPE get_Parent(
  3078. IDispatch **ppid) = 0;
  3079. virtual HRESULT STDMETHODCALLTYPE get_Folder(
  3080. Folder **ppid) = 0;
  3081. virtual HRESULT STDMETHODCALLTYPE SelectedItems(
  3082. FolderItems **ppid) = 0;
  3083. virtual HRESULT STDMETHODCALLTYPE get_FocusedItem(
  3084. FolderItem **ppid) = 0;
  3085. virtual HRESULT STDMETHODCALLTYPE SelectItem(
  3086. VARIANT *pvfi,
  3087. int dwFlags) = 0;
  3088. virtual HRESULT STDMETHODCALLTYPE PopupItemMenu(
  3089. FolderItem *pfi,
  3090. VARIANT vx,
  3091. VARIANT vy,
  3092. BSTR *pbs) = 0;
  3093. virtual HRESULT STDMETHODCALLTYPE get_Script(
  3094. IDispatch **ppDisp) = 0;
  3095. virtual HRESULT STDMETHODCALLTYPE get_ViewOptions(
  3096. LONG *plViewOptions) = 0;
  3097. };
  3098. #ifdef __CRT_UUID_DECL
  3099. __CRT_UUID_DECL(IShellFolderViewDual, 0xe7a1af80, 0x4d96, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85)
  3100. #endif
  3101. #else
  3102. typedef struct IShellFolderViewDualVtbl {
  3103. BEGIN_INTERFACE
  3104. /*** IUnknown methods ***/
  3105. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3106. IShellFolderViewDual *This,
  3107. REFIID riid,
  3108. void **ppvObject);
  3109. ULONG (STDMETHODCALLTYPE *AddRef)(
  3110. IShellFolderViewDual *This);
  3111. ULONG (STDMETHODCALLTYPE *Release)(
  3112. IShellFolderViewDual *This);
  3113. /*** IDispatch methods ***/
  3114. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3115. IShellFolderViewDual *This,
  3116. UINT *pctinfo);
  3117. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3118. IShellFolderViewDual *This,
  3119. UINT iTInfo,
  3120. LCID lcid,
  3121. ITypeInfo **ppTInfo);
  3122. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3123. IShellFolderViewDual *This,
  3124. REFIID riid,
  3125. LPOLESTR *rgszNames,
  3126. UINT cNames,
  3127. LCID lcid,
  3128. DISPID *rgDispId);
  3129. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3130. IShellFolderViewDual *This,
  3131. DISPID dispIdMember,
  3132. REFIID riid,
  3133. LCID lcid,
  3134. WORD wFlags,
  3135. DISPPARAMS *pDispParams,
  3136. VARIANT *pVarResult,
  3137. EXCEPINFO *pExcepInfo,
  3138. UINT *puArgErr);
  3139. /*** IShellFolderViewDual methods ***/
  3140. HRESULT (STDMETHODCALLTYPE *get_Application)(
  3141. IShellFolderViewDual *This,
  3142. IDispatch **ppid);
  3143. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  3144. IShellFolderViewDual *This,
  3145. IDispatch **ppid);
  3146. HRESULT (STDMETHODCALLTYPE *get_Folder)(
  3147. IShellFolderViewDual *This,
  3148. Folder **ppid);
  3149. HRESULT (STDMETHODCALLTYPE *SelectedItems)(
  3150. IShellFolderViewDual *This,
  3151. FolderItems **ppid);
  3152. HRESULT (STDMETHODCALLTYPE *get_FocusedItem)(
  3153. IShellFolderViewDual *This,
  3154. FolderItem **ppid);
  3155. HRESULT (STDMETHODCALLTYPE *SelectItem)(
  3156. IShellFolderViewDual *This,
  3157. VARIANT *pvfi,
  3158. int dwFlags);
  3159. HRESULT (STDMETHODCALLTYPE *PopupItemMenu)(
  3160. IShellFolderViewDual *This,
  3161. FolderItem *pfi,
  3162. VARIANT vx,
  3163. VARIANT vy,
  3164. BSTR *pbs);
  3165. HRESULT (STDMETHODCALLTYPE *get_Script)(
  3166. IShellFolderViewDual *This,
  3167. IDispatch **ppDisp);
  3168. HRESULT (STDMETHODCALLTYPE *get_ViewOptions)(
  3169. IShellFolderViewDual *This,
  3170. LONG *plViewOptions);
  3171. END_INTERFACE
  3172. } IShellFolderViewDualVtbl;
  3173. interface IShellFolderViewDual {
  3174. CONST_VTBL IShellFolderViewDualVtbl* lpVtbl;
  3175. };
  3176. #ifdef COBJMACROS
  3177. #ifndef WIDL_C_INLINE_WRAPPERS
  3178. /*** IUnknown methods ***/
  3179. #define IShellFolderViewDual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3180. #define IShellFolderViewDual_AddRef(This) (This)->lpVtbl->AddRef(This)
  3181. #define IShellFolderViewDual_Release(This) (This)->lpVtbl->Release(This)
  3182. /*** IDispatch methods ***/
  3183. #define IShellFolderViewDual_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3184. #define IShellFolderViewDual_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3185. #define IShellFolderViewDual_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3186. #define IShellFolderViewDual_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3187. /*** IShellFolderViewDual methods ***/
  3188. #define IShellFolderViewDual_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  3189. #define IShellFolderViewDual_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  3190. #define IShellFolderViewDual_get_Folder(This,ppid) (This)->lpVtbl->get_Folder(This,ppid)
  3191. #define IShellFolderViewDual_SelectedItems(This,ppid) (This)->lpVtbl->SelectedItems(This,ppid)
  3192. #define IShellFolderViewDual_get_FocusedItem(This,ppid) (This)->lpVtbl->get_FocusedItem(This,ppid)
  3193. #define IShellFolderViewDual_SelectItem(This,pvfi,dwFlags) (This)->lpVtbl->SelectItem(This,pvfi,dwFlags)
  3194. #define IShellFolderViewDual_PopupItemMenu(This,pfi,vx,vy,pbs) (This)->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs)
  3195. #define IShellFolderViewDual_get_Script(This,ppDisp) (This)->lpVtbl->get_Script(This,ppDisp)
  3196. #define IShellFolderViewDual_get_ViewOptions(This,plViewOptions) (This)->lpVtbl->get_ViewOptions(This,plViewOptions)
  3197. #else
  3198. /*** IUnknown methods ***/
  3199. static FORCEINLINE HRESULT IShellFolderViewDual_QueryInterface(IShellFolderViewDual* This,REFIID riid,void **ppvObject) {
  3200. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3201. }
  3202. static FORCEINLINE ULONG IShellFolderViewDual_AddRef(IShellFolderViewDual* This) {
  3203. return This->lpVtbl->AddRef(This);
  3204. }
  3205. static FORCEINLINE ULONG IShellFolderViewDual_Release(IShellFolderViewDual* This) {
  3206. return This->lpVtbl->Release(This);
  3207. }
  3208. /*** IDispatch methods ***/
  3209. static FORCEINLINE HRESULT IShellFolderViewDual_GetTypeInfoCount(IShellFolderViewDual* This,UINT *pctinfo) {
  3210. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3211. }
  3212. static FORCEINLINE HRESULT IShellFolderViewDual_GetTypeInfo(IShellFolderViewDual* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3213. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3214. }
  3215. static FORCEINLINE HRESULT IShellFolderViewDual_GetIDsOfNames(IShellFolderViewDual* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3216. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3217. }
  3218. static FORCEINLINE HRESULT IShellFolderViewDual_Invoke(IShellFolderViewDual* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3219. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3220. }
  3221. /*** IShellFolderViewDual methods ***/
  3222. static FORCEINLINE HRESULT IShellFolderViewDual_get_Application(IShellFolderViewDual* This,IDispatch **ppid) {
  3223. return This->lpVtbl->get_Application(This,ppid);
  3224. }
  3225. static FORCEINLINE HRESULT IShellFolderViewDual_get_Parent(IShellFolderViewDual* This,IDispatch **ppid) {
  3226. return This->lpVtbl->get_Parent(This,ppid);
  3227. }
  3228. static FORCEINLINE HRESULT IShellFolderViewDual_get_Folder(IShellFolderViewDual* This,Folder **ppid) {
  3229. return This->lpVtbl->get_Folder(This,ppid);
  3230. }
  3231. static FORCEINLINE HRESULT IShellFolderViewDual_SelectedItems(IShellFolderViewDual* This,FolderItems **ppid) {
  3232. return This->lpVtbl->SelectedItems(This,ppid);
  3233. }
  3234. static FORCEINLINE HRESULT IShellFolderViewDual_get_FocusedItem(IShellFolderViewDual* This,FolderItem **ppid) {
  3235. return This->lpVtbl->get_FocusedItem(This,ppid);
  3236. }
  3237. static FORCEINLINE HRESULT IShellFolderViewDual_SelectItem(IShellFolderViewDual* This,VARIANT *pvfi,int dwFlags) {
  3238. return This->lpVtbl->SelectItem(This,pvfi,dwFlags);
  3239. }
  3240. static FORCEINLINE HRESULT IShellFolderViewDual_PopupItemMenu(IShellFolderViewDual* This,FolderItem *pfi,VARIANT vx,VARIANT vy,BSTR *pbs) {
  3241. return This->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs);
  3242. }
  3243. static FORCEINLINE HRESULT IShellFolderViewDual_get_Script(IShellFolderViewDual* This,IDispatch **ppDisp) {
  3244. return This->lpVtbl->get_Script(This,ppDisp);
  3245. }
  3246. static FORCEINLINE HRESULT IShellFolderViewDual_get_ViewOptions(IShellFolderViewDual* This,LONG *plViewOptions) {
  3247. return This->lpVtbl->get_ViewOptions(This,plViewOptions);
  3248. }
  3249. #endif
  3250. #endif
  3251. #endif
  3252. #endif /* __IShellFolderViewDual_INTERFACE_DEFINED__ */
  3253. /*****************************************************************************
  3254. * IShellFolderViewDual2 interface
  3255. */
  3256. #ifndef __IShellFolderViewDual2_INTERFACE_DEFINED__
  3257. #define __IShellFolderViewDual2_INTERFACE_DEFINED__
  3258. DEFINE_GUID(IID_IShellFolderViewDual2, 0x31c147b6, 0x0ade, 0x4a3c, 0xb5,0x14, 0xdd,0xf9,0x32,0xef,0x6d,0x17);
  3259. #if defined(__cplusplus) && !defined(CINTERFACE)
  3260. MIDL_INTERFACE("31c147b6-0ade-4a3c-b514-ddf932ef6d17")
  3261. IShellFolderViewDual2 : public IShellFolderViewDual
  3262. {
  3263. virtual HRESULT STDMETHODCALLTYPE get_CurrentViewMode(
  3264. UINT *pViewMode) = 0;
  3265. virtual HRESULT STDMETHODCALLTYPE put_CurrentViewMode(
  3266. UINT ViewMode) = 0;
  3267. virtual HRESULT STDMETHODCALLTYPE SelectItemRelative(
  3268. int iRelative) = 0;
  3269. };
  3270. #ifdef __CRT_UUID_DECL
  3271. __CRT_UUID_DECL(IShellFolderViewDual2, 0x31c147b6, 0x0ade, 0x4a3c, 0xb5,0x14, 0xdd,0xf9,0x32,0xef,0x6d,0x17)
  3272. #endif
  3273. #else
  3274. typedef struct IShellFolderViewDual2Vtbl {
  3275. BEGIN_INTERFACE
  3276. /*** IUnknown methods ***/
  3277. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3278. IShellFolderViewDual2 *This,
  3279. REFIID riid,
  3280. void **ppvObject);
  3281. ULONG (STDMETHODCALLTYPE *AddRef)(
  3282. IShellFolderViewDual2 *This);
  3283. ULONG (STDMETHODCALLTYPE *Release)(
  3284. IShellFolderViewDual2 *This);
  3285. /*** IDispatch methods ***/
  3286. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3287. IShellFolderViewDual2 *This,
  3288. UINT *pctinfo);
  3289. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3290. IShellFolderViewDual2 *This,
  3291. UINT iTInfo,
  3292. LCID lcid,
  3293. ITypeInfo **ppTInfo);
  3294. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3295. IShellFolderViewDual2 *This,
  3296. REFIID riid,
  3297. LPOLESTR *rgszNames,
  3298. UINT cNames,
  3299. LCID lcid,
  3300. DISPID *rgDispId);
  3301. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3302. IShellFolderViewDual2 *This,
  3303. DISPID dispIdMember,
  3304. REFIID riid,
  3305. LCID lcid,
  3306. WORD wFlags,
  3307. DISPPARAMS *pDispParams,
  3308. VARIANT *pVarResult,
  3309. EXCEPINFO *pExcepInfo,
  3310. UINT *puArgErr);
  3311. /*** IShellFolderViewDual methods ***/
  3312. HRESULT (STDMETHODCALLTYPE *get_Application)(
  3313. IShellFolderViewDual2 *This,
  3314. IDispatch **ppid);
  3315. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  3316. IShellFolderViewDual2 *This,
  3317. IDispatch **ppid);
  3318. HRESULT (STDMETHODCALLTYPE *get_Folder)(
  3319. IShellFolderViewDual2 *This,
  3320. Folder **ppid);
  3321. HRESULT (STDMETHODCALLTYPE *SelectedItems)(
  3322. IShellFolderViewDual2 *This,
  3323. FolderItems **ppid);
  3324. HRESULT (STDMETHODCALLTYPE *get_FocusedItem)(
  3325. IShellFolderViewDual2 *This,
  3326. FolderItem **ppid);
  3327. HRESULT (STDMETHODCALLTYPE *SelectItem)(
  3328. IShellFolderViewDual2 *This,
  3329. VARIANT *pvfi,
  3330. int dwFlags);
  3331. HRESULT (STDMETHODCALLTYPE *PopupItemMenu)(
  3332. IShellFolderViewDual2 *This,
  3333. FolderItem *pfi,
  3334. VARIANT vx,
  3335. VARIANT vy,
  3336. BSTR *pbs);
  3337. HRESULT (STDMETHODCALLTYPE *get_Script)(
  3338. IShellFolderViewDual2 *This,
  3339. IDispatch **ppDisp);
  3340. HRESULT (STDMETHODCALLTYPE *get_ViewOptions)(
  3341. IShellFolderViewDual2 *This,
  3342. LONG *plViewOptions);
  3343. /*** IShellFolderViewDual2 methods ***/
  3344. HRESULT (STDMETHODCALLTYPE *get_CurrentViewMode)(
  3345. IShellFolderViewDual2 *This,
  3346. UINT *pViewMode);
  3347. HRESULT (STDMETHODCALLTYPE *put_CurrentViewMode)(
  3348. IShellFolderViewDual2 *This,
  3349. UINT ViewMode);
  3350. HRESULT (STDMETHODCALLTYPE *SelectItemRelative)(
  3351. IShellFolderViewDual2 *This,
  3352. int iRelative);
  3353. END_INTERFACE
  3354. } IShellFolderViewDual2Vtbl;
  3355. interface IShellFolderViewDual2 {
  3356. CONST_VTBL IShellFolderViewDual2Vtbl* lpVtbl;
  3357. };
  3358. #ifdef COBJMACROS
  3359. #ifndef WIDL_C_INLINE_WRAPPERS
  3360. /*** IUnknown methods ***/
  3361. #define IShellFolderViewDual2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3362. #define IShellFolderViewDual2_AddRef(This) (This)->lpVtbl->AddRef(This)
  3363. #define IShellFolderViewDual2_Release(This) (This)->lpVtbl->Release(This)
  3364. /*** IDispatch methods ***/
  3365. #define IShellFolderViewDual2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3366. #define IShellFolderViewDual2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3367. #define IShellFolderViewDual2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3368. #define IShellFolderViewDual2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3369. /*** IShellFolderViewDual methods ***/
  3370. #define IShellFolderViewDual2_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  3371. #define IShellFolderViewDual2_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  3372. #define IShellFolderViewDual2_get_Folder(This,ppid) (This)->lpVtbl->get_Folder(This,ppid)
  3373. #define IShellFolderViewDual2_SelectedItems(This,ppid) (This)->lpVtbl->SelectedItems(This,ppid)
  3374. #define IShellFolderViewDual2_get_FocusedItem(This,ppid) (This)->lpVtbl->get_FocusedItem(This,ppid)
  3375. #define IShellFolderViewDual2_SelectItem(This,pvfi,dwFlags) (This)->lpVtbl->SelectItem(This,pvfi,dwFlags)
  3376. #define IShellFolderViewDual2_PopupItemMenu(This,pfi,vx,vy,pbs) (This)->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs)
  3377. #define IShellFolderViewDual2_get_Script(This,ppDisp) (This)->lpVtbl->get_Script(This,ppDisp)
  3378. #define IShellFolderViewDual2_get_ViewOptions(This,plViewOptions) (This)->lpVtbl->get_ViewOptions(This,plViewOptions)
  3379. /*** IShellFolderViewDual2 methods ***/
  3380. #define IShellFolderViewDual2_get_CurrentViewMode(This,pViewMode) (This)->lpVtbl->get_CurrentViewMode(This,pViewMode)
  3381. #define IShellFolderViewDual2_put_CurrentViewMode(This,ViewMode) (This)->lpVtbl->put_CurrentViewMode(This,ViewMode)
  3382. #define IShellFolderViewDual2_SelectItemRelative(This,iRelative) (This)->lpVtbl->SelectItemRelative(This,iRelative)
  3383. #else
  3384. /*** IUnknown methods ***/
  3385. static FORCEINLINE HRESULT IShellFolderViewDual2_QueryInterface(IShellFolderViewDual2* This,REFIID riid,void **ppvObject) {
  3386. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3387. }
  3388. static FORCEINLINE ULONG IShellFolderViewDual2_AddRef(IShellFolderViewDual2* This) {
  3389. return This->lpVtbl->AddRef(This);
  3390. }
  3391. static FORCEINLINE ULONG IShellFolderViewDual2_Release(IShellFolderViewDual2* This) {
  3392. return This->lpVtbl->Release(This);
  3393. }
  3394. /*** IDispatch methods ***/
  3395. static FORCEINLINE HRESULT IShellFolderViewDual2_GetTypeInfoCount(IShellFolderViewDual2* This,UINT *pctinfo) {
  3396. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3397. }
  3398. static FORCEINLINE HRESULT IShellFolderViewDual2_GetTypeInfo(IShellFolderViewDual2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3399. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3400. }
  3401. static FORCEINLINE HRESULT IShellFolderViewDual2_GetIDsOfNames(IShellFolderViewDual2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3402. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3403. }
  3404. static FORCEINLINE HRESULT IShellFolderViewDual2_Invoke(IShellFolderViewDual2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3405. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3406. }
  3407. /*** IShellFolderViewDual methods ***/
  3408. static FORCEINLINE HRESULT IShellFolderViewDual2_get_Application(IShellFolderViewDual2* This,IDispatch **ppid) {
  3409. return This->lpVtbl->get_Application(This,ppid);
  3410. }
  3411. static FORCEINLINE HRESULT IShellFolderViewDual2_get_Parent(IShellFolderViewDual2* This,IDispatch **ppid) {
  3412. return This->lpVtbl->get_Parent(This,ppid);
  3413. }
  3414. static FORCEINLINE HRESULT IShellFolderViewDual2_get_Folder(IShellFolderViewDual2* This,Folder **ppid) {
  3415. return This->lpVtbl->get_Folder(This,ppid);
  3416. }
  3417. static FORCEINLINE HRESULT IShellFolderViewDual2_SelectedItems(IShellFolderViewDual2* This,FolderItems **ppid) {
  3418. return This->lpVtbl->SelectedItems(This,ppid);
  3419. }
  3420. static FORCEINLINE HRESULT IShellFolderViewDual2_get_FocusedItem(IShellFolderViewDual2* This,FolderItem **ppid) {
  3421. return This->lpVtbl->get_FocusedItem(This,ppid);
  3422. }
  3423. static FORCEINLINE HRESULT IShellFolderViewDual2_SelectItem(IShellFolderViewDual2* This,VARIANT *pvfi,int dwFlags) {
  3424. return This->lpVtbl->SelectItem(This,pvfi,dwFlags);
  3425. }
  3426. static FORCEINLINE HRESULT IShellFolderViewDual2_PopupItemMenu(IShellFolderViewDual2* This,FolderItem *pfi,VARIANT vx,VARIANT vy,BSTR *pbs) {
  3427. return This->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs);
  3428. }
  3429. static FORCEINLINE HRESULT IShellFolderViewDual2_get_Script(IShellFolderViewDual2* This,IDispatch **ppDisp) {
  3430. return This->lpVtbl->get_Script(This,ppDisp);
  3431. }
  3432. static FORCEINLINE HRESULT IShellFolderViewDual2_get_ViewOptions(IShellFolderViewDual2* This,LONG *plViewOptions) {
  3433. return This->lpVtbl->get_ViewOptions(This,plViewOptions);
  3434. }
  3435. /*** IShellFolderViewDual2 methods ***/
  3436. static FORCEINLINE HRESULT IShellFolderViewDual2_get_CurrentViewMode(IShellFolderViewDual2* This,UINT *pViewMode) {
  3437. return This->lpVtbl->get_CurrentViewMode(This,pViewMode);
  3438. }
  3439. static FORCEINLINE HRESULT IShellFolderViewDual2_put_CurrentViewMode(IShellFolderViewDual2* This,UINT ViewMode) {
  3440. return This->lpVtbl->put_CurrentViewMode(This,ViewMode);
  3441. }
  3442. static FORCEINLINE HRESULT IShellFolderViewDual2_SelectItemRelative(IShellFolderViewDual2* This,int iRelative) {
  3443. return This->lpVtbl->SelectItemRelative(This,iRelative);
  3444. }
  3445. #endif
  3446. #endif
  3447. #endif
  3448. #endif /* __IShellFolderViewDual2_INTERFACE_DEFINED__ */
  3449. /*****************************************************************************
  3450. * IShellFolderViewDual3 interface
  3451. */
  3452. #ifndef __IShellFolderViewDual3_INTERFACE_DEFINED__
  3453. #define __IShellFolderViewDual3_INTERFACE_DEFINED__
  3454. DEFINE_GUID(IID_IShellFolderViewDual3, 0x29ec8e6c, 0x46d3, 0x411f, 0xba,0xaa, 0x61,0x1a,0x6c,0x9c,0xac,0x66);
  3455. #if defined(__cplusplus) && !defined(CINTERFACE)
  3456. MIDL_INTERFACE("29ec8e6c-46d3-411f-baaa-611a6c9cac66")
  3457. IShellFolderViewDual3 : public IShellFolderViewDual2
  3458. {
  3459. virtual HRESULT STDMETHODCALLTYPE get_GroupBy(
  3460. BSTR *pbstrGroupBy) = 0;
  3461. virtual HRESULT STDMETHODCALLTYPE put_GroupBy(
  3462. BSTR bstrGroupBy) = 0;
  3463. virtual HRESULT STDMETHODCALLTYPE get_FolderFlags(
  3464. DWORD *pdwFlags) = 0;
  3465. virtual HRESULT STDMETHODCALLTYPE put_FolderFlags(
  3466. DWORD dwFlags) = 0;
  3467. virtual HRESULT STDMETHODCALLTYPE get_SortColumns(
  3468. BSTR *pbstrSortColumns) = 0;
  3469. virtual HRESULT STDMETHODCALLTYPE put_SortColumns(
  3470. BSTR bstrSortColumns) = 0;
  3471. virtual HRESULT STDMETHODCALLTYPE put_IconSize(
  3472. int iIconSize) = 0;
  3473. virtual HRESULT STDMETHODCALLTYPE get_IconSize(
  3474. int *piIconSize) = 0;
  3475. virtual HRESULT STDMETHODCALLTYPE FilterView(
  3476. BSTR bstrFilterText) = 0;
  3477. };
  3478. #ifdef __CRT_UUID_DECL
  3479. __CRT_UUID_DECL(IShellFolderViewDual3, 0x29ec8e6c, 0x46d3, 0x411f, 0xba,0xaa, 0x61,0x1a,0x6c,0x9c,0xac,0x66)
  3480. #endif
  3481. #else
  3482. typedef struct IShellFolderViewDual3Vtbl {
  3483. BEGIN_INTERFACE
  3484. /*** IUnknown methods ***/
  3485. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3486. IShellFolderViewDual3 *This,
  3487. REFIID riid,
  3488. void **ppvObject);
  3489. ULONG (STDMETHODCALLTYPE *AddRef)(
  3490. IShellFolderViewDual3 *This);
  3491. ULONG (STDMETHODCALLTYPE *Release)(
  3492. IShellFolderViewDual3 *This);
  3493. /*** IDispatch methods ***/
  3494. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3495. IShellFolderViewDual3 *This,
  3496. UINT *pctinfo);
  3497. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3498. IShellFolderViewDual3 *This,
  3499. UINT iTInfo,
  3500. LCID lcid,
  3501. ITypeInfo **ppTInfo);
  3502. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3503. IShellFolderViewDual3 *This,
  3504. REFIID riid,
  3505. LPOLESTR *rgszNames,
  3506. UINT cNames,
  3507. LCID lcid,
  3508. DISPID *rgDispId);
  3509. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3510. IShellFolderViewDual3 *This,
  3511. DISPID dispIdMember,
  3512. REFIID riid,
  3513. LCID lcid,
  3514. WORD wFlags,
  3515. DISPPARAMS *pDispParams,
  3516. VARIANT *pVarResult,
  3517. EXCEPINFO *pExcepInfo,
  3518. UINT *puArgErr);
  3519. /*** IShellFolderViewDual methods ***/
  3520. HRESULT (STDMETHODCALLTYPE *get_Application)(
  3521. IShellFolderViewDual3 *This,
  3522. IDispatch **ppid);
  3523. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  3524. IShellFolderViewDual3 *This,
  3525. IDispatch **ppid);
  3526. HRESULT (STDMETHODCALLTYPE *get_Folder)(
  3527. IShellFolderViewDual3 *This,
  3528. Folder **ppid);
  3529. HRESULT (STDMETHODCALLTYPE *SelectedItems)(
  3530. IShellFolderViewDual3 *This,
  3531. FolderItems **ppid);
  3532. HRESULT (STDMETHODCALLTYPE *get_FocusedItem)(
  3533. IShellFolderViewDual3 *This,
  3534. FolderItem **ppid);
  3535. HRESULT (STDMETHODCALLTYPE *SelectItem)(
  3536. IShellFolderViewDual3 *This,
  3537. VARIANT *pvfi,
  3538. int dwFlags);
  3539. HRESULT (STDMETHODCALLTYPE *PopupItemMenu)(
  3540. IShellFolderViewDual3 *This,
  3541. FolderItem *pfi,
  3542. VARIANT vx,
  3543. VARIANT vy,
  3544. BSTR *pbs);
  3545. HRESULT (STDMETHODCALLTYPE *get_Script)(
  3546. IShellFolderViewDual3 *This,
  3547. IDispatch **ppDisp);
  3548. HRESULT (STDMETHODCALLTYPE *get_ViewOptions)(
  3549. IShellFolderViewDual3 *This,
  3550. LONG *plViewOptions);
  3551. /*** IShellFolderViewDual2 methods ***/
  3552. HRESULT (STDMETHODCALLTYPE *get_CurrentViewMode)(
  3553. IShellFolderViewDual3 *This,
  3554. UINT *pViewMode);
  3555. HRESULT (STDMETHODCALLTYPE *put_CurrentViewMode)(
  3556. IShellFolderViewDual3 *This,
  3557. UINT ViewMode);
  3558. HRESULT (STDMETHODCALLTYPE *SelectItemRelative)(
  3559. IShellFolderViewDual3 *This,
  3560. int iRelative);
  3561. /*** IShellFolderViewDual3 methods ***/
  3562. HRESULT (STDMETHODCALLTYPE *get_GroupBy)(
  3563. IShellFolderViewDual3 *This,
  3564. BSTR *pbstrGroupBy);
  3565. HRESULT (STDMETHODCALLTYPE *put_GroupBy)(
  3566. IShellFolderViewDual3 *This,
  3567. BSTR bstrGroupBy);
  3568. HRESULT (STDMETHODCALLTYPE *get_FolderFlags)(
  3569. IShellFolderViewDual3 *This,
  3570. DWORD *pdwFlags);
  3571. HRESULT (STDMETHODCALLTYPE *put_FolderFlags)(
  3572. IShellFolderViewDual3 *This,
  3573. DWORD dwFlags);
  3574. HRESULT (STDMETHODCALLTYPE *get_SortColumns)(
  3575. IShellFolderViewDual3 *This,
  3576. BSTR *pbstrSortColumns);
  3577. HRESULT (STDMETHODCALLTYPE *put_SortColumns)(
  3578. IShellFolderViewDual3 *This,
  3579. BSTR bstrSortColumns);
  3580. HRESULT (STDMETHODCALLTYPE *put_IconSize)(
  3581. IShellFolderViewDual3 *This,
  3582. int iIconSize);
  3583. HRESULT (STDMETHODCALLTYPE *get_IconSize)(
  3584. IShellFolderViewDual3 *This,
  3585. int *piIconSize);
  3586. HRESULT (STDMETHODCALLTYPE *FilterView)(
  3587. IShellFolderViewDual3 *This,
  3588. BSTR bstrFilterText);
  3589. END_INTERFACE
  3590. } IShellFolderViewDual3Vtbl;
  3591. interface IShellFolderViewDual3 {
  3592. CONST_VTBL IShellFolderViewDual3Vtbl* lpVtbl;
  3593. };
  3594. #ifdef COBJMACROS
  3595. #ifndef WIDL_C_INLINE_WRAPPERS
  3596. /*** IUnknown methods ***/
  3597. #define IShellFolderViewDual3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3598. #define IShellFolderViewDual3_AddRef(This) (This)->lpVtbl->AddRef(This)
  3599. #define IShellFolderViewDual3_Release(This) (This)->lpVtbl->Release(This)
  3600. /*** IDispatch methods ***/
  3601. #define IShellFolderViewDual3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3602. #define IShellFolderViewDual3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3603. #define IShellFolderViewDual3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3604. #define IShellFolderViewDual3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3605. /*** IShellFolderViewDual methods ***/
  3606. #define IShellFolderViewDual3_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  3607. #define IShellFolderViewDual3_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  3608. #define IShellFolderViewDual3_get_Folder(This,ppid) (This)->lpVtbl->get_Folder(This,ppid)
  3609. #define IShellFolderViewDual3_SelectedItems(This,ppid) (This)->lpVtbl->SelectedItems(This,ppid)
  3610. #define IShellFolderViewDual3_get_FocusedItem(This,ppid) (This)->lpVtbl->get_FocusedItem(This,ppid)
  3611. #define IShellFolderViewDual3_SelectItem(This,pvfi,dwFlags) (This)->lpVtbl->SelectItem(This,pvfi,dwFlags)
  3612. #define IShellFolderViewDual3_PopupItemMenu(This,pfi,vx,vy,pbs) (This)->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs)
  3613. #define IShellFolderViewDual3_get_Script(This,ppDisp) (This)->lpVtbl->get_Script(This,ppDisp)
  3614. #define IShellFolderViewDual3_get_ViewOptions(This,plViewOptions) (This)->lpVtbl->get_ViewOptions(This,plViewOptions)
  3615. /*** IShellFolderViewDual2 methods ***/
  3616. #define IShellFolderViewDual3_get_CurrentViewMode(This,pViewMode) (This)->lpVtbl->get_CurrentViewMode(This,pViewMode)
  3617. #define IShellFolderViewDual3_put_CurrentViewMode(This,ViewMode) (This)->lpVtbl->put_CurrentViewMode(This,ViewMode)
  3618. #define IShellFolderViewDual3_SelectItemRelative(This,iRelative) (This)->lpVtbl->SelectItemRelative(This,iRelative)
  3619. /*** IShellFolderViewDual3 methods ***/
  3620. #define IShellFolderViewDual3_get_GroupBy(This,pbstrGroupBy) (This)->lpVtbl->get_GroupBy(This,pbstrGroupBy)
  3621. #define IShellFolderViewDual3_put_GroupBy(This,bstrGroupBy) (This)->lpVtbl->put_GroupBy(This,bstrGroupBy)
  3622. #define IShellFolderViewDual3_get_FolderFlags(This,pdwFlags) (This)->lpVtbl->get_FolderFlags(This,pdwFlags)
  3623. #define IShellFolderViewDual3_put_FolderFlags(This,dwFlags) (This)->lpVtbl->put_FolderFlags(This,dwFlags)
  3624. #define IShellFolderViewDual3_get_SortColumns(This,pbstrSortColumns) (This)->lpVtbl->get_SortColumns(This,pbstrSortColumns)
  3625. #define IShellFolderViewDual3_put_SortColumns(This,bstrSortColumns) (This)->lpVtbl->put_SortColumns(This,bstrSortColumns)
  3626. #define IShellFolderViewDual3_put_IconSize(This,iIconSize) (This)->lpVtbl->put_IconSize(This,iIconSize)
  3627. #define IShellFolderViewDual3_get_IconSize(This,piIconSize) (This)->lpVtbl->get_IconSize(This,piIconSize)
  3628. #define IShellFolderViewDual3_FilterView(This,bstrFilterText) (This)->lpVtbl->FilterView(This,bstrFilterText)
  3629. #else
  3630. /*** IUnknown methods ***/
  3631. static FORCEINLINE HRESULT IShellFolderViewDual3_QueryInterface(IShellFolderViewDual3* This,REFIID riid,void **ppvObject) {
  3632. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3633. }
  3634. static FORCEINLINE ULONG IShellFolderViewDual3_AddRef(IShellFolderViewDual3* This) {
  3635. return This->lpVtbl->AddRef(This);
  3636. }
  3637. static FORCEINLINE ULONG IShellFolderViewDual3_Release(IShellFolderViewDual3* This) {
  3638. return This->lpVtbl->Release(This);
  3639. }
  3640. /*** IDispatch methods ***/
  3641. static FORCEINLINE HRESULT IShellFolderViewDual3_GetTypeInfoCount(IShellFolderViewDual3* This,UINT *pctinfo) {
  3642. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3643. }
  3644. static FORCEINLINE HRESULT IShellFolderViewDual3_GetTypeInfo(IShellFolderViewDual3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3645. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3646. }
  3647. static FORCEINLINE HRESULT IShellFolderViewDual3_GetIDsOfNames(IShellFolderViewDual3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3648. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3649. }
  3650. static FORCEINLINE HRESULT IShellFolderViewDual3_Invoke(IShellFolderViewDual3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3651. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3652. }
  3653. /*** IShellFolderViewDual methods ***/
  3654. static FORCEINLINE HRESULT IShellFolderViewDual3_get_Application(IShellFolderViewDual3* This,IDispatch **ppid) {
  3655. return This->lpVtbl->get_Application(This,ppid);
  3656. }
  3657. static FORCEINLINE HRESULT IShellFolderViewDual3_get_Parent(IShellFolderViewDual3* This,IDispatch **ppid) {
  3658. return This->lpVtbl->get_Parent(This,ppid);
  3659. }
  3660. static FORCEINLINE HRESULT IShellFolderViewDual3_get_Folder(IShellFolderViewDual3* This,Folder **ppid) {
  3661. return This->lpVtbl->get_Folder(This,ppid);
  3662. }
  3663. static FORCEINLINE HRESULT IShellFolderViewDual3_SelectedItems(IShellFolderViewDual3* This,FolderItems **ppid) {
  3664. return This->lpVtbl->SelectedItems(This,ppid);
  3665. }
  3666. static FORCEINLINE HRESULT IShellFolderViewDual3_get_FocusedItem(IShellFolderViewDual3* This,FolderItem **ppid) {
  3667. return This->lpVtbl->get_FocusedItem(This,ppid);
  3668. }
  3669. static FORCEINLINE HRESULT IShellFolderViewDual3_SelectItem(IShellFolderViewDual3* This,VARIANT *pvfi,int dwFlags) {
  3670. return This->lpVtbl->SelectItem(This,pvfi,dwFlags);
  3671. }
  3672. static FORCEINLINE HRESULT IShellFolderViewDual3_PopupItemMenu(IShellFolderViewDual3* This,FolderItem *pfi,VARIANT vx,VARIANT vy,BSTR *pbs) {
  3673. return This->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs);
  3674. }
  3675. static FORCEINLINE HRESULT IShellFolderViewDual3_get_Script(IShellFolderViewDual3* This,IDispatch **ppDisp) {
  3676. return This->lpVtbl->get_Script(This,ppDisp);
  3677. }
  3678. static FORCEINLINE HRESULT IShellFolderViewDual3_get_ViewOptions(IShellFolderViewDual3* This,LONG *plViewOptions) {
  3679. return This->lpVtbl->get_ViewOptions(This,plViewOptions);
  3680. }
  3681. /*** IShellFolderViewDual2 methods ***/
  3682. static FORCEINLINE HRESULT IShellFolderViewDual3_get_CurrentViewMode(IShellFolderViewDual3* This,UINT *pViewMode) {
  3683. return This->lpVtbl->get_CurrentViewMode(This,pViewMode);
  3684. }
  3685. static FORCEINLINE HRESULT IShellFolderViewDual3_put_CurrentViewMode(IShellFolderViewDual3* This,UINT ViewMode) {
  3686. return This->lpVtbl->put_CurrentViewMode(This,ViewMode);
  3687. }
  3688. static FORCEINLINE HRESULT IShellFolderViewDual3_SelectItemRelative(IShellFolderViewDual3* This,int iRelative) {
  3689. return This->lpVtbl->SelectItemRelative(This,iRelative);
  3690. }
  3691. /*** IShellFolderViewDual3 methods ***/
  3692. static FORCEINLINE HRESULT IShellFolderViewDual3_get_GroupBy(IShellFolderViewDual3* This,BSTR *pbstrGroupBy) {
  3693. return This->lpVtbl->get_GroupBy(This,pbstrGroupBy);
  3694. }
  3695. static FORCEINLINE HRESULT IShellFolderViewDual3_put_GroupBy(IShellFolderViewDual3* This,BSTR bstrGroupBy) {
  3696. return This->lpVtbl->put_GroupBy(This,bstrGroupBy);
  3697. }
  3698. static FORCEINLINE HRESULT IShellFolderViewDual3_get_FolderFlags(IShellFolderViewDual3* This,DWORD *pdwFlags) {
  3699. return This->lpVtbl->get_FolderFlags(This,pdwFlags);
  3700. }
  3701. static FORCEINLINE HRESULT IShellFolderViewDual3_put_FolderFlags(IShellFolderViewDual3* This,DWORD dwFlags) {
  3702. return This->lpVtbl->put_FolderFlags(This,dwFlags);
  3703. }
  3704. static FORCEINLINE HRESULT IShellFolderViewDual3_get_SortColumns(IShellFolderViewDual3* This,BSTR *pbstrSortColumns) {
  3705. return This->lpVtbl->get_SortColumns(This,pbstrSortColumns);
  3706. }
  3707. static FORCEINLINE HRESULT IShellFolderViewDual3_put_SortColumns(IShellFolderViewDual3* This,BSTR bstrSortColumns) {
  3708. return This->lpVtbl->put_SortColumns(This,bstrSortColumns);
  3709. }
  3710. static FORCEINLINE HRESULT IShellFolderViewDual3_put_IconSize(IShellFolderViewDual3* This,int iIconSize) {
  3711. return This->lpVtbl->put_IconSize(This,iIconSize);
  3712. }
  3713. static FORCEINLINE HRESULT IShellFolderViewDual3_get_IconSize(IShellFolderViewDual3* This,int *piIconSize) {
  3714. return This->lpVtbl->get_IconSize(This,piIconSize);
  3715. }
  3716. static FORCEINLINE HRESULT IShellFolderViewDual3_FilterView(IShellFolderViewDual3* This,BSTR bstrFilterText) {
  3717. return This->lpVtbl->FilterView(This,bstrFilterText);
  3718. }
  3719. #endif
  3720. #endif
  3721. #endif
  3722. #endif /* __IShellFolderViewDual3_INTERFACE_DEFINED__ */
  3723. /*****************************************************************************
  3724. * ShellFolderView coclass
  3725. */
  3726. DEFINE_GUID(CLSID_ShellFolderView, 0x62112aa1, 0xebe4, 0x11cf, 0xa5,0xfb, 0x00,0x20,0xaf,0xe7,0x29,0x2d);
  3727. #ifdef __cplusplus
  3728. class DECLSPEC_UUID("62112aa1-ebe4-11cf-a5fb-0020afe7292d") ShellFolderView;
  3729. #ifdef __CRT_UUID_DECL
  3730. __CRT_UUID_DECL(ShellFolderView, 0x62112aa1, 0xebe4, 0x11cf, 0xa5,0xfb, 0x00,0x20,0xaf,0xe7,0x29,0x2d)
  3731. #endif
  3732. #endif
  3733. typedef enum ShellFolderViewOptions {
  3734. SFVVO_SHOWALLOBJECTS = 0x1,
  3735. SFVVO_SHOWEXTENSIONS = 0x2,
  3736. SFVVO_SHOWCOMPCOLOR = 0x8,
  3737. SFVVO_SHOWSYSFILES = 0x20,
  3738. SFVVO_WIN95CLASSIC = 0x40,
  3739. SFVVO_DOUBLECLICKINWEBVIEW = 0x80,
  3740. SFVVO_DESKTOPHTML = 0x200
  3741. } ShellFolderViewOptions;
  3742. /*****************************************************************************
  3743. * IShellDispatch interface
  3744. */
  3745. #ifndef __IShellDispatch_INTERFACE_DEFINED__
  3746. #define __IShellDispatch_INTERFACE_DEFINED__
  3747. DEFINE_GUID(IID_IShellDispatch, 0xd8f015c0, 0xc278, 0x11ce, 0xa4,0x9e, 0x44,0x45,0x53,0x54,0x00,0x00);
  3748. #if defined(__cplusplus) && !defined(CINTERFACE)
  3749. MIDL_INTERFACE("d8f015c0-c278-11ce-a49e-444553540000")
  3750. IShellDispatch : public IDispatch
  3751. {
  3752. virtual HRESULT STDMETHODCALLTYPE get_Application(
  3753. IDispatch **ppid) = 0;
  3754. virtual HRESULT STDMETHODCALLTYPE get_Parent(
  3755. IDispatch **ppid) = 0;
  3756. virtual HRESULT STDMETHODCALLTYPE NameSpace(
  3757. VARIANT vDir,
  3758. Folder **ppsdf) = 0;
  3759. virtual HRESULT STDMETHODCALLTYPE BrowseForFolder(
  3760. LONG Hwnd,
  3761. BSTR Title,
  3762. LONG Options,
  3763. VARIANT RootFolder,
  3764. Folder **ppsdf) = 0;
  3765. virtual HRESULT STDMETHODCALLTYPE Windows(
  3766. IDispatch **ppid) = 0;
  3767. virtual HRESULT STDMETHODCALLTYPE Open(
  3768. VARIANT vDir) = 0;
  3769. virtual HRESULT STDMETHODCALLTYPE Explore(
  3770. VARIANT vDir) = 0;
  3771. virtual HRESULT STDMETHODCALLTYPE MinimizeAll(
  3772. ) = 0;
  3773. virtual HRESULT STDMETHODCALLTYPE UndoMinimizeALL(
  3774. ) = 0;
  3775. virtual HRESULT STDMETHODCALLTYPE FileRun(
  3776. ) = 0;
  3777. virtual HRESULT STDMETHODCALLTYPE CascadeWindows(
  3778. ) = 0;
  3779. virtual HRESULT STDMETHODCALLTYPE TileVertically(
  3780. ) = 0;
  3781. virtual HRESULT STDMETHODCALLTYPE TileHorizontally(
  3782. ) = 0;
  3783. virtual HRESULT STDMETHODCALLTYPE ShutdownWindows(
  3784. ) = 0;
  3785. virtual HRESULT STDMETHODCALLTYPE Suspend(
  3786. ) = 0;
  3787. virtual HRESULT STDMETHODCALLTYPE EjectPC(
  3788. ) = 0;
  3789. virtual HRESULT STDMETHODCALLTYPE SetTime(
  3790. ) = 0;
  3791. virtual HRESULT STDMETHODCALLTYPE TrayProperties(
  3792. ) = 0;
  3793. virtual HRESULT STDMETHODCALLTYPE Help(
  3794. ) = 0;
  3795. virtual HRESULT STDMETHODCALLTYPE FindFiles(
  3796. ) = 0;
  3797. virtual HRESULT STDMETHODCALLTYPE FindComputer(
  3798. ) = 0;
  3799. virtual HRESULT STDMETHODCALLTYPE RefreshMenu(
  3800. ) = 0;
  3801. virtual HRESULT STDMETHODCALLTYPE ControlPanelItem(
  3802. BSTR bstrDir) = 0;
  3803. };
  3804. #ifdef __CRT_UUID_DECL
  3805. __CRT_UUID_DECL(IShellDispatch, 0xd8f015c0, 0xc278, 0x11ce, 0xa4,0x9e, 0x44,0x45,0x53,0x54,0x00,0x00)
  3806. #endif
  3807. #else
  3808. typedef struct IShellDispatchVtbl {
  3809. BEGIN_INTERFACE
  3810. /*** IUnknown methods ***/
  3811. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3812. IShellDispatch *This,
  3813. REFIID riid,
  3814. void **ppvObject);
  3815. ULONG (STDMETHODCALLTYPE *AddRef)(
  3816. IShellDispatch *This);
  3817. ULONG (STDMETHODCALLTYPE *Release)(
  3818. IShellDispatch *This);
  3819. /*** IDispatch methods ***/
  3820. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3821. IShellDispatch *This,
  3822. UINT *pctinfo);
  3823. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3824. IShellDispatch *This,
  3825. UINT iTInfo,
  3826. LCID lcid,
  3827. ITypeInfo **ppTInfo);
  3828. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3829. IShellDispatch *This,
  3830. REFIID riid,
  3831. LPOLESTR *rgszNames,
  3832. UINT cNames,
  3833. LCID lcid,
  3834. DISPID *rgDispId);
  3835. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3836. IShellDispatch *This,
  3837. DISPID dispIdMember,
  3838. REFIID riid,
  3839. LCID lcid,
  3840. WORD wFlags,
  3841. DISPPARAMS *pDispParams,
  3842. VARIANT *pVarResult,
  3843. EXCEPINFO *pExcepInfo,
  3844. UINT *puArgErr);
  3845. /*** IShellDispatch methods ***/
  3846. HRESULT (STDMETHODCALLTYPE *get_Application)(
  3847. IShellDispatch *This,
  3848. IDispatch **ppid);
  3849. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  3850. IShellDispatch *This,
  3851. IDispatch **ppid);
  3852. HRESULT (STDMETHODCALLTYPE *NameSpace)(
  3853. IShellDispatch *This,
  3854. VARIANT vDir,
  3855. Folder **ppsdf);
  3856. HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
  3857. IShellDispatch *This,
  3858. LONG Hwnd,
  3859. BSTR Title,
  3860. LONG Options,
  3861. VARIANT RootFolder,
  3862. Folder **ppsdf);
  3863. HRESULT (STDMETHODCALLTYPE *Windows)(
  3864. IShellDispatch *This,
  3865. IDispatch **ppid);
  3866. HRESULT (STDMETHODCALLTYPE *Open)(
  3867. IShellDispatch *This,
  3868. VARIANT vDir);
  3869. HRESULT (STDMETHODCALLTYPE *Explore)(
  3870. IShellDispatch *This,
  3871. VARIANT vDir);
  3872. HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
  3873. IShellDispatch *This);
  3874. HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
  3875. IShellDispatch *This);
  3876. HRESULT (STDMETHODCALLTYPE *FileRun)(
  3877. IShellDispatch *This);
  3878. HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
  3879. IShellDispatch *This);
  3880. HRESULT (STDMETHODCALLTYPE *TileVertically)(
  3881. IShellDispatch *This);
  3882. HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
  3883. IShellDispatch *This);
  3884. HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
  3885. IShellDispatch *This);
  3886. HRESULT (STDMETHODCALLTYPE *Suspend)(
  3887. IShellDispatch *This);
  3888. HRESULT (STDMETHODCALLTYPE *EjectPC)(
  3889. IShellDispatch *This);
  3890. HRESULT (STDMETHODCALLTYPE *SetTime)(
  3891. IShellDispatch *This);
  3892. HRESULT (STDMETHODCALLTYPE *TrayProperties)(
  3893. IShellDispatch *This);
  3894. HRESULT (STDMETHODCALLTYPE *Help)(
  3895. IShellDispatch *This);
  3896. HRESULT (STDMETHODCALLTYPE *FindFiles)(
  3897. IShellDispatch *This);
  3898. HRESULT (STDMETHODCALLTYPE *FindComputer)(
  3899. IShellDispatch *This);
  3900. HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
  3901. IShellDispatch *This);
  3902. HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
  3903. IShellDispatch *This,
  3904. BSTR bstrDir);
  3905. END_INTERFACE
  3906. } IShellDispatchVtbl;
  3907. interface IShellDispatch {
  3908. CONST_VTBL IShellDispatchVtbl* lpVtbl;
  3909. };
  3910. #ifdef COBJMACROS
  3911. #ifndef WIDL_C_INLINE_WRAPPERS
  3912. /*** IUnknown methods ***/
  3913. #define IShellDispatch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3914. #define IShellDispatch_AddRef(This) (This)->lpVtbl->AddRef(This)
  3915. #define IShellDispatch_Release(This) (This)->lpVtbl->Release(This)
  3916. /*** IDispatch methods ***/
  3917. #define IShellDispatch_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3918. #define IShellDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3919. #define IShellDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3920. #define IShellDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3921. /*** IShellDispatch methods ***/
  3922. #define IShellDispatch_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  3923. #define IShellDispatch_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  3924. #define IShellDispatch_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
  3925. #define IShellDispatch_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
  3926. #define IShellDispatch_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
  3927. #define IShellDispatch_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
  3928. #define IShellDispatch_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
  3929. #define IShellDispatch_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
  3930. #define IShellDispatch_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
  3931. #define IShellDispatch_FileRun(This) (This)->lpVtbl->FileRun(This)
  3932. #define IShellDispatch_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
  3933. #define IShellDispatch_TileVertically(This) (This)->lpVtbl->TileVertically(This)
  3934. #define IShellDispatch_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
  3935. #define IShellDispatch_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
  3936. #define IShellDispatch_Suspend(This) (This)->lpVtbl->Suspend(This)
  3937. #define IShellDispatch_EjectPC(This) (This)->lpVtbl->EjectPC(This)
  3938. #define IShellDispatch_SetTime(This) (This)->lpVtbl->SetTime(This)
  3939. #define IShellDispatch_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
  3940. #define IShellDispatch_Help(This) (This)->lpVtbl->Help(This)
  3941. #define IShellDispatch_FindFiles(This) (This)->lpVtbl->FindFiles(This)
  3942. #define IShellDispatch_FindComputer(This) (This)->lpVtbl->FindComputer(This)
  3943. #define IShellDispatch_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
  3944. #define IShellDispatch_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
  3945. #else
  3946. /*** IUnknown methods ***/
  3947. static FORCEINLINE HRESULT IShellDispatch_QueryInterface(IShellDispatch* This,REFIID riid,void **ppvObject) {
  3948. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3949. }
  3950. static FORCEINLINE ULONG IShellDispatch_AddRef(IShellDispatch* This) {
  3951. return This->lpVtbl->AddRef(This);
  3952. }
  3953. static FORCEINLINE ULONG IShellDispatch_Release(IShellDispatch* This) {
  3954. return This->lpVtbl->Release(This);
  3955. }
  3956. /*** IDispatch methods ***/
  3957. static FORCEINLINE HRESULT IShellDispatch_GetTypeInfoCount(IShellDispatch* This,UINT *pctinfo) {
  3958. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3959. }
  3960. static FORCEINLINE HRESULT IShellDispatch_GetTypeInfo(IShellDispatch* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3961. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3962. }
  3963. static FORCEINLINE HRESULT IShellDispatch_GetIDsOfNames(IShellDispatch* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3964. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3965. }
  3966. static FORCEINLINE HRESULT IShellDispatch_Invoke(IShellDispatch* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3967. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3968. }
  3969. /*** IShellDispatch methods ***/
  3970. static FORCEINLINE HRESULT IShellDispatch_get_Application(IShellDispatch* This,IDispatch **ppid) {
  3971. return This->lpVtbl->get_Application(This,ppid);
  3972. }
  3973. static FORCEINLINE HRESULT IShellDispatch_get_Parent(IShellDispatch* This,IDispatch **ppid) {
  3974. return This->lpVtbl->get_Parent(This,ppid);
  3975. }
  3976. static FORCEINLINE HRESULT IShellDispatch_NameSpace(IShellDispatch* This,VARIANT vDir,Folder **ppsdf) {
  3977. return This->lpVtbl->NameSpace(This,vDir,ppsdf);
  3978. }
  3979. static FORCEINLINE HRESULT IShellDispatch_BrowseForFolder(IShellDispatch* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
  3980. return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
  3981. }
  3982. static FORCEINLINE HRESULT IShellDispatch_Windows(IShellDispatch* This,IDispatch **ppid) {
  3983. return This->lpVtbl->Windows(This,ppid);
  3984. }
  3985. static FORCEINLINE HRESULT IShellDispatch_Open(IShellDispatch* This,VARIANT vDir) {
  3986. return This->lpVtbl->Open(This,vDir);
  3987. }
  3988. static FORCEINLINE HRESULT IShellDispatch_Explore(IShellDispatch* This,VARIANT vDir) {
  3989. return This->lpVtbl->Explore(This,vDir);
  3990. }
  3991. static FORCEINLINE HRESULT IShellDispatch_MinimizeAll(IShellDispatch* This) {
  3992. return This->lpVtbl->MinimizeAll(This);
  3993. }
  3994. static FORCEINLINE HRESULT IShellDispatch_UndoMinimizeALL(IShellDispatch* This) {
  3995. return This->lpVtbl->UndoMinimizeALL(This);
  3996. }
  3997. static FORCEINLINE HRESULT IShellDispatch_FileRun(IShellDispatch* This) {
  3998. return This->lpVtbl->FileRun(This);
  3999. }
  4000. static FORCEINLINE HRESULT IShellDispatch_CascadeWindows(IShellDispatch* This) {
  4001. return This->lpVtbl->CascadeWindows(This);
  4002. }
  4003. static FORCEINLINE HRESULT IShellDispatch_TileVertically(IShellDispatch* This) {
  4004. return This->lpVtbl->TileVertically(This);
  4005. }
  4006. static FORCEINLINE HRESULT IShellDispatch_TileHorizontally(IShellDispatch* This) {
  4007. return This->lpVtbl->TileHorizontally(This);
  4008. }
  4009. static FORCEINLINE HRESULT IShellDispatch_ShutdownWindows(IShellDispatch* This) {
  4010. return This->lpVtbl->ShutdownWindows(This);
  4011. }
  4012. static FORCEINLINE HRESULT IShellDispatch_Suspend(IShellDispatch* This) {
  4013. return This->lpVtbl->Suspend(This);
  4014. }
  4015. static FORCEINLINE HRESULT IShellDispatch_EjectPC(IShellDispatch* This) {
  4016. return This->lpVtbl->EjectPC(This);
  4017. }
  4018. static FORCEINLINE HRESULT IShellDispatch_SetTime(IShellDispatch* This) {
  4019. return This->lpVtbl->SetTime(This);
  4020. }
  4021. static FORCEINLINE HRESULT IShellDispatch_TrayProperties(IShellDispatch* This) {
  4022. return This->lpVtbl->TrayProperties(This);
  4023. }
  4024. static FORCEINLINE HRESULT IShellDispatch_Help(IShellDispatch* This) {
  4025. return This->lpVtbl->Help(This);
  4026. }
  4027. static FORCEINLINE HRESULT IShellDispatch_FindFiles(IShellDispatch* This) {
  4028. return This->lpVtbl->FindFiles(This);
  4029. }
  4030. static FORCEINLINE HRESULT IShellDispatch_FindComputer(IShellDispatch* This) {
  4031. return This->lpVtbl->FindComputer(This);
  4032. }
  4033. static FORCEINLINE HRESULT IShellDispatch_RefreshMenu(IShellDispatch* This) {
  4034. return This->lpVtbl->RefreshMenu(This);
  4035. }
  4036. static FORCEINLINE HRESULT IShellDispatch_ControlPanelItem(IShellDispatch* This,BSTR bstrDir) {
  4037. return This->lpVtbl->ControlPanelItem(This,bstrDir);
  4038. }
  4039. #endif
  4040. #endif
  4041. #endif
  4042. #endif /* __IShellDispatch_INTERFACE_DEFINED__ */
  4043. /*****************************************************************************
  4044. * IShellDispatch2 interface
  4045. */
  4046. #ifndef __IShellDispatch2_INTERFACE_DEFINED__
  4047. #define __IShellDispatch2_INTERFACE_DEFINED__
  4048. DEFINE_GUID(IID_IShellDispatch2, 0xa4c6892c, 0x3ba9, 0x11d2, 0x9d,0xea, 0x00,0xc0,0x4f,0xb1,0x61,0x62);
  4049. #if defined(__cplusplus) && !defined(CINTERFACE)
  4050. MIDL_INTERFACE("a4c6892c-3ba9-11d2-9dea-00c04fb16162")
  4051. IShellDispatch2 : public IShellDispatch
  4052. {
  4053. virtual HRESULT STDMETHODCALLTYPE IsRestricted(
  4054. BSTR Group,
  4055. BSTR Restriction,
  4056. LONG *plRestrictValue) = 0;
  4057. virtual HRESULT STDMETHODCALLTYPE ShellExecute(
  4058. BSTR File,
  4059. VARIANT vArgs,
  4060. VARIANT vDir,
  4061. VARIANT vOperation,
  4062. VARIANT vShow) = 0;
  4063. virtual HRESULT STDMETHODCALLTYPE FindPrinter(
  4064. BSTR name,
  4065. BSTR location,
  4066. BSTR model) = 0;
  4067. virtual HRESULT STDMETHODCALLTYPE GetSystemInformation(
  4068. BSTR name,
  4069. VARIANT *pv) = 0;
  4070. virtual HRESULT STDMETHODCALLTYPE ServiceStart(
  4071. BSTR ServiceName,
  4072. VARIANT Persistent,
  4073. VARIANT *pSuccess) = 0;
  4074. virtual HRESULT STDMETHODCALLTYPE ServiceStop(
  4075. BSTR ServiceName,
  4076. VARIANT Persistent,
  4077. VARIANT *pSuccess) = 0;
  4078. virtual HRESULT STDMETHODCALLTYPE IsServiceRunning(
  4079. BSTR ServiceName,
  4080. VARIANT *pRunning) = 0;
  4081. virtual HRESULT STDMETHODCALLTYPE CanStartStopService(
  4082. BSTR ServiceName,
  4083. VARIANT *pCanStartStop) = 0;
  4084. virtual HRESULT STDMETHODCALLTYPE ShowBrowserBar(
  4085. BSTR bstrClsid,
  4086. VARIANT bShow,
  4087. VARIANT *pSuccess) = 0;
  4088. };
  4089. #ifdef __CRT_UUID_DECL
  4090. __CRT_UUID_DECL(IShellDispatch2, 0xa4c6892c, 0x3ba9, 0x11d2, 0x9d,0xea, 0x00,0xc0,0x4f,0xb1,0x61,0x62)
  4091. #endif
  4092. #else
  4093. typedef struct IShellDispatch2Vtbl {
  4094. BEGIN_INTERFACE
  4095. /*** IUnknown methods ***/
  4096. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4097. IShellDispatch2 *This,
  4098. REFIID riid,
  4099. void **ppvObject);
  4100. ULONG (STDMETHODCALLTYPE *AddRef)(
  4101. IShellDispatch2 *This);
  4102. ULONG (STDMETHODCALLTYPE *Release)(
  4103. IShellDispatch2 *This);
  4104. /*** IDispatch methods ***/
  4105. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4106. IShellDispatch2 *This,
  4107. UINT *pctinfo);
  4108. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4109. IShellDispatch2 *This,
  4110. UINT iTInfo,
  4111. LCID lcid,
  4112. ITypeInfo **ppTInfo);
  4113. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4114. IShellDispatch2 *This,
  4115. REFIID riid,
  4116. LPOLESTR *rgszNames,
  4117. UINT cNames,
  4118. LCID lcid,
  4119. DISPID *rgDispId);
  4120. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4121. IShellDispatch2 *This,
  4122. DISPID dispIdMember,
  4123. REFIID riid,
  4124. LCID lcid,
  4125. WORD wFlags,
  4126. DISPPARAMS *pDispParams,
  4127. VARIANT *pVarResult,
  4128. EXCEPINFO *pExcepInfo,
  4129. UINT *puArgErr);
  4130. /*** IShellDispatch methods ***/
  4131. HRESULT (STDMETHODCALLTYPE *get_Application)(
  4132. IShellDispatch2 *This,
  4133. IDispatch **ppid);
  4134. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  4135. IShellDispatch2 *This,
  4136. IDispatch **ppid);
  4137. HRESULT (STDMETHODCALLTYPE *NameSpace)(
  4138. IShellDispatch2 *This,
  4139. VARIANT vDir,
  4140. Folder **ppsdf);
  4141. HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
  4142. IShellDispatch2 *This,
  4143. LONG Hwnd,
  4144. BSTR Title,
  4145. LONG Options,
  4146. VARIANT RootFolder,
  4147. Folder **ppsdf);
  4148. HRESULT (STDMETHODCALLTYPE *Windows)(
  4149. IShellDispatch2 *This,
  4150. IDispatch **ppid);
  4151. HRESULT (STDMETHODCALLTYPE *Open)(
  4152. IShellDispatch2 *This,
  4153. VARIANT vDir);
  4154. HRESULT (STDMETHODCALLTYPE *Explore)(
  4155. IShellDispatch2 *This,
  4156. VARIANT vDir);
  4157. HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
  4158. IShellDispatch2 *This);
  4159. HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
  4160. IShellDispatch2 *This);
  4161. HRESULT (STDMETHODCALLTYPE *FileRun)(
  4162. IShellDispatch2 *This);
  4163. HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
  4164. IShellDispatch2 *This);
  4165. HRESULT (STDMETHODCALLTYPE *TileVertically)(
  4166. IShellDispatch2 *This);
  4167. HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
  4168. IShellDispatch2 *This);
  4169. HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
  4170. IShellDispatch2 *This);
  4171. HRESULT (STDMETHODCALLTYPE *Suspend)(
  4172. IShellDispatch2 *This);
  4173. HRESULT (STDMETHODCALLTYPE *EjectPC)(
  4174. IShellDispatch2 *This);
  4175. HRESULT (STDMETHODCALLTYPE *SetTime)(
  4176. IShellDispatch2 *This);
  4177. HRESULT (STDMETHODCALLTYPE *TrayProperties)(
  4178. IShellDispatch2 *This);
  4179. HRESULT (STDMETHODCALLTYPE *Help)(
  4180. IShellDispatch2 *This);
  4181. HRESULT (STDMETHODCALLTYPE *FindFiles)(
  4182. IShellDispatch2 *This);
  4183. HRESULT (STDMETHODCALLTYPE *FindComputer)(
  4184. IShellDispatch2 *This);
  4185. HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
  4186. IShellDispatch2 *This);
  4187. HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
  4188. IShellDispatch2 *This,
  4189. BSTR bstrDir);
  4190. /*** IShellDispatch2 methods ***/
  4191. HRESULT (STDMETHODCALLTYPE *IsRestricted)(
  4192. IShellDispatch2 *This,
  4193. BSTR Group,
  4194. BSTR Restriction,
  4195. LONG *plRestrictValue);
  4196. HRESULT (STDMETHODCALLTYPE *ShellExecute)(
  4197. IShellDispatch2 *This,
  4198. BSTR File,
  4199. VARIANT vArgs,
  4200. VARIANT vDir,
  4201. VARIANT vOperation,
  4202. VARIANT vShow);
  4203. HRESULT (STDMETHODCALLTYPE *FindPrinter)(
  4204. IShellDispatch2 *This,
  4205. BSTR name,
  4206. BSTR location,
  4207. BSTR model);
  4208. HRESULT (STDMETHODCALLTYPE *GetSystemInformation)(
  4209. IShellDispatch2 *This,
  4210. BSTR name,
  4211. VARIANT *pv);
  4212. HRESULT (STDMETHODCALLTYPE *ServiceStart)(
  4213. IShellDispatch2 *This,
  4214. BSTR ServiceName,
  4215. VARIANT Persistent,
  4216. VARIANT *pSuccess);
  4217. HRESULT (STDMETHODCALLTYPE *ServiceStop)(
  4218. IShellDispatch2 *This,
  4219. BSTR ServiceName,
  4220. VARIANT Persistent,
  4221. VARIANT *pSuccess);
  4222. HRESULT (STDMETHODCALLTYPE *IsServiceRunning)(
  4223. IShellDispatch2 *This,
  4224. BSTR ServiceName,
  4225. VARIANT *pRunning);
  4226. HRESULT (STDMETHODCALLTYPE *CanStartStopService)(
  4227. IShellDispatch2 *This,
  4228. BSTR ServiceName,
  4229. VARIANT *pCanStartStop);
  4230. HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
  4231. IShellDispatch2 *This,
  4232. BSTR bstrClsid,
  4233. VARIANT bShow,
  4234. VARIANT *pSuccess);
  4235. END_INTERFACE
  4236. } IShellDispatch2Vtbl;
  4237. interface IShellDispatch2 {
  4238. CONST_VTBL IShellDispatch2Vtbl* lpVtbl;
  4239. };
  4240. #ifdef COBJMACROS
  4241. #ifndef WIDL_C_INLINE_WRAPPERS
  4242. /*** IUnknown methods ***/
  4243. #define IShellDispatch2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4244. #define IShellDispatch2_AddRef(This) (This)->lpVtbl->AddRef(This)
  4245. #define IShellDispatch2_Release(This) (This)->lpVtbl->Release(This)
  4246. /*** IDispatch methods ***/
  4247. #define IShellDispatch2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4248. #define IShellDispatch2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4249. #define IShellDispatch2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4250. #define IShellDispatch2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4251. /*** IShellDispatch methods ***/
  4252. #define IShellDispatch2_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  4253. #define IShellDispatch2_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  4254. #define IShellDispatch2_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
  4255. #define IShellDispatch2_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
  4256. #define IShellDispatch2_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
  4257. #define IShellDispatch2_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
  4258. #define IShellDispatch2_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
  4259. #define IShellDispatch2_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
  4260. #define IShellDispatch2_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
  4261. #define IShellDispatch2_FileRun(This) (This)->lpVtbl->FileRun(This)
  4262. #define IShellDispatch2_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
  4263. #define IShellDispatch2_TileVertically(This) (This)->lpVtbl->TileVertically(This)
  4264. #define IShellDispatch2_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
  4265. #define IShellDispatch2_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
  4266. #define IShellDispatch2_Suspend(This) (This)->lpVtbl->Suspend(This)
  4267. #define IShellDispatch2_EjectPC(This) (This)->lpVtbl->EjectPC(This)
  4268. #define IShellDispatch2_SetTime(This) (This)->lpVtbl->SetTime(This)
  4269. #define IShellDispatch2_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
  4270. #define IShellDispatch2_Help(This) (This)->lpVtbl->Help(This)
  4271. #define IShellDispatch2_FindFiles(This) (This)->lpVtbl->FindFiles(This)
  4272. #define IShellDispatch2_FindComputer(This) (This)->lpVtbl->FindComputer(This)
  4273. #define IShellDispatch2_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
  4274. #define IShellDispatch2_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
  4275. /*** IShellDispatch2 methods ***/
  4276. #define IShellDispatch2_IsRestricted(This,Group,Restriction,plRestrictValue) (This)->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue)
  4277. #define IShellDispatch2_ShellExecute(This,File,vArgs,vDir,vOperation,vShow) (This)->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
  4278. #define IShellDispatch2_FindPrinter(This,name,location,model) (This)->lpVtbl->FindPrinter(This,name,location,model)
  4279. #define IShellDispatch2_GetSystemInformation(This,name,pv) (This)->lpVtbl->GetSystemInformation(This,name,pv)
  4280. #define IShellDispatch2_ServiceStart(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess)
  4281. #define IShellDispatch2_ServiceStop(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess)
  4282. #define IShellDispatch2_IsServiceRunning(This,ServiceName,pRunning) (This)->lpVtbl->IsServiceRunning(This,ServiceName,pRunning)
  4283. #define IShellDispatch2_CanStartStopService(This,ServiceName,pCanStartStop) (This)->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop)
  4284. #define IShellDispatch2_ShowBrowserBar(This,bstrClsid,bShow,pSuccess) (This)->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
  4285. #else
  4286. /*** IUnknown methods ***/
  4287. static FORCEINLINE HRESULT IShellDispatch2_QueryInterface(IShellDispatch2* This,REFIID riid,void **ppvObject) {
  4288. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4289. }
  4290. static FORCEINLINE ULONG IShellDispatch2_AddRef(IShellDispatch2* This) {
  4291. return This->lpVtbl->AddRef(This);
  4292. }
  4293. static FORCEINLINE ULONG IShellDispatch2_Release(IShellDispatch2* This) {
  4294. return This->lpVtbl->Release(This);
  4295. }
  4296. /*** IDispatch methods ***/
  4297. static FORCEINLINE HRESULT IShellDispatch2_GetTypeInfoCount(IShellDispatch2* This,UINT *pctinfo) {
  4298. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  4299. }
  4300. static FORCEINLINE HRESULT IShellDispatch2_GetTypeInfo(IShellDispatch2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  4301. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  4302. }
  4303. static FORCEINLINE HRESULT IShellDispatch2_GetIDsOfNames(IShellDispatch2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  4304. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  4305. }
  4306. static FORCEINLINE HRESULT IShellDispatch2_Invoke(IShellDispatch2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  4307. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  4308. }
  4309. /*** IShellDispatch methods ***/
  4310. static FORCEINLINE HRESULT IShellDispatch2_get_Application(IShellDispatch2* This,IDispatch **ppid) {
  4311. return This->lpVtbl->get_Application(This,ppid);
  4312. }
  4313. static FORCEINLINE HRESULT IShellDispatch2_get_Parent(IShellDispatch2* This,IDispatch **ppid) {
  4314. return This->lpVtbl->get_Parent(This,ppid);
  4315. }
  4316. static FORCEINLINE HRESULT IShellDispatch2_NameSpace(IShellDispatch2* This,VARIANT vDir,Folder **ppsdf) {
  4317. return This->lpVtbl->NameSpace(This,vDir,ppsdf);
  4318. }
  4319. static FORCEINLINE HRESULT IShellDispatch2_BrowseForFolder(IShellDispatch2* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
  4320. return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
  4321. }
  4322. static FORCEINLINE HRESULT IShellDispatch2_Windows(IShellDispatch2* This,IDispatch **ppid) {
  4323. return This->lpVtbl->Windows(This,ppid);
  4324. }
  4325. static FORCEINLINE HRESULT IShellDispatch2_Open(IShellDispatch2* This,VARIANT vDir) {
  4326. return This->lpVtbl->Open(This,vDir);
  4327. }
  4328. static FORCEINLINE HRESULT IShellDispatch2_Explore(IShellDispatch2* This,VARIANT vDir) {
  4329. return This->lpVtbl->Explore(This,vDir);
  4330. }
  4331. static FORCEINLINE HRESULT IShellDispatch2_MinimizeAll(IShellDispatch2* This) {
  4332. return This->lpVtbl->MinimizeAll(This);
  4333. }
  4334. static FORCEINLINE HRESULT IShellDispatch2_UndoMinimizeALL(IShellDispatch2* This) {
  4335. return This->lpVtbl->UndoMinimizeALL(This);
  4336. }
  4337. static FORCEINLINE HRESULT IShellDispatch2_FileRun(IShellDispatch2* This) {
  4338. return This->lpVtbl->FileRun(This);
  4339. }
  4340. static FORCEINLINE HRESULT IShellDispatch2_CascadeWindows(IShellDispatch2* This) {
  4341. return This->lpVtbl->CascadeWindows(This);
  4342. }
  4343. static FORCEINLINE HRESULT IShellDispatch2_TileVertically(IShellDispatch2* This) {
  4344. return This->lpVtbl->TileVertically(This);
  4345. }
  4346. static FORCEINLINE HRESULT IShellDispatch2_TileHorizontally(IShellDispatch2* This) {
  4347. return This->lpVtbl->TileHorizontally(This);
  4348. }
  4349. static FORCEINLINE HRESULT IShellDispatch2_ShutdownWindows(IShellDispatch2* This) {
  4350. return This->lpVtbl->ShutdownWindows(This);
  4351. }
  4352. static FORCEINLINE HRESULT IShellDispatch2_Suspend(IShellDispatch2* This) {
  4353. return This->lpVtbl->Suspend(This);
  4354. }
  4355. static FORCEINLINE HRESULT IShellDispatch2_EjectPC(IShellDispatch2* This) {
  4356. return This->lpVtbl->EjectPC(This);
  4357. }
  4358. static FORCEINLINE HRESULT IShellDispatch2_SetTime(IShellDispatch2* This) {
  4359. return This->lpVtbl->SetTime(This);
  4360. }
  4361. static FORCEINLINE HRESULT IShellDispatch2_TrayProperties(IShellDispatch2* This) {
  4362. return This->lpVtbl->TrayProperties(This);
  4363. }
  4364. static FORCEINLINE HRESULT IShellDispatch2_Help(IShellDispatch2* This) {
  4365. return This->lpVtbl->Help(This);
  4366. }
  4367. static FORCEINLINE HRESULT IShellDispatch2_FindFiles(IShellDispatch2* This) {
  4368. return This->lpVtbl->FindFiles(This);
  4369. }
  4370. static FORCEINLINE HRESULT IShellDispatch2_FindComputer(IShellDispatch2* This) {
  4371. return This->lpVtbl->FindComputer(This);
  4372. }
  4373. static FORCEINLINE HRESULT IShellDispatch2_RefreshMenu(IShellDispatch2* This) {
  4374. return This->lpVtbl->RefreshMenu(This);
  4375. }
  4376. static FORCEINLINE HRESULT IShellDispatch2_ControlPanelItem(IShellDispatch2* This,BSTR bstrDir) {
  4377. return This->lpVtbl->ControlPanelItem(This,bstrDir);
  4378. }
  4379. /*** IShellDispatch2 methods ***/
  4380. static FORCEINLINE HRESULT IShellDispatch2_IsRestricted(IShellDispatch2* This,BSTR Group,BSTR Restriction,LONG *plRestrictValue) {
  4381. return This->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue);
  4382. }
  4383. static FORCEINLINE HRESULT IShellDispatch2_ShellExecute(IShellDispatch2* This,BSTR File,VARIANT vArgs,VARIANT vDir,VARIANT vOperation,VARIANT vShow) {
  4384. return This->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow);
  4385. }
  4386. static FORCEINLINE HRESULT IShellDispatch2_FindPrinter(IShellDispatch2* This,BSTR name,BSTR location,BSTR model) {
  4387. return This->lpVtbl->FindPrinter(This,name,location,model);
  4388. }
  4389. static FORCEINLINE HRESULT IShellDispatch2_GetSystemInformation(IShellDispatch2* This,BSTR name,VARIANT *pv) {
  4390. return This->lpVtbl->GetSystemInformation(This,name,pv);
  4391. }
  4392. static FORCEINLINE HRESULT IShellDispatch2_ServiceStart(IShellDispatch2* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
  4393. return This->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess);
  4394. }
  4395. static FORCEINLINE HRESULT IShellDispatch2_ServiceStop(IShellDispatch2* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
  4396. return This->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess);
  4397. }
  4398. static FORCEINLINE HRESULT IShellDispatch2_IsServiceRunning(IShellDispatch2* This,BSTR ServiceName,VARIANT *pRunning) {
  4399. return This->lpVtbl->IsServiceRunning(This,ServiceName,pRunning);
  4400. }
  4401. static FORCEINLINE HRESULT IShellDispatch2_CanStartStopService(IShellDispatch2* This,BSTR ServiceName,VARIANT *pCanStartStop) {
  4402. return This->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop);
  4403. }
  4404. static FORCEINLINE HRESULT IShellDispatch2_ShowBrowserBar(IShellDispatch2* This,BSTR bstrClsid,VARIANT bShow,VARIANT *pSuccess) {
  4405. return This->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess);
  4406. }
  4407. #endif
  4408. #endif
  4409. #endif
  4410. #endif /* __IShellDispatch2_INTERFACE_DEFINED__ */
  4411. /*****************************************************************************
  4412. * IShellDispatch3 interface
  4413. */
  4414. #ifndef __IShellDispatch3_INTERFACE_DEFINED__
  4415. #define __IShellDispatch3_INTERFACE_DEFINED__
  4416. DEFINE_GUID(IID_IShellDispatch3, 0x177160ca, 0xbb5a, 0x411c, 0x84,0x1d, 0xbd,0x38,0xfa,0xcd,0xea,0xa0);
  4417. #if defined(__cplusplus) && !defined(CINTERFACE)
  4418. MIDL_INTERFACE("177160ca-bb5a-411c-841d-bd38facdeaa0")
  4419. IShellDispatch3 : public IShellDispatch2
  4420. {
  4421. virtual HRESULT STDMETHODCALLTYPE AddToRecent(
  4422. VARIANT varFile,
  4423. BSTR bstrCategory) = 0;
  4424. };
  4425. #ifdef __CRT_UUID_DECL
  4426. __CRT_UUID_DECL(IShellDispatch3, 0x177160ca, 0xbb5a, 0x411c, 0x84,0x1d, 0xbd,0x38,0xfa,0xcd,0xea,0xa0)
  4427. #endif
  4428. #else
  4429. typedef struct IShellDispatch3Vtbl {
  4430. BEGIN_INTERFACE
  4431. /*** IUnknown methods ***/
  4432. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4433. IShellDispatch3 *This,
  4434. REFIID riid,
  4435. void **ppvObject);
  4436. ULONG (STDMETHODCALLTYPE *AddRef)(
  4437. IShellDispatch3 *This);
  4438. ULONG (STDMETHODCALLTYPE *Release)(
  4439. IShellDispatch3 *This);
  4440. /*** IDispatch methods ***/
  4441. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4442. IShellDispatch3 *This,
  4443. UINT *pctinfo);
  4444. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4445. IShellDispatch3 *This,
  4446. UINT iTInfo,
  4447. LCID lcid,
  4448. ITypeInfo **ppTInfo);
  4449. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4450. IShellDispatch3 *This,
  4451. REFIID riid,
  4452. LPOLESTR *rgszNames,
  4453. UINT cNames,
  4454. LCID lcid,
  4455. DISPID *rgDispId);
  4456. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4457. IShellDispatch3 *This,
  4458. DISPID dispIdMember,
  4459. REFIID riid,
  4460. LCID lcid,
  4461. WORD wFlags,
  4462. DISPPARAMS *pDispParams,
  4463. VARIANT *pVarResult,
  4464. EXCEPINFO *pExcepInfo,
  4465. UINT *puArgErr);
  4466. /*** IShellDispatch methods ***/
  4467. HRESULT (STDMETHODCALLTYPE *get_Application)(
  4468. IShellDispatch3 *This,
  4469. IDispatch **ppid);
  4470. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  4471. IShellDispatch3 *This,
  4472. IDispatch **ppid);
  4473. HRESULT (STDMETHODCALLTYPE *NameSpace)(
  4474. IShellDispatch3 *This,
  4475. VARIANT vDir,
  4476. Folder **ppsdf);
  4477. HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
  4478. IShellDispatch3 *This,
  4479. LONG Hwnd,
  4480. BSTR Title,
  4481. LONG Options,
  4482. VARIANT RootFolder,
  4483. Folder **ppsdf);
  4484. HRESULT (STDMETHODCALLTYPE *Windows)(
  4485. IShellDispatch3 *This,
  4486. IDispatch **ppid);
  4487. HRESULT (STDMETHODCALLTYPE *Open)(
  4488. IShellDispatch3 *This,
  4489. VARIANT vDir);
  4490. HRESULT (STDMETHODCALLTYPE *Explore)(
  4491. IShellDispatch3 *This,
  4492. VARIANT vDir);
  4493. HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
  4494. IShellDispatch3 *This);
  4495. HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
  4496. IShellDispatch3 *This);
  4497. HRESULT (STDMETHODCALLTYPE *FileRun)(
  4498. IShellDispatch3 *This);
  4499. HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
  4500. IShellDispatch3 *This);
  4501. HRESULT (STDMETHODCALLTYPE *TileVertically)(
  4502. IShellDispatch3 *This);
  4503. HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
  4504. IShellDispatch3 *This);
  4505. HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
  4506. IShellDispatch3 *This);
  4507. HRESULT (STDMETHODCALLTYPE *Suspend)(
  4508. IShellDispatch3 *This);
  4509. HRESULT (STDMETHODCALLTYPE *EjectPC)(
  4510. IShellDispatch3 *This);
  4511. HRESULT (STDMETHODCALLTYPE *SetTime)(
  4512. IShellDispatch3 *This);
  4513. HRESULT (STDMETHODCALLTYPE *TrayProperties)(
  4514. IShellDispatch3 *This);
  4515. HRESULT (STDMETHODCALLTYPE *Help)(
  4516. IShellDispatch3 *This);
  4517. HRESULT (STDMETHODCALLTYPE *FindFiles)(
  4518. IShellDispatch3 *This);
  4519. HRESULT (STDMETHODCALLTYPE *FindComputer)(
  4520. IShellDispatch3 *This);
  4521. HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
  4522. IShellDispatch3 *This);
  4523. HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
  4524. IShellDispatch3 *This,
  4525. BSTR bstrDir);
  4526. /*** IShellDispatch2 methods ***/
  4527. HRESULT (STDMETHODCALLTYPE *IsRestricted)(
  4528. IShellDispatch3 *This,
  4529. BSTR Group,
  4530. BSTR Restriction,
  4531. LONG *plRestrictValue);
  4532. HRESULT (STDMETHODCALLTYPE *ShellExecute)(
  4533. IShellDispatch3 *This,
  4534. BSTR File,
  4535. VARIANT vArgs,
  4536. VARIANT vDir,
  4537. VARIANT vOperation,
  4538. VARIANT vShow);
  4539. HRESULT (STDMETHODCALLTYPE *FindPrinter)(
  4540. IShellDispatch3 *This,
  4541. BSTR name,
  4542. BSTR location,
  4543. BSTR model);
  4544. HRESULT (STDMETHODCALLTYPE *GetSystemInformation)(
  4545. IShellDispatch3 *This,
  4546. BSTR name,
  4547. VARIANT *pv);
  4548. HRESULT (STDMETHODCALLTYPE *ServiceStart)(
  4549. IShellDispatch3 *This,
  4550. BSTR ServiceName,
  4551. VARIANT Persistent,
  4552. VARIANT *pSuccess);
  4553. HRESULT (STDMETHODCALLTYPE *ServiceStop)(
  4554. IShellDispatch3 *This,
  4555. BSTR ServiceName,
  4556. VARIANT Persistent,
  4557. VARIANT *pSuccess);
  4558. HRESULT (STDMETHODCALLTYPE *IsServiceRunning)(
  4559. IShellDispatch3 *This,
  4560. BSTR ServiceName,
  4561. VARIANT *pRunning);
  4562. HRESULT (STDMETHODCALLTYPE *CanStartStopService)(
  4563. IShellDispatch3 *This,
  4564. BSTR ServiceName,
  4565. VARIANT *pCanStartStop);
  4566. HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
  4567. IShellDispatch3 *This,
  4568. BSTR bstrClsid,
  4569. VARIANT bShow,
  4570. VARIANT *pSuccess);
  4571. /*** IShellDispatch3 methods ***/
  4572. HRESULT (STDMETHODCALLTYPE *AddToRecent)(
  4573. IShellDispatch3 *This,
  4574. VARIANT varFile,
  4575. BSTR bstrCategory);
  4576. END_INTERFACE
  4577. } IShellDispatch3Vtbl;
  4578. interface IShellDispatch3 {
  4579. CONST_VTBL IShellDispatch3Vtbl* lpVtbl;
  4580. };
  4581. #ifdef COBJMACROS
  4582. #ifndef WIDL_C_INLINE_WRAPPERS
  4583. /*** IUnknown methods ***/
  4584. #define IShellDispatch3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4585. #define IShellDispatch3_AddRef(This) (This)->lpVtbl->AddRef(This)
  4586. #define IShellDispatch3_Release(This) (This)->lpVtbl->Release(This)
  4587. /*** IDispatch methods ***/
  4588. #define IShellDispatch3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4589. #define IShellDispatch3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4590. #define IShellDispatch3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4591. #define IShellDispatch3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4592. /*** IShellDispatch methods ***/
  4593. #define IShellDispatch3_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  4594. #define IShellDispatch3_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  4595. #define IShellDispatch3_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
  4596. #define IShellDispatch3_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
  4597. #define IShellDispatch3_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
  4598. #define IShellDispatch3_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
  4599. #define IShellDispatch3_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
  4600. #define IShellDispatch3_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
  4601. #define IShellDispatch3_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
  4602. #define IShellDispatch3_FileRun(This) (This)->lpVtbl->FileRun(This)
  4603. #define IShellDispatch3_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
  4604. #define IShellDispatch3_TileVertically(This) (This)->lpVtbl->TileVertically(This)
  4605. #define IShellDispatch3_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
  4606. #define IShellDispatch3_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
  4607. #define IShellDispatch3_Suspend(This) (This)->lpVtbl->Suspend(This)
  4608. #define IShellDispatch3_EjectPC(This) (This)->lpVtbl->EjectPC(This)
  4609. #define IShellDispatch3_SetTime(This) (This)->lpVtbl->SetTime(This)
  4610. #define IShellDispatch3_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
  4611. #define IShellDispatch3_Help(This) (This)->lpVtbl->Help(This)
  4612. #define IShellDispatch3_FindFiles(This) (This)->lpVtbl->FindFiles(This)
  4613. #define IShellDispatch3_FindComputer(This) (This)->lpVtbl->FindComputer(This)
  4614. #define IShellDispatch3_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
  4615. #define IShellDispatch3_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
  4616. /*** IShellDispatch2 methods ***/
  4617. #define IShellDispatch3_IsRestricted(This,Group,Restriction,plRestrictValue) (This)->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue)
  4618. #define IShellDispatch3_ShellExecute(This,File,vArgs,vDir,vOperation,vShow) (This)->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
  4619. #define IShellDispatch3_FindPrinter(This,name,location,model) (This)->lpVtbl->FindPrinter(This,name,location,model)
  4620. #define IShellDispatch3_GetSystemInformation(This,name,pv) (This)->lpVtbl->GetSystemInformation(This,name,pv)
  4621. #define IShellDispatch3_ServiceStart(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess)
  4622. #define IShellDispatch3_ServiceStop(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess)
  4623. #define IShellDispatch3_IsServiceRunning(This,ServiceName,pRunning) (This)->lpVtbl->IsServiceRunning(This,ServiceName,pRunning)
  4624. #define IShellDispatch3_CanStartStopService(This,ServiceName,pCanStartStop) (This)->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop)
  4625. #define IShellDispatch3_ShowBrowserBar(This,bstrClsid,bShow,pSuccess) (This)->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
  4626. /*** IShellDispatch3 methods ***/
  4627. #define IShellDispatch3_AddToRecent(This,varFile,bstrCategory) (This)->lpVtbl->AddToRecent(This,varFile,bstrCategory)
  4628. #else
  4629. /*** IUnknown methods ***/
  4630. static FORCEINLINE HRESULT IShellDispatch3_QueryInterface(IShellDispatch3* This,REFIID riid,void **ppvObject) {
  4631. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4632. }
  4633. static FORCEINLINE ULONG IShellDispatch3_AddRef(IShellDispatch3* This) {
  4634. return This->lpVtbl->AddRef(This);
  4635. }
  4636. static FORCEINLINE ULONG IShellDispatch3_Release(IShellDispatch3* This) {
  4637. return This->lpVtbl->Release(This);
  4638. }
  4639. /*** IDispatch methods ***/
  4640. static FORCEINLINE HRESULT IShellDispatch3_GetTypeInfoCount(IShellDispatch3* This,UINT *pctinfo) {
  4641. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  4642. }
  4643. static FORCEINLINE HRESULT IShellDispatch3_GetTypeInfo(IShellDispatch3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  4644. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  4645. }
  4646. static FORCEINLINE HRESULT IShellDispatch3_GetIDsOfNames(IShellDispatch3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  4647. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  4648. }
  4649. static FORCEINLINE HRESULT IShellDispatch3_Invoke(IShellDispatch3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  4650. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  4651. }
  4652. /*** IShellDispatch methods ***/
  4653. static FORCEINLINE HRESULT IShellDispatch3_get_Application(IShellDispatch3* This,IDispatch **ppid) {
  4654. return This->lpVtbl->get_Application(This,ppid);
  4655. }
  4656. static FORCEINLINE HRESULT IShellDispatch3_get_Parent(IShellDispatch3* This,IDispatch **ppid) {
  4657. return This->lpVtbl->get_Parent(This,ppid);
  4658. }
  4659. static FORCEINLINE HRESULT IShellDispatch3_NameSpace(IShellDispatch3* This,VARIANT vDir,Folder **ppsdf) {
  4660. return This->lpVtbl->NameSpace(This,vDir,ppsdf);
  4661. }
  4662. static FORCEINLINE HRESULT IShellDispatch3_BrowseForFolder(IShellDispatch3* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
  4663. return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
  4664. }
  4665. static FORCEINLINE HRESULT IShellDispatch3_Windows(IShellDispatch3* This,IDispatch **ppid) {
  4666. return This->lpVtbl->Windows(This,ppid);
  4667. }
  4668. static FORCEINLINE HRESULT IShellDispatch3_Open(IShellDispatch3* This,VARIANT vDir) {
  4669. return This->lpVtbl->Open(This,vDir);
  4670. }
  4671. static FORCEINLINE HRESULT IShellDispatch3_Explore(IShellDispatch3* This,VARIANT vDir) {
  4672. return This->lpVtbl->Explore(This,vDir);
  4673. }
  4674. static FORCEINLINE HRESULT IShellDispatch3_MinimizeAll(IShellDispatch3* This) {
  4675. return This->lpVtbl->MinimizeAll(This);
  4676. }
  4677. static FORCEINLINE HRESULT IShellDispatch3_UndoMinimizeALL(IShellDispatch3* This) {
  4678. return This->lpVtbl->UndoMinimizeALL(This);
  4679. }
  4680. static FORCEINLINE HRESULT IShellDispatch3_FileRun(IShellDispatch3* This) {
  4681. return This->lpVtbl->FileRun(This);
  4682. }
  4683. static FORCEINLINE HRESULT IShellDispatch3_CascadeWindows(IShellDispatch3* This) {
  4684. return This->lpVtbl->CascadeWindows(This);
  4685. }
  4686. static FORCEINLINE HRESULT IShellDispatch3_TileVertically(IShellDispatch3* This) {
  4687. return This->lpVtbl->TileVertically(This);
  4688. }
  4689. static FORCEINLINE HRESULT IShellDispatch3_TileHorizontally(IShellDispatch3* This) {
  4690. return This->lpVtbl->TileHorizontally(This);
  4691. }
  4692. static FORCEINLINE HRESULT IShellDispatch3_ShutdownWindows(IShellDispatch3* This) {
  4693. return This->lpVtbl->ShutdownWindows(This);
  4694. }
  4695. static FORCEINLINE HRESULT IShellDispatch3_Suspend(IShellDispatch3* This) {
  4696. return This->lpVtbl->Suspend(This);
  4697. }
  4698. static FORCEINLINE HRESULT IShellDispatch3_EjectPC(IShellDispatch3* This) {
  4699. return This->lpVtbl->EjectPC(This);
  4700. }
  4701. static FORCEINLINE HRESULT IShellDispatch3_SetTime(IShellDispatch3* This) {
  4702. return This->lpVtbl->SetTime(This);
  4703. }
  4704. static FORCEINLINE HRESULT IShellDispatch3_TrayProperties(IShellDispatch3* This) {
  4705. return This->lpVtbl->TrayProperties(This);
  4706. }
  4707. static FORCEINLINE HRESULT IShellDispatch3_Help(IShellDispatch3* This) {
  4708. return This->lpVtbl->Help(This);
  4709. }
  4710. static FORCEINLINE HRESULT IShellDispatch3_FindFiles(IShellDispatch3* This) {
  4711. return This->lpVtbl->FindFiles(This);
  4712. }
  4713. static FORCEINLINE HRESULT IShellDispatch3_FindComputer(IShellDispatch3* This) {
  4714. return This->lpVtbl->FindComputer(This);
  4715. }
  4716. static FORCEINLINE HRESULT IShellDispatch3_RefreshMenu(IShellDispatch3* This) {
  4717. return This->lpVtbl->RefreshMenu(This);
  4718. }
  4719. static FORCEINLINE HRESULT IShellDispatch3_ControlPanelItem(IShellDispatch3* This,BSTR bstrDir) {
  4720. return This->lpVtbl->ControlPanelItem(This,bstrDir);
  4721. }
  4722. /*** IShellDispatch2 methods ***/
  4723. static FORCEINLINE HRESULT IShellDispatch3_IsRestricted(IShellDispatch3* This,BSTR Group,BSTR Restriction,LONG *plRestrictValue) {
  4724. return This->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue);
  4725. }
  4726. static FORCEINLINE HRESULT IShellDispatch3_ShellExecute(IShellDispatch3* This,BSTR File,VARIANT vArgs,VARIANT vDir,VARIANT vOperation,VARIANT vShow) {
  4727. return This->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow);
  4728. }
  4729. static FORCEINLINE HRESULT IShellDispatch3_FindPrinter(IShellDispatch3* This,BSTR name,BSTR location,BSTR model) {
  4730. return This->lpVtbl->FindPrinter(This,name,location,model);
  4731. }
  4732. static FORCEINLINE HRESULT IShellDispatch3_GetSystemInformation(IShellDispatch3* This,BSTR name,VARIANT *pv) {
  4733. return This->lpVtbl->GetSystemInformation(This,name,pv);
  4734. }
  4735. static FORCEINLINE HRESULT IShellDispatch3_ServiceStart(IShellDispatch3* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
  4736. return This->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess);
  4737. }
  4738. static FORCEINLINE HRESULT IShellDispatch3_ServiceStop(IShellDispatch3* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
  4739. return This->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess);
  4740. }
  4741. static FORCEINLINE HRESULT IShellDispatch3_IsServiceRunning(IShellDispatch3* This,BSTR ServiceName,VARIANT *pRunning) {
  4742. return This->lpVtbl->IsServiceRunning(This,ServiceName,pRunning);
  4743. }
  4744. static FORCEINLINE HRESULT IShellDispatch3_CanStartStopService(IShellDispatch3* This,BSTR ServiceName,VARIANT *pCanStartStop) {
  4745. return This->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop);
  4746. }
  4747. static FORCEINLINE HRESULT IShellDispatch3_ShowBrowserBar(IShellDispatch3* This,BSTR bstrClsid,VARIANT bShow,VARIANT *pSuccess) {
  4748. return This->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess);
  4749. }
  4750. /*** IShellDispatch3 methods ***/
  4751. static FORCEINLINE HRESULT IShellDispatch3_AddToRecent(IShellDispatch3* This,VARIANT varFile,BSTR bstrCategory) {
  4752. return This->lpVtbl->AddToRecent(This,varFile,bstrCategory);
  4753. }
  4754. #endif
  4755. #endif
  4756. #endif
  4757. #endif /* __IShellDispatch3_INTERFACE_DEFINED__ */
  4758. /*****************************************************************************
  4759. * IShellDispatch4 interface
  4760. */
  4761. #ifndef __IShellDispatch4_INTERFACE_DEFINED__
  4762. #define __IShellDispatch4_INTERFACE_DEFINED__
  4763. DEFINE_GUID(IID_IShellDispatch4, 0xefd84b2d, 0x4bcf, 0x4298, 0xbe,0x25, 0xeb,0x54,0x2a,0x59,0xfb,0xda);
  4764. #if defined(__cplusplus) && !defined(CINTERFACE)
  4765. MIDL_INTERFACE("efd84b2d-4bcf-4298-be25-eb542a59fbda")
  4766. IShellDispatch4 : public IShellDispatch3
  4767. {
  4768. virtual HRESULT STDMETHODCALLTYPE WindowsSecurity(
  4769. ) = 0;
  4770. virtual HRESULT STDMETHODCALLTYPE ToggleDesktop(
  4771. ) = 0;
  4772. virtual HRESULT STDMETHODCALLTYPE ExplorerPolicy(
  4773. BSTR bstrPolicyName,
  4774. VARIANT *pValue) = 0;
  4775. virtual HRESULT STDMETHODCALLTYPE GetSetting(
  4776. LONG lSetting,
  4777. VARIANT_BOOL *pResult) = 0;
  4778. };
  4779. #ifdef __CRT_UUID_DECL
  4780. __CRT_UUID_DECL(IShellDispatch4, 0xefd84b2d, 0x4bcf, 0x4298, 0xbe,0x25, 0xeb,0x54,0x2a,0x59,0xfb,0xda)
  4781. #endif
  4782. #else
  4783. typedef struct IShellDispatch4Vtbl {
  4784. BEGIN_INTERFACE
  4785. /*** IUnknown methods ***/
  4786. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4787. IShellDispatch4 *This,
  4788. REFIID riid,
  4789. void **ppvObject);
  4790. ULONG (STDMETHODCALLTYPE *AddRef)(
  4791. IShellDispatch4 *This);
  4792. ULONG (STDMETHODCALLTYPE *Release)(
  4793. IShellDispatch4 *This);
  4794. /*** IDispatch methods ***/
  4795. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4796. IShellDispatch4 *This,
  4797. UINT *pctinfo);
  4798. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4799. IShellDispatch4 *This,
  4800. UINT iTInfo,
  4801. LCID lcid,
  4802. ITypeInfo **ppTInfo);
  4803. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4804. IShellDispatch4 *This,
  4805. REFIID riid,
  4806. LPOLESTR *rgszNames,
  4807. UINT cNames,
  4808. LCID lcid,
  4809. DISPID *rgDispId);
  4810. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4811. IShellDispatch4 *This,
  4812. DISPID dispIdMember,
  4813. REFIID riid,
  4814. LCID lcid,
  4815. WORD wFlags,
  4816. DISPPARAMS *pDispParams,
  4817. VARIANT *pVarResult,
  4818. EXCEPINFO *pExcepInfo,
  4819. UINT *puArgErr);
  4820. /*** IShellDispatch methods ***/
  4821. HRESULT (STDMETHODCALLTYPE *get_Application)(
  4822. IShellDispatch4 *This,
  4823. IDispatch **ppid);
  4824. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  4825. IShellDispatch4 *This,
  4826. IDispatch **ppid);
  4827. HRESULT (STDMETHODCALLTYPE *NameSpace)(
  4828. IShellDispatch4 *This,
  4829. VARIANT vDir,
  4830. Folder **ppsdf);
  4831. HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
  4832. IShellDispatch4 *This,
  4833. LONG Hwnd,
  4834. BSTR Title,
  4835. LONG Options,
  4836. VARIANT RootFolder,
  4837. Folder **ppsdf);
  4838. HRESULT (STDMETHODCALLTYPE *Windows)(
  4839. IShellDispatch4 *This,
  4840. IDispatch **ppid);
  4841. HRESULT (STDMETHODCALLTYPE *Open)(
  4842. IShellDispatch4 *This,
  4843. VARIANT vDir);
  4844. HRESULT (STDMETHODCALLTYPE *Explore)(
  4845. IShellDispatch4 *This,
  4846. VARIANT vDir);
  4847. HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
  4848. IShellDispatch4 *This);
  4849. HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
  4850. IShellDispatch4 *This);
  4851. HRESULT (STDMETHODCALLTYPE *FileRun)(
  4852. IShellDispatch4 *This);
  4853. HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
  4854. IShellDispatch4 *This);
  4855. HRESULT (STDMETHODCALLTYPE *TileVertically)(
  4856. IShellDispatch4 *This);
  4857. HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
  4858. IShellDispatch4 *This);
  4859. HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
  4860. IShellDispatch4 *This);
  4861. HRESULT (STDMETHODCALLTYPE *Suspend)(
  4862. IShellDispatch4 *This);
  4863. HRESULT (STDMETHODCALLTYPE *EjectPC)(
  4864. IShellDispatch4 *This);
  4865. HRESULT (STDMETHODCALLTYPE *SetTime)(
  4866. IShellDispatch4 *This);
  4867. HRESULT (STDMETHODCALLTYPE *TrayProperties)(
  4868. IShellDispatch4 *This);
  4869. HRESULT (STDMETHODCALLTYPE *Help)(
  4870. IShellDispatch4 *This);
  4871. HRESULT (STDMETHODCALLTYPE *FindFiles)(
  4872. IShellDispatch4 *This);
  4873. HRESULT (STDMETHODCALLTYPE *FindComputer)(
  4874. IShellDispatch4 *This);
  4875. HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
  4876. IShellDispatch4 *This);
  4877. HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
  4878. IShellDispatch4 *This,
  4879. BSTR bstrDir);
  4880. /*** IShellDispatch2 methods ***/
  4881. HRESULT (STDMETHODCALLTYPE *IsRestricted)(
  4882. IShellDispatch4 *This,
  4883. BSTR Group,
  4884. BSTR Restriction,
  4885. LONG *plRestrictValue);
  4886. HRESULT (STDMETHODCALLTYPE *ShellExecute)(
  4887. IShellDispatch4 *This,
  4888. BSTR File,
  4889. VARIANT vArgs,
  4890. VARIANT vDir,
  4891. VARIANT vOperation,
  4892. VARIANT vShow);
  4893. HRESULT (STDMETHODCALLTYPE *FindPrinter)(
  4894. IShellDispatch4 *This,
  4895. BSTR name,
  4896. BSTR location,
  4897. BSTR model);
  4898. HRESULT (STDMETHODCALLTYPE *GetSystemInformation)(
  4899. IShellDispatch4 *This,
  4900. BSTR name,
  4901. VARIANT *pv);
  4902. HRESULT (STDMETHODCALLTYPE *ServiceStart)(
  4903. IShellDispatch4 *This,
  4904. BSTR ServiceName,
  4905. VARIANT Persistent,
  4906. VARIANT *pSuccess);
  4907. HRESULT (STDMETHODCALLTYPE *ServiceStop)(
  4908. IShellDispatch4 *This,
  4909. BSTR ServiceName,
  4910. VARIANT Persistent,
  4911. VARIANT *pSuccess);
  4912. HRESULT (STDMETHODCALLTYPE *IsServiceRunning)(
  4913. IShellDispatch4 *This,
  4914. BSTR ServiceName,
  4915. VARIANT *pRunning);
  4916. HRESULT (STDMETHODCALLTYPE *CanStartStopService)(
  4917. IShellDispatch4 *This,
  4918. BSTR ServiceName,
  4919. VARIANT *pCanStartStop);
  4920. HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
  4921. IShellDispatch4 *This,
  4922. BSTR bstrClsid,
  4923. VARIANT bShow,
  4924. VARIANT *pSuccess);
  4925. /*** IShellDispatch3 methods ***/
  4926. HRESULT (STDMETHODCALLTYPE *AddToRecent)(
  4927. IShellDispatch4 *This,
  4928. VARIANT varFile,
  4929. BSTR bstrCategory);
  4930. /*** IShellDispatch4 methods ***/
  4931. HRESULT (STDMETHODCALLTYPE *WindowsSecurity)(
  4932. IShellDispatch4 *This);
  4933. HRESULT (STDMETHODCALLTYPE *ToggleDesktop)(
  4934. IShellDispatch4 *This);
  4935. HRESULT (STDMETHODCALLTYPE *ExplorerPolicy)(
  4936. IShellDispatch4 *This,
  4937. BSTR bstrPolicyName,
  4938. VARIANT *pValue);
  4939. HRESULT (STDMETHODCALLTYPE *GetSetting)(
  4940. IShellDispatch4 *This,
  4941. LONG lSetting,
  4942. VARIANT_BOOL *pResult);
  4943. END_INTERFACE
  4944. } IShellDispatch4Vtbl;
  4945. interface IShellDispatch4 {
  4946. CONST_VTBL IShellDispatch4Vtbl* lpVtbl;
  4947. };
  4948. #ifdef COBJMACROS
  4949. #ifndef WIDL_C_INLINE_WRAPPERS
  4950. /*** IUnknown methods ***/
  4951. #define IShellDispatch4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4952. #define IShellDispatch4_AddRef(This) (This)->lpVtbl->AddRef(This)
  4953. #define IShellDispatch4_Release(This) (This)->lpVtbl->Release(This)
  4954. /*** IDispatch methods ***/
  4955. #define IShellDispatch4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4956. #define IShellDispatch4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4957. #define IShellDispatch4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4958. #define IShellDispatch4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4959. /*** IShellDispatch methods ***/
  4960. #define IShellDispatch4_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  4961. #define IShellDispatch4_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  4962. #define IShellDispatch4_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
  4963. #define IShellDispatch4_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
  4964. #define IShellDispatch4_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
  4965. #define IShellDispatch4_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
  4966. #define IShellDispatch4_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
  4967. #define IShellDispatch4_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
  4968. #define IShellDispatch4_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
  4969. #define IShellDispatch4_FileRun(This) (This)->lpVtbl->FileRun(This)
  4970. #define IShellDispatch4_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
  4971. #define IShellDispatch4_TileVertically(This) (This)->lpVtbl->TileVertically(This)
  4972. #define IShellDispatch4_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
  4973. #define IShellDispatch4_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
  4974. #define IShellDispatch4_Suspend(This) (This)->lpVtbl->Suspend(This)
  4975. #define IShellDispatch4_EjectPC(This) (This)->lpVtbl->EjectPC(This)
  4976. #define IShellDispatch4_SetTime(This) (This)->lpVtbl->SetTime(This)
  4977. #define IShellDispatch4_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
  4978. #define IShellDispatch4_Help(This) (This)->lpVtbl->Help(This)
  4979. #define IShellDispatch4_FindFiles(This) (This)->lpVtbl->FindFiles(This)
  4980. #define IShellDispatch4_FindComputer(This) (This)->lpVtbl->FindComputer(This)
  4981. #define IShellDispatch4_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
  4982. #define IShellDispatch4_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
  4983. /*** IShellDispatch2 methods ***/
  4984. #define IShellDispatch4_IsRestricted(This,Group,Restriction,plRestrictValue) (This)->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue)
  4985. #define IShellDispatch4_ShellExecute(This,File,vArgs,vDir,vOperation,vShow) (This)->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
  4986. #define IShellDispatch4_FindPrinter(This,name,location,model) (This)->lpVtbl->FindPrinter(This,name,location,model)
  4987. #define IShellDispatch4_GetSystemInformation(This,name,pv) (This)->lpVtbl->GetSystemInformation(This,name,pv)
  4988. #define IShellDispatch4_ServiceStart(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess)
  4989. #define IShellDispatch4_ServiceStop(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess)
  4990. #define IShellDispatch4_IsServiceRunning(This,ServiceName,pRunning) (This)->lpVtbl->IsServiceRunning(This,ServiceName,pRunning)
  4991. #define IShellDispatch4_CanStartStopService(This,ServiceName,pCanStartStop) (This)->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop)
  4992. #define IShellDispatch4_ShowBrowserBar(This,bstrClsid,bShow,pSuccess) (This)->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
  4993. /*** IShellDispatch3 methods ***/
  4994. #define IShellDispatch4_AddToRecent(This,varFile,bstrCategory) (This)->lpVtbl->AddToRecent(This,varFile,bstrCategory)
  4995. /*** IShellDispatch4 methods ***/
  4996. #define IShellDispatch4_WindowsSecurity(This) (This)->lpVtbl->WindowsSecurity(This)
  4997. #define IShellDispatch4_ToggleDesktop(This) (This)->lpVtbl->ToggleDesktop(This)
  4998. #define IShellDispatch4_ExplorerPolicy(This,bstrPolicyName,pValue) (This)->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue)
  4999. #define IShellDispatch4_GetSetting(This,lSetting,pResult) (This)->lpVtbl->GetSetting(This,lSetting,pResult)
  5000. #else
  5001. /*** IUnknown methods ***/
  5002. static FORCEINLINE HRESULT IShellDispatch4_QueryInterface(IShellDispatch4* This,REFIID riid,void **ppvObject) {
  5003. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5004. }
  5005. static FORCEINLINE ULONG IShellDispatch4_AddRef(IShellDispatch4* This) {
  5006. return This->lpVtbl->AddRef(This);
  5007. }
  5008. static FORCEINLINE ULONG IShellDispatch4_Release(IShellDispatch4* This) {
  5009. return This->lpVtbl->Release(This);
  5010. }
  5011. /*** IDispatch methods ***/
  5012. static FORCEINLINE HRESULT IShellDispatch4_GetTypeInfoCount(IShellDispatch4* This,UINT *pctinfo) {
  5013. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  5014. }
  5015. static FORCEINLINE HRESULT IShellDispatch4_GetTypeInfo(IShellDispatch4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  5016. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  5017. }
  5018. static FORCEINLINE HRESULT IShellDispatch4_GetIDsOfNames(IShellDispatch4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  5019. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  5020. }
  5021. static FORCEINLINE HRESULT IShellDispatch4_Invoke(IShellDispatch4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  5022. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  5023. }
  5024. /*** IShellDispatch methods ***/
  5025. static FORCEINLINE HRESULT IShellDispatch4_get_Application(IShellDispatch4* This,IDispatch **ppid) {
  5026. return This->lpVtbl->get_Application(This,ppid);
  5027. }
  5028. static FORCEINLINE HRESULT IShellDispatch4_get_Parent(IShellDispatch4* This,IDispatch **ppid) {
  5029. return This->lpVtbl->get_Parent(This,ppid);
  5030. }
  5031. static FORCEINLINE HRESULT IShellDispatch4_NameSpace(IShellDispatch4* This,VARIANT vDir,Folder **ppsdf) {
  5032. return This->lpVtbl->NameSpace(This,vDir,ppsdf);
  5033. }
  5034. static FORCEINLINE HRESULT IShellDispatch4_BrowseForFolder(IShellDispatch4* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
  5035. return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
  5036. }
  5037. static FORCEINLINE HRESULT IShellDispatch4_Windows(IShellDispatch4* This,IDispatch **ppid) {
  5038. return This->lpVtbl->Windows(This,ppid);
  5039. }
  5040. static FORCEINLINE HRESULT IShellDispatch4_Open(IShellDispatch4* This,VARIANT vDir) {
  5041. return This->lpVtbl->Open(This,vDir);
  5042. }
  5043. static FORCEINLINE HRESULT IShellDispatch4_Explore(IShellDispatch4* This,VARIANT vDir) {
  5044. return This->lpVtbl->Explore(This,vDir);
  5045. }
  5046. static FORCEINLINE HRESULT IShellDispatch4_MinimizeAll(IShellDispatch4* This) {
  5047. return This->lpVtbl->MinimizeAll(This);
  5048. }
  5049. static FORCEINLINE HRESULT IShellDispatch4_UndoMinimizeALL(IShellDispatch4* This) {
  5050. return This->lpVtbl->UndoMinimizeALL(This);
  5051. }
  5052. static FORCEINLINE HRESULT IShellDispatch4_FileRun(IShellDispatch4* This) {
  5053. return This->lpVtbl->FileRun(This);
  5054. }
  5055. static FORCEINLINE HRESULT IShellDispatch4_CascadeWindows(IShellDispatch4* This) {
  5056. return This->lpVtbl->CascadeWindows(This);
  5057. }
  5058. static FORCEINLINE HRESULT IShellDispatch4_TileVertically(IShellDispatch4* This) {
  5059. return This->lpVtbl->TileVertically(This);
  5060. }
  5061. static FORCEINLINE HRESULT IShellDispatch4_TileHorizontally(IShellDispatch4* This) {
  5062. return This->lpVtbl->TileHorizontally(This);
  5063. }
  5064. static FORCEINLINE HRESULT IShellDispatch4_ShutdownWindows(IShellDispatch4* This) {
  5065. return This->lpVtbl->ShutdownWindows(This);
  5066. }
  5067. static FORCEINLINE HRESULT IShellDispatch4_Suspend(IShellDispatch4* This) {
  5068. return This->lpVtbl->Suspend(This);
  5069. }
  5070. static FORCEINLINE HRESULT IShellDispatch4_EjectPC(IShellDispatch4* This) {
  5071. return This->lpVtbl->EjectPC(This);
  5072. }
  5073. static FORCEINLINE HRESULT IShellDispatch4_SetTime(IShellDispatch4* This) {
  5074. return This->lpVtbl->SetTime(This);
  5075. }
  5076. static FORCEINLINE HRESULT IShellDispatch4_TrayProperties(IShellDispatch4* This) {
  5077. return This->lpVtbl->TrayProperties(This);
  5078. }
  5079. static FORCEINLINE HRESULT IShellDispatch4_Help(IShellDispatch4* This) {
  5080. return This->lpVtbl->Help(This);
  5081. }
  5082. static FORCEINLINE HRESULT IShellDispatch4_FindFiles(IShellDispatch4* This) {
  5083. return This->lpVtbl->FindFiles(This);
  5084. }
  5085. static FORCEINLINE HRESULT IShellDispatch4_FindComputer(IShellDispatch4* This) {
  5086. return This->lpVtbl->FindComputer(This);
  5087. }
  5088. static FORCEINLINE HRESULT IShellDispatch4_RefreshMenu(IShellDispatch4* This) {
  5089. return This->lpVtbl->RefreshMenu(This);
  5090. }
  5091. static FORCEINLINE HRESULT IShellDispatch4_ControlPanelItem(IShellDispatch4* This,BSTR bstrDir) {
  5092. return This->lpVtbl->ControlPanelItem(This,bstrDir);
  5093. }
  5094. /*** IShellDispatch2 methods ***/
  5095. static FORCEINLINE HRESULT IShellDispatch4_IsRestricted(IShellDispatch4* This,BSTR Group,BSTR Restriction,LONG *plRestrictValue) {
  5096. return This->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue);
  5097. }
  5098. static FORCEINLINE HRESULT IShellDispatch4_ShellExecute(IShellDispatch4* This,BSTR File,VARIANT vArgs,VARIANT vDir,VARIANT vOperation,VARIANT vShow) {
  5099. return This->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow);
  5100. }
  5101. static FORCEINLINE HRESULT IShellDispatch4_FindPrinter(IShellDispatch4* This,BSTR name,BSTR location,BSTR model) {
  5102. return This->lpVtbl->FindPrinter(This,name,location,model);
  5103. }
  5104. static FORCEINLINE HRESULT IShellDispatch4_GetSystemInformation(IShellDispatch4* This,BSTR name,VARIANT *pv) {
  5105. return This->lpVtbl->GetSystemInformation(This,name,pv);
  5106. }
  5107. static FORCEINLINE HRESULT IShellDispatch4_ServiceStart(IShellDispatch4* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
  5108. return This->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess);
  5109. }
  5110. static FORCEINLINE HRESULT IShellDispatch4_ServiceStop(IShellDispatch4* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
  5111. return This->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess);
  5112. }
  5113. static FORCEINLINE HRESULT IShellDispatch4_IsServiceRunning(IShellDispatch4* This,BSTR ServiceName,VARIANT *pRunning) {
  5114. return This->lpVtbl->IsServiceRunning(This,ServiceName,pRunning);
  5115. }
  5116. static FORCEINLINE HRESULT IShellDispatch4_CanStartStopService(IShellDispatch4* This,BSTR ServiceName,VARIANT *pCanStartStop) {
  5117. return This->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop);
  5118. }
  5119. static FORCEINLINE HRESULT IShellDispatch4_ShowBrowserBar(IShellDispatch4* This,BSTR bstrClsid,VARIANT bShow,VARIANT *pSuccess) {
  5120. return This->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess);
  5121. }
  5122. /*** IShellDispatch3 methods ***/
  5123. static FORCEINLINE HRESULT IShellDispatch4_AddToRecent(IShellDispatch4* This,VARIANT varFile,BSTR bstrCategory) {
  5124. return This->lpVtbl->AddToRecent(This,varFile,bstrCategory);
  5125. }
  5126. /*** IShellDispatch4 methods ***/
  5127. static FORCEINLINE HRESULT IShellDispatch4_WindowsSecurity(IShellDispatch4* This) {
  5128. return This->lpVtbl->WindowsSecurity(This);
  5129. }
  5130. static FORCEINLINE HRESULT IShellDispatch4_ToggleDesktop(IShellDispatch4* This) {
  5131. return This->lpVtbl->ToggleDesktop(This);
  5132. }
  5133. static FORCEINLINE HRESULT IShellDispatch4_ExplorerPolicy(IShellDispatch4* This,BSTR bstrPolicyName,VARIANT *pValue) {
  5134. return This->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue);
  5135. }
  5136. static FORCEINLINE HRESULT IShellDispatch4_GetSetting(IShellDispatch4* This,LONG lSetting,VARIANT_BOOL *pResult) {
  5137. return This->lpVtbl->GetSetting(This,lSetting,pResult);
  5138. }
  5139. #endif
  5140. #endif
  5141. #endif
  5142. #endif /* __IShellDispatch4_INTERFACE_DEFINED__ */
  5143. /*****************************************************************************
  5144. * IShellDispatch5 interface
  5145. */
  5146. #ifndef __IShellDispatch5_INTERFACE_DEFINED__
  5147. #define __IShellDispatch5_INTERFACE_DEFINED__
  5148. DEFINE_GUID(IID_IShellDispatch5, 0x866738b9, 0x6cf2, 0x4de8, 0x87,0x67, 0xf7,0x94,0xeb,0xe7,0x4f,0x4e);
  5149. #if defined(__cplusplus) && !defined(CINTERFACE)
  5150. MIDL_INTERFACE("866738b9-6cf2-4de8-8767-f794ebe74f4e")
  5151. IShellDispatch5 : public IShellDispatch4
  5152. {
  5153. virtual HRESULT STDMETHODCALLTYPE WindowSwitcher(
  5154. ) = 0;
  5155. };
  5156. #ifdef __CRT_UUID_DECL
  5157. __CRT_UUID_DECL(IShellDispatch5, 0x866738b9, 0x6cf2, 0x4de8, 0x87,0x67, 0xf7,0x94,0xeb,0xe7,0x4f,0x4e)
  5158. #endif
  5159. #else
  5160. typedef struct IShellDispatch5Vtbl {
  5161. BEGIN_INTERFACE
  5162. /*** IUnknown methods ***/
  5163. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5164. IShellDispatch5 *This,
  5165. REFIID riid,
  5166. void **ppvObject);
  5167. ULONG (STDMETHODCALLTYPE *AddRef)(
  5168. IShellDispatch5 *This);
  5169. ULONG (STDMETHODCALLTYPE *Release)(
  5170. IShellDispatch5 *This);
  5171. /*** IDispatch methods ***/
  5172. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  5173. IShellDispatch5 *This,
  5174. UINT *pctinfo);
  5175. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  5176. IShellDispatch5 *This,
  5177. UINT iTInfo,
  5178. LCID lcid,
  5179. ITypeInfo **ppTInfo);
  5180. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  5181. IShellDispatch5 *This,
  5182. REFIID riid,
  5183. LPOLESTR *rgszNames,
  5184. UINT cNames,
  5185. LCID lcid,
  5186. DISPID *rgDispId);
  5187. HRESULT (STDMETHODCALLTYPE *Invoke)(
  5188. IShellDispatch5 *This,
  5189. DISPID dispIdMember,
  5190. REFIID riid,
  5191. LCID lcid,
  5192. WORD wFlags,
  5193. DISPPARAMS *pDispParams,
  5194. VARIANT *pVarResult,
  5195. EXCEPINFO *pExcepInfo,
  5196. UINT *puArgErr);
  5197. /*** IShellDispatch methods ***/
  5198. HRESULT (STDMETHODCALLTYPE *get_Application)(
  5199. IShellDispatch5 *This,
  5200. IDispatch **ppid);
  5201. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  5202. IShellDispatch5 *This,
  5203. IDispatch **ppid);
  5204. HRESULT (STDMETHODCALLTYPE *NameSpace)(
  5205. IShellDispatch5 *This,
  5206. VARIANT vDir,
  5207. Folder **ppsdf);
  5208. HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
  5209. IShellDispatch5 *This,
  5210. LONG Hwnd,
  5211. BSTR Title,
  5212. LONG Options,
  5213. VARIANT RootFolder,
  5214. Folder **ppsdf);
  5215. HRESULT (STDMETHODCALLTYPE *Windows)(
  5216. IShellDispatch5 *This,
  5217. IDispatch **ppid);
  5218. HRESULT (STDMETHODCALLTYPE *Open)(
  5219. IShellDispatch5 *This,
  5220. VARIANT vDir);
  5221. HRESULT (STDMETHODCALLTYPE *Explore)(
  5222. IShellDispatch5 *This,
  5223. VARIANT vDir);
  5224. HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
  5225. IShellDispatch5 *This);
  5226. HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
  5227. IShellDispatch5 *This);
  5228. HRESULT (STDMETHODCALLTYPE *FileRun)(
  5229. IShellDispatch5 *This);
  5230. HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
  5231. IShellDispatch5 *This);
  5232. HRESULT (STDMETHODCALLTYPE *TileVertically)(
  5233. IShellDispatch5 *This);
  5234. HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
  5235. IShellDispatch5 *This);
  5236. HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
  5237. IShellDispatch5 *This);
  5238. HRESULT (STDMETHODCALLTYPE *Suspend)(
  5239. IShellDispatch5 *This);
  5240. HRESULT (STDMETHODCALLTYPE *EjectPC)(
  5241. IShellDispatch5 *This);
  5242. HRESULT (STDMETHODCALLTYPE *SetTime)(
  5243. IShellDispatch5 *This);
  5244. HRESULT (STDMETHODCALLTYPE *TrayProperties)(
  5245. IShellDispatch5 *This);
  5246. HRESULT (STDMETHODCALLTYPE *Help)(
  5247. IShellDispatch5 *This);
  5248. HRESULT (STDMETHODCALLTYPE *FindFiles)(
  5249. IShellDispatch5 *This);
  5250. HRESULT (STDMETHODCALLTYPE *FindComputer)(
  5251. IShellDispatch5 *This);
  5252. HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
  5253. IShellDispatch5 *This);
  5254. HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
  5255. IShellDispatch5 *This,
  5256. BSTR bstrDir);
  5257. /*** IShellDispatch2 methods ***/
  5258. HRESULT (STDMETHODCALLTYPE *IsRestricted)(
  5259. IShellDispatch5 *This,
  5260. BSTR Group,
  5261. BSTR Restriction,
  5262. LONG *plRestrictValue);
  5263. HRESULT (STDMETHODCALLTYPE *ShellExecute)(
  5264. IShellDispatch5 *This,
  5265. BSTR File,
  5266. VARIANT vArgs,
  5267. VARIANT vDir,
  5268. VARIANT vOperation,
  5269. VARIANT vShow);
  5270. HRESULT (STDMETHODCALLTYPE *FindPrinter)(
  5271. IShellDispatch5 *This,
  5272. BSTR name,
  5273. BSTR location,
  5274. BSTR model);
  5275. HRESULT (STDMETHODCALLTYPE *GetSystemInformation)(
  5276. IShellDispatch5 *This,
  5277. BSTR name,
  5278. VARIANT *pv);
  5279. HRESULT (STDMETHODCALLTYPE *ServiceStart)(
  5280. IShellDispatch5 *This,
  5281. BSTR ServiceName,
  5282. VARIANT Persistent,
  5283. VARIANT *pSuccess);
  5284. HRESULT (STDMETHODCALLTYPE *ServiceStop)(
  5285. IShellDispatch5 *This,
  5286. BSTR ServiceName,
  5287. VARIANT Persistent,
  5288. VARIANT *pSuccess);
  5289. HRESULT (STDMETHODCALLTYPE *IsServiceRunning)(
  5290. IShellDispatch5 *This,
  5291. BSTR ServiceName,
  5292. VARIANT *pRunning);
  5293. HRESULT (STDMETHODCALLTYPE *CanStartStopService)(
  5294. IShellDispatch5 *This,
  5295. BSTR ServiceName,
  5296. VARIANT *pCanStartStop);
  5297. HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
  5298. IShellDispatch5 *This,
  5299. BSTR bstrClsid,
  5300. VARIANT bShow,
  5301. VARIANT *pSuccess);
  5302. /*** IShellDispatch3 methods ***/
  5303. HRESULT (STDMETHODCALLTYPE *AddToRecent)(
  5304. IShellDispatch5 *This,
  5305. VARIANT varFile,
  5306. BSTR bstrCategory);
  5307. /*** IShellDispatch4 methods ***/
  5308. HRESULT (STDMETHODCALLTYPE *WindowsSecurity)(
  5309. IShellDispatch5 *This);
  5310. HRESULT (STDMETHODCALLTYPE *ToggleDesktop)(
  5311. IShellDispatch5 *This);
  5312. HRESULT (STDMETHODCALLTYPE *ExplorerPolicy)(
  5313. IShellDispatch5 *This,
  5314. BSTR bstrPolicyName,
  5315. VARIANT *pValue);
  5316. HRESULT (STDMETHODCALLTYPE *GetSetting)(
  5317. IShellDispatch5 *This,
  5318. LONG lSetting,
  5319. VARIANT_BOOL *pResult);
  5320. /*** IShellDispatch5 methods ***/
  5321. HRESULT (STDMETHODCALLTYPE *WindowSwitcher)(
  5322. IShellDispatch5 *This);
  5323. END_INTERFACE
  5324. } IShellDispatch5Vtbl;
  5325. interface IShellDispatch5 {
  5326. CONST_VTBL IShellDispatch5Vtbl* lpVtbl;
  5327. };
  5328. #ifdef COBJMACROS
  5329. #ifndef WIDL_C_INLINE_WRAPPERS
  5330. /*** IUnknown methods ***/
  5331. #define IShellDispatch5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5332. #define IShellDispatch5_AddRef(This) (This)->lpVtbl->AddRef(This)
  5333. #define IShellDispatch5_Release(This) (This)->lpVtbl->Release(This)
  5334. /*** IDispatch methods ***/
  5335. #define IShellDispatch5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  5336. #define IShellDispatch5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5337. #define IShellDispatch5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5338. #define IShellDispatch5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5339. /*** IShellDispatch methods ***/
  5340. #define IShellDispatch5_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  5341. #define IShellDispatch5_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  5342. #define IShellDispatch5_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
  5343. #define IShellDispatch5_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
  5344. #define IShellDispatch5_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
  5345. #define IShellDispatch5_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
  5346. #define IShellDispatch5_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
  5347. #define IShellDispatch5_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
  5348. #define IShellDispatch5_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
  5349. #define IShellDispatch5_FileRun(This) (This)->lpVtbl->FileRun(This)
  5350. #define IShellDispatch5_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
  5351. #define IShellDispatch5_TileVertically(This) (This)->lpVtbl->TileVertically(This)
  5352. #define IShellDispatch5_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
  5353. #define IShellDispatch5_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
  5354. #define IShellDispatch5_Suspend(This) (This)->lpVtbl->Suspend(This)
  5355. #define IShellDispatch5_EjectPC(This) (This)->lpVtbl->EjectPC(This)
  5356. #define IShellDispatch5_SetTime(This) (This)->lpVtbl->SetTime(This)
  5357. #define IShellDispatch5_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
  5358. #define IShellDispatch5_Help(This) (This)->lpVtbl->Help(This)
  5359. #define IShellDispatch5_FindFiles(This) (This)->lpVtbl->FindFiles(This)
  5360. #define IShellDispatch5_FindComputer(This) (This)->lpVtbl->FindComputer(This)
  5361. #define IShellDispatch5_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
  5362. #define IShellDispatch5_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
  5363. /*** IShellDispatch2 methods ***/
  5364. #define IShellDispatch5_IsRestricted(This,Group,Restriction,plRestrictValue) (This)->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue)
  5365. #define IShellDispatch5_ShellExecute(This,File,vArgs,vDir,vOperation,vShow) (This)->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
  5366. #define IShellDispatch5_FindPrinter(This,name,location,model) (This)->lpVtbl->FindPrinter(This,name,location,model)
  5367. #define IShellDispatch5_GetSystemInformation(This,name,pv) (This)->lpVtbl->GetSystemInformation(This,name,pv)
  5368. #define IShellDispatch5_ServiceStart(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess)
  5369. #define IShellDispatch5_ServiceStop(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess)
  5370. #define IShellDispatch5_IsServiceRunning(This,ServiceName,pRunning) (This)->lpVtbl->IsServiceRunning(This,ServiceName,pRunning)
  5371. #define IShellDispatch5_CanStartStopService(This,ServiceName,pCanStartStop) (This)->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop)
  5372. #define IShellDispatch5_ShowBrowserBar(This,bstrClsid,bShow,pSuccess) (This)->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
  5373. /*** IShellDispatch3 methods ***/
  5374. #define IShellDispatch5_AddToRecent(This,varFile,bstrCategory) (This)->lpVtbl->AddToRecent(This,varFile,bstrCategory)
  5375. /*** IShellDispatch4 methods ***/
  5376. #define IShellDispatch5_WindowsSecurity(This) (This)->lpVtbl->WindowsSecurity(This)
  5377. #define IShellDispatch5_ToggleDesktop(This) (This)->lpVtbl->ToggleDesktop(This)
  5378. #define IShellDispatch5_ExplorerPolicy(This,bstrPolicyName,pValue) (This)->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue)
  5379. #define IShellDispatch5_GetSetting(This,lSetting,pResult) (This)->lpVtbl->GetSetting(This,lSetting,pResult)
  5380. /*** IShellDispatch5 methods ***/
  5381. #define IShellDispatch5_WindowSwitcher(This) (This)->lpVtbl->WindowSwitcher(This)
  5382. #else
  5383. /*** IUnknown methods ***/
  5384. static FORCEINLINE HRESULT IShellDispatch5_QueryInterface(IShellDispatch5* This,REFIID riid,void **ppvObject) {
  5385. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5386. }
  5387. static FORCEINLINE ULONG IShellDispatch5_AddRef(IShellDispatch5* This) {
  5388. return This->lpVtbl->AddRef(This);
  5389. }
  5390. static FORCEINLINE ULONG IShellDispatch5_Release(IShellDispatch5* This) {
  5391. return This->lpVtbl->Release(This);
  5392. }
  5393. /*** IDispatch methods ***/
  5394. static FORCEINLINE HRESULT IShellDispatch5_GetTypeInfoCount(IShellDispatch5* This,UINT *pctinfo) {
  5395. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  5396. }
  5397. static FORCEINLINE HRESULT IShellDispatch5_GetTypeInfo(IShellDispatch5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  5398. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  5399. }
  5400. static FORCEINLINE HRESULT IShellDispatch5_GetIDsOfNames(IShellDispatch5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  5401. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  5402. }
  5403. static FORCEINLINE HRESULT IShellDispatch5_Invoke(IShellDispatch5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  5404. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  5405. }
  5406. /*** IShellDispatch methods ***/
  5407. static FORCEINLINE HRESULT IShellDispatch5_get_Application(IShellDispatch5* This,IDispatch **ppid) {
  5408. return This->lpVtbl->get_Application(This,ppid);
  5409. }
  5410. static FORCEINLINE HRESULT IShellDispatch5_get_Parent(IShellDispatch5* This,IDispatch **ppid) {
  5411. return This->lpVtbl->get_Parent(This,ppid);
  5412. }
  5413. static FORCEINLINE HRESULT IShellDispatch5_NameSpace(IShellDispatch5* This,VARIANT vDir,Folder **ppsdf) {
  5414. return This->lpVtbl->NameSpace(This,vDir,ppsdf);
  5415. }
  5416. static FORCEINLINE HRESULT IShellDispatch5_BrowseForFolder(IShellDispatch5* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
  5417. return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
  5418. }
  5419. static FORCEINLINE HRESULT IShellDispatch5_Windows(IShellDispatch5* This,IDispatch **ppid) {
  5420. return This->lpVtbl->Windows(This,ppid);
  5421. }
  5422. static FORCEINLINE HRESULT IShellDispatch5_Open(IShellDispatch5* This,VARIANT vDir) {
  5423. return This->lpVtbl->Open(This,vDir);
  5424. }
  5425. static FORCEINLINE HRESULT IShellDispatch5_Explore(IShellDispatch5* This,VARIANT vDir) {
  5426. return This->lpVtbl->Explore(This,vDir);
  5427. }
  5428. static FORCEINLINE HRESULT IShellDispatch5_MinimizeAll(IShellDispatch5* This) {
  5429. return This->lpVtbl->MinimizeAll(This);
  5430. }
  5431. static FORCEINLINE HRESULT IShellDispatch5_UndoMinimizeALL(IShellDispatch5* This) {
  5432. return This->lpVtbl->UndoMinimizeALL(This);
  5433. }
  5434. static FORCEINLINE HRESULT IShellDispatch5_FileRun(IShellDispatch5* This) {
  5435. return This->lpVtbl->FileRun(This);
  5436. }
  5437. static FORCEINLINE HRESULT IShellDispatch5_CascadeWindows(IShellDispatch5* This) {
  5438. return This->lpVtbl->CascadeWindows(This);
  5439. }
  5440. static FORCEINLINE HRESULT IShellDispatch5_TileVertically(IShellDispatch5* This) {
  5441. return This->lpVtbl->TileVertically(This);
  5442. }
  5443. static FORCEINLINE HRESULT IShellDispatch5_TileHorizontally(IShellDispatch5* This) {
  5444. return This->lpVtbl->TileHorizontally(This);
  5445. }
  5446. static FORCEINLINE HRESULT IShellDispatch5_ShutdownWindows(IShellDispatch5* This) {
  5447. return This->lpVtbl->ShutdownWindows(This);
  5448. }
  5449. static FORCEINLINE HRESULT IShellDispatch5_Suspend(IShellDispatch5* This) {
  5450. return This->lpVtbl->Suspend(This);
  5451. }
  5452. static FORCEINLINE HRESULT IShellDispatch5_EjectPC(IShellDispatch5* This) {
  5453. return This->lpVtbl->EjectPC(This);
  5454. }
  5455. static FORCEINLINE HRESULT IShellDispatch5_SetTime(IShellDispatch5* This) {
  5456. return This->lpVtbl->SetTime(This);
  5457. }
  5458. static FORCEINLINE HRESULT IShellDispatch5_TrayProperties(IShellDispatch5* This) {
  5459. return This->lpVtbl->TrayProperties(This);
  5460. }
  5461. static FORCEINLINE HRESULT IShellDispatch5_Help(IShellDispatch5* This) {
  5462. return This->lpVtbl->Help(This);
  5463. }
  5464. static FORCEINLINE HRESULT IShellDispatch5_FindFiles(IShellDispatch5* This) {
  5465. return This->lpVtbl->FindFiles(This);
  5466. }
  5467. static FORCEINLINE HRESULT IShellDispatch5_FindComputer(IShellDispatch5* This) {
  5468. return This->lpVtbl->FindComputer(This);
  5469. }
  5470. static FORCEINLINE HRESULT IShellDispatch5_RefreshMenu(IShellDispatch5* This) {
  5471. return This->lpVtbl->RefreshMenu(This);
  5472. }
  5473. static FORCEINLINE HRESULT IShellDispatch5_ControlPanelItem(IShellDispatch5* This,BSTR bstrDir) {
  5474. return This->lpVtbl->ControlPanelItem(This,bstrDir);
  5475. }
  5476. /*** IShellDispatch2 methods ***/
  5477. static FORCEINLINE HRESULT IShellDispatch5_IsRestricted(IShellDispatch5* This,BSTR Group,BSTR Restriction,LONG *plRestrictValue) {
  5478. return This->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue);
  5479. }
  5480. static FORCEINLINE HRESULT IShellDispatch5_ShellExecute(IShellDispatch5* This,BSTR File,VARIANT vArgs,VARIANT vDir,VARIANT vOperation,VARIANT vShow) {
  5481. return This->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow);
  5482. }
  5483. static FORCEINLINE HRESULT IShellDispatch5_FindPrinter(IShellDispatch5* This,BSTR name,BSTR location,BSTR model) {
  5484. return This->lpVtbl->FindPrinter(This,name,location,model);
  5485. }
  5486. static FORCEINLINE HRESULT IShellDispatch5_GetSystemInformation(IShellDispatch5* This,BSTR name,VARIANT *pv) {
  5487. return This->lpVtbl->GetSystemInformation(This,name,pv);
  5488. }
  5489. static FORCEINLINE HRESULT IShellDispatch5_ServiceStart(IShellDispatch5* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
  5490. return This->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess);
  5491. }
  5492. static FORCEINLINE HRESULT IShellDispatch5_ServiceStop(IShellDispatch5* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
  5493. return This->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess);
  5494. }
  5495. static FORCEINLINE HRESULT IShellDispatch5_IsServiceRunning(IShellDispatch5* This,BSTR ServiceName,VARIANT *pRunning) {
  5496. return This->lpVtbl->IsServiceRunning(This,ServiceName,pRunning);
  5497. }
  5498. static FORCEINLINE HRESULT IShellDispatch5_CanStartStopService(IShellDispatch5* This,BSTR ServiceName,VARIANT *pCanStartStop) {
  5499. return This->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop);
  5500. }
  5501. static FORCEINLINE HRESULT IShellDispatch5_ShowBrowserBar(IShellDispatch5* This,BSTR bstrClsid,VARIANT bShow,VARIANT *pSuccess) {
  5502. return This->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess);
  5503. }
  5504. /*** IShellDispatch3 methods ***/
  5505. static FORCEINLINE HRESULT IShellDispatch5_AddToRecent(IShellDispatch5* This,VARIANT varFile,BSTR bstrCategory) {
  5506. return This->lpVtbl->AddToRecent(This,varFile,bstrCategory);
  5507. }
  5508. /*** IShellDispatch4 methods ***/
  5509. static FORCEINLINE HRESULT IShellDispatch5_WindowsSecurity(IShellDispatch5* This) {
  5510. return This->lpVtbl->WindowsSecurity(This);
  5511. }
  5512. static FORCEINLINE HRESULT IShellDispatch5_ToggleDesktop(IShellDispatch5* This) {
  5513. return This->lpVtbl->ToggleDesktop(This);
  5514. }
  5515. static FORCEINLINE HRESULT IShellDispatch5_ExplorerPolicy(IShellDispatch5* This,BSTR bstrPolicyName,VARIANT *pValue) {
  5516. return This->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue);
  5517. }
  5518. static FORCEINLINE HRESULT IShellDispatch5_GetSetting(IShellDispatch5* This,LONG lSetting,VARIANT_BOOL *pResult) {
  5519. return This->lpVtbl->GetSetting(This,lSetting,pResult);
  5520. }
  5521. /*** IShellDispatch5 methods ***/
  5522. static FORCEINLINE HRESULT IShellDispatch5_WindowSwitcher(IShellDispatch5* This) {
  5523. return This->lpVtbl->WindowSwitcher(This);
  5524. }
  5525. #endif
  5526. #endif
  5527. #endif
  5528. #endif /* __IShellDispatch5_INTERFACE_DEFINED__ */
  5529. #if NTDDI_VERSION >= NTDDI_WIN8
  5530. /*****************************************************************************
  5531. * IShellDispatch6 interface
  5532. */
  5533. #ifndef __IShellDispatch6_INTERFACE_DEFINED__
  5534. #define __IShellDispatch6_INTERFACE_DEFINED__
  5535. DEFINE_GUID(IID_IShellDispatch6, 0x286e6f1b, 0x7113, 0x4355, 0x95,0x62, 0x96,0xb7,0xe9,0xd6,0x4c,0x54);
  5536. #if defined(__cplusplus) && !defined(CINTERFACE)
  5537. MIDL_INTERFACE("286e6f1b-7113-4355-9562-96b7e9d64c54")
  5538. IShellDispatch6 : public IShellDispatch5
  5539. {
  5540. virtual HRESULT STDMETHODCALLTYPE SearchCommand(
  5541. ) = 0;
  5542. };
  5543. #ifdef __CRT_UUID_DECL
  5544. __CRT_UUID_DECL(IShellDispatch6, 0x286e6f1b, 0x7113, 0x4355, 0x95,0x62, 0x96,0xb7,0xe9,0xd6,0x4c,0x54)
  5545. #endif
  5546. #else
  5547. typedef struct IShellDispatch6Vtbl {
  5548. BEGIN_INTERFACE
  5549. /*** IUnknown methods ***/
  5550. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5551. IShellDispatch6 *This,
  5552. REFIID riid,
  5553. void **ppvObject);
  5554. ULONG (STDMETHODCALLTYPE *AddRef)(
  5555. IShellDispatch6 *This);
  5556. ULONG (STDMETHODCALLTYPE *Release)(
  5557. IShellDispatch6 *This);
  5558. /*** IDispatch methods ***/
  5559. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  5560. IShellDispatch6 *This,
  5561. UINT *pctinfo);
  5562. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  5563. IShellDispatch6 *This,
  5564. UINT iTInfo,
  5565. LCID lcid,
  5566. ITypeInfo **ppTInfo);
  5567. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  5568. IShellDispatch6 *This,
  5569. REFIID riid,
  5570. LPOLESTR *rgszNames,
  5571. UINT cNames,
  5572. LCID lcid,
  5573. DISPID *rgDispId);
  5574. HRESULT (STDMETHODCALLTYPE *Invoke)(
  5575. IShellDispatch6 *This,
  5576. DISPID dispIdMember,
  5577. REFIID riid,
  5578. LCID lcid,
  5579. WORD wFlags,
  5580. DISPPARAMS *pDispParams,
  5581. VARIANT *pVarResult,
  5582. EXCEPINFO *pExcepInfo,
  5583. UINT *puArgErr);
  5584. /*** IShellDispatch methods ***/
  5585. HRESULT (STDMETHODCALLTYPE *get_Application)(
  5586. IShellDispatch6 *This,
  5587. IDispatch **ppid);
  5588. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  5589. IShellDispatch6 *This,
  5590. IDispatch **ppid);
  5591. HRESULT (STDMETHODCALLTYPE *NameSpace)(
  5592. IShellDispatch6 *This,
  5593. VARIANT vDir,
  5594. Folder **ppsdf);
  5595. HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
  5596. IShellDispatch6 *This,
  5597. LONG Hwnd,
  5598. BSTR Title,
  5599. LONG Options,
  5600. VARIANT RootFolder,
  5601. Folder **ppsdf);
  5602. HRESULT (STDMETHODCALLTYPE *Windows)(
  5603. IShellDispatch6 *This,
  5604. IDispatch **ppid);
  5605. HRESULT (STDMETHODCALLTYPE *Open)(
  5606. IShellDispatch6 *This,
  5607. VARIANT vDir);
  5608. HRESULT (STDMETHODCALLTYPE *Explore)(
  5609. IShellDispatch6 *This,
  5610. VARIANT vDir);
  5611. HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
  5612. IShellDispatch6 *This);
  5613. HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
  5614. IShellDispatch6 *This);
  5615. HRESULT (STDMETHODCALLTYPE *FileRun)(
  5616. IShellDispatch6 *This);
  5617. HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
  5618. IShellDispatch6 *This);
  5619. HRESULT (STDMETHODCALLTYPE *TileVertically)(
  5620. IShellDispatch6 *This);
  5621. HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
  5622. IShellDispatch6 *This);
  5623. HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
  5624. IShellDispatch6 *This);
  5625. HRESULT (STDMETHODCALLTYPE *Suspend)(
  5626. IShellDispatch6 *This);
  5627. HRESULT (STDMETHODCALLTYPE *EjectPC)(
  5628. IShellDispatch6 *This);
  5629. HRESULT (STDMETHODCALLTYPE *SetTime)(
  5630. IShellDispatch6 *This);
  5631. HRESULT (STDMETHODCALLTYPE *TrayProperties)(
  5632. IShellDispatch6 *This);
  5633. HRESULT (STDMETHODCALLTYPE *Help)(
  5634. IShellDispatch6 *This);
  5635. HRESULT (STDMETHODCALLTYPE *FindFiles)(
  5636. IShellDispatch6 *This);
  5637. HRESULT (STDMETHODCALLTYPE *FindComputer)(
  5638. IShellDispatch6 *This);
  5639. HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
  5640. IShellDispatch6 *This);
  5641. HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
  5642. IShellDispatch6 *This,
  5643. BSTR bstrDir);
  5644. /*** IShellDispatch2 methods ***/
  5645. HRESULT (STDMETHODCALLTYPE *IsRestricted)(
  5646. IShellDispatch6 *This,
  5647. BSTR Group,
  5648. BSTR Restriction,
  5649. LONG *plRestrictValue);
  5650. HRESULT (STDMETHODCALLTYPE *ShellExecute)(
  5651. IShellDispatch6 *This,
  5652. BSTR File,
  5653. VARIANT vArgs,
  5654. VARIANT vDir,
  5655. VARIANT vOperation,
  5656. VARIANT vShow);
  5657. HRESULT (STDMETHODCALLTYPE *FindPrinter)(
  5658. IShellDispatch6 *This,
  5659. BSTR name,
  5660. BSTR location,
  5661. BSTR model);
  5662. HRESULT (STDMETHODCALLTYPE *GetSystemInformation)(
  5663. IShellDispatch6 *This,
  5664. BSTR name,
  5665. VARIANT *pv);
  5666. HRESULT (STDMETHODCALLTYPE *ServiceStart)(
  5667. IShellDispatch6 *This,
  5668. BSTR ServiceName,
  5669. VARIANT Persistent,
  5670. VARIANT *pSuccess);
  5671. HRESULT (STDMETHODCALLTYPE *ServiceStop)(
  5672. IShellDispatch6 *This,
  5673. BSTR ServiceName,
  5674. VARIANT Persistent,
  5675. VARIANT *pSuccess);
  5676. HRESULT (STDMETHODCALLTYPE *IsServiceRunning)(
  5677. IShellDispatch6 *This,
  5678. BSTR ServiceName,
  5679. VARIANT *pRunning);
  5680. HRESULT (STDMETHODCALLTYPE *CanStartStopService)(
  5681. IShellDispatch6 *This,
  5682. BSTR ServiceName,
  5683. VARIANT *pCanStartStop);
  5684. HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
  5685. IShellDispatch6 *This,
  5686. BSTR bstrClsid,
  5687. VARIANT bShow,
  5688. VARIANT *pSuccess);
  5689. /*** IShellDispatch3 methods ***/
  5690. HRESULT (STDMETHODCALLTYPE *AddToRecent)(
  5691. IShellDispatch6 *This,
  5692. VARIANT varFile,
  5693. BSTR bstrCategory);
  5694. /*** IShellDispatch4 methods ***/
  5695. HRESULT (STDMETHODCALLTYPE *WindowsSecurity)(
  5696. IShellDispatch6 *This);
  5697. HRESULT (STDMETHODCALLTYPE *ToggleDesktop)(
  5698. IShellDispatch6 *This);
  5699. HRESULT (STDMETHODCALLTYPE *ExplorerPolicy)(
  5700. IShellDispatch6 *This,
  5701. BSTR bstrPolicyName,
  5702. VARIANT *pValue);
  5703. HRESULT (STDMETHODCALLTYPE *GetSetting)(
  5704. IShellDispatch6 *This,
  5705. LONG lSetting,
  5706. VARIANT_BOOL *pResult);
  5707. /*** IShellDispatch5 methods ***/
  5708. HRESULT (STDMETHODCALLTYPE *WindowSwitcher)(
  5709. IShellDispatch6 *This);
  5710. /*** IShellDispatch6 methods ***/
  5711. HRESULT (STDMETHODCALLTYPE *SearchCommand)(
  5712. IShellDispatch6 *This);
  5713. END_INTERFACE
  5714. } IShellDispatch6Vtbl;
  5715. interface IShellDispatch6 {
  5716. CONST_VTBL IShellDispatch6Vtbl* lpVtbl;
  5717. };
  5718. #ifdef COBJMACROS
  5719. #ifndef WIDL_C_INLINE_WRAPPERS
  5720. /*** IUnknown methods ***/
  5721. #define IShellDispatch6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5722. #define IShellDispatch6_AddRef(This) (This)->lpVtbl->AddRef(This)
  5723. #define IShellDispatch6_Release(This) (This)->lpVtbl->Release(This)
  5724. /*** IDispatch methods ***/
  5725. #define IShellDispatch6_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  5726. #define IShellDispatch6_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5727. #define IShellDispatch6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5728. #define IShellDispatch6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5729. /*** IShellDispatch methods ***/
  5730. #define IShellDispatch6_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
  5731. #define IShellDispatch6_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
  5732. #define IShellDispatch6_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
  5733. #define IShellDispatch6_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
  5734. #define IShellDispatch6_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
  5735. #define IShellDispatch6_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
  5736. #define IShellDispatch6_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
  5737. #define IShellDispatch6_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
  5738. #define IShellDispatch6_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
  5739. #define IShellDispatch6_FileRun(This) (This)->lpVtbl->FileRun(This)
  5740. #define IShellDispatch6_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
  5741. #define IShellDispatch6_TileVertically(This) (This)->lpVtbl->TileVertically(This)
  5742. #define IShellDispatch6_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
  5743. #define IShellDispatch6_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
  5744. #define IShellDispatch6_Suspend(This) (This)->lpVtbl->Suspend(This)
  5745. #define IShellDispatch6_EjectPC(This) (This)->lpVtbl->EjectPC(This)
  5746. #define IShellDispatch6_SetTime(This) (This)->lpVtbl->SetTime(This)
  5747. #define IShellDispatch6_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
  5748. #define IShellDispatch6_Help(This) (This)->lpVtbl->Help(This)
  5749. #define IShellDispatch6_FindFiles(This) (This)->lpVtbl->FindFiles(This)
  5750. #define IShellDispatch6_FindComputer(This) (This)->lpVtbl->FindComputer(This)
  5751. #define IShellDispatch6_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
  5752. #define IShellDispatch6_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
  5753. /*** IShellDispatch2 methods ***/
  5754. #define IShellDispatch6_IsRestricted(This,Group,Restriction,plRestrictValue) (This)->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue)
  5755. #define IShellDispatch6_ShellExecute(This,File,vArgs,vDir,vOperation,vShow) (This)->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
  5756. #define IShellDispatch6_FindPrinter(This,name,location,model) (This)->lpVtbl->FindPrinter(This,name,location,model)
  5757. #define IShellDispatch6_GetSystemInformation(This,name,pv) (This)->lpVtbl->GetSystemInformation(This,name,pv)
  5758. #define IShellDispatch6_ServiceStart(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess)
  5759. #define IShellDispatch6_ServiceStop(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess)
  5760. #define IShellDispatch6_IsServiceRunning(This,ServiceName,pRunning) (This)->lpVtbl->IsServiceRunning(This,ServiceName,pRunning)
  5761. #define IShellDispatch6_CanStartStopService(This,ServiceName,pCanStartStop) (This)->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop)
  5762. #define IShellDispatch6_ShowBrowserBar(This,bstrClsid,bShow,pSuccess) (This)->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
  5763. /*** IShellDispatch3 methods ***/
  5764. #define IShellDispatch6_AddToRecent(This,varFile,bstrCategory) (This)->lpVtbl->AddToRecent(This,varFile,bstrCategory)
  5765. /*** IShellDispatch4 methods ***/
  5766. #define IShellDispatch6_WindowsSecurity(This) (This)->lpVtbl->WindowsSecurity(This)
  5767. #define IShellDispatch6_ToggleDesktop(This) (This)->lpVtbl->ToggleDesktop(This)
  5768. #define IShellDispatch6_ExplorerPolicy(This,bstrPolicyName,pValue) (This)->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue)
  5769. #define IShellDispatch6_GetSetting(This,lSetting,pResult) (This)->lpVtbl->GetSetting(This,lSetting,pResult)
  5770. /*** IShellDispatch5 methods ***/
  5771. #define IShellDispatch6_WindowSwitcher(This) (This)->lpVtbl->WindowSwitcher(This)
  5772. /*** IShellDispatch6 methods ***/
  5773. #define IShellDispatch6_SearchCommand(This) (This)->lpVtbl->SearchCommand(This)
  5774. #else
  5775. /*** IUnknown methods ***/
  5776. static FORCEINLINE HRESULT IShellDispatch6_QueryInterface(IShellDispatch6* This,REFIID riid,void **ppvObject) {
  5777. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5778. }
  5779. static FORCEINLINE ULONG IShellDispatch6_AddRef(IShellDispatch6* This) {
  5780. return This->lpVtbl->AddRef(This);
  5781. }
  5782. static FORCEINLINE ULONG IShellDispatch6_Release(IShellDispatch6* This) {
  5783. return This->lpVtbl->Release(This);
  5784. }
  5785. /*** IDispatch methods ***/
  5786. static FORCEINLINE HRESULT IShellDispatch6_GetTypeInfoCount(IShellDispatch6* This,UINT *pctinfo) {
  5787. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  5788. }
  5789. static FORCEINLINE HRESULT IShellDispatch6_GetTypeInfo(IShellDispatch6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  5790. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  5791. }
  5792. static FORCEINLINE HRESULT IShellDispatch6_GetIDsOfNames(IShellDispatch6* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  5793. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  5794. }
  5795. static FORCEINLINE HRESULT IShellDispatch6_Invoke(IShellDispatch6* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  5796. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  5797. }
  5798. /*** IShellDispatch methods ***/
  5799. static FORCEINLINE HRESULT IShellDispatch6_get_Application(IShellDispatch6* This,IDispatch **ppid) {
  5800. return This->lpVtbl->get_Application(This,ppid);
  5801. }
  5802. static FORCEINLINE HRESULT IShellDispatch6_get_Parent(IShellDispatch6* This,IDispatch **ppid) {
  5803. return This->lpVtbl->get_Parent(This,ppid);
  5804. }
  5805. static FORCEINLINE HRESULT IShellDispatch6_NameSpace(IShellDispatch6* This,VARIANT vDir,Folder **ppsdf) {
  5806. return This->lpVtbl->NameSpace(This,vDir,ppsdf);
  5807. }
  5808. static FORCEINLINE HRESULT IShellDispatch6_BrowseForFolder(IShellDispatch6* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
  5809. return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
  5810. }
  5811. static FORCEINLINE HRESULT IShellDispatch6_Windows(IShellDispatch6* This,IDispatch **ppid) {
  5812. return This->lpVtbl->Windows(This,ppid);
  5813. }
  5814. static FORCEINLINE HRESULT IShellDispatch6_Open(IShellDispatch6* This,VARIANT vDir) {
  5815. return This->lpVtbl->Open(This,vDir);
  5816. }
  5817. static FORCEINLINE HRESULT IShellDispatch6_Explore(IShellDispatch6* This,VARIANT vDir) {
  5818. return This->lpVtbl->Explore(This,vDir);
  5819. }
  5820. static FORCEINLINE HRESULT IShellDispatch6_MinimizeAll(IShellDispatch6* This) {
  5821. return This->lpVtbl->MinimizeAll(This);
  5822. }
  5823. static FORCEINLINE HRESULT IShellDispatch6_UndoMinimizeALL(IShellDispatch6* This) {
  5824. return This->lpVtbl->UndoMinimizeALL(This);
  5825. }
  5826. static FORCEINLINE HRESULT IShellDispatch6_FileRun(IShellDispatch6* This) {
  5827. return This->lpVtbl->FileRun(This);
  5828. }
  5829. static FORCEINLINE HRESULT IShellDispatch6_CascadeWindows(IShellDispatch6* This) {
  5830. return This->lpVtbl->CascadeWindows(This);
  5831. }
  5832. static FORCEINLINE HRESULT IShellDispatch6_TileVertically(IShellDispatch6* This) {
  5833. return This->lpVtbl->TileVertically(This);
  5834. }
  5835. static FORCEINLINE HRESULT IShellDispatch6_TileHorizontally(IShellDispatch6* This) {
  5836. return This->lpVtbl->TileHorizontally(This);
  5837. }
  5838. static FORCEINLINE HRESULT IShellDispatch6_ShutdownWindows(IShellDispatch6* This) {
  5839. return This->lpVtbl->ShutdownWindows(This);
  5840. }
  5841. static FORCEINLINE HRESULT IShellDispatch6_Suspend(IShellDispatch6* This) {
  5842. return This->lpVtbl->Suspend(This);
  5843. }
  5844. static FORCEINLINE HRESULT IShellDispatch6_EjectPC(IShellDispatch6* This) {
  5845. return This->lpVtbl->EjectPC(This);
  5846. }
  5847. static FORCEINLINE HRESULT IShellDispatch6_SetTime(IShellDispatch6* This) {
  5848. return This->lpVtbl->SetTime(This);
  5849. }
  5850. static FORCEINLINE HRESULT IShellDispatch6_TrayProperties(IShellDispatch6* This) {
  5851. return This->lpVtbl->TrayProperties(This);
  5852. }
  5853. static FORCEINLINE HRESULT IShellDispatch6_Help(IShellDispatch6* This) {
  5854. return This->lpVtbl->Help(This);
  5855. }
  5856. static FORCEINLINE HRESULT IShellDispatch6_FindFiles(IShellDispatch6* This) {
  5857. return This->lpVtbl->FindFiles(This);
  5858. }
  5859. static FORCEINLINE HRESULT IShellDispatch6_FindComputer(IShellDispatch6* This) {
  5860. return This->lpVtbl->FindComputer(This);
  5861. }
  5862. static FORCEINLINE HRESULT IShellDispatch6_RefreshMenu(IShellDispatch6* This) {
  5863. return This->lpVtbl->RefreshMenu(This);
  5864. }
  5865. static FORCEINLINE HRESULT IShellDispatch6_ControlPanelItem(IShellDispatch6* This,BSTR bstrDir) {
  5866. return This->lpVtbl->ControlPanelItem(This,bstrDir);
  5867. }
  5868. /*** IShellDispatch2 methods ***/
  5869. static FORCEINLINE HRESULT IShellDispatch6_IsRestricted(IShellDispatch6* This,BSTR Group,BSTR Restriction,LONG *plRestrictValue) {
  5870. return This->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue);
  5871. }
  5872. static FORCEINLINE HRESULT IShellDispatch6_ShellExecute(IShellDispatch6* This,BSTR File,VARIANT vArgs,VARIANT vDir,VARIANT vOperation,VARIANT vShow) {
  5873. return This->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow);
  5874. }
  5875. static FORCEINLINE HRESULT IShellDispatch6_FindPrinter(IShellDispatch6* This,BSTR name,BSTR location,BSTR model) {
  5876. return This->lpVtbl->FindPrinter(This,name,location,model);
  5877. }
  5878. static FORCEINLINE HRESULT IShellDispatch6_GetSystemInformation(IShellDispatch6* This,BSTR name,VARIANT *pv) {
  5879. return This->lpVtbl->GetSystemInformation(This,name,pv);
  5880. }
  5881. static FORCEINLINE HRESULT IShellDispatch6_ServiceStart(IShellDispatch6* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
  5882. return This->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess);
  5883. }
  5884. static FORCEINLINE HRESULT IShellDispatch6_ServiceStop(IShellDispatch6* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
  5885. return This->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess);
  5886. }
  5887. static FORCEINLINE HRESULT IShellDispatch6_IsServiceRunning(IShellDispatch6* This,BSTR ServiceName,VARIANT *pRunning) {
  5888. return This->lpVtbl->IsServiceRunning(This,ServiceName,pRunning);
  5889. }
  5890. static FORCEINLINE HRESULT IShellDispatch6_CanStartStopService(IShellDispatch6* This,BSTR ServiceName,VARIANT *pCanStartStop) {
  5891. return This->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop);
  5892. }
  5893. static FORCEINLINE HRESULT IShellDispatch6_ShowBrowserBar(IShellDispatch6* This,BSTR bstrClsid,VARIANT bShow,VARIANT *pSuccess) {
  5894. return This->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess);
  5895. }
  5896. /*** IShellDispatch3 methods ***/
  5897. static FORCEINLINE HRESULT IShellDispatch6_AddToRecent(IShellDispatch6* This,VARIANT varFile,BSTR bstrCategory) {
  5898. return This->lpVtbl->AddToRecent(This,varFile,bstrCategory);
  5899. }
  5900. /*** IShellDispatch4 methods ***/
  5901. static FORCEINLINE HRESULT IShellDispatch6_WindowsSecurity(IShellDispatch6* This) {
  5902. return This->lpVtbl->WindowsSecurity(This);
  5903. }
  5904. static FORCEINLINE HRESULT IShellDispatch6_ToggleDesktop(IShellDispatch6* This) {
  5905. return This->lpVtbl->ToggleDesktop(This);
  5906. }
  5907. static FORCEINLINE HRESULT IShellDispatch6_ExplorerPolicy(IShellDispatch6* This,BSTR bstrPolicyName,VARIANT *pValue) {
  5908. return This->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue);
  5909. }
  5910. static FORCEINLINE HRESULT IShellDispatch6_GetSetting(IShellDispatch6* This,LONG lSetting,VARIANT_BOOL *pResult) {
  5911. return This->lpVtbl->GetSetting(This,lSetting,pResult);
  5912. }
  5913. /*** IShellDispatch5 methods ***/
  5914. static FORCEINLINE HRESULT IShellDispatch6_WindowSwitcher(IShellDispatch6* This) {
  5915. return This->lpVtbl->WindowSwitcher(This);
  5916. }
  5917. /*** IShellDispatch6 methods ***/
  5918. static FORCEINLINE HRESULT IShellDispatch6_SearchCommand(IShellDispatch6* This) {
  5919. return This->lpVtbl->SearchCommand(This);
  5920. }
  5921. #endif
  5922. #endif
  5923. #endif
  5924. #endif /* __IShellDispatch6_INTERFACE_DEFINED__ */
  5925. #endif
  5926. /*****************************************************************************
  5927. * Shell coclass
  5928. */
  5929. DEFINE_GUID(CLSID_Shell, 0x13709620, 0xc279, 0x11ce, 0xa4,0x9e, 0x44,0x45,0x53,0x54,0x00,0x00);
  5930. #ifdef __cplusplus
  5931. class DECLSPEC_UUID("13709620-c279-11ce-a49e-444553540000") Shell;
  5932. #ifdef __CRT_UUID_DECL
  5933. __CRT_UUID_DECL(Shell, 0x13709620, 0xc279, 0x11ce, 0xa4,0x9e, 0x44,0x45,0x53,0x54,0x00,0x00)
  5934. #endif
  5935. #endif
  5936. /*****************************************************************************
  5937. * ShellDispatchInproc coclass
  5938. */
  5939. DEFINE_GUID(CLSID_ShellDispatchInproc, 0x0a89a860, 0xd7b1, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00);
  5940. #ifdef __cplusplus
  5941. class DECLSPEC_UUID("0a89a860-d7b1-11ce-8350-444553540000") ShellDispatchInproc;
  5942. #ifdef __CRT_UUID_DECL
  5943. __CRT_UUID_DECL(ShellDispatchInproc, 0x0a89a860, 0xd7b1, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00)
  5944. #endif
  5945. #endif
  5946. typedef enum ShellSpecialFolderConstants {
  5947. ssfDESKTOP = 0x0,
  5948. ssfPROGRAMS = 0x2,
  5949. ssfCONTROLS = 0x3,
  5950. ssfPRINTERS = 0x4,
  5951. ssfPERSONAL = 0x5,
  5952. ssfFAVORITES = 0x6,
  5953. ssfSTARTUP = 0x7,
  5954. ssfRECENT = 0x8,
  5955. ssfSENDTO = 0x9,
  5956. ssfBITBUCKET = 0xa,
  5957. ssfSTARTMENU = 0xb,
  5958. ssfDESKTOPDIRECTORY = 0x10,
  5959. ssfDRIVES = 0x11,
  5960. ssfNETWORK = 0x12,
  5961. ssfNETHOOD = 0x13,
  5962. ssfFONTS = 0x14,
  5963. ssfTEMPLATES = 0x15,
  5964. ssfCOMMONSTARTMENU = 0x16,
  5965. ssfCOMMONPROGRAMS = 0x17,
  5966. ssfCOMMONSTARTUP = 0x18,
  5967. ssfCOMMONDESKTOPDIR = 0x19,
  5968. ssfAPPDATA = 0x1a,
  5969. ssfPRINTHOOD = 0x1b,
  5970. ssfLOCALAPPDATA = 0x1c,
  5971. ssfALTSTARTUP = 0x1d,
  5972. ssfCOMMONALTSTARTUP = 0x1e,
  5973. ssfCOMMONFAVORITES = 0x1f,
  5974. ssfINTERNETCACHE = 0x20,
  5975. ssfCOOKIES = 0x21,
  5976. ssfHISTORY = 0x22,
  5977. ssfCOMMONAPPDATA = 0x23,
  5978. ssfWINDOWS = 0x24,
  5979. ssfSYSTEM = 0x25,
  5980. ssfPROGRAMFILES = 0x26,
  5981. ssfMYPICTURES = 0x27,
  5982. ssfPROFILE = 0x28,
  5983. ssfSYSTEMx86 = 0x29,
  5984. ssfPROGRAMFILESx86 = 0x30
  5985. } ShellSpecialFolderConstants;
  5986. /*****************************************************************************
  5987. * IFileSearchBand interface
  5988. */
  5989. #ifndef __IFileSearchBand_INTERFACE_DEFINED__
  5990. #define __IFileSearchBand_INTERFACE_DEFINED__
  5991. DEFINE_GUID(IID_IFileSearchBand, 0x2d91eea1, 0x9932, 0x11d2, 0xbe,0x86, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1);
  5992. #if defined(__cplusplus) && !defined(CINTERFACE)
  5993. MIDL_INTERFACE("2d91eea1-9932-11d2-be86-00a0c9a83da1")
  5994. IFileSearchBand : public IDispatch
  5995. {
  5996. virtual HRESULT STDMETHODCALLTYPE SetFocus(
  5997. ) = 0;
  5998. virtual HRESULT STDMETHODCALLTYPE SetSearchParameters(
  5999. BSTR *pbstrSearchID,
  6000. VARIANT_BOOL bNavToResults,
  6001. VARIANT *pvarScope,
  6002. VARIANT *pvarQueryFile) = 0;
  6003. virtual HRESULT STDMETHODCALLTYPE get_SearchID(
  6004. BSTR *pbstrSearchID) = 0;
  6005. virtual HRESULT STDMETHODCALLTYPE get_Scope(
  6006. VARIANT *pvarScope) = 0;
  6007. virtual HRESULT STDMETHODCALLTYPE get_QueryFile(
  6008. VARIANT *pvarFile) = 0;
  6009. };
  6010. #ifdef __CRT_UUID_DECL
  6011. __CRT_UUID_DECL(IFileSearchBand, 0x2d91eea1, 0x9932, 0x11d2, 0xbe,0x86, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1)
  6012. #endif
  6013. #else
  6014. typedef struct IFileSearchBandVtbl {
  6015. BEGIN_INTERFACE
  6016. /*** IUnknown methods ***/
  6017. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6018. IFileSearchBand *This,
  6019. REFIID riid,
  6020. void **ppvObject);
  6021. ULONG (STDMETHODCALLTYPE *AddRef)(
  6022. IFileSearchBand *This);
  6023. ULONG (STDMETHODCALLTYPE *Release)(
  6024. IFileSearchBand *This);
  6025. /*** IDispatch methods ***/
  6026. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  6027. IFileSearchBand *This,
  6028. UINT *pctinfo);
  6029. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  6030. IFileSearchBand *This,
  6031. UINT iTInfo,
  6032. LCID lcid,
  6033. ITypeInfo **ppTInfo);
  6034. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  6035. IFileSearchBand *This,
  6036. REFIID riid,
  6037. LPOLESTR *rgszNames,
  6038. UINT cNames,
  6039. LCID lcid,
  6040. DISPID *rgDispId);
  6041. HRESULT (STDMETHODCALLTYPE *Invoke)(
  6042. IFileSearchBand *This,
  6043. DISPID dispIdMember,
  6044. REFIID riid,
  6045. LCID lcid,
  6046. WORD wFlags,
  6047. DISPPARAMS *pDispParams,
  6048. VARIANT *pVarResult,
  6049. EXCEPINFO *pExcepInfo,
  6050. UINT *puArgErr);
  6051. /*** IFileSearchBand methods ***/
  6052. HRESULT (STDMETHODCALLTYPE *SetFocus)(
  6053. IFileSearchBand *This);
  6054. HRESULT (STDMETHODCALLTYPE *SetSearchParameters)(
  6055. IFileSearchBand *This,
  6056. BSTR *pbstrSearchID,
  6057. VARIANT_BOOL bNavToResults,
  6058. VARIANT *pvarScope,
  6059. VARIANT *pvarQueryFile);
  6060. HRESULT (STDMETHODCALLTYPE *get_SearchID)(
  6061. IFileSearchBand *This,
  6062. BSTR *pbstrSearchID);
  6063. HRESULT (STDMETHODCALLTYPE *get_Scope)(
  6064. IFileSearchBand *This,
  6065. VARIANT *pvarScope);
  6066. HRESULT (STDMETHODCALLTYPE *get_QueryFile)(
  6067. IFileSearchBand *This,
  6068. VARIANT *pvarFile);
  6069. END_INTERFACE
  6070. } IFileSearchBandVtbl;
  6071. interface IFileSearchBand {
  6072. CONST_VTBL IFileSearchBandVtbl* lpVtbl;
  6073. };
  6074. #ifdef COBJMACROS
  6075. #ifndef WIDL_C_INLINE_WRAPPERS
  6076. /*** IUnknown methods ***/
  6077. #define IFileSearchBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6078. #define IFileSearchBand_AddRef(This) (This)->lpVtbl->AddRef(This)
  6079. #define IFileSearchBand_Release(This) (This)->lpVtbl->Release(This)
  6080. /*** IDispatch methods ***/
  6081. #define IFileSearchBand_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  6082. #define IFileSearchBand_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  6083. #define IFileSearchBand_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  6084. #define IFileSearchBand_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  6085. /*** IFileSearchBand methods ***/
  6086. #define IFileSearchBand_SetFocus(This) (This)->lpVtbl->SetFocus(This)
  6087. #define IFileSearchBand_SetSearchParameters(This,pbstrSearchID,bNavToResults,pvarScope,pvarQueryFile) (This)->lpVtbl->SetSearchParameters(This,pbstrSearchID,bNavToResults,pvarScope,pvarQueryFile)
  6088. #define IFileSearchBand_get_SearchID(This,pbstrSearchID) (This)->lpVtbl->get_SearchID(This,pbstrSearchID)
  6089. #define IFileSearchBand_get_Scope(This,pvarScope) (This)->lpVtbl->get_Scope(This,pvarScope)
  6090. #define IFileSearchBand_get_QueryFile(This,pvarFile) (This)->lpVtbl->get_QueryFile(This,pvarFile)
  6091. #else
  6092. /*** IUnknown methods ***/
  6093. static FORCEINLINE HRESULT IFileSearchBand_QueryInterface(IFileSearchBand* This,REFIID riid,void **ppvObject) {
  6094. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6095. }
  6096. static FORCEINLINE ULONG IFileSearchBand_AddRef(IFileSearchBand* This) {
  6097. return This->lpVtbl->AddRef(This);
  6098. }
  6099. static FORCEINLINE ULONG IFileSearchBand_Release(IFileSearchBand* This) {
  6100. return This->lpVtbl->Release(This);
  6101. }
  6102. /*** IDispatch methods ***/
  6103. static FORCEINLINE HRESULT IFileSearchBand_GetTypeInfoCount(IFileSearchBand* This,UINT *pctinfo) {
  6104. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  6105. }
  6106. static FORCEINLINE HRESULT IFileSearchBand_GetTypeInfo(IFileSearchBand* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  6107. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  6108. }
  6109. static FORCEINLINE HRESULT IFileSearchBand_GetIDsOfNames(IFileSearchBand* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  6110. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  6111. }
  6112. static FORCEINLINE HRESULT IFileSearchBand_Invoke(IFileSearchBand* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  6113. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  6114. }
  6115. /*** IFileSearchBand methods ***/
  6116. static FORCEINLINE HRESULT IFileSearchBand_SetFocus(IFileSearchBand* This) {
  6117. return This->lpVtbl->SetFocus(This);
  6118. }
  6119. static FORCEINLINE HRESULT IFileSearchBand_SetSearchParameters(IFileSearchBand* This,BSTR *pbstrSearchID,VARIANT_BOOL bNavToResults,VARIANT *pvarScope,VARIANT *pvarQueryFile) {
  6120. return This->lpVtbl->SetSearchParameters(This,pbstrSearchID,bNavToResults,pvarScope,pvarQueryFile);
  6121. }
  6122. static FORCEINLINE HRESULT IFileSearchBand_get_SearchID(IFileSearchBand* This,BSTR *pbstrSearchID) {
  6123. return This->lpVtbl->get_SearchID(This,pbstrSearchID);
  6124. }
  6125. static FORCEINLINE HRESULT IFileSearchBand_get_Scope(IFileSearchBand* This,VARIANT *pvarScope) {
  6126. return This->lpVtbl->get_Scope(This,pvarScope);
  6127. }
  6128. static FORCEINLINE HRESULT IFileSearchBand_get_QueryFile(IFileSearchBand* This,VARIANT *pvarFile) {
  6129. return This->lpVtbl->get_QueryFile(This,pvarFile);
  6130. }
  6131. #endif
  6132. #endif
  6133. #endif
  6134. #endif /* __IFileSearchBand_INTERFACE_DEFINED__ */
  6135. /*****************************************************************************
  6136. * FileSearchBand coclass
  6137. */
  6138. DEFINE_GUID(CLSID_FileSearchBand, 0xc4ee31f3, 0x4768, 0x11d2, 0xbe,0x5c, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1);
  6139. #ifdef __cplusplus
  6140. class DECLSPEC_UUID("c4ee31f3-4768-11d2-be5c-00a0c9a83da1") FileSearchBand;
  6141. #ifdef __CRT_UUID_DECL
  6142. __CRT_UUID_DECL(FileSearchBand, 0xc4ee31f3, 0x4768, 0x11d2, 0xbe,0x5c, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1)
  6143. #endif
  6144. #endif
  6145. /*****************************************************************************
  6146. * IWebWizardHost interface
  6147. */
  6148. #ifndef __IWebWizardHost_INTERFACE_DEFINED__
  6149. #define __IWebWizardHost_INTERFACE_DEFINED__
  6150. DEFINE_GUID(IID_IWebWizardHost, 0x18bcc359, 0x4990, 0x4bfb, 0xb9,0x51, 0x3c,0x83,0x70,0x2b,0xe5,0xf9);
  6151. #if defined(__cplusplus) && !defined(CINTERFACE)
  6152. MIDL_INTERFACE("18bcc359-4990-4bfb-b951-3c83702be5f9")
  6153. IWebWizardHost : public IDispatch
  6154. {
  6155. virtual HRESULT STDMETHODCALLTYPE FinalBack(
  6156. ) = 0;
  6157. virtual HRESULT STDMETHODCALLTYPE FinalNext(
  6158. ) = 0;
  6159. virtual HRESULT STDMETHODCALLTYPE Cancel(
  6160. ) = 0;
  6161. virtual HRESULT STDMETHODCALLTYPE put_Caption(
  6162. BSTR bstrCaption) = 0;
  6163. virtual HRESULT STDMETHODCALLTYPE get_Caption(
  6164. BSTR *pbstrCaption) = 0;
  6165. virtual HRESULT STDMETHODCALLTYPE put_Property(
  6166. BSTR bstrPropertyName,
  6167. VARIANT *pvProperty) = 0;
  6168. virtual HRESULT STDMETHODCALLTYPE get_Property(
  6169. BSTR bstrPropertyName,
  6170. VARIANT *pvProperty) = 0;
  6171. virtual HRESULT STDMETHODCALLTYPE SetWizardButtons(
  6172. VARIANT_BOOL vfEnableBack,
  6173. VARIANT_BOOL vfEnableNext,
  6174. VARIANT_BOOL vfLastPage) = 0;
  6175. virtual HRESULT STDMETHODCALLTYPE SetHeaderText(
  6176. BSTR bstrHeaderTitle,
  6177. BSTR bstrHeaderSubtitle) = 0;
  6178. };
  6179. #ifdef __CRT_UUID_DECL
  6180. __CRT_UUID_DECL(IWebWizardHost, 0x18bcc359, 0x4990, 0x4bfb, 0xb9,0x51, 0x3c,0x83,0x70,0x2b,0xe5,0xf9)
  6181. #endif
  6182. #else
  6183. typedef struct IWebWizardHostVtbl {
  6184. BEGIN_INTERFACE
  6185. /*** IUnknown methods ***/
  6186. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6187. IWebWizardHost *This,
  6188. REFIID riid,
  6189. void **ppvObject);
  6190. ULONG (STDMETHODCALLTYPE *AddRef)(
  6191. IWebWizardHost *This);
  6192. ULONG (STDMETHODCALLTYPE *Release)(
  6193. IWebWizardHost *This);
  6194. /*** IDispatch methods ***/
  6195. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  6196. IWebWizardHost *This,
  6197. UINT *pctinfo);
  6198. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  6199. IWebWizardHost *This,
  6200. UINT iTInfo,
  6201. LCID lcid,
  6202. ITypeInfo **ppTInfo);
  6203. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  6204. IWebWizardHost *This,
  6205. REFIID riid,
  6206. LPOLESTR *rgszNames,
  6207. UINT cNames,
  6208. LCID lcid,
  6209. DISPID *rgDispId);
  6210. HRESULT (STDMETHODCALLTYPE *Invoke)(
  6211. IWebWizardHost *This,
  6212. DISPID dispIdMember,
  6213. REFIID riid,
  6214. LCID lcid,
  6215. WORD wFlags,
  6216. DISPPARAMS *pDispParams,
  6217. VARIANT *pVarResult,
  6218. EXCEPINFO *pExcepInfo,
  6219. UINT *puArgErr);
  6220. /*** IWebWizardHost methods ***/
  6221. HRESULT (STDMETHODCALLTYPE *FinalBack)(
  6222. IWebWizardHost *This);
  6223. HRESULT (STDMETHODCALLTYPE *FinalNext)(
  6224. IWebWizardHost *This);
  6225. HRESULT (STDMETHODCALLTYPE *Cancel)(
  6226. IWebWizardHost *This);
  6227. HRESULT (STDMETHODCALLTYPE *put_Caption)(
  6228. IWebWizardHost *This,
  6229. BSTR bstrCaption);
  6230. HRESULT (STDMETHODCALLTYPE *get_Caption)(
  6231. IWebWizardHost *This,
  6232. BSTR *pbstrCaption);
  6233. HRESULT (STDMETHODCALLTYPE *put_Property)(
  6234. IWebWizardHost *This,
  6235. BSTR bstrPropertyName,
  6236. VARIANT *pvProperty);
  6237. HRESULT (STDMETHODCALLTYPE *get_Property)(
  6238. IWebWizardHost *This,
  6239. BSTR bstrPropertyName,
  6240. VARIANT *pvProperty);
  6241. HRESULT (STDMETHODCALLTYPE *SetWizardButtons)(
  6242. IWebWizardHost *This,
  6243. VARIANT_BOOL vfEnableBack,
  6244. VARIANT_BOOL vfEnableNext,
  6245. VARIANT_BOOL vfLastPage);
  6246. HRESULT (STDMETHODCALLTYPE *SetHeaderText)(
  6247. IWebWizardHost *This,
  6248. BSTR bstrHeaderTitle,
  6249. BSTR bstrHeaderSubtitle);
  6250. END_INTERFACE
  6251. } IWebWizardHostVtbl;
  6252. interface IWebWizardHost {
  6253. CONST_VTBL IWebWizardHostVtbl* lpVtbl;
  6254. };
  6255. #ifdef COBJMACROS
  6256. #ifndef WIDL_C_INLINE_WRAPPERS
  6257. /*** IUnknown methods ***/
  6258. #define IWebWizardHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6259. #define IWebWizardHost_AddRef(This) (This)->lpVtbl->AddRef(This)
  6260. #define IWebWizardHost_Release(This) (This)->lpVtbl->Release(This)
  6261. /*** IDispatch methods ***/
  6262. #define IWebWizardHost_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  6263. #define IWebWizardHost_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  6264. #define IWebWizardHost_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  6265. #define IWebWizardHost_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  6266. /*** IWebWizardHost methods ***/
  6267. #define IWebWizardHost_FinalBack(This) (This)->lpVtbl->FinalBack(This)
  6268. #define IWebWizardHost_FinalNext(This) (This)->lpVtbl->FinalNext(This)
  6269. #define IWebWizardHost_Cancel(This) (This)->lpVtbl->Cancel(This)
  6270. #define IWebWizardHost_put_Caption(This,bstrCaption) (This)->lpVtbl->put_Caption(This,bstrCaption)
  6271. #define IWebWizardHost_get_Caption(This,pbstrCaption) (This)->lpVtbl->get_Caption(This,pbstrCaption)
  6272. #define IWebWizardHost_put_Property(This,bstrPropertyName,pvProperty) (This)->lpVtbl->put_Property(This,bstrPropertyName,pvProperty)
  6273. #define IWebWizardHost_get_Property(This,bstrPropertyName,pvProperty) (This)->lpVtbl->get_Property(This,bstrPropertyName,pvProperty)
  6274. #define IWebWizardHost_SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage) (This)->lpVtbl->SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage)
  6275. #define IWebWizardHost_SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle) (This)->lpVtbl->SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle)
  6276. #else
  6277. /*** IUnknown methods ***/
  6278. static FORCEINLINE HRESULT IWebWizardHost_QueryInterface(IWebWizardHost* This,REFIID riid,void **ppvObject) {
  6279. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6280. }
  6281. static FORCEINLINE ULONG IWebWizardHost_AddRef(IWebWizardHost* This) {
  6282. return This->lpVtbl->AddRef(This);
  6283. }
  6284. static FORCEINLINE ULONG IWebWizardHost_Release(IWebWizardHost* This) {
  6285. return This->lpVtbl->Release(This);
  6286. }
  6287. /*** IDispatch methods ***/
  6288. static FORCEINLINE HRESULT IWebWizardHost_GetTypeInfoCount(IWebWizardHost* This,UINT *pctinfo) {
  6289. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  6290. }
  6291. static FORCEINLINE HRESULT IWebWizardHost_GetTypeInfo(IWebWizardHost* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  6292. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  6293. }
  6294. static FORCEINLINE HRESULT IWebWizardHost_GetIDsOfNames(IWebWizardHost* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  6295. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  6296. }
  6297. static FORCEINLINE HRESULT IWebWizardHost_Invoke(IWebWizardHost* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  6298. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  6299. }
  6300. /*** IWebWizardHost methods ***/
  6301. static FORCEINLINE HRESULT IWebWizardHost_FinalBack(IWebWizardHost* This) {
  6302. return This->lpVtbl->FinalBack(This);
  6303. }
  6304. static FORCEINLINE HRESULT IWebWizardHost_FinalNext(IWebWizardHost* This) {
  6305. return This->lpVtbl->FinalNext(This);
  6306. }
  6307. static FORCEINLINE HRESULT IWebWizardHost_Cancel(IWebWizardHost* This) {
  6308. return This->lpVtbl->Cancel(This);
  6309. }
  6310. static FORCEINLINE HRESULT IWebWizardHost_put_Caption(IWebWizardHost* This,BSTR bstrCaption) {
  6311. return This->lpVtbl->put_Caption(This,bstrCaption);
  6312. }
  6313. static FORCEINLINE HRESULT IWebWizardHost_get_Caption(IWebWizardHost* This,BSTR *pbstrCaption) {
  6314. return This->lpVtbl->get_Caption(This,pbstrCaption);
  6315. }
  6316. static FORCEINLINE HRESULT IWebWizardHost_put_Property(IWebWizardHost* This,BSTR bstrPropertyName,VARIANT *pvProperty) {
  6317. return This->lpVtbl->put_Property(This,bstrPropertyName,pvProperty);
  6318. }
  6319. static FORCEINLINE HRESULT IWebWizardHost_get_Property(IWebWizardHost* This,BSTR bstrPropertyName,VARIANT *pvProperty) {
  6320. return This->lpVtbl->get_Property(This,bstrPropertyName,pvProperty);
  6321. }
  6322. static FORCEINLINE HRESULT IWebWizardHost_SetWizardButtons(IWebWizardHost* This,VARIANT_BOOL vfEnableBack,VARIANT_BOOL vfEnableNext,VARIANT_BOOL vfLastPage) {
  6323. return This->lpVtbl->SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage);
  6324. }
  6325. static FORCEINLINE HRESULT IWebWizardHost_SetHeaderText(IWebWizardHost* This,BSTR bstrHeaderTitle,BSTR bstrHeaderSubtitle) {
  6326. return This->lpVtbl->SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle);
  6327. }
  6328. #endif
  6329. #endif
  6330. #endif
  6331. #endif /* __IWebWizardHost_INTERFACE_DEFINED__ */
  6332. /*****************************************************************************
  6333. * INewWDEvents interface
  6334. */
  6335. #ifndef __INewWDEvents_INTERFACE_DEFINED__
  6336. #define __INewWDEvents_INTERFACE_DEFINED__
  6337. DEFINE_GUID(IID_INewWDEvents, 0x0751c551, 0x7568, 0x41c9, 0x8e,0x5b, 0xe2,0x2e,0x38,0x91,0x92,0x36);
  6338. #if defined(__cplusplus) && !defined(CINTERFACE)
  6339. MIDL_INTERFACE("0751c551-7568-41c9-8e5b-e22e38919236")
  6340. INewWDEvents : public IWebWizardHost
  6341. {
  6342. virtual HRESULT STDMETHODCALLTYPE PassportAuthenticate(
  6343. BSTR bstrSignInUrl,
  6344. VARIANT_BOOL *pvfAuthenitcated) = 0;
  6345. };
  6346. #ifdef __CRT_UUID_DECL
  6347. __CRT_UUID_DECL(INewWDEvents, 0x0751c551, 0x7568, 0x41c9, 0x8e,0x5b, 0xe2,0x2e,0x38,0x91,0x92,0x36)
  6348. #endif
  6349. #else
  6350. typedef struct INewWDEventsVtbl {
  6351. BEGIN_INTERFACE
  6352. /*** IUnknown methods ***/
  6353. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6354. INewWDEvents *This,
  6355. REFIID riid,
  6356. void **ppvObject);
  6357. ULONG (STDMETHODCALLTYPE *AddRef)(
  6358. INewWDEvents *This);
  6359. ULONG (STDMETHODCALLTYPE *Release)(
  6360. INewWDEvents *This);
  6361. /*** IDispatch methods ***/
  6362. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  6363. INewWDEvents *This,
  6364. UINT *pctinfo);
  6365. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  6366. INewWDEvents *This,
  6367. UINT iTInfo,
  6368. LCID lcid,
  6369. ITypeInfo **ppTInfo);
  6370. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  6371. INewWDEvents *This,
  6372. REFIID riid,
  6373. LPOLESTR *rgszNames,
  6374. UINT cNames,
  6375. LCID lcid,
  6376. DISPID *rgDispId);
  6377. HRESULT (STDMETHODCALLTYPE *Invoke)(
  6378. INewWDEvents *This,
  6379. DISPID dispIdMember,
  6380. REFIID riid,
  6381. LCID lcid,
  6382. WORD wFlags,
  6383. DISPPARAMS *pDispParams,
  6384. VARIANT *pVarResult,
  6385. EXCEPINFO *pExcepInfo,
  6386. UINT *puArgErr);
  6387. /*** IWebWizardHost methods ***/
  6388. HRESULT (STDMETHODCALLTYPE *FinalBack)(
  6389. INewWDEvents *This);
  6390. HRESULT (STDMETHODCALLTYPE *FinalNext)(
  6391. INewWDEvents *This);
  6392. HRESULT (STDMETHODCALLTYPE *Cancel)(
  6393. INewWDEvents *This);
  6394. HRESULT (STDMETHODCALLTYPE *put_Caption)(
  6395. INewWDEvents *This,
  6396. BSTR bstrCaption);
  6397. HRESULT (STDMETHODCALLTYPE *get_Caption)(
  6398. INewWDEvents *This,
  6399. BSTR *pbstrCaption);
  6400. HRESULT (STDMETHODCALLTYPE *put_Property)(
  6401. INewWDEvents *This,
  6402. BSTR bstrPropertyName,
  6403. VARIANT *pvProperty);
  6404. HRESULT (STDMETHODCALLTYPE *get_Property)(
  6405. INewWDEvents *This,
  6406. BSTR bstrPropertyName,
  6407. VARIANT *pvProperty);
  6408. HRESULT (STDMETHODCALLTYPE *SetWizardButtons)(
  6409. INewWDEvents *This,
  6410. VARIANT_BOOL vfEnableBack,
  6411. VARIANT_BOOL vfEnableNext,
  6412. VARIANT_BOOL vfLastPage);
  6413. HRESULT (STDMETHODCALLTYPE *SetHeaderText)(
  6414. INewWDEvents *This,
  6415. BSTR bstrHeaderTitle,
  6416. BSTR bstrHeaderSubtitle);
  6417. /*** INewWDEvents methods ***/
  6418. HRESULT (STDMETHODCALLTYPE *PassportAuthenticate)(
  6419. INewWDEvents *This,
  6420. BSTR bstrSignInUrl,
  6421. VARIANT_BOOL *pvfAuthenitcated);
  6422. END_INTERFACE
  6423. } INewWDEventsVtbl;
  6424. interface INewWDEvents {
  6425. CONST_VTBL INewWDEventsVtbl* lpVtbl;
  6426. };
  6427. #ifdef COBJMACROS
  6428. #ifndef WIDL_C_INLINE_WRAPPERS
  6429. /*** IUnknown methods ***/
  6430. #define INewWDEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6431. #define INewWDEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  6432. #define INewWDEvents_Release(This) (This)->lpVtbl->Release(This)
  6433. /*** IDispatch methods ***/
  6434. #define INewWDEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  6435. #define INewWDEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  6436. #define INewWDEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  6437. #define INewWDEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  6438. /*** IWebWizardHost methods ***/
  6439. #define INewWDEvents_FinalBack(This) (This)->lpVtbl->FinalBack(This)
  6440. #define INewWDEvents_FinalNext(This) (This)->lpVtbl->FinalNext(This)
  6441. #define INewWDEvents_Cancel(This) (This)->lpVtbl->Cancel(This)
  6442. #define INewWDEvents_put_Caption(This,bstrCaption) (This)->lpVtbl->put_Caption(This,bstrCaption)
  6443. #define INewWDEvents_get_Caption(This,pbstrCaption) (This)->lpVtbl->get_Caption(This,pbstrCaption)
  6444. #define INewWDEvents_put_Property(This,bstrPropertyName,pvProperty) (This)->lpVtbl->put_Property(This,bstrPropertyName,pvProperty)
  6445. #define INewWDEvents_get_Property(This,bstrPropertyName,pvProperty) (This)->lpVtbl->get_Property(This,bstrPropertyName,pvProperty)
  6446. #define INewWDEvents_SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage) (This)->lpVtbl->SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage)
  6447. #define INewWDEvents_SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle) (This)->lpVtbl->SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle)
  6448. /*** INewWDEvents methods ***/
  6449. #define INewWDEvents_PassportAuthenticate(This,bstrSignInUrl,pvfAuthenitcated) (This)->lpVtbl->PassportAuthenticate(This,bstrSignInUrl,pvfAuthenitcated)
  6450. #else
  6451. /*** IUnknown methods ***/
  6452. static FORCEINLINE HRESULT INewWDEvents_QueryInterface(INewWDEvents* This,REFIID riid,void **ppvObject) {
  6453. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6454. }
  6455. static FORCEINLINE ULONG INewWDEvents_AddRef(INewWDEvents* This) {
  6456. return This->lpVtbl->AddRef(This);
  6457. }
  6458. static FORCEINLINE ULONG INewWDEvents_Release(INewWDEvents* This) {
  6459. return This->lpVtbl->Release(This);
  6460. }
  6461. /*** IDispatch methods ***/
  6462. static FORCEINLINE HRESULT INewWDEvents_GetTypeInfoCount(INewWDEvents* This,UINT *pctinfo) {
  6463. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  6464. }
  6465. static FORCEINLINE HRESULT INewWDEvents_GetTypeInfo(INewWDEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  6466. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  6467. }
  6468. static FORCEINLINE HRESULT INewWDEvents_GetIDsOfNames(INewWDEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  6469. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  6470. }
  6471. static FORCEINLINE HRESULT INewWDEvents_Invoke(INewWDEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  6472. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  6473. }
  6474. /*** IWebWizardHost methods ***/
  6475. static FORCEINLINE HRESULT INewWDEvents_FinalBack(INewWDEvents* This) {
  6476. return This->lpVtbl->FinalBack(This);
  6477. }
  6478. static FORCEINLINE HRESULT INewWDEvents_FinalNext(INewWDEvents* This) {
  6479. return This->lpVtbl->FinalNext(This);
  6480. }
  6481. static FORCEINLINE HRESULT INewWDEvents_Cancel(INewWDEvents* This) {
  6482. return This->lpVtbl->Cancel(This);
  6483. }
  6484. static FORCEINLINE HRESULT INewWDEvents_put_Caption(INewWDEvents* This,BSTR bstrCaption) {
  6485. return This->lpVtbl->put_Caption(This,bstrCaption);
  6486. }
  6487. static FORCEINLINE HRESULT INewWDEvents_get_Caption(INewWDEvents* This,BSTR *pbstrCaption) {
  6488. return This->lpVtbl->get_Caption(This,pbstrCaption);
  6489. }
  6490. static FORCEINLINE HRESULT INewWDEvents_put_Property(INewWDEvents* This,BSTR bstrPropertyName,VARIANT *pvProperty) {
  6491. return This->lpVtbl->put_Property(This,bstrPropertyName,pvProperty);
  6492. }
  6493. static FORCEINLINE HRESULT INewWDEvents_get_Property(INewWDEvents* This,BSTR bstrPropertyName,VARIANT *pvProperty) {
  6494. return This->lpVtbl->get_Property(This,bstrPropertyName,pvProperty);
  6495. }
  6496. static FORCEINLINE HRESULT INewWDEvents_SetWizardButtons(INewWDEvents* This,VARIANT_BOOL vfEnableBack,VARIANT_BOOL vfEnableNext,VARIANT_BOOL vfLastPage) {
  6497. return This->lpVtbl->SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage);
  6498. }
  6499. static FORCEINLINE HRESULT INewWDEvents_SetHeaderText(INewWDEvents* This,BSTR bstrHeaderTitle,BSTR bstrHeaderSubtitle) {
  6500. return This->lpVtbl->SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle);
  6501. }
  6502. /*** INewWDEvents methods ***/
  6503. static FORCEINLINE HRESULT INewWDEvents_PassportAuthenticate(INewWDEvents* This,BSTR bstrSignInUrl,VARIANT_BOOL *pvfAuthenitcated) {
  6504. return This->lpVtbl->PassportAuthenticate(This,bstrSignInUrl,pvfAuthenitcated);
  6505. }
  6506. #endif
  6507. #endif
  6508. #endif
  6509. #endif /* __INewWDEvents_INTERFACE_DEFINED__ */
  6510. #endif /* __Shell32_LIBRARY_DEFINED__ */
  6511. /*****************************************************************************
  6512. * IAutoComplete interface
  6513. */
  6514. #ifndef __IAutoComplete_INTERFACE_DEFINED__
  6515. #define __IAutoComplete_INTERFACE_DEFINED__
  6516. typedef IAutoComplete *LPAUTOCOMPLETE;
  6517. DEFINE_GUID(IID_IAutoComplete, 0x00bb2762, 0x6a77, 0x11d0, 0xa5,0x35, 0x00,0xc0,0x4f,0xd7,0xd0,0x62);
  6518. #if defined(__cplusplus) && !defined(CINTERFACE)
  6519. MIDL_INTERFACE("00bb2762-6a77-11d0-a535-00c04fd7d062")
  6520. IAutoComplete : public IUnknown
  6521. {
  6522. virtual HRESULT STDMETHODCALLTYPE Init(
  6523. HWND hwndEdit,
  6524. IUnknown *punkACL,
  6525. LPCWSTR pwszRegKeyPath,
  6526. LPCWSTR pwszQuickComplete) = 0;
  6527. virtual HRESULT STDMETHODCALLTYPE Enable(
  6528. WINBOOL fEnable) = 0;
  6529. };
  6530. #ifdef __CRT_UUID_DECL
  6531. __CRT_UUID_DECL(IAutoComplete, 0x00bb2762, 0x6a77, 0x11d0, 0xa5,0x35, 0x00,0xc0,0x4f,0xd7,0xd0,0x62)
  6532. #endif
  6533. #else
  6534. typedef struct IAutoCompleteVtbl {
  6535. BEGIN_INTERFACE
  6536. /*** IUnknown methods ***/
  6537. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6538. IAutoComplete *This,
  6539. REFIID riid,
  6540. void **ppvObject);
  6541. ULONG (STDMETHODCALLTYPE *AddRef)(
  6542. IAutoComplete *This);
  6543. ULONG (STDMETHODCALLTYPE *Release)(
  6544. IAutoComplete *This);
  6545. /*** IAutoComplete methods ***/
  6546. HRESULT (STDMETHODCALLTYPE *Init)(
  6547. IAutoComplete *This,
  6548. HWND hwndEdit,
  6549. IUnknown *punkACL,
  6550. LPCWSTR pwszRegKeyPath,
  6551. LPCWSTR pwszQuickComplete);
  6552. HRESULT (STDMETHODCALLTYPE *Enable)(
  6553. IAutoComplete *This,
  6554. WINBOOL fEnable);
  6555. END_INTERFACE
  6556. } IAutoCompleteVtbl;
  6557. interface IAutoComplete {
  6558. CONST_VTBL IAutoCompleteVtbl* lpVtbl;
  6559. };
  6560. #ifdef COBJMACROS
  6561. #ifndef WIDL_C_INLINE_WRAPPERS
  6562. /*** IUnknown methods ***/
  6563. #define IAutoComplete_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6564. #define IAutoComplete_AddRef(This) (This)->lpVtbl->AddRef(This)
  6565. #define IAutoComplete_Release(This) (This)->lpVtbl->Release(This)
  6566. /*** IAutoComplete methods ***/
  6567. #define IAutoComplete_Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete) (This)->lpVtbl->Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete)
  6568. #define IAutoComplete_Enable(This,fEnable) (This)->lpVtbl->Enable(This,fEnable)
  6569. #else
  6570. /*** IUnknown methods ***/
  6571. static FORCEINLINE HRESULT IAutoComplete_QueryInterface(IAutoComplete* This,REFIID riid,void **ppvObject) {
  6572. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6573. }
  6574. static FORCEINLINE ULONG IAutoComplete_AddRef(IAutoComplete* This) {
  6575. return This->lpVtbl->AddRef(This);
  6576. }
  6577. static FORCEINLINE ULONG IAutoComplete_Release(IAutoComplete* This) {
  6578. return This->lpVtbl->Release(This);
  6579. }
  6580. /*** IAutoComplete methods ***/
  6581. static FORCEINLINE HRESULT IAutoComplete_Init(IAutoComplete* This,HWND hwndEdit,IUnknown *punkACL,LPCWSTR pwszRegKeyPath,LPCWSTR pwszQuickComplete) {
  6582. return This->lpVtbl->Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete);
  6583. }
  6584. static FORCEINLINE HRESULT IAutoComplete_Enable(IAutoComplete* This,WINBOOL fEnable) {
  6585. return This->lpVtbl->Enable(This,fEnable);
  6586. }
  6587. #endif
  6588. #endif
  6589. #endif
  6590. #endif /* __IAutoComplete_INTERFACE_DEFINED__ */
  6591. /*****************************************************************************
  6592. * IAutoComplete2 interface
  6593. */
  6594. #ifndef __IAutoComplete2_INTERFACE_DEFINED__
  6595. #define __IAutoComplete2_INTERFACE_DEFINED__
  6596. typedef IAutoComplete2 *LPAUTOCOMPLETE2;
  6597. typedef enum _tagAUTOCOMPLETEOPTIONS {
  6598. ACO_NONE = 0x0,
  6599. ACO_AUTOSUGGEST = 0x1,
  6600. ACO_AUTOAPPEND = 0x2,
  6601. ACO_SEARCH = 0x4,
  6602. ACO_FILTERPREFIXES = 0x8,
  6603. ACO_USETAB = 0x10,
  6604. ACO_UPDOWNKEYDROPSLIST = 0x20,
  6605. ACO_RTLREADING = 0x40,
  6606. ACO_WORD_FILTER = 0x80,
  6607. ACO_NOPREFIXFILTERING = 0x100
  6608. } AUTOCOMPLETEOPTIONS;
  6609. DEFINE_GUID(IID_IAutoComplete2, 0xeac04bc0, 0x3791, 0x11d2, 0xbb,0x95, 0x00,0x60,0x97,0x7b,0x46,0x4c);
  6610. #if defined(__cplusplus) && !defined(CINTERFACE)
  6611. MIDL_INTERFACE("eac04bc0-3791-11d2-bb95-0060977b464c")
  6612. IAutoComplete2 : public IAutoComplete
  6613. {
  6614. virtual HRESULT STDMETHODCALLTYPE SetOptions(
  6615. DWORD dwFlag) = 0;
  6616. virtual HRESULT STDMETHODCALLTYPE GetOptions(
  6617. DWORD *pdwFlag) = 0;
  6618. };
  6619. #ifdef __CRT_UUID_DECL
  6620. __CRT_UUID_DECL(IAutoComplete2, 0xeac04bc0, 0x3791, 0x11d2, 0xbb,0x95, 0x00,0x60,0x97,0x7b,0x46,0x4c)
  6621. #endif
  6622. #else
  6623. typedef struct IAutoComplete2Vtbl {
  6624. BEGIN_INTERFACE
  6625. /*** IUnknown methods ***/
  6626. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6627. IAutoComplete2 *This,
  6628. REFIID riid,
  6629. void **ppvObject);
  6630. ULONG (STDMETHODCALLTYPE *AddRef)(
  6631. IAutoComplete2 *This);
  6632. ULONG (STDMETHODCALLTYPE *Release)(
  6633. IAutoComplete2 *This);
  6634. /*** IAutoComplete methods ***/
  6635. HRESULT (STDMETHODCALLTYPE *Init)(
  6636. IAutoComplete2 *This,
  6637. HWND hwndEdit,
  6638. IUnknown *punkACL,
  6639. LPCWSTR pwszRegKeyPath,
  6640. LPCWSTR pwszQuickComplete);
  6641. HRESULT (STDMETHODCALLTYPE *Enable)(
  6642. IAutoComplete2 *This,
  6643. WINBOOL fEnable);
  6644. /*** IAutoComplete2 methods ***/
  6645. HRESULT (STDMETHODCALLTYPE *SetOptions)(
  6646. IAutoComplete2 *This,
  6647. DWORD dwFlag);
  6648. HRESULT (STDMETHODCALLTYPE *GetOptions)(
  6649. IAutoComplete2 *This,
  6650. DWORD *pdwFlag);
  6651. END_INTERFACE
  6652. } IAutoComplete2Vtbl;
  6653. interface IAutoComplete2 {
  6654. CONST_VTBL IAutoComplete2Vtbl* lpVtbl;
  6655. };
  6656. #ifdef COBJMACROS
  6657. #ifndef WIDL_C_INLINE_WRAPPERS
  6658. /*** IUnknown methods ***/
  6659. #define IAutoComplete2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6660. #define IAutoComplete2_AddRef(This) (This)->lpVtbl->AddRef(This)
  6661. #define IAutoComplete2_Release(This) (This)->lpVtbl->Release(This)
  6662. /*** IAutoComplete methods ***/
  6663. #define IAutoComplete2_Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete) (This)->lpVtbl->Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete)
  6664. #define IAutoComplete2_Enable(This,fEnable) (This)->lpVtbl->Enable(This,fEnable)
  6665. /*** IAutoComplete2 methods ***/
  6666. #define IAutoComplete2_SetOptions(This,dwFlag) (This)->lpVtbl->SetOptions(This,dwFlag)
  6667. #define IAutoComplete2_GetOptions(This,pdwFlag) (This)->lpVtbl->GetOptions(This,pdwFlag)
  6668. #else
  6669. /*** IUnknown methods ***/
  6670. static FORCEINLINE HRESULT IAutoComplete2_QueryInterface(IAutoComplete2* This,REFIID riid,void **ppvObject) {
  6671. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6672. }
  6673. static FORCEINLINE ULONG IAutoComplete2_AddRef(IAutoComplete2* This) {
  6674. return This->lpVtbl->AddRef(This);
  6675. }
  6676. static FORCEINLINE ULONG IAutoComplete2_Release(IAutoComplete2* This) {
  6677. return This->lpVtbl->Release(This);
  6678. }
  6679. /*** IAutoComplete methods ***/
  6680. static FORCEINLINE HRESULT IAutoComplete2_Init(IAutoComplete2* This,HWND hwndEdit,IUnknown *punkACL,LPCWSTR pwszRegKeyPath,LPCWSTR pwszQuickComplete) {
  6681. return This->lpVtbl->Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete);
  6682. }
  6683. static FORCEINLINE HRESULT IAutoComplete2_Enable(IAutoComplete2* This,WINBOOL fEnable) {
  6684. return This->lpVtbl->Enable(This,fEnable);
  6685. }
  6686. /*** IAutoComplete2 methods ***/
  6687. static FORCEINLINE HRESULT IAutoComplete2_SetOptions(IAutoComplete2* This,DWORD dwFlag) {
  6688. return This->lpVtbl->SetOptions(This,dwFlag);
  6689. }
  6690. static FORCEINLINE HRESULT IAutoComplete2_GetOptions(IAutoComplete2* This,DWORD *pdwFlag) {
  6691. return This->lpVtbl->GetOptions(This,pdwFlag);
  6692. }
  6693. #endif
  6694. #endif
  6695. #endif
  6696. #endif /* __IAutoComplete2_INTERFACE_DEFINED__ */
  6697. /*****************************************************************************
  6698. * IEnumACString interface
  6699. */
  6700. #ifndef __IEnumACString_INTERFACE_DEFINED__
  6701. #define __IEnumACString_INTERFACE_DEFINED__
  6702. typedef IEnumACString *PENUMACSTRING;
  6703. typedef IEnumACString *LPENUMACSTRING;
  6704. typedef enum _tagACENUMOPTION {
  6705. ACEO_NONE = 0x0,
  6706. ACEO_MOSTRECENTFIRST = 0x1,
  6707. ACEO_FIRSTUNUSED = 0x10000
  6708. } ACENUMOPTION;
  6709. DEFINE_GUID(IID_IEnumACString, 0x8e74c210, 0xcf9d, 0x4eaf, 0xa4,0x03, 0x73,0x56,0x42,0x8f,0x0a,0x5a);
  6710. #if defined(__cplusplus) && !defined(CINTERFACE)
  6711. MIDL_INTERFACE("8e74c210-cf9d-4eaf-a403-7356428f0a5a")
  6712. IEnumACString : public IEnumString
  6713. {
  6714. virtual HRESULT STDMETHODCALLTYPE NextItem(
  6715. LPWSTR pszUrl,
  6716. ULONG cchMax,
  6717. ULONG *pulSortIndex) = 0;
  6718. virtual HRESULT STDMETHODCALLTYPE SetEnumOptions(
  6719. DWORD dwOptions) = 0;
  6720. virtual HRESULT STDMETHODCALLTYPE GetEnumOptions(
  6721. DWORD *pdwOptions) = 0;
  6722. };
  6723. #ifdef __CRT_UUID_DECL
  6724. __CRT_UUID_DECL(IEnumACString, 0x8e74c210, 0xcf9d, 0x4eaf, 0xa4,0x03, 0x73,0x56,0x42,0x8f,0x0a,0x5a)
  6725. #endif
  6726. #else
  6727. typedef struct IEnumACStringVtbl {
  6728. BEGIN_INTERFACE
  6729. /*** IUnknown methods ***/
  6730. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6731. IEnumACString *This,
  6732. REFIID riid,
  6733. void **ppvObject);
  6734. ULONG (STDMETHODCALLTYPE *AddRef)(
  6735. IEnumACString *This);
  6736. ULONG (STDMETHODCALLTYPE *Release)(
  6737. IEnumACString *This);
  6738. /*** IEnumString methods ***/
  6739. HRESULT (STDMETHODCALLTYPE *Next)(
  6740. IEnumACString *This,
  6741. ULONG celt,
  6742. LPOLESTR *rgelt,
  6743. ULONG *pceltFetched);
  6744. HRESULT (STDMETHODCALLTYPE *Skip)(
  6745. IEnumACString *This,
  6746. ULONG celt);
  6747. HRESULT (STDMETHODCALLTYPE *Reset)(
  6748. IEnumACString *This);
  6749. HRESULT (STDMETHODCALLTYPE *Clone)(
  6750. IEnumACString *This,
  6751. IEnumString **ppenum);
  6752. /*** IEnumACString methods ***/
  6753. HRESULT (STDMETHODCALLTYPE *NextItem)(
  6754. IEnumACString *This,
  6755. LPWSTR pszUrl,
  6756. ULONG cchMax,
  6757. ULONG *pulSortIndex);
  6758. HRESULT (STDMETHODCALLTYPE *SetEnumOptions)(
  6759. IEnumACString *This,
  6760. DWORD dwOptions);
  6761. HRESULT (STDMETHODCALLTYPE *GetEnumOptions)(
  6762. IEnumACString *This,
  6763. DWORD *pdwOptions);
  6764. END_INTERFACE
  6765. } IEnumACStringVtbl;
  6766. interface IEnumACString {
  6767. CONST_VTBL IEnumACStringVtbl* lpVtbl;
  6768. };
  6769. #ifdef COBJMACROS
  6770. #ifndef WIDL_C_INLINE_WRAPPERS
  6771. /*** IUnknown methods ***/
  6772. #define IEnumACString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6773. #define IEnumACString_AddRef(This) (This)->lpVtbl->AddRef(This)
  6774. #define IEnumACString_Release(This) (This)->lpVtbl->Release(This)
  6775. /*** IEnumString methods ***/
  6776. #define IEnumACString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  6777. #define IEnumACString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  6778. #define IEnumACString_Reset(This) (This)->lpVtbl->Reset(This)
  6779. #define IEnumACString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  6780. /*** IEnumACString methods ***/
  6781. #define IEnumACString_NextItem(This,pszUrl,cchMax,pulSortIndex) (This)->lpVtbl->NextItem(This,pszUrl,cchMax,pulSortIndex)
  6782. #define IEnumACString_SetEnumOptions(This,dwOptions) (This)->lpVtbl->SetEnumOptions(This,dwOptions)
  6783. #define IEnumACString_GetEnumOptions(This,pdwOptions) (This)->lpVtbl->GetEnumOptions(This,pdwOptions)
  6784. #else
  6785. /*** IUnknown methods ***/
  6786. static FORCEINLINE HRESULT IEnumACString_QueryInterface(IEnumACString* This,REFIID riid,void **ppvObject) {
  6787. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6788. }
  6789. static FORCEINLINE ULONG IEnumACString_AddRef(IEnumACString* This) {
  6790. return This->lpVtbl->AddRef(This);
  6791. }
  6792. static FORCEINLINE ULONG IEnumACString_Release(IEnumACString* This) {
  6793. return This->lpVtbl->Release(This);
  6794. }
  6795. /*** IEnumString methods ***/
  6796. static FORCEINLINE HRESULT IEnumACString_Next(IEnumACString* This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched) {
  6797. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  6798. }
  6799. static FORCEINLINE HRESULT IEnumACString_Skip(IEnumACString* This,ULONG celt) {
  6800. return This->lpVtbl->Skip(This,celt);
  6801. }
  6802. static FORCEINLINE HRESULT IEnumACString_Reset(IEnumACString* This) {
  6803. return This->lpVtbl->Reset(This);
  6804. }
  6805. static FORCEINLINE HRESULT IEnumACString_Clone(IEnumACString* This,IEnumString **ppenum) {
  6806. return This->lpVtbl->Clone(This,ppenum);
  6807. }
  6808. /*** IEnumACString methods ***/
  6809. static FORCEINLINE HRESULT IEnumACString_NextItem(IEnumACString* This,LPWSTR pszUrl,ULONG cchMax,ULONG *pulSortIndex) {
  6810. return This->lpVtbl->NextItem(This,pszUrl,cchMax,pulSortIndex);
  6811. }
  6812. static FORCEINLINE HRESULT IEnumACString_SetEnumOptions(IEnumACString* This,DWORD dwOptions) {
  6813. return This->lpVtbl->SetEnumOptions(This,dwOptions);
  6814. }
  6815. static FORCEINLINE HRESULT IEnumACString_GetEnumOptions(IEnumACString* This,DWORD *pdwOptions) {
  6816. return This->lpVtbl->GetEnumOptions(This,pdwOptions);
  6817. }
  6818. #endif
  6819. #endif
  6820. #endif
  6821. #endif /* __IEnumACString_INTERFACE_DEFINED__ */
  6822. /*****************************************************************************
  6823. * IDataObjectAsyncCapability interface
  6824. */
  6825. #ifndef __IDataObjectAsyncCapability_INTERFACE_DEFINED__
  6826. #define __IDataObjectAsyncCapability_INTERFACE_DEFINED__
  6827. DEFINE_GUID(IID_IDataObjectAsyncCapability, 0x3d8b0590, 0xf691, 0x11d2, 0x8e,0xa9, 0x00,0x60,0x97,0xdf,0x5b,0xd4);
  6828. #if defined(__cplusplus) && !defined(CINTERFACE)
  6829. MIDL_INTERFACE("3d8b0590-f691-11d2-8ea9-006097df5bd4")
  6830. IDataObjectAsyncCapability : public IUnknown
  6831. {
  6832. virtual HRESULT STDMETHODCALLTYPE SetAsyncMode(
  6833. WINBOOL fDoOpAsync) = 0;
  6834. virtual HRESULT STDMETHODCALLTYPE GetAsyncMode(
  6835. WINBOOL *pfIsOpAsync) = 0;
  6836. virtual HRESULT STDMETHODCALLTYPE StartOperation(
  6837. IBindCtx *pbcReserved) = 0;
  6838. virtual HRESULT STDMETHODCALLTYPE InOperation(
  6839. WINBOOL *pfInAsyncOp) = 0;
  6840. virtual HRESULT STDMETHODCALLTYPE EndOperation(
  6841. HRESULT hResult,
  6842. IBindCtx *pbcReserved,
  6843. DWORD dwEffects) = 0;
  6844. };
  6845. #ifdef __CRT_UUID_DECL
  6846. __CRT_UUID_DECL(IDataObjectAsyncCapability, 0x3d8b0590, 0xf691, 0x11d2, 0x8e,0xa9, 0x00,0x60,0x97,0xdf,0x5b,0xd4)
  6847. #endif
  6848. #else
  6849. typedef struct IDataObjectAsyncCapabilityVtbl {
  6850. BEGIN_INTERFACE
  6851. /*** IUnknown methods ***/
  6852. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6853. IDataObjectAsyncCapability *This,
  6854. REFIID riid,
  6855. void **ppvObject);
  6856. ULONG (STDMETHODCALLTYPE *AddRef)(
  6857. IDataObjectAsyncCapability *This);
  6858. ULONG (STDMETHODCALLTYPE *Release)(
  6859. IDataObjectAsyncCapability *This);
  6860. /*** IDataObjectAsyncCapability methods ***/
  6861. HRESULT (STDMETHODCALLTYPE *SetAsyncMode)(
  6862. IDataObjectAsyncCapability *This,
  6863. WINBOOL fDoOpAsync);
  6864. HRESULT (STDMETHODCALLTYPE *GetAsyncMode)(
  6865. IDataObjectAsyncCapability *This,
  6866. WINBOOL *pfIsOpAsync);
  6867. HRESULT (STDMETHODCALLTYPE *StartOperation)(
  6868. IDataObjectAsyncCapability *This,
  6869. IBindCtx *pbcReserved);
  6870. HRESULT (STDMETHODCALLTYPE *InOperation)(
  6871. IDataObjectAsyncCapability *This,
  6872. WINBOOL *pfInAsyncOp);
  6873. HRESULT (STDMETHODCALLTYPE *EndOperation)(
  6874. IDataObjectAsyncCapability *This,
  6875. HRESULT hResult,
  6876. IBindCtx *pbcReserved,
  6877. DWORD dwEffects);
  6878. END_INTERFACE
  6879. } IDataObjectAsyncCapabilityVtbl;
  6880. interface IDataObjectAsyncCapability {
  6881. CONST_VTBL IDataObjectAsyncCapabilityVtbl* lpVtbl;
  6882. };
  6883. #ifdef COBJMACROS
  6884. #ifndef WIDL_C_INLINE_WRAPPERS
  6885. /*** IUnknown methods ***/
  6886. #define IDataObjectAsyncCapability_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6887. #define IDataObjectAsyncCapability_AddRef(This) (This)->lpVtbl->AddRef(This)
  6888. #define IDataObjectAsyncCapability_Release(This) (This)->lpVtbl->Release(This)
  6889. /*** IDataObjectAsyncCapability methods ***/
  6890. #define IDataObjectAsyncCapability_SetAsyncMode(This,fDoOpAsync) (This)->lpVtbl->SetAsyncMode(This,fDoOpAsync)
  6891. #define IDataObjectAsyncCapability_GetAsyncMode(This,pfIsOpAsync) (This)->lpVtbl->GetAsyncMode(This,pfIsOpAsync)
  6892. #define IDataObjectAsyncCapability_StartOperation(This,pbcReserved) (This)->lpVtbl->StartOperation(This,pbcReserved)
  6893. #define IDataObjectAsyncCapability_InOperation(This,pfInAsyncOp) (This)->lpVtbl->InOperation(This,pfInAsyncOp)
  6894. #define IDataObjectAsyncCapability_EndOperation(This,hResult,pbcReserved,dwEffects) (This)->lpVtbl->EndOperation(This,hResult,pbcReserved,dwEffects)
  6895. #else
  6896. /*** IUnknown methods ***/
  6897. static FORCEINLINE HRESULT IDataObjectAsyncCapability_QueryInterface(IDataObjectAsyncCapability* This,REFIID riid,void **ppvObject) {
  6898. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6899. }
  6900. static FORCEINLINE ULONG IDataObjectAsyncCapability_AddRef(IDataObjectAsyncCapability* This) {
  6901. return This->lpVtbl->AddRef(This);
  6902. }
  6903. static FORCEINLINE ULONG IDataObjectAsyncCapability_Release(IDataObjectAsyncCapability* This) {
  6904. return This->lpVtbl->Release(This);
  6905. }
  6906. /*** IDataObjectAsyncCapability methods ***/
  6907. static FORCEINLINE HRESULT IDataObjectAsyncCapability_SetAsyncMode(IDataObjectAsyncCapability* This,WINBOOL fDoOpAsync) {
  6908. return This->lpVtbl->SetAsyncMode(This,fDoOpAsync);
  6909. }
  6910. static FORCEINLINE HRESULT IDataObjectAsyncCapability_GetAsyncMode(IDataObjectAsyncCapability* This,WINBOOL *pfIsOpAsync) {
  6911. return This->lpVtbl->GetAsyncMode(This,pfIsOpAsync);
  6912. }
  6913. static FORCEINLINE HRESULT IDataObjectAsyncCapability_StartOperation(IDataObjectAsyncCapability* This,IBindCtx *pbcReserved) {
  6914. return This->lpVtbl->StartOperation(This,pbcReserved);
  6915. }
  6916. static FORCEINLINE HRESULT IDataObjectAsyncCapability_InOperation(IDataObjectAsyncCapability* This,WINBOOL *pfInAsyncOp) {
  6917. return This->lpVtbl->InOperation(This,pfInAsyncOp);
  6918. }
  6919. static FORCEINLINE HRESULT IDataObjectAsyncCapability_EndOperation(IDataObjectAsyncCapability* This,HRESULT hResult,IBindCtx *pbcReserved,DWORD dwEffects) {
  6920. return This->lpVtbl->EndOperation(This,hResult,pbcReserved,dwEffects);
  6921. }
  6922. #endif
  6923. #endif
  6924. #endif
  6925. #endif /* __IDataObjectAsyncCapability_INTERFACE_DEFINED__ */
  6926. #endif
  6927. /* Begin additional prototypes for all interfaces */
  6928. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  6929. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  6930. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  6931. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  6932. ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
  6933. unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
  6934. unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
  6935. void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
  6936. /* End additional prototypes */
  6937. #ifdef __cplusplus
  6938. }
  6939. #endif
  6940. #endif /* __shldisp_h__ */