wmp.h 391 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255
  1. /*** Autogenerated by WIDL 7.7 from include/wmp.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 __wmp_h__
  14. #define __wmp_h__
  15. /* Forward declarations */
  16. #ifndef __IWMPPlaylist_FWD_DEFINED__
  17. #define __IWMPPlaylist_FWD_DEFINED__
  18. typedef interface IWMPPlaylist IWMPPlaylist;
  19. #ifdef __cplusplus
  20. interface IWMPPlaylist;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IWMPMedia_FWD_DEFINED__
  24. #define __IWMPMedia_FWD_DEFINED__
  25. typedef interface IWMPMedia IWMPMedia;
  26. #ifdef __cplusplus
  27. interface IWMPMedia;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IWMPControls_FWD_DEFINED__
  31. #define __IWMPControls_FWD_DEFINED__
  32. typedef interface IWMPControls IWMPControls;
  33. #ifdef __cplusplus
  34. interface IWMPControls;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IWMPControls2_FWD_DEFINED__
  38. #define __IWMPControls2_FWD_DEFINED__
  39. typedef interface IWMPControls2 IWMPControls2;
  40. #ifdef __cplusplus
  41. interface IWMPControls2;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __IWMPRemoteMediaServices_FWD_DEFINED__
  45. #define __IWMPRemoteMediaServices_FWD_DEFINED__
  46. typedef interface IWMPRemoteMediaServices IWMPRemoteMediaServices;
  47. #ifdef __cplusplus
  48. interface IWMPRemoteMediaServices;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __IWMPSettings_FWD_DEFINED__
  52. #define __IWMPSettings_FWD_DEFINED__
  53. typedef interface IWMPSettings IWMPSettings;
  54. #ifdef __cplusplus
  55. interface IWMPSettings;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __IWMPStringCollection_FWD_DEFINED__
  59. #define __IWMPStringCollection_FWD_DEFINED__
  60. typedef interface IWMPStringCollection IWMPStringCollection;
  61. #ifdef __cplusplus
  62. interface IWMPStringCollection;
  63. #endif /* __cplusplus */
  64. #endif
  65. #ifndef __IWMPMediaCollection_FWD_DEFINED__
  66. #define __IWMPMediaCollection_FWD_DEFINED__
  67. typedef interface IWMPMediaCollection IWMPMediaCollection;
  68. #ifdef __cplusplus
  69. interface IWMPMediaCollection;
  70. #endif /* __cplusplus */
  71. #endif
  72. #ifndef __IWMPPlaylistArray_FWD_DEFINED__
  73. #define __IWMPPlaylistArray_FWD_DEFINED__
  74. typedef interface IWMPPlaylistArray IWMPPlaylistArray;
  75. #ifdef __cplusplus
  76. interface IWMPPlaylistArray;
  77. #endif /* __cplusplus */
  78. #endif
  79. #ifndef __IWMPPlaylistCollection_FWD_DEFINED__
  80. #define __IWMPPlaylistCollection_FWD_DEFINED__
  81. typedef interface IWMPPlaylistCollection IWMPPlaylistCollection;
  82. #ifdef __cplusplus
  83. interface IWMPPlaylistCollection;
  84. #endif /* __cplusplus */
  85. #endif
  86. #ifndef __IWMPNetwork_FWD_DEFINED__
  87. #define __IWMPNetwork_FWD_DEFINED__
  88. typedef interface IWMPNetwork IWMPNetwork;
  89. #ifdef __cplusplus
  90. interface IWMPNetwork;
  91. #endif /* __cplusplus */
  92. #endif
  93. #ifndef __IWMPCdrom_FWD_DEFINED__
  94. #define __IWMPCdrom_FWD_DEFINED__
  95. typedef interface IWMPCdrom IWMPCdrom;
  96. #ifdef __cplusplus
  97. interface IWMPCdrom;
  98. #endif /* __cplusplus */
  99. #endif
  100. #ifndef __IWMPCdromCollection_FWD_DEFINED__
  101. #define __IWMPCdromCollection_FWD_DEFINED__
  102. typedef interface IWMPCdromCollection IWMPCdromCollection;
  103. #ifdef __cplusplus
  104. interface IWMPCdromCollection;
  105. #endif /* __cplusplus */
  106. #endif
  107. #ifndef __IWMPDVD_FWD_DEFINED__
  108. #define __IWMPDVD_FWD_DEFINED__
  109. typedef interface IWMPDVD IWMPDVD;
  110. #ifdef __cplusplus
  111. interface IWMPDVD;
  112. #endif /* __cplusplus */
  113. #endif
  114. #ifndef __IWMPClosedCaption_FWD_DEFINED__
  115. #define __IWMPClosedCaption_FWD_DEFINED__
  116. typedef interface IWMPClosedCaption IWMPClosedCaption;
  117. #ifdef __cplusplus
  118. interface IWMPClosedCaption;
  119. #endif /* __cplusplus */
  120. #endif
  121. #ifndef __IWMPErrorItem_FWD_DEFINED__
  122. #define __IWMPErrorItem_FWD_DEFINED__
  123. typedef interface IWMPErrorItem IWMPErrorItem;
  124. #ifdef __cplusplus
  125. interface IWMPErrorItem;
  126. #endif /* __cplusplus */
  127. #endif
  128. #ifndef __IWMPMedia2_FWD_DEFINED__
  129. #define __IWMPMedia2_FWD_DEFINED__
  130. typedef interface IWMPMedia2 IWMPMedia2;
  131. #ifdef __cplusplus
  132. interface IWMPMedia2;
  133. #endif /* __cplusplus */
  134. #endif
  135. #ifndef __IWMPMedia3_FWD_DEFINED__
  136. #define __IWMPMedia3_FWD_DEFINED__
  137. typedef interface IWMPMedia3 IWMPMedia3;
  138. #ifdef __cplusplus
  139. interface IWMPMedia3;
  140. #endif /* __cplusplus */
  141. #endif
  142. #ifndef __IWMPError_FWD_DEFINED__
  143. #define __IWMPError_FWD_DEFINED__
  144. typedef interface IWMPError IWMPError;
  145. #ifdef __cplusplus
  146. interface IWMPError;
  147. #endif /* __cplusplus */
  148. #endif
  149. #ifndef __IWMPPlayerApplication_FWD_DEFINED__
  150. #define __IWMPPlayerApplication_FWD_DEFINED__
  151. typedef interface IWMPPlayerApplication IWMPPlayerApplication;
  152. #ifdef __cplusplus
  153. interface IWMPPlayerApplication;
  154. #endif /* __cplusplus */
  155. #endif
  156. #ifndef __IWMPCore_FWD_DEFINED__
  157. #define __IWMPCore_FWD_DEFINED__
  158. typedef interface IWMPCore IWMPCore;
  159. #ifdef __cplusplus
  160. interface IWMPCore;
  161. #endif /* __cplusplus */
  162. #endif
  163. #ifndef __IWMPCore2_FWD_DEFINED__
  164. #define __IWMPCore2_FWD_DEFINED__
  165. typedef interface IWMPCore2 IWMPCore2;
  166. #ifdef __cplusplus
  167. interface IWMPCore2;
  168. #endif /* __cplusplus */
  169. #endif
  170. #ifndef __IWMPCore3_FWD_DEFINED__
  171. #define __IWMPCore3_FWD_DEFINED__
  172. typedef interface IWMPCore3 IWMPCore3;
  173. #ifdef __cplusplus
  174. interface IWMPCore3;
  175. #endif /* __cplusplus */
  176. #endif
  177. #ifndef __IWMPPlayer4_FWD_DEFINED__
  178. #define __IWMPPlayer4_FWD_DEFINED__
  179. typedef interface IWMPPlayer4 IWMPPlayer4;
  180. #ifdef __cplusplus
  181. interface IWMPPlayer4;
  182. #endif /* __cplusplus */
  183. #endif
  184. #ifndef __IWMPPlayer_FWD_DEFINED__
  185. #define __IWMPPlayer_FWD_DEFINED__
  186. typedef interface IWMPPlayer IWMPPlayer;
  187. #ifdef __cplusplus
  188. interface IWMPPlayer;
  189. #endif /* __cplusplus */
  190. #endif
  191. #ifndef __IWMPSyncDevice_FWD_DEFINED__
  192. #define __IWMPSyncDevice_FWD_DEFINED__
  193. typedef interface IWMPSyncDevice IWMPSyncDevice;
  194. #ifdef __cplusplus
  195. interface IWMPSyncDevice;
  196. #endif /* __cplusplus */
  197. #endif
  198. #ifndef __IWMPSyncDevice2_FWD_DEFINED__
  199. #define __IWMPSyncDevice2_FWD_DEFINED__
  200. typedef interface IWMPSyncDevice2 IWMPSyncDevice2;
  201. #ifdef __cplusplus
  202. interface IWMPSyncDevice2;
  203. #endif /* __cplusplus */
  204. #endif
  205. #ifndef __IWMPCdromRip_FWD_DEFINED__
  206. #define __IWMPCdromRip_FWD_DEFINED__
  207. typedef interface IWMPCdromRip IWMPCdromRip;
  208. #ifdef __cplusplus
  209. interface IWMPCdromRip;
  210. #endif /* __cplusplus */
  211. #endif
  212. #ifndef __IWMPCdromBurn_FWD_DEFINED__
  213. #define __IWMPCdromBurn_FWD_DEFINED__
  214. typedef interface IWMPCdromBurn IWMPCdromBurn;
  215. #ifdef __cplusplus
  216. interface IWMPCdromBurn;
  217. #endif /* __cplusplus */
  218. #endif
  219. #ifndef __IWMPLibrary_FWD_DEFINED__
  220. #define __IWMPLibrary_FWD_DEFINED__
  221. typedef interface IWMPLibrary IWMPLibrary;
  222. #ifdef __cplusplus
  223. interface IWMPLibrary;
  224. #endif /* __cplusplus */
  225. #endif
  226. #ifndef __IWMPEvents_FWD_DEFINED__
  227. #define __IWMPEvents_FWD_DEFINED__
  228. typedef interface IWMPEvents IWMPEvents;
  229. #ifdef __cplusplus
  230. interface IWMPEvents;
  231. #endif /* __cplusplus */
  232. #endif
  233. #ifndef __IWMPEvents2_FWD_DEFINED__
  234. #define __IWMPEvents2_FWD_DEFINED__
  235. typedef interface IWMPEvents2 IWMPEvents2;
  236. #ifdef __cplusplus
  237. interface IWMPEvents2;
  238. #endif /* __cplusplus */
  239. #endif
  240. #ifndef __IWMPEvents3_FWD_DEFINED__
  241. #define __IWMPEvents3_FWD_DEFINED__
  242. typedef interface IWMPEvents3 IWMPEvents3;
  243. #ifdef __cplusplus
  244. interface IWMPEvents3;
  245. #endif /* __cplusplus */
  246. #endif
  247. #ifndef __IWMPEvents4_FWD_DEFINED__
  248. #define __IWMPEvents4_FWD_DEFINED__
  249. typedef interface IWMPEvents4 IWMPEvents4;
  250. #ifdef __cplusplus
  251. interface IWMPEvents4;
  252. #endif /* __cplusplus */
  253. #endif
  254. #ifndef ___WMPOCXEvents_FWD_DEFINED__
  255. #define ___WMPOCXEvents_FWD_DEFINED__
  256. typedef interface _WMPOCXEvents _WMPOCXEvents;
  257. #ifdef __cplusplus
  258. interface _WMPOCXEvents;
  259. #endif /* __cplusplus */
  260. #endif
  261. #ifndef __WindowsMediaPlayer_FWD_DEFINED__
  262. #define __WindowsMediaPlayer_FWD_DEFINED__
  263. #ifdef __cplusplus
  264. typedef class WindowsMediaPlayer WindowsMediaPlayer;
  265. #else
  266. typedef struct WindowsMediaPlayer WindowsMediaPlayer;
  267. #endif /* defined __cplusplus */
  268. #endif /* defined __WindowsMediaPlayer_FWD_DEFINED__ */
  269. /* Headers for imported files */
  270. #include <oaidl.h>
  271. #include <ocidl.h>
  272. #ifdef __cplusplus
  273. extern "C" {
  274. #endif
  275. #ifndef __WMPLib_LIBRARY_DEFINED__
  276. #define __WMPLib_LIBRARY_DEFINED__
  277. DEFINE_GUID(LIBID_WMPLib, 0x6bf52a50, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
  278. typedef enum __WIDL_wmp_generated_name_00000020 {
  279. wmposUndefined = 0,
  280. wmposPlaylistChanging = 1,
  281. wmposPlaylistLocating = 2,
  282. wmposPlaylistConnecting = 3,
  283. wmposPlaylistLoading = 4,
  284. wmposPlaylistOpening = 5,
  285. wmposPlaylistOpenNoMedia = 6,
  286. wmposPlaylistChanged = 7,
  287. wmposMediaChanging = 8,
  288. wmposMediaLocating = 9,
  289. wmposMediaConnecting = 10,
  290. wmposMediaLoading = 11,
  291. wmposMediaOpening = 12,
  292. wmposMediaOpen = 13,
  293. wmposBeginCodecAcquisition = 14,
  294. wmposEndCodecAcquisition = 15,
  295. wmposBeginLicenseAcquisition = 16,
  296. wmposEndLicenseAcquisition = 17,
  297. wmposBeginIndividualization = 18,
  298. wmposEndIndividualization = 19,
  299. wmposMediaWaiting = 20,
  300. wmposOpeningUnknownURL = 21
  301. } WMPOpenState;
  302. typedef enum __WIDL_wmp_generated_name_00000021 {
  303. wmppsUndefined = 0,
  304. wmppsStopped = 1,
  305. wmppsPaused = 2,
  306. wmppsPlaying = 3,
  307. wmppsScanForward = 4,
  308. wmppsScanReverse = 5,
  309. wmppsBuffering = 6,
  310. wmppsWaiting = 7,
  311. wmppsMediaEnded = 8,
  312. wmppsTransitioning = 9,
  313. wmppsReady = 10,
  314. wmppsReconnecting = 11,
  315. wmppsLast = 12
  316. } WMPPlayState;
  317. typedef enum __WIDL_wmp_generated_name_00000022 {
  318. wmplcUnknown = 0,
  319. wmplcClear = 1,
  320. wmplcInfoChange = 2,
  321. wmplcMove = 3,
  322. wmplcDelete = 4,
  323. wmplcInsert = 5,
  324. wmplcAppend = 6,
  325. wmplcPrivate = 7,
  326. wmplcNameChange = 8,
  327. wmplcMorph = 9,
  328. wmplcSort = 10,
  329. wmplcLast = 11
  330. } WMPPlaylistChangeEventType;
  331. typedef enum __WIDL_wmp_generated_name_00000023 {
  332. wmpdsUnknown = 0,
  333. wmpdsPartnershipExists = 1,
  334. wmpdsPartnershipDeclined = 2,
  335. wmpdsPartnershipAnother = 3,
  336. wmpdsManualDevice = 4,
  337. wmpdsNewDevice = 5,
  338. wmpdsLast = 6
  339. } WMPDeviceStatus;
  340. typedef enum __WIDL_wmp_generated_name_00000024 {
  341. wmpssUnknown = 0,
  342. wmpssSynchronizing = 1,
  343. wmpssStopped = 2,
  344. wmpssEstimating = 3,
  345. wmpssLast = 4
  346. } WMPSyncState;
  347. typedef enum __WIDL_wmp_generated_name_00000025 {
  348. wmprsUnknown = 0,
  349. wmprsRipping = 1,
  350. wmprsStopped = 2
  351. } WMPRipState;
  352. typedef enum __WIDL_wmp_generated_name_00000026 {
  353. wmpbfAudioCD = 0,
  354. wmpbfDataCD = 1
  355. } WMPBurnFormat;
  356. typedef enum __WIDL_wmp_generated_name_00000027 {
  357. wmpbsUnknown = 0,
  358. wmpbsBusy = 1,
  359. wmpbsReady = 2,
  360. wmpbsWaitingForDisc = 3,
  361. wmpbsRefreshStatusPending = 4,
  362. wmpbsPreparingToBurn = 5,
  363. wmpbsBurning = 6,
  364. wmpbsStopped = 7,
  365. wmpbsErasing = 8,
  366. wmpbsDownloading = 9
  367. } WMPBurnState;
  368. typedef enum __WIDL_wmp_generated_name_00000028 {
  369. wmpltUnknown = 0,
  370. wmpltAll = 1,
  371. wmpltLocal = 2,
  372. wmpltRemote = 3,
  373. wmpltDisc = 4,
  374. wmpltPortableDevice = 5
  375. } WMPLibraryType;
  376. typedef enum __WIDL_wmp_generated_name_00000029 {
  377. wmpfssUnknown = 0,
  378. wmpfssScanning = 1,
  379. wmpfssUpdating = 2,
  380. wmpfssStopped = 3
  381. } WMPFolderScanState;
  382. typedef enum __WIDL_wmp_generated_name_0000002A {
  383. wmpsccetUnknown = 0,
  384. wmpsccetInsert = 1,
  385. wmpsccetChange = 2,
  386. wmpsccetDelete = 3,
  387. wmpsccetClear = 4,
  388. wmpsccetBeginUpdates = 5,
  389. wmpsccetEndUpdates = 6
  390. } WMPStringCollectionChangeEventType;
  391. #ifndef __IWMPMedia_FWD_DEFINED__
  392. #define __IWMPMedia_FWD_DEFINED__
  393. typedef interface IWMPMedia IWMPMedia;
  394. #ifdef __cplusplus
  395. interface IWMPMedia;
  396. #endif /* __cplusplus */
  397. #endif
  398. /*****************************************************************************
  399. * IWMPPlaylist interface
  400. */
  401. #ifndef __IWMPPlaylist_INTERFACE_DEFINED__
  402. #define __IWMPPlaylist_INTERFACE_DEFINED__
  403. DEFINE_GUID(IID_IWMPPlaylist, 0xd5f0f4f1, 0x130c, 0x11d3, 0xb1,0x4e, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
  404. #if defined(__cplusplus) && !defined(CINTERFACE)
  405. MIDL_INTERFACE("d5f0f4f1-130c-11d3-b14e-00c04f79faa6")
  406. IWMPPlaylist : public IDispatch
  407. {
  408. virtual HRESULT STDMETHODCALLTYPE get_count(
  409. LONG *plCount) = 0;
  410. virtual HRESULT STDMETHODCALLTYPE get_name(
  411. BSTR *pbstrName) = 0;
  412. virtual HRESULT STDMETHODCALLTYPE put_name(
  413. BSTR pbstrName) = 0;
  414. virtual HRESULT STDMETHODCALLTYPE get_attributeCount(
  415. LONG *plCount) = 0;
  416. virtual HRESULT STDMETHODCALLTYPE get_attributeName(
  417. LONG lIndex,
  418. BSTR *pbstrAttributeName) = 0;
  419. virtual HRESULT STDMETHODCALLTYPE get_Item(
  420. LONG lIndex,
  421. IWMPMedia **ppIWMPMedia) = 0;
  422. virtual HRESULT STDMETHODCALLTYPE getItemInfo(
  423. BSTR bstrName,
  424. BSTR *pbstrVal) = 0;
  425. virtual HRESULT STDMETHODCALLTYPE setItemInfo(
  426. BSTR bstrName,
  427. BSTR bstrValue) = 0;
  428. virtual HRESULT STDMETHODCALLTYPE get_isIdentical(
  429. IWMPPlaylist *pIWMPPlaylist,
  430. VARIANT_BOOL *pvbool) = 0;
  431. virtual HRESULT STDMETHODCALLTYPE clear(
  432. ) = 0;
  433. virtual HRESULT STDMETHODCALLTYPE insertItem(
  434. LONG lIndex,
  435. IWMPMedia *pIWMPMedia) = 0;
  436. virtual HRESULT STDMETHODCALLTYPE appendItem(
  437. IWMPMedia *pIWMPMedia) = 0;
  438. virtual HRESULT STDMETHODCALLTYPE removeItem(
  439. IWMPMedia *pIWMPMedia) = 0;
  440. virtual HRESULT STDMETHODCALLTYPE moveItem(
  441. LONG lIndexOld,
  442. LONG lIndexNew) = 0;
  443. };
  444. #ifdef __CRT_UUID_DECL
  445. __CRT_UUID_DECL(IWMPPlaylist, 0xd5f0f4f1, 0x130c, 0x11d3, 0xb1,0x4e, 0x00,0xc0,0x4f,0x79,0xfa,0xa6)
  446. #endif
  447. #else
  448. typedef struct IWMPPlaylistVtbl {
  449. BEGIN_INTERFACE
  450. /*** IUnknown methods ***/
  451. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  452. IWMPPlaylist *This,
  453. REFIID riid,
  454. void **ppvObject);
  455. ULONG (STDMETHODCALLTYPE *AddRef)(
  456. IWMPPlaylist *This);
  457. ULONG (STDMETHODCALLTYPE *Release)(
  458. IWMPPlaylist *This);
  459. /*** IDispatch methods ***/
  460. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  461. IWMPPlaylist *This,
  462. UINT *pctinfo);
  463. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  464. IWMPPlaylist *This,
  465. UINT iTInfo,
  466. LCID lcid,
  467. ITypeInfo **ppTInfo);
  468. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  469. IWMPPlaylist *This,
  470. REFIID riid,
  471. LPOLESTR *rgszNames,
  472. UINT cNames,
  473. LCID lcid,
  474. DISPID *rgDispId);
  475. HRESULT (STDMETHODCALLTYPE *Invoke)(
  476. IWMPPlaylist *This,
  477. DISPID dispIdMember,
  478. REFIID riid,
  479. LCID lcid,
  480. WORD wFlags,
  481. DISPPARAMS *pDispParams,
  482. VARIANT *pVarResult,
  483. EXCEPINFO *pExcepInfo,
  484. UINT *puArgErr);
  485. /*** IWMPPlaylist methods ***/
  486. HRESULT (STDMETHODCALLTYPE *get_count)(
  487. IWMPPlaylist *This,
  488. LONG *plCount);
  489. HRESULT (STDMETHODCALLTYPE *get_name)(
  490. IWMPPlaylist *This,
  491. BSTR *pbstrName);
  492. HRESULT (STDMETHODCALLTYPE *put_name)(
  493. IWMPPlaylist *This,
  494. BSTR pbstrName);
  495. HRESULT (STDMETHODCALLTYPE *get_attributeCount)(
  496. IWMPPlaylist *This,
  497. LONG *plCount);
  498. HRESULT (STDMETHODCALLTYPE *get_attributeName)(
  499. IWMPPlaylist *This,
  500. LONG lIndex,
  501. BSTR *pbstrAttributeName);
  502. HRESULT (STDMETHODCALLTYPE *get_Item)(
  503. IWMPPlaylist *This,
  504. LONG lIndex,
  505. IWMPMedia **ppIWMPMedia);
  506. HRESULT (STDMETHODCALLTYPE *getItemInfo)(
  507. IWMPPlaylist *This,
  508. BSTR bstrName,
  509. BSTR *pbstrVal);
  510. HRESULT (STDMETHODCALLTYPE *setItemInfo)(
  511. IWMPPlaylist *This,
  512. BSTR bstrName,
  513. BSTR bstrValue);
  514. HRESULT (STDMETHODCALLTYPE *get_isIdentical)(
  515. IWMPPlaylist *This,
  516. IWMPPlaylist *pIWMPPlaylist,
  517. VARIANT_BOOL *pvbool);
  518. HRESULT (STDMETHODCALLTYPE *clear)(
  519. IWMPPlaylist *This);
  520. HRESULT (STDMETHODCALLTYPE *insertItem)(
  521. IWMPPlaylist *This,
  522. LONG lIndex,
  523. IWMPMedia *pIWMPMedia);
  524. HRESULT (STDMETHODCALLTYPE *appendItem)(
  525. IWMPPlaylist *This,
  526. IWMPMedia *pIWMPMedia);
  527. HRESULT (STDMETHODCALLTYPE *removeItem)(
  528. IWMPPlaylist *This,
  529. IWMPMedia *pIWMPMedia);
  530. HRESULT (STDMETHODCALLTYPE *moveItem)(
  531. IWMPPlaylist *This,
  532. LONG lIndexOld,
  533. LONG lIndexNew);
  534. END_INTERFACE
  535. } IWMPPlaylistVtbl;
  536. interface IWMPPlaylist {
  537. CONST_VTBL IWMPPlaylistVtbl* lpVtbl;
  538. };
  539. #ifdef COBJMACROS
  540. #ifndef WIDL_C_INLINE_WRAPPERS
  541. /*** IUnknown methods ***/
  542. #define IWMPPlaylist_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  543. #define IWMPPlaylist_AddRef(This) (This)->lpVtbl->AddRef(This)
  544. #define IWMPPlaylist_Release(This) (This)->lpVtbl->Release(This)
  545. /*** IDispatch methods ***/
  546. #define IWMPPlaylist_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  547. #define IWMPPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  548. #define IWMPPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  549. #define IWMPPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  550. /*** IWMPPlaylist methods ***/
  551. #define IWMPPlaylist_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount)
  552. #define IWMPPlaylist_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName)
  553. #define IWMPPlaylist_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName)
  554. #define IWMPPlaylist_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount)
  555. #define IWMPPlaylist_get_attributeName(This,lIndex,pbstrAttributeName) (This)->lpVtbl->get_attributeName(This,lIndex,pbstrAttributeName)
  556. #define IWMPPlaylist_get_Item(This,lIndex,ppIWMPMedia) (This)->lpVtbl->get_Item(This,lIndex,ppIWMPMedia)
  557. #define IWMPPlaylist_getItemInfo(This,bstrName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrName,pbstrVal)
  558. #define IWMPPlaylist_setItemInfo(This,bstrName,bstrValue) (This)->lpVtbl->setItemInfo(This,bstrName,bstrValue)
  559. #define IWMPPlaylist_get_isIdentical(This,pIWMPPlaylist,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPPlaylist,pvbool)
  560. #define IWMPPlaylist_clear(This) (This)->lpVtbl->clear(This)
  561. #define IWMPPlaylist_insertItem(This,lIndex,pIWMPMedia) (This)->lpVtbl->insertItem(This,lIndex,pIWMPMedia)
  562. #define IWMPPlaylist_appendItem(This,pIWMPMedia) (This)->lpVtbl->appendItem(This,pIWMPMedia)
  563. #define IWMPPlaylist_removeItem(This,pIWMPMedia) (This)->lpVtbl->removeItem(This,pIWMPMedia)
  564. #define IWMPPlaylist_moveItem(This,lIndexOld,lIndexNew) (This)->lpVtbl->moveItem(This,lIndexOld,lIndexNew)
  565. #else
  566. /*** IUnknown methods ***/
  567. static FORCEINLINE HRESULT IWMPPlaylist_QueryInterface(IWMPPlaylist* This,REFIID riid,void **ppvObject) {
  568. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  569. }
  570. static FORCEINLINE ULONG IWMPPlaylist_AddRef(IWMPPlaylist* This) {
  571. return This->lpVtbl->AddRef(This);
  572. }
  573. static FORCEINLINE ULONG IWMPPlaylist_Release(IWMPPlaylist* This) {
  574. return This->lpVtbl->Release(This);
  575. }
  576. /*** IDispatch methods ***/
  577. static FORCEINLINE HRESULT IWMPPlaylist_GetTypeInfoCount(IWMPPlaylist* This,UINT *pctinfo) {
  578. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  579. }
  580. static FORCEINLINE HRESULT IWMPPlaylist_GetTypeInfo(IWMPPlaylist* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  581. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  582. }
  583. static FORCEINLINE HRESULT IWMPPlaylist_GetIDsOfNames(IWMPPlaylist* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  584. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  585. }
  586. static FORCEINLINE HRESULT IWMPPlaylist_Invoke(IWMPPlaylist* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  587. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  588. }
  589. /*** IWMPPlaylist methods ***/
  590. static FORCEINLINE HRESULT IWMPPlaylist_get_count(IWMPPlaylist* This,LONG *plCount) {
  591. return This->lpVtbl->get_count(This,plCount);
  592. }
  593. static FORCEINLINE HRESULT IWMPPlaylist_get_name(IWMPPlaylist* This,BSTR *pbstrName) {
  594. return This->lpVtbl->get_name(This,pbstrName);
  595. }
  596. static FORCEINLINE HRESULT IWMPPlaylist_put_name(IWMPPlaylist* This,BSTR pbstrName) {
  597. return This->lpVtbl->put_name(This,pbstrName);
  598. }
  599. static FORCEINLINE HRESULT IWMPPlaylist_get_attributeCount(IWMPPlaylist* This,LONG *plCount) {
  600. return This->lpVtbl->get_attributeCount(This,plCount);
  601. }
  602. static FORCEINLINE HRESULT IWMPPlaylist_get_attributeName(IWMPPlaylist* This,LONG lIndex,BSTR *pbstrAttributeName) {
  603. return This->lpVtbl->get_attributeName(This,lIndex,pbstrAttributeName);
  604. }
  605. static FORCEINLINE HRESULT IWMPPlaylist_get_Item(IWMPPlaylist* This,LONG lIndex,IWMPMedia **ppIWMPMedia) {
  606. return This->lpVtbl->get_Item(This,lIndex,ppIWMPMedia);
  607. }
  608. static FORCEINLINE HRESULT IWMPPlaylist_getItemInfo(IWMPPlaylist* This,BSTR bstrName,BSTR *pbstrVal) {
  609. return This->lpVtbl->getItemInfo(This,bstrName,pbstrVal);
  610. }
  611. static FORCEINLINE HRESULT IWMPPlaylist_setItemInfo(IWMPPlaylist* This,BSTR bstrName,BSTR bstrValue) {
  612. return This->lpVtbl->setItemInfo(This,bstrName,bstrValue);
  613. }
  614. static FORCEINLINE HRESULT IWMPPlaylist_get_isIdentical(IWMPPlaylist* This,IWMPPlaylist *pIWMPPlaylist,VARIANT_BOOL *pvbool) {
  615. return This->lpVtbl->get_isIdentical(This,pIWMPPlaylist,pvbool);
  616. }
  617. static FORCEINLINE HRESULT IWMPPlaylist_clear(IWMPPlaylist* This) {
  618. return This->lpVtbl->clear(This);
  619. }
  620. static FORCEINLINE HRESULT IWMPPlaylist_insertItem(IWMPPlaylist* This,LONG lIndex,IWMPMedia *pIWMPMedia) {
  621. return This->lpVtbl->insertItem(This,lIndex,pIWMPMedia);
  622. }
  623. static FORCEINLINE HRESULT IWMPPlaylist_appendItem(IWMPPlaylist* This,IWMPMedia *pIWMPMedia) {
  624. return This->lpVtbl->appendItem(This,pIWMPMedia);
  625. }
  626. static FORCEINLINE HRESULT IWMPPlaylist_removeItem(IWMPPlaylist* This,IWMPMedia *pIWMPMedia) {
  627. return This->lpVtbl->removeItem(This,pIWMPMedia);
  628. }
  629. static FORCEINLINE HRESULT IWMPPlaylist_moveItem(IWMPPlaylist* This,LONG lIndexOld,LONG lIndexNew) {
  630. return This->lpVtbl->moveItem(This,lIndexOld,lIndexNew);
  631. }
  632. #endif
  633. #endif
  634. #endif
  635. #endif /* __IWMPPlaylist_INTERFACE_DEFINED__ */
  636. /*****************************************************************************
  637. * IWMPMedia interface
  638. */
  639. #ifndef __IWMPMedia_INTERFACE_DEFINED__
  640. #define __IWMPMedia_INTERFACE_DEFINED__
  641. DEFINE_GUID(IID_IWMPMedia, 0x94d55e95, 0x3fac, 0x11d3, 0xb1,0x55, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
  642. #if defined(__cplusplus) && !defined(CINTERFACE)
  643. MIDL_INTERFACE("94d55e95-3fac-11d3-b155-00c04f79faa6")
  644. IWMPMedia : public IDispatch
  645. {
  646. virtual HRESULT STDMETHODCALLTYPE get_isIdentical(
  647. IWMPMedia *pIWMPMedia,
  648. VARIANT_BOOL *pvbool) = 0;
  649. virtual HRESULT STDMETHODCALLTYPE get_sourceURL(
  650. BSTR *pbstrSourceURL) = 0;
  651. virtual HRESULT STDMETHODCALLTYPE get_name(
  652. BSTR *pbstrName) = 0;
  653. virtual HRESULT STDMETHODCALLTYPE put_name(
  654. BSTR pbstrName) = 0;
  655. virtual HRESULT STDMETHODCALLTYPE get_imageSourceWidth(
  656. LONG *pWidth) = 0;
  657. virtual HRESULT STDMETHODCALLTYPE get_imageSourceHeight(
  658. LONG *pHeight) = 0;
  659. virtual HRESULT STDMETHODCALLTYPE get_markerCount(
  660. LONG *pMarkerCount) = 0;
  661. virtual HRESULT STDMETHODCALLTYPE getMarkerTime(
  662. LONG MarkerNum,
  663. double *pMarkerTime) = 0;
  664. virtual HRESULT STDMETHODCALLTYPE getMarkerName(
  665. LONG MarkerNum,
  666. BSTR *pbstrMarkerName) = 0;
  667. virtual HRESULT STDMETHODCALLTYPE get_duration(
  668. double *pDuration) = 0;
  669. virtual HRESULT STDMETHODCALLTYPE get_durationString(
  670. BSTR *pbstrDuration) = 0;
  671. virtual HRESULT STDMETHODCALLTYPE get_attributeCount(
  672. LONG *plCount) = 0;
  673. virtual HRESULT STDMETHODCALLTYPE getAttributeName(
  674. LONG lIndex,
  675. BSTR *pbstrItemName) = 0;
  676. virtual HRESULT STDMETHODCALLTYPE getItemInfo(
  677. BSTR bstrItemName,
  678. BSTR *pbstrVal) = 0;
  679. virtual HRESULT STDMETHODCALLTYPE setItemInfo(
  680. BSTR bstrItemName,
  681. BSTR bstrVal) = 0;
  682. virtual HRESULT STDMETHODCALLTYPE getItemInfoByAtom(
  683. LONG lAtom,
  684. BSTR *pbstrVal) = 0;
  685. virtual HRESULT STDMETHODCALLTYPE isMemberOf(
  686. IWMPPlaylist *pPlaylist,
  687. VARIANT_BOOL *pvarfIsMemberOf) = 0;
  688. virtual HRESULT STDMETHODCALLTYPE isReadOnlyItem(
  689. BSTR bstrItemName,
  690. VARIANT_BOOL *pvarfIsReadOnly) = 0;
  691. };
  692. #ifdef __CRT_UUID_DECL
  693. __CRT_UUID_DECL(IWMPMedia, 0x94d55e95, 0x3fac, 0x11d3, 0xb1,0x55, 0x00,0xc0,0x4f,0x79,0xfa,0xa6)
  694. #endif
  695. #else
  696. typedef struct IWMPMediaVtbl {
  697. BEGIN_INTERFACE
  698. /*** IUnknown methods ***/
  699. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  700. IWMPMedia *This,
  701. REFIID riid,
  702. void **ppvObject);
  703. ULONG (STDMETHODCALLTYPE *AddRef)(
  704. IWMPMedia *This);
  705. ULONG (STDMETHODCALLTYPE *Release)(
  706. IWMPMedia *This);
  707. /*** IDispatch methods ***/
  708. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  709. IWMPMedia *This,
  710. UINT *pctinfo);
  711. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  712. IWMPMedia *This,
  713. UINT iTInfo,
  714. LCID lcid,
  715. ITypeInfo **ppTInfo);
  716. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  717. IWMPMedia *This,
  718. REFIID riid,
  719. LPOLESTR *rgszNames,
  720. UINT cNames,
  721. LCID lcid,
  722. DISPID *rgDispId);
  723. HRESULT (STDMETHODCALLTYPE *Invoke)(
  724. IWMPMedia *This,
  725. DISPID dispIdMember,
  726. REFIID riid,
  727. LCID lcid,
  728. WORD wFlags,
  729. DISPPARAMS *pDispParams,
  730. VARIANT *pVarResult,
  731. EXCEPINFO *pExcepInfo,
  732. UINT *puArgErr);
  733. /*** IWMPMedia methods ***/
  734. HRESULT (STDMETHODCALLTYPE *get_isIdentical)(
  735. IWMPMedia *This,
  736. IWMPMedia *pIWMPMedia,
  737. VARIANT_BOOL *pvbool);
  738. HRESULT (STDMETHODCALLTYPE *get_sourceURL)(
  739. IWMPMedia *This,
  740. BSTR *pbstrSourceURL);
  741. HRESULT (STDMETHODCALLTYPE *get_name)(
  742. IWMPMedia *This,
  743. BSTR *pbstrName);
  744. HRESULT (STDMETHODCALLTYPE *put_name)(
  745. IWMPMedia *This,
  746. BSTR pbstrName);
  747. HRESULT (STDMETHODCALLTYPE *get_imageSourceWidth)(
  748. IWMPMedia *This,
  749. LONG *pWidth);
  750. HRESULT (STDMETHODCALLTYPE *get_imageSourceHeight)(
  751. IWMPMedia *This,
  752. LONG *pHeight);
  753. HRESULT (STDMETHODCALLTYPE *get_markerCount)(
  754. IWMPMedia *This,
  755. LONG *pMarkerCount);
  756. HRESULT (STDMETHODCALLTYPE *getMarkerTime)(
  757. IWMPMedia *This,
  758. LONG MarkerNum,
  759. double *pMarkerTime);
  760. HRESULT (STDMETHODCALLTYPE *getMarkerName)(
  761. IWMPMedia *This,
  762. LONG MarkerNum,
  763. BSTR *pbstrMarkerName);
  764. HRESULT (STDMETHODCALLTYPE *get_duration)(
  765. IWMPMedia *This,
  766. double *pDuration);
  767. HRESULT (STDMETHODCALLTYPE *get_durationString)(
  768. IWMPMedia *This,
  769. BSTR *pbstrDuration);
  770. HRESULT (STDMETHODCALLTYPE *get_attributeCount)(
  771. IWMPMedia *This,
  772. LONG *plCount);
  773. HRESULT (STDMETHODCALLTYPE *getAttributeName)(
  774. IWMPMedia *This,
  775. LONG lIndex,
  776. BSTR *pbstrItemName);
  777. HRESULT (STDMETHODCALLTYPE *getItemInfo)(
  778. IWMPMedia *This,
  779. BSTR bstrItemName,
  780. BSTR *pbstrVal);
  781. HRESULT (STDMETHODCALLTYPE *setItemInfo)(
  782. IWMPMedia *This,
  783. BSTR bstrItemName,
  784. BSTR bstrVal);
  785. HRESULT (STDMETHODCALLTYPE *getItemInfoByAtom)(
  786. IWMPMedia *This,
  787. LONG lAtom,
  788. BSTR *pbstrVal);
  789. HRESULT (STDMETHODCALLTYPE *isMemberOf)(
  790. IWMPMedia *This,
  791. IWMPPlaylist *pPlaylist,
  792. VARIANT_BOOL *pvarfIsMemberOf);
  793. HRESULT (STDMETHODCALLTYPE *isReadOnlyItem)(
  794. IWMPMedia *This,
  795. BSTR bstrItemName,
  796. VARIANT_BOOL *pvarfIsReadOnly);
  797. END_INTERFACE
  798. } IWMPMediaVtbl;
  799. interface IWMPMedia {
  800. CONST_VTBL IWMPMediaVtbl* lpVtbl;
  801. };
  802. #ifdef COBJMACROS
  803. #ifndef WIDL_C_INLINE_WRAPPERS
  804. /*** IUnknown methods ***/
  805. #define IWMPMedia_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  806. #define IWMPMedia_AddRef(This) (This)->lpVtbl->AddRef(This)
  807. #define IWMPMedia_Release(This) (This)->lpVtbl->Release(This)
  808. /*** IDispatch methods ***/
  809. #define IWMPMedia_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  810. #define IWMPMedia_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  811. #define IWMPMedia_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  812. #define IWMPMedia_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  813. /*** IWMPMedia methods ***/
  814. #define IWMPMedia_get_isIdentical(This,pIWMPMedia,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool)
  815. #define IWMPMedia_get_sourceURL(This,pbstrSourceURL) (This)->lpVtbl->get_sourceURL(This,pbstrSourceURL)
  816. #define IWMPMedia_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName)
  817. #define IWMPMedia_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName)
  818. #define IWMPMedia_get_imageSourceWidth(This,pWidth) (This)->lpVtbl->get_imageSourceWidth(This,pWidth)
  819. #define IWMPMedia_get_imageSourceHeight(This,pHeight) (This)->lpVtbl->get_imageSourceHeight(This,pHeight)
  820. #define IWMPMedia_get_markerCount(This,pMarkerCount) (This)->lpVtbl->get_markerCount(This,pMarkerCount)
  821. #define IWMPMedia_getMarkerTime(This,MarkerNum,pMarkerTime) (This)->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime)
  822. #define IWMPMedia_getMarkerName(This,MarkerNum,pbstrMarkerName) (This)->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName)
  823. #define IWMPMedia_get_duration(This,pDuration) (This)->lpVtbl->get_duration(This,pDuration)
  824. #define IWMPMedia_get_durationString(This,pbstrDuration) (This)->lpVtbl->get_durationString(This,pbstrDuration)
  825. #define IWMPMedia_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount)
  826. #define IWMPMedia_getAttributeName(This,lIndex,pbstrItemName) (This)->lpVtbl->getAttributeName(This,lIndex,pbstrItemName)
  827. #define IWMPMedia_getItemInfo(This,bstrItemName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal)
  828. #define IWMPMedia_setItemInfo(This,bstrItemName,bstrVal) (This)->lpVtbl->setItemInfo(This,bstrItemName,bstrVal)
  829. #define IWMPMedia_getItemInfoByAtom(This,lAtom,pbstrVal) (This)->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal)
  830. #define IWMPMedia_isMemberOf(This,pPlaylist,pvarfIsMemberOf) (This)->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf)
  831. #define IWMPMedia_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) (This)->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)
  832. #else
  833. /*** IUnknown methods ***/
  834. static FORCEINLINE HRESULT IWMPMedia_QueryInterface(IWMPMedia* This,REFIID riid,void **ppvObject) {
  835. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  836. }
  837. static FORCEINLINE ULONG IWMPMedia_AddRef(IWMPMedia* This) {
  838. return This->lpVtbl->AddRef(This);
  839. }
  840. static FORCEINLINE ULONG IWMPMedia_Release(IWMPMedia* This) {
  841. return This->lpVtbl->Release(This);
  842. }
  843. /*** IDispatch methods ***/
  844. static FORCEINLINE HRESULT IWMPMedia_GetTypeInfoCount(IWMPMedia* This,UINT *pctinfo) {
  845. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  846. }
  847. static FORCEINLINE HRESULT IWMPMedia_GetTypeInfo(IWMPMedia* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  848. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  849. }
  850. static FORCEINLINE HRESULT IWMPMedia_GetIDsOfNames(IWMPMedia* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  851. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  852. }
  853. static FORCEINLINE HRESULT IWMPMedia_Invoke(IWMPMedia* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  854. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  855. }
  856. /*** IWMPMedia methods ***/
  857. static FORCEINLINE HRESULT IWMPMedia_get_isIdentical(IWMPMedia* This,IWMPMedia *pIWMPMedia,VARIANT_BOOL *pvbool) {
  858. return This->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool);
  859. }
  860. static FORCEINLINE HRESULT IWMPMedia_get_sourceURL(IWMPMedia* This,BSTR *pbstrSourceURL) {
  861. return This->lpVtbl->get_sourceURL(This,pbstrSourceURL);
  862. }
  863. static FORCEINLINE HRESULT IWMPMedia_get_name(IWMPMedia* This,BSTR *pbstrName) {
  864. return This->lpVtbl->get_name(This,pbstrName);
  865. }
  866. static FORCEINLINE HRESULT IWMPMedia_put_name(IWMPMedia* This,BSTR pbstrName) {
  867. return This->lpVtbl->put_name(This,pbstrName);
  868. }
  869. static FORCEINLINE HRESULT IWMPMedia_get_imageSourceWidth(IWMPMedia* This,LONG *pWidth) {
  870. return This->lpVtbl->get_imageSourceWidth(This,pWidth);
  871. }
  872. static FORCEINLINE HRESULT IWMPMedia_get_imageSourceHeight(IWMPMedia* This,LONG *pHeight) {
  873. return This->lpVtbl->get_imageSourceHeight(This,pHeight);
  874. }
  875. static FORCEINLINE HRESULT IWMPMedia_get_markerCount(IWMPMedia* This,LONG *pMarkerCount) {
  876. return This->lpVtbl->get_markerCount(This,pMarkerCount);
  877. }
  878. static FORCEINLINE HRESULT IWMPMedia_getMarkerTime(IWMPMedia* This,LONG MarkerNum,double *pMarkerTime) {
  879. return This->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime);
  880. }
  881. static FORCEINLINE HRESULT IWMPMedia_getMarkerName(IWMPMedia* This,LONG MarkerNum,BSTR *pbstrMarkerName) {
  882. return This->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName);
  883. }
  884. static FORCEINLINE HRESULT IWMPMedia_get_duration(IWMPMedia* This,double *pDuration) {
  885. return This->lpVtbl->get_duration(This,pDuration);
  886. }
  887. static FORCEINLINE HRESULT IWMPMedia_get_durationString(IWMPMedia* This,BSTR *pbstrDuration) {
  888. return This->lpVtbl->get_durationString(This,pbstrDuration);
  889. }
  890. static FORCEINLINE HRESULT IWMPMedia_get_attributeCount(IWMPMedia* This,LONG *plCount) {
  891. return This->lpVtbl->get_attributeCount(This,plCount);
  892. }
  893. static FORCEINLINE HRESULT IWMPMedia_getAttributeName(IWMPMedia* This,LONG lIndex,BSTR *pbstrItemName) {
  894. return This->lpVtbl->getAttributeName(This,lIndex,pbstrItemName);
  895. }
  896. static FORCEINLINE HRESULT IWMPMedia_getItemInfo(IWMPMedia* This,BSTR bstrItemName,BSTR *pbstrVal) {
  897. return This->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal);
  898. }
  899. static FORCEINLINE HRESULT IWMPMedia_setItemInfo(IWMPMedia* This,BSTR bstrItemName,BSTR bstrVal) {
  900. return This->lpVtbl->setItemInfo(This,bstrItemName,bstrVal);
  901. }
  902. static FORCEINLINE HRESULT IWMPMedia_getItemInfoByAtom(IWMPMedia* This,LONG lAtom,BSTR *pbstrVal) {
  903. return This->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal);
  904. }
  905. static FORCEINLINE HRESULT IWMPMedia_isMemberOf(IWMPMedia* This,IWMPPlaylist *pPlaylist,VARIANT_BOOL *pvarfIsMemberOf) {
  906. return This->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf);
  907. }
  908. static FORCEINLINE HRESULT IWMPMedia_isReadOnlyItem(IWMPMedia* This,BSTR bstrItemName,VARIANT_BOOL *pvarfIsReadOnly) {
  909. return This->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly);
  910. }
  911. #endif
  912. #endif
  913. #endif
  914. #endif /* __IWMPMedia_INTERFACE_DEFINED__ */
  915. /*****************************************************************************
  916. * IWMPControls interface
  917. */
  918. #ifndef __IWMPControls_INTERFACE_DEFINED__
  919. #define __IWMPControls_INTERFACE_DEFINED__
  920. DEFINE_GUID(IID_IWMPControls, 0x74c09e02, 0xf828, 0x11d2, 0xa7,0x4b, 0x00,0xa0,0xc9,0x05,0xf3,0x6e);
  921. #if defined(__cplusplus) && !defined(CINTERFACE)
  922. MIDL_INTERFACE("74c09e02-f828-11d2-a74b-00a0c905f36e")
  923. IWMPControls : public IDispatch
  924. {
  925. virtual HRESULT STDMETHODCALLTYPE get_isAvailable(
  926. BSTR bstrItem,
  927. VARIANT_BOOL *pIsAvailable) = 0;
  928. virtual HRESULT STDMETHODCALLTYPE play(
  929. ) = 0;
  930. virtual HRESULT STDMETHODCALLTYPE stop(
  931. ) = 0;
  932. virtual HRESULT STDMETHODCALLTYPE pause(
  933. ) = 0;
  934. virtual HRESULT STDMETHODCALLTYPE fastForward(
  935. ) = 0;
  936. virtual HRESULT STDMETHODCALLTYPE fastReverse(
  937. ) = 0;
  938. virtual HRESULT STDMETHODCALLTYPE get_currentPosition(
  939. double *pdCurrentPosition) = 0;
  940. virtual HRESULT STDMETHODCALLTYPE put_currentPosition(
  941. double pdCurrentPosition) = 0;
  942. virtual HRESULT STDMETHODCALLTYPE get_currentPositionString(
  943. BSTR *pbstrCurrentPosition) = 0;
  944. virtual HRESULT STDMETHODCALLTYPE next(
  945. ) = 0;
  946. virtual HRESULT STDMETHODCALLTYPE previous(
  947. ) = 0;
  948. virtual HRESULT STDMETHODCALLTYPE currentItem(
  949. IWMPMedia **ppIWMPMedia) = 0;
  950. virtual HRESULT STDMETHODCALLTYPE put_currentItem(
  951. IWMPMedia *ppIWMPMedia) = 0;
  952. virtual HRESULT STDMETHODCALLTYPE get_currentMarker(
  953. LONG *plMarker) = 0;
  954. virtual HRESULT STDMETHODCALLTYPE put_currentMarker(
  955. LONG plMarker) = 0;
  956. virtual HRESULT STDMETHODCALLTYPE playItem(
  957. IWMPMedia *pIWMPMedia) = 0;
  958. };
  959. #ifdef __CRT_UUID_DECL
  960. __CRT_UUID_DECL(IWMPControls, 0x74c09e02, 0xf828, 0x11d2, 0xa7,0x4b, 0x00,0xa0,0xc9,0x05,0xf3,0x6e)
  961. #endif
  962. #else
  963. typedef struct IWMPControlsVtbl {
  964. BEGIN_INTERFACE
  965. /*** IUnknown methods ***/
  966. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  967. IWMPControls *This,
  968. REFIID riid,
  969. void **ppvObject);
  970. ULONG (STDMETHODCALLTYPE *AddRef)(
  971. IWMPControls *This);
  972. ULONG (STDMETHODCALLTYPE *Release)(
  973. IWMPControls *This);
  974. /*** IDispatch methods ***/
  975. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  976. IWMPControls *This,
  977. UINT *pctinfo);
  978. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  979. IWMPControls *This,
  980. UINT iTInfo,
  981. LCID lcid,
  982. ITypeInfo **ppTInfo);
  983. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  984. IWMPControls *This,
  985. REFIID riid,
  986. LPOLESTR *rgszNames,
  987. UINT cNames,
  988. LCID lcid,
  989. DISPID *rgDispId);
  990. HRESULT (STDMETHODCALLTYPE *Invoke)(
  991. IWMPControls *This,
  992. DISPID dispIdMember,
  993. REFIID riid,
  994. LCID lcid,
  995. WORD wFlags,
  996. DISPPARAMS *pDispParams,
  997. VARIANT *pVarResult,
  998. EXCEPINFO *pExcepInfo,
  999. UINT *puArgErr);
  1000. /*** IWMPControls methods ***/
  1001. HRESULT (STDMETHODCALLTYPE *get_isAvailable)(
  1002. IWMPControls *This,
  1003. BSTR bstrItem,
  1004. VARIANT_BOOL *pIsAvailable);
  1005. HRESULT (STDMETHODCALLTYPE *play)(
  1006. IWMPControls *This);
  1007. HRESULT (STDMETHODCALLTYPE *stop)(
  1008. IWMPControls *This);
  1009. HRESULT (STDMETHODCALLTYPE *pause)(
  1010. IWMPControls *This);
  1011. HRESULT (STDMETHODCALLTYPE *fastForward)(
  1012. IWMPControls *This);
  1013. HRESULT (STDMETHODCALLTYPE *fastReverse)(
  1014. IWMPControls *This);
  1015. HRESULT (STDMETHODCALLTYPE *get_currentPosition)(
  1016. IWMPControls *This,
  1017. double *pdCurrentPosition);
  1018. HRESULT (STDMETHODCALLTYPE *put_currentPosition)(
  1019. IWMPControls *This,
  1020. double pdCurrentPosition);
  1021. HRESULT (STDMETHODCALLTYPE *get_currentPositionString)(
  1022. IWMPControls *This,
  1023. BSTR *pbstrCurrentPosition);
  1024. HRESULT (STDMETHODCALLTYPE *next)(
  1025. IWMPControls *This);
  1026. HRESULT (STDMETHODCALLTYPE *previous)(
  1027. IWMPControls *This);
  1028. HRESULT (STDMETHODCALLTYPE *currentItem)(
  1029. IWMPControls *This,
  1030. IWMPMedia **ppIWMPMedia);
  1031. HRESULT (STDMETHODCALLTYPE *put_currentItem)(
  1032. IWMPControls *This,
  1033. IWMPMedia *ppIWMPMedia);
  1034. HRESULT (STDMETHODCALLTYPE *get_currentMarker)(
  1035. IWMPControls *This,
  1036. LONG *plMarker);
  1037. HRESULT (STDMETHODCALLTYPE *put_currentMarker)(
  1038. IWMPControls *This,
  1039. LONG plMarker);
  1040. HRESULT (STDMETHODCALLTYPE *playItem)(
  1041. IWMPControls *This,
  1042. IWMPMedia *pIWMPMedia);
  1043. END_INTERFACE
  1044. } IWMPControlsVtbl;
  1045. interface IWMPControls {
  1046. CONST_VTBL IWMPControlsVtbl* lpVtbl;
  1047. };
  1048. #ifdef COBJMACROS
  1049. #ifndef WIDL_C_INLINE_WRAPPERS
  1050. /*** IUnknown methods ***/
  1051. #define IWMPControls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1052. #define IWMPControls_AddRef(This) (This)->lpVtbl->AddRef(This)
  1053. #define IWMPControls_Release(This) (This)->lpVtbl->Release(This)
  1054. /*** IDispatch methods ***/
  1055. #define IWMPControls_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1056. #define IWMPControls_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1057. #define IWMPControls_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1058. #define IWMPControls_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1059. /*** IWMPControls methods ***/
  1060. #define IWMPControls_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable)
  1061. #define IWMPControls_play(This) (This)->lpVtbl->play(This)
  1062. #define IWMPControls_stop(This) (This)->lpVtbl->stop(This)
  1063. #define IWMPControls_pause(This) (This)->lpVtbl->pause(This)
  1064. #define IWMPControls_fastForward(This) (This)->lpVtbl->fastForward(This)
  1065. #define IWMPControls_fastReverse(This) (This)->lpVtbl->fastReverse(This)
  1066. #define IWMPControls_get_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->get_currentPosition(This,pdCurrentPosition)
  1067. #define IWMPControls_put_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->put_currentPosition(This,pdCurrentPosition)
  1068. #define IWMPControls_get_currentPositionString(This,pbstrCurrentPosition) (This)->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition)
  1069. #define IWMPControls_next(This) (This)->lpVtbl->next(This)
  1070. #define IWMPControls_previous(This) (This)->lpVtbl->previous(This)
  1071. #define IWMPControls_currentItem(This,ppIWMPMedia) (This)->lpVtbl->currentItem(This,ppIWMPMedia)
  1072. #define IWMPControls_put_currentItem(This,ppIWMPMedia) (This)->lpVtbl->put_currentItem(This,ppIWMPMedia)
  1073. #define IWMPControls_get_currentMarker(This,plMarker) (This)->lpVtbl->get_currentMarker(This,plMarker)
  1074. #define IWMPControls_put_currentMarker(This,plMarker) (This)->lpVtbl->put_currentMarker(This,plMarker)
  1075. #define IWMPControls_playItem(This,pIWMPMedia) (This)->lpVtbl->playItem(This,pIWMPMedia)
  1076. #else
  1077. /*** IUnknown methods ***/
  1078. static FORCEINLINE HRESULT IWMPControls_QueryInterface(IWMPControls* This,REFIID riid,void **ppvObject) {
  1079. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1080. }
  1081. static FORCEINLINE ULONG IWMPControls_AddRef(IWMPControls* This) {
  1082. return This->lpVtbl->AddRef(This);
  1083. }
  1084. static FORCEINLINE ULONG IWMPControls_Release(IWMPControls* This) {
  1085. return This->lpVtbl->Release(This);
  1086. }
  1087. /*** IDispatch methods ***/
  1088. static FORCEINLINE HRESULT IWMPControls_GetTypeInfoCount(IWMPControls* This,UINT *pctinfo) {
  1089. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1090. }
  1091. static FORCEINLINE HRESULT IWMPControls_GetTypeInfo(IWMPControls* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1092. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1093. }
  1094. static FORCEINLINE HRESULT IWMPControls_GetIDsOfNames(IWMPControls* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1095. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1096. }
  1097. static FORCEINLINE HRESULT IWMPControls_Invoke(IWMPControls* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1098. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1099. }
  1100. /*** IWMPControls methods ***/
  1101. static FORCEINLINE HRESULT IWMPControls_get_isAvailable(IWMPControls* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) {
  1102. return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable);
  1103. }
  1104. static FORCEINLINE HRESULT IWMPControls_play(IWMPControls* This) {
  1105. return This->lpVtbl->play(This);
  1106. }
  1107. static FORCEINLINE HRESULT IWMPControls_stop(IWMPControls* This) {
  1108. return This->lpVtbl->stop(This);
  1109. }
  1110. static FORCEINLINE HRESULT IWMPControls_pause(IWMPControls* This) {
  1111. return This->lpVtbl->pause(This);
  1112. }
  1113. static FORCEINLINE HRESULT IWMPControls_fastForward(IWMPControls* This) {
  1114. return This->lpVtbl->fastForward(This);
  1115. }
  1116. static FORCEINLINE HRESULT IWMPControls_fastReverse(IWMPControls* This) {
  1117. return This->lpVtbl->fastReverse(This);
  1118. }
  1119. static FORCEINLINE HRESULT IWMPControls_get_currentPosition(IWMPControls* This,double *pdCurrentPosition) {
  1120. return This->lpVtbl->get_currentPosition(This,pdCurrentPosition);
  1121. }
  1122. static FORCEINLINE HRESULT IWMPControls_put_currentPosition(IWMPControls* This,double pdCurrentPosition) {
  1123. return This->lpVtbl->put_currentPosition(This,pdCurrentPosition);
  1124. }
  1125. static FORCEINLINE HRESULT IWMPControls_get_currentPositionString(IWMPControls* This,BSTR *pbstrCurrentPosition) {
  1126. return This->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition);
  1127. }
  1128. static FORCEINLINE HRESULT IWMPControls_next(IWMPControls* This) {
  1129. return This->lpVtbl->next(This);
  1130. }
  1131. static FORCEINLINE HRESULT IWMPControls_previous(IWMPControls* This) {
  1132. return This->lpVtbl->previous(This);
  1133. }
  1134. static FORCEINLINE HRESULT IWMPControls_currentItem(IWMPControls* This,IWMPMedia **ppIWMPMedia) {
  1135. return This->lpVtbl->currentItem(This,ppIWMPMedia);
  1136. }
  1137. static FORCEINLINE HRESULT IWMPControls_put_currentItem(IWMPControls* This,IWMPMedia *ppIWMPMedia) {
  1138. return This->lpVtbl->put_currentItem(This,ppIWMPMedia);
  1139. }
  1140. static FORCEINLINE HRESULT IWMPControls_get_currentMarker(IWMPControls* This,LONG *plMarker) {
  1141. return This->lpVtbl->get_currentMarker(This,plMarker);
  1142. }
  1143. static FORCEINLINE HRESULT IWMPControls_put_currentMarker(IWMPControls* This,LONG plMarker) {
  1144. return This->lpVtbl->put_currentMarker(This,plMarker);
  1145. }
  1146. static FORCEINLINE HRESULT IWMPControls_playItem(IWMPControls* This,IWMPMedia *pIWMPMedia) {
  1147. return This->lpVtbl->playItem(This,pIWMPMedia);
  1148. }
  1149. #endif
  1150. #endif
  1151. #endif
  1152. #endif /* __IWMPControls_INTERFACE_DEFINED__ */
  1153. /*****************************************************************************
  1154. * IWMPControls2 interface
  1155. */
  1156. #ifndef __IWMPControls2_INTERFACE_DEFINED__
  1157. #define __IWMPControls2_INTERFACE_DEFINED__
  1158. DEFINE_GUID(IID_IWMPControls2, 0x6f030d25, 0x0890, 0x480f, 0x97,0x75, 0x1f,0x7e,0x40,0xab,0x5b,0x8e);
  1159. #if defined(__cplusplus) && !defined(CINTERFACE)
  1160. MIDL_INTERFACE("6f030d25-0890-480f-9775-1f7e40ab5b8e")
  1161. IWMPControls2 : public IWMPControls
  1162. {
  1163. virtual HRESULT STDMETHODCALLTYPE step(
  1164. LONG lStep) = 0;
  1165. };
  1166. #ifdef __CRT_UUID_DECL
  1167. __CRT_UUID_DECL(IWMPControls2, 0x6f030d25, 0x0890, 0x480f, 0x97,0x75, 0x1f,0x7e,0x40,0xab,0x5b,0x8e)
  1168. #endif
  1169. #else
  1170. typedef struct IWMPControls2Vtbl {
  1171. BEGIN_INTERFACE
  1172. /*** IUnknown methods ***/
  1173. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1174. IWMPControls2 *This,
  1175. REFIID riid,
  1176. void **ppvObject);
  1177. ULONG (STDMETHODCALLTYPE *AddRef)(
  1178. IWMPControls2 *This);
  1179. ULONG (STDMETHODCALLTYPE *Release)(
  1180. IWMPControls2 *This);
  1181. /*** IDispatch methods ***/
  1182. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1183. IWMPControls2 *This,
  1184. UINT *pctinfo);
  1185. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1186. IWMPControls2 *This,
  1187. UINT iTInfo,
  1188. LCID lcid,
  1189. ITypeInfo **ppTInfo);
  1190. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1191. IWMPControls2 *This,
  1192. REFIID riid,
  1193. LPOLESTR *rgszNames,
  1194. UINT cNames,
  1195. LCID lcid,
  1196. DISPID *rgDispId);
  1197. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1198. IWMPControls2 *This,
  1199. DISPID dispIdMember,
  1200. REFIID riid,
  1201. LCID lcid,
  1202. WORD wFlags,
  1203. DISPPARAMS *pDispParams,
  1204. VARIANT *pVarResult,
  1205. EXCEPINFO *pExcepInfo,
  1206. UINT *puArgErr);
  1207. /*** IWMPControls methods ***/
  1208. HRESULT (STDMETHODCALLTYPE *get_isAvailable)(
  1209. IWMPControls2 *This,
  1210. BSTR bstrItem,
  1211. VARIANT_BOOL *pIsAvailable);
  1212. HRESULT (STDMETHODCALLTYPE *play)(
  1213. IWMPControls2 *This);
  1214. HRESULT (STDMETHODCALLTYPE *stop)(
  1215. IWMPControls2 *This);
  1216. HRESULT (STDMETHODCALLTYPE *pause)(
  1217. IWMPControls2 *This);
  1218. HRESULT (STDMETHODCALLTYPE *fastForward)(
  1219. IWMPControls2 *This);
  1220. HRESULT (STDMETHODCALLTYPE *fastReverse)(
  1221. IWMPControls2 *This);
  1222. HRESULT (STDMETHODCALLTYPE *get_currentPosition)(
  1223. IWMPControls2 *This,
  1224. double *pdCurrentPosition);
  1225. HRESULT (STDMETHODCALLTYPE *put_currentPosition)(
  1226. IWMPControls2 *This,
  1227. double pdCurrentPosition);
  1228. HRESULT (STDMETHODCALLTYPE *get_currentPositionString)(
  1229. IWMPControls2 *This,
  1230. BSTR *pbstrCurrentPosition);
  1231. HRESULT (STDMETHODCALLTYPE *next)(
  1232. IWMPControls2 *This);
  1233. HRESULT (STDMETHODCALLTYPE *previous)(
  1234. IWMPControls2 *This);
  1235. HRESULT (STDMETHODCALLTYPE *currentItem)(
  1236. IWMPControls2 *This,
  1237. IWMPMedia **ppIWMPMedia);
  1238. HRESULT (STDMETHODCALLTYPE *put_currentItem)(
  1239. IWMPControls2 *This,
  1240. IWMPMedia *ppIWMPMedia);
  1241. HRESULT (STDMETHODCALLTYPE *get_currentMarker)(
  1242. IWMPControls2 *This,
  1243. LONG *plMarker);
  1244. HRESULT (STDMETHODCALLTYPE *put_currentMarker)(
  1245. IWMPControls2 *This,
  1246. LONG plMarker);
  1247. HRESULT (STDMETHODCALLTYPE *playItem)(
  1248. IWMPControls2 *This,
  1249. IWMPMedia *pIWMPMedia);
  1250. /*** IWMPControls2 methods ***/
  1251. HRESULT (STDMETHODCALLTYPE *step)(
  1252. IWMPControls2 *This,
  1253. LONG lStep);
  1254. END_INTERFACE
  1255. } IWMPControls2Vtbl;
  1256. interface IWMPControls2 {
  1257. CONST_VTBL IWMPControls2Vtbl* lpVtbl;
  1258. };
  1259. #ifdef COBJMACROS
  1260. #ifndef WIDL_C_INLINE_WRAPPERS
  1261. /*** IUnknown methods ***/
  1262. #define IWMPControls2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1263. #define IWMPControls2_AddRef(This) (This)->lpVtbl->AddRef(This)
  1264. #define IWMPControls2_Release(This) (This)->lpVtbl->Release(This)
  1265. /*** IDispatch methods ***/
  1266. #define IWMPControls2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1267. #define IWMPControls2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1268. #define IWMPControls2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1269. #define IWMPControls2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1270. /*** IWMPControls methods ***/
  1271. #define IWMPControls2_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable)
  1272. #define IWMPControls2_play(This) (This)->lpVtbl->play(This)
  1273. #define IWMPControls2_stop(This) (This)->lpVtbl->stop(This)
  1274. #define IWMPControls2_pause(This) (This)->lpVtbl->pause(This)
  1275. #define IWMPControls2_fastForward(This) (This)->lpVtbl->fastForward(This)
  1276. #define IWMPControls2_fastReverse(This) (This)->lpVtbl->fastReverse(This)
  1277. #define IWMPControls2_get_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->get_currentPosition(This,pdCurrentPosition)
  1278. #define IWMPControls2_put_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->put_currentPosition(This,pdCurrentPosition)
  1279. #define IWMPControls2_get_currentPositionString(This,pbstrCurrentPosition) (This)->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition)
  1280. #define IWMPControls2_next(This) (This)->lpVtbl->next(This)
  1281. #define IWMPControls2_previous(This) (This)->lpVtbl->previous(This)
  1282. #define IWMPControls2_currentItem(This,ppIWMPMedia) (This)->lpVtbl->currentItem(This,ppIWMPMedia)
  1283. #define IWMPControls2_put_currentItem(This,ppIWMPMedia) (This)->lpVtbl->put_currentItem(This,ppIWMPMedia)
  1284. #define IWMPControls2_get_currentMarker(This,plMarker) (This)->lpVtbl->get_currentMarker(This,plMarker)
  1285. #define IWMPControls2_put_currentMarker(This,plMarker) (This)->lpVtbl->put_currentMarker(This,plMarker)
  1286. #define IWMPControls2_playItem(This,pIWMPMedia) (This)->lpVtbl->playItem(This,pIWMPMedia)
  1287. /*** IWMPControls2 methods ***/
  1288. #define IWMPControls2_step(This,lStep) (This)->lpVtbl->step(This,lStep)
  1289. #else
  1290. /*** IUnknown methods ***/
  1291. static FORCEINLINE HRESULT IWMPControls2_QueryInterface(IWMPControls2* This,REFIID riid,void **ppvObject) {
  1292. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1293. }
  1294. static FORCEINLINE ULONG IWMPControls2_AddRef(IWMPControls2* This) {
  1295. return This->lpVtbl->AddRef(This);
  1296. }
  1297. static FORCEINLINE ULONG IWMPControls2_Release(IWMPControls2* This) {
  1298. return This->lpVtbl->Release(This);
  1299. }
  1300. /*** IDispatch methods ***/
  1301. static FORCEINLINE HRESULT IWMPControls2_GetTypeInfoCount(IWMPControls2* This,UINT *pctinfo) {
  1302. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1303. }
  1304. static FORCEINLINE HRESULT IWMPControls2_GetTypeInfo(IWMPControls2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1305. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1306. }
  1307. static FORCEINLINE HRESULT IWMPControls2_GetIDsOfNames(IWMPControls2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1308. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1309. }
  1310. static FORCEINLINE HRESULT IWMPControls2_Invoke(IWMPControls2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1311. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1312. }
  1313. /*** IWMPControls methods ***/
  1314. static FORCEINLINE HRESULT IWMPControls2_get_isAvailable(IWMPControls2* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) {
  1315. return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable);
  1316. }
  1317. static FORCEINLINE HRESULT IWMPControls2_play(IWMPControls2* This) {
  1318. return This->lpVtbl->play(This);
  1319. }
  1320. static FORCEINLINE HRESULT IWMPControls2_stop(IWMPControls2* This) {
  1321. return This->lpVtbl->stop(This);
  1322. }
  1323. static FORCEINLINE HRESULT IWMPControls2_pause(IWMPControls2* This) {
  1324. return This->lpVtbl->pause(This);
  1325. }
  1326. static FORCEINLINE HRESULT IWMPControls2_fastForward(IWMPControls2* This) {
  1327. return This->lpVtbl->fastForward(This);
  1328. }
  1329. static FORCEINLINE HRESULT IWMPControls2_fastReverse(IWMPControls2* This) {
  1330. return This->lpVtbl->fastReverse(This);
  1331. }
  1332. static FORCEINLINE HRESULT IWMPControls2_get_currentPosition(IWMPControls2* This,double *pdCurrentPosition) {
  1333. return This->lpVtbl->get_currentPosition(This,pdCurrentPosition);
  1334. }
  1335. static FORCEINLINE HRESULT IWMPControls2_put_currentPosition(IWMPControls2* This,double pdCurrentPosition) {
  1336. return This->lpVtbl->put_currentPosition(This,pdCurrentPosition);
  1337. }
  1338. static FORCEINLINE HRESULT IWMPControls2_get_currentPositionString(IWMPControls2* This,BSTR *pbstrCurrentPosition) {
  1339. return This->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition);
  1340. }
  1341. static FORCEINLINE HRESULT IWMPControls2_next(IWMPControls2* This) {
  1342. return This->lpVtbl->next(This);
  1343. }
  1344. static FORCEINLINE HRESULT IWMPControls2_previous(IWMPControls2* This) {
  1345. return This->lpVtbl->previous(This);
  1346. }
  1347. static FORCEINLINE HRESULT IWMPControls2_currentItem(IWMPControls2* This,IWMPMedia **ppIWMPMedia) {
  1348. return This->lpVtbl->currentItem(This,ppIWMPMedia);
  1349. }
  1350. static FORCEINLINE HRESULT IWMPControls2_put_currentItem(IWMPControls2* This,IWMPMedia *ppIWMPMedia) {
  1351. return This->lpVtbl->put_currentItem(This,ppIWMPMedia);
  1352. }
  1353. static FORCEINLINE HRESULT IWMPControls2_get_currentMarker(IWMPControls2* This,LONG *plMarker) {
  1354. return This->lpVtbl->get_currentMarker(This,plMarker);
  1355. }
  1356. static FORCEINLINE HRESULT IWMPControls2_put_currentMarker(IWMPControls2* This,LONG plMarker) {
  1357. return This->lpVtbl->put_currentMarker(This,plMarker);
  1358. }
  1359. static FORCEINLINE HRESULT IWMPControls2_playItem(IWMPControls2* This,IWMPMedia *pIWMPMedia) {
  1360. return This->lpVtbl->playItem(This,pIWMPMedia);
  1361. }
  1362. /*** IWMPControls2 methods ***/
  1363. static FORCEINLINE HRESULT IWMPControls2_step(IWMPControls2* This,LONG lStep) {
  1364. return This->lpVtbl->step(This,lStep);
  1365. }
  1366. #endif
  1367. #endif
  1368. #endif
  1369. #endif /* __IWMPControls2_INTERFACE_DEFINED__ */
  1370. /*****************************************************************************
  1371. * IWMPRemoteMediaServices interface
  1372. */
  1373. #ifndef __IWMPRemoteMediaServices_INTERFACE_DEFINED__
  1374. #define __IWMPRemoteMediaServices_INTERFACE_DEFINED__
  1375. DEFINE_GUID(IID_IWMPRemoteMediaServices, 0xcbb92747, 0x741f, 0x44fe, 0xab,0x5b, 0xf1,0xa4,0x8f,0x3b,0x2a,0x59);
  1376. #if defined(__cplusplus) && !defined(CINTERFACE)
  1377. MIDL_INTERFACE("cbb92747-741f-44fe-ab5b-f1a48f3b2a59")
  1378. IWMPRemoteMediaServices : public IUnknown
  1379. {
  1380. virtual HRESULT STDMETHODCALLTYPE GetServiceType(
  1381. BSTR *type) = 0;
  1382. virtual HRESULT STDMETHODCALLTYPE GetApplicationName(
  1383. BSTR *name) = 0;
  1384. virtual HRESULT STDMETHODCALLTYPE GetScriptableObject(
  1385. BSTR *name,
  1386. IDispatch **out) = 0;
  1387. virtual HRESULT STDMETHODCALLTYPE GetCustomUIMode(
  1388. BSTR *file) = 0;
  1389. };
  1390. #ifdef __CRT_UUID_DECL
  1391. __CRT_UUID_DECL(IWMPRemoteMediaServices, 0xcbb92747, 0x741f, 0x44fe, 0xab,0x5b, 0xf1,0xa4,0x8f,0x3b,0x2a,0x59)
  1392. #endif
  1393. #else
  1394. typedef struct IWMPRemoteMediaServicesVtbl {
  1395. BEGIN_INTERFACE
  1396. /*** IUnknown methods ***/
  1397. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1398. IWMPRemoteMediaServices *This,
  1399. REFIID riid,
  1400. void **ppvObject);
  1401. ULONG (STDMETHODCALLTYPE *AddRef)(
  1402. IWMPRemoteMediaServices *This);
  1403. ULONG (STDMETHODCALLTYPE *Release)(
  1404. IWMPRemoteMediaServices *This);
  1405. /*** IWMPRemoteMediaServices methods ***/
  1406. HRESULT (STDMETHODCALLTYPE *GetServiceType)(
  1407. IWMPRemoteMediaServices *This,
  1408. BSTR *type);
  1409. HRESULT (STDMETHODCALLTYPE *GetApplicationName)(
  1410. IWMPRemoteMediaServices *This,
  1411. BSTR *name);
  1412. HRESULT (STDMETHODCALLTYPE *GetScriptableObject)(
  1413. IWMPRemoteMediaServices *This,
  1414. BSTR *name,
  1415. IDispatch **out);
  1416. HRESULT (STDMETHODCALLTYPE *GetCustomUIMode)(
  1417. IWMPRemoteMediaServices *This,
  1418. BSTR *file);
  1419. END_INTERFACE
  1420. } IWMPRemoteMediaServicesVtbl;
  1421. interface IWMPRemoteMediaServices {
  1422. CONST_VTBL IWMPRemoteMediaServicesVtbl* lpVtbl;
  1423. };
  1424. #ifdef COBJMACROS
  1425. #ifndef WIDL_C_INLINE_WRAPPERS
  1426. /*** IUnknown methods ***/
  1427. #define IWMPRemoteMediaServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1428. #define IWMPRemoteMediaServices_AddRef(This) (This)->lpVtbl->AddRef(This)
  1429. #define IWMPRemoteMediaServices_Release(This) (This)->lpVtbl->Release(This)
  1430. /*** IWMPRemoteMediaServices methods ***/
  1431. #define IWMPRemoteMediaServices_GetServiceType(This,type) (This)->lpVtbl->GetServiceType(This,type)
  1432. #define IWMPRemoteMediaServices_GetApplicationName(This,name) (This)->lpVtbl->GetApplicationName(This,name)
  1433. #define IWMPRemoteMediaServices_GetScriptableObject(This,name,out) (This)->lpVtbl->GetScriptableObject(This,name,out)
  1434. #define IWMPRemoteMediaServices_GetCustomUIMode(This,file) (This)->lpVtbl->GetCustomUIMode(This,file)
  1435. #else
  1436. /*** IUnknown methods ***/
  1437. static FORCEINLINE HRESULT IWMPRemoteMediaServices_QueryInterface(IWMPRemoteMediaServices* This,REFIID riid,void **ppvObject) {
  1438. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1439. }
  1440. static FORCEINLINE ULONG IWMPRemoteMediaServices_AddRef(IWMPRemoteMediaServices* This) {
  1441. return This->lpVtbl->AddRef(This);
  1442. }
  1443. static FORCEINLINE ULONG IWMPRemoteMediaServices_Release(IWMPRemoteMediaServices* This) {
  1444. return This->lpVtbl->Release(This);
  1445. }
  1446. /*** IWMPRemoteMediaServices methods ***/
  1447. static FORCEINLINE HRESULT IWMPRemoteMediaServices_GetServiceType(IWMPRemoteMediaServices* This,BSTR *type) {
  1448. return This->lpVtbl->GetServiceType(This,type);
  1449. }
  1450. static FORCEINLINE HRESULT IWMPRemoteMediaServices_GetApplicationName(IWMPRemoteMediaServices* This,BSTR *name) {
  1451. return This->lpVtbl->GetApplicationName(This,name);
  1452. }
  1453. static FORCEINLINE HRESULT IWMPRemoteMediaServices_GetScriptableObject(IWMPRemoteMediaServices* This,BSTR *name,IDispatch **out) {
  1454. return This->lpVtbl->GetScriptableObject(This,name,out);
  1455. }
  1456. static FORCEINLINE HRESULT IWMPRemoteMediaServices_GetCustomUIMode(IWMPRemoteMediaServices* This,BSTR *file) {
  1457. return This->lpVtbl->GetCustomUIMode(This,file);
  1458. }
  1459. #endif
  1460. #endif
  1461. #endif
  1462. #endif /* __IWMPRemoteMediaServices_INTERFACE_DEFINED__ */
  1463. /*****************************************************************************
  1464. * IWMPSettings interface
  1465. */
  1466. #ifndef __IWMPSettings_INTERFACE_DEFINED__
  1467. #define __IWMPSettings_INTERFACE_DEFINED__
  1468. DEFINE_GUID(IID_IWMPSettings, 0x9104d1ab, 0x80c9, 0x4fed, 0xab,0xf0, 0x2e,0x64,0x17,0xa6,0xdf,0x14);
  1469. #if defined(__cplusplus) && !defined(CINTERFACE)
  1470. MIDL_INTERFACE("9104d1ab-80c9-4fed-abf0-2e6417a6df14")
  1471. IWMPSettings : public IDispatch
  1472. {
  1473. virtual HRESULT STDMETHODCALLTYPE get_isAvailable(
  1474. BSTR bstrItem,
  1475. VARIANT_BOOL *pIsAvailable) = 0;
  1476. virtual HRESULT STDMETHODCALLTYPE get_autoStart(
  1477. VARIANT_BOOL *pfAutoStart) = 0;
  1478. virtual HRESULT STDMETHODCALLTYPE put_autoStart(
  1479. VARIANT_BOOL pfAutoStart) = 0;
  1480. virtual HRESULT STDMETHODCALLTYPE get_baseURL(
  1481. BSTR *pbstrBaseURL) = 0;
  1482. virtual HRESULT STDMETHODCALLTYPE put_baseURL(
  1483. BSTR pbstrBaseURL) = 0;
  1484. virtual HRESULT STDMETHODCALLTYPE get_defaultFrame(
  1485. BSTR *pbstrDefaultFrame) = 0;
  1486. virtual HRESULT STDMETHODCALLTYPE put_defaultFrame(
  1487. BSTR pbstrDefaultFrame) = 0;
  1488. virtual HRESULT STDMETHODCALLTYPE get_invokeURLs(
  1489. VARIANT_BOOL *pfInvokeURLs) = 0;
  1490. virtual HRESULT STDMETHODCALLTYPE put_invokeURLs(
  1491. VARIANT_BOOL pfInvokeURLs) = 0;
  1492. virtual HRESULT STDMETHODCALLTYPE get_mute(
  1493. VARIANT_BOOL *pfMute) = 0;
  1494. virtual HRESULT STDMETHODCALLTYPE put_mute(
  1495. VARIANT_BOOL pfMute) = 0;
  1496. virtual HRESULT STDMETHODCALLTYPE get_playCount(
  1497. LONG *plCount) = 0;
  1498. virtual HRESULT STDMETHODCALLTYPE put_playCount(
  1499. LONG plCount) = 0;
  1500. virtual HRESULT STDMETHODCALLTYPE get_rate(
  1501. double *pdRate) = 0;
  1502. virtual HRESULT STDMETHODCALLTYPE put_rate(
  1503. double pdRate) = 0;
  1504. virtual HRESULT STDMETHODCALLTYPE get_balance(
  1505. LONG *plBalance) = 0;
  1506. virtual HRESULT STDMETHODCALLTYPE put_balance(
  1507. LONG plBalance) = 0;
  1508. virtual HRESULT STDMETHODCALLTYPE get_volume(
  1509. LONG *plVolume) = 0;
  1510. virtual HRESULT STDMETHODCALLTYPE put_volume(
  1511. LONG plVolume) = 0;
  1512. virtual HRESULT STDMETHODCALLTYPE getMode(
  1513. BSTR bstrMode,
  1514. VARIANT_BOOL *pvarfMode) = 0;
  1515. virtual HRESULT STDMETHODCALLTYPE setMode(
  1516. BSTR bstrMode,
  1517. VARIANT_BOOL varfMode) = 0;
  1518. virtual HRESULT STDMETHODCALLTYPE get_enableErrorDialogs(
  1519. VARIANT_BOOL *pfEnableErrorDialogs) = 0;
  1520. virtual HRESULT STDMETHODCALLTYPE put_enableErrorDialogs(
  1521. VARIANT_BOOL pfEnableErrorDialogs) = 0;
  1522. };
  1523. #ifdef __CRT_UUID_DECL
  1524. __CRT_UUID_DECL(IWMPSettings, 0x9104d1ab, 0x80c9, 0x4fed, 0xab,0xf0, 0x2e,0x64,0x17,0xa6,0xdf,0x14)
  1525. #endif
  1526. #else
  1527. typedef struct IWMPSettingsVtbl {
  1528. BEGIN_INTERFACE
  1529. /*** IUnknown methods ***/
  1530. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1531. IWMPSettings *This,
  1532. REFIID riid,
  1533. void **ppvObject);
  1534. ULONG (STDMETHODCALLTYPE *AddRef)(
  1535. IWMPSettings *This);
  1536. ULONG (STDMETHODCALLTYPE *Release)(
  1537. IWMPSettings *This);
  1538. /*** IDispatch methods ***/
  1539. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1540. IWMPSettings *This,
  1541. UINT *pctinfo);
  1542. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1543. IWMPSettings *This,
  1544. UINT iTInfo,
  1545. LCID lcid,
  1546. ITypeInfo **ppTInfo);
  1547. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1548. IWMPSettings *This,
  1549. REFIID riid,
  1550. LPOLESTR *rgszNames,
  1551. UINT cNames,
  1552. LCID lcid,
  1553. DISPID *rgDispId);
  1554. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1555. IWMPSettings *This,
  1556. DISPID dispIdMember,
  1557. REFIID riid,
  1558. LCID lcid,
  1559. WORD wFlags,
  1560. DISPPARAMS *pDispParams,
  1561. VARIANT *pVarResult,
  1562. EXCEPINFO *pExcepInfo,
  1563. UINT *puArgErr);
  1564. /*** IWMPSettings methods ***/
  1565. HRESULT (STDMETHODCALLTYPE *get_isAvailable)(
  1566. IWMPSettings *This,
  1567. BSTR bstrItem,
  1568. VARIANT_BOOL *pIsAvailable);
  1569. HRESULT (STDMETHODCALLTYPE *get_autoStart)(
  1570. IWMPSettings *This,
  1571. VARIANT_BOOL *pfAutoStart);
  1572. HRESULT (STDMETHODCALLTYPE *put_autoStart)(
  1573. IWMPSettings *This,
  1574. VARIANT_BOOL pfAutoStart);
  1575. HRESULT (STDMETHODCALLTYPE *get_baseURL)(
  1576. IWMPSettings *This,
  1577. BSTR *pbstrBaseURL);
  1578. HRESULT (STDMETHODCALLTYPE *put_baseURL)(
  1579. IWMPSettings *This,
  1580. BSTR pbstrBaseURL);
  1581. HRESULT (STDMETHODCALLTYPE *get_defaultFrame)(
  1582. IWMPSettings *This,
  1583. BSTR *pbstrDefaultFrame);
  1584. HRESULT (STDMETHODCALLTYPE *put_defaultFrame)(
  1585. IWMPSettings *This,
  1586. BSTR pbstrDefaultFrame);
  1587. HRESULT (STDMETHODCALLTYPE *get_invokeURLs)(
  1588. IWMPSettings *This,
  1589. VARIANT_BOOL *pfInvokeURLs);
  1590. HRESULT (STDMETHODCALLTYPE *put_invokeURLs)(
  1591. IWMPSettings *This,
  1592. VARIANT_BOOL pfInvokeURLs);
  1593. HRESULT (STDMETHODCALLTYPE *get_mute)(
  1594. IWMPSettings *This,
  1595. VARIANT_BOOL *pfMute);
  1596. HRESULT (STDMETHODCALLTYPE *put_mute)(
  1597. IWMPSettings *This,
  1598. VARIANT_BOOL pfMute);
  1599. HRESULT (STDMETHODCALLTYPE *get_playCount)(
  1600. IWMPSettings *This,
  1601. LONG *plCount);
  1602. HRESULT (STDMETHODCALLTYPE *put_playCount)(
  1603. IWMPSettings *This,
  1604. LONG plCount);
  1605. HRESULT (STDMETHODCALLTYPE *get_rate)(
  1606. IWMPSettings *This,
  1607. double *pdRate);
  1608. HRESULT (STDMETHODCALLTYPE *put_rate)(
  1609. IWMPSettings *This,
  1610. double pdRate);
  1611. HRESULT (STDMETHODCALLTYPE *get_balance)(
  1612. IWMPSettings *This,
  1613. LONG *plBalance);
  1614. HRESULT (STDMETHODCALLTYPE *put_balance)(
  1615. IWMPSettings *This,
  1616. LONG plBalance);
  1617. HRESULT (STDMETHODCALLTYPE *get_volume)(
  1618. IWMPSettings *This,
  1619. LONG *plVolume);
  1620. HRESULT (STDMETHODCALLTYPE *put_volume)(
  1621. IWMPSettings *This,
  1622. LONG plVolume);
  1623. HRESULT (STDMETHODCALLTYPE *getMode)(
  1624. IWMPSettings *This,
  1625. BSTR bstrMode,
  1626. VARIANT_BOOL *pvarfMode);
  1627. HRESULT (STDMETHODCALLTYPE *setMode)(
  1628. IWMPSettings *This,
  1629. BSTR bstrMode,
  1630. VARIANT_BOOL varfMode);
  1631. HRESULT (STDMETHODCALLTYPE *get_enableErrorDialogs)(
  1632. IWMPSettings *This,
  1633. VARIANT_BOOL *pfEnableErrorDialogs);
  1634. HRESULT (STDMETHODCALLTYPE *put_enableErrorDialogs)(
  1635. IWMPSettings *This,
  1636. VARIANT_BOOL pfEnableErrorDialogs);
  1637. END_INTERFACE
  1638. } IWMPSettingsVtbl;
  1639. interface IWMPSettings {
  1640. CONST_VTBL IWMPSettingsVtbl* lpVtbl;
  1641. };
  1642. #ifdef COBJMACROS
  1643. #ifndef WIDL_C_INLINE_WRAPPERS
  1644. /*** IUnknown methods ***/
  1645. #define IWMPSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1646. #define IWMPSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
  1647. #define IWMPSettings_Release(This) (This)->lpVtbl->Release(This)
  1648. /*** IDispatch methods ***/
  1649. #define IWMPSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1650. #define IWMPSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1651. #define IWMPSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1652. #define IWMPSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1653. /*** IWMPSettings methods ***/
  1654. #define IWMPSettings_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable)
  1655. #define IWMPSettings_get_autoStart(This,pfAutoStart) (This)->lpVtbl->get_autoStart(This,pfAutoStart)
  1656. #define IWMPSettings_put_autoStart(This,pfAutoStart) (This)->lpVtbl->put_autoStart(This,pfAutoStart)
  1657. #define IWMPSettings_get_baseURL(This,pbstrBaseURL) (This)->lpVtbl->get_baseURL(This,pbstrBaseURL)
  1658. #define IWMPSettings_put_baseURL(This,pbstrBaseURL) (This)->lpVtbl->put_baseURL(This,pbstrBaseURL)
  1659. #define IWMPSettings_get_defaultFrame(This,pbstrDefaultFrame) (This)->lpVtbl->get_defaultFrame(This,pbstrDefaultFrame)
  1660. #define IWMPSettings_put_defaultFrame(This,pbstrDefaultFrame) (This)->lpVtbl->put_defaultFrame(This,pbstrDefaultFrame)
  1661. #define IWMPSettings_get_invokeURLs(This,pfInvokeURLs) (This)->lpVtbl->get_invokeURLs(This,pfInvokeURLs)
  1662. #define IWMPSettings_put_invokeURLs(This,pfInvokeURLs) (This)->lpVtbl->put_invokeURLs(This,pfInvokeURLs)
  1663. #define IWMPSettings_get_mute(This,pfMute) (This)->lpVtbl->get_mute(This,pfMute)
  1664. #define IWMPSettings_put_mute(This,pfMute) (This)->lpVtbl->put_mute(This,pfMute)
  1665. #define IWMPSettings_get_playCount(This,plCount) (This)->lpVtbl->get_playCount(This,plCount)
  1666. #define IWMPSettings_put_playCount(This,plCount) (This)->lpVtbl->put_playCount(This,plCount)
  1667. #define IWMPSettings_get_rate(This,pdRate) (This)->lpVtbl->get_rate(This,pdRate)
  1668. #define IWMPSettings_put_rate(This,pdRate) (This)->lpVtbl->put_rate(This,pdRate)
  1669. #define IWMPSettings_get_balance(This,plBalance) (This)->lpVtbl->get_balance(This,plBalance)
  1670. #define IWMPSettings_put_balance(This,plBalance) (This)->lpVtbl->put_balance(This,plBalance)
  1671. #define IWMPSettings_get_volume(This,plVolume) (This)->lpVtbl->get_volume(This,plVolume)
  1672. #define IWMPSettings_put_volume(This,plVolume) (This)->lpVtbl->put_volume(This,plVolume)
  1673. #define IWMPSettings_getMode(This,bstrMode,pvarfMode) (This)->lpVtbl->getMode(This,bstrMode,pvarfMode)
  1674. #define IWMPSettings_setMode(This,bstrMode,varfMode) (This)->lpVtbl->setMode(This,bstrMode,varfMode)
  1675. #define IWMPSettings_get_enableErrorDialogs(This,pfEnableErrorDialogs) (This)->lpVtbl->get_enableErrorDialogs(This,pfEnableErrorDialogs)
  1676. #define IWMPSettings_put_enableErrorDialogs(This,pfEnableErrorDialogs) (This)->lpVtbl->put_enableErrorDialogs(This,pfEnableErrorDialogs)
  1677. #else
  1678. /*** IUnknown methods ***/
  1679. static FORCEINLINE HRESULT IWMPSettings_QueryInterface(IWMPSettings* This,REFIID riid,void **ppvObject) {
  1680. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1681. }
  1682. static FORCEINLINE ULONG IWMPSettings_AddRef(IWMPSettings* This) {
  1683. return This->lpVtbl->AddRef(This);
  1684. }
  1685. static FORCEINLINE ULONG IWMPSettings_Release(IWMPSettings* This) {
  1686. return This->lpVtbl->Release(This);
  1687. }
  1688. /*** IDispatch methods ***/
  1689. static FORCEINLINE HRESULT IWMPSettings_GetTypeInfoCount(IWMPSettings* This,UINT *pctinfo) {
  1690. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1691. }
  1692. static FORCEINLINE HRESULT IWMPSettings_GetTypeInfo(IWMPSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1693. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1694. }
  1695. static FORCEINLINE HRESULT IWMPSettings_GetIDsOfNames(IWMPSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1696. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1697. }
  1698. static FORCEINLINE HRESULT IWMPSettings_Invoke(IWMPSettings* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1699. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1700. }
  1701. /*** IWMPSettings methods ***/
  1702. static FORCEINLINE HRESULT IWMPSettings_get_isAvailable(IWMPSettings* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) {
  1703. return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable);
  1704. }
  1705. static FORCEINLINE HRESULT IWMPSettings_get_autoStart(IWMPSettings* This,VARIANT_BOOL *pfAutoStart) {
  1706. return This->lpVtbl->get_autoStart(This,pfAutoStart);
  1707. }
  1708. static FORCEINLINE HRESULT IWMPSettings_put_autoStart(IWMPSettings* This,VARIANT_BOOL pfAutoStart) {
  1709. return This->lpVtbl->put_autoStart(This,pfAutoStart);
  1710. }
  1711. static FORCEINLINE HRESULT IWMPSettings_get_baseURL(IWMPSettings* This,BSTR *pbstrBaseURL) {
  1712. return This->lpVtbl->get_baseURL(This,pbstrBaseURL);
  1713. }
  1714. static FORCEINLINE HRESULT IWMPSettings_put_baseURL(IWMPSettings* This,BSTR pbstrBaseURL) {
  1715. return This->lpVtbl->put_baseURL(This,pbstrBaseURL);
  1716. }
  1717. static FORCEINLINE HRESULT IWMPSettings_get_defaultFrame(IWMPSettings* This,BSTR *pbstrDefaultFrame) {
  1718. return This->lpVtbl->get_defaultFrame(This,pbstrDefaultFrame);
  1719. }
  1720. static FORCEINLINE HRESULT IWMPSettings_put_defaultFrame(IWMPSettings* This,BSTR pbstrDefaultFrame) {
  1721. return This->lpVtbl->put_defaultFrame(This,pbstrDefaultFrame);
  1722. }
  1723. static FORCEINLINE HRESULT IWMPSettings_get_invokeURLs(IWMPSettings* This,VARIANT_BOOL *pfInvokeURLs) {
  1724. return This->lpVtbl->get_invokeURLs(This,pfInvokeURLs);
  1725. }
  1726. static FORCEINLINE HRESULT IWMPSettings_put_invokeURLs(IWMPSettings* This,VARIANT_BOOL pfInvokeURLs) {
  1727. return This->lpVtbl->put_invokeURLs(This,pfInvokeURLs);
  1728. }
  1729. static FORCEINLINE HRESULT IWMPSettings_get_mute(IWMPSettings* This,VARIANT_BOOL *pfMute) {
  1730. return This->lpVtbl->get_mute(This,pfMute);
  1731. }
  1732. static FORCEINLINE HRESULT IWMPSettings_put_mute(IWMPSettings* This,VARIANT_BOOL pfMute) {
  1733. return This->lpVtbl->put_mute(This,pfMute);
  1734. }
  1735. static FORCEINLINE HRESULT IWMPSettings_get_playCount(IWMPSettings* This,LONG *plCount) {
  1736. return This->lpVtbl->get_playCount(This,plCount);
  1737. }
  1738. static FORCEINLINE HRESULT IWMPSettings_put_playCount(IWMPSettings* This,LONG plCount) {
  1739. return This->lpVtbl->put_playCount(This,plCount);
  1740. }
  1741. static FORCEINLINE HRESULT IWMPSettings_get_rate(IWMPSettings* This,double *pdRate) {
  1742. return This->lpVtbl->get_rate(This,pdRate);
  1743. }
  1744. static FORCEINLINE HRESULT IWMPSettings_put_rate(IWMPSettings* This,double pdRate) {
  1745. return This->lpVtbl->put_rate(This,pdRate);
  1746. }
  1747. static FORCEINLINE HRESULT IWMPSettings_get_balance(IWMPSettings* This,LONG *plBalance) {
  1748. return This->lpVtbl->get_balance(This,plBalance);
  1749. }
  1750. static FORCEINLINE HRESULT IWMPSettings_put_balance(IWMPSettings* This,LONG plBalance) {
  1751. return This->lpVtbl->put_balance(This,plBalance);
  1752. }
  1753. static FORCEINLINE HRESULT IWMPSettings_get_volume(IWMPSettings* This,LONG *plVolume) {
  1754. return This->lpVtbl->get_volume(This,plVolume);
  1755. }
  1756. static FORCEINLINE HRESULT IWMPSettings_put_volume(IWMPSettings* This,LONG plVolume) {
  1757. return This->lpVtbl->put_volume(This,plVolume);
  1758. }
  1759. static FORCEINLINE HRESULT IWMPSettings_getMode(IWMPSettings* This,BSTR bstrMode,VARIANT_BOOL *pvarfMode) {
  1760. return This->lpVtbl->getMode(This,bstrMode,pvarfMode);
  1761. }
  1762. static FORCEINLINE HRESULT IWMPSettings_setMode(IWMPSettings* This,BSTR bstrMode,VARIANT_BOOL varfMode) {
  1763. return This->lpVtbl->setMode(This,bstrMode,varfMode);
  1764. }
  1765. static FORCEINLINE HRESULT IWMPSettings_get_enableErrorDialogs(IWMPSettings* This,VARIANT_BOOL *pfEnableErrorDialogs) {
  1766. return This->lpVtbl->get_enableErrorDialogs(This,pfEnableErrorDialogs);
  1767. }
  1768. static FORCEINLINE HRESULT IWMPSettings_put_enableErrorDialogs(IWMPSettings* This,VARIANT_BOOL pfEnableErrorDialogs) {
  1769. return This->lpVtbl->put_enableErrorDialogs(This,pfEnableErrorDialogs);
  1770. }
  1771. #endif
  1772. #endif
  1773. #endif
  1774. #endif /* __IWMPSettings_INTERFACE_DEFINED__ */
  1775. /*****************************************************************************
  1776. * IWMPStringCollection interface
  1777. */
  1778. #ifndef __IWMPStringCollection_INTERFACE_DEFINED__
  1779. #define __IWMPStringCollection_INTERFACE_DEFINED__
  1780. DEFINE_GUID(IID_IWMPStringCollection, 0x4a976298, 0x8c0d, 0x11d3, 0xb3,0x89, 0x00,0xc0,0x4f,0x68,0x57,0x4b);
  1781. #if defined(__cplusplus) && !defined(CINTERFACE)
  1782. MIDL_INTERFACE("4a976298-8c0d-11d3-b389-00c04f68574b")
  1783. IWMPStringCollection : public IDispatch
  1784. {
  1785. virtual HRESULT STDMETHODCALLTYPE get_count(
  1786. LONG *plCount) = 0;
  1787. virtual HRESULT STDMETHODCALLTYPE Item(
  1788. LONG lIndex,
  1789. BSTR *pbstrString) = 0;
  1790. };
  1791. #ifdef __CRT_UUID_DECL
  1792. __CRT_UUID_DECL(IWMPStringCollection, 0x4a976298, 0x8c0d, 0x11d3, 0xb3,0x89, 0x00,0xc0,0x4f,0x68,0x57,0x4b)
  1793. #endif
  1794. #else
  1795. typedef struct IWMPStringCollectionVtbl {
  1796. BEGIN_INTERFACE
  1797. /*** IUnknown methods ***/
  1798. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1799. IWMPStringCollection *This,
  1800. REFIID riid,
  1801. void **ppvObject);
  1802. ULONG (STDMETHODCALLTYPE *AddRef)(
  1803. IWMPStringCollection *This);
  1804. ULONG (STDMETHODCALLTYPE *Release)(
  1805. IWMPStringCollection *This);
  1806. /*** IDispatch methods ***/
  1807. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1808. IWMPStringCollection *This,
  1809. UINT *pctinfo);
  1810. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1811. IWMPStringCollection *This,
  1812. UINT iTInfo,
  1813. LCID lcid,
  1814. ITypeInfo **ppTInfo);
  1815. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1816. IWMPStringCollection *This,
  1817. REFIID riid,
  1818. LPOLESTR *rgszNames,
  1819. UINT cNames,
  1820. LCID lcid,
  1821. DISPID *rgDispId);
  1822. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1823. IWMPStringCollection *This,
  1824. DISPID dispIdMember,
  1825. REFIID riid,
  1826. LCID lcid,
  1827. WORD wFlags,
  1828. DISPPARAMS *pDispParams,
  1829. VARIANT *pVarResult,
  1830. EXCEPINFO *pExcepInfo,
  1831. UINT *puArgErr);
  1832. /*** IWMPStringCollection methods ***/
  1833. HRESULT (STDMETHODCALLTYPE *get_count)(
  1834. IWMPStringCollection *This,
  1835. LONG *plCount);
  1836. HRESULT (STDMETHODCALLTYPE *Item)(
  1837. IWMPStringCollection *This,
  1838. LONG lIndex,
  1839. BSTR *pbstrString);
  1840. END_INTERFACE
  1841. } IWMPStringCollectionVtbl;
  1842. interface IWMPStringCollection {
  1843. CONST_VTBL IWMPStringCollectionVtbl* lpVtbl;
  1844. };
  1845. #ifdef COBJMACROS
  1846. #ifndef WIDL_C_INLINE_WRAPPERS
  1847. /*** IUnknown methods ***/
  1848. #define IWMPStringCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1849. #define IWMPStringCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
  1850. #define IWMPStringCollection_Release(This) (This)->lpVtbl->Release(This)
  1851. /*** IDispatch methods ***/
  1852. #define IWMPStringCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1853. #define IWMPStringCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1854. #define IWMPStringCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1855. #define IWMPStringCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1856. /*** IWMPStringCollection methods ***/
  1857. #define IWMPStringCollection_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount)
  1858. #define IWMPStringCollection_Item(This,lIndex,pbstrString) (This)->lpVtbl->Item(This,lIndex,pbstrString)
  1859. #else
  1860. /*** IUnknown methods ***/
  1861. static FORCEINLINE HRESULT IWMPStringCollection_QueryInterface(IWMPStringCollection* This,REFIID riid,void **ppvObject) {
  1862. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1863. }
  1864. static FORCEINLINE ULONG IWMPStringCollection_AddRef(IWMPStringCollection* This) {
  1865. return This->lpVtbl->AddRef(This);
  1866. }
  1867. static FORCEINLINE ULONG IWMPStringCollection_Release(IWMPStringCollection* This) {
  1868. return This->lpVtbl->Release(This);
  1869. }
  1870. /*** IDispatch methods ***/
  1871. static FORCEINLINE HRESULT IWMPStringCollection_GetTypeInfoCount(IWMPStringCollection* This,UINT *pctinfo) {
  1872. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1873. }
  1874. static FORCEINLINE HRESULT IWMPStringCollection_GetTypeInfo(IWMPStringCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1875. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1876. }
  1877. static FORCEINLINE HRESULT IWMPStringCollection_GetIDsOfNames(IWMPStringCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1878. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1879. }
  1880. static FORCEINLINE HRESULT IWMPStringCollection_Invoke(IWMPStringCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1881. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1882. }
  1883. /*** IWMPStringCollection methods ***/
  1884. static FORCEINLINE HRESULT IWMPStringCollection_get_count(IWMPStringCollection* This,LONG *plCount) {
  1885. return This->lpVtbl->get_count(This,plCount);
  1886. }
  1887. static FORCEINLINE HRESULT IWMPStringCollection_Item(IWMPStringCollection* This,LONG lIndex,BSTR *pbstrString) {
  1888. return This->lpVtbl->Item(This,lIndex,pbstrString);
  1889. }
  1890. #endif
  1891. #endif
  1892. #endif
  1893. #endif /* __IWMPStringCollection_INTERFACE_DEFINED__ */
  1894. /*****************************************************************************
  1895. * IWMPMediaCollection interface
  1896. */
  1897. #ifndef __IWMPMediaCollection_INTERFACE_DEFINED__
  1898. #define __IWMPMediaCollection_INTERFACE_DEFINED__
  1899. DEFINE_GUID(IID_IWMPMediaCollection, 0x8363bc22, 0xb4b4, 0x4b19, 0x98,0x9d, 0x1c,0xd7,0x65,0x74,0x9d,0xd1);
  1900. #if defined(__cplusplus) && !defined(CINTERFACE)
  1901. MIDL_INTERFACE("8363bc22-b4b4-4b19-989d-1cd765749dd1")
  1902. IWMPMediaCollection : public IDispatch
  1903. {
  1904. virtual HRESULT STDMETHODCALLTYPE add(
  1905. BSTR bstrURL,
  1906. IWMPMedia **ppItem) = 0;
  1907. virtual HRESULT STDMETHODCALLTYPE getAll(
  1908. IWMPPlaylist **ppMediaItems) = 0;
  1909. virtual HRESULT STDMETHODCALLTYPE getByName(
  1910. BSTR bstrName,
  1911. IWMPPlaylist **ppMediaItems) = 0;
  1912. virtual HRESULT STDMETHODCALLTYPE getByGenre(
  1913. BSTR bstrGenre,
  1914. IWMPPlaylist **ppMediaItems) = 0;
  1915. virtual HRESULT STDMETHODCALLTYPE getByAuthor(
  1916. BSTR bstrAuthor,
  1917. IWMPPlaylist **ppMediaItems) = 0;
  1918. virtual HRESULT STDMETHODCALLTYPE getByAlbum(
  1919. BSTR bstrAlbum,
  1920. IWMPPlaylist **ppMediaItems) = 0;
  1921. virtual HRESULT STDMETHODCALLTYPE getByAttribute(
  1922. BSTR bstrAttribute,
  1923. BSTR bstrValue,
  1924. IWMPPlaylist **ppMediaItems) = 0;
  1925. virtual HRESULT STDMETHODCALLTYPE remove(
  1926. IWMPMedia *pItem,
  1927. VARIANT_BOOL varfDeleteFile) = 0;
  1928. virtual HRESULT STDMETHODCALLTYPE getAttributeStringCollection(
  1929. BSTR bstrAttribute,
  1930. BSTR bstrMediaType,
  1931. IWMPStringCollection **ppStringCollection) = 0;
  1932. virtual HRESULT STDMETHODCALLTYPE getMediaAtom(
  1933. BSTR bstrItemName,
  1934. LONG *plAtom) = 0;
  1935. virtual HRESULT STDMETHODCALLTYPE setDeleted(
  1936. IWMPMedia *pItem,
  1937. VARIANT_BOOL varfIsDeleted) = 0;
  1938. virtual HRESULT STDMETHODCALLTYPE isDeleted(
  1939. IWMPMedia *pItem,
  1940. VARIANT_BOOL *pvarfIsDeleted) = 0;
  1941. };
  1942. #ifdef __CRT_UUID_DECL
  1943. __CRT_UUID_DECL(IWMPMediaCollection, 0x8363bc22, 0xb4b4, 0x4b19, 0x98,0x9d, 0x1c,0xd7,0x65,0x74,0x9d,0xd1)
  1944. #endif
  1945. #else
  1946. typedef struct IWMPMediaCollectionVtbl {
  1947. BEGIN_INTERFACE
  1948. /*** IUnknown methods ***/
  1949. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1950. IWMPMediaCollection *This,
  1951. REFIID riid,
  1952. void **ppvObject);
  1953. ULONG (STDMETHODCALLTYPE *AddRef)(
  1954. IWMPMediaCollection *This);
  1955. ULONG (STDMETHODCALLTYPE *Release)(
  1956. IWMPMediaCollection *This);
  1957. /*** IDispatch methods ***/
  1958. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1959. IWMPMediaCollection *This,
  1960. UINT *pctinfo);
  1961. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1962. IWMPMediaCollection *This,
  1963. UINT iTInfo,
  1964. LCID lcid,
  1965. ITypeInfo **ppTInfo);
  1966. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1967. IWMPMediaCollection *This,
  1968. REFIID riid,
  1969. LPOLESTR *rgszNames,
  1970. UINT cNames,
  1971. LCID lcid,
  1972. DISPID *rgDispId);
  1973. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1974. IWMPMediaCollection *This,
  1975. DISPID dispIdMember,
  1976. REFIID riid,
  1977. LCID lcid,
  1978. WORD wFlags,
  1979. DISPPARAMS *pDispParams,
  1980. VARIANT *pVarResult,
  1981. EXCEPINFO *pExcepInfo,
  1982. UINT *puArgErr);
  1983. /*** IWMPMediaCollection methods ***/
  1984. HRESULT (STDMETHODCALLTYPE *add)(
  1985. IWMPMediaCollection *This,
  1986. BSTR bstrURL,
  1987. IWMPMedia **ppItem);
  1988. HRESULT (STDMETHODCALLTYPE *getAll)(
  1989. IWMPMediaCollection *This,
  1990. IWMPPlaylist **ppMediaItems);
  1991. HRESULT (STDMETHODCALLTYPE *getByName)(
  1992. IWMPMediaCollection *This,
  1993. BSTR bstrName,
  1994. IWMPPlaylist **ppMediaItems);
  1995. HRESULT (STDMETHODCALLTYPE *getByGenre)(
  1996. IWMPMediaCollection *This,
  1997. BSTR bstrGenre,
  1998. IWMPPlaylist **ppMediaItems);
  1999. HRESULT (STDMETHODCALLTYPE *getByAuthor)(
  2000. IWMPMediaCollection *This,
  2001. BSTR bstrAuthor,
  2002. IWMPPlaylist **ppMediaItems);
  2003. HRESULT (STDMETHODCALLTYPE *getByAlbum)(
  2004. IWMPMediaCollection *This,
  2005. BSTR bstrAlbum,
  2006. IWMPPlaylist **ppMediaItems);
  2007. HRESULT (STDMETHODCALLTYPE *getByAttribute)(
  2008. IWMPMediaCollection *This,
  2009. BSTR bstrAttribute,
  2010. BSTR bstrValue,
  2011. IWMPPlaylist **ppMediaItems);
  2012. HRESULT (STDMETHODCALLTYPE *remove)(
  2013. IWMPMediaCollection *This,
  2014. IWMPMedia *pItem,
  2015. VARIANT_BOOL varfDeleteFile);
  2016. HRESULT (STDMETHODCALLTYPE *getAttributeStringCollection)(
  2017. IWMPMediaCollection *This,
  2018. BSTR bstrAttribute,
  2019. BSTR bstrMediaType,
  2020. IWMPStringCollection **ppStringCollection);
  2021. HRESULT (STDMETHODCALLTYPE *getMediaAtom)(
  2022. IWMPMediaCollection *This,
  2023. BSTR bstrItemName,
  2024. LONG *plAtom);
  2025. HRESULT (STDMETHODCALLTYPE *setDeleted)(
  2026. IWMPMediaCollection *This,
  2027. IWMPMedia *pItem,
  2028. VARIANT_BOOL varfIsDeleted);
  2029. HRESULT (STDMETHODCALLTYPE *isDeleted)(
  2030. IWMPMediaCollection *This,
  2031. IWMPMedia *pItem,
  2032. VARIANT_BOOL *pvarfIsDeleted);
  2033. END_INTERFACE
  2034. } IWMPMediaCollectionVtbl;
  2035. interface IWMPMediaCollection {
  2036. CONST_VTBL IWMPMediaCollectionVtbl* lpVtbl;
  2037. };
  2038. #ifdef COBJMACROS
  2039. #ifndef WIDL_C_INLINE_WRAPPERS
  2040. /*** IUnknown methods ***/
  2041. #define IWMPMediaCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2042. #define IWMPMediaCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
  2043. #define IWMPMediaCollection_Release(This) (This)->lpVtbl->Release(This)
  2044. /*** IDispatch methods ***/
  2045. #define IWMPMediaCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2046. #define IWMPMediaCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2047. #define IWMPMediaCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2048. #define IWMPMediaCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2049. /*** IWMPMediaCollection methods ***/
  2050. #define IWMPMediaCollection_add(This,bstrURL,ppItem) (This)->lpVtbl->add(This,bstrURL,ppItem)
  2051. #define IWMPMediaCollection_getAll(This,ppMediaItems) (This)->lpVtbl->getAll(This,ppMediaItems)
  2052. #define IWMPMediaCollection_getByName(This,bstrName,ppMediaItems) (This)->lpVtbl->getByName(This,bstrName,ppMediaItems)
  2053. #define IWMPMediaCollection_getByGenre(This,bstrGenre,ppMediaItems) (This)->lpVtbl->getByGenre(This,bstrGenre,ppMediaItems)
  2054. #define IWMPMediaCollection_getByAuthor(This,bstrAuthor,ppMediaItems) (This)->lpVtbl->getByAuthor(This,bstrAuthor,ppMediaItems)
  2055. #define IWMPMediaCollection_getByAlbum(This,bstrAlbum,ppMediaItems) (This)->lpVtbl->getByAlbum(This,bstrAlbum,ppMediaItems)
  2056. #define IWMPMediaCollection_getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems) (This)->lpVtbl->getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems)
  2057. #define IWMPMediaCollection_remove(This,pItem,varfDeleteFile) (This)->lpVtbl->remove(This,pItem,varfDeleteFile)
  2058. #define IWMPMediaCollection_getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection) (This)->lpVtbl->getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection)
  2059. #define IWMPMediaCollection_getMediaAtom(This,bstrItemName,plAtom) (This)->lpVtbl->getMediaAtom(This,bstrItemName,plAtom)
  2060. #define IWMPMediaCollection_setDeleted(This,pItem,varfIsDeleted) (This)->lpVtbl->setDeleted(This,pItem,varfIsDeleted)
  2061. #define IWMPMediaCollection_isDeleted(This,pItem,pvarfIsDeleted) (This)->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted)
  2062. #else
  2063. /*** IUnknown methods ***/
  2064. static FORCEINLINE HRESULT IWMPMediaCollection_QueryInterface(IWMPMediaCollection* This,REFIID riid,void **ppvObject) {
  2065. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2066. }
  2067. static FORCEINLINE ULONG IWMPMediaCollection_AddRef(IWMPMediaCollection* This) {
  2068. return This->lpVtbl->AddRef(This);
  2069. }
  2070. static FORCEINLINE ULONG IWMPMediaCollection_Release(IWMPMediaCollection* This) {
  2071. return This->lpVtbl->Release(This);
  2072. }
  2073. /*** IDispatch methods ***/
  2074. static FORCEINLINE HRESULT IWMPMediaCollection_GetTypeInfoCount(IWMPMediaCollection* This,UINT *pctinfo) {
  2075. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2076. }
  2077. static FORCEINLINE HRESULT IWMPMediaCollection_GetTypeInfo(IWMPMediaCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2078. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2079. }
  2080. static FORCEINLINE HRESULT IWMPMediaCollection_GetIDsOfNames(IWMPMediaCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2081. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2082. }
  2083. static FORCEINLINE HRESULT IWMPMediaCollection_Invoke(IWMPMediaCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2084. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2085. }
  2086. /*** IWMPMediaCollection methods ***/
  2087. static FORCEINLINE HRESULT IWMPMediaCollection_add(IWMPMediaCollection* This,BSTR bstrURL,IWMPMedia **ppItem) {
  2088. return This->lpVtbl->add(This,bstrURL,ppItem);
  2089. }
  2090. static FORCEINLINE HRESULT IWMPMediaCollection_getAll(IWMPMediaCollection* This,IWMPPlaylist **ppMediaItems) {
  2091. return This->lpVtbl->getAll(This,ppMediaItems);
  2092. }
  2093. static FORCEINLINE HRESULT IWMPMediaCollection_getByName(IWMPMediaCollection* This,BSTR bstrName,IWMPPlaylist **ppMediaItems) {
  2094. return This->lpVtbl->getByName(This,bstrName,ppMediaItems);
  2095. }
  2096. static FORCEINLINE HRESULT IWMPMediaCollection_getByGenre(IWMPMediaCollection* This,BSTR bstrGenre,IWMPPlaylist **ppMediaItems) {
  2097. return This->lpVtbl->getByGenre(This,bstrGenre,ppMediaItems);
  2098. }
  2099. static FORCEINLINE HRESULT IWMPMediaCollection_getByAuthor(IWMPMediaCollection* This,BSTR bstrAuthor,IWMPPlaylist **ppMediaItems) {
  2100. return This->lpVtbl->getByAuthor(This,bstrAuthor,ppMediaItems);
  2101. }
  2102. static FORCEINLINE HRESULT IWMPMediaCollection_getByAlbum(IWMPMediaCollection* This,BSTR bstrAlbum,IWMPPlaylist **ppMediaItems) {
  2103. return This->lpVtbl->getByAlbum(This,bstrAlbum,ppMediaItems);
  2104. }
  2105. static FORCEINLINE HRESULT IWMPMediaCollection_getByAttribute(IWMPMediaCollection* This,BSTR bstrAttribute,BSTR bstrValue,IWMPPlaylist **ppMediaItems) {
  2106. return This->lpVtbl->getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems);
  2107. }
  2108. static FORCEINLINE HRESULT IWMPMediaCollection_remove(IWMPMediaCollection* This,IWMPMedia *pItem,VARIANT_BOOL varfDeleteFile) {
  2109. return This->lpVtbl->remove(This,pItem,varfDeleteFile);
  2110. }
  2111. static FORCEINLINE HRESULT IWMPMediaCollection_getAttributeStringCollection(IWMPMediaCollection* This,BSTR bstrAttribute,BSTR bstrMediaType,IWMPStringCollection **ppStringCollection) {
  2112. return This->lpVtbl->getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection);
  2113. }
  2114. static FORCEINLINE HRESULT IWMPMediaCollection_getMediaAtom(IWMPMediaCollection* This,BSTR bstrItemName,LONG *plAtom) {
  2115. return This->lpVtbl->getMediaAtom(This,bstrItemName,plAtom);
  2116. }
  2117. static FORCEINLINE HRESULT IWMPMediaCollection_setDeleted(IWMPMediaCollection* This,IWMPMedia *pItem,VARIANT_BOOL varfIsDeleted) {
  2118. return This->lpVtbl->setDeleted(This,pItem,varfIsDeleted);
  2119. }
  2120. static FORCEINLINE HRESULT IWMPMediaCollection_isDeleted(IWMPMediaCollection* This,IWMPMedia *pItem,VARIANT_BOOL *pvarfIsDeleted) {
  2121. return This->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted);
  2122. }
  2123. #endif
  2124. #endif
  2125. #endif
  2126. #endif /* __IWMPMediaCollection_INTERFACE_DEFINED__ */
  2127. /*****************************************************************************
  2128. * IWMPPlaylistArray interface
  2129. */
  2130. #ifndef __IWMPPlaylistArray_INTERFACE_DEFINED__
  2131. #define __IWMPPlaylistArray_INTERFACE_DEFINED__
  2132. DEFINE_GUID(IID_IWMPPlaylistArray, 0x679409c0, 0x99f7, 0x11d3, 0x9f,0xb7, 0x00,0x10,0x5a,0xa6,0x20,0xbb);
  2133. #if defined(__cplusplus) && !defined(CINTERFACE)
  2134. MIDL_INTERFACE("679409c0-99f7-11d3-9fb7-00105aa620bb")
  2135. IWMPPlaylistArray : public IDispatch
  2136. {
  2137. virtual HRESULT STDMETHODCALLTYPE get_count(
  2138. LONG *plCount) = 0;
  2139. virtual HRESULT STDMETHODCALLTYPE Item(
  2140. LONG lIndex,
  2141. IWMPPlaylist **ppItem) = 0;
  2142. };
  2143. #ifdef __CRT_UUID_DECL
  2144. __CRT_UUID_DECL(IWMPPlaylistArray, 0x679409c0, 0x99f7, 0x11d3, 0x9f,0xb7, 0x00,0x10,0x5a,0xa6,0x20,0xbb)
  2145. #endif
  2146. #else
  2147. typedef struct IWMPPlaylistArrayVtbl {
  2148. BEGIN_INTERFACE
  2149. /*** IUnknown methods ***/
  2150. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2151. IWMPPlaylistArray *This,
  2152. REFIID riid,
  2153. void **ppvObject);
  2154. ULONG (STDMETHODCALLTYPE *AddRef)(
  2155. IWMPPlaylistArray *This);
  2156. ULONG (STDMETHODCALLTYPE *Release)(
  2157. IWMPPlaylistArray *This);
  2158. /*** IDispatch methods ***/
  2159. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2160. IWMPPlaylistArray *This,
  2161. UINT *pctinfo);
  2162. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2163. IWMPPlaylistArray *This,
  2164. UINT iTInfo,
  2165. LCID lcid,
  2166. ITypeInfo **ppTInfo);
  2167. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2168. IWMPPlaylistArray *This,
  2169. REFIID riid,
  2170. LPOLESTR *rgszNames,
  2171. UINT cNames,
  2172. LCID lcid,
  2173. DISPID *rgDispId);
  2174. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2175. IWMPPlaylistArray *This,
  2176. DISPID dispIdMember,
  2177. REFIID riid,
  2178. LCID lcid,
  2179. WORD wFlags,
  2180. DISPPARAMS *pDispParams,
  2181. VARIANT *pVarResult,
  2182. EXCEPINFO *pExcepInfo,
  2183. UINT *puArgErr);
  2184. /*** IWMPPlaylistArray methods ***/
  2185. HRESULT (STDMETHODCALLTYPE *get_count)(
  2186. IWMPPlaylistArray *This,
  2187. LONG *plCount);
  2188. HRESULT (STDMETHODCALLTYPE *Item)(
  2189. IWMPPlaylistArray *This,
  2190. LONG lIndex,
  2191. IWMPPlaylist **ppItem);
  2192. END_INTERFACE
  2193. } IWMPPlaylistArrayVtbl;
  2194. interface IWMPPlaylistArray {
  2195. CONST_VTBL IWMPPlaylistArrayVtbl* lpVtbl;
  2196. };
  2197. #ifdef COBJMACROS
  2198. #ifndef WIDL_C_INLINE_WRAPPERS
  2199. /*** IUnknown methods ***/
  2200. #define IWMPPlaylistArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2201. #define IWMPPlaylistArray_AddRef(This) (This)->lpVtbl->AddRef(This)
  2202. #define IWMPPlaylistArray_Release(This) (This)->lpVtbl->Release(This)
  2203. /*** IDispatch methods ***/
  2204. #define IWMPPlaylistArray_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2205. #define IWMPPlaylistArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2206. #define IWMPPlaylistArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2207. #define IWMPPlaylistArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2208. /*** IWMPPlaylistArray methods ***/
  2209. #define IWMPPlaylistArray_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount)
  2210. #define IWMPPlaylistArray_Item(This,lIndex,ppItem) (This)->lpVtbl->Item(This,lIndex,ppItem)
  2211. #else
  2212. /*** IUnknown methods ***/
  2213. static FORCEINLINE HRESULT IWMPPlaylistArray_QueryInterface(IWMPPlaylistArray* This,REFIID riid,void **ppvObject) {
  2214. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2215. }
  2216. static FORCEINLINE ULONG IWMPPlaylistArray_AddRef(IWMPPlaylistArray* This) {
  2217. return This->lpVtbl->AddRef(This);
  2218. }
  2219. static FORCEINLINE ULONG IWMPPlaylistArray_Release(IWMPPlaylistArray* This) {
  2220. return This->lpVtbl->Release(This);
  2221. }
  2222. /*** IDispatch methods ***/
  2223. static FORCEINLINE HRESULT IWMPPlaylistArray_GetTypeInfoCount(IWMPPlaylistArray* This,UINT *pctinfo) {
  2224. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2225. }
  2226. static FORCEINLINE HRESULT IWMPPlaylistArray_GetTypeInfo(IWMPPlaylistArray* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2227. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2228. }
  2229. static FORCEINLINE HRESULT IWMPPlaylistArray_GetIDsOfNames(IWMPPlaylistArray* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2230. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2231. }
  2232. static FORCEINLINE HRESULT IWMPPlaylistArray_Invoke(IWMPPlaylistArray* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2233. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2234. }
  2235. /*** IWMPPlaylistArray methods ***/
  2236. static FORCEINLINE HRESULT IWMPPlaylistArray_get_count(IWMPPlaylistArray* This,LONG *plCount) {
  2237. return This->lpVtbl->get_count(This,plCount);
  2238. }
  2239. static FORCEINLINE HRESULT IWMPPlaylistArray_Item(IWMPPlaylistArray* This,LONG lIndex,IWMPPlaylist **ppItem) {
  2240. return This->lpVtbl->Item(This,lIndex,ppItem);
  2241. }
  2242. #endif
  2243. #endif
  2244. #endif
  2245. #endif /* __IWMPPlaylistArray_INTERFACE_DEFINED__ */
  2246. /*****************************************************************************
  2247. * IWMPPlaylistCollection interface
  2248. */
  2249. #ifndef __IWMPPlaylistCollection_INTERFACE_DEFINED__
  2250. #define __IWMPPlaylistCollection_INTERFACE_DEFINED__
  2251. DEFINE_GUID(IID_IWMPPlaylistCollection, 0x10a13217, 0x23a7, 0x439b, 0xb1,0xc0, 0xd8,0x47,0xc7,0x9b,0x77,0x74);
  2252. #if defined(__cplusplus) && !defined(CINTERFACE)
  2253. MIDL_INTERFACE("10a13217-23a7-439b-b1c0-d847c79b7774")
  2254. IWMPPlaylistCollection : public IDispatch
  2255. {
  2256. virtual HRESULT STDMETHODCALLTYPE newPlaylist(
  2257. BSTR bstrName,
  2258. IWMPPlaylist **ppItem) = 0;
  2259. virtual HRESULT STDMETHODCALLTYPE getAll(
  2260. IWMPPlaylistArray **ppPlaylistArray) = 0;
  2261. virtual HRESULT STDMETHODCALLTYPE getByName(
  2262. BSTR bstrName,
  2263. IWMPPlaylistArray **ppPlaylistArray) = 0;
  2264. virtual HRESULT STDMETHODCALLTYPE remove(
  2265. IWMPPlaylist *pItem) = 0;
  2266. virtual HRESULT STDMETHODCALLTYPE setDeleted(
  2267. IWMPPlaylist *pItem,
  2268. VARIANT_BOOL varfIsDeleted) = 0;
  2269. virtual HRESULT STDMETHODCALLTYPE isDeleted(
  2270. IWMPPlaylist *pItem,
  2271. VARIANT_BOOL *pvarfIsDeleted) = 0;
  2272. virtual HRESULT STDMETHODCALLTYPE importPlaylist(
  2273. IWMPPlaylist *pItem,
  2274. IWMPPlaylist **ppImportedItem) = 0;
  2275. };
  2276. #ifdef __CRT_UUID_DECL
  2277. __CRT_UUID_DECL(IWMPPlaylistCollection, 0x10a13217, 0x23a7, 0x439b, 0xb1,0xc0, 0xd8,0x47,0xc7,0x9b,0x77,0x74)
  2278. #endif
  2279. #else
  2280. typedef struct IWMPPlaylistCollectionVtbl {
  2281. BEGIN_INTERFACE
  2282. /*** IUnknown methods ***/
  2283. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2284. IWMPPlaylistCollection *This,
  2285. REFIID riid,
  2286. void **ppvObject);
  2287. ULONG (STDMETHODCALLTYPE *AddRef)(
  2288. IWMPPlaylistCollection *This);
  2289. ULONG (STDMETHODCALLTYPE *Release)(
  2290. IWMPPlaylistCollection *This);
  2291. /*** IDispatch methods ***/
  2292. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2293. IWMPPlaylistCollection *This,
  2294. UINT *pctinfo);
  2295. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2296. IWMPPlaylistCollection *This,
  2297. UINT iTInfo,
  2298. LCID lcid,
  2299. ITypeInfo **ppTInfo);
  2300. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2301. IWMPPlaylistCollection *This,
  2302. REFIID riid,
  2303. LPOLESTR *rgszNames,
  2304. UINT cNames,
  2305. LCID lcid,
  2306. DISPID *rgDispId);
  2307. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2308. IWMPPlaylistCollection *This,
  2309. DISPID dispIdMember,
  2310. REFIID riid,
  2311. LCID lcid,
  2312. WORD wFlags,
  2313. DISPPARAMS *pDispParams,
  2314. VARIANT *pVarResult,
  2315. EXCEPINFO *pExcepInfo,
  2316. UINT *puArgErr);
  2317. /*** IWMPPlaylistCollection methods ***/
  2318. HRESULT (STDMETHODCALLTYPE *newPlaylist)(
  2319. IWMPPlaylistCollection *This,
  2320. BSTR bstrName,
  2321. IWMPPlaylist **ppItem);
  2322. HRESULT (STDMETHODCALLTYPE *getAll)(
  2323. IWMPPlaylistCollection *This,
  2324. IWMPPlaylistArray **ppPlaylistArray);
  2325. HRESULT (STDMETHODCALLTYPE *getByName)(
  2326. IWMPPlaylistCollection *This,
  2327. BSTR bstrName,
  2328. IWMPPlaylistArray **ppPlaylistArray);
  2329. HRESULT (STDMETHODCALLTYPE *remove)(
  2330. IWMPPlaylistCollection *This,
  2331. IWMPPlaylist *pItem);
  2332. HRESULT (STDMETHODCALLTYPE *setDeleted)(
  2333. IWMPPlaylistCollection *This,
  2334. IWMPPlaylist *pItem,
  2335. VARIANT_BOOL varfIsDeleted);
  2336. HRESULT (STDMETHODCALLTYPE *isDeleted)(
  2337. IWMPPlaylistCollection *This,
  2338. IWMPPlaylist *pItem,
  2339. VARIANT_BOOL *pvarfIsDeleted);
  2340. HRESULT (STDMETHODCALLTYPE *importPlaylist)(
  2341. IWMPPlaylistCollection *This,
  2342. IWMPPlaylist *pItem,
  2343. IWMPPlaylist **ppImportedItem);
  2344. END_INTERFACE
  2345. } IWMPPlaylistCollectionVtbl;
  2346. interface IWMPPlaylistCollection {
  2347. CONST_VTBL IWMPPlaylistCollectionVtbl* lpVtbl;
  2348. };
  2349. #ifdef COBJMACROS
  2350. #ifndef WIDL_C_INLINE_WRAPPERS
  2351. /*** IUnknown methods ***/
  2352. #define IWMPPlaylistCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2353. #define IWMPPlaylistCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
  2354. #define IWMPPlaylistCollection_Release(This) (This)->lpVtbl->Release(This)
  2355. /*** IDispatch methods ***/
  2356. #define IWMPPlaylistCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2357. #define IWMPPlaylistCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2358. #define IWMPPlaylistCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2359. #define IWMPPlaylistCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2360. /*** IWMPPlaylistCollection methods ***/
  2361. #define IWMPPlaylistCollection_newPlaylist(This,bstrName,ppItem) (This)->lpVtbl->newPlaylist(This,bstrName,ppItem)
  2362. #define IWMPPlaylistCollection_getAll(This,ppPlaylistArray) (This)->lpVtbl->getAll(This,ppPlaylistArray)
  2363. #define IWMPPlaylistCollection_getByName(This,bstrName,ppPlaylistArray) (This)->lpVtbl->getByName(This,bstrName,ppPlaylistArray)
  2364. #define IWMPPlaylistCollection_remove(This,pItem) (This)->lpVtbl->remove(This,pItem)
  2365. #define IWMPPlaylistCollection_setDeleted(This,pItem,varfIsDeleted) (This)->lpVtbl->setDeleted(This,pItem,varfIsDeleted)
  2366. #define IWMPPlaylistCollection_isDeleted(This,pItem,pvarfIsDeleted) (This)->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted)
  2367. #define IWMPPlaylistCollection_importPlaylist(This,pItem,ppImportedItem) (This)->lpVtbl->importPlaylist(This,pItem,ppImportedItem)
  2368. #else
  2369. /*** IUnknown methods ***/
  2370. static FORCEINLINE HRESULT IWMPPlaylistCollection_QueryInterface(IWMPPlaylistCollection* This,REFIID riid,void **ppvObject) {
  2371. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2372. }
  2373. static FORCEINLINE ULONG IWMPPlaylistCollection_AddRef(IWMPPlaylistCollection* This) {
  2374. return This->lpVtbl->AddRef(This);
  2375. }
  2376. static FORCEINLINE ULONG IWMPPlaylistCollection_Release(IWMPPlaylistCollection* This) {
  2377. return This->lpVtbl->Release(This);
  2378. }
  2379. /*** IDispatch methods ***/
  2380. static FORCEINLINE HRESULT IWMPPlaylistCollection_GetTypeInfoCount(IWMPPlaylistCollection* This,UINT *pctinfo) {
  2381. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2382. }
  2383. static FORCEINLINE HRESULT IWMPPlaylistCollection_GetTypeInfo(IWMPPlaylistCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2384. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2385. }
  2386. static FORCEINLINE HRESULT IWMPPlaylistCollection_GetIDsOfNames(IWMPPlaylistCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2387. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2388. }
  2389. static FORCEINLINE HRESULT IWMPPlaylistCollection_Invoke(IWMPPlaylistCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2390. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2391. }
  2392. /*** IWMPPlaylistCollection methods ***/
  2393. static FORCEINLINE HRESULT IWMPPlaylistCollection_newPlaylist(IWMPPlaylistCollection* This,BSTR bstrName,IWMPPlaylist **ppItem) {
  2394. return This->lpVtbl->newPlaylist(This,bstrName,ppItem);
  2395. }
  2396. static FORCEINLINE HRESULT IWMPPlaylistCollection_getAll(IWMPPlaylistCollection* This,IWMPPlaylistArray **ppPlaylistArray) {
  2397. return This->lpVtbl->getAll(This,ppPlaylistArray);
  2398. }
  2399. static FORCEINLINE HRESULT IWMPPlaylistCollection_getByName(IWMPPlaylistCollection* This,BSTR bstrName,IWMPPlaylistArray **ppPlaylistArray) {
  2400. return This->lpVtbl->getByName(This,bstrName,ppPlaylistArray);
  2401. }
  2402. static FORCEINLINE HRESULT IWMPPlaylistCollection_remove(IWMPPlaylistCollection* This,IWMPPlaylist *pItem) {
  2403. return This->lpVtbl->remove(This,pItem);
  2404. }
  2405. static FORCEINLINE HRESULT IWMPPlaylistCollection_setDeleted(IWMPPlaylistCollection* This,IWMPPlaylist *pItem,VARIANT_BOOL varfIsDeleted) {
  2406. return This->lpVtbl->setDeleted(This,pItem,varfIsDeleted);
  2407. }
  2408. static FORCEINLINE HRESULT IWMPPlaylistCollection_isDeleted(IWMPPlaylistCollection* This,IWMPPlaylist *pItem,VARIANT_BOOL *pvarfIsDeleted) {
  2409. return This->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted);
  2410. }
  2411. static FORCEINLINE HRESULT IWMPPlaylistCollection_importPlaylist(IWMPPlaylistCollection* This,IWMPPlaylist *pItem,IWMPPlaylist **ppImportedItem) {
  2412. return This->lpVtbl->importPlaylist(This,pItem,ppImportedItem);
  2413. }
  2414. #endif
  2415. #endif
  2416. #endif
  2417. #endif /* __IWMPPlaylistCollection_INTERFACE_DEFINED__ */
  2418. /*****************************************************************************
  2419. * IWMPNetwork interface
  2420. */
  2421. #ifndef __IWMPNetwork_INTERFACE_DEFINED__
  2422. #define __IWMPNetwork_INTERFACE_DEFINED__
  2423. DEFINE_GUID(IID_IWMPNetwork, 0xec21b779, 0xedef, 0x462d, 0xbb,0xa4, 0xad,0x9d,0xde,0x2b,0x29,0xa7);
  2424. #if defined(__cplusplus) && !defined(CINTERFACE)
  2425. MIDL_INTERFACE("ec21b779-edef-462d-bba4-ad9dde2b29a7")
  2426. IWMPNetwork : public IDispatch
  2427. {
  2428. virtual HRESULT STDMETHODCALLTYPE get_bandWidth(
  2429. LONG *plBandwidth) = 0;
  2430. virtual HRESULT STDMETHODCALLTYPE get_recoveredPackets(
  2431. LONG *plRecoveredPackets) = 0;
  2432. virtual HRESULT STDMETHODCALLTYPE get_sourceProtocol(
  2433. BSTR *pbstrSourceProtocol) = 0;
  2434. virtual HRESULT STDMETHODCALLTYPE get_receivedPackets(
  2435. LONG *plReceivedPackets) = 0;
  2436. virtual HRESULT STDMETHODCALLTYPE get_lostPackets(
  2437. LONG *plLostPackets) = 0;
  2438. virtual HRESULT STDMETHODCALLTYPE get_receptionQuality(
  2439. LONG *plReceptionQuality) = 0;
  2440. virtual HRESULT STDMETHODCALLTYPE get_bufferingCount(
  2441. LONG *plBufferingCount) = 0;
  2442. virtual HRESULT STDMETHODCALLTYPE get_bufferingProgress(
  2443. LONG *plBufferingProgress) = 0;
  2444. virtual HRESULT STDMETHODCALLTYPE get_bufferingTime(
  2445. LONG *plBufferingTime) = 0;
  2446. virtual HRESULT STDMETHODCALLTYPE put_bufferingTime(
  2447. LONG plBufferingTime) = 0;
  2448. virtual HRESULT STDMETHODCALLTYPE get_frameRate(
  2449. LONG *plFrameRate) = 0;
  2450. virtual HRESULT STDMETHODCALLTYPE get_maxBitRate(
  2451. LONG *plBitRate) = 0;
  2452. virtual HRESULT STDMETHODCALLTYPE get_bitRate(
  2453. LONG *plBitRate) = 0;
  2454. virtual HRESULT STDMETHODCALLTYPE getProxySettings(
  2455. BSTR bstrProtocol,
  2456. LONG *plProxySetting) = 0;
  2457. virtual HRESULT STDMETHODCALLTYPE setProxySettings(
  2458. BSTR bstrProtocol,
  2459. LONG lProxySetting) = 0;
  2460. virtual HRESULT STDMETHODCALLTYPE getProxyName(
  2461. BSTR bstrProtocol,
  2462. BSTR *pbstrProxyName) = 0;
  2463. virtual HRESULT STDMETHODCALLTYPE setProxyName(
  2464. BSTR bstrProtocol,
  2465. BSTR bstrProxyName) = 0;
  2466. virtual HRESULT STDMETHODCALLTYPE getProxyPort(
  2467. BSTR bstrProtocol,
  2468. LONG *lProxyPort) = 0;
  2469. virtual HRESULT STDMETHODCALLTYPE setProxyPort(
  2470. BSTR bstrProtocol,
  2471. LONG lProxyPort) = 0;
  2472. virtual HRESULT STDMETHODCALLTYPE getProxyExceptionList(
  2473. BSTR bstrProtocol,
  2474. BSTR *pbstrExceptionList) = 0;
  2475. virtual HRESULT STDMETHODCALLTYPE setProxyExceptionList(
  2476. BSTR bstrProtocol,
  2477. BSTR pbstrExceptionList) = 0;
  2478. virtual HRESULT STDMETHODCALLTYPE getProxyBypassForLocal(
  2479. BSTR bstrProtocol,
  2480. VARIANT_BOOL *pfBypassForLocal) = 0;
  2481. virtual HRESULT STDMETHODCALLTYPE setProxyBypassForLocal(
  2482. BSTR bstrProtocol,
  2483. VARIANT_BOOL fBypassForLocal) = 0;
  2484. virtual HRESULT STDMETHODCALLTYPE get_maxBandwidth(
  2485. LONG *lMaxBandwidth) = 0;
  2486. virtual HRESULT STDMETHODCALLTYPE put_maxBandwidth(
  2487. LONG lMaxBandwidth) = 0;
  2488. virtual HRESULT STDMETHODCALLTYPE get_downloadProgress(
  2489. LONG *plDownloadProgress) = 0;
  2490. virtual HRESULT STDMETHODCALLTYPE get_encodedFrameRate(
  2491. LONG *plFrameRate) = 0;
  2492. virtual HRESULT STDMETHODCALLTYPE get_framesSkipped(
  2493. LONG *plFrames) = 0;
  2494. };
  2495. #ifdef __CRT_UUID_DECL
  2496. __CRT_UUID_DECL(IWMPNetwork, 0xec21b779, 0xedef, 0x462d, 0xbb,0xa4, 0xad,0x9d,0xde,0x2b,0x29,0xa7)
  2497. #endif
  2498. #else
  2499. typedef struct IWMPNetworkVtbl {
  2500. BEGIN_INTERFACE
  2501. /*** IUnknown methods ***/
  2502. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2503. IWMPNetwork *This,
  2504. REFIID riid,
  2505. void **ppvObject);
  2506. ULONG (STDMETHODCALLTYPE *AddRef)(
  2507. IWMPNetwork *This);
  2508. ULONG (STDMETHODCALLTYPE *Release)(
  2509. IWMPNetwork *This);
  2510. /*** IDispatch methods ***/
  2511. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2512. IWMPNetwork *This,
  2513. UINT *pctinfo);
  2514. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2515. IWMPNetwork *This,
  2516. UINT iTInfo,
  2517. LCID lcid,
  2518. ITypeInfo **ppTInfo);
  2519. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2520. IWMPNetwork *This,
  2521. REFIID riid,
  2522. LPOLESTR *rgszNames,
  2523. UINT cNames,
  2524. LCID lcid,
  2525. DISPID *rgDispId);
  2526. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2527. IWMPNetwork *This,
  2528. DISPID dispIdMember,
  2529. REFIID riid,
  2530. LCID lcid,
  2531. WORD wFlags,
  2532. DISPPARAMS *pDispParams,
  2533. VARIANT *pVarResult,
  2534. EXCEPINFO *pExcepInfo,
  2535. UINT *puArgErr);
  2536. /*** IWMPNetwork methods ***/
  2537. HRESULT (STDMETHODCALLTYPE *get_bandWidth)(
  2538. IWMPNetwork *This,
  2539. LONG *plBandwidth);
  2540. HRESULT (STDMETHODCALLTYPE *get_recoveredPackets)(
  2541. IWMPNetwork *This,
  2542. LONG *plRecoveredPackets);
  2543. HRESULT (STDMETHODCALLTYPE *get_sourceProtocol)(
  2544. IWMPNetwork *This,
  2545. BSTR *pbstrSourceProtocol);
  2546. HRESULT (STDMETHODCALLTYPE *get_receivedPackets)(
  2547. IWMPNetwork *This,
  2548. LONG *plReceivedPackets);
  2549. HRESULT (STDMETHODCALLTYPE *get_lostPackets)(
  2550. IWMPNetwork *This,
  2551. LONG *plLostPackets);
  2552. HRESULT (STDMETHODCALLTYPE *get_receptionQuality)(
  2553. IWMPNetwork *This,
  2554. LONG *plReceptionQuality);
  2555. HRESULT (STDMETHODCALLTYPE *get_bufferingCount)(
  2556. IWMPNetwork *This,
  2557. LONG *plBufferingCount);
  2558. HRESULT (STDMETHODCALLTYPE *get_bufferingProgress)(
  2559. IWMPNetwork *This,
  2560. LONG *plBufferingProgress);
  2561. HRESULT (STDMETHODCALLTYPE *get_bufferingTime)(
  2562. IWMPNetwork *This,
  2563. LONG *plBufferingTime);
  2564. HRESULT (STDMETHODCALLTYPE *put_bufferingTime)(
  2565. IWMPNetwork *This,
  2566. LONG plBufferingTime);
  2567. HRESULT (STDMETHODCALLTYPE *get_frameRate)(
  2568. IWMPNetwork *This,
  2569. LONG *plFrameRate);
  2570. HRESULT (STDMETHODCALLTYPE *get_maxBitRate)(
  2571. IWMPNetwork *This,
  2572. LONG *plBitRate);
  2573. HRESULT (STDMETHODCALLTYPE *get_bitRate)(
  2574. IWMPNetwork *This,
  2575. LONG *plBitRate);
  2576. HRESULT (STDMETHODCALLTYPE *getProxySettings)(
  2577. IWMPNetwork *This,
  2578. BSTR bstrProtocol,
  2579. LONG *plProxySetting);
  2580. HRESULT (STDMETHODCALLTYPE *setProxySettings)(
  2581. IWMPNetwork *This,
  2582. BSTR bstrProtocol,
  2583. LONG lProxySetting);
  2584. HRESULT (STDMETHODCALLTYPE *getProxyName)(
  2585. IWMPNetwork *This,
  2586. BSTR bstrProtocol,
  2587. BSTR *pbstrProxyName);
  2588. HRESULT (STDMETHODCALLTYPE *setProxyName)(
  2589. IWMPNetwork *This,
  2590. BSTR bstrProtocol,
  2591. BSTR bstrProxyName);
  2592. HRESULT (STDMETHODCALLTYPE *getProxyPort)(
  2593. IWMPNetwork *This,
  2594. BSTR bstrProtocol,
  2595. LONG *lProxyPort);
  2596. HRESULT (STDMETHODCALLTYPE *setProxyPort)(
  2597. IWMPNetwork *This,
  2598. BSTR bstrProtocol,
  2599. LONG lProxyPort);
  2600. HRESULT (STDMETHODCALLTYPE *getProxyExceptionList)(
  2601. IWMPNetwork *This,
  2602. BSTR bstrProtocol,
  2603. BSTR *pbstrExceptionList);
  2604. HRESULT (STDMETHODCALLTYPE *setProxyExceptionList)(
  2605. IWMPNetwork *This,
  2606. BSTR bstrProtocol,
  2607. BSTR pbstrExceptionList);
  2608. HRESULT (STDMETHODCALLTYPE *getProxyBypassForLocal)(
  2609. IWMPNetwork *This,
  2610. BSTR bstrProtocol,
  2611. VARIANT_BOOL *pfBypassForLocal);
  2612. HRESULT (STDMETHODCALLTYPE *setProxyBypassForLocal)(
  2613. IWMPNetwork *This,
  2614. BSTR bstrProtocol,
  2615. VARIANT_BOOL fBypassForLocal);
  2616. HRESULT (STDMETHODCALLTYPE *get_maxBandwidth)(
  2617. IWMPNetwork *This,
  2618. LONG *lMaxBandwidth);
  2619. HRESULT (STDMETHODCALLTYPE *put_maxBandwidth)(
  2620. IWMPNetwork *This,
  2621. LONG lMaxBandwidth);
  2622. HRESULT (STDMETHODCALLTYPE *get_downloadProgress)(
  2623. IWMPNetwork *This,
  2624. LONG *plDownloadProgress);
  2625. HRESULT (STDMETHODCALLTYPE *get_encodedFrameRate)(
  2626. IWMPNetwork *This,
  2627. LONG *plFrameRate);
  2628. HRESULT (STDMETHODCALLTYPE *get_framesSkipped)(
  2629. IWMPNetwork *This,
  2630. LONG *plFrames);
  2631. END_INTERFACE
  2632. } IWMPNetworkVtbl;
  2633. interface IWMPNetwork {
  2634. CONST_VTBL IWMPNetworkVtbl* lpVtbl;
  2635. };
  2636. #ifdef COBJMACROS
  2637. #ifndef WIDL_C_INLINE_WRAPPERS
  2638. /*** IUnknown methods ***/
  2639. #define IWMPNetwork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2640. #define IWMPNetwork_AddRef(This) (This)->lpVtbl->AddRef(This)
  2641. #define IWMPNetwork_Release(This) (This)->lpVtbl->Release(This)
  2642. /*** IDispatch methods ***/
  2643. #define IWMPNetwork_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2644. #define IWMPNetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2645. #define IWMPNetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2646. #define IWMPNetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2647. /*** IWMPNetwork methods ***/
  2648. #define IWMPNetwork_get_bandWidth(This,plBandwidth) (This)->lpVtbl->get_bandWidth(This,plBandwidth)
  2649. #define IWMPNetwork_get_recoveredPackets(This,plRecoveredPackets) (This)->lpVtbl->get_recoveredPackets(This,plRecoveredPackets)
  2650. #define IWMPNetwork_get_sourceProtocol(This,pbstrSourceProtocol) (This)->lpVtbl->get_sourceProtocol(This,pbstrSourceProtocol)
  2651. #define IWMPNetwork_get_receivedPackets(This,plReceivedPackets) (This)->lpVtbl->get_receivedPackets(This,plReceivedPackets)
  2652. #define IWMPNetwork_get_lostPackets(This,plLostPackets) (This)->lpVtbl->get_lostPackets(This,plLostPackets)
  2653. #define IWMPNetwork_get_receptionQuality(This,plReceptionQuality) (This)->lpVtbl->get_receptionQuality(This,plReceptionQuality)
  2654. #define IWMPNetwork_get_bufferingCount(This,plBufferingCount) (This)->lpVtbl->get_bufferingCount(This,plBufferingCount)
  2655. #define IWMPNetwork_get_bufferingProgress(This,plBufferingProgress) (This)->lpVtbl->get_bufferingProgress(This,plBufferingProgress)
  2656. #define IWMPNetwork_get_bufferingTime(This,plBufferingTime) (This)->lpVtbl->get_bufferingTime(This,plBufferingTime)
  2657. #define IWMPNetwork_put_bufferingTime(This,plBufferingTime) (This)->lpVtbl->put_bufferingTime(This,plBufferingTime)
  2658. #define IWMPNetwork_get_frameRate(This,plFrameRate) (This)->lpVtbl->get_frameRate(This,plFrameRate)
  2659. #define IWMPNetwork_get_maxBitRate(This,plBitRate) (This)->lpVtbl->get_maxBitRate(This,plBitRate)
  2660. #define IWMPNetwork_get_bitRate(This,plBitRate) (This)->lpVtbl->get_bitRate(This,plBitRate)
  2661. #define IWMPNetwork_getProxySettings(This,bstrProtocol,plProxySetting) (This)->lpVtbl->getProxySettings(This,bstrProtocol,plProxySetting)
  2662. #define IWMPNetwork_setProxySettings(This,bstrProtocol,lProxySetting) (This)->lpVtbl->setProxySettings(This,bstrProtocol,lProxySetting)
  2663. #define IWMPNetwork_getProxyName(This,bstrProtocol,pbstrProxyName) (This)->lpVtbl->getProxyName(This,bstrProtocol,pbstrProxyName)
  2664. #define IWMPNetwork_setProxyName(This,bstrProtocol,bstrProxyName) (This)->lpVtbl->setProxyName(This,bstrProtocol,bstrProxyName)
  2665. #define IWMPNetwork_getProxyPort(This,bstrProtocol,lProxyPort) (This)->lpVtbl->getProxyPort(This,bstrProtocol,lProxyPort)
  2666. #define IWMPNetwork_setProxyPort(This,bstrProtocol,lProxyPort) (This)->lpVtbl->setProxyPort(This,bstrProtocol,lProxyPort)
  2667. #define IWMPNetwork_getProxyExceptionList(This,bstrProtocol,pbstrExceptionList) (This)->lpVtbl->getProxyExceptionList(This,bstrProtocol,pbstrExceptionList)
  2668. #define IWMPNetwork_setProxyExceptionList(This,bstrProtocol,pbstrExceptionList) (This)->lpVtbl->setProxyExceptionList(This,bstrProtocol,pbstrExceptionList)
  2669. #define IWMPNetwork_getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal) (This)->lpVtbl->getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal)
  2670. #define IWMPNetwork_setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal) (This)->lpVtbl->setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal)
  2671. #define IWMPNetwork_get_maxBandwidth(This,lMaxBandwidth) (This)->lpVtbl->get_maxBandwidth(This,lMaxBandwidth)
  2672. #define IWMPNetwork_put_maxBandwidth(This,lMaxBandwidth) (This)->lpVtbl->put_maxBandwidth(This,lMaxBandwidth)
  2673. #define IWMPNetwork_get_downloadProgress(This,plDownloadProgress) (This)->lpVtbl->get_downloadProgress(This,plDownloadProgress)
  2674. #define IWMPNetwork_get_encodedFrameRate(This,plFrameRate) (This)->lpVtbl->get_encodedFrameRate(This,plFrameRate)
  2675. #define IWMPNetwork_get_framesSkipped(This,plFrames) (This)->lpVtbl->get_framesSkipped(This,plFrames)
  2676. #else
  2677. /*** IUnknown methods ***/
  2678. static FORCEINLINE HRESULT IWMPNetwork_QueryInterface(IWMPNetwork* This,REFIID riid,void **ppvObject) {
  2679. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2680. }
  2681. static FORCEINLINE ULONG IWMPNetwork_AddRef(IWMPNetwork* This) {
  2682. return This->lpVtbl->AddRef(This);
  2683. }
  2684. static FORCEINLINE ULONG IWMPNetwork_Release(IWMPNetwork* This) {
  2685. return This->lpVtbl->Release(This);
  2686. }
  2687. /*** IDispatch methods ***/
  2688. static FORCEINLINE HRESULT IWMPNetwork_GetTypeInfoCount(IWMPNetwork* This,UINT *pctinfo) {
  2689. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2690. }
  2691. static FORCEINLINE HRESULT IWMPNetwork_GetTypeInfo(IWMPNetwork* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2692. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2693. }
  2694. static FORCEINLINE HRESULT IWMPNetwork_GetIDsOfNames(IWMPNetwork* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2695. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2696. }
  2697. static FORCEINLINE HRESULT IWMPNetwork_Invoke(IWMPNetwork* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2698. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2699. }
  2700. /*** IWMPNetwork methods ***/
  2701. static FORCEINLINE HRESULT IWMPNetwork_get_bandWidth(IWMPNetwork* This,LONG *plBandwidth) {
  2702. return This->lpVtbl->get_bandWidth(This,plBandwidth);
  2703. }
  2704. static FORCEINLINE HRESULT IWMPNetwork_get_recoveredPackets(IWMPNetwork* This,LONG *plRecoveredPackets) {
  2705. return This->lpVtbl->get_recoveredPackets(This,plRecoveredPackets);
  2706. }
  2707. static FORCEINLINE HRESULT IWMPNetwork_get_sourceProtocol(IWMPNetwork* This,BSTR *pbstrSourceProtocol) {
  2708. return This->lpVtbl->get_sourceProtocol(This,pbstrSourceProtocol);
  2709. }
  2710. static FORCEINLINE HRESULT IWMPNetwork_get_receivedPackets(IWMPNetwork* This,LONG *plReceivedPackets) {
  2711. return This->lpVtbl->get_receivedPackets(This,plReceivedPackets);
  2712. }
  2713. static FORCEINLINE HRESULT IWMPNetwork_get_lostPackets(IWMPNetwork* This,LONG *plLostPackets) {
  2714. return This->lpVtbl->get_lostPackets(This,plLostPackets);
  2715. }
  2716. static FORCEINLINE HRESULT IWMPNetwork_get_receptionQuality(IWMPNetwork* This,LONG *plReceptionQuality) {
  2717. return This->lpVtbl->get_receptionQuality(This,plReceptionQuality);
  2718. }
  2719. static FORCEINLINE HRESULT IWMPNetwork_get_bufferingCount(IWMPNetwork* This,LONG *plBufferingCount) {
  2720. return This->lpVtbl->get_bufferingCount(This,plBufferingCount);
  2721. }
  2722. static FORCEINLINE HRESULT IWMPNetwork_get_bufferingProgress(IWMPNetwork* This,LONG *plBufferingProgress) {
  2723. return This->lpVtbl->get_bufferingProgress(This,plBufferingProgress);
  2724. }
  2725. static FORCEINLINE HRESULT IWMPNetwork_get_bufferingTime(IWMPNetwork* This,LONG *plBufferingTime) {
  2726. return This->lpVtbl->get_bufferingTime(This,plBufferingTime);
  2727. }
  2728. static FORCEINLINE HRESULT IWMPNetwork_put_bufferingTime(IWMPNetwork* This,LONG plBufferingTime) {
  2729. return This->lpVtbl->put_bufferingTime(This,plBufferingTime);
  2730. }
  2731. static FORCEINLINE HRESULT IWMPNetwork_get_frameRate(IWMPNetwork* This,LONG *plFrameRate) {
  2732. return This->lpVtbl->get_frameRate(This,plFrameRate);
  2733. }
  2734. static FORCEINLINE HRESULT IWMPNetwork_get_maxBitRate(IWMPNetwork* This,LONG *plBitRate) {
  2735. return This->lpVtbl->get_maxBitRate(This,plBitRate);
  2736. }
  2737. static FORCEINLINE HRESULT IWMPNetwork_get_bitRate(IWMPNetwork* This,LONG *plBitRate) {
  2738. return This->lpVtbl->get_bitRate(This,plBitRate);
  2739. }
  2740. static FORCEINLINE HRESULT IWMPNetwork_getProxySettings(IWMPNetwork* This,BSTR bstrProtocol,LONG *plProxySetting) {
  2741. return This->lpVtbl->getProxySettings(This,bstrProtocol,plProxySetting);
  2742. }
  2743. static FORCEINLINE HRESULT IWMPNetwork_setProxySettings(IWMPNetwork* This,BSTR bstrProtocol,LONG lProxySetting) {
  2744. return This->lpVtbl->setProxySettings(This,bstrProtocol,lProxySetting);
  2745. }
  2746. static FORCEINLINE HRESULT IWMPNetwork_getProxyName(IWMPNetwork* This,BSTR bstrProtocol,BSTR *pbstrProxyName) {
  2747. return This->lpVtbl->getProxyName(This,bstrProtocol,pbstrProxyName);
  2748. }
  2749. static FORCEINLINE HRESULT IWMPNetwork_setProxyName(IWMPNetwork* This,BSTR bstrProtocol,BSTR bstrProxyName) {
  2750. return This->lpVtbl->setProxyName(This,bstrProtocol,bstrProxyName);
  2751. }
  2752. static FORCEINLINE HRESULT IWMPNetwork_getProxyPort(IWMPNetwork* This,BSTR bstrProtocol,LONG *lProxyPort) {
  2753. return This->lpVtbl->getProxyPort(This,bstrProtocol,lProxyPort);
  2754. }
  2755. static FORCEINLINE HRESULT IWMPNetwork_setProxyPort(IWMPNetwork* This,BSTR bstrProtocol,LONG lProxyPort) {
  2756. return This->lpVtbl->setProxyPort(This,bstrProtocol,lProxyPort);
  2757. }
  2758. static FORCEINLINE HRESULT IWMPNetwork_getProxyExceptionList(IWMPNetwork* This,BSTR bstrProtocol,BSTR *pbstrExceptionList) {
  2759. return This->lpVtbl->getProxyExceptionList(This,bstrProtocol,pbstrExceptionList);
  2760. }
  2761. static FORCEINLINE HRESULT IWMPNetwork_setProxyExceptionList(IWMPNetwork* This,BSTR bstrProtocol,BSTR pbstrExceptionList) {
  2762. return This->lpVtbl->setProxyExceptionList(This,bstrProtocol,pbstrExceptionList);
  2763. }
  2764. static FORCEINLINE HRESULT IWMPNetwork_getProxyBypassForLocal(IWMPNetwork* This,BSTR bstrProtocol,VARIANT_BOOL *pfBypassForLocal) {
  2765. return This->lpVtbl->getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal);
  2766. }
  2767. static FORCEINLINE HRESULT IWMPNetwork_setProxyBypassForLocal(IWMPNetwork* This,BSTR bstrProtocol,VARIANT_BOOL fBypassForLocal) {
  2768. return This->lpVtbl->setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal);
  2769. }
  2770. static FORCEINLINE HRESULT IWMPNetwork_get_maxBandwidth(IWMPNetwork* This,LONG *lMaxBandwidth) {
  2771. return This->lpVtbl->get_maxBandwidth(This,lMaxBandwidth);
  2772. }
  2773. static FORCEINLINE HRESULT IWMPNetwork_put_maxBandwidth(IWMPNetwork* This,LONG lMaxBandwidth) {
  2774. return This->lpVtbl->put_maxBandwidth(This,lMaxBandwidth);
  2775. }
  2776. static FORCEINLINE HRESULT IWMPNetwork_get_downloadProgress(IWMPNetwork* This,LONG *plDownloadProgress) {
  2777. return This->lpVtbl->get_downloadProgress(This,plDownloadProgress);
  2778. }
  2779. static FORCEINLINE HRESULT IWMPNetwork_get_encodedFrameRate(IWMPNetwork* This,LONG *plFrameRate) {
  2780. return This->lpVtbl->get_encodedFrameRate(This,plFrameRate);
  2781. }
  2782. static FORCEINLINE HRESULT IWMPNetwork_get_framesSkipped(IWMPNetwork* This,LONG *plFrames) {
  2783. return This->lpVtbl->get_framesSkipped(This,plFrames);
  2784. }
  2785. #endif
  2786. #endif
  2787. #endif
  2788. #endif /* __IWMPNetwork_INTERFACE_DEFINED__ */
  2789. /*****************************************************************************
  2790. * IWMPCdrom interface
  2791. */
  2792. #ifndef __IWMPCdrom_INTERFACE_DEFINED__
  2793. #define __IWMPCdrom_INTERFACE_DEFINED__
  2794. DEFINE_GUID(IID_IWMPCdrom, 0xcfab6e98, 0x8730, 0x11d3, 0xb3,0x88, 0x00,0xc0,0x4f,0x68,0x57,0x4b);
  2795. #if defined(__cplusplus) && !defined(CINTERFACE)
  2796. MIDL_INTERFACE("cfab6e98-8730-11d3-b388-00c04f68574b")
  2797. IWMPCdrom : public IDispatch
  2798. {
  2799. virtual HRESULT STDMETHODCALLTYPE get_driveSpecifier(
  2800. BSTR *pbstrDrive) = 0;
  2801. virtual HRESULT STDMETHODCALLTYPE get_Playlist(
  2802. IWMPPlaylist **ppPlaylist) = 0;
  2803. virtual HRESULT STDMETHODCALLTYPE eject(
  2804. ) = 0;
  2805. };
  2806. #ifdef __CRT_UUID_DECL
  2807. __CRT_UUID_DECL(IWMPCdrom, 0xcfab6e98, 0x8730, 0x11d3, 0xb3,0x88, 0x00,0xc0,0x4f,0x68,0x57,0x4b)
  2808. #endif
  2809. #else
  2810. typedef struct IWMPCdromVtbl {
  2811. BEGIN_INTERFACE
  2812. /*** IUnknown methods ***/
  2813. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2814. IWMPCdrom *This,
  2815. REFIID riid,
  2816. void **ppvObject);
  2817. ULONG (STDMETHODCALLTYPE *AddRef)(
  2818. IWMPCdrom *This);
  2819. ULONG (STDMETHODCALLTYPE *Release)(
  2820. IWMPCdrom *This);
  2821. /*** IDispatch methods ***/
  2822. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2823. IWMPCdrom *This,
  2824. UINT *pctinfo);
  2825. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2826. IWMPCdrom *This,
  2827. UINT iTInfo,
  2828. LCID lcid,
  2829. ITypeInfo **ppTInfo);
  2830. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2831. IWMPCdrom *This,
  2832. REFIID riid,
  2833. LPOLESTR *rgszNames,
  2834. UINT cNames,
  2835. LCID lcid,
  2836. DISPID *rgDispId);
  2837. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2838. IWMPCdrom *This,
  2839. DISPID dispIdMember,
  2840. REFIID riid,
  2841. LCID lcid,
  2842. WORD wFlags,
  2843. DISPPARAMS *pDispParams,
  2844. VARIANT *pVarResult,
  2845. EXCEPINFO *pExcepInfo,
  2846. UINT *puArgErr);
  2847. /*** IWMPCdrom methods ***/
  2848. HRESULT (STDMETHODCALLTYPE *get_driveSpecifier)(
  2849. IWMPCdrom *This,
  2850. BSTR *pbstrDrive);
  2851. HRESULT (STDMETHODCALLTYPE *get_Playlist)(
  2852. IWMPCdrom *This,
  2853. IWMPPlaylist **ppPlaylist);
  2854. HRESULT (STDMETHODCALLTYPE *eject)(
  2855. IWMPCdrom *This);
  2856. END_INTERFACE
  2857. } IWMPCdromVtbl;
  2858. interface IWMPCdrom {
  2859. CONST_VTBL IWMPCdromVtbl* lpVtbl;
  2860. };
  2861. #ifdef COBJMACROS
  2862. #ifndef WIDL_C_INLINE_WRAPPERS
  2863. /*** IUnknown methods ***/
  2864. #define IWMPCdrom_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2865. #define IWMPCdrom_AddRef(This) (This)->lpVtbl->AddRef(This)
  2866. #define IWMPCdrom_Release(This) (This)->lpVtbl->Release(This)
  2867. /*** IDispatch methods ***/
  2868. #define IWMPCdrom_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2869. #define IWMPCdrom_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2870. #define IWMPCdrom_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2871. #define IWMPCdrom_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2872. /*** IWMPCdrom methods ***/
  2873. #define IWMPCdrom_get_driveSpecifier(This,pbstrDrive) (This)->lpVtbl->get_driveSpecifier(This,pbstrDrive)
  2874. #define IWMPCdrom_get_Playlist(This,ppPlaylist) (This)->lpVtbl->get_Playlist(This,ppPlaylist)
  2875. #define IWMPCdrom_eject(This) (This)->lpVtbl->eject(This)
  2876. #else
  2877. /*** IUnknown methods ***/
  2878. static FORCEINLINE HRESULT IWMPCdrom_QueryInterface(IWMPCdrom* This,REFIID riid,void **ppvObject) {
  2879. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2880. }
  2881. static FORCEINLINE ULONG IWMPCdrom_AddRef(IWMPCdrom* This) {
  2882. return This->lpVtbl->AddRef(This);
  2883. }
  2884. static FORCEINLINE ULONG IWMPCdrom_Release(IWMPCdrom* This) {
  2885. return This->lpVtbl->Release(This);
  2886. }
  2887. /*** IDispatch methods ***/
  2888. static FORCEINLINE HRESULT IWMPCdrom_GetTypeInfoCount(IWMPCdrom* This,UINT *pctinfo) {
  2889. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2890. }
  2891. static FORCEINLINE HRESULT IWMPCdrom_GetTypeInfo(IWMPCdrom* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2892. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2893. }
  2894. static FORCEINLINE HRESULT IWMPCdrom_GetIDsOfNames(IWMPCdrom* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2895. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2896. }
  2897. static FORCEINLINE HRESULT IWMPCdrom_Invoke(IWMPCdrom* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2898. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2899. }
  2900. /*** IWMPCdrom methods ***/
  2901. static FORCEINLINE HRESULT IWMPCdrom_get_driveSpecifier(IWMPCdrom* This,BSTR *pbstrDrive) {
  2902. return This->lpVtbl->get_driveSpecifier(This,pbstrDrive);
  2903. }
  2904. static FORCEINLINE HRESULT IWMPCdrom_get_Playlist(IWMPCdrom* This,IWMPPlaylist **ppPlaylist) {
  2905. return This->lpVtbl->get_Playlist(This,ppPlaylist);
  2906. }
  2907. static FORCEINLINE HRESULT IWMPCdrom_eject(IWMPCdrom* This) {
  2908. return This->lpVtbl->eject(This);
  2909. }
  2910. #endif
  2911. #endif
  2912. #endif
  2913. #endif /* __IWMPCdrom_INTERFACE_DEFINED__ */
  2914. /*****************************************************************************
  2915. * IWMPCdromCollection interface
  2916. */
  2917. #ifndef __IWMPCdromCollection_INTERFACE_DEFINED__
  2918. #define __IWMPCdromCollection_INTERFACE_DEFINED__
  2919. DEFINE_GUID(IID_IWMPCdromCollection, 0xee4c8fe2, 0x34b2, 0x11d3, 0xa3,0xbf, 0x00,0x60,0x97,0xc9,0xb3,0x44);
  2920. #if defined(__cplusplus) && !defined(CINTERFACE)
  2921. MIDL_INTERFACE("ee4c8fe2-34b2-11d3-a3bf-006097c9b344")
  2922. IWMPCdromCollection : public IDispatch
  2923. {
  2924. virtual HRESULT STDMETHODCALLTYPE get_count(
  2925. LONG *plCount) = 0;
  2926. virtual HRESULT STDMETHODCALLTYPE Item(
  2927. LONG lIndex,
  2928. IWMPCdrom **ppItem) = 0;
  2929. virtual HRESULT STDMETHODCALLTYPE getByDriveSpecifier(
  2930. BSTR bstrDriveSpecifier,
  2931. IWMPCdrom **ppCdrom) = 0;
  2932. };
  2933. #ifdef __CRT_UUID_DECL
  2934. __CRT_UUID_DECL(IWMPCdromCollection, 0xee4c8fe2, 0x34b2, 0x11d3, 0xa3,0xbf, 0x00,0x60,0x97,0xc9,0xb3,0x44)
  2935. #endif
  2936. #else
  2937. typedef struct IWMPCdromCollectionVtbl {
  2938. BEGIN_INTERFACE
  2939. /*** IUnknown methods ***/
  2940. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2941. IWMPCdromCollection *This,
  2942. REFIID riid,
  2943. void **ppvObject);
  2944. ULONG (STDMETHODCALLTYPE *AddRef)(
  2945. IWMPCdromCollection *This);
  2946. ULONG (STDMETHODCALLTYPE *Release)(
  2947. IWMPCdromCollection *This);
  2948. /*** IDispatch methods ***/
  2949. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2950. IWMPCdromCollection *This,
  2951. UINT *pctinfo);
  2952. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2953. IWMPCdromCollection *This,
  2954. UINT iTInfo,
  2955. LCID lcid,
  2956. ITypeInfo **ppTInfo);
  2957. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2958. IWMPCdromCollection *This,
  2959. REFIID riid,
  2960. LPOLESTR *rgszNames,
  2961. UINT cNames,
  2962. LCID lcid,
  2963. DISPID *rgDispId);
  2964. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2965. IWMPCdromCollection *This,
  2966. DISPID dispIdMember,
  2967. REFIID riid,
  2968. LCID lcid,
  2969. WORD wFlags,
  2970. DISPPARAMS *pDispParams,
  2971. VARIANT *pVarResult,
  2972. EXCEPINFO *pExcepInfo,
  2973. UINT *puArgErr);
  2974. /*** IWMPCdromCollection methods ***/
  2975. HRESULT (STDMETHODCALLTYPE *get_count)(
  2976. IWMPCdromCollection *This,
  2977. LONG *plCount);
  2978. HRESULT (STDMETHODCALLTYPE *Item)(
  2979. IWMPCdromCollection *This,
  2980. LONG lIndex,
  2981. IWMPCdrom **ppItem);
  2982. HRESULT (STDMETHODCALLTYPE *getByDriveSpecifier)(
  2983. IWMPCdromCollection *This,
  2984. BSTR bstrDriveSpecifier,
  2985. IWMPCdrom **ppCdrom);
  2986. END_INTERFACE
  2987. } IWMPCdromCollectionVtbl;
  2988. interface IWMPCdromCollection {
  2989. CONST_VTBL IWMPCdromCollectionVtbl* lpVtbl;
  2990. };
  2991. #ifdef COBJMACROS
  2992. #ifndef WIDL_C_INLINE_WRAPPERS
  2993. /*** IUnknown methods ***/
  2994. #define IWMPCdromCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2995. #define IWMPCdromCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
  2996. #define IWMPCdromCollection_Release(This) (This)->lpVtbl->Release(This)
  2997. /*** IDispatch methods ***/
  2998. #define IWMPCdromCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2999. #define IWMPCdromCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3000. #define IWMPCdromCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3001. #define IWMPCdromCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3002. /*** IWMPCdromCollection methods ***/
  3003. #define IWMPCdromCollection_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount)
  3004. #define IWMPCdromCollection_Item(This,lIndex,ppItem) (This)->lpVtbl->Item(This,lIndex,ppItem)
  3005. #define IWMPCdromCollection_getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom) (This)->lpVtbl->getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom)
  3006. #else
  3007. /*** IUnknown methods ***/
  3008. static FORCEINLINE HRESULT IWMPCdromCollection_QueryInterface(IWMPCdromCollection* This,REFIID riid,void **ppvObject) {
  3009. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3010. }
  3011. static FORCEINLINE ULONG IWMPCdromCollection_AddRef(IWMPCdromCollection* This) {
  3012. return This->lpVtbl->AddRef(This);
  3013. }
  3014. static FORCEINLINE ULONG IWMPCdromCollection_Release(IWMPCdromCollection* This) {
  3015. return This->lpVtbl->Release(This);
  3016. }
  3017. /*** IDispatch methods ***/
  3018. static FORCEINLINE HRESULT IWMPCdromCollection_GetTypeInfoCount(IWMPCdromCollection* This,UINT *pctinfo) {
  3019. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3020. }
  3021. static FORCEINLINE HRESULT IWMPCdromCollection_GetTypeInfo(IWMPCdromCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3022. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3023. }
  3024. static FORCEINLINE HRESULT IWMPCdromCollection_GetIDsOfNames(IWMPCdromCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3025. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3026. }
  3027. static FORCEINLINE HRESULT IWMPCdromCollection_Invoke(IWMPCdromCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3028. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3029. }
  3030. /*** IWMPCdromCollection methods ***/
  3031. static FORCEINLINE HRESULT IWMPCdromCollection_get_count(IWMPCdromCollection* This,LONG *plCount) {
  3032. return This->lpVtbl->get_count(This,plCount);
  3033. }
  3034. static FORCEINLINE HRESULT IWMPCdromCollection_Item(IWMPCdromCollection* This,LONG lIndex,IWMPCdrom **ppItem) {
  3035. return This->lpVtbl->Item(This,lIndex,ppItem);
  3036. }
  3037. static FORCEINLINE HRESULT IWMPCdromCollection_getByDriveSpecifier(IWMPCdromCollection* This,BSTR bstrDriveSpecifier,IWMPCdrom **ppCdrom) {
  3038. return This->lpVtbl->getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom);
  3039. }
  3040. #endif
  3041. #endif
  3042. #endif
  3043. #endif /* __IWMPCdromCollection_INTERFACE_DEFINED__ */
  3044. /*****************************************************************************
  3045. * IWMPDVD interface
  3046. */
  3047. #ifndef __IWMPDVD_INTERFACE_DEFINED__
  3048. #define __IWMPDVD_INTERFACE_DEFINED__
  3049. DEFINE_GUID(IID_IWMPDVD, 0x8da61686, 0x4668, 0x4a5c, 0xae,0x5d, 0x80,0x31,0x93,0x29,0x3d,0xbe);
  3050. #if defined(__cplusplus) && !defined(CINTERFACE)
  3051. MIDL_INTERFACE("8da61686-4668-4a5c-ae5d-803193293dbe")
  3052. IWMPDVD : public IDispatch
  3053. {
  3054. virtual HRESULT STDMETHODCALLTYPE get_isAvailable(
  3055. BSTR bstrItem,
  3056. VARIANT_BOOL *pIsAvailable) = 0;
  3057. virtual HRESULT STDMETHODCALLTYPE get_domain(
  3058. BSTR *strDomain) = 0;
  3059. virtual HRESULT STDMETHODCALLTYPE topMenu(
  3060. ) = 0;
  3061. virtual HRESULT STDMETHODCALLTYPE titleMenu(
  3062. ) = 0;
  3063. virtual HRESULT STDMETHODCALLTYPE back(
  3064. ) = 0;
  3065. virtual HRESULT STDMETHODCALLTYPE resume(
  3066. ) = 0;
  3067. };
  3068. #ifdef __CRT_UUID_DECL
  3069. __CRT_UUID_DECL(IWMPDVD, 0x8da61686, 0x4668, 0x4a5c, 0xae,0x5d, 0x80,0x31,0x93,0x29,0x3d,0xbe)
  3070. #endif
  3071. #else
  3072. typedef struct IWMPDVDVtbl {
  3073. BEGIN_INTERFACE
  3074. /*** IUnknown methods ***/
  3075. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3076. IWMPDVD *This,
  3077. REFIID riid,
  3078. void **ppvObject);
  3079. ULONG (STDMETHODCALLTYPE *AddRef)(
  3080. IWMPDVD *This);
  3081. ULONG (STDMETHODCALLTYPE *Release)(
  3082. IWMPDVD *This);
  3083. /*** IDispatch methods ***/
  3084. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3085. IWMPDVD *This,
  3086. UINT *pctinfo);
  3087. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3088. IWMPDVD *This,
  3089. UINT iTInfo,
  3090. LCID lcid,
  3091. ITypeInfo **ppTInfo);
  3092. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3093. IWMPDVD *This,
  3094. REFIID riid,
  3095. LPOLESTR *rgszNames,
  3096. UINT cNames,
  3097. LCID lcid,
  3098. DISPID *rgDispId);
  3099. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3100. IWMPDVD *This,
  3101. DISPID dispIdMember,
  3102. REFIID riid,
  3103. LCID lcid,
  3104. WORD wFlags,
  3105. DISPPARAMS *pDispParams,
  3106. VARIANT *pVarResult,
  3107. EXCEPINFO *pExcepInfo,
  3108. UINT *puArgErr);
  3109. /*** IWMPDVD methods ***/
  3110. HRESULT (STDMETHODCALLTYPE *get_isAvailable)(
  3111. IWMPDVD *This,
  3112. BSTR bstrItem,
  3113. VARIANT_BOOL *pIsAvailable);
  3114. HRESULT (STDMETHODCALLTYPE *get_domain)(
  3115. IWMPDVD *This,
  3116. BSTR *strDomain);
  3117. HRESULT (STDMETHODCALLTYPE *topMenu)(
  3118. IWMPDVD *This);
  3119. HRESULT (STDMETHODCALLTYPE *titleMenu)(
  3120. IWMPDVD *This);
  3121. HRESULT (STDMETHODCALLTYPE *back)(
  3122. IWMPDVD *This);
  3123. HRESULT (STDMETHODCALLTYPE *resume)(
  3124. IWMPDVD *This);
  3125. END_INTERFACE
  3126. } IWMPDVDVtbl;
  3127. interface IWMPDVD {
  3128. CONST_VTBL IWMPDVDVtbl* lpVtbl;
  3129. };
  3130. #ifdef COBJMACROS
  3131. #ifndef WIDL_C_INLINE_WRAPPERS
  3132. /*** IUnknown methods ***/
  3133. #define IWMPDVD_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3134. #define IWMPDVD_AddRef(This) (This)->lpVtbl->AddRef(This)
  3135. #define IWMPDVD_Release(This) (This)->lpVtbl->Release(This)
  3136. /*** IDispatch methods ***/
  3137. #define IWMPDVD_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3138. #define IWMPDVD_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3139. #define IWMPDVD_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3140. #define IWMPDVD_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3141. /*** IWMPDVD methods ***/
  3142. #define IWMPDVD_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable)
  3143. #define IWMPDVD_get_domain(This,strDomain) (This)->lpVtbl->get_domain(This,strDomain)
  3144. #define IWMPDVD_topMenu(This) (This)->lpVtbl->topMenu(This)
  3145. #define IWMPDVD_titleMenu(This) (This)->lpVtbl->titleMenu(This)
  3146. #define IWMPDVD_back(This) (This)->lpVtbl->back(This)
  3147. #define IWMPDVD_resume(This) (This)->lpVtbl->resume(This)
  3148. #else
  3149. /*** IUnknown methods ***/
  3150. static FORCEINLINE HRESULT IWMPDVD_QueryInterface(IWMPDVD* This,REFIID riid,void **ppvObject) {
  3151. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3152. }
  3153. static FORCEINLINE ULONG IWMPDVD_AddRef(IWMPDVD* This) {
  3154. return This->lpVtbl->AddRef(This);
  3155. }
  3156. static FORCEINLINE ULONG IWMPDVD_Release(IWMPDVD* This) {
  3157. return This->lpVtbl->Release(This);
  3158. }
  3159. /*** IDispatch methods ***/
  3160. static FORCEINLINE HRESULT IWMPDVD_GetTypeInfoCount(IWMPDVD* This,UINT *pctinfo) {
  3161. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3162. }
  3163. static FORCEINLINE HRESULT IWMPDVD_GetTypeInfo(IWMPDVD* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3164. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3165. }
  3166. static FORCEINLINE HRESULT IWMPDVD_GetIDsOfNames(IWMPDVD* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3167. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3168. }
  3169. static FORCEINLINE HRESULT IWMPDVD_Invoke(IWMPDVD* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3170. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3171. }
  3172. /*** IWMPDVD methods ***/
  3173. static FORCEINLINE HRESULT IWMPDVD_get_isAvailable(IWMPDVD* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) {
  3174. return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable);
  3175. }
  3176. static FORCEINLINE HRESULT IWMPDVD_get_domain(IWMPDVD* This,BSTR *strDomain) {
  3177. return This->lpVtbl->get_domain(This,strDomain);
  3178. }
  3179. static FORCEINLINE HRESULT IWMPDVD_topMenu(IWMPDVD* This) {
  3180. return This->lpVtbl->topMenu(This);
  3181. }
  3182. static FORCEINLINE HRESULT IWMPDVD_titleMenu(IWMPDVD* This) {
  3183. return This->lpVtbl->titleMenu(This);
  3184. }
  3185. static FORCEINLINE HRESULT IWMPDVD_back(IWMPDVD* This) {
  3186. return This->lpVtbl->back(This);
  3187. }
  3188. static FORCEINLINE HRESULT IWMPDVD_resume(IWMPDVD* This) {
  3189. return This->lpVtbl->resume(This);
  3190. }
  3191. #endif
  3192. #endif
  3193. #endif
  3194. #endif /* __IWMPDVD_INTERFACE_DEFINED__ */
  3195. /*****************************************************************************
  3196. * IWMPClosedCaption interface
  3197. */
  3198. #ifndef __IWMPClosedCaption_INTERFACE_DEFINED__
  3199. #define __IWMPClosedCaption_INTERFACE_DEFINED__
  3200. DEFINE_GUID(IID_IWMPClosedCaption, 0x4f2df574, 0xc588, 0x11d3, 0x9e,0xd0, 0x00,0xc0,0x4f,0xb6,0xe9,0x37);
  3201. #if defined(__cplusplus) && !defined(CINTERFACE)
  3202. MIDL_INTERFACE("4f2df574-c588-11d3-9ed0-00c04fb6e937")
  3203. IWMPClosedCaption : public IDispatch
  3204. {
  3205. virtual HRESULT STDMETHODCALLTYPE get_SAMIStyle(
  3206. BSTR *pbstrSAMIStyle) = 0;
  3207. virtual HRESULT STDMETHODCALLTYPE put_SAMIStyle(
  3208. BSTR pbstrSAMIStyle) = 0;
  3209. virtual HRESULT STDMETHODCALLTYPE get_SAMILang(
  3210. BSTR *pbstrSAMILang) = 0;
  3211. virtual HRESULT STDMETHODCALLTYPE put_SAMILang(
  3212. BSTR pbstrSAMILang) = 0;
  3213. virtual HRESULT STDMETHODCALLTYPE get_SAMIFileName(
  3214. BSTR *pbstrSAMIFileName) = 0;
  3215. virtual HRESULT STDMETHODCALLTYPE put_SAMIFileName(
  3216. BSTR pbstrSAMIFileName) = 0;
  3217. virtual HRESULT STDMETHODCALLTYPE get_captioningId(
  3218. BSTR *pbstrCaptioningID) = 0;
  3219. virtual HRESULT STDMETHODCALLTYPE put_captioningId(
  3220. BSTR pbstrCaptioningID) = 0;
  3221. };
  3222. #ifdef __CRT_UUID_DECL
  3223. __CRT_UUID_DECL(IWMPClosedCaption, 0x4f2df574, 0xc588, 0x11d3, 0x9e,0xd0, 0x00,0xc0,0x4f,0xb6,0xe9,0x37)
  3224. #endif
  3225. #else
  3226. typedef struct IWMPClosedCaptionVtbl {
  3227. BEGIN_INTERFACE
  3228. /*** IUnknown methods ***/
  3229. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3230. IWMPClosedCaption *This,
  3231. REFIID riid,
  3232. void **ppvObject);
  3233. ULONG (STDMETHODCALLTYPE *AddRef)(
  3234. IWMPClosedCaption *This);
  3235. ULONG (STDMETHODCALLTYPE *Release)(
  3236. IWMPClosedCaption *This);
  3237. /*** IDispatch methods ***/
  3238. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3239. IWMPClosedCaption *This,
  3240. UINT *pctinfo);
  3241. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3242. IWMPClosedCaption *This,
  3243. UINT iTInfo,
  3244. LCID lcid,
  3245. ITypeInfo **ppTInfo);
  3246. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3247. IWMPClosedCaption *This,
  3248. REFIID riid,
  3249. LPOLESTR *rgszNames,
  3250. UINT cNames,
  3251. LCID lcid,
  3252. DISPID *rgDispId);
  3253. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3254. IWMPClosedCaption *This,
  3255. DISPID dispIdMember,
  3256. REFIID riid,
  3257. LCID lcid,
  3258. WORD wFlags,
  3259. DISPPARAMS *pDispParams,
  3260. VARIANT *pVarResult,
  3261. EXCEPINFO *pExcepInfo,
  3262. UINT *puArgErr);
  3263. /*** IWMPClosedCaption methods ***/
  3264. HRESULT (STDMETHODCALLTYPE *get_SAMIStyle)(
  3265. IWMPClosedCaption *This,
  3266. BSTR *pbstrSAMIStyle);
  3267. HRESULT (STDMETHODCALLTYPE *put_SAMIStyle)(
  3268. IWMPClosedCaption *This,
  3269. BSTR pbstrSAMIStyle);
  3270. HRESULT (STDMETHODCALLTYPE *get_SAMILang)(
  3271. IWMPClosedCaption *This,
  3272. BSTR *pbstrSAMILang);
  3273. HRESULT (STDMETHODCALLTYPE *put_SAMILang)(
  3274. IWMPClosedCaption *This,
  3275. BSTR pbstrSAMILang);
  3276. HRESULT (STDMETHODCALLTYPE *get_SAMIFileName)(
  3277. IWMPClosedCaption *This,
  3278. BSTR *pbstrSAMIFileName);
  3279. HRESULT (STDMETHODCALLTYPE *put_SAMIFileName)(
  3280. IWMPClosedCaption *This,
  3281. BSTR pbstrSAMIFileName);
  3282. HRESULT (STDMETHODCALLTYPE *get_captioningId)(
  3283. IWMPClosedCaption *This,
  3284. BSTR *pbstrCaptioningID);
  3285. HRESULT (STDMETHODCALLTYPE *put_captioningId)(
  3286. IWMPClosedCaption *This,
  3287. BSTR pbstrCaptioningID);
  3288. END_INTERFACE
  3289. } IWMPClosedCaptionVtbl;
  3290. interface IWMPClosedCaption {
  3291. CONST_VTBL IWMPClosedCaptionVtbl* lpVtbl;
  3292. };
  3293. #ifdef COBJMACROS
  3294. #ifndef WIDL_C_INLINE_WRAPPERS
  3295. /*** IUnknown methods ***/
  3296. #define IWMPClosedCaption_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3297. #define IWMPClosedCaption_AddRef(This) (This)->lpVtbl->AddRef(This)
  3298. #define IWMPClosedCaption_Release(This) (This)->lpVtbl->Release(This)
  3299. /*** IDispatch methods ***/
  3300. #define IWMPClosedCaption_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3301. #define IWMPClosedCaption_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3302. #define IWMPClosedCaption_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3303. #define IWMPClosedCaption_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3304. /*** IWMPClosedCaption methods ***/
  3305. #define IWMPClosedCaption_get_SAMIStyle(This,pbstrSAMIStyle) (This)->lpVtbl->get_SAMIStyle(This,pbstrSAMIStyle)
  3306. #define IWMPClosedCaption_put_SAMIStyle(This,pbstrSAMIStyle) (This)->lpVtbl->put_SAMIStyle(This,pbstrSAMIStyle)
  3307. #define IWMPClosedCaption_get_SAMILang(This,pbstrSAMILang) (This)->lpVtbl->get_SAMILang(This,pbstrSAMILang)
  3308. #define IWMPClosedCaption_put_SAMILang(This,pbstrSAMILang) (This)->lpVtbl->put_SAMILang(This,pbstrSAMILang)
  3309. #define IWMPClosedCaption_get_SAMIFileName(This,pbstrSAMIFileName) (This)->lpVtbl->get_SAMIFileName(This,pbstrSAMIFileName)
  3310. #define IWMPClosedCaption_put_SAMIFileName(This,pbstrSAMIFileName) (This)->lpVtbl->put_SAMIFileName(This,pbstrSAMIFileName)
  3311. #define IWMPClosedCaption_get_captioningId(This,pbstrCaptioningID) (This)->lpVtbl->get_captioningId(This,pbstrCaptioningID)
  3312. #define IWMPClosedCaption_put_captioningId(This,pbstrCaptioningID) (This)->lpVtbl->put_captioningId(This,pbstrCaptioningID)
  3313. #else
  3314. /*** IUnknown methods ***/
  3315. static FORCEINLINE HRESULT IWMPClosedCaption_QueryInterface(IWMPClosedCaption* This,REFIID riid,void **ppvObject) {
  3316. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3317. }
  3318. static FORCEINLINE ULONG IWMPClosedCaption_AddRef(IWMPClosedCaption* This) {
  3319. return This->lpVtbl->AddRef(This);
  3320. }
  3321. static FORCEINLINE ULONG IWMPClosedCaption_Release(IWMPClosedCaption* This) {
  3322. return This->lpVtbl->Release(This);
  3323. }
  3324. /*** IDispatch methods ***/
  3325. static FORCEINLINE HRESULT IWMPClosedCaption_GetTypeInfoCount(IWMPClosedCaption* This,UINT *pctinfo) {
  3326. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3327. }
  3328. static FORCEINLINE HRESULT IWMPClosedCaption_GetTypeInfo(IWMPClosedCaption* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3329. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3330. }
  3331. static FORCEINLINE HRESULT IWMPClosedCaption_GetIDsOfNames(IWMPClosedCaption* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3332. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3333. }
  3334. static FORCEINLINE HRESULT IWMPClosedCaption_Invoke(IWMPClosedCaption* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3335. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3336. }
  3337. /*** IWMPClosedCaption methods ***/
  3338. static FORCEINLINE HRESULT IWMPClosedCaption_get_SAMIStyle(IWMPClosedCaption* This,BSTR *pbstrSAMIStyle) {
  3339. return This->lpVtbl->get_SAMIStyle(This,pbstrSAMIStyle);
  3340. }
  3341. static FORCEINLINE HRESULT IWMPClosedCaption_put_SAMIStyle(IWMPClosedCaption* This,BSTR pbstrSAMIStyle) {
  3342. return This->lpVtbl->put_SAMIStyle(This,pbstrSAMIStyle);
  3343. }
  3344. static FORCEINLINE HRESULT IWMPClosedCaption_get_SAMILang(IWMPClosedCaption* This,BSTR *pbstrSAMILang) {
  3345. return This->lpVtbl->get_SAMILang(This,pbstrSAMILang);
  3346. }
  3347. static FORCEINLINE HRESULT IWMPClosedCaption_put_SAMILang(IWMPClosedCaption* This,BSTR pbstrSAMILang) {
  3348. return This->lpVtbl->put_SAMILang(This,pbstrSAMILang);
  3349. }
  3350. static FORCEINLINE HRESULT IWMPClosedCaption_get_SAMIFileName(IWMPClosedCaption* This,BSTR *pbstrSAMIFileName) {
  3351. return This->lpVtbl->get_SAMIFileName(This,pbstrSAMIFileName);
  3352. }
  3353. static FORCEINLINE HRESULT IWMPClosedCaption_put_SAMIFileName(IWMPClosedCaption* This,BSTR pbstrSAMIFileName) {
  3354. return This->lpVtbl->put_SAMIFileName(This,pbstrSAMIFileName);
  3355. }
  3356. static FORCEINLINE HRESULT IWMPClosedCaption_get_captioningId(IWMPClosedCaption* This,BSTR *pbstrCaptioningID) {
  3357. return This->lpVtbl->get_captioningId(This,pbstrCaptioningID);
  3358. }
  3359. static FORCEINLINE HRESULT IWMPClosedCaption_put_captioningId(IWMPClosedCaption* This,BSTR pbstrCaptioningID) {
  3360. return This->lpVtbl->put_captioningId(This,pbstrCaptioningID);
  3361. }
  3362. #endif
  3363. #endif
  3364. #endif
  3365. #endif /* __IWMPClosedCaption_INTERFACE_DEFINED__ */
  3366. /*****************************************************************************
  3367. * IWMPErrorItem interface
  3368. */
  3369. #ifndef __IWMPErrorItem_INTERFACE_DEFINED__
  3370. #define __IWMPErrorItem_INTERFACE_DEFINED__
  3371. DEFINE_GUID(IID_IWMPErrorItem, 0x3614c646, 0x3b3b, 0x4de7, 0xa8,0x1e, 0x93,0x0e,0x3f,0x21,0x27,0xb3);
  3372. #if defined(__cplusplus) && !defined(CINTERFACE)
  3373. MIDL_INTERFACE("3614c646-3b3b-4de7-a81e-930e3f2127b3")
  3374. IWMPErrorItem : public IDispatch
  3375. {
  3376. virtual HRESULT STDMETHODCALLTYPE get_errorCode(
  3377. LONG *phr) = 0;
  3378. virtual HRESULT STDMETHODCALLTYPE get_errorDescription(
  3379. BSTR *pbstrDescription) = 0;
  3380. virtual HRESULT STDMETHODCALLTYPE get_errorContext(
  3381. VARIANT *pvarContext) = 0;
  3382. virtual HRESULT STDMETHODCALLTYPE get_remedy(
  3383. LONG *plRemedy) = 0;
  3384. virtual HRESULT STDMETHODCALLTYPE get_customUrl(
  3385. BSTR *pbstrCustomUrl) = 0;
  3386. };
  3387. #ifdef __CRT_UUID_DECL
  3388. __CRT_UUID_DECL(IWMPErrorItem, 0x3614c646, 0x3b3b, 0x4de7, 0xa8,0x1e, 0x93,0x0e,0x3f,0x21,0x27,0xb3)
  3389. #endif
  3390. #else
  3391. typedef struct IWMPErrorItemVtbl {
  3392. BEGIN_INTERFACE
  3393. /*** IUnknown methods ***/
  3394. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3395. IWMPErrorItem *This,
  3396. REFIID riid,
  3397. void **ppvObject);
  3398. ULONG (STDMETHODCALLTYPE *AddRef)(
  3399. IWMPErrorItem *This);
  3400. ULONG (STDMETHODCALLTYPE *Release)(
  3401. IWMPErrorItem *This);
  3402. /*** IDispatch methods ***/
  3403. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3404. IWMPErrorItem *This,
  3405. UINT *pctinfo);
  3406. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3407. IWMPErrorItem *This,
  3408. UINT iTInfo,
  3409. LCID lcid,
  3410. ITypeInfo **ppTInfo);
  3411. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3412. IWMPErrorItem *This,
  3413. REFIID riid,
  3414. LPOLESTR *rgszNames,
  3415. UINT cNames,
  3416. LCID lcid,
  3417. DISPID *rgDispId);
  3418. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3419. IWMPErrorItem *This,
  3420. DISPID dispIdMember,
  3421. REFIID riid,
  3422. LCID lcid,
  3423. WORD wFlags,
  3424. DISPPARAMS *pDispParams,
  3425. VARIANT *pVarResult,
  3426. EXCEPINFO *pExcepInfo,
  3427. UINT *puArgErr);
  3428. /*** IWMPErrorItem methods ***/
  3429. HRESULT (STDMETHODCALLTYPE *get_errorCode)(
  3430. IWMPErrorItem *This,
  3431. LONG *phr);
  3432. HRESULT (STDMETHODCALLTYPE *get_errorDescription)(
  3433. IWMPErrorItem *This,
  3434. BSTR *pbstrDescription);
  3435. HRESULT (STDMETHODCALLTYPE *get_errorContext)(
  3436. IWMPErrorItem *This,
  3437. VARIANT *pvarContext);
  3438. HRESULT (STDMETHODCALLTYPE *get_remedy)(
  3439. IWMPErrorItem *This,
  3440. LONG *plRemedy);
  3441. HRESULT (STDMETHODCALLTYPE *get_customUrl)(
  3442. IWMPErrorItem *This,
  3443. BSTR *pbstrCustomUrl);
  3444. END_INTERFACE
  3445. } IWMPErrorItemVtbl;
  3446. interface IWMPErrorItem {
  3447. CONST_VTBL IWMPErrorItemVtbl* lpVtbl;
  3448. };
  3449. #ifdef COBJMACROS
  3450. #ifndef WIDL_C_INLINE_WRAPPERS
  3451. /*** IUnknown methods ***/
  3452. #define IWMPErrorItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3453. #define IWMPErrorItem_AddRef(This) (This)->lpVtbl->AddRef(This)
  3454. #define IWMPErrorItem_Release(This) (This)->lpVtbl->Release(This)
  3455. /*** IDispatch methods ***/
  3456. #define IWMPErrorItem_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3457. #define IWMPErrorItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3458. #define IWMPErrorItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3459. #define IWMPErrorItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3460. /*** IWMPErrorItem methods ***/
  3461. #define IWMPErrorItem_get_errorCode(This,phr) (This)->lpVtbl->get_errorCode(This,phr)
  3462. #define IWMPErrorItem_get_errorDescription(This,pbstrDescription) (This)->lpVtbl->get_errorDescription(This,pbstrDescription)
  3463. #define IWMPErrorItem_get_errorContext(This,pvarContext) (This)->lpVtbl->get_errorContext(This,pvarContext)
  3464. #define IWMPErrorItem_get_remedy(This,plRemedy) (This)->lpVtbl->get_remedy(This,plRemedy)
  3465. #define IWMPErrorItem_get_customUrl(This,pbstrCustomUrl) (This)->lpVtbl->get_customUrl(This,pbstrCustomUrl)
  3466. #else
  3467. /*** IUnknown methods ***/
  3468. static FORCEINLINE HRESULT IWMPErrorItem_QueryInterface(IWMPErrorItem* This,REFIID riid,void **ppvObject) {
  3469. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3470. }
  3471. static FORCEINLINE ULONG IWMPErrorItem_AddRef(IWMPErrorItem* This) {
  3472. return This->lpVtbl->AddRef(This);
  3473. }
  3474. static FORCEINLINE ULONG IWMPErrorItem_Release(IWMPErrorItem* This) {
  3475. return This->lpVtbl->Release(This);
  3476. }
  3477. /*** IDispatch methods ***/
  3478. static FORCEINLINE HRESULT IWMPErrorItem_GetTypeInfoCount(IWMPErrorItem* This,UINT *pctinfo) {
  3479. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3480. }
  3481. static FORCEINLINE HRESULT IWMPErrorItem_GetTypeInfo(IWMPErrorItem* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3482. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3483. }
  3484. static FORCEINLINE HRESULT IWMPErrorItem_GetIDsOfNames(IWMPErrorItem* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3485. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3486. }
  3487. static FORCEINLINE HRESULT IWMPErrorItem_Invoke(IWMPErrorItem* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3488. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3489. }
  3490. /*** IWMPErrorItem methods ***/
  3491. static FORCEINLINE HRESULT IWMPErrorItem_get_errorCode(IWMPErrorItem* This,LONG *phr) {
  3492. return This->lpVtbl->get_errorCode(This,phr);
  3493. }
  3494. static FORCEINLINE HRESULT IWMPErrorItem_get_errorDescription(IWMPErrorItem* This,BSTR *pbstrDescription) {
  3495. return This->lpVtbl->get_errorDescription(This,pbstrDescription);
  3496. }
  3497. static FORCEINLINE HRESULT IWMPErrorItem_get_errorContext(IWMPErrorItem* This,VARIANT *pvarContext) {
  3498. return This->lpVtbl->get_errorContext(This,pvarContext);
  3499. }
  3500. static FORCEINLINE HRESULT IWMPErrorItem_get_remedy(IWMPErrorItem* This,LONG *plRemedy) {
  3501. return This->lpVtbl->get_remedy(This,plRemedy);
  3502. }
  3503. static FORCEINLINE HRESULT IWMPErrorItem_get_customUrl(IWMPErrorItem* This,BSTR *pbstrCustomUrl) {
  3504. return This->lpVtbl->get_customUrl(This,pbstrCustomUrl);
  3505. }
  3506. #endif
  3507. #endif
  3508. #endif
  3509. #endif /* __IWMPErrorItem_INTERFACE_DEFINED__ */
  3510. /*****************************************************************************
  3511. * IWMPMedia2 interface
  3512. */
  3513. #ifndef __IWMPMedia2_INTERFACE_DEFINED__
  3514. #define __IWMPMedia2_INTERFACE_DEFINED__
  3515. DEFINE_GUID(IID_IWMPMedia2, 0xab7c88bb, 0x143e, 0x4ea4, 0xac,0xc3, 0xe4,0x35,0x0b,0x21,0x06,0xc3);
  3516. #if defined(__cplusplus) && !defined(CINTERFACE)
  3517. MIDL_INTERFACE("ab7c88bb-143e-4ea4-acc3-e4350b2106c3")
  3518. IWMPMedia2 : public IWMPMedia
  3519. {
  3520. virtual HRESULT STDMETHODCALLTYPE get_error(
  3521. IWMPErrorItem **out) = 0;
  3522. };
  3523. #ifdef __CRT_UUID_DECL
  3524. __CRT_UUID_DECL(IWMPMedia2, 0xab7c88bb, 0x143e, 0x4ea4, 0xac,0xc3, 0xe4,0x35,0x0b,0x21,0x06,0xc3)
  3525. #endif
  3526. #else
  3527. typedef struct IWMPMedia2Vtbl {
  3528. BEGIN_INTERFACE
  3529. /*** IUnknown methods ***/
  3530. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3531. IWMPMedia2 *This,
  3532. REFIID riid,
  3533. void **ppvObject);
  3534. ULONG (STDMETHODCALLTYPE *AddRef)(
  3535. IWMPMedia2 *This);
  3536. ULONG (STDMETHODCALLTYPE *Release)(
  3537. IWMPMedia2 *This);
  3538. /*** IDispatch methods ***/
  3539. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3540. IWMPMedia2 *This,
  3541. UINT *pctinfo);
  3542. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3543. IWMPMedia2 *This,
  3544. UINT iTInfo,
  3545. LCID lcid,
  3546. ITypeInfo **ppTInfo);
  3547. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3548. IWMPMedia2 *This,
  3549. REFIID riid,
  3550. LPOLESTR *rgszNames,
  3551. UINT cNames,
  3552. LCID lcid,
  3553. DISPID *rgDispId);
  3554. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3555. IWMPMedia2 *This,
  3556. DISPID dispIdMember,
  3557. REFIID riid,
  3558. LCID lcid,
  3559. WORD wFlags,
  3560. DISPPARAMS *pDispParams,
  3561. VARIANT *pVarResult,
  3562. EXCEPINFO *pExcepInfo,
  3563. UINT *puArgErr);
  3564. /*** IWMPMedia methods ***/
  3565. HRESULT (STDMETHODCALLTYPE *get_isIdentical)(
  3566. IWMPMedia2 *This,
  3567. IWMPMedia *pIWMPMedia,
  3568. VARIANT_BOOL *pvbool);
  3569. HRESULT (STDMETHODCALLTYPE *get_sourceURL)(
  3570. IWMPMedia2 *This,
  3571. BSTR *pbstrSourceURL);
  3572. HRESULT (STDMETHODCALLTYPE *get_name)(
  3573. IWMPMedia2 *This,
  3574. BSTR *pbstrName);
  3575. HRESULT (STDMETHODCALLTYPE *put_name)(
  3576. IWMPMedia2 *This,
  3577. BSTR pbstrName);
  3578. HRESULT (STDMETHODCALLTYPE *get_imageSourceWidth)(
  3579. IWMPMedia2 *This,
  3580. LONG *pWidth);
  3581. HRESULT (STDMETHODCALLTYPE *get_imageSourceHeight)(
  3582. IWMPMedia2 *This,
  3583. LONG *pHeight);
  3584. HRESULT (STDMETHODCALLTYPE *get_markerCount)(
  3585. IWMPMedia2 *This,
  3586. LONG *pMarkerCount);
  3587. HRESULT (STDMETHODCALLTYPE *getMarkerTime)(
  3588. IWMPMedia2 *This,
  3589. LONG MarkerNum,
  3590. double *pMarkerTime);
  3591. HRESULT (STDMETHODCALLTYPE *getMarkerName)(
  3592. IWMPMedia2 *This,
  3593. LONG MarkerNum,
  3594. BSTR *pbstrMarkerName);
  3595. HRESULT (STDMETHODCALLTYPE *get_duration)(
  3596. IWMPMedia2 *This,
  3597. double *pDuration);
  3598. HRESULT (STDMETHODCALLTYPE *get_durationString)(
  3599. IWMPMedia2 *This,
  3600. BSTR *pbstrDuration);
  3601. HRESULT (STDMETHODCALLTYPE *get_attributeCount)(
  3602. IWMPMedia2 *This,
  3603. LONG *plCount);
  3604. HRESULT (STDMETHODCALLTYPE *getAttributeName)(
  3605. IWMPMedia2 *This,
  3606. LONG lIndex,
  3607. BSTR *pbstrItemName);
  3608. HRESULT (STDMETHODCALLTYPE *getItemInfo)(
  3609. IWMPMedia2 *This,
  3610. BSTR bstrItemName,
  3611. BSTR *pbstrVal);
  3612. HRESULT (STDMETHODCALLTYPE *setItemInfo)(
  3613. IWMPMedia2 *This,
  3614. BSTR bstrItemName,
  3615. BSTR bstrVal);
  3616. HRESULT (STDMETHODCALLTYPE *getItemInfoByAtom)(
  3617. IWMPMedia2 *This,
  3618. LONG lAtom,
  3619. BSTR *pbstrVal);
  3620. HRESULT (STDMETHODCALLTYPE *isMemberOf)(
  3621. IWMPMedia2 *This,
  3622. IWMPPlaylist *pPlaylist,
  3623. VARIANT_BOOL *pvarfIsMemberOf);
  3624. HRESULT (STDMETHODCALLTYPE *isReadOnlyItem)(
  3625. IWMPMedia2 *This,
  3626. BSTR bstrItemName,
  3627. VARIANT_BOOL *pvarfIsReadOnly);
  3628. /*** IWMPMedia2 methods ***/
  3629. HRESULT (STDMETHODCALLTYPE *get_error)(
  3630. IWMPMedia2 *This,
  3631. IWMPErrorItem **out);
  3632. END_INTERFACE
  3633. } IWMPMedia2Vtbl;
  3634. interface IWMPMedia2 {
  3635. CONST_VTBL IWMPMedia2Vtbl* lpVtbl;
  3636. };
  3637. #ifdef COBJMACROS
  3638. #ifndef WIDL_C_INLINE_WRAPPERS
  3639. /*** IUnknown methods ***/
  3640. #define IWMPMedia2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3641. #define IWMPMedia2_AddRef(This) (This)->lpVtbl->AddRef(This)
  3642. #define IWMPMedia2_Release(This) (This)->lpVtbl->Release(This)
  3643. /*** IDispatch methods ***/
  3644. #define IWMPMedia2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3645. #define IWMPMedia2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3646. #define IWMPMedia2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3647. #define IWMPMedia2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3648. /*** IWMPMedia methods ***/
  3649. #define IWMPMedia2_get_isIdentical(This,pIWMPMedia,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool)
  3650. #define IWMPMedia2_get_sourceURL(This,pbstrSourceURL) (This)->lpVtbl->get_sourceURL(This,pbstrSourceURL)
  3651. #define IWMPMedia2_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName)
  3652. #define IWMPMedia2_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName)
  3653. #define IWMPMedia2_get_imageSourceWidth(This,pWidth) (This)->lpVtbl->get_imageSourceWidth(This,pWidth)
  3654. #define IWMPMedia2_get_imageSourceHeight(This,pHeight) (This)->lpVtbl->get_imageSourceHeight(This,pHeight)
  3655. #define IWMPMedia2_get_markerCount(This,pMarkerCount) (This)->lpVtbl->get_markerCount(This,pMarkerCount)
  3656. #define IWMPMedia2_getMarkerTime(This,MarkerNum,pMarkerTime) (This)->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime)
  3657. #define IWMPMedia2_getMarkerName(This,MarkerNum,pbstrMarkerName) (This)->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName)
  3658. #define IWMPMedia2_get_duration(This,pDuration) (This)->lpVtbl->get_duration(This,pDuration)
  3659. #define IWMPMedia2_get_durationString(This,pbstrDuration) (This)->lpVtbl->get_durationString(This,pbstrDuration)
  3660. #define IWMPMedia2_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount)
  3661. #define IWMPMedia2_getAttributeName(This,lIndex,pbstrItemName) (This)->lpVtbl->getAttributeName(This,lIndex,pbstrItemName)
  3662. #define IWMPMedia2_getItemInfo(This,bstrItemName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal)
  3663. #define IWMPMedia2_setItemInfo(This,bstrItemName,bstrVal) (This)->lpVtbl->setItemInfo(This,bstrItemName,bstrVal)
  3664. #define IWMPMedia2_getItemInfoByAtom(This,lAtom,pbstrVal) (This)->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal)
  3665. #define IWMPMedia2_isMemberOf(This,pPlaylist,pvarfIsMemberOf) (This)->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf)
  3666. #define IWMPMedia2_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) (This)->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)
  3667. /*** IWMPMedia2 methods ***/
  3668. #define IWMPMedia2_get_error(This,out) (This)->lpVtbl->get_error(This,out)
  3669. #else
  3670. /*** IUnknown methods ***/
  3671. static FORCEINLINE HRESULT IWMPMedia2_QueryInterface(IWMPMedia2* This,REFIID riid,void **ppvObject) {
  3672. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3673. }
  3674. static FORCEINLINE ULONG IWMPMedia2_AddRef(IWMPMedia2* This) {
  3675. return This->lpVtbl->AddRef(This);
  3676. }
  3677. static FORCEINLINE ULONG IWMPMedia2_Release(IWMPMedia2* This) {
  3678. return This->lpVtbl->Release(This);
  3679. }
  3680. /*** IDispatch methods ***/
  3681. static FORCEINLINE HRESULT IWMPMedia2_GetTypeInfoCount(IWMPMedia2* This,UINT *pctinfo) {
  3682. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3683. }
  3684. static FORCEINLINE HRESULT IWMPMedia2_GetTypeInfo(IWMPMedia2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3685. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3686. }
  3687. static FORCEINLINE HRESULT IWMPMedia2_GetIDsOfNames(IWMPMedia2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3688. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3689. }
  3690. static FORCEINLINE HRESULT IWMPMedia2_Invoke(IWMPMedia2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3691. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3692. }
  3693. /*** IWMPMedia methods ***/
  3694. static FORCEINLINE HRESULT IWMPMedia2_get_isIdentical(IWMPMedia2* This,IWMPMedia *pIWMPMedia,VARIANT_BOOL *pvbool) {
  3695. return This->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool);
  3696. }
  3697. static FORCEINLINE HRESULT IWMPMedia2_get_sourceURL(IWMPMedia2* This,BSTR *pbstrSourceURL) {
  3698. return This->lpVtbl->get_sourceURL(This,pbstrSourceURL);
  3699. }
  3700. static FORCEINLINE HRESULT IWMPMedia2_get_name(IWMPMedia2* This,BSTR *pbstrName) {
  3701. return This->lpVtbl->get_name(This,pbstrName);
  3702. }
  3703. static FORCEINLINE HRESULT IWMPMedia2_put_name(IWMPMedia2* This,BSTR pbstrName) {
  3704. return This->lpVtbl->put_name(This,pbstrName);
  3705. }
  3706. static FORCEINLINE HRESULT IWMPMedia2_get_imageSourceWidth(IWMPMedia2* This,LONG *pWidth) {
  3707. return This->lpVtbl->get_imageSourceWidth(This,pWidth);
  3708. }
  3709. static FORCEINLINE HRESULT IWMPMedia2_get_imageSourceHeight(IWMPMedia2* This,LONG *pHeight) {
  3710. return This->lpVtbl->get_imageSourceHeight(This,pHeight);
  3711. }
  3712. static FORCEINLINE HRESULT IWMPMedia2_get_markerCount(IWMPMedia2* This,LONG *pMarkerCount) {
  3713. return This->lpVtbl->get_markerCount(This,pMarkerCount);
  3714. }
  3715. static FORCEINLINE HRESULT IWMPMedia2_getMarkerTime(IWMPMedia2* This,LONG MarkerNum,double *pMarkerTime) {
  3716. return This->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime);
  3717. }
  3718. static FORCEINLINE HRESULT IWMPMedia2_getMarkerName(IWMPMedia2* This,LONG MarkerNum,BSTR *pbstrMarkerName) {
  3719. return This->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName);
  3720. }
  3721. static FORCEINLINE HRESULT IWMPMedia2_get_duration(IWMPMedia2* This,double *pDuration) {
  3722. return This->lpVtbl->get_duration(This,pDuration);
  3723. }
  3724. static FORCEINLINE HRESULT IWMPMedia2_get_durationString(IWMPMedia2* This,BSTR *pbstrDuration) {
  3725. return This->lpVtbl->get_durationString(This,pbstrDuration);
  3726. }
  3727. static FORCEINLINE HRESULT IWMPMedia2_get_attributeCount(IWMPMedia2* This,LONG *plCount) {
  3728. return This->lpVtbl->get_attributeCount(This,plCount);
  3729. }
  3730. static FORCEINLINE HRESULT IWMPMedia2_getAttributeName(IWMPMedia2* This,LONG lIndex,BSTR *pbstrItemName) {
  3731. return This->lpVtbl->getAttributeName(This,lIndex,pbstrItemName);
  3732. }
  3733. static FORCEINLINE HRESULT IWMPMedia2_getItemInfo(IWMPMedia2* This,BSTR bstrItemName,BSTR *pbstrVal) {
  3734. return This->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal);
  3735. }
  3736. static FORCEINLINE HRESULT IWMPMedia2_setItemInfo(IWMPMedia2* This,BSTR bstrItemName,BSTR bstrVal) {
  3737. return This->lpVtbl->setItemInfo(This,bstrItemName,bstrVal);
  3738. }
  3739. static FORCEINLINE HRESULT IWMPMedia2_getItemInfoByAtom(IWMPMedia2* This,LONG lAtom,BSTR *pbstrVal) {
  3740. return This->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal);
  3741. }
  3742. static FORCEINLINE HRESULT IWMPMedia2_isMemberOf(IWMPMedia2* This,IWMPPlaylist *pPlaylist,VARIANT_BOOL *pvarfIsMemberOf) {
  3743. return This->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf);
  3744. }
  3745. static FORCEINLINE HRESULT IWMPMedia2_isReadOnlyItem(IWMPMedia2* This,BSTR bstrItemName,VARIANT_BOOL *pvarfIsReadOnly) {
  3746. return This->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly);
  3747. }
  3748. /*** IWMPMedia2 methods ***/
  3749. static FORCEINLINE HRESULT IWMPMedia2_get_error(IWMPMedia2* This,IWMPErrorItem **out) {
  3750. return This->lpVtbl->get_error(This,out);
  3751. }
  3752. #endif
  3753. #endif
  3754. #endif
  3755. #endif /* __IWMPMedia2_INTERFACE_DEFINED__ */
  3756. /*****************************************************************************
  3757. * IWMPMedia3 interface
  3758. */
  3759. #ifndef __IWMPMedia3_INTERFACE_DEFINED__
  3760. #define __IWMPMedia3_INTERFACE_DEFINED__
  3761. DEFINE_GUID(IID_IWMPMedia3, 0xf118efc7, 0xf03a, 0x4fb4, 0x99,0xc9, 0x1c,0x02,0xa5,0xc1,0x06,0x5b);
  3762. #if defined(__cplusplus) && !defined(CINTERFACE)
  3763. MIDL_INTERFACE("f118efc7-f03a-4fb4-99c9-1c02a5c1065b")
  3764. IWMPMedia3 : public IWMPMedia2
  3765. {
  3766. virtual HRESULT STDMETHODCALLTYPE getAttributeCountByType(
  3767. BSTR type,
  3768. BSTR language,
  3769. LONG *out) = 0;
  3770. virtual HRESULT STDMETHODCALLTYPE getItemInfoByType(
  3771. BSTR type,
  3772. BSTR language,
  3773. LONG index,
  3774. VARIANT *out) = 0;
  3775. };
  3776. #ifdef __CRT_UUID_DECL
  3777. __CRT_UUID_DECL(IWMPMedia3, 0xf118efc7, 0xf03a, 0x4fb4, 0x99,0xc9, 0x1c,0x02,0xa5,0xc1,0x06,0x5b)
  3778. #endif
  3779. #else
  3780. typedef struct IWMPMedia3Vtbl {
  3781. BEGIN_INTERFACE
  3782. /*** IUnknown methods ***/
  3783. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3784. IWMPMedia3 *This,
  3785. REFIID riid,
  3786. void **ppvObject);
  3787. ULONG (STDMETHODCALLTYPE *AddRef)(
  3788. IWMPMedia3 *This);
  3789. ULONG (STDMETHODCALLTYPE *Release)(
  3790. IWMPMedia3 *This);
  3791. /*** IDispatch methods ***/
  3792. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3793. IWMPMedia3 *This,
  3794. UINT *pctinfo);
  3795. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3796. IWMPMedia3 *This,
  3797. UINT iTInfo,
  3798. LCID lcid,
  3799. ITypeInfo **ppTInfo);
  3800. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3801. IWMPMedia3 *This,
  3802. REFIID riid,
  3803. LPOLESTR *rgszNames,
  3804. UINT cNames,
  3805. LCID lcid,
  3806. DISPID *rgDispId);
  3807. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3808. IWMPMedia3 *This,
  3809. DISPID dispIdMember,
  3810. REFIID riid,
  3811. LCID lcid,
  3812. WORD wFlags,
  3813. DISPPARAMS *pDispParams,
  3814. VARIANT *pVarResult,
  3815. EXCEPINFO *pExcepInfo,
  3816. UINT *puArgErr);
  3817. /*** IWMPMedia methods ***/
  3818. HRESULT (STDMETHODCALLTYPE *get_isIdentical)(
  3819. IWMPMedia3 *This,
  3820. IWMPMedia *pIWMPMedia,
  3821. VARIANT_BOOL *pvbool);
  3822. HRESULT (STDMETHODCALLTYPE *get_sourceURL)(
  3823. IWMPMedia3 *This,
  3824. BSTR *pbstrSourceURL);
  3825. HRESULT (STDMETHODCALLTYPE *get_name)(
  3826. IWMPMedia3 *This,
  3827. BSTR *pbstrName);
  3828. HRESULT (STDMETHODCALLTYPE *put_name)(
  3829. IWMPMedia3 *This,
  3830. BSTR pbstrName);
  3831. HRESULT (STDMETHODCALLTYPE *get_imageSourceWidth)(
  3832. IWMPMedia3 *This,
  3833. LONG *pWidth);
  3834. HRESULT (STDMETHODCALLTYPE *get_imageSourceHeight)(
  3835. IWMPMedia3 *This,
  3836. LONG *pHeight);
  3837. HRESULT (STDMETHODCALLTYPE *get_markerCount)(
  3838. IWMPMedia3 *This,
  3839. LONG *pMarkerCount);
  3840. HRESULT (STDMETHODCALLTYPE *getMarkerTime)(
  3841. IWMPMedia3 *This,
  3842. LONG MarkerNum,
  3843. double *pMarkerTime);
  3844. HRESULT (STDMETHODCALLTYPE *getMarkerName)(
  3845. IWMPMedia3 *This,
  3846. LONG MarkerNum,
  3847. BSTR *pbstrMarkerName);
  3848. HRESULT (STDMETHODCALLTYPE *get_duration)(
  3849. IWMPMedia3 *This,
  3850. double *pDuration);
  3851. HRESULT (STDMETHODCALLTYPE *get_durationString)(
  3852. IWMPMedia3 *This,
  3853. BSTR *pbstrDuration);
  3854. HRESULT (STDMETHODCALLTYPE *get_attributeCount)(
  3855. IWMPMedia3 *This,
  3856. LONG *plCount);
  3857. HRESULT (STDMETHODCALLTYPE *getAttributeName)(
  3858. IWMPMedia3 *This,
  3859. LONG lIndex,
  3860. BSTR *pbstrItemName);
  3861. HRESULT (STDMETHODCALLTYPE *getItemInfo)(
  3862. IWMPMedia3 *This,
  3863. BSTR bstrItemName,
  3864. BSTR *pbstrVal);
  3865. HRESULT (STDMETHODCALLTYPE *setItemInfo)(
  3866. IWMPMedia3 *This,
  3867. BSTR bstrItemName,
  3868. BSTR bstrVal);
  3869. HRESULT (STDMETHODCALLTYPE *getItemInfoByAtom)(
  3870. IWMPMedia3 *This,
  3871. LONG lAtom,
  3872. BSTR *pbstrVal);
  3873. HRESULT (STDMETHODCALLTYPE *isMemberOf)(
  3874. IWMPMedia3 *This,
  3875. IWMPPlaylist *pPlaylist,
  3876. VARIANT_BOOL *pvarfIsMemberOf);
  3877. HRESULT (STDMETHODCALLTYPE *isReadOnlyItem)(
  3878. IWMPMedia3 *This,
  3879. BSTR bstrItemName,
  3880. VARIANT_BOOL *pvarfIsReadOnly);
  3881. /*** IWMPMedia2 methods ***/
  3882. HRESULT (STDMETHODCALLTYPE *get_error)(
  3883. IWMPMedia3 *This,
  3884. IWMPErrorItem **out);
  3885. /*** IWMPMedia3 methods ***/
  3886. HRESULT (STDMETHODCALLTYPE *getAttributeCountByType)(
  3887. IWMPMedia3 *This,
  3888. BSTR type,
  3889. BSTR language,
  3890. LONG *out);
  3891. HRESULT (STDMETHODCALLTYPE *getItemInfoByType)(
  3892. IWMPMedia3 *This,
  3893. BSTR type,
  3894. BSTR language,
  3895. LONG index,
  3896. VARIANT *out);
  3897. END_INTERFACE
  3898. } IWMPMedia3Vtbl;
  3899. interface IWMPMedia3 {
  3900. CONST_VTBL IWMPMedia3Vtbl* lpVtbl;
  3901. };
  3902. #ifdef COBJMACROS
  3903. #ifndef WIDL_C_INLINE_WRAPPERS
  3904. /*** IUnknown methods ***/
  3905. #define IWMPMedia3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3906. #define IWMPMedia3_AddRef(This) (This)->lpVtbl->AddRef(This)
  3907. #define IWMPMedia3_Release(This) (This)->lpVtbl->Release(This)
  3908. /*** IDispatch methods ***/
  3909. #define IWMPMedia3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3910. #define IWMPMedia3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3911. #define IWMPMedia3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3912. #define IWMPMedia3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3913. /*** IWMPMedia methods ***/
  3914. #define IWMPMedia3_get_isIdentical(This,pIWMPMedia,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool)
  3915. #define IWMPMedia3_get_sourceURL(This,pbstrSourceURL) (This)->lpVtbl->get_sourceURL(This,pbstrSourceURL)
  3916. #define IWMPMedia3_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName)
  3917. #define IWMPMedia3_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName)
  3918. #define IWMPMedia3_get_imageSourceWidth(This,pWidth) (This)->lpVtbl->get_imageSourceWidth(This,pWidth)
  3919. #define IWMPMedia3_get_imageSourceHeight(This,pHeight) (This)->lpVtbl->get_imageSourceHeight(This,pHeight)
  3920. #define IWMPMedia3_get_markerCount(This,pMarkerCount) (This)->lpVtbl->get_markerCount(This,pMarkerCount)
  3921. #define IWMPMedia3_getMarkerTime(This,MarkerNum,pMarkerTime) (This)->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime)
  3922. #define IWMPMedia3_getMarkerName(This,MarkerNum,pbstrMarkerName) (This)->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName)
  3923. #define IWMPMedia3_get_duration(This,pDuration) (This)->lpVtbl->get_duration(This,pDuration)
  3924. #define IWMPMedia3_get_durationString(This,pbstrDuration) (This)->lpVtbl->get_durationString(This,pbstrDuration)
  3925. #define IWMPMedia3_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount)
  3926. #define IWMPMedia3_getAttributeName(This,lIndex,pbstrItemName) (This)->lpVtbl->getAttributeName(This,lIndex,pbstrItemName)
  3927. #define IWMPMedia3_getItemInfo(This,bstrItemName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal)
  3928. #define IWMPMedia3_setItemInfo(This,bstrItemName,bstrVal) (This)->lpVtbl->setItemInfo(This,bstrItemName,bstrVal)
  3929. #define IWMPMedia3_getItemInfoByAtom(This,lAtom,pbstrVal) (This)->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal)
  3930. #define IWMPMedia3_isMemberOf(This,pPlaylist,pvarfIsMemberOf) (This)->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf)
  3931. #define IWMPMedia3_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) (This)->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)
  3932. /*** IWMPMedia2 methods ***/
  3933. #define IWMPMedia3_get_error(This,out) (This)->lpVtbl->get_error(This,out)
  3934. /*** IWMPMedia3 methods ***/
  3935. #define IWMPMedia3_getAttributeCountByType(This,type,language,out) (This)->lpVtbl->getAttributeCountByType(This,type,language,out)
  3936. #define IWMPMedia3_getItemInfoByType(This,type,language,index,out) (This)->lpVtbl->getItemInfoByType(This,type,language,index,out)
  3937. #else
  3938. /*** IUnknown methods ***/
  3939. static FORCEINLINE HRESULT IWMPMedia3_QueryInterface(IWMPMedia3* This,REFIID riid,void **ppvObject) {
  3940. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3941. }
  3942. static FORCEINLINE ULONG IWMPMedia3_AddRef(IWMPMedia3* This) {
  3943. return This->lpVtbl->AddRef(This);
  3944. }
  3945. static FORCEINLINE ULONG IWMPMedia3_Release(IWMPMedia3* This) {
  3946. return This->lpVtbl->Release(This);
  3947. }
  3948. /*** IDispatch methods ***/
  3949. static FORCEINLINE HRESULT IWMPMedia3_GetTypeInfoCount(IWMPMedia3* This,UINT *pctinfo) {
  3950. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3951. }
  3952. static FORCEINLINE HRESULT IWMPMedia3_GetTypeInfo(IWMPMedia3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3953. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3954. }
  3955. static FORCEINLINE HRESULT IWMPMedia3_GetIDsOfNames(IWMPMedia3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3956. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3957. }
  3958. static FORCEINLINE HRESULT IWMPMedia3_Invoke(IWMPMedia3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3959. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3960. }
  3961. /*** IWMPMedia methods ***/
  3962. static FORCEINLINE HRESULT IWMPMedia3_get_isIdentical(IWMPMedia3* This,IWMPMedia *pIWMPMedia,VARIANT_BOOL *pvbool) {
  3963. return This->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool);
  3964. }
  3965. static FORCEINLINE HRESULT IWMPMedia3_get_sourceURL(IWMPMedia3* This,BSTR *pbstrSourceURL) {
  3966. return This->lpVtbl->get_sourceURL(This,pbstrSourceURL);
  3967. }
  3968. static FORCEINLINE HRESULT IWMPMedia3_get_name(IWMPMedia3* This,BSTR *pbstrName) {
  3969. return This->lpVtbl->get_name(This,pbstrName);
  3970. }
  3971. static FORCEINLINE HRESULT IWMPMedia3_put_name(IWMPMedia3* This,BSTR pbstrName) {
  3972. return This->lpVtbl->put_name(This,pbstrName);
  3973. }
  3974. static FORCEINLINE HRESULT IWMPMedia3_get_imageSourceWidth(IWMPMedia3* This,LONG *pWidth) {
  3975. return This->lpVtbl->get_imageSourceWidth(This,pWidth);
  3976. }
  3977. static FORCEINLINE HRESULT IWMPMedia3_get_imageSourceHeight(IWMPMedia3* This,LONG *pHeight) {
  3978. return This->lpVtbl->get_imageSourceHeight(This,pHeight);
  3979. }
  3980. static FORCEINLINE HRESULT IWMPMedia3_get_markerCount(IWMPMedia3* This,LONG *pMarkerCount) {
  3981. return This->lpVtbl->get_markerCount(This,pMarkerCount);
  3982. }
  3983. static FORCEINLINE HRESULT IWMPMedia3_getMarkerTime(IWMPMedia3* This,LONG MarkerNum,double *pMarkerTime) {
  3984. return This->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime);
  3985. }
  3986. static FORCEINLINE HRESULT IWMPMedia3_getMarkerName(IWMPMedia3* This,LONG MarkerNum,BSTR *pbstrMarkerName) {
  3987. return This->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName);
  3988. }
  3989. static FORCEINLINE HRESULT IWMPMedia3_get_duration(IWMPMedia3* This,double *pDuration) {
  3990. return This->lpVtbl->get_duration(This,pDuration);
  3991. }
  3992. static FORCEINLINE HRESULT IWMPMedia3_get_durationString(IWMPMedia3* This,BSTR *pbstrDuration) {
  3993. return This->lpVtbl->get_durationString(This,pbstrDuration);
  3994. }
  3995. static FORCEINLINE HRESULT IWMPMedia3_get_attributeCount(IWMPMedia3* This,LONG *plCount) {
  3996. return This->lpVtbl->get_attributeCount(This,plCount);
  3997. }
  3998. static FORCEINLINE HRESULT IWMPMedia3_getAttributeName(IWMPMedia3* This,LONG lIndex,BSTR *pbstrItemName) {
  3999. return This->lpVtbl->getAttributeName(This,lIndex,pbstrItemName);
  4000. }
  4001. static FORCEINLINE HRESULT IWMPMedia3_getItemInfo(IWMPMedia3* This,BSTR bstrItemName,BSTR *pbstrVal) {
  4002. return This->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal);
  4003. }
  4004. static FORCEINLINE HRESULT IWMPMedia3_setItemInfo(IWMPMedia3* This,BSTR bstrItemName,BSTR bstrVal) {
  4005. return This->lpVtbl->setItemInfo(This,bstrItemName,bstrVal);
  4006. }
  4007. static FORCEINLINE HRESULT IWMPMedia3_getItemInfoByAtom(IWMPMedia3* This,LONG lAtom,BSTR *pbstrVal) {
  4008. return This->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal);
  4009. }
  4010. static FORCEINLINE HRESULT IWMPMedia3_isMemberOf(IWMPMedia3* This,IWMPPlaylist *pPlaylist,VARIANT_BOOL *pvarfIsMemberOf) {
  4011. return This->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf);
  4012. }
  4013. static FORCEINLINE HRESULT IWMPMedia3_isReadOnlyItem(IWMPMedia3* This,BSTR bstrItemName,VARIANT_BOOL *pvarfIsReadOnly) {
  4014. return This->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly);
  4015. }
  4016. /*** IWMPMedia2 methods ***/
  4017. static FORCEINLINE HRESULT IWMPMedia3_get_error(IWMPMedia3* This,IWMPErrorItem **out) {
  4018. return This->lpVtbl->get_error(This,out);
  4019. }
  4020. /*** IWMPMedia3 methods ***/
  4021. static FORCEINLINE HRESULT IWMPMedia3_getAttributeCountByType(IWMPMedia3* This,BSTR type,BSTR language,LONG *out) {
  4022. return This->lpVtbl->getAttributeCountByType(This,type,language,out);
  4023. }
  4024. static FORCEINLINE HRESULT IWMPMedia3_getItemInfoByType(IWMPMedia3* This,BSTR type,BSTR language,LONG index,VARIANT *out) {
  4025. return This->lpVtbl->getItemInfoByType(This,type,language,index,out);
  4026. }
  4027. #endif
  4028. #endif
  4029. #endif
  4030. #endif /* __IWMPMedia3_INTERFACE_DEFINED__ */
  4031. /*****************************************************************************
  4032. * IWMPError interface
  4033. */
  4034. #ifndef __IWMPError_INTERFACE_DEFINED__
  4035. #define __IWMPError_INTERFACE_DEFINED__
  4036. DEFINE_GUID(IID_IWMPError, 0xa12dcf7d, 0x14ab, 0x4c1b, 0xa8,0xcd, 0x63,0x90,0x9f,0x06,0x02,0x5b);
  4037. #if defined(__cplusplus) && !defined(CINTERFACE)
  4038. MIDL_INTERFACE("a12dcf7d-14ab-4c1b-a8cd-63909f06025b")
  4039. IWMPError : public IDispatch
  4040. {
  4041. virtual HRESULT STDMETHODCALLTYPE clearErrorQueue(
  4042. ) = 0;
  4043. virtual HRESULT STDMETHODCALLTYPE get_errorCount(
  4044. LONG *plNumErrors) = 0;
  4045. virtual HRESULT STDMETHODCALLTYPE get_Item(
  4046. LONG dwIndex,
  4047. IWMPErrorItem **ppErrorItem) = 0;
  4048. virtual HRESULT STDMETHODCALLTYPE webHelp(
  4049. ) = 0;
  4050. };
  4051. #ifdef __CRT_UUID_DECL
  4052. __CRT_UUID_DECL(IWMPError, 0xa12dcf7d, 0x14ab, 0x4c1b, 0xa8,0xcd, 0x63,0x90,0x9f,0x06,0x02,0x5b)
  4053. #endif
  4054. #else
  4055. typedef struct IWMPErrorVtbl {
  4056. BEGIN_INTERFACE
  4057. /*** IUnknown methods ***/
  4058. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4059. IWMPError *This,
  4060. REFIID riid,
  4061. void **ppvObject);
  4062. ULONG (STDMETHODCALLTYPE *AddRef)(
  4063. IWMPError *This);
  4064. ULONG (STDMETHODCALLTYPE *Release)(
  4065. IWMPError *This);
  4066. /*** IDispatch methods ***/
  4067. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4068. IWMPError *This,
  4069. UINT *pctinfo);
  4070. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4071. IWMPError *This,
  4072. UINT iTInfo,
  4073. LCID lcid,
  4074. ITypeInfo **ppTInfo);
  4075. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4076. IWMPError *This,
  4077. REFIID riid,
  4078. LPOLESTR *rgszNames,
  4079. UINT cNames,
  4080. LCID lcid,
  4081. DISPID *rgDispId);
  4082. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4083. IWMPError *This,
  4084. DISPID dispIdMember,
  4085. REFIID riid,
  4086. LCID lcid,
  4087. WORD wFlags,
  4088. DISPPARAMS *pDispParams,
  4089. VARIANT *pVarResult,
  4090. EXCEPINFO *pExcepInfo,
  4091. UINT *puArgErr);
  4092. /*** IWMPError methods ***/
  4093. HRESULT (STDMETHODCALLTYPE *clearErrorQueue)(
  4094. IWMPError *This);
  4095. HRESULT (STDMETHODCALLTYPE *get_errorCount)(
  4096. IWMPError *This,
  4097. LONG *plNumErrors);
  4098. HRESULT (STDMETHODCALLTYPE *get_Item)(
  4099. IWMPError *This,
  4100. LONG dwIndex,
  4101. IWMPErrorItem **ppErrorItem);
  4102. HRESULT (STDMETHODCALLTYPE *webHelp)(
  4103. IWMPError *This);
  4104. END_INTERFACE
  4105. } IWMPErrorVtbl;
  4106. interface IWMPError {
  4107. CONST_VTBL IWMPErrorVtbl* lpVtbl;
  4108. };
  4109. #ifdef COBJMACROS
  4110. #ifndef WIDL_C_INLINE_WRAPPERS
  4111. /*** IUnknown methods ***/
  4112. #define IWMPError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4113. #define IWMPError_AddRef(This) (This)->lpVtbl->AddRef(This)
  4114. #define IWMPError_Release(This) (This)->lpVtbl->Release(This)
  4115. /*** IDispatch methods ***/
  4116. #define IWMPError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4117. #define IWMPError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4118. #define IWMPError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4119. #define IWMPError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4120. /*** IWMPError methods ***/
  4121. #define IWMPError_clearErrorQueue(This) (This)->lpVtbl->clearErrorQueue(This)
  4122. #define IWMPError_get_errorCount(This,plNumErrors) (This)->lpVtbl->get_errorCount(This,plNumErrors)
  4123. #define IWMPError_get_Item(This,dwIndex,ppErrorItem) (This)->lpVtbl->get_Item(This,dwIndex,ppErrorItem)
  4124. #define IWMPError_webHelp(This) (This)->lpVtbl->webHelp(This)
  4125. #else
  4126. /*** IUnknown methods ***/
  4127. static FORCEINLINE HRESULT IWMPError_QueryInterface(IWMPError* This,REFIID riid,void **ppvObject) {
  4128. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4129. }
  4130. static FORCEINLINE ULONG IWMPError_AddRef(IWMPError* This) {
  4131. return This->lpVtbl->AddRef(This);
  4132. }
  4133. static FORCEINLINE ULONG IWMPError_Release(IWMPError* This) {
  4134. return This->lpVtbl->Release(This);
  4135. }
  4136. /*** IDispatch methods ***/
  4137. static FORCEINLINE HRESULT IWMPError_GetTypeInfoCount(IWMPError* This,UINT *pctinfo) {
  4138. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  4139. }
  4140. static FORCEINLINE HRESULT IWMPError_GetTypeInfo(IWMPError* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  4141. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  4142. }
  4143. static FORCEINLINE HRESULT IWMPError_GetIDsOfNames(IWMPError* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  4144. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  4145. }
  4146. static FORCEINLINE HRESULT IWMPError_Invoke(IWMPError* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  4147. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  4148. }
  4149. /*** IWMPError methods ***/
  4150. static FORCEINLINE HRESULT IWMPError_clearErrorQueue(IWMPError* This) {
  4151. return This->lpVtbl->clearErrorQueue(This);
  4152. }
  4153. static FORCEINLINE HRESULT IWMPError_get_errorCount(IWMPError* This,LONG *plNumErrors) {
  4154. return This->lpVtbl->get_errorCount(This,plNumErrors);
  4155. }
  4156. static FORCEINLINE HRESULT IWMPError_get_Item(IWMPError* This,LONG dwIndex,IWMPErrorItem **ppErrorItem) {
  4157. return This->lpVtbl->get_Item(This,dwIndex,ppErrorItem);
  4158. }
  4159. static FORCEINLINE HRESULT IWMPError_webHelp(IWMPError* This) {
  4160. return This->lpVtbl->webHelp(This);
  4161. }
  4162. #endif
  4163. #endif
  4164. #endif
  4165. #endif /* __IWMPError_INTERFACE_DEFINED__ */
  4166. /*****************************************************************************
  4167. * IWMPPlayerApplication interface
  4168. */
  4169. #ifndef __IWMPPlayerApplication_INTERFACE_DEFINED__
  4170. #define __IWMPPlayerApplication_INTERFACE_DEFINED__
  4171. DEFINE_GUID(IID_IWMPPlayerApplication, 0x40897764, 0xceab, 0x47be, 0xad,0x4a, 0x8e,0x28,0x53,0x7f,0x9b,0xbf);
  4172. #if defined(__cplusplus) && !defined(CINTERFACE)
  4173. MIDL_INTERFACE("40897764-ceab-47be-ad4a-8e28537f9bbf")
  4174. IWMPPlayerApplication : public IDispatch
  4175. {
  4176. virtual HRESULT STDMETHODCALLTYPE switchToPlayerApplication(
  4177. ) = 0;
  4178. virtual HRESULT STDMETHODCALLTYPE switchToControl(
  4179. ) = 0;
  4180. virtual HRESULT STDMETHODCALLTYPE get_playerDocked(
  4181. VARIANT_BOOL *pbPlayerDocked) = 0;
  4182. virtual HRESULT STDMETHODCALLTYPE get_hasDisplay(
  4183. VARIANT_BOOL *pbHasDisplay) = 0;
  4184. };
  4185. #ifdef __CRT_UUID_DECL
  4186. __CRT_UUID_DECL(IWMPPlayerApplication, 0x40897764, 0xceab, 0x47be, 0xad,0x4a, 0x8e,0x28,0x53,0x7f,0x9b,0xbf)
  4187. #endif
  4188. #else
  4189. typedef struct IWMPPlayerApplicationVtbl {
  4190. BEGIN_INTERFACE
  4191. /*** IUnknown methods ***/
  4192. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4193. IWMPPlayerApplication *This,
  4194. REFIID riid,
  4195. void **ppvObject);
  4196. ULONG (STDMETHODCALLTYPE *AddRef)(
  4197. IWMPPlayerApplication *This);
  4198. ULONG (STDMETHODCALLTYPE *Release)(
  4199. IWMPPlayerApplication *This);
  4200. /*** IDispatch methods ***/
  4201. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4202. IWMPPlayerApplication *This,
  4203. UINT *pctinfo);
  4204. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4205. IWMPPlayerApplication *This,
  4206. UINT iTInfo,
  4207. LCID lcid,
  4208. ITypeInfo **ppTInfo);
  4209. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4210. IWMPPlayerApplication *This,
  4211. REFIID riid,
  4212. LPOLESTR *rgszNames,
  4213. UINT cNames,
  4214. LCID lcid,
  4215. DISPID *rgDispId);
  4216. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4217. IWMPPlayerApplication *This,
  4218. DISPID dispIdMember,
  4219. REFIID riid,
  4220. LCID lcid,
  4221. WORD wFlags,
  4222. DISPPARAMS *pDispParams,
  4223. VARIANT *pVarResult,
  4224. EXCEPINFO *pExcepInfo,
  4225. UINT *puArgErr);
  4226. /*** IWMPPlayerApplication methods ***/
  4227. HRESULT (STDMETHODCALLTYPE *switchToPlayerApplication)(
  4228. IWMPPlayerApplication *This);
  4229. HRESULT (STDMETHODCALLTYPE *switchToControl)(
  4230. IWMPPlayerApplication *This);
  4231. HRESULT (STDMETHODCALLTYPE *get_playerDocked)(
  4232. IWMPPlayerApplication *This,
  4233. VARIANT_BOOL *pbPlayerDocked);
  4234. HRESULT (STDMETHODCALLTYPE *get_hasDisplay)(
  4235. IWMPPlayerApplication *This,
  4236. VARIANT_BOOL *pbHasDisplay);
  4237. END_INTERFACE
  4238. } IWMPPlayerApplicationVtbl;
  4239. interface IWMPPlayerApplication {
  4240. CONST_VTBL IWMPPlayerApplicationVtbl* lpVtbl;
  4241. };
  4242. #ifdef COBJMACROS
  4243. #ifndef WIDL_C_INLINE_WRAPPERS
  4244. /*** IUnknown methods ***/
  4245. #define IWMPPlayerApplication_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4246. #define IWMPPlayerApplication_AddRef(This) (This)->lpVtbl->AddRef(This)
  4247. #define IWMPPlayerApplication_Release(This) (This)->lpVtbl->Release(This)
  4248. /*** IDispatch methods ***/
  4249. #define IWMPPlayerApplication_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4250. #define IWMPPlayerApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4251. #define IWMPPlayerApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4252. #define IWMPPlayerApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4253. /*** IWMPPlayerApplication methods ***/
  4254. #define IWMPPlayerApplication_switchToPlayerApplication(This) (This)->lpVtbl->switchToPlayerApplication(This)
  4255. #define IWMPPlayerApplication_switchToControl(This) (This)->lpVtbl->switchToControl(This)
  4256. #define IWMPPlayerApplication_get_playerDocked(This,pbPlayerDocked) (This)->lpVtbl->get_playerDocked(This,pbPlayerDocked)
  4257. #define IWMPPlayerApplication_get_hasDisplay(This,pbHasDisplay) (This)->lpVtbl->get_hasDisplay(This,pbHasDisplay)
  4258. #else
  4259. /*** IUnknown methods ***/
  4260. static FORCEINLINE HRESULT IWMPPlayerApplication_QueryInterface(IWMPPlayerApplication* This,REFIID riid,void **ppvObject) {
  4261. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4262. }
  4263. static FORCEINLINE ULONG IWMPPlayerApplication_AddRef(IWMPPlayerApplication* This) {
  4264. return This->lpVtbl->AddRef(This);
  4265. }
  4266. static FORCEINLINE ULONG IWMPPlayerApplication_Release(IWMPPlayerApplication* This) {
  4267. return This->lpVtbl->Release(This);
  4268. }
  4269. /*** IDispatch methods ***/
  4270. static FORCEINLINE HRESULT IWMPPlayerApplication_GetTypeInfoCount(IWMPPlayerApplication* This,UINT *pctinfo) {
  4271. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  4272. }
  4273. static FORCEINLINE HRESULT IWMPPlayerApplication_GetTypeInfo(IWMPPlayerApplication* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  4274. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  4275. }
  4276. static FORCEINLINE HRESULT IWMPPlayerApplication_GetIDsOfNames(IWMPPlayerApplication* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  4277. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  4278. }
  4279. static FORCEINLINE HRESULT IWMPPlayerApplication_Invoke(IWMPPlayerApplication* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  4280. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  4281. }
  4282. /*** IWMPPlayerApplication methods ***/
  4283. static FORCEINLINE HRESULT IWMPPlayerApplication_switchToPlayerApplication(IWMPPlayerApplication* This) {
  4284. return This->lpVtbl->switchToPlayerApplication(This);
  4285. }
  4286. static FORCEINLINE HRESULT IWMPPlayerApplication_switchToControl(IWMPPlayerApplication* This) {
  4287. return This->lpVtbl->switchToControl(This);
  4288. }
  4289. static FORCEINLINE HRESULT IWMPPlayerApplication_get_playerDocked(IWMPPlayerApplication* This,VARIANT_BOOL *pbPlayerDocked) {
  4290. return This->lpVtbl->get_playerDocked(This,pbPlayerDocked);
  4291. }
  4292. static FORCEINLINE HRESULT IWMPPlayerApplication_get_hasDisplay(IWMPPlayerApplication* This,VARIANT_BOOL *pbHasDisplay) {
  4293. return This->lpVtbl->get_hasDisplay(This,pbHasDisplay);
  4294. }
  4295. #endif
  4296. #endif
  4297. #endif
  4298. #endif /* __IWMPPlayerApplication_INTERFACE_DEFINED__ */
  4299. /*****************************************************************************
  4300. * IWMPCore interface
  4301. */
  4302. #ifndef __IWMPCore_INTERFACE_DEFINED__
  4303. #define __IWMPCore_INTERFACE_DEFINED__
  4304. DEFINE_GUID(IID_IWMPCore, 0xd84cca99, 0xcce2, 0x11d2, 0x9e,0xcc, 0x00,0x00,0xf8,0x08,0x59,0x81);
  4305. #if defined(__cplusplus) && !defined(CINTERFACE)
  4306. MIDL_INTERFACE("d84cca99-cce2-11d2-9ecc-0000f8085981")
  4307. IWMPCore : public IDispatch
  4308. {
  4309. virtual HRESULT STDMETHODCALLTYPE close(
  4310. ) = 0;
  4311. virtual HRESULT STDMETHODCALLTYPE get_URL(
  4312. BSTR *pbstrURL) = 0;
  4313. virtual HRESULT STDMETHODCALLTYPE put_URL(
  4314. BSTR pbstrURL) = 0;
  4315. virtual HRESULT STDMETHODCALLTYPE get_openState(
  4316. WMPOpenState *pwmpos) = 0;
  4317. virtual HRESULT STDMETHODCALLTYPE get_playState(
  4318. WMPPlayState *pwmpps) = 0;
  4319. virtual HRESULT STDMETHODCALLTYPE get_controls(
  4320. IWMPControls **ppControl) = 0;
  4321. virtual HRESULT STDMETHODCALLTYPE get_settings(
  4322. IWMPSettings **ppSettings) = 0;
  4323. virtual HRESULT STDMETHODCALLTYPE get_currentMedia(
  4324. IWMPMedia **ppMedia) = 0;
  4325. virtual HRESULT STDMETHODCALLTYPE put_currentMedia(
  4326. IWMPMedia *ppMedia) = 0;
  4327. virtual HRESULT STDMETHODCALLTYPE get_mediaCollection(
  4328. IWMPMediaCollection **ppMediaCollection) = 0;
  4329. virtual HRESULT STDMETHODCALLTYPE get_playlistCollection(
  4330. IWMPPlaylistCollection **ppPlaylistCollection) = 0;
  4331. virtual HRESULT STDMETHODCALLTYPE get_versionInfo(
  4332. BSTR *pbstrVersionInfo) = 0;
  4333. virtual HRESULT STDMETHODCALLTYPE launchURL(
  4334. BSTR bstrURL) = 0;
  4335. virtual HRESULT STDMETHODCALLTYPE get_network(
  4336. IWMPNetwork **ppQNI) = 0;
  4337. virtual HRESULT STDMETHODCALLTYPE get_currentPlaylist(
  4338. IWMPPlaylist **ppPL) = 0;
  4339. virtual HRESULT STDMETHODCALLTYPE put_currentPlaylist(
  4340. IWMPPlaylist *ppPL) = 0;
  4341. virtual HRESULT STDMETHODCALLTYPE get_cdromCollection(
  4342. IWMPCdromCollection **ppCdromCollection) = 0;
  4343. virtual HRESULT STDMETHODCALLTYPE get_closedCaption(
  4344. IWMPClosedCaption **ppClosedCaption) = 0;
  4345. virtual HRESULT STDMETHODCALLTYPE get_isOnline(
  4346. VARIANT_BOOL *pfOnline) = 0;
  4347. virtual HRESULT STDMETHODCALLTYPE get_Error(
  4348. IWMPError **ppError) = 0;
  4349. virtual HRESULT STDMETHODCALLTYPE get_status(
  4350. BSTR *pbstrStatus) = 0;
  4351. };
  4352. #ifdef __CRT_UUID_DECL
  4353. __CRT_UUID_DECL(IWMPCore, 0xd84cca99, 0xcce2, 0x11d2, 0x9e,0xcc, 0x00,0x00,0xf8,0x08,0x59,0x81)
  4354. #endif
  4355. #else
  4356. typedef struct IWMPCoreVtbl {
  4357. BEGIN_INTERFACE
  4358. /*** IUnknown methods ***/
  4359. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4360. IWMPCore *This,
  4361. REFIID riid,
  4362. void **ppvObject);
  4363. ULONG (STDMETHODCALLTYPE *AddRef)(
  4364. IWMPCore *This);
  4365. ULONG (STDMETHODCALLTYPE *Release)(
  4366. IWMPCore *This);
  4367. /*** IDispatch methods ***/
  4368. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4369. IWMPCore *This,
  4370. UINT *pctinfo);
  4371. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4372. IWMPCore *This,
  4373. UINT iTInfo,
  4374. LCID lcid,
  4375. ITypeInfo **ppTInfo);
  4376. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4377. IWMPCore *This,
  4378. REFIID riid,
  4379. LPOLESTR *rgszNames,
  4380. UINT cNames,
  4381. LCID lcid,
  4382. DISPID *rgDispId);
  4383. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4384. IWMPCore *This,
  4385. DISPID dispIdMember,
  4386. REFIID riid,
  4387. LCID lcid,
  4388. WORD wFlags,
  4389. DISPPARAMS *pDispParams,
  4390. VARIANT *pVarResult,
  4391. EXCEPINFO *pExcepInfo,
  4392. UINT *puArgErr);
  4393. /*** IWMPCore methods ***/
  4394. HRESULT (STDMETHODCALLTYPE *close)(
  4395. IWMPCore *This);
  4396. HRESULT (STDMETHODCALLTYPE *get_URL)(
  4397. IWMPCore *This,
  4398. BSTR *pbstrURL);
  4399. HRESULT (STDMETHODCALLTYPE *put_URL)(
  4400. IWMPCore *This,
  4401. BSTR pbstrURL);
  4402. HRESULT (STDMETHODCALLTYPE *get_openState)(
  4403. IWMPCore *This,
  4404. WMPOpenState *pwmpos);
  4405. HRESULT (STDMETHODCALLTYPE *get_playState)(
  4406. IWMPCore *This,
  4407. WMPPlayState *pwmpps);
  4408. HRESULT (STDMETHODCALLTYPE *get_controls)(
  4409. IWMPCore *This,
  4410. IWMPControls **ppControl);
  4411. HRESULT (STDMETHODCALLTYPE *get_settings)(
  4412. IWMPCore *This,
  4413. IWMPSettings **ppSettings);
  4414. HRESULT (STDMETHODCALLTYPE *get_currentMedia)(
  4415. IWMPCore *This,
  4416. IWMPMedia **ppMedia);
  4417. HRESULT (STDMETHODCALLTYPE *put_currentMedia)(
  4418. IWMPCore *This,
  4419. IWMPMedia *ppMedia);
  4420. HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
  4421. IWMPCore *This,
  4422. IWMPMediaCollection **ppMediaCollection);
  4423. HRESULT (STDMETHODCALLTYPE *get_playlistCollection)(
  4424. IWMPCore *This,
  4425. IWMPPlaylistCollection **ppPlaylistCollection);
  4426. HRESULT (STDMETHODCALLTYPE *get_versionInfo)(
  4427. IWMPCore *This,
  4428. BSTR *pbstrVersionInfo);
  4429. HRESULT (STDMETHODCALLTYPE *launchURL)(
  4430. IWMPCore *This,
  4431. BSTR bstrURL);
  4432. HRESULT (STDMETHODCALLTYPE *get_network)(
  4433. IWMPCore *This,
  4434. IWMPNetwork **ppQNI);
  4435. HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)(
  4436. IWMPCore *This,
  4437. IWMPPlaylist **ppPL);
  4438. HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)(
  4439. IWMPCore *This,
  4440. IWMPPlaylist *ppPL);
  4441. HRESULT (STDMETHODCALLTYPE *get_cdromCollection)(
  4442. IWMPCore *This,
  4443. IWMPCdromCollection **ppCdromCollection);
  4444. HRESULT (STDMETHODCALLTYPE *get_closedCaption)(
  4445. IWMPCore *This,
  4446. IWMPClosedCaption **ppClosedCaption);
  4447. HRESULT (STDMETHODCALLTYPE *get_isOnline)(
  4448. IWMPCore *This,
  4449. VARIANT_BOOL *pfOnline);
  4450. HRESULT (STDMETHODCALLTYPE *get_Error)(
  4451. IWMPCore *This,
  4452. IWMPError **ppError);
  4453. HRESULT (STDMETHODCALLTYPE *get_status)(
  4454. IWMPCore *This,
  4455. BSTR *pbstrStatus);
  4456. END_INTERFACE
  4457. } IWMPCoreVtbl;
  4458. interface IWMPCore {
  4459. CONST_VTBL IWMPCoreVtbl* lpVtbl;
  4460. };
  4461. #ifdef COBJMACROS
  4462. #ifndef WIDL_C_INLINE_WRAPPERS
  4463. /*** IUnknown methods ***/
  4464. #define IWMPCore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4465. #define IWMPCore_AddRef(This) (This)->lpVtbl->AddRef(This)
  4466. #define IWMPCore_Release(This) (This)->lpVtbl->Release(This)
  4467. /*** IDispatch methods ***/
  4468. #define IWMPCore_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4469. #define IWMPCore_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4470. #define IWMPCore_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4471. #define IWMPCore_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4472. /*** IWMPCore methods ***/
  4473. #define IWMPCore_close(This) (This)->lpVtbl->close(This)
  4474. #define IWMPCore_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL)
  4475. #define IWMPCore_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL)
  4476. #define IWMPCore_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos)
  4477. #define IWMPCore_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps)
  4478. #define IWMPCore_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl)
  4479. #define IWMPCore_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings)
  4480. #define IWMPCore_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia)
  4481. #define IWMPCore_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia)
  4482. #define IWMPCore_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection)
  4483. #define IWMPCore_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection)
  4484. #define IWMPCore_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo)
  4485. #define IWMPCore_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL)
  4486. #define IWMPCore_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI)
  4487. #define IWMPCore_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL)
  4488. #define IWMPCore_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL)
  4489. #define IWMPCore_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection)
  4490. #define IWMPCore_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption)
  4491. #define IWMPCore_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline)
  4492. #define IWMPCore_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError)
  4493. #define IWMPCore_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus)
  4494. #else
  4495. /*** IUnknown methods ***/
  4496. static FORCEINLINE HRESULT IWMPCore_QueryInterface(IWMPCore* This,REFIID riid,void **ppvObject) {
  4497. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4498. }
  4499. static FORCEINLINE ULONG IWMPCore_AddRef(IWMPCore* This) {
  4500. return This->lpVtbl->AddRef(This);
  4501. }
  4502. static FORCEINLINE ULONG IWMPCore_Release(IWMPCore* This) {
  4503. return This->lpVtbl->Release(This);
  4504. }
  4505. /*** IDispatch methods ***/
  4506. static FORCEINLINE HRESULT IWMPCore_GetTypeInfoCount(IWMPCore* This,UINT *pctinfo) {
  4507. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  4508. }
  4509. static FORCEINLINE HRESULT IWMPCore_GetTypeInfo(IWMPCore* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  4510. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  4511. }
  4512. static FORCEINLINE HRESULT IWMPCore_GetIDsOfNames(IWMPCore* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  4513. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  4514. }
  4515. static FORCEINLINE HRESULT IWMPCore_Invoke(IWMPCore* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  4516. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  4517. }
  4518. /*** IWMPCore methods ***/
  4519. static FORCEINLINE HRESULT IWMPCore_close(IWMPCore* This) {
  4520. return This->lpVtbl->close(This);
  4521. }
  4522. static FORCEINLINE HRESULT IWMPCore_get_URL(IWMPCore* This,BSTR *pbstrURL) {
  4523. return This->lpVtbl->get_URL(This,pbstrURL);
  4524. }
  4525. static FORCEINLINE HRESULT IWMPCore_put_URL(IWMPCore* This,BSTR pbstrURL) {
  4526. return This->lpVtbl->put_URL(This,pbstrURL);
  4527. }
  4528. static FORCEINLINE HRESULT IWMPCore_get_openState(IWMPCore* This,WMPOpenState *pwmpos) {
  4529. return This->lpVtbl->get_openState(This,pwmpos);
  4530. }
  4531. static FORCEINLINE HRESULT IWMPCore_get_playState(IWMPCore* This,WMPPlayState *pwmpps) {
  4532. return This->lpVtbl->get_playState(This,pwmpps);
  4533. }
  4534. static FORCEINLINE HRESULT IWMPCore_get_controls(IWMPCore* This,IWMPControls **ppControl) {
  4535. return This->lpVtbl->get_controls(This,ppControl);
  4536. }
  4537. static FORCEINLINE HRESULT IWMPCore_get_settings(IWMPCore* This,IWMPSettings **ppSettings) {
  4538. return This->lpVtbl->get_settings(This,ppSettings);
  4539. }
  4540. static FORCEINLINE HRESULT IWMPCore_get_currentMedia(IWMPCore* This,IWMPMedia **ppMedia) {
  4541. return This->lpVtbl->get_currentMedia(This,ppMedia);
  4542. }
  4543. static FORCEINLINE HRESULT IWMPCore_put_currentMedia(IWMPCore* This,IWMPMedia *ppMedia) {
  4544. return This->lpVtbl->put_currentMedia(This,ppMedia);
  4545. }
  4546. static FORCEINLINE HRESULT IWMPCore_get_mediaCollection(IWMPCore* This,IWMPMediaCollection **ppMediaCollection) {
  4547. return This->lpVtbl->get_mediaCollection(This,ppMediaCollection);
  4548. }
  4549. static FORCEINLINE HRESULT IWMPCore_get_playlistCollection(IWMPCore* This,IWMPPlaylistCollection **ppPlaylistCollection) {
  4550. return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection);
  4551. }
  4552. static FORCEINLINE HRESULT IWMPCore_get_versionInfo(IWMPCore* This,BSTR *pbstrVersionInfo) {
  4553. return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo);
  4554. }
  4555. static FORCEINLINE HRESULT IWMPCore_launchURL(IWMPCore* This,BSTR bstrURL) {
  4556. return This->lpVtbl->launchURL(This,bstrURL);
  4557. }
  4558. static FORCEINLINE HRESULT IWMPCore_get_network(IWMPCore* This,IWMPNetwork **ppQNI) {
  4559. return This->lpVtbl->get_network(This,ppQNI);
  4560. }
  4561. static FORCEINLINE HRESULT IWMPCore_get_currentPlaylist(IWMPCore* This,IWMPPlaylist **ppPL) {
  4562. return This->lpVtbl->get_currentPlaylist(This,ppPL);
  4563. }
  4564. static FORCEINLINE HRESULT IWMPCore_put_currentPlaylist(IWMPCore* This,IWMPPlaylist *ppPL) {
  4565. return This->lpVtbl->put_currentPlaylist(This,ppPL);
  4566. }
  4567. static FORCEINLINE HRESULT IWMPCore_get_cdromCollection(IWMPCore* This,IWMPCdromCollection **ppCdromCollection) {
  4568. return This->lpVtbl->get_cdromCollection(This,ppCdromCollection);
  4569. }
  4570. static FORCEINLINE HRESULT IWMPCore_get_closedCaption(IWMPCore* This,IWMPClosedCaption **ppClosedCaption) {
  4571. return This->lpVtbl->get_closedCaption(This,ppClosedCaption);
  4572. }
  4573. static FORCEINLINE HRESULT IWMPCore_get_isOnline(IWMPCore* This,VARIANT_BOOL *pfOnline) {
  4574. return This->lpVtbl->get_isOnline(This,pfOnline);
  4575. }
  4576. static FORCEINLINE HRESULT IWMPCore_get_Error(IWMPCore* This,IWMPError **ppError) {
  4577. return This->lpVtbl->get_Error(This,ppError);
  4578. }
  4579. static FORCEINLINE HRESULT IWMPCore_get_status(IWMPCore* This,BSTR *pbstrStatus) {
  4580. return This->lpVtbl->get_status(This,pbstrStatus);
  4581. }
  4582. #endif
  4583. #endif
  4584. #endif
  4585. #endif /* __IWMPCore_INTERFACE_DEFINED__ */
  4586. /*****************************************************************************
  4587. * IWMPCore2 interface
  4588. */
  4589. #ifndef __IWMPCore2_INTERFACE_DEFINED__
  4590. #define __IWMPCore2_INTERFACE_DEFINED__
  4591. DEFINE_GUID(IID_IWMPCore2, 0xbc17e5b7, 0x7561, 0x4c18, 0xbb,0x90, 0x17,0xd4,0x85,0x77,0x56,0x59);
  4592. #if defined(__cplusplus) && !defined(CINTERFACE)
  4593. MIDL_INTERFACE("bc17e5b7-7561-4c18-bb90-17d485775659")
  4594. IWMPCore2 : public IWMPCore
  4595. {
  4596. virtual HRESULT STDMETHODCALLTYPE get_dvd(
  4597. IWMPDVD **ppDVD) = 0;
  4598. };
  4599. #ifdef __CRT_UUID_DECL
  4600. __CRT_UUID_DECL(IWMPCore2, 0xbc17e5b7, 0x7561, 0x4c18, 0xbb,0x90, 0x17,0xd4,0x85,0x77,0x56,0x59)
  4601. #endif
  4602. #else
  4603. typedef struct IWMPCore2Vtbl {
  4604. BEGIN_INTERFACE
  4605. /*** IUnknown methods ***/
  4606. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4607. IWMPCore2 *This,
  4608. REFIID riid,
  4609. void **ppvObject);
  4610. ULONG (STDMETHODCALLTYPE *AddRef)(
  4611. IWMPCore2 *This);
  4612. ULONG (STDMETHODCALLTYPE *Release)(
  4613. IWMPCore2 *This);
  4614. /*** IDispatch methods ***/
  4615. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4616. IWMPCore2 *This,
  4617. UINT *pctinfo);
  4618. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4619. IWMPCore2 *This,
  4620. UINT iTInfo,
  4621. LCID lcid,
  4622. ITypeInfo **ppTInfo);
  4623. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4624. IWMPCore2 *This,
  4625. REFIID riid,
  4626. LPOLESTR *rgszNames,
  4627. UINT cNames,
  4628. LCID lcid,
  4629. DISPID *rgDispId);
  4630. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4631. IWMPCore2 *This,
  4632. DISPID dispIdMember,
  4633. REFIID riid,
  4634. LCID lcid,
  4635. WORD wFlags,
  4636. DISPPARAMS *pDispParams,
  4637. VARIANT *pVarResult,
  4638. EXCEPINFO *pExcepInfo,
  4639. UINT *puArgErr);
  4640. /*** IWMPCore methods ***/
  4641. HRESULT (STDMETHODCALLTYPE *close)(
  4642. IWMPCore2 *This);
  4643. HRESULT (STDMETHODCALLTYPE *get_URL)(
  4644. IWMPCore2 *This,
  4645. BSTR *pbstrURL);
  4646. HRESULT (STDMETHODCALLTYPE *put_URL)(
  4647. IWMPCore2 *This,
  4648. BSTR pbstrURL);
  4649. HRESULT (STDMETHODCALLTYPE *get_openState)(
  4650. IWMPCore2 *This,
  4651. WMPOpenState *pwmpos);
  4652. HRESULT (STDMETHODCALLTYPE *get_playState)(
  4653. IWMPCore2 *This,
  4654. WMPPlayState *pwmpps);
  4655. HRESULT (STDMETHODCALLTYPE *get_controls)(
  4656. IWMPCore2 *This,
  4657. IWMPControls **ppControl);
  4658. HRESULT (STDMETHODCALLTYPE *get_settings)(
  4659. IWMPCore2 *This,
  4660. IWMPSettings **ppSettings);
  4661. HRESULT (STDMETHODCALLTYPE *get_currentMedia)(
  4662. IWMPCore2 *This,
  4663. IWMPMedia **ppMedia);
  4664. HRESULT (STDMETHODCALLTYPE *put_currentMedia)(
  4665. IWMPCore2 *This,
  4666. IWMPMedia *ppMedia);
  4667. HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
  4668. IWMPCore2 *This,
  4669. IWMPMediaCollection **ppMediaCollection);
  4670. HRESULT (STDMETHODCALLTYPE *get_playlistCollection)(
  4671. IWMPCore2 *This,
  4672. IWMPPlaylistCollection **ppPlaylistCollection);
  4673. HRESULT (STDMETHODCALLTYPE *get_versionInfo)(
  4674. IWMPCore2 *This,
  4675. BSTR *pbstrVersionInfo);
  4676. HRESULT (STDMETHODCALLTYPE *launchURL)(
  4677. IWMPCore2 *This,
  4678. BSTR bstrURL);
  4679. HRESULT (STDMETHODCALLTYPE *get_network)(
  4680. IWMPCore2 *This,
  4681. IWMPNetwork **ppQNI);
  4682. HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)(
  4683. IWMPCore2 *This,
  4684. IWMPPlaylist **ppPL);
  4685. HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)(
  4686. IWMPCore2 *This,
  4687. IWMPPlaylist *ppPL);
  4688. HRESULT (STDMETHODCALLTYPE *get_cdromCollection)(
  4689. IWMPCore2 *This,
  4690. IWMPCdromCollection **ppCdromCollection);
  4691. HRESULT (STDMETHODCALLTYPE *get_closedCaption)(
  4692. IWMPCore2 *This,
  4693. IWMPClosedCaption **ppClosedCaption);
  4694. HRESULT (STDMETHODCALLTYPE *get_isOnline)(
  4695. IWMPCore2 *This,
  4696. VARIANT_BOOL *pfOnline);
  4697. HRESULT (STDMETHODCALLTYPE *get_Error)(
  4698. IWMPCore2 *This,
  4699. IWMPError **ppError);
  4700. HRESULT (STDMETHODCALLTYPE *get_status)(
  4701. IWMPCore2 *This,
  4702. BSTR *pbstrStatus);
  4703. /*** IWMPCore2 methods ***/
  4704. HRESULT (STDMETHODCALLTYPE *get_dvd)(
  4705. IWMPCore2 *This,
  4706. IWMPDVD **ppDVD);
  4707. END_INTERFACE
  4708. } IWMPCore2Vtbl;
  4709. interface IWMPCore2 {
  4710. CONST_VTBL IWMPCore2Vtbl* lpVtbl;
  4711. };
  4712. #ifdef COBJMACROS
  4713. #ifndef WIDL_C_INLINE_WRAPPERS
  4714. /*** IUnknown methods ***/
  4715. #define IWMPCore2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4716. #define IWMPCore2_AddRef(This) (This)->lpVtbl->AddRef(This)
  4717. #define IWMPCore2_Release(This) (This)->lpVtbl->Release(This)
  4718. /*** IDispatch methods ***/
  4719. #define IWMPCore2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4720. #define IWMPCore2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4721. #define IWMPCore2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4722. #define IWMPCore2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4723. /*** IWMPCore methods ***/
  4724. #define IWMPCore2_close(This) (This)->lpVtbl->close(This)
  4725. #define IWMPCore2_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL)
  4726. #define IWMPCore2_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL)
  4727. #define IWMPCore2_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos)
  4728. #define IWMPCore2_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps)
  4729. #define IWMPCore2_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl)
  4730. #define IWMPCore2_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings)
  4731. #define IWMPCore2_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia)
  4732. #define IWMPCore2_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia)
  4733. #define IWMPCore2_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection)
  4734. #define IWMPCore2_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection)
  4735. #define IWMPCore2_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo)
  4736. #define IWMPCore2_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL)
  4737. #define IWMPCore2_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI)
  4738. #define IWMPCore2_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL)
  4739. #define IWMPCore2_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL)
  4740. #define IWMPCore2_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection)
  4741. #define IWMPCore2_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption)
  4742. #define IWMPCore2_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline)
  4743. #define IWMPCore2_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError)
  4744. #define IWMPCore2_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus)
  4745. /*** IWMPCore2 methods ***/
  4746. #define IWMPCore2_get_dvd(This,ppDVD) (This)->lpVtbl->get_dvd(This,ppDVD)
  4747. #else
  4748. /*** IUnknown methods ***/
  4749. static FORCEINLINE HRESULT IWMPCore2_QueryInterface(IWMPCore2* This,REFIID riid,void **ppvObject) {
  4750. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4751. }
  4752. static FORCEINLINE ULONG IWMPCore2_AddRef(IWMPCore2* This) {
  4753. return This->lpVtbl->AddRef(This);
  4754. }
  4755. static FORCEINLINE ULONG IWMPCore2_Release(IWMPCore2* This) {
  4756. return This->lpVtbl->Release(This);
  4757. }
  4758. /*** IDispatch methods ***/
  4759. static FORCEINLINE HRESULT IWMPCore2_GetTypeInfoCount(IWMPCore2* This,UINT *pctinfo) {
  4760. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  4761. }
  4762. static FORCEINLINE HRESULT IWMPCore2_GetTypeInfo(IWMPCore2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  4763. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  4764. }
  4765. static FORCEINLINE HRESULT IWMPCore2_GetIDsOfNames(IWMPCore2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  4766. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  4767. }
  4768. static FORCEINLINE HRESULT IWMPCore2_Invoke(IWMPCore2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  4769. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  4770. }
  4771. /*** IWMPCore methods ***/
  4772. static FORCEINLINE HRESULT IWMPCore2_close(IWMPCore2* This) {
  4773. return This->lpVtbl->close(This);
  4774. }
  4775. static FORCEINLINE HRESULT IWMPCore2_get_URL(IWMPCore2* This,BSTR *pbstrURL) {
  4776. return This->lpVtbl->get_URL(This,pbstrURL);
  4777. }
  4778. static FORCEINLINE HRESULT IWMPCore2_put_URL(IWMPCore2* This,BSTR pbstrURL) {
  4779. return This->lpVtbl->put_URL(This,pbstrURL);
  4780. }
  4781. static FORCEINLINE HRESULT IWMPCore2_get_openState(IWMPCore2* This,WMPOpenState *pwmpos) {
  4782. return This->lpVtbl->get_openState(This,pwmpos);
  4783. }
  4784. static FORCEINLINE HRESULT IWMPCore2_get_playState(IWMPCore2* This,WMPPlayState *pwmpps) {
  4785. return This->lpVtbl->get_playState(This,pwmpps);
  4786. }
  4787. static FORCEINLINE HRESULT IWMPCore2_get_controls(IWMPCore2* This,IWMPControls **ppControl) {
  4788. return This->lpVtbl->get_controls(This,ppControl);
  4789. }
  4790. static FORCEINLINE HRESULT IWMPCore2_get_settings(IWMPCore2* This,IWMPSettings **ppSettings) {
  4791. return This->lpVtbl->get_settings(This,ppSettings);
  4792. }
  4793. static FORCEINLINE HRESULT IWMPCore2_get_currentMedia(IWMPCore2* This,IWMPMedia **ppMedia) {
  4794. return This->lpVtbl->get_currentMedia(This,ppMedia);
  4795. }
  4796. static FORCEINLINE HRESULT IWMPCore2_put_currentMedia(IWMPCore2* This,IWMPMedia *ppMedia) {
  4797. return This->lpVtbl->put_currentMedia(This,ppMedia);
  4798. }
  4799. static FORCEINLINE HRESULT IWMPCore2_get_mediaCollection(IWMPCore2* This,IWMPMediaCollection **ppMediaCollection) {
  4800. return This->lpVtbl->get_mediaCollection(This,ppMediaCollection);
  4801. }
  4802. static FORCEINLINE HRESULT IWMPCore2_get_playlistCollection(IWMPCore2* This,IWMPPlaylistCollection **ppPlaylistCollection) {
  4803. return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection);
  4804. }
  4805. static FORCEINLINE HRESULT IWMPCore2_get_versionInfo(IWMPCore2* This,BSTR *pbstrVersionInfo) {
  4806. return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo);
  4807. }
  4808. static FORCEINLINE HRESULT IWMPCore2_launchURL(IWMPCore2* This,BSTR bstrURL) {
  4809. return This->lpVtbl->launchURL(This,bstrURL);
  4810. }
  4811. static FORCEINLINE HRESULT IWMPCore2_get_network(IWMPCore2* This,IWMPNetwork **ppQNI) {
  4812. return This->lpVtbl->get_network(This,ppQNI);
  4813. }
  4814. static FORCEINLINE HRESULT IWMPCore2_get_currentPlaylist(IWMPCore2* This,IWMPPlaylist **ppPL) {
  4815. return This->lpVtbl->get_currentPlaylist(This,ppPL);
  4816. }
  4817. static FORCEINLINE HRESULT IWMPCore2_put_currentPlaylist(IWMPCore2* This,IWMPPlaylist *ppPL) {
  4818. return This->lpVtbl->put_currentPlaylist(This,ppPL);
  4819. }
  4820. static FORCEINLINE HRESULT IWMPCore2_get_cdromCollection(IWMPCore2* This,IWMPCdromCollection **ppCdromCollection) {
  4821. return This->lpVtbl->get_cdromCollection(This,ppCdromCollection);
  4822. }
  4823. static FORCEINLINE HRESULT IWMPCore2_get_closedCaption(IWMPCore2* This,IWMPClosedCaption **ppClosedCaption) {
  4824. return This->lpVtbl->get_closedCaption(This,ppClosedCaption);
  4825. }
  4826. static FORCEINLINE HRESULT IWMPCore2_get_isOnline(IWMPCore2* This,VARIANT_BOOL *pfOnline) {
  4827. return This->lpVtbl->get_isOnline(This,pfOnline);
  4828. }
  4829. static FORCEINLINE HRESULT IWMPCore2_get_Error(IWMPCore2* This,IWMPError **ppError) {
  4830. return This->lpVtbl->get_Error(This,ppError);
  4831. }
  4832. static FORCEINLINE HRESULT IWMPCore2_get_status(IWMPCore2* This,BSTR *pbstrStatus) {
  4833. return This->lpVtbl->get_status(This,pbstrStatus);
  4834. }
  4835. /*** IWMPCore2 methods ***/
  4836. static FORCEINLINE HRESULT IWMPCore2_get_dvd(IWMPCore2* This,IWMPDVD **ppDVD) {
  4837. return This->lpVtbl->get_dvd(This,ppDVD);
  4838. }
  4839. #endif
  4840. #endif
  4841. #endif
  4842. #endif /* __IWMPCore2_INTERFACE_DEFINED__ */
  4843. /*****************************************************************************
  4844. * IWMPCore3 interface
  4845. */
  4846. #ifndef __IWMPCore3_INTERFACE_DEFINED__
  4847. #define __IWMPCore3_INTERFACE_DEFINED__
  4848. DEFINE_GUID(IID_IWMPCore3, 0x7587c667, 0x628f, 0x499f, 0x88,0xe7, 0x6a,0x6f,0x4e,0x88,0x84,0x64);
  4849. #if defined(__cplusplus) && !defined(CINTERFACE)
  4850. MIDL_INTERFACE("7587c667-628f-499f-88e7-6a6f4e888464")
  4851. IWMPCore3 : public IWMPCore2
  4852. {
  4853. virtual HRESULT STDMETHODCALLTYPE newPlaylist(
  4854. BSTR bstrName,
  4855. BSTR bstrURL,
  4856. IWMPPlaylist **ppPlaylist) = 0;
  4857. virtual HRESULT STDMETHODCALLTYPE newMedia(
  4858. BSTR bstrURL,
  4859. IWMPMedia **ppMedia) = 0;
  4860. };
  4861. #ifdef __CRT_UUID_DECL
  4862. __CRT_UUID_DECL(IWMPCore3, 0x7587c667, 0x628f, 0x499f, 0x88,0xe7, 0x6a,0x6f,0x4e,0x88,0x84,0x64)
  4863. #endif
  4864. #else
  4865. typedef struct IWMPCore3Vtbl {
  4866. BEGIN_INTERFACE
  4867. /*** IUnknown methods ***/
  4868. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4869. IWMPCore3 *This,
  4870. REFIID riid,
  4871. void **ppvObject);
  4872. ULONG (STDMETHODCALLTYPE *AddRef)(
  4873. IWMPCore3 *This);
  4874. ULONG (STDMETHODCALLTYPE *Release)(
  4875. IWMPCore3 *This);
  4876. /*** IDispatch methods ***/
  4877. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4878. IWMPCore3 *This,
  4879. UINT *pctinfo);
  4880. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4881. IWMPCore3 *This,
  4882. UINT iTInfo,
  4883. LCID lcid,
  4884. ITypeInfo **ppTInfo);
  4885. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4886. IWMPCore3 *This,
  4887. REFIID riid,
  4888. LPOLESTR *rgszNames,
  4889. UINT cNames,
  4890. LCID lcid,
  4891. DISPID *rgDispId);
  4892. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4893. IWMPCore3 *This,
  4894. DISPID dispIdMember,
  4895. REFIID riid,
  4896. LCID lcid,
  4897. WORD wFlags,
  4898. DISPPARAMS *pDispParams,
  4899. VARIANT *pVarResult,
  4900. EXCEPINFO *pExcepInfo,
  4901. UINT *puArgErr);
  4902. /*** IWMPCore methods ***/
  4903. HRESULT (STDMETHODCALLTYPE *close)(
  4904. IWMPCore3 *This);
  4905. HRESULT (STDMETHODCALLTYPE *get_URL)(
  4906. IWMPCore3 *This,
  4907. BSTR *pbstrURL);
  4908. HRESULT (STDMETHODCALLTYPE *put_URL)(
  4909. IWMPCore3 *This,
  4910. BSTR pbstrURL);
  4911. HRESULT (STDMETHODCALLTYPE *get_openState)(
  4912. IWMPCore3 *This,
  4913. WMPOpenState *pwmpos);
  4914. HRESULT (STDMETHODCALLTYPE *get_playState)(
  4915. IWMPCore3 *This,
  4916. WMPPlayState *pwmpps);
  4917. HRESULT (STDMETHODCALLTYPE *get_controls)(
  4918. IWMPCore3 *This,
  4919. IWMPControls **ppControl);
  4920. HRESULT (STDMETHODCALLTYPE *get_settings)(
  4921. IWMPCore3 *This,
  4922. IWMPSettings **ppSettings);
  4923. HRESULT (STDMETHODCALLTYPE *get_currentMedia)(
  4924. IWMPCore3 *This,
  4925. IWMPMedia **ppMedia);
  4926. HRESULT (STDMETHODCALLTYPE *put_currentMedia)(
  4927. IWMPCore3 *This,
  4928. IWMPMedia *ppMedia);
  4929. HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
  4930. IWMPCore3 *This,
  4931. IWMPMediaCollection **ppMediaCollection);
  4932. HRESULT (STDMETHODCALLTYPE *get_playlistCollection)(
  4933. IWMPCore3 *This,
  4934. IWMPPlaylistCollection **ppPlaylistCollection);
  4935. HRESULT (STDMETHODCALLTYPE *get_versionInfo)(
  4936. IWMPCore3 *This,
  4937. BSTR *pbstrVersionInfo);
  4938. HRESULT (STDMETHODCALLTYPE *launchURL)(
  4939. IWMPCore3 *This,
  4940. BSTR bstrURL);
  4941. HRESULT (STDMETHODCALLTYPE *get_network)(
  4942. IWMPCore3 *This,
  4943. IWMPNetwork **ppQNI);
  4944. HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)(
  4945. IWMPCore3 *This,
  4946. IWMPPlaylist **ppPL);
  4947. HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)(
  4948. IWMPCore3 *This,
  4949. IWMPPlaylist *ppPL);
  4950. HRESULT (STDMETHODCALLTYPE *get_cdromCollection)(
  4951. IWMPCore3 *This,
  4952. IWMPCdromCollection **ppCdromCollection);
  4953. HRESULT (STDMETHODCALLTYPE *get_closedCaption)(
  4954. IWMPCore3 *This,
  4955. IWMPClosedCaption **ppClosedCaption);
  4956. HRESULT (STDMETHODCALLTYPE *get_isOnline)(
  4957. IWMPCore3 *This,
  4958. VARIANT_BOOL *pfOnline);
  4959. HRESULT (STDMETHODCALLTYPE *get_Error)(
  4960. IWMPCore3 *This,
  4961. IWMPError **ppError);
  4962. HRESULT (STDMETHODCALLTYPE *get_status)(
  4963. IWMPCore3 *This,
  4964. BSTR *pbstrStatus);
  4965. /*** IWMPCore2 methods ***/
  4966. HRESULT (STDMETHODCALLTYPE *get_dvd)(
  4967. IWMPCore3 *This,
  4968. IWMPDVD **ppDVD);
  4969. /*** IWMPCore3 methods ***/
  4970. HRESULT (STDMETHODCALLTYPE *newPlaylist)(
  4971. IWMPCore3 *This,
  4972. BSTR bstrName,
  4973. BSTR bstrURL,
  4974. IWMPPlaylist **ppPlaylist);
  4975. HRESULT (STDMETHODCALLTYPE *newMedia)(
  4976. IWMPCore3 *This,
  4977. BSTR bstrURL,
  4978. IWMPMedia **ppMedia);
  4979. END_INTERFACE
  4980. } IWMPCore3Vtbl;
  4981. interface IWMPCore3 {
  4982. CONST_VTBL IWMPCore3Vtbl* lpVtbl;
  4983. };
  4984. #ifdef COBJMACROS
  4985. #ifndef WIDL_C_INLINE_WRAPPERS
  4986. /*** IUnknown methods ***/
  4987. #define IWMPCore3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4988. #define IWMPCore3_AddRef(This) (This)->lpVtbl->AddRef(This)
  4989. #define IWMPCore3_Release(This) (This)->lpVtbl->Release(This)
  4990. /*** IDispatch methods ***/
  4991. #define IWMPCore3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4992. #define IWMPCore3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4993. #define IWMPCore3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4994. #define IWMPCore3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4995. /*** IWMPCore methods ***/
  4996. #define IWMPCore3_close(This) (This)->lpVtbl->close(This)
  4997. #define IWMPCore3_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL)
  4998. #define IWMPCore3_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL)
  4999. #define IWMPCore3_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos)
  5000. #define IWMPCore3_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps)
  5001. #define IWMPCore3_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl)
  5002. #define IWMPCore3_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings)
  5003. #define IWMPCore3_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia)
  5004. #define IWMPCore3_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia)
  5005. #define IWMPCore3_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection)
  5006. #define IWMPCore3_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection)
  5007. #define IWMPCore3_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo)
  5008. #define IWMPCore3_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL)
  5009. #define IWMPCore3_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI)
  5010. #define IWMPCore3_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL)
  5011. #define IWMPCore3_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL)
  5012. #define IWMPCore3_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection)
  5013. #define IWMPCore3_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption)
  5014. #define IWMPCore3_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline)
  5015. #define IWMPCore3_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError)
  5016. #define IWMPCore3_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus)
  5017. /*** IWMPCore2 methods ***/
  5018. #define IWMPCore3_get_dvd(This,ppDVD) (This)->lpVtbl->get_dvd(This,ppDVD)
  5019. /*** IWMPCore3 methods ***/
  5020. #define IWMPCore3_newPlaylist(This,bstrName,bstrURL,ppPlaylist) (This)->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist)
  5021. #define IWMPCore3_newMedia(This,bstrURL,ppMedia) (This)->lpVtbl->newMedia(This,bstrURL,ppMedia)
  5022. #else
  5023. /*** IUnknown methods ***/
  5024. static FORCEINLINE HRESULT IWMPCore3_QueryInterface(IWMPCore3* This,REFIID riid,void **ppvObject) {
  5025. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5026. }
  5027. static FORCEINLINE ULONG IWMPCore3_AddRef(IWMPCore3* This) {
  5028. return This->lpVtbl->AddRef(This);
  5029. }
  5030. static FORCEINLINE ULONG IWMPCore3_Release(IWMPCore3* This) {
  5031. return This->lpVtbl->Release(This);
  5032. }
  5033. /*** IDispatch methods ***/
  5034. static FORCEINLINE HRESULT IWMPCore3_GetTypeInfoCount(IWMPCore3* This,UINT *pctinfo) {
  5035. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  5036. }
  5037. static FORCEINLINE HRESULT IWMPCore3_GetTypeInfo(IWMPCore3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  5038. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  5039. }
  5040. static FORCEINLINE HRESULT IWMPCore3_GetIDsOfNames(IWMPCore3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  5041. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  5042. }
  5043. static FORCEINLINE HRESULT IWMPCore3_Invoke(IWMPCore3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  5044. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  5045. }
  5046. /*** IWMPCore methods ***/
  5047. static FORCEINLINE HRESULT IWMPCore3_close(IWMPCore3* This) {
  5048. return This->lpVtbl->close(This);
  5049. }
  5050. static FORCEINLINE HRESULT IWMPCore3_get_URL(IWMPCore3* This,BSTR *pbstrURL) {
  5051. return This->lpVtbl->get_URL(This,pbstrURL);
  5052. }
  5053. static FORCEINLINE HRESULT IWMPCore3_put_URL(IWMPCore3* This,BSTR pbstrURL) {
  5054. return This->lpVtbl->put_URL(This,pbstrURL);
  5055. }
  5056. static FORCEINLINE HRESULT IWMPCore3_get_openState(IWMPCore3* This,WMPOpenState *pwmpos) {
  5057. return This->lpVtbl->get_openState(This,pwmpos);
  5058. }
  5059. static FORCEINLINE HRESULT IWMPCore3_get_playState(IWMPCore3* This,WMPPlayState *pwmpps) {
  5060. return This->lpVtbl->get_playState(This,pwmpps);
  5061. }
  5062. static FORCEINLINE HRESULT IWMPCore3_get_controls(IWMPCore3* This,IWMPControls **ppControl) {
  5063. return This->lpVtbl->get_controls(This,ppControl);
  5064. }
  5065. static FORCEINLINE HRESULT IWMPCore3_get_settings(IWMPCore3* This,IWMPSettings **ppSettings) {
  5066. return This->lpVtbl->get_settings(This,ppSettings);
  5067. }
  5068. static FORCEINLINE HRESULT IWMPCore3_get_currentMedia(IWMPCore3* This,IWMPMedia **ppMedia) {
  5069. return This->lpVtbl->get_currentMedia(This,ppMedia);
  5070. }
  5071. static FORCEINLINE HRESULT IWMPCore3_put_currentMedia(IWMPCore3* This,IWMPMedia *ppMedia) {
  5072. return This->lpVtbl->put_currentMedia(This,ppMedia);
  5073. }
  5074. static FORCEINLINE HRESULT IWMPCore3_get_mediaCollection(IWMPCore3* This,IWMPMediaCollection **ppMediaCollection) {
  5075. return This->lpVtbl->get_mediaCollection(This,ppMediaCollection);
  5076. }
  5077. static FORCEINLINE HRESULT IWMPCore3_get_playlistCollection(IWMPCore3* This,IWMPPlaylistCollection **ppPlaylistCollection) {
  5078. return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection);
  5079. }
  5080. static FORCEINLINE HRESULT IWMPCore3_get_versionInfo(IWMPCore3* This,BSTR *pbstrVersionInfo) {
  5081. return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo);
  5082. }
  5083. static FORCEINLINE HRESULT IWMPCore3_launchURL(IWMPCore3* This,BSTR bstrURL) {
  5084. return This->lpVtbl->launchURL(This,bstrURL);
  5085. }
  5086. static FORCEINLINE HRESULT IWMPCore3_get_network(IWMPCore3* This,IWMPNetwork **ppQNI) {
  5087. return This->lpVtbl->get_network(This,ppQNI);
  5088. }
  5089. static FORCEINLINE HRESULT IWMPCore3_get_currentPlaylist(IWMPCore3* This,IWMPPlaylist **ppPL) {
  5090. return This->lpVtbl->get_currentPlaylist(This,ppPL);
  5091. }
  5092. static FORCEINLINE HRESULT IWMPCore3_put_currentPlaylist(IWMPCore3* This,IWMPPlaylist *ppPL) {
  5093. return This->lpVtbl->put_currentPlaylist(This,ppPL);
  5094. }
  5095. static FORCEINLINE HRESULT IWMPCore3_get_cdromCollection(IWMPCore3* This,IWMPCdromCollection **ppCdromCollection) {
  5096. return This->lpVtbl->get_cdromCollection(This,ppCdromCollection);
  5097. }
  5098. static FORCEINLINE HRESULT IWMPCore3_get_closedCaption(IWMPCore3* This,IWMPClosedCaption **ppClosedCaption) {
  5099. return This->lpVtbl->get_closedCaption(This,ppClosedCaption);
  5100. }
  5101. static FORCEINLINE HRESULT IWMPCore3_get_isOnline(IWMPCore3* This,VARIANT_BOOL *pfOnline) {
  5102. return This->lpVtbl->get_isOnline(This,pfOnline);
  5103. }
  5104. static FORCEINLINE HRESULT IWMPCore3_get_Error(IWMPCore3* This,IWMPError **ppError) {
  5105. return This->lpVtbl->get_Error(This,ppError);
  5106. }
  5107. static FORCEINLINE HRESULT IWMPCore3_get_status(IWMPCore3* This,BSTR *pbstrStatus) {
  5108. return This->lpVtbl->get_status(This,pbstrStatus);
  5109. }
  5110. /*** IWMPCore2 methods ***/
  5111. static FORCEINLINE HRESULT IWMPCore3_get_dvd(IWMPCore3* This,IWMPDVD **ppDVD) {
  5112. return This->lpVtbl->get_dvd(This,ppDVD);
  5113. }
  5114. /*** IWMPCore3 methods ***/
  5115. static FORCEINLINE HRESULT IWMPCore3_newPlaylist(IWMPCore3* This,BSTR bstrName,BSTR bstrURL,IWMPPlaylist **ppPlaylist) {
  5116. return This->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist);
  5117. }
  5118. static FORCEINLINE HRESULT IWMPCore3_newMedia(IWMPCore3* This,BSTR bstrURL,IWMPMedia **ppMedia) {
  5119. return This->lpVtbl->newMedia(This,bstrURL,ppMedia);
  5120. }
  5121. #endif
  5122. #endif
  5123. #endif
  5124. #endif /* __IWMPCore3_INTERFACE_DEFINED__ */
  5125. /*****************************************************************************
  5126. * IWMPPlayer4 interface
  5127. */
  5128. #ifndef __IWMPPlayer4_INTERFACE_DEFINED__
  5129. #define __IWMPPlayer4_INTERFACE_DEFINED__
  5130. DEFINE_GUID(IID_IWMPPlayer4, 0x6c497d62, 0x8919, 0x413c, 0x82,0xdb, 0xe9,0x35,0xfb,0x3e,0xc5,0x84);
  5131. #if defined(__cplusplus) && !defined(CINTERFACE)
  5132. MIDL_INTERFACE("6c497d62-8919-413c-82db-e935fb3ec584")
  5133. IWMPPlayer4 : public IWMPCore3
  5134. {
  5135. virtual HRESULT STDMETHODCALLTYPE get_enabled(
  5136. VARIANT_BOOL *pbEnabled) = 0;
  5137. virtual HRESULT STDMETHODCALLTYPE put_enabled(
  5138. VARIANT_BOOL pbEnabled) = 0;
  5139. virtual HRESULT STDMETHODCALLTYPE get_fullScreen(
  5140. VARIANT_BOOL *pbFullScreen) = 0;
  5141. virtual HRESULT STDMETHODCALLTYPE put_fullScreen(
  5142. VARIANT_BOOL pbFullScreen) = 0;
  5143. virtual HRESULT STDMETHODCALLTYPE get_enableContextMenu(
  5144. VARIANT_BOOL *pbEnableContextMenu) = 0;
  5145. virtual HRESULT STDMETHODCALLTYPE put_enableContextMenu(
  5146. VARIANT_BOOL pbEnableContextMenu) = 0;
  5147. virtual HRESULT STDMETHODCALLTYPE put_uiMode(
  5148. BSTR pbstrMode) = 0;
  5149. virtual HRESULT STDMETHODCALLTYPE get_uiMode(
  5150. BSTR *pbstrMode) = 0;
  5151. virtual HRESULT STDMETHODCALLTYPE get_stretchToFit(
  5152. VARIANT_BOOL *pbEnabled) = 0;
  5153. virtual HRESULT STDMETHODCALLTYPE put_stretchToFit(
  5154. VARIANT_BOOL pbEnabled) = 0;
  5155. virtual HRESULT STDMETHODCALLTYPE get_windowlessVideo(
  5156. VARIANT_BOOL *pbEnabled) = 0;
  5157. virtual HRESULT STDMETHODCALLTYPE put_windowlessVideo(
  5158. VARIANT_BOOL pbEnabled) = 0;
  5159. virtual HRESULT STDMETHODCALLTYPE get_isRemote(
  5160. VARIANT_BOOL *pvarfIsRemote) = 0;
  5161. virtual HRESULT STDMETHODCALLTYPE get_playerApplication(
  5162. IWMPPlayerApplication **ppIWMPPlayerApplication) = 0;
  5163. virtual HRESULT STDMETHODCALLTYPE openPlayer(
  5164. BSTR bstrURL) = 0;
  5165. };
  5166. #ifdef __CRT_UUID_DECL
  5167. __CRT_UUID_DECL(IWMPPlayer4, 0x6c497d62, 0x8919, 0x413c, 0x82,0xdb, 0xe9,0x35,0xfb,0x3e,0xc5,0x84)
  5168. #endif
  5169. #else
  5170. typedef struct IWMPPlayer4Vtbl {
  5171. BEGIN_INTERFACE
  5172. /*** IUnknown methods ***/
  5173. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5174. IWMPPlayer4 *This,
  5175. REFIID riid,
  5176. void **ppvObject);
  5177. ULONG (STDMETHODCALLTYPE *AddRef)(
  5178. IWMPPlayer4 *This);
  5179. ULONG (STDMETHODCALLTYPE *Release)(
  5180. IWMPPlayer4 *This);
  5181. /*** IDispatch methods ***/
  5182. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  5183. IWMPPlayer4 *This,
  5184. UINT *pctinfo);
  5185. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  5186. IWMPPlayer4 *This,
  5187. UINT iTInfo,
  5188. LCID lcid,
  5189. ITypeInfo **ppTInfo);
  5190. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  5191. IWMPPlayer4 *This,
  5192. REFIID riid,
  5193. LPOLESTR *rgszNames,
  5194. UINT cNames,
  5195. LCID lcid,
  5196. DISPID *rgDispId);
  5197. HRESULT (STDMETHODCALLTYPE *Invoke)(
  5198. IWMPPlayer4 *This,
  5199. DISPID dispIdMember,
  5200. REFIID riid,
  5201. LCID lcid,
  5202. WORD wFlags,
  5203. DISPPARAMS *pDispParams,
  5204. VARIANT *pVarResult,
  5205. EXCEPINFO *pExcepInfo,
  5206. UINT *puArgErr);
  5207. /*** IWMPCore methods ***/
  5208. HRESULT (STDMETHODCALLTYPE *close)(
  5209. IWMPPlayer4 *This);
  5210. HRESULT (STDMETHODCALLTYPE *get_URL)(
  5211. IWMPPlayer4 *This,
  5212. BSTR *pbstrURL);
  5213. HRESULT (STDMETHODCALLTYPE *put_URL)(
  5214. IWMPPlayer4 *This,
  5215. BSTR pbstrURL);
  5216. HRESULT (STDMETHODCALLTYPE *get_openState)(
  5217. IWMPPlayer4 *This,
  5218. WMPOpenState *pwmpos);
  5219. HRESULT (STDMETHODCALLTYPE *get_playState)(
  5220. IWMPPlayer4 *This,
  5221. WMPPlayState *pwmpps);
  5222. HRESULT (STDMETHODCALLTYPE *get_controls)(
  5223. IWMPPlayer4 *This,
  5224. IWMPControls **ppControl);
  5225. HRESULT (STDMETHODCALLTYPE *get_settings)(
  5226. IWMPPlayer4 *This,
  5227. IWMPSettings **ppSettings);
  5228. HRESULT (STDMETHODCALLTYPE *get_currentMedia)(
  5229. IWMPPlayer4 *This,
  5230. IWMPMedia **ppMedia);
  5231. HRESULT (STDMETHODCALLTYPE *put_currentMedia)(
  5232. IWMPPlayer4 *This,
  5233. IWMPMedia *ppMedia);
  5234. HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
  5235. IWMPPlayer4 *This,
  5236. IWMPMediaCollection **ppMediaCollection);
  5237. HRESULT (STDMETHODCALLTYPE *get_playlistCollection)(
  5238. IWMPPlayer4 *This,
  5239. IWMPPlaylistCollection **ppPlaylistCollection);
  5240. HRESULT (STDMETHODCALLTYPE *get_versionInfo)(
  5241. IWMPPlayer4 *This,
  5242. BSTR *pbstrVersionInfo);
  5243. HRESULT (STDMETHODCALLTYPE *launchURL)(
  5244. IWMPPlayer4 *This,
  5245. BSTR bstrURL);
  5246. HRESULT (STDMETHODCALLTYPE *get_network)(
  5247. IWMPPlayer4 *This,
  5248. IWMPNetwork **ppQNI);
  5249. HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)(
  5250. IWMPPlayer4 *This,
  5251. IWMPPlaylist **ppPL);
  5252. HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)(
  5253. IWMPPlayer4 *This,
  5254. IWMPPlaylist *ppPL);
  5255. HRESULT (STDMETHODCALLTYPE *get_cdromCollection)(
  5256. IWMPPlayer4 *This,
  5257. IWMPCdromCollection **ppCdromCollection);
  5258. HRESULT (STDMETHODCALLTYPE *get_closedCaption)(
  5259. IWMPPlayer4 *This,
  5260. IWMPClosedCaption **ppClosedCaption);
  5261. HRESULT (STDMETHODCALLTYPE *get_isOnline)(
  5262. IWMPPlayer4 *This,
  5263. VARIANT_BOOL *pfOnline);
  5264. HRESULT (STDMETHODCALLTYPE *get_Error)(
  5265. IWMPPlayer4 *This,
  5266. IWMPError **ppError);
  5267. HRESULT (STDMETHODCALLTYPE *get_status)(
  5268. IWMPPlayer4 *This,
  5269. BSTR *pbstrStatus);
  5270. /*** IWMPCore2 methods ***/
  5271. HRESULT (STDMETHODCALLTYPE *get_dvd)(
  5272. IWMPPlayer4 *This,
  5273. IWMPDVD **ppDVD);
  5274. /*** IWMPCore3 methods ***/
  5275. HRESULT (STDMETHODCALLTYPE *newPlaylist)(
  5276. IWMPPlayer4 *This,
  5277. BSTR bstrName,
  5278. BSTR bstrURL,
  5279. IWMPPlaylist **ppPlaylist);
  5280. HRESULT (STDMETHODCALLTYPE *newMedia)(
  5281. IWMPPlayer4 *This,
  5282. BSTR bstrURL,
  5283. IWMPMedia **ppMedia);
  5284. /*** IWMPPlayer4 methods ***/
  5285. HRESULT (STDMETHODCALLTYPE *get_enabled)(
  5286. IWMPPlayer4 *This,
  5287. VARIANT_BOOL *pbEnabled);
  5288. HRESULT (STDMETHODCALLTYPE *put_enabled)(
  5289. IWMPPlayer4 *This,
  5290. VARIANT_BOOL pbEnabled);
  5291. HRESULT (STDMETHODCALLTYPE *get_fullScreen)(
  5292. IWMPPlayer4 *This,
  5293. VARIANT_BOOL *pbFullScreen);
  5294. HRESULT (STDMETHODCALLTYPE *put_fullScreen)(
  5295. IWMPPlayer4 *This,
  5296. VARIANT_BOOL pbFullScreen);
  5297. HRESULT (STDMETHODCALLTYPE *get_enableContextMenu)(
  5298. IWMPPlayer4 *This,
  5299. VARIANT_BOOL *pbEnableContextMenu);
  5300. HRESULT (STDMETHODCALLTYPE *put_enableContextMenu)(
  5301. IWMPPlayer4 *This,
  5302. VARIANT_BOOL pbEnableContextMenu);
  5303. HRESULT (STDMETHODCALLTYPE *put_uiMode)(
  5304. IWMPPlayer4 *This,
  5305. BSTR pbstrMode);
  5306. HRESULT (STDMETHODCALLTYPE *get_uiMode)(
  5307. IWMPPlayer4 *This,
  5308. BSTR *pbstrMode);
  5309. HRESULT (STDMETHODCALLTYPE *get_stretchToFit)(
  5310. IWMPPlayer4 *This,
  5311. VARIANT_BOOL *pbEnabled);
  5312. HRESULT (STDMETHODCALLTYPE *put_stretchToFit)(
  5313. IWMPPlayer4 *This,
  5314. VARIANT_BOOL pbEnabled);
  5315. HRESULT (STDMETHODCALLTYPE *get_windowlessVideo)(
  5316. IWMPPlayer4 *This,
  5317. VARIANT_BOOL *pbEnabled);
  5318. HRESULT (STDMETHODCALLTYPE *put_windowlessVideo)(
  5319. IWMPPlayer4 *This,
  5320. VARIANT_BOOL pbEnabled);
  5321. HRESULT (STDMETHODCALLTYPE *get_isRemote)(
  5322. IWMPPlayer4 *This,
  5323. VARIANT_BOOL *pvarfIsRemote);
  5324. HRESULT (STDMETHODCALLTYPE *get_playerApplication)(
  5325. IWMPPlayer4 *This,
  5326. IWMPPlayerApplication **ppIWMPPlayerApplication);
  5327. HRESULT (STDMETHODCALLTYPE *openPlayer)(
  5328. IWMPPlayer4 *This,
  5329. BSTR bstrURL);
  5330. END_INTERFACE
  5331. } IWMPPlayer4Vtbl;
  5332. interface IWMPPlayer4 {
  5333. CONST_VTBL IWMPPlayer4Vtbl* lpVtbl;
  5334. };
  5335. #ifdef COBJMACROS
  5336. #ifndef WIDL_C_INLINE_WRAPPERS
  5337. /*** IUnknown methods ***/
  5338. #define IWMPPlayer4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5339. #define IWMPPlayer4_AddRef(This) (This)->lpVtbl->AddRef(This)
  5340. #define IWMPPlayer4_Release(This) (This)->lpVtbl->Release(This)
  5341. /*** IDispatch methods ***/
  5342. #define IWMPPlayer4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  5343. #define IWMPPlayer4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5344. #define IWMPPlayer4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5345. #define IWMPPlayer4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5346. /*** IWMPCore methods ***/
  5347. #define IWMPPlayer4_close(This) (This)->lpVtbl->close(This)
  5348. #define IWMPPlayer4_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL)
  5349. #define IWMPPlayer4_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL)
  5350. #define IWMPPlayer4_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos)
  5351. #define IWMPPlayer4_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps)
  5352. #define IWMPPlayer4_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl)
  5353. #define IWMPPlayer4_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings)
  5354. #define IWMPPlayer4_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia)
  5355. #define IWMPPlayer4_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia)
  5356. #define IWMPPlayer4_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection)
  5357. #define IWMPPlayer4_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection)
  5358. #define IWMPPlayer4_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo)
  5359. #define IWMPPlayer4_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL)
  5360. #define IWMPPlayer4_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI)
  5361. #define IWMPPlayer4_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL)
  5362. #define IWMPPlayer4_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL)
  5363. #define IWMPPlayer4_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection)
  5364. #define IWMPPlayer4_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption)
  5365. #define IWMPPlayer4_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline)
  5366. #define IWMPPlayer4_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError)
  5367. #define IWMPPlayer4_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus)
  5368. /*** IWMPCore2 methods ***/
  5369. #define IWMPPlayer4_get_dvd(This,ppDVD) (This)->lpVtbl->get_dvd(This,ppDVD)
  5370. /*** IWMPCore3 methods ***/
  5371. #define IWMPPlayer4_newPlaylist(This,bstrName,bstrURL,ppPlaylist) (This)->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist)
  5372. #define IWMPPlayer4_newMedia(This,bstrURL,ppMedia) (This)->lpVtbl->newMedia(This,bstrURL,ppMedia)
  5373. /*** IWMPPlayer4 methods ***/
  5374. #define IWMPPlayer4_get_enabled(This,pbEnabled) (This)->lpVtbl->get_enabled(This,pbEnabled)
  5375. #define IWMPPlayer4_put_enabled(This,pbEnabled) (This)->lpVtbl->put_enabled(This,pbEnabled)
  5376. #define IWMPPlayer4_get_fullScreen(This,pbFullScreen) (This)->lpVtbl->get_fullScreen(This,pbFullScreen)
  5377. #define IWMPPlayer4_put_fullScreen(This,pbFullScreen) (This)->lpVtbl->put_fullScreen(This,pbFullScreen)
  5378. #define IWMPPlayer4_get_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu)
  5379. #define IWMPPlayer4_put_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu)
  5380. #define IWMPPlayer4_put_uiMode(This,pbstrMode) (This)->lpVtbl->put_uiMode(This,pbstrMode)
  5381. #define IWMPPlayer4_get_uiMode(This,pbstrMode) (This)->lpVtbl->get_uiMode(This,pbstrMode)
  5382. #define IWMPPlayer4_get_stretchToFit(This,pbEnabled) (This)->lpVtbl->get_stretchToFit(This,pbEnabled)
  5383. #define IWMPPlayer4_put_stretchToFit(This,pbEnabled) (This)->lpVtbl->put_stretchToFit(This,pbEnabled)
  5384. #define IWMPPlayer4_get_windowlessVideo(This,pbEnabled) (This)->lpVtbl->get_windowlessVideo(This,pbEnabled)
  5385. #define IWMPPlayer4_put_windowlessVideo(This,pbEnabled) (This)->lpVtbl->put_windowlessVideo(This,pbEnabled)
  5386. #define IWMPPlayer4_get_isRemote(This,pvarfIsRemote) (This)->lpVtbl->get_isRemote(This,pvarfIsRemote)
  5387. #define IWMPPlayer4_get_playerApplication(This,ppIWMPPlayerApplication) (This)->lpVtbl->get_playerApplication(This,ppIWMPPlayerApplication)
  5388. #define IWMPPlayer4_openPlayer(This,bstrURL) (This)->lpVtbl->openPlayer(This,bstrURL)
  5389. #else
  5390. /*** IUnknown methods ***/
  5391. static FORCEINLINE HRESULT IWMPPlayer4_QueryInterface(IWMPPlayer4* This,REFIID riid,void **ppvObject) {
  5392. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5393. }
  5394. static FORCEINLINE ULONG IWMPPlayer4_AddRef(IWMPPlayer4* This) {
  5395. return This->lpVtbl->AddRef(This);
  5396. }
  5397. static FORCEINLINE ULONG IWMPPlayer4_Release(IWMPPlayer4* This) {
  5398. return This->lpVtbl->Release(This);
  5399. }
  5400. /*** IDispatch methods ***/
  5401. static FORCEINLINE HRESULT IWMPPlayer4_GetTypeInfoCount(IWMPPlayer4* This,UINT *pctinfo) {
  5402. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  5403. }
  5404. static FORCEINLINE HRESULT IWMPPlayer4_GetTypeInfo(IWMPPlayer4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  5405. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  5406. }
  5407. static FORCEINLINE HRESULT IWMPPlayer4_GetIDsOfNames(IWMPPlayer4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  5408. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  5409. }
  5410. static FORCEINLINE HRESULT IWMPPlayer4_Invoke(IWMPPlayer4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  5411. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  5412. }
  5413. /*** IWMPCore methods ***/
  5414. static FORCEINLINE HRESULT IWMPPlayer4_close(IWMPPlayer4* This) {
  5415. return This->lpVtbl->close(This);
  5416. }
  5417. static FORCEINLINE HRESULT IWMPPlayer4_get_URL(IWMPPlayer4* This,BSTR *pbstrURL) {
  5418. return This->lpVtbl->get_URL(This,pbstrURL);
  5419. }
  5420. static FORCEINLINE HRESULT IWMPPlayer4_put_URL(IWMPPlayer4* This,BSTR pbstrURL) {
  5421. return This->lpVtbl->put_URL(This,pbstrURL);
  5422. }
  5423. static FORCEINLINE HRESULT IWMPPlayer4_get_openState(IWMPPlayer4* This,WMPOpenState *pwmpos) {
  5424. return This->lpVtbl->get_openState(This,pwmpos);
  5425. }
  5426. static FORCEINLINE HRESULT IWMPPlayer4_get_playState(IWMPPlayer4* This,WMPPlayState *pwmpps) {
  5427. return This->lpVtbl->get_playState(This,pwmpps);
  5428. }
  5429. static FORCEINLINE HRESULT IWMPPlayer4_get_controls(IWMPPlayer4* This,IWMPControls **ppControl) {
  5430. return This->lpVtbl->get_controls(This,ppControl);
  5431. }
  5432. static FORCEINLINE HRESULT IWMPPlayer4_get_settings(IWMPPlayer4* This,IWMPSettings **ppSettings) {
  5433. return This->lpVtbl->get_settings(This,ppSettings);
  5434. }
  5435. static FORCEINLINE HRESULT IWMPPlayer4_get_currentMedia(IWMPPlayer4* This,IWMPMedia **ppMedia) {
  5436. return This->lpVtbl->get_currentMedia(This,ppMedia);
  5437. }
  5438. static FORCEINLINE HRESULT IWMPPlayer4_put_currentMedia(IWMPPlayer4* This,IWMPMedia *ppMedia) {
  5439. return This->lpVtbl->put_currentMedia(This,ppMedia);
  5440. }
  5441. static FORCEINLINE HRESULT IWMPPlayer4_get_mediaCollection(IWMPPlayer4* This,IWMPMediaCollection **ppMediaCollection) {
  5442. return This->lpVtbl->get_mediaCollection(This,ppMediaCollection);
  5443. }
  5444. static FORCEINLINE HRESULT IWMPPlayer4_get_playlistCollection(IWMPPlayer4* This,IWMPPlaylistCollection **ppPlaylistCollection) {
  5445. return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection);
  5446. }
  5447. static FORCEINLINE HRESULT IWMPPlayer4_get_versionInfo(IWMPPlayer4* This,BSTR *pbstrVersionInfo) {
  5448. return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo);
  5449. }
  5450. static FORCEINLINE HRESULT IWMPPlayer4_launchURL(IWMPPlayer4* This,BSTR bstrURL) {
  5451. return This->lpVtbl->launchURL(This,bstrURL);
  5452. }
  5453. static FORCEINLINE HRESULT IWMPPlayer4_get_network(IWMPPlayer4* This,IWMPNetwork **ppQNI) {
  5454. return This->lpVtbl->get_network(This,ppQNI);
  5455. }
  5456. static FORCEINLINE HRESULT IWMPPlayer4_get_currentPlaylist(IWMPPlayer4* This,IWMPPlaylist **ppPL) {
  5457. return This->lpVtbl->get_currentPlaylist(This,ppPL);
  5458. }
  5459. static FORCEINLINE HRESULT IWMPPlayer4_put_currentPlaylist(IWMPPlayer4* This,IWMPPlaylist *ppPL) {
  5460. return This->lpVtbl->put_currentPlaylist(This,ppPL);
  5461. }
  5462. static FORCEINLINE HRESULT IWMPPlayer4_get_cdromCollection(IWMPPlayer4* This,IWMPCdromCollection **ppCdromCollection) {
  5463. return This->lpVtbl->get_cdromCollection(This,ppCdromCollection);
  5464. }
  5465. static FORCEINLINE HRESULT IWMPPlayer4_get_closedCaption(IWMPPlayer4* This,IWMPClosedCaption **ppClosedCaption) {
  5466. return This->lpVtbl->get_closedCaption(This,ppClosedCaption);
  5467. }
  5468. static FORCEINLINE HRESULT IWMPPlayer4_get_isOnline(IWMPPlayer4* This,VARIANT_BOOL *pfOnline) {
  5469. return This->lpVtbl->get_isOnline(This,pfOnline);
  5470. }
  5471. static FORCEINLINE HRESULT IWMPPlayer4_get_Error(IWMPPlayer4* This,IWMPError **ppError) {
  5472. return This->lpVtbl->get_Error(This,ppError);
  5473. }
  5474. static FORCEINLINE HRESULT IWMPPlayer4_get_status(IWMPPlayer4* This,BSTR *pbstrStatus) {
  5475. return This->lpVtbl->get_status(This,pbstrStatus);
  5476. }
  5477. /*** IWMPCore2 methods ***/
  5478. static FORCEINLINE HRESULT IWMPPlayer4_get_dvd(IWMPPlayer4* This,IWMPDVD **ppDVD) {
  5479. return This->lpVtbl->get_dvd(This,ppDVD);
  5480. }
  5481. /*** IWMPCore3 methods ***/
  5482. static FORCEINLINE HRESULT IWMPPlayer4_newPlaylist(IWMPPlayer4* This,BSTR bstrName,BSTR bstrURL,IWMPPlaylist **ppPlaylist) {
  5483. return This->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist);
  5484. }
  5485. static FORCEINLINE HRESULT IWMPPlayer4_newMedia(IWMPPlayer4* This,BSTR bstrURL,IWMPMedia **ppMedia) {
  5486. return This->lpVtbl->newMedia(This,bstrURL,ppMedia);
  5487. }
  5488. /*** IWMPPlayer4 methods ***/
  5489. static FORCEINLINE HRESULT IWMPPlayer4_get_enabled(IWMPPlayer4* This,VARIANT_BOOL *pbEnabled) {
  5490. return This->lpVtbl->get_enabled(This,pbEnabled);
  5491. }
  5492. static FORCEINLINE HRESULT IWMPPlayer4_put_enabled(IWMPPlayer4* This,VARIANT_BOOL pbEnabled) {
  5493. return This->lpVtbl->put_enabled(This,pbEnabled);
  5494. }
  5495. static FORCEINLINE HRESULT IWMPPlayer4_get_fullScreen(IWMPPlayer4* This,VARIANT_BOOL *pbFullScreen) {
  5496. return This->lpVtbl->get_fullScreen(This,pbFullScreen);
  5497. }
  5498. static FORCEINLINE HRESULT IWMPPlayer4_put_fullScreen(IWMPPlayer4* This,VARIANT_BOOL pbFullScreen) {
  5499. return This->lpVtbl->put_fullScreen(This,pbFullScreen);
  5500. }
  5501. static FORCEINLINE HRESULT IWMPPlayer4_get_enableContextMenu(IWMPPlayer4* This,VARIANT_BOOL *pbEnableContextMenu) {
  5502. return This->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu);
  5503. }
  5504. static FORCEINLINE HRESULT IWMPPlayer4_put_enableContextMenu(IWMPPlayer4* This,VARIANT_BOOL pbEnableContextMenu) {
  5505. return This->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu);
  5506. }
  5507. static FORCEINLINE HRESULT IWMPPlayer4_put_uiMode(IWMPPlayer4* This,BSTR pbstrMode) {
  5508. return This->lpVtbl->put_uiMode(This,pbstrMode);
  5509. }
  5510. static FORCEINLINE HRESULT IWMPPlayer4_get_uiMode(IWMPPlayer4* This,BSTR *pbstrMode) {
  5511. return This->lpVtbl->get_uiMode(This,pbstrMode);
  5512. }
  5513. static FORCEINLINE HRESULT IWMPPlayer4_get_stretchToFit(IWMPPlayer4* This,VARIANT_BOOL *pbEnabled) {
  5514. return This->lpVtbl->get_stretchToFit(This,pbEnabled);
  5515. }
  5516. static FORCEINLINE HRESULT IWMPPlayer4_put_stretchToFit(IWMPPlayer4* This,VARIANT_BOOL pbEnabled) {
  5517. return This->lpVtbl->put_stretchToFit(This,pbEnabled);
  5518. }
  5519. static FORCEINLINE HRESULT IWMPPlayer4_get_windowlessVideo(IWMPPlayer4* This,VARIANT_BOOL *pbEnabled) {
  5520. return This->lpVtbl->get_windowlessVideo(This,pbEnabled);
  5521. }
  5522. static FORCEINLINE HRESULT IWMPPlayer4_put_windowlessVideo(IWMPPlayer4* This,VARIANT_BOOL pbEnabled) {
  5523. return This->lpVtbl->put_windowlessVideo(This,pbEnabled);
  5524. }
  5525. static FORCEINLINE HRESULT IWMPPlayer4_get_isRemote(IWMPPlayer4* This,VARIANT_BOOL *pvarfIsRemote) {
  5526. return This->lpVtbl->get_isRemote(This,pvarfIsRemote);
  5527. }
  5528. static FORCEINLINE HRESULT IWMPPlayer4_get_playerApplication(IWMPPlayer4* This,IWMPPlayerApplication **ppIWMPPlayerApplication) {
  5529. return This->lpVtbl->get_playerApplication(This,ppIWMPPlayerApplication);
  5530. }
  5531. static FORCEINLINE HRESULT IWMPPlayer4_openPlayer(IWMPPlayer4* This,BSTR bstrURL) {
  5532. return This->lpVtbl->openPlayer(This,bstrURL);
  5533. }
  5534. #endif
  5535. #endif
  5536. #endif
  5537. #endif /* __IWMPPlayer4_INTERFACE_DEFINED__ */
  5538. /*****************************************************************************
  5539. * IWMPPlayer interface
  5540. */
  5541. #ifndef __IWMPPlayer_INTERFACE_DEFINED__
  5542. #define __IWMPPlayer_INTERFACE_DEFINED__
  5543. DEFINE_GUID(IID_IWMPPlayer, 0x6bf52a4f, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
  5544. #if defined(__cplusplus) && !defined(CINTERFACE)
  5545. MIDL_INTERFACE("6bf52a4f-394a-11d3-b153-00c04f79faa6")
  5546. IWMPPlayer : public IWMPCore
  5547. {
  5548. virtual HRESULT STDMETHODCALLTYPE get_enabled(
  5549. VARIANT_BOOL *pbEnabled) = 0;
  5550. virtual HRESULT STDMETHODCALLTYPE put_enabled(
  5551. VARIANT_BOOL pbEnabled) = 0;
  5552. virtual HRESULT STDMETHODCALLTYPE get_fullScreen(
  5553. VARIANT_BOOL *pbFullScreen) = 0;
  5554. virtual HRESULT STDMETHODCALLTYPE put_fullScreen(
  5555. VARIANT_BOOL pbFullScreen) = 0;
  5556. virtual HRESULT STDMETHODCALLTYPE get_enableContextMenu(
  5557. VARIANT_BOOL *pbEnableContextMenu) = 0;
  5558. virtual HRESULT STDMETHODCALLTYPE put_enableContextMenu(
  5559. VARIANT_BOOL pbEnableContextMenu) = 0;
  5560. virtual HRESULT STDMETHODCALLTYPE put_uiMode(
  5561. BSTR pbstrMode) = 0;
  5562. virtual HRESULT STDMETHODCALLTYPE get_uiMode(
  5563. BSTR *pbstrMode) = 0;
  5564. };
  5565. #ifdef __CRT_UUID_DECL
  5566. __CRT_UUID_DECL(IWMPPlayer, 0x6bf52a4f, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6)
  5567. #endif
  5568. #else
  5569. typedef struct IWMPPlayerVtbl {
  5570. BEGIN_INTERFACE
  5571. /*** IUnknown methods ***/
  5572. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5573. IWMPPlayer *This,
  5574. REFIID riid,
  5575. void **ppvObject);
  5576. ULONG (STDMETHODCALLTYPE *AddRef)(
  5577. IWMPPlayer *This);
  5578. ULONG (STDMETHODCALLTYPE *Release)(
  5579. IWMPPlayer *This);
  5580. /*** IDispatch methods ***/
  5581. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  5582. IWMPPlayer *This,
  5583. UINT *pctinfo);
  5584. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  5585. IWMPPlayer *This,
  5586. UINT iTInfo,
  5587. LCID lcid,
  5588. ITypeInfo **ppTInfo);
  5589. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  5590. IWMPPlayer *This,
  5591. REFIID riid,
  5592. LPOLESTR *rgszNames,
  5593. UINT cNames,
  5594. LCID lcid,
  5595. DISPID *rgDispId);
  5596. HRESULT (STDMETHODCALLTYPE *Invoke)(
  5597. IWMPPlayer *This,
  5598. DISPID dispIdMember,
  5599. REFIID riid,
  5600. LCID lcid,
  5601. WORD wFlags,
  5602. DISPPARAMS *pDispParams,
  5603. VARIANT *pVarResult,
  5604. EXCEPINFO *pExcepInfo,
  5605. UINT *puArgErr);
  5606. /*** IWMPCore methods ***/
  5607. HRESULT (STDMETHODCALLTYPE *close)(
  5608. IWMPPlayer *This);
  5609. HRESULT (STDMETHODCALLTYPE *get_URL)(
  5610. IWMPPlayer *This,
  5611. BSTR *pbstrURL);
  5612. HRESULT (STDMETHODCALLTYPE *put_URL)(
  5613. IWMPPlayer *This,
  5614. BSTR pbstrURL);
  5615. HRESULT (STDMETHODCALLTYPE *get_openState)(
  5616. IWMPPlayer *This,
  5617. WMPOpenState *pwmpos);
  5618. HRESULT (STDMETHODCALLTYPE *get_playState)(
  5619. IWMPPlayer *This,
  5620. WMPPlayState *pwmpps);
  5621. HRESULT (STDMETHODCALLTYPE *get_controls)(
  5622. IWMPPlayer *This,
  5623. IWMPControls **ppControl);
  5624. HRESULT (STDMETHODCALLTYPE *get_settings)(
  5625. IWMPPlayer *This,
  5626. IWMPSettings **ppSettings);
  5627. HRESULT (STDMETHODCALLTYPE *get_currentMedia)(
  5628. IWMPPlayer *This,
  5629. IWMPMedia **ppMedia);
  5630. HRESULT (STDMETHODCALLTYPE *put_currentMedia)(
  5631. IWMPPlayer *This,
  5632. IWMPMedia *ppMedia);
  5633. HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
  5634. IWMPPlayer *This,
  5635. IWMPMediaCollection **ppMediaCollection);
  5636. HRESULT (STDMETHODCALLTYPE *get_playlistCollection)(
  5637. IWMPPlayer *This,
  5638. IWMPPlaylistCollection **ppPlaylistCollection);
  5639. HRESULT (STDMETHODCALLTYPE *get_versionInfo)(
  5640. IWMPPlayer *This,
  5641. BSTR *pbstrVersionInfo);
  5642. HRESULT (STDMETHODCALLTYPE *launchURL)(
  5643. IWMPPlayer *This,
  5644. BSTR bstrURL);
  5645. HRESULT (STDMETHODCALLTYPE *get_network)(
  5646. IWMPPlayer *This,
  5647. IWMPNetwork **ppQNI);
  5648. HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)(
  5649. IWMPPlayer *This,
  5650. IWMPPlaylist **ppPL);
  5651. HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)(
  5652. IWMPPlayer *This,
  5653. IWMPPlaylist *ppPL);
  5654. HRESULT (STDMETHODCALLTYPE *get_cdromCollection)(
  5655. IWMPPlayer *This,
  5656. IWMPCdromCollection **ppCdromCollection);
  5657. HRESULT (STDMETHODCALLTYPE *get_closedCaption)(
  5658. IWMPPlayer *This,
  5659. IWMPClosedCaption **ppClosedCaption);
  5660. HRESULT (STDMETHODCALLTYPE *get_isOnline)(
  5661. IWMPPlayer *This,
  5662. VARIANT_BOOL *pfOnline);
  5663. HRESULT (STDMETHODCALLTYPE *get_Error)(
  5664. IWMPPlayer *This,
  5665. IWMPError **ppError);
  5666. HRESULT (STDMETHODCALLTYPE *get_status)(
  5667. IWMPPlayer *This,
  5668. BSTR *pbstrStatus);
  5669. /*** IWMPPlayer methods ***/
  5670. HRESULT (STDMETHODCALLTYPE *get_enabled)(
  5671. IWMPPlayer *This,
  5672. VARIANT_BOOL *pbEnabled);
  5673. HRESULT (STDMETHODCALLTYPE *put_enabled)(
  5674. IWMPPlayer *This,
  5675. VARIANT_BOOL pbEnabled);
  5676. HRESULT (STDMETHODCALLTYPE *get_fullScreen)(
  5677. IWMPPlayer *This,
  5678. VARIANT_BOOL *pbFullScreen);
  5679. HRESULT (STDMETHODCALLTYPE *put_fullScreen)(
  5680. IWMPPlayer *This,
  5681. VARIANT_BOOL pbFullScreen);
  5682. HRESULT (STDMETHODCALLTYPE *get_enableContextMenu)(
  5683. IWMPPlayer *This,
  5684. VARIANT_BOOL *pbEnableContextMenu);
  5685. HRESULT (STDMETHODCALLTYPE *put_enableContextMenu)(
  5686. IWMPPlayer *This,
  5687. VARIANT_BOOL pbEnableContextMenu);
  5688. HRESULT (STDMETHODCALLTYPE *put_uiMode)(
  5689. IWMPPlayer *This,
  5690. BSTR pbstrMode);
  5691. HRESULT (STDMETHODCALLTYPE *get_uiMode)(
  5692. IWMPPlayer *This,
  5693. BSTR *pbstrMode);
  5694. END_INTERFACE
  5695. } IWMPPlayerVtbl;
  5696. interface IWMPPlayer {
  5697. CONST_VTBL IWMPPlayerVtbl* lpVtbl;
  5698. };
  5699. #ifdef COBJMACROS
  5700. #ifndef WIDL_C_INLINE_WRAPPERS
  5701. /*** IUnknown methods ***/
  5702. #define IWMPPlayer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5703. #define IWMPPlayer_AddRef(This) (This)->lpVtbl->AddRef(This)
  5704. #define IWMPPlayer_Release(This) (This)->lpVtbl->Release(This)
  5705. /*** IDispatch methods ***/
  5706. #define IWMPPlayer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  5707. #define IWMPPlayer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5708. #define IWMPPlayer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5709. #define IWMPPlayer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5710. /*** IWMPCore methods ***/
  5711. #define IWMPPlayer_close(This) (This)->lpVtbl->close(This)
  5712. #define IWMPPlayer_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL)
  5713. #define IWMPPlayer_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL)
  5714. #define IWMPPlayer_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos)
  5715. #define IWMPPlayer_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps)
  5716. #define IWMPPlayer_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl)
  5717. #define IWMPPlayer_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings)
  5718. #define IWMPPlayer_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia)
  5719. #define IWMPPlayer_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia)
  5720. #define IWMPPlayer_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection)
  5721. #define IWMPPlayer_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection)
  5722. #define IWMPPlayer_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo)
  5723. #define IWMPPlayer_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL)
  5724. #define IWMPPlayer_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI)
  5725. #define IWMPPlayer_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL)
  5726. #define IWMPPlayer_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL)
  5727. #define IWMPPlayer_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection)
  5728. #define IWMPPlayer_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption)
  5729. #define IWMPPlayer_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline)
  5730. #define IWMPPlayer_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError)
  5731. #define IWMPPlayer_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus)
  5732. /*** IWMPPlayer methods ***/
  5733. #define IWMPPlayer_get_enabled(This,pbEnabled) (This)->lpVtbl->get_enabled(This,pbEnabled)
  5734. #define IWMPPlayer_put_enabled(This,pbEnabled) (This)->lpVtbl->put_enabled(This,pbEnabled)
  5735. #define IWMPPlayer_get_fullScreen(This,pbFullScreen) (This)->lpVtbl->get_fullScreen(This,pbFullScreen)
  5736. #define IWMPPlayer_put_fullScreen(This,pbFullScreen) (This)->lpVtbl->put_fullScreen(This,pbFullScreen)
  5737. #define IWMPPlayer_get_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu)
  5738. #define IWMPPlayer_put_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu)
  5739. #define IWMPPlayer_put_uiMode(This,pbstrMode) (This)->lpVtbl->put_uiMode(This,pbstrMode)
  5740. #define IWMPPlayer_get_uiMode(This,pbstrMode) (This)->lpVtbl->get_uiMode(This,pbstrMode)
  5741. #else
  5742. /*** IUnknown methods ***/
  5743. static FORCEINLINE HRESULT IWMPPlayer_QueryInterface(IWMPPlayer* This,REFIID riid,void **ppvObject) {
  5744. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5745. }
  5746. static FORCEINLINE ULONG IWMPPlayer_AddRef(IWMPPlayer* This) {
  5747. return This->lpVtbl->AddRef(This);
  5748. }
  5749. static FORCEINLINE ULONG IWMPPlayer_Release(IWMPPlayer* This) {
  5750. return This->lpVtbl->Release(This);
  5751. }
  5752. /*** IDispatch methods ***/
  5753. static FORCEINLINE HRESULT IWMPPlayer_GetTypeInfoCount(IWMPPlayer* This,UINT *pctinfo) {
  5754. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  5755. }
  5756. static FORCEINLINE HRESULT IWMPPlayer_GetTypeInfo(IWMPPlayer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  5757. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  5758. }
  5759. static FORCEINLINE HRESULT IWMPPlayer_GetIDsOfNames(IWMPPlayer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  5760. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  5761. }
  5762. static FORCEINLINE HRESULT IWMPPlayer_Invoke(IWMPPlayer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  5763. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  5764. }
  5765. /*** IWMPCore methods ***/
  5766. static FORCEINLINE HRESULT IWMPPlayer_close(IWMPPlayer* This) {
  5767. return This->lpVtbl->close(This);
  5768. }
  5769. static FORCEINLINE HRESULT IWMPPlayer_get_URL(IWMPPlayer* This,BSTR *pbstrURL) {
  5770. return This->lpVtbl->get_URL(This,pbstrURL);
  5771. }
  5772. static FORCEINLINE HRESULT IWMPPlayer_put_URL(IWMPPlayer* This,BSTR pbstrURL) {
  5773. return This->lpVtbl->put_URL(This,pbstrURL);
  5774. }
  5775. static FORCEINLINE HRESULT IWMPPlayer_get_openState(IWMPPlayer* This,WMPOpenState *pwmpos) {
  5776. return This->lpVtbl->get_openState(This,pwmpos);
  5777. }
  5778. static FORCEINLINE HRESULT IWMPPlayer_get_playState(IWMPPlayer* This,WMPPlayState *pwmpps) {
  5779. return This->lpVtbl->get_playState(This,pwmpps);
  5780. }
  5781. static FORCEINLINE HRESULT IWMPPlayer_get_controls(IWMPPlayer* This,IWMPControls **ppControl) {
  5782. return This->lpVtbl->get_controls(This,ppControl);
  5783. }
  5784. static FORCEINLINE HRESULT IWMPPlayer_get_settings(IWMPPlayer* This,IWMPSettings **ppSettings) {
  5785. return This->lpVtbl->get_settings(This,ppSettings);
  5786. }
  5787. static FORCEINLINE HRESULT IWMPPlayer_get_currentMedia(IWMPPlayer* This,IWMPMedia **ppMedia) {
  5788. return This->lpVtbl->get_currentMedia(This,ppMedia);
  5789. }
  5790. static FORCEINLINE HRESULT IWMPPlayer_put_currentMedia(IWMPPlayer* This,IWMPMedia *ppMedia) {
  5791. return This->lpVtbl->put_currentMedia(This,ppMedia);
  5792. }
  5793. static FORCEINLINE HRESULT IWMPPlayer_get_mediaCollection(IWMPPlayer* This,IWMPMediaCollection **ppMediaCollection) {
  5794. return This->lpVtbl->get_mediaCollection(This,ppMediaCollection);
  5795. }
  5796. static FORCEINLINE HRESULT IWMPPlayer_get_playlistCollection(IWMPPlayer* This,IWMPPlaylistCollection **ppPlaylistCollection) {
  5797. return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection);
  5798. }
  5799. static FORCEINLINE HRESULT IWMPPlayer_get_versionInfo(IWMPPlayer* This,BSTR *pbstrVersionInfo) {
  5800. return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo);
  5801. }
  5802. static FORCEINLINE HRESULT IWMPPlayer_launchURL(IWMPPlayer* This,BSTR bstrURL) {
  5803. return This->lpVtbl->launchURL(This,bstrURL);
  5804. }
  5805. static FORCEINLINE HRESULT IWMPPlayer_get_network(IWMPPlayer* This,IWMPNetwork **ppQNI) {
  5806. return This->lpVtbl->get_network(This,ppQNI);
  5807. }
  5808. static FORCEINLINE HRESULT IWMPPlayer_get_currentPlaylist(IWMPPlayer* This,IWMPPlaylist **ppPL) {
  5809. return This->lpVtbl->get_currentPlaylist(This,ppPL);
  5810. }
  5811. static FORCEINLINE HRESULT IWMPPlayer_put_currentPlaylist(IWMPPlayer* This,IWMPPlaylist *ppPL) {
  5812. return This->lpVtbl->put_currentPlaylist(This,ppPL);
  5813. }
  5814. static FORCEINLINE HRESULT IWMPPlayer_get_cdromCollection(IWMPPlayer* This,IWMPCdromCollection **ppCdromCollection) {
  5815. return This->lpVtbl->get_cdromCollection(This,ppCdromCollection);
  5816. }
  5817. static FORCEINLINE HRESULT IWMPPlayer_get_closedCaption(IWMPPlayer* This,IWMPClosedCaption **ppClosedCaption) {
  5818. return This->lpVtbl->get_closedCaption(This,ppClosedCaption);
  5819. }
  5820. static FORCEINLINE HRESULT IWMPPlayer_get_isOnline(IWMPPlayer* This,VARIANT_BOOL *pfOnline) {
  5821. return This->lpVtbl->get_isOnline(This,pfOnline);
  5822. }
  5823. static FORCEINLINE HRESULT IWMPPlayer_get_Error(IWMPPlayer* This,IWMPError **ppError) {
  5824. return This->lpVtbl->get_Error(This,ppError);
  5825. }
  5826. static FORCEINLINE HRESULT IWMPPlayer_get_status(IWMPPlayer* This,BSTR *pbstrStatus) {
  5827. return This->lpVtbl->get_status(This,pbstrStatus);
  5828. }
  5829. /*** IWMPPlayer methods ***/
  5830. static FORCEINLINE HRESULT IWMPPlayer_get_enabled(IWMPPlayer* This,VARIANT_BOOL *pbEnabled) {
  5831. return This->lpVtbl->get_enabled(This,pbEnabled);
  5832. }
  5833. static FORCEINLINE HRESULT IWMPPlayer_put_enabled(IWMPPlayer* This,VARIANT_BOOL pbEnabled) {
  5834. return This->lpVtbl->put_enabled(This,pbEnabled);
  5835. }
  5836. static FORCEINLINE HRESULT IWMPPlayer_get_fullScreen(IWMPPlayer* This,VARIANT_BOOL *pbFullScreen) {
  5837. return This->lpVtbl->get_fullScreen(This,pbFullScreen);
  5838. }
  5839. static FORCEINLINE HRESULT IWMPPlayer_put_fullScreen(IWMPPlayer* This,VARIANT_BOOL pbFullScreen) {
  5840. return This->lpVtbl->put_fullScreen(This,pbFullScreen);
  5841. }
  5842. static FORCEINLINE HRESULT IWMPPlayer_get_enableContextMenu(IWMPPlayer* This,VARIANT_BOOL *pbEnableContextMenu) {
  5843. return This->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu);
  5844. }
  5845. static FORCEINLINE HRESULT IWMPPlayer_put_enableContextMenu(IWMPPlayer* This,VARIANT_BOOL pbEnableContextMenu) {
  5846. return This->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu);
  5847. }
  5848. static FORCEINLINE HRESULT IWMPPlayer_put_uiMode(IWMPPlayer* This,BSTR pbstrMode) {
  5849. return This->lpVtbl->put_uiMode(This,pbstrMode);
  5850. }
  5851. static FORCEINLINE HRESULT IWMPPlayer_get_uiMode(IWMPPlayer* This,BSTR *pbstrMode) {
  5852. return This->lpVtbl->get_uiMode(This,pbstrMode);
  5853. }
  5854. #endif
  5855. #endif
  5856. #endif
  5857. #endif /* __IWMPPlayer_INTERFACE_DEFINED__ */
  5858. /*****************************************************************************
  5859. * IWMPSyncDevice interface
  5860. */
  5861. #ifndef __IWMPSyncDevice_INTERFACE_DEFINED__
  5862. #define __IWMPSyncDevice_INTERFACE_DEFINED__
  5863. DEFINE_GUID(IID_IWMPSyncDevice, 0x82a2986c, 0x0293, 0x4fd0, 0xb2,0x79, 0xb2,0x1b,0x86,0xc0,0x58,0xbe);
  5864. #if defined(__cplusplus) && !defined(CINTERFACE)
  5865. MIDL_INTERFACE("82a2986c-0293-4fd0-b279-b21b86c058be")
  5866. IWMPSyncDevice : public IUnknown
  5867. {
  5868. virtual HRESULT STDMETHODCALLTYPE get_friendlyName(
  5869. BSTR *name) = 0;
  5870. virtual HRESULT STDMETHODCALLTYPE put_friendlyName(
  5871. BSTR name) = 0;
  5872. virtual HRESULT STDMETHODCALLTYPE get_deviceName(
  5873. BSTR *name) = 0;
  5874. virtual HRESULT STDMETHODCALLTYPE get_deviceId(
  5875. BSTR *device) = 0;
  5876. virtual HRESULT STDMETHODCALLTYPE get_partnershipIndex(
  5877. LONG *index) = 0;
  5878. virtual HRESULT STDMETHODCALLTYPE get_connected(
  5879. VARIANT_BOOL *connected) = 0;
  5880. virtual HRESULT STDMETHODCALLTYPE get_status(
  5881. WMPDeviceStatus *status) = 0;
  5882. virtual HRESULT STDMETHODCALLTYPE get_syncState(
  5883. WMPSyncState *state) = 0;
  5884. virtual HRESULT STDMETHODCALLTYPE get_progress(
  5885. LONG *progress) = 0;
  5886. virtual HRESULT STDMETHODCALLTYPE getItemInfo(
  5887. BSTR name,
  5888. BSTR *val) = 0;
  5889. virtual HRESULT STDMETHODCALLTYPE createPartnership(
  5890. VARIANT_BOOL showui) = 0;
  5891. virtual HRESULT STDMETHODCALLTYPE deletePartnership(
  5892. ) = 0;
  5893. virtual HRESULT STDMETHODCALLTYPE start(
  5894. ) = 0;
  5895. virtual HRESULT STDMETHODCALLTYPE stop(
  5896. ) = 0;
  5897. virtual HRESULT STDMETHODCALLTYPE showSettings(
  5898. ) = 0;
  5899. virtual HRESULT STDMETHODCALLTYPE isIdentical(
  5900. IWMPSyncDevice *device,
  5901. VARIANT_BOOL *ret) = 0;
  5902. };
  5903. #ifdef __CRT_UUID_DECL
  5904. __CRT_UUID_DECL(IWMPSyncDevice, 0x82a2986c, 0x0293, 0x4fd0, 0xb2,0x79, 0xb2,0x1b,0x86,0xc0,0x58,0xbe)
  5905. #endif
  5906. #else
  5907. typedef struct IWMPSyncDeviceVtbl {
  5908. BEGIN_INTERFACE
  5909. /*** IUnknown methods ***/
  5910. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5911. IWMPSyncDevice *This,
  5912. REFIID riid,
  5913. void **ppvObject);
  5914. ULONG (STDMETHODCALLTYPE *AddRef)(
  5915. IWMPSyncDevice *This);
  5916. ULONG (STDMETHODCALLTYPE *Release)(
  5917. IWMPSyncDevice *This);
  5918. /*** IWMPSyncDevice methods ***/
  5919. HRESULT (STDMETHODCALLTYPE *get_friendlyName)(
  5920. IWMPSyncDevice *This,
  5921. BSTR *name);
  5922. HRESULT (STDMETHODCALLTYPE *put_friendlyName)(
  5923. IWMPSyncDevice *This,
  5924. BSTR name);
  5925. HRESULT (STDMETHODCALLTYPE *get_deviceName)(
  5926. IWMPSyncDevice *This,
  5927. BSTR *name);
  5928. HRESULT (STDMETHODCALLTYPE *get_deviceId)(
  5929. IWMPSyncDevice *This,
  5930. BSTR *device);
  5931. HRESULT (STDMETHODCALLTYPE *get_partnershipIndex)(
  5932. IWMPSyncDevice *This,
  5933. LONG *index);
  5934. HRESULT (STDMETHODCALLTYPE *get_connected)(
  5935. IWMPSyncDevice *This,
  5936. VARIANT_BOOL *connected);
  5937. HRESULT (STDMETHODCALLTYPE *get_status)(
  5938. IWMPSyncDevice *This,
  5939. WMPDeviceStatus *status);
  5940. HRESULT (STDMETHODCALLTYPE *get_syncState)(
  5941. IWMPSyncDevice *This,
  5942. WMPSyncState *state);
  5943. HRESULT (STDMETHODCALLTYPE *get_progress)(
  5944. IWMPSyncDevice *This,
  5945. LONG *progress);
  5946. HRESULT (STDMETHODCALLTYPE *getItemInfo)(
  5947. IWMPSyncDevice *This,
  5948. BSTR name,
  5949. BSTR *val);
  5950. HRESULT (STDMETHODCALLTYPE *createPartnership)(
  5951. IWMPSyncDevice *This,
  5952. VARIANT_BOOL showui);
  5953. HRESULT (STDMETHODCALLTYPE *deletePartnership)(
  5954. IWMPSyncDevice *This);
  5955. HRESULT (STDMETHODCALLTYPE *start)(
  5956. IWMPSyncDevice *This);
  5957. HRESULT (STDMETHODCALLTYPE *stop)(
  5958. IWMPSyncDevice *This);
  5959. HRESULT (STDMETHODCALLTYPE *showSettings)(
  5960. IWMPSyncDevice *This);
  5961. HRESULT (STDMETHODCALLTYPE *isIdentical)(
  5962. IWMPSyncDevice *This,
  5963. IWMPSyncDevice *device,
  5964. VARIANT_BOOL *ret);
  5965. END_INTERFACE
  5966. } IWMPSyncDeviceVtbl;
  5967. interface IWMPSyncDevice {
  5968. CONST_VTBL IWMPSyncDeviceVtbl* lpVtbl;
  5969. };
  5970. #ifdef COBJMACROS
  5971. #ifndef WIDL_C_INLINE_WRAPPERS
  5972. /*** IUnknown methods ***/
  5973. #define IWMPSyncDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5974. #define IWMPSyncDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
  5975. #define IWMPSyncDevice_Release(This) (This)->lpVtbl->Release(This)
  5976. /*** IWMPSyncDevice methods ***/
  5977. #define IWMPSyncDevice_get_friendlyName(This,name) (This)->lpVtbl->get_friendlyName(This,name)
  5978. #define IWMPSyncDevice_put_friendlyName(This,name) (This)->lpVtbl->put_friendlyName(This,name)
  5979. #define IWMPSyncDevice_get_deviceName(This,name) (This)->lpVtbl->get_deviceName(This,name)
  5980. #define IWMPSyncDevice_get_deviceId(This,device) (This)->lpVtbl->get_deviceId(This,device)
  5981. #define IWMPSyncDevice_get_partnershipIndex(This,index) (This)->lpVtbl->get_partnershipIndex(This,index)
  5982. #define IWMPSyncDevice_get_connected(This,connected) (This)->lpVtbl->get_connected(This,connected)
  5983. #define IWMPSyncDevice_get_status(This,status) (This)->lpVtbl->get_status(This,status)
  5984. #define IWMPSyncDevice_get_syncState(This,state) (This)->lpVtbl->get_syncState(This,state)
  5985. #define IWMPSyncDevice_get_progress(This,progress) (This)->lpVtbl->get_progress(This,progress)
  5986. #define IWMPSyncDevice_getItemInfo(This,name,val) (This)->lpVtbl->getItemInfo(This,name,val)
  5987. #define IWMPSyncDevice_createPartnership(This,showui) (This)->lpVtbl->createPartnership(This,showui)
  5988. #define IWMPSyncDevice_deletePartnership(This) (This)->lpVtbl->deletePartnership(This)
  5989. #define IWMPSyncDevice_start(This) (This)->lpVtbl->start(This)
  5990. #define IWMPSyncDevice_stop(This) (This)->lpVtbl->stop(This)
  5991. #define IWMPSyncDevice_showSettings(This) (This)->lpVtbl->showSettings(This)
  5992. #define IWMPSyncDevice_isIdentical(This,device,ret) (This)->lpVtbl->isIdentical(This,device,ret)
  5993. #else
  5994. /*** IUnknown methods ***/
  5995. static FORCEINLINE HRESULT IWMPSyncDevice_QueryInterface(IWMPSyncDevice* This,REFIID riid,void **ppvObject) {
  5996. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5997. }
  5998. static FORCEINLINE ULONG IWMPSyncDevice_AddRef(IWMPSyncDevice* This) {
  5999. return This->lpVtbl->AddRef(This);
  6000. }
  6001. static FORCEINLINE ULONG IWMPSyncDevice_Release(IWMPSyncDevice* This) {
  6002. return This->lpVtbl->Release(This);
  6003. }
  6004. /*** IWMPSyncDevice methods ***/
  6005. static FORCEINLINE HRESULT IWMPSyncDevice_get_friendlyName(IWMPSyncDevice* This,BSTR *name) {
  6006. return This->lpVtbl->get_friendlyName(This,name);
  6007. }
  6008. static FORCEINLINE HRESULT IWMPSyncDevice_put_friendlyName(IWMPSyncDevice* This,BSTR name) {
  6009. return This->lpVtbl->put_friendlyName(This,name);
  6010. }
  6011. static FORCEINLINE HRESULT IWMPSyncDevice_get_deviceName(IWMPSyncDevice* This,BSTR *name) {
  6012. return This->lpVtbl->get_deviceName(This,name);
  6013. }
  6014. static FORCEINLINE HRESULT IWMPSyncDevice_get_deviceId(IWMPSyncDevice* This,BSTR *device) {
  6015. return This->lpVtbl->get_deviceId(This,device);
  6016. }
  6017. static FORCEINLINE HRESULT IWMPSyncDevice_get_partnershipIndex(IWMPSyncDevice* This,LONG *index) {
  6018. return This->lpVtbl->get_partnershipIndex(This,index);
  6019. }
  6020. static FORCEINLINE HRESULT IWMPSyncDevice_get_connected(IWMPSyncDevice* This,VARIANT_BOOL *connected) {
  6021. return This->lpVtbl->get_connected(This,connected);
  6022. }
  6023. static FORCEINLINE HRESULT IWMPSyncDevice_get_status(IWMPSyncDevice* This,WMPDeviceStatus *status) {
  6024. return This->lpVtbl->get_status(This,status);
  6025. }
  6026. static FORCEINLINE HRESULT IWMPSyncDevice_get_syncState(IWMPSyncDevice* This,WMPSyncState *state) {
  6027. return This->lpVtbl->get_syncState(This,state);
  6028. }
  6029. static FORCEINLINE HRESULT IWMPSyncDevice_get_progress(IWMPSyncDevice* This,LONG *progress) {
  6030. return This->lpVtbl->get_progress(This,progress);
  6031. }
  6032. static FORCEINLINE HRESULT IWMPSyncDevice_getItemInfo(IWMPSyncDevice* This,BSTR name,BSTR *val) {
  6033. return This->lpVtbl->getItemInfo(This,name,val);
  6034. }
  6035. static FORCEINLINE HRESULT IWMPSyncDevice_createPartnership(IWMPSyncDevice* This,VARIANT_BOOL showui) {
  6036. return This->lpVtbl->createPartnership(This,showui);
  6037. }
  6038. static FORCEINLINE HRESULT IWMPSyncDevice_deletePartnership(IWMPSyncDevice* This) {
  6039. return This->lpVtbl->deletePartnership(This);
  6040. }
  6041. static FORCEINLINE HRESULT IWMPSyncDevice_start(IWMPSyncDevice* This) {
  6042. return This->lpVtbl->start(This);
  6043. }
  6044. static FORCEINLINE HRESULT IWMPSyncDevice_stop(IWMPSyncDevice* This) {
  6045. return This->lpVtbl->stop(This);
  6046. }
  6047. static FORCEINLINE HRESULT IWMPSyncDevice_showSettings(IWMPSyncDevice* This) {
  6048. return This->lpVtbl->showSettings(This);
  6049. }
  6050. static FORCEINLINE HRESULT IWMPSyncDevice_isIdentical(IWMPSyncDevice* This,IWMPSyncDevice *device,VARIANT_BOOL *ret) {
  6051. return This->lpVtbl->isIdentical(This,device,ret);
  6052. }
  6053. #endif
  6054. #endif
  6055. #endif
  6056. #endif /* __IWMPSyncDevice_INTERFACE_DEFINED__ */
  6057. /*****************************************************************************
  6058. * IWMPSyncDevice2 interface
  6059. */
  6060. #ifndef __IWMPSyncDevice2_INTERFACE_DEFINED__
  6061. #define __IWMPSyncDevice2_INTERFACE_DEFINED__
  6062. DEFINE_GUID(IID_IWMPSyncDevice2, 0x88afb4b2, 0x140a, 0x44d2, 0x91,0xe6, 0x45,0x43,0xda,0x46,0x7c,0xd1);
  6063. #if defined(__cplusplus) && !defined(CINTERFACE)
  6064. MIDL_INTERFACE("88afb4b2-140a-44d2-91e6-4543da467cd1")
  6065. IWMPSyncDevice2 : public IWMPSyncDevice
  6066. {
  6067. virtual HRESULT STDMETHODCALLTYPE setItemInfo(
  6068. BSTR name,
  6069. BSTR val) = 0;
  6070. };
  6071. #ifdef __CRT_UUID_DECL
  6072. __CRT_UUID_DECL(IWMPSyncDevice2, 0x88afb4b2, 0x140a, 0x44d2, 0x91,0xe6, 0x45,0x43,0xda,0x46,0x7c,0xd1)
  6073. #endif
  6074. #else
  6075. typedef struct IWMPSyncDevice2Vtbl {
  6076. BEGIN_INTERFACE
  6077. /*** IUnknown methods ***/
  6078. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6079. IWMPSyncDevice2 *This,
  6080. REFIID riid,
  6081. void **ppvObject);
  6082. ULONG (STDMETHODCALLTYPE *AddRef)(
  6083. IWMPSyncDevice2 *This);
  6084. ULONG (STDMETHODCALLTYPE *Release)(
  6085. IWMPSyncDevice2 *This);
  6086. /*** IWMPSyncDevice methods ***/
  6087. HRESULT (STDMETHODCALLTYPE *get_friendlyName)(
  6088. IWMPSyncDevice2 *This,
  6089. BSTR *name);
  6090. HRESULT (STDMETHODCALLTYPE *put_friendlyName)(
  6091. IWMPSyncDevice2 *This,
  6092. BSTR name);
  6093. HRESULT (STDMETHODCALLTYPE *get_deviceName)(
  6094. IWMPSyncDevice2 *This,
  6095. BSTR *name);
  6096. HRESULT (STDMETHODCALLTYPE *get_deviceId)(
  6097. IWMPSyncDevice2 *This,
  6098. BSTR *device);
  6099. HRESULT (STDMETHODCALLTYPE *get_partnershipIndex)(
  6100. IWMPSyncDevice2 *This,
  6101. LONG *index);
  6102. HRESULT (STDMETHODCALLTYPE *get_connected)(
  6103. IWMPSyncDevice2 *This,
  6104. VARIANT_BOOL *connected);
  6105. HRESULT (STDMETHODCALLTYPE *get_status)(
  6106. IWMPSyncDevice2 *This,
  6107. WMPDeviceStatus *status);
  6108. HRESULT (STDMETHODCALLTYPE *get_syncState)(
  6109. IWMPSyncDevice2 *This,
  6110. WMPSyncState *state);
  6111. HRESULT (STDMETHODCALLTYPE *get_progress)(
  6112. IWMPSyncDevice2 *This,
  6113. LONG *progress);
  6114. HRESULT (STDMETHODCALLTYPE *getItemInfo)(
  6115. IWMPSyncDevice2 *This,
  6116. BSTR name,
  6117. BSTR *val);
  6118. HRESULT (STDMETHODCALLTYPE *createPartnership)(
  6119. IWMPSyncDevice2 *This,
  6120. VARIANT_BOOL showui);
  6121. HRESULT (STDMETHODCALLTYPE *deletePartnership)(
  6122. IWMPSyncDevice2 *This);
  6123. HRESULT (STDMETHODCALLTYPE *start)(
  6124. IWMPSyncDevice2 *This);
  6125. HRESULT (STDMETHODCALLTYPE *stop)(
  6126. IWMPSyncDevice2 *This);
  6127. HRESULT (STDMETHODCALLTYPE *showSettings)(
  6128. IWMPSyncDevice2 *This);
  6129. HRESULT (STDMETHODCALLTYPE *isIdentical)(
  6130. IWMPSyncDevice2 *This,
  6131. IWMPSyncDevice *device,
  6132. VARIANT_BOOL *ret);
  6133. /*** IWMPSyncDevice2 methods ***/
  6134. HRESULT (STDMETHODCALLTYPE *setItemInfo)(
  6135. IWMPSyncDevice2 *This,
  6136. BSTR name,
  6137. BSTR val);
  6138. END_INTERFACE
  6139. } IWMPSyncDevice2Vtbl;
  6140. interface IWMPSyncDevice2 {
  6141. CONST_VTBL IWMPSyncDevice2Vtbl* lpVtbl;
  6142. };
  6143. #ifdef COBJMACROS
  6144. #ifndef WIDL_C_INLINE_WRAPPERS
  6145. /*** IUnknown methods ***/
  6146. #define IWMPSyncDevice2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6147. #define IWMPSyncDevice2_AddRef(This) (This)->lpVtbl->AddRef(This)
  6148. #define IWMPSyncDevice2_Release(This) (This)->lpVtbl->Release(This)
  6149. /*** IWMPSyncDevice methods ***/
  6150. #define IWMPSyncDevice2_get_friendlyName(This,name) (This)->lpVtbl->get_friendlyName(This,name)
  6151. #define IWMPSyncDevice2_put_friendlyName(This,name) (This)->lpVtbl->put_friendlyName(This,name)
  6152. #define IWMPSyncDevice2_get_deviceName(This,name) (This)->lpVtbl->get_deviceName(This,name)
  6153. #define IWMPSyncDevice2_get_deviceId(This,device) (This)->lpVtbl->get_deviceId(This,device)
  6154. #define IWMPSyncDevice2_get_partnershipIndex(This,index) (This)->lpVtbl->get_partnershipIndex(This,index)
  6155. #define IWMPSyncDevice2_get_connected(This,connected) (This)->lpVtbl->get_connected(This,connected)
  6156. #define IWMPSyncDevice2_get_status(This,status) (This)->lpVtbl->get_status(This,status)
  6157. #define IWMPSyncDevice2_get_syncState(This,state) (This)->lpVtbl->get_syncState(This,state)
  6158. #define IWMPSyncDevice2_get_progress(This,progress) (This)->lpVtbl->get_progress(This,progress)
  6159. #define IWMPSyncDevice2_getItemInfo(This,name,val) (This)->lpVtbl->getItemInfo(This,name,val)
  6160. #define IWMPSyncDevice2_createPartnership(This,showui) (This)->lpVtbl->createPartnership(This,showui)
  6161. #define IWMPSyncDevice2_deletePartnership(This) (This)->lpVtbl->deletePartnership(This)
  6162. #define IWMPSyncDevice2_start(This) (This)->lpVtbl->start(This)
  6163. #define IWMPSyncDevice2_stop(This) (This)->lpVtbl->stop(This)
  6164. #define IWMPSyncDevice2_showSettings(This) (This)->lpVtbl->showSettings(This)
  6165. #define IWMPSyncDevice2_isIdentical(This,device,ret) (This)->lpVtbl->isIdentical(This,device,ret)
  6166. /*** IWMPSyncDevice2 methods ***/
  6167. #define IWMPSyncDevice2_setItemInfo(This,name,val) (This)->lpVtbl->setItemInfo(This,name,val)
  6168. #else
  6169. /*** IUnknown methods ***/
  6170. static FORCEINLINE HRESULT IWMPSyncDevice2_QueryInterface(IWMPSyncDevice2* This,REFIID riid,void **ppvObject) {
  6171. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6172. }
  6173. static FORCEINLINE ULONG IWMPSyncDevice2_AddRef(IWMPSyncDevice2* This) {
  6174. return This->lpVtbl->AddRef(This);
  6175. }
  6176. static FORCEINLINE ULONG IWMPSyncDevice2_Release(IWMPSyncDevice2* This) {
  6177. return This->lpVtbl->Release(This);
  6178. }
  6179. /*** IWMPSyncDevice methods ***/
  6180. static FORCEINLINE HRESULT IWMPSyncDevice2_get_friendlyName(IWMPSyncDevice2* This,BSTR *name) {
  6181. return This->lpVtbl->get_friendlyName(This,name);
  6182. }
  6183. static FORCEINLINE HRESULT IWMPSyncDevice2_put_friendlyName(IWMPSyncDevice2* This,BSTR name) {
  6184. return This->lpVtbl->put_friendlyName(This,name);
  6185. }
  6186. static FORCEINLINE HRESULT IWMPSyncDevice2_get_deviceName(IWMPSyncDevice2* This,BSTR *name) {
  6187. return This->lpVtbl->get_deviceName(This,name);
  6188. }
  6189. static FORCEINLINE HRESULT IWMPSyncDevice2_get_deviceId(IWMPSyncDevice2* This,BSTR *device) {
  6190. return This->lpVtbl->get_deviceId(This,device);
  6191. }
  6192. static FORCEINLINE HRESULT IWMPSyncDevice2_get_partnershipIndex(IWMPSyncDevice2* This,LONG *index) {
  6193. return This->lpVtbl->get_partnershipIndex(This,index);
  6194. }
  6195. static FORCEINLINE HRESULT IWMPSyncDevice2_get_connected(IWMPSyncDevice2* This,VARIANT_BOOL *connected) {
  6196. return This->lpVtbl->get_connected(This,connected);
  6197. }
  6198. static FORCEINLINE HRESULT IWMPSyncDevice2_get_status(IWMPSyncDevice2* This,WMPDeviceStatus *status) {
  6199. return This->lpVtbl->get_status(This,status);
  6200. }
  6201. static FORCEINLINE HRESULT IWMPSyncDevice2_get_syncState(IWMPSyncDevice2* This,WMPSyncState *state) {
  6202. return This->lpVtbl->get_syncState(This,state);
  6203. }
  6204. static FORCEINLINE HRESULT IWMPSyncDevice2_get_progress(IWMPSyncDevice2* This,LONG *progress) {
  6205. return This->lpVtbl->get_progress(This,progress);
  6206. }
  6207. static FORCEINLINE HRESULT IWMPSyncDevice2_getItemInfo(IWMPSyncDevice2* This,BSTR name,BSTR *val) {
  6208. return This->lpVtbl->getItemInfo(This,name,val);
  6209. }
  6210. static FORCEINLINE HRESULT IWMPSyncDevice2_createPartnership(IWMPSyncDevice2* This,VARIANT_BOOL showui) {
  6211. return This->lpVtbl->createPartnership(This,showui);
  6212. }
  6213. static FORCEINLINE HRESULT IWMPSyncDevice2_deletePartnership(IWMPSyncDevice2* This) {
  6214. return This->lpVtbl->deletePartnership(This);
  6215. }
  6216. static FORCEINLINE HRESULT IWMPSyncDevice2_start(IWMPSyncDevice2* This) {
  6217. return This->lpVtbl->start(This);
  6218. }
  6219. static FORCEINLINE HRESULT IWMPSyncDevice2_stop(IWMPSyncDevice2* This) {
  6220. return This->lpVtbl->stop(This);
  6221. }
  6222. static FORCEINLINE HRESULT IWMPSyncDevice2_showSettings(IWMPSyncDevice2* This) {
  6223. return This->lpVtbl->showSettings(This);
  6224. }
  6225. static FORCEINLINE HRESULT IWMPSyncDevice2_isIdentical(IWMPSyncDevice2* This,IWMPSyncDevice *device,VARIANT_BOOL *ret) {
  6226. return This->lpVtbl->isIdentical(This,device,ret);
  6227. }
  6228. /*** IWMPSyncDevice2 methods ***/
  6229. static FORCEINLINE HRESULT IWMPSyncDevice2_setItemInfo(IWMPSyncDevice2* This,BSTR name,BSTR val) {
  6230. return This->lpVtbl->setItemInfo(This,name,val);
  6231. }
  6232. #endif
  6233. #endif
  6234. #endif
  6235. #endif /* __IWMPSyncDevice2_INTERFACE_DEFINED__ */
  6236. /*****************************************************************************
  6237. * IWMPCdromRip interface
  6238. */
  6239. #ifndef __IWMPCdromRip_INTERFACE_DEFINED__
  6240. #define __IWMPCdromRip_INTERFACE_DEFINED__
  6241. DEFINE_GUID(IID_IWMPCdromRip, 0x56e2294f, 0x69ed, 0x4629, 0xa8,0x69, 0xae,0xa7,0x2c,0x0d,0xcc,0x2c);
  6242. #if defined(__cplusplus) && !defined(CINTERFACE)
  6243. MIDL_INTERFACE("56e2294f-69ed-4629-a869-aea72c0dcc2c")
  6244. IWMPCdromRip : public IUnknown
  6245. {
  6246. virtual HRESULT STDMETHODCALLTYPE get_ripState(
  6247. WMPRipState *state) = 0;
  6248. virtual HRESULT STDMETHODCALLTYPE get_ripProgress(
  6249. LONG *progress) = 0;
  6250. virtual HRESULT STDMETHODCALLTYPE startRip(
  6251. ) = 0;
  6252. virtual HRESULT STDMETHODCALLTYPE stopRip(
  6253. ) = 0;
  6254. };
  6255. #ifdef __CRT_UUID_DECL
  6256. __CRT_UUID_DECL(IWMPCdromRip, 0x56e2294f, 0x69ed, 0x4629, 0xa8,0x69, 0xae,0xa7,0x2c,0x0d,0xcc,0x2c)
  6257. #endif
  6258. #else
  6259. typedef struct IWMPCdromRipVtbl {
  6260. BEGIN_INTERFACE
  6261. /*** IUnknown methods ***/
  6262. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6263. IWMPCdromRip *This,
  6264. REFIID riid,
  6265. void **ppvObject);
  6266. ULONG (STDMETHODCALLTYPE *AddRef)(
  6267. IWMPCdromRip *This);
  6268. ULONG (STDMETHODCALLTYPE *Release)(
  6269. IWMPCdromRip *This);
  6270. /*** IWMPCdromRip methods ***/
  6271. HRESULT (STDMETHODCALLTYPE *get_ripState)(
  6272. IWMPCdromRip *This,
  6273. WMPRipState *state);
  6274. HRESULT (STDMETHODCALLTYPE *get_ripProgress)(
  6275. IWMPCdromRip *This,
  6276. LONG *progress);
  6277. HRESULT (STDMETHODCALLTYPE *startRip)(
  6278. IWMPCdromRip *This);
  6279. HRESULT (STDMETHODCALLTYPE *stopRip)(
  6280. IWMPCdromRip *This);
  6281. END_INTERFACE
  6282. } IWMPCdromRipVtbl;
  6283. interface IWMPCdromRip {
  6284. CONST_VTBL IWMPCdromRipVtbl* lpVtbl;
  6285. };
  6286. #ifdef COBJMACROS
  6287. #ifndef WIDL_C_INLINE_WRAPPERS
  6288. /*** IUnknown methods ***/
  6289. #define IWMPCdromRip_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6290. #define IWMPCdromRip_AddRef(This) (This)->lpVtbl->AddRef(This)
  6291. #define IWMPCdromRip_Release(This) (This)->lpVtbl->Release(This)
  6292. /*** IWMPCdromRip methods ***/
  6293. #define IWMPCdromRip_get_ripState(This,state) (This)->lpVtbl->get_ripState(This,state)
  6294. #define IWMPCdromRip_get_ripProgress(This,progress) (This)->lpVtbl->get_ripProgress(This,progress)
  6295. #define IWMPCdromRip_startRip(This) (This)->lpVtbl->startRip(This)
  6296. #define IWMPCdromRip_stopRip(This) (This)->lpVtbl->stopRip(This)
  6297. #else
  6298. /*** IUnknown methods ***/
  6299. static FORCEINLINE HRESULT IWMPCdromRip_QueryInterface(IWMPCdromRip* This,REFIID riid,void **ppvObject) {
  6300. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6301. }
  6302. static FORCEINLINE ULONG IWMPCdromRip_AddRef(IWMPCdromRip* This) {
  6303. return This->lpVtbl->AddRef(This);
  6304. }
  6305. static FORCEINLINE ULONG IWMPCdromRip_Release(IWMPCdromRip* This) {
  6306. return This->lpVtbl->Release(This);
  6307. }
  6308. /*** IWMPCdromRip methods ***/
  6309. static FORCEINLINE HRESULT IWMPCdromRip_get_ripState(IWMPCdromRip* This,WMPRipState *state) {
  6310. return This->lpVtbl->get_ripState(This,state);
  6311. }
  6312. static FORCEINLINE HRESULT IWMPCdromRip_get_ripProgress(IWMPCdromRip* This,LONG *progress) {
  6313. return This->lpVtbl->get_ripProgress(This,progress);
  6314. }
  6315. static FORCEINLINE HRESULT IWMPCdromRip_startRip(IWMPCdromRip* This) {
  6316. return This->lpVtbl->startRip(This);
  6317. }
  6318. static FORCEINLINE HRESULT IWMPCdromRip_stopRip(IWMPCdromRip* This) {
  6319. return This->lpVtbl->stopRip(This);
  6320. }
  6321. #endif
  6322. #endif
  6323. #endif
  6324. #endif /* __IWMPCdromRip_INTERFACE_DEFINED__ */
  6325. /*****************************************************************************
  6326. * IWMPCdromBurn interface
  6327. */
  6328. #ifndef __IWMPCdromBurn_INTERFACE_DEFINED__
  6329. #define __IWMPCdromBurn_INTERFACE_DEFINED__
  6330. DEFINE_GUID(IID_IWMPCdromBurn, 0xbd94dbeb, 0x417f, 0x4928, 0xaa,0x06, 0x08,0x7d,0x56,0xed,0x9b,0x59);
  6331. #if defined(__cplusplus) && !defined(CINTERFACE)
  6332. MIDL_INTERFACE("bd94dbeb-417f-4928-aa06-087d56ed9b59")
  6333. IWMPCdromBurn : public IUnknown
  6334. {
  6335. virtual HRESULT STDMETHODCALLTYPE isAvailable(
  6336. BSTR item,
  6337. VARIANT_BOOL *available) = 0;
  6338. virtual HRESULT STDMETHODCALLTYPE getItemInfo(
  6339. BSTR item,
  6340. BSTR *val) = 0;
  6341. virtual HRESULT STDMETHODCALLTYPE get_label(
  6342. BSTR *label) = 0;
  6343. virtual HRESULT STDMETHODCALLTYPE put_label(
  6344. BSTR label) = 0;
  6345. virtual HRESULT STDMETHODCALLTYPE get_burnFormat(
  6346. WMPBurnFormat *format) = 0;
  6347. virtual HRESULT STDMETHODCALLTYPE put_burnFormat(
  6348. WMPBurnFormat format) = 0;
  6349. virtual HRESULT STDMETHODCALLTYPE get_burnPlaylist(
  6350. IWMPPlaylist **playlist) = 0;
  6351. virtual HRESULT STDMETHODCALLTYPE put_burnPlaylist(
  6352. IWMPPlaylist *playlist) = 0;
  6353. virtual HRESULT STDMETHODCALLTYPE refreshStatus(
  6354. ) = 0;
  6355. virtual HRESULT STDMETHODCALLTYPE get_burnState(
  6356. WMPBurnState *state) = 0;
  6357. virtual HRESULT STDMETHODCALLTYPE get_burnProgress(
  6358. LONG *progress) = 0;
  6359. virtual HRESULT STDMETHODCALLTYPE startBurn(
  6360. ) = 0;
  6361. virtual HRESULT STDMETHODCALLTYPE stopBurn(
  6362. ) = 0;
  6363. virtual HRESULT STDMETHODCALLTYPE erase(
  6364. ) = 0;
  6365. };
  6366. #ifdef __CRT_UUID_DECL
  6367. __CRT_UUID_DECL(IWMPCdromBurn, 0xbd94dbeb, 0x417f, 0x4928, 0xaa,0x06, 0x08,0x7d,0x56,0xed,0x9b,0x59)
  6368. #endif
  6369. #else
  6370. typedef struct IWMPCdromBurnVtbl {
  6371. BEGIN_INTERFACE
  6372. /*** IUnknown methods ***/
  6373. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6374. IWMPCdromBurn *This,
  6375. REFIID riid,
  6376. void **ppvObject);
  6377. ULONG (STDMETHODCALLTYPE *AddRef)(
  6378. IWMPCdromBurn *This);
  6379. ULONG (STDMETHODCALLTYPE *Release)(
  6380. IWMPCdromBurn *This);
  6381. /*** IWMPCdromBurn methods ***/
  6382. HRESULT (STDMETHODCALLTYPE *isAvailable)(
  6383. IWMPCdromBurn *This,
  6384. BSTR item,
  6385. VARIANT_BOOL *available);
  6386. HRESULT (STDMETHODCALLTYPE *getItemInfo)(
  6387. IWMPCdromBurn *This,
  6388. BSTR item,
  6389. BSTR *val);
  6390. HRESULT (STDMETHODCALLTYPE *get_label)(
  6391. IWMPCdromBurn *This,
  6392. BSTR *label);
  6393. HRESULT (STDMETHODCALLTYPE *put_label)(
  6394. IWMPCdromBurn *This,
  6395. BSTR label);
  6396. HRESULT (STDMETHODCALLTYPE *get_burnFormat)(
  6397. IWMPCdromBurn *This,
  6398. WMPBurnFormat *format);
  6399. HRESULT (STDMETHODCALLTYPE *put_burnFormat)(
  6400. IWMPCdromBurn *This,
  6401. WMPBurnFormat format);
  6402. HRESULT (STDMETHODCALLTYPE *get_burnPlaylist)(
  6403. IWMPCdromBurn *This,
  6404. IWMPPlaylist **playlist);
  6405. HRESULT (STDMETHODCALLTYPE *put_burnPlaylist)(
  6406. IWMPCdromBurn *This,
  6407. IWMPPlaylist *playlist);
  6408. HRESULT (STDMETHODCALLTYPE *refreshStatus)(
  6409. IWMPCdromBurn *This);
  6410. HRESULT (STDMETHODCALLTYPE *get_burnState)(
  6411. IWMPCdromBurn *This,
  6412. WMPBurnState *state);
  6413. HRESULT (STDMETHODCALLTYPE *get_burnProgress)(
  6414. IWMPCdromBurn *This,
  6415. LONG *progress);
  6416. HRESULT (STDMETHODCALLTYPE *startBurn)(
  6417. IWMPCdromBurn *This);
  6418. HRESULT (STDMETHODCALLTYPE *stopBurn)(
  6419. IWMPCdromBurn *This);
  6420. HRESULT (STDMETHODCALLTYPE *erase)(
  6421. IWMPCdromBurn *This);
  6422. END_INTERFACE
  6423. } IWMPCdromBurnVtbl;
  6424. interface IWMPCdromBurn {
  6425. CONST_VTBL IWMPCdromBurnVtbl* lpVtbl;
  6426. };
  6427. #ifdef COBJMACROS
  6428. #ifndef WIDL_C_INLINE_WRAPPERS
  6429. /*** IUnknown methods ***/
  6430. #define IWMPCdromBurn_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6431. #define IWMPCdromBurn_AddRef(This) (This)->lpVtbl->AddRef(This)
  6432. #define IWMPCdromBurn_Release(This) (This)->lpVtbl->Release(This)
  6433. /*** IWMPCdromBurn methods ***/
  6434. #define IWMPCdromBurn_isAvailable(This,item,available) (This)->lpVtbl->isAvailable(This,item,available)
  6435. #define IWMPCdromBurn_getItemInfo(This,item,val) (This)->lpVtbl->getItemInfo(This,item,val)
  6436. #define IWMPCdromBurn_get_label(This,label) (This)->lpVtbl->get_label(This,label)
  6437. #define IWMPCdromBurn_put_label(This,label) (This)->lpVtbl->put_label(This,label)
  6438. #define IWMPCdromBurn_get_burnFormat(This,format) (This)->lpVtbl->get_burnFormat(This,format)
  6439. #define IWMPCdromBurn_put_burnFormat(This,format) (This)->lpVtbl->put_burnFormat(This,format)
  6440. #define IWMPCdromBurn_get_burnPlaylist(This,playlist) (This)->lpVtbl->get_burnPlaylist(This,playlist)
  6441. #define IWMPCdromBurn_put_burnPlaylist(This,playlist) (This)->lpVtbl->put_burnPlaylist(This,playlist)
  6442. #define IWMPCdromBurn_refreshStatus(This) (This)->lpVtbl->refreshStatus(This)
  6443. #define IWMPCdromBurn_get_burnState(This,state) (This)->lpVtbl->get_burnState(This,state)
  6444. #define IWMPCdromBurn_get_burnProgress(This,progress) (This)->lpVtbl->get_burnProgress(This,progress)
  6445. #define IWMPCdromBurn_startBurn(This) (This)->lpVtbl->startBurn(This)
  6446. #define IWMPCdromBurn_stopBurn(This) (This)->lpVtbl->stopBurn(This)
  6447. #define IWMPCdromBurn_erase(This) (This)->lpVtbl->erase(This)
  6448. #else
  6449. /*** IUnknown methods ***/
  6450. static FORCEINLINE HRESULT IWMPCdromBurn_QueryInterface(IWMPCdromBurn* This,REFIID riid,void **ppvObject) {
  6451. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6452. }
  6453. static FORCEINLINE ULONG IWMPCdromBurn_AddRef(IWMPCdromBurn* This) {
  6454. return This->lpVtbl->AddRef(This);
  6455. }
  6456. static FORCEINLINE ULONG IWMPCdromBurn_Release(IWMPCdromBurn* This) {
  6457. return This->lpVtbl->Release(This);
  6458. }
  6459. /*** IWMPCdromBurn methods ***/
  6460. static FORCEINLINE HRESULT IWMPCdromBurn_isAvailable(IWMPCdromBurn* This,BSTR item,VARIANT_BOOL *available) {
  6461. return This->lpVtbl->isAvailable(This,item,available);
  6462. }
  6463. static FORCEINLINE HRESULT IWMPCdromBurn_getItemInfo(IWMPCdromBurn* This,BSTR item,BSTR *val) {
  6464. return This->lpVtbl->getItemInfo(This,item,val);
  6465. }
  6466. static FORCEINLINE HRESULT IWMPCdromBurn_get_label(IWMPCdromBurn* This,BSTR *label) {
  6467. return This->lpVtbl->get_label(This,label);
  6468. }
  6469. static FORCEINLINE HRESULT IWMPCdromBurn_put_label(IWMPCdromBurn* This,BSTR label) {
  6470. return This->lpVtbl->put_label(This,label);
  6471. }
  6472. static FORCEINLINE HRESULT IWMPCdromBurn_get_burnFormat(IWMPCdromBurn* This,WMPBurnFormat *format) {
  6473. return This->lpVtbl->get_burnFormat(This,format);
  6474. }
  6475. static FORCEINLINE HRESULT IWMPCdromBurn_put_burnFormat(IWMPCdromBurn* This,WMPBurnFormat format) {
  6476. return This->lpVtbl->put_burnFormat(This,format);
  6477. }
  6478. static FORCEINLINE HRESULT IWMPCdromBurn_get_burnPlaylist(IWMPCdromBurn* This,IWMPPlaylist **playlist) {
  6479. return This->lpVtbl->get_burnPlaylist(This,playlist);
  6480. }
  6481. static FORCEINLINE HRESULT IWMPCdromBurn_put_burnPlaylist(IWMPCdromBurn* This,IWMPPlaylist *playlist) {
  6482. return This->lpVtbl->put_burnPlaylist(This,playlist);
  6483. }
  6484. static FORCEINLINE HRESULT IWMPCdromBurn_refreshStatus(IWMPCdromBurn* This) {
  6485. return This->lpVtbl->refreshStatus(This);
  6486. }
  6487. static FORCEINLINE HRESULT IWMPCdromBurn_get_burnState(IWMPCdromBurn* This,WMPBurnState *state) {
  6488. return This->lpVtbl->get_burnState(This,state);
  6489. }
  6490. static FORCEINLINE HRESULT IWMPCdromBurn_get_burnProgress(IWMPCdromBurn* This,LONG *progress) {
  6491. return This->lpVtbl->get_burnProgress(This,progress);
  6492. }
  6493. static FORCEINLINE HRESULT IWMPCdromBurn_startBurn(IWMPCdromBurn* This) {
  6494. return This->lpVtbl->startBurn(This);
  6495. }
  6496. static FORCEINLINE HRESULT IWMPCdromBurn_stopBurn(IWMPCdromBurn* This) {
  6497. return This->lpVtbl->stopBurn(This);
  6498. }
  6499. static FORCEINLINE HRESULT IWMPCdromBurn_erase(IWMPCdromBurn* This) {
  6500. return This->lpVtbl->erase(This);
  6501. }
  6502. #endif
  6503. #endif
  6504. #endif
  6505. #endif /* __IWMPCdromBurn_INTERFACE_DEFINED__ */
  6506. /*****************************************************************************
  6507. * IWMPLibrary interface
  6508. */
  6509. #ifndef __IWMPLibrary_INTERFACE_DEFINED__
  6510. #define __IWMPLibrary_INTERFACE_DEFINED__
  6511. DEFINE_GUID(IID_IWMPLibrary, 0x3df47861, 0x7df1, 0x4c1f, 0xa8,0x1b, 0x4c,0x26,0xf0,0xf7,0xa7,0xc6);
  6512. #if defined(__cplusplus) && !defined(CINTERFACE)
  6513. MIDL_INTERFACE("3df47861-7df1-4c1f-a81b-4c26f0f7a7c6")
  6514. IWMPLibrary : public IUnknown
  6515. {
  6516. virtual HRESULT STDMETHODCALLTYPE get_name(
  6517. BSTR *name) = 0;
  6518. virtual HRESULT STDMETHODCALLTYPE get_type(
  6519. WMPLibraryType *type) = 0;
  6520. virtual HRESULT STDMETHODCALLTYPE get_mediaCollection(
  6521. IWMPMediaCollection **collection) = 0;
  6522. virtual HRESULT STDMETHODCALLTYPE isIdentical(
  6523. IWMPLibrary *wmplibrary,
  6524. VARIANT_BOOL *ret) = 0;
  6525. };
  6526. #ifdef __CRT_UUID_DECL
  6527. __CRT_UUID_DECL(IWMPLibrary, 0x3df47861, 0x7df1, 0x4c1f, 0xa8,0x1b, 0x4c,0x26,0xf0,0xf7,0xa7,0xc6)
  6528. #endif
  6529. #else
  6530. typedef struct IWMPLibraryVtbl {
  6531. BEGIN_INTERFACE
  6532. /*** IUnknown methods ***/
  6533. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6534. IWMPLibrary *This,
  6535. REFIID riid,
  6536. void **ppvObject);
  6537. ULONG (STDMETHODCALLTYPE *AddRef)(
  6538. IWMPLibrary *This);
  6539. ULONG (STDMETHODCALLTYPE *Release)(
  6540. IWMPLibrary *This);
  6541. /*** IWMPLibrary methods ***/
  6542. HRESULT (STDMETHODCALLTYPE *get_name)(
  6543. IWMPLibrary *This,
  6544. BSTR *name);
  6545. HRESULT (STDMETHODCALLTYPE *get_type)(
  6546. IWMPLibrary *This,
  6547. WMPLibraryType *type);
  6548. HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
  6549. IWMPLibrary *This,
  6550. IWMPMediaCollection **collection);
  6551. HRESULT (STDMETHODCALLTYPE *isIdentical)(
  6552. IWMPLibrary *This,
  6553. IWMPLibrary *wmplibrary,
  6554. VARIANT_BOOL *ret);
  6555. END_INTERFACE
  6556. } IWMPLibraryVtbl;
  6557. interface IWMPLibrary {
  6558. CONST_VTBL IWMPLibraryVtbl* lpVtbl;
  6559. };
  6560. #ifdef COBJMACROS
  6561. #ifndef WIDL_C_INLINE_WRAPPERS
  6562. /*** IUnknown methods ***/
  6563. #define IWMPLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6564. #define IWMPLibrary_AddRef(This) (This)->lpVtbl->AddRef(This)
  6565. #define IWMPLibrary_Release(This) (This)->lpVtbl->Release(This)
  6566. /*** IWMPLibrary methods ***/
  6567. #define IWMPLibrary_get_name(This,name) (This)->lpVtbl->get_name(This,name)
  6568. #define IWMPLibrary_get_type(This,type) (This)->lpVtbl->get_type(This,type)
  6569. #define IWMPLibrary_get_mediaCollection(This,collection) (This)->lpVtbl->get_mediaCollection(This,collection)
  6570. #define IWMPLibrary_isIdentical(This,wmplibrary,ret) (This)->lpVtbl->isIdentical(This,wmplibrary,ret)
  6571. #else
  6572. /*** IUnknown methods ***/
  6573. static FORCEINLINE HRESULT IWMPLibrary_QueryInterface(IWMPLibrary* This,REFIID riid,void **ppvObject) {
  6574. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6575. }
  6576. static FORCEINLINE ULONG IWMPLibrary_AddRef(IWMPLibrary* This) {
  6577. return This->lpVtbl->AddRef(This);
  6578. }
  6579. static FORCEINLINE ULONG IWMPLibrary_Release(IWMPLibrary* This) {
  6580. return This->lpVtbl->Release(This);
  6581. }
  6582. /*** IWMPLibrary methods ***/
  6583. static FORCEINLINE HRESULT IWMPLibrary_get_name(IWMPLibrary* This,BSTR *name) {
  6584. return This->lpVtbl->get_name(This,name);
  6585. }
  6586. static FORCEINLINE HRESULT IWMPLibrary_get_type(IWMPLibrary* This,WMPLibraryType *type) {
  6587. return This->lpVtbl->get_type(This,type);
  6588. }
  6589. static FORCEINLINE HRESULT IWMPLibrary_get_mediaCollection(IWMPLibrary* This,IWMPMediaCollection **collection) {
  6590. return This->lpVtbl->get_mediaCollection(This,collection);
  6591. }
  6592. static FORCEINLINE HRESULT IWMPLibrary_isIdentical(IWMPLibrary* This,IWMPLibrary *wmplibrary,VARIANT_BOOL *ret) {
  6593. return This->lpVtbl->isIdentical(This,wmplibrary,ret);
  6594. }
  6595. #endif
  6596. #endif
  6597. #endif
  6598. #endif /* __IWMPLibrary_INTERFACE_DEFINED__ */
  6599. /*****************************************************************************
  6600. * IWMPEvents interface
  6601. */
  6602. #ifndef __IWMPEvents_INTERFACE_DEFINED__
  6603. #define __IWMPEvents_INTERFACE_DEFINED__
  6604. DEFINE_GUID(IID_IWMPEvents, 0x19a6627b, 0xda9e, 0x47c1, 0xbb,0x23, 0x00,0xb5,0xe6,0x68,0x23,0x6a);
  6605. #if defined(__cplusplus) && !defined(CINTERFACE)
  6606. MIDL_INTERFACE("19a6627b-da9e-47c1-bb23-00b5e668236a")
  6607. IWMPEvents : public IUnknown
  6608. {
  6609. virtual void STDMETHODCALLTYPE OpenStateChange(
  6610. LONG state) = 0;
  6611. virtual void STDMETHODCALLTYPE PlayStateChange(
  6612. LONG state) = 0;
  6613. virtual void STDMETHODCALLTYPE AudioLanguageChange(
  6614. LONG lang) = 0;
  6615. virtual void STDMETHODCALLTYPE StatusChange(
  6616. ) = 0;
  6617. virtual void STDMETHODCALLTYPE ScriptCommand(
  6618. BSTR type,
  6619. BSTR param) = 0;
  6620. virtual void STDMETHODCALLTYPE NewStream(
  6621. ) = 0;
  6622. virtual void STDMETHODCALLTYPE Disconnect(
  6623. LONG result) = 0;
  6624. virtual void STDMETHODCALLTYPE Buffering(
  6625. VARIANT_BOOL start) = 0;
  6626. virtual void STDMETHODCALLTYPE Error(
  6627. ) = 0;
  6628. virtual void STDMETHODCALLTYPE Warning(
  6629. LONG warning,
  6630. LONG param,
  6631. BSTR description) = 0;
  6632. virtual void STDMETHODCALLTYPE EndOfStream(
  6633. LONG result) = 0;
  6634. virtual void STDMETHODCALLTYPE PositionChange(
  6635. double old_position,
  6636. double new_position) = 0;
  6637. virtual void STDMETHODCALLTYPE MarkerHit(
  6638. LONG marker) = 0;
  6639. virtual void STDMETHODCALLTYPE DurationUnitChange(
  6640. LONG duration) = 0;
  6641. virtual void STDMETHODCALLTYPE CdromMediaChange(
  6642. LONG num) = 0;
  6643. virtual void STDMETHODCALLTYPE PlaylistChange(
  6644. IDispatch *playlist,
  6645. WMPPlaylistChangeEventType change) = 0;
  6646. virtual void STDMETHODCALLTYPE CurrentPlaylistChange(
  6647. WMPPlaylistChangeEventType change) = 0;
  6648. virtual void STDMETHODCALLTYPE CurrentPlaylistItemAvailable(
  6649. BSTR item) = 0;
  6650. virtual void STDMETHODCALLTYPE MediaChange(
  6651. IDispatch *item) = 0;
  6652. virtual void STDMETHODCALLTYPE CurrentMediaItemAvailable(
  6653. BSTR name) = 0;
  6654. virtual void STDMETHODCALLTYPE CurrentItemChange(
  6655. IDispatch *media) = 0;
  6656. virtual void STDMETHODCALLTYPE MediaCollectionChange(
  6657. ) = 0;
  6658. virtual void STDMETHODCALLTYPE MediaCollectionAttributeStringAdded(
  6659. BSTR name,
  6660. BSTR val) = 0;
  6661. virtual void STDMETHODCALLTYPE MediaCollectionAttributeStringRemoved(
  6662. BSTR name,
  6663. BSTR val) = 0;
  6664. virtual void STDMETHODCALLTYPE MediaCollectionAttributeStringChanged(
  6665. BSTR name,
  6666. BSTR old_val,
  6667. BSTR new_val) = 0;
  6668. virtual void STDMETHODCALLTYPE PlaylistCollectionChange(
  6669. ) = 0;
  6670. virtual void STDMETHODCALLTYPE PlaylistCollectionPlaylistAdded(
  6671. BSTR name) = 0;
  6672. virtual void STDMETHODCALLTYPE PlaylistCollectionPlaylistRemoved(
  6673. BSTR name) = 0;
  6674. virtual void STDMETHODCALLTYPE PlaylistCollectionPlaylistSetAsDeleted(
  6675. BSTR name,
  6676. VARIANT_BOOL deleted) = 0;
  6677. virtual void STDMETHODCALLTYPE ModeChange(
  6678. BSTR ModeName,
  6679. VARIANT_BOOL value) = 0;
  6680. virtual void STDMETHODCALLTYPE MediaError(
  6681. IDispatch *media) = 0;
  6682. virtual void STDMETHODCALLTYPE OpenPlaylistSwitch(
  6683. IDispatch *item) = 0;
  6684. virtual void STDMETHODCALLTYPE DomainChange(
  6685. BSTR domain) = 0;
  6686. virtual void STDMETHODCALLTYPE SwitchedToPlayerApplication(
  6687. ) = 0;
  6688. virtual void STDMETHODCALLTYPE SwitchedToControl(
  6689. ) = 0;
  6690. virtual void STDMETHODCALLTYPE PlayerDockedStateChange(
  6691. ) = 0;
  6692. virtual void STDMETHODCALLTYPE PlayerReconnect(
  6693. ) = 0;
  6694. virtual void STDMETHODCALLTYPE Click(
  6695. short button,
  6696. short shift_state,
  6697. LONG x,
  6698. LONG y) = 0;
  6699. virtual void STDMETHODCALLTYPE DoubleClick(
  6700. short button,
  6701. short shift_state,
  6702. LONG fX,
  6703. LONG fY) = 0;
  6704. virtual void STDMETHODCALLTYPE KeyDown(
  6705. short keycode,
  6706. short shift_state) = 0;
  6707. virtual void STDMETHODCALLTYPE KeyPress(
  6708. short ascii) = 0;
  6709. virtual void STDMETHODCALLTYPE KeyUp(
  6710. short keycode,
  6711. short shift_state) = 0;
  6712. virtual void STDMETHODCALLTYPE MouseDown(
  6713. short button,
  6714. short nShiftState,
  6715. LONG x,
  6716. LONG y) = 0;
  6717. virtual void STDMETHODCALLTYPE MouseMove(
  6718. short button,
  6719. short shift_state,
  6720. LONG x,
  6721. LONG y) = 0;
  6722. virtual void STDMETHODCALLTYPE MouseUp(
  6723. short button,
  6724. short shift_state,
  6725. LONG x,
  6726. LONG y) = 0;
  6727. };
  6728. #ifdef __CRT_UUID_DECL
  6729. __CRT_UUID_DECL(IWMPEvents, 0x19a6627b, 0xda9e, 0x47c1, 0xbb,0x23, 0x00,0xb5,0xe6,0x68,0x23,0x6a)
  6730. #endif
  6731. #else
  6732. typedef struct IWMPEventsVtbl {
  6733. BEGIN_INTERFACE
  6734. /*** IUnknown methods ***/
  6735. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6736. IWMPEvents *This,
  6737. REFIID riid,
  6738. void **ppvObject);
  6739. ULONG (STDMETHODCALLTYPE *AddRef)(
  6740. IWMPEvents *This);
  6741. ULONG (STDMETHODCALLTYPE *Release)(
  6742. IWMPEvents *This);
  6743. /*** IWMPEvents methods ***/
  6744. void (STDMETHODCALLTYPE *OpenStateChange)(
  6745. IWMPEvents *This,
  6746. LONG state);
  6747. void (STDMETHODCALLTYPE *PlayStateChange)(
  6748. IWMPEvents *This,
  6749. LONG state);
  6750. void (STDMETHODCALLTYPE *AudioLanguageChange)(
  6751. IWMPEvents *This,
  6752. LONG lang);
  6753. void (STDMETHODCALLTYPE *StatusChange)(
  6754. IWMPEvents *This);
  6755. void (STDMETHODCALLTYPE *ScriptCommand)(
  6756. IWMPEvents *This,
  6757. BSTR type,
  6758. BSTR param);
  6759. void (STDMETHODCALLTYPE *NewStream)(
  6760. IWMPEvents *This);
  6761. void (STDMETHODCALLTYPE *Disconnect)(
  6762. IWMPEvents *This,
  6763. LONG result);
  6764. void (STDMETHODCALLTYPE *Buffering)(
  6765. IWMPEvents *This,
  6766. VARIANT_BOOL start);
  6767. void (STDMETHODCALLTYPE *Error)(
  6768. IWMPEvents *This);
  6769. void (STDMETHODCALLTYPE *Warning)(
  6770. IWMPEvents *This,
  6771. LONG warning,
  6772. LONG param,
  6773. BSTR description);
  6774. void (STDMETHODCALLTYPE *EndOfStream)(
  6775. IWMPEvents *This,
  6776. LONG result);
  6777. void (STDMETHODCALLTYPE *PositionChange)(
  6778. IWMPEvents *This,
  6779. double old_position,
  6780. double new_position);
  6781. void (STDMETHODCALLTYPE *MarkerHit)(
  6782. IWMPEvents *This,
  6783. LONG marker);
  6784. void (STDMETHODCALLTYPE *DurationUnitChange)(
  6785. IWMPEvents *This,
  6786. LONG duration);
  6787. void (STDMETHODCALLTYPE *CdromMediaChange)(
  6788. IWMPEvents *This,
  6789. LONG num);
  6790. void (STDMETHODCALLTYPE *PlaylistChange)(
  6791. IWMPEvents *This,
  6792. IDispatch *playlist,
  6793. WMPPlaylistChangeEventType change);
  6794. void (STDMETHODCALLTYPE *CurrentPlaylistChange)(
  6795. IWMPEvents *This,
  6796. WMPPlaylistChangeEventType change);
  6797. void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)(
  6798. IWMPEvents *This,
  6799. BSTR item);
  6800. void (STDMETHODCALLTYPE *MediaChange)(
  6801. IWMPEvents *This,
  6802. IDispatch *item);
  6803. void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)(
  6804. IWMPEvents *This,
  6805. BSTR name);
  6806. void (STDMETHODCALLTYPE *CurrentItemChange)(
  6807. IWMPEvents *This,
  6808. IDispatch *media);
  6809. void (STDMETHODCALLTYPE *MediaCollectionChange)(
  6810. IWMPEvents *This);
  6811. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)(
  6812. IWMPEvents *This,
  6813. BSTR name,
  6814. BSTR val);
  6815. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)(
  6816. IWMPEvents *This,
  6817. BSTR name,
  6818. BSTR val);
  6819. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)(
  6820. IWMPEvents *This,
  6821. BSTR name,
  6822. BSTR old_val,
  6823. BSTR new_val);
  6824. void (STDMETHODCALLTYPE *PlaylistCollectionChange)(
  6825. IWMPEvents *This);
  6826. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)(
  6827. IWMPEvents *This,
  6828. BSTR name);
  6829. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)(
  6830. IWMPEvents *This,
  6831. BSTR name);
  6832. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)(
  6833. IWMPEvents *This,
  6834. BSTR name,
  6835. VARIANT_BOOL deleted);
  6836. void (STDMETHODCALLTYPE *ModeChange)(
  6837. IWMPEvents *This,
  6838. BSTR ModeName,
  6839. VARIANT_BOOL value);
  6840. void (STDMETHODCALLTYPE *MediaError)(
  6841. IWMPEvents *This,
  6842. IDispatch *media);
  6843. void (STDMETHODCALLTYPE *OpenPlaylistSwitch)(
  6844. IWMPEvents *This,
  6845. IDispatch *item);
  6846. void (STDMETHODCALLTYPE *DomainChange)(
  6847. IWMPEvents *This,
  6848. BSTR domain);
  6849. void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)(
  6850. IWMPEvents *This);
  6851. void (STDMETHODCALLTYPE *SwitchedToControl)(
  6852. IWMPEvents *This);
  6853. void (STDMETHODCALLTYPE *PlayerDockedStateChange)(
  6854. IWMPEvents *This);
  6855. void (STDMETHODCALLTYPE *PlayerReconnect)(
  6856. IWMPEvents *This);
  6857. void (STDMETHODCALLTYPE *Click)(
  6858. IWMPEvents *This,
  6859. short button,
  6860. short shift_state,
  6861. LONG x,
  6862. LONG y);
  6863. void (STDMETHODCALLTYPE *DoubleClick)(
  6864. IWMPEvents *This,
  6865. short button,
  6866. short shift_state,
  6867. LONG fX,
  6868. LONG fY);
  6869. void (STDMETHODCALLTYPE *KeyDown)(
  6870. IWMPEvents *This,
  6871. short keycode,
  6872. short shift_state);
  6873. void (STDMETHODCALLTYPE *KeyPress)(
  6874. IWMPEvents *This,
  6875. short ascii);
  6876. void (STDMETHODCALLTYPE *KeyUp)(
  6877. IWMPEvents *This,
  6878. short keycode,
  6879. short shift_state);
  6880. void (STDMETHODCALLTYPE *MouseDown)(
  6881. IWMPEvents *This,
  6882. short button,
  6883. short nShiftState,
  6884. LONG x,
  6885. LONG y);
  6886. void (STDMETHODCALLTYPE *MouseMove)(
  6887. IWMPEvents *This,
  6888. short button,
  6889. short shift_state,
  6890. LONG x,
  6891. LONG y);
  6892. void (STDMETHODCALLTYPE *MouseUp)(
  6893. IWMPEvents *This,
  6894. short button,
  6895. short shift_state,
  6896. LONG x,
  6897. LONG y);
  6898. END_INTERFACE
  6899. } IWMPEventsVtbl;
  6900. interface IWMPEvents {
  6901. CONST_VTBL IWMPEventsVtbl* lpVtbl;
  6902. };
  6903. #ifdef COBJMACROS
  6904. #ifndef WIDL_C_INLINE_WRAPPERS
  6905. /*** IUnknown methods ***/
  6906. #define IWMPEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6907. #define IWMPEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  6908. #define IWMPEvents_Release(This) (This)->lpVtbl->Release(This)
  6909. /*** IWMPEvents methods ***/
  6910. #define IWMPEvents_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state)
  6911. #define IWMPEvents_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state)
  6912. #define IWMPEvents_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang)
  6913. #define IWMPEvents_StatusChange(This) (This)->lpVtbl->StatusChange(This)
  6914. #define IWMPEvents_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param)
  6915. #define IWMPEvents_NewStream(This) (This)->lpVtbl->NewStream(This)
  6916. #define IWMPEvents_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result)
  6917. #define IWMPEvents_Buffering(This,start) (This)->lpVtbl->Buffering(This,start)
  6918. #define IWMPEvents_Error(This) (This)->lpVtbl->Error(This)
  6919. #define IWMPEvents_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description)
  6920. #define IWMPEvents_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result)
  6921. #define IWMPEvents_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position)
  6922. #define IWMPEvents_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker)
  6923. #define IWMPEvents_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration)
  6924. #define IWMPEvents_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num)
  6925. #define IWMPEvents_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change)
  6926. #define IWMPEvents_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change)
  6927. #define IWMPEvents_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item)
  6928. #define IWMPEvents_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item)
  6929. #define IWMPEvents_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name)
  6930. #define IWMPEvents_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media)
  6931. #define IWMPEvents_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This)
  6932. #define IWMPEvents_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val)
  6933. #define IWMPEvents_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val)
  6934. #define IWMPEvents_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val)
  6935. #define IWMPEvents_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This)
  6936. #define IWMPEvents_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name)
  6937. #define IWMPEvents_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name)
  6938. #define IWMPEvents_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted)
  6939. #define IWMPEvents_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value)
  6940. #define IWMPEvents_MediaError(This,media) (This)->lpVtbl->MediaError(This,media)
  6941. #define IWMPEvents_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item)
  6942. #define IWMPEvents_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain)
  6943. #define IWMPEvents_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This)
  6944. #define IWMPEvents_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This)
  6945. #define IWMPEvents_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This)
  6946. #define IWMPEvents_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This)
  6947. #define IWMPEvents_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y)
  6948. #define IWMPEvents_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY)
  6949. #define IWMPEvents_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state)
  6950. #define IWMPEvents_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii)
  6951. #define IWMPEvents_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state)
  6952. #define IWMPEvents_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y)
  6953. #define IWMPEvents_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y)
  6954. #define IWMPEvents_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y)
  6955. #else
  6956. /*** IUnknown methods ***/
  6957. static FORCEINLINE HRESULT IWMPEvents_QueryInterface(IWMPEvents* This,REFIID riid,void **ppvObject) {
  6958. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6959. }
  6960. static FORCEINLINE ULONG IWMPEvents_AddRef(IWMPEvents* This) {
  6961. return This->lpVtbl->AddRef(This);
  6962. }
  6963. static FORCEINLINE ULONG IWMPEvents_Release(IWMPEvents* This) {
  6964. return This->lpVtbl->Release(This);
  6965. }
  6966. /*** IWMPEvents methods ***/
  6967. static FORCEINLINE void IWMPEvents_OpenStateChange(IWMPEvents* This,LONG state) {
  6968. This->lpVtbl->OpenStateChange(This,state);
  6969. }
  6970. static FORCEINLINE void IWMPEvents_PlayStateChange(IWMPEvents* This,LONG state) {
  6971. This->lpVtbl->PlayStateChange(This,state);
  6972. }
  6973. static FORCEINLINE void IWMPEvents_AudioLanguageChange(IWMPEvents* This,LONG lang) {
  6974. This->lpVtbl->AudioLanguageChange(This,lang);
  6975. }
  6976. static FORCEINLINE void IWMPEvents_StatusChange(IWMPEvents* This) {
  6977. This->lpVtbl->StatusChange(This);
  6978. }
  6979. static FORCEINLINE void IWMPEvents_ScriptCommand(IWMPEvents* This,BSTR type,BSTR param) {
  6980. This->lpVtbl->ScriptCommand(This,type,param);
  6981. }
  6982. static FORCEINLINE void IWMPEvents_NewStream(IWMPEvents* This) {
  6983. This->lpVtbl->NewStream(This);
  6984. }
  6985. static FORCEINLINE void IWMPEvents_Disconnect(IWMPEvents* This,LONG result) {
  6986. This->lpVtbl->Disconnect(This,result);
  6987. }
  6988. static FORCEINLINE void IWMPEvents_Buffering(IWMPEvents* This,VARIANT_BOOL start) {
  6989. This->lpVtbl->Buffering(This,start);
  6990. }
  6991. static FORCEINLINE void IWMPEvents_Error(IWMPEvents* This) {
  6992. This->lpVtbl->Error(This);
  6993. }
  6994. static FORCEINLINE void IWMPEvents_Warning(IWMPEvents* This,LONG warning,LONG param,BSTR description) {
  6995. This->lpVtbl->Warning(This,warning,param,description);
  6996. }
  6997. static FORCEINLINE void IWMPEvents_EndOfStream(IWMPEvents* This,LONG result) {
  6998. This->lpVtbl->EndOfStream(This,result);
  6999. }
  7000. static FORCEINLINE void IWMPEvents_PositionChange(IWMPEvents* This,double old_position,double new_position) {
  7001. This->lpVtbl->PositionChange(This,old_position,new_position);
  7002. }
  7003. static FORCEINLINE void IWMPEvents_MarkerHit(IWMPEvents* This,LONG marker) {
  7004. This->lpVtbl->MarkerHit(This,marker);
  7005. }
  7006. static FORCEINLINE void IWMPEvents_DurationUnitChange(IWMPEvents* This,LONG duration) {
  7007. This->lpVtbl->DurationUnitChange(This,duration);
  7008. }
  7009. static FORCEINLINE void IWMPEvents_CdromMediaChange(IWMPEvents* This,LONG num) {
  7010. This->lpVtbl->CdromMediaChange(This,num);
  7011. }
  7012. static FORCEINLINE void IWMPEvents_PlaylistChange(IWMPEvents* This,IDispatch *playlist,WMPPlaylistChangeEventType change) {
  7013. This->lpVtbl->PlaylistChange(This,playlist,change);
  7014. }
  7015. static FORCEINLINE void IWMPEvents_CurrentPlaylistChange(IWMPEvents* This,WMPPlaylistChangeEventType change) {
  7016. This->lpVtbl->CurrentPlaylistChange(This,change);
  7017. }
  7018. static FORCEINLINE void IWMPEvents_CurrentPlaylistItemAvailable(IWMPEvents* This,BSTR item) {
  7019. This->lpVtbl->CurrentPlaylistItemAvailable(This,item);
  7020. }
  7021. static FORCEINLINE void IWMPEvents_MediaChange(IWMPEvents* This,IDispatch *item) {
  7022. This->lpVtbl->MediaChange(This,item);
  7023. }
  7024. static FORCEINLINE void IWMPEvents_CurrentMediaItemAvailable(IWMPEvents* This,BSTR name) {
  7025. This->lpVtbl->CurrentMediaItemAvailable(This,name);
  7026. }
  7027. static FORCEINLINE void IWMPEvents_CurrentItemChange(IWMPEvents* This,IDispatch *media) {
  7028. This->lpVtbl->CurrentItemChange(This,media);
  7029. }
  7030. static FORCEINLINE void IWMPEvents_MediaCollectionChange(IWMPEvents* This) {
  7031. This->lpVtbl->MediaCollectionChange(This);
  7032. }
  7033. static FORCEINLINE void IWMPEvents_MediaCollectionAttributeStringAdded(IWMPEvents* This,BSTR name,BSTR val) {
  7034. This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val);
  7035. }
  7036. static FORCEINLINE void IWMPEvents_MediaCollectionAttributeStringRemoved(IWMPEvents* This,BSTR name,BSTR val) {
  7037. This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val);
  7038. }
  7039. static FORCEINLINE void IWMPEvents_MediaCollectionAttributeStringChanged(IWMPEvents* This,BSTR name,BSTR old_val,BSTR new_val) {
  7040. This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val);
  7041. }
  7042. static FORCEINLINE void IWMPEvents_PlaylistCollectionChange(IWMPEvents* This) {
  7043. This->lpVtbl->PlaylistCollectionChange(This);
  7044. }
  7045. static FORCEINLINE void IWMPEvents_PlaylistCollectionPlaylistAdded(IWMPEvents* This,BSTR name) {
  7046. This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name);
  7047. }
  7048. static FORCEINLINE void IWMPEvents_PlaylistCollectionPlaylistRemoved(IWMPEvents* This,BSTR name) {
  7049. This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name);
  7050. }
  7051. static FORCEINLINE void IWMPEvents_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents* This,BSTR name,VARIANT_BOOL deleted) {
  7052. This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted);
  7053. }
  7054. static FORCEINLINE void IWMPEvents_ModeChange(IWMPEvents* This,BSTR ModeName,VARIANT_BOOL value) {
  7055. This->lpVtbl->ModeChange(This,ModeName,value);
  7056. }
  7057. static FORCEINLINE void IWMPEvents_MediaError(IWMPEvents* This,IDispatch *media) {
  7058. This->lpVtbl->MediaError(This,media);
  7059. }
  7060. static FORCEINLINE void IWMPEvents_OpenPlaylistSwitch(IWMPEvents* This,IDispatch *item) {
  7061. This->lpVtbl->OpenPlaylistSwitch(This,item);
  7062. }
  7063. static FORCEINLINE void IWMPEvents_DomainChange(IWMPEvents* This,BSTR domain) {
  7064. This->lpVtbl->DomainChange(This,domain);
  7065. }
  7066. static FORCEINLINE void IWMPEvents_SwitchedToPlayerApplication(IWMPEvents* This) {
  7067. This->lpVtbl->SwitchedToPlayerApplication(This);
  7068. }
  7069. static FORCEINLINE void IWMPEvents_SwitchedToControl(IWMPEvents* This) {
  7070. This->lpVtbl->SwitchedToControl(This);
  7071. }
  7072. static FORCEINLINE void IWMPEvents_PlayerDockedStateChange(IWMPEvents* This) {
  7073. This->lpVtbl->PlayerDockedStateChange(This);
  7074. }
  7075. static FORCEINLINE void IWMPEvents_PlayerReconnect(IWMPEvents* This) {
  7076. This->lpVtbl->PlayerReconnect(This);
  7077. }
  7078. static FORCEINLINE void IWMPEvents_Click(IWMPEvents* This,short button,short shift_state,LONG x,LONG y) {
  7079. This->lpVtbl->Click(This,button,shift_state,x,y);
  7080. }
  7081. static FORCEINLINE void IWMPEvents_DoubleClick(IWMPEvents* This,short button,short shift_state,LONG fX,LONG fY) {
  7082. This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY);
  7083. }
  7084. static FORCEINLINE void IWMPEvents_KeyDown(IWMPEvents* This,short keycode,short shift_state) {
  7085. This->lpVtbl->KeyDown(This,keycode,shift_state);
  7086. }
  7087. static FORCEINLINE void IWMPEvents_KeyPress(IWMPEvents* This,short ascii) {
  7088. This->lpVtbl->KeyPress(This,ascii);
  7089. }
  7090. static FORCEINLINE void IWMPEvents_KeyUp(IWMPEvents* This,short keycode,short shift_state) {
  7091. This->lpVtbl->KeyUp(This,keycode,shift_state);
  7092. }
  7093. static FORCEINLINE void IWMPEvents_MouseDown(IWMPEvents* This,short button,short nShiftState,LONG x,LONG y) {
  7094. This->lpVtbl->MouseDown(This,button,nShiftState,x,y);
  7095. }
  7096. static FORCEINLINE void IWMPEvents_MouseMove(IWMPEvents* This,short button,short shift_state,LONG x,LONG y) {
  7097. This->lpVtbl->MouseMove(This,button,shift_state,x,y);
  7098. }
  7099. static FORCEINLINE void IWMPEvents_MouseUp(IWMPEvents* This,short button,short shift_state,LONG x,LONG y) {
  7100. This->lpVtbl->MouseUp(This,button,shift_state,x,y);
  7101. }
  7102. #endif
  7103. #endif
  7104. #endif
  7105. #endif /* __IWMPEvents_INTERFACE_DEFINED__ */
  7106. /*****************************************************************************
  7107. * IWMPEvents2 interface
  7108. */
  7109. #ifndef __IWMPEvents2_INTERFACE_DEFINED__
  7110. #define __IWMPEvents2_INTERFACE_DEFINED__
  7111. DEFINE_GUID(IID_IWMPEvents2, 0x1e7601fa, 0x47ea, 0x4107, 0x9e,0xa9, 0x90,0x04,0xed,0x96,0x84,0xff);
  7112. #if defined(__cplusplus) && !defined(CINTERFACE)
  7113. MIDL_INTERFACE("1e7601fa-47ea-4107-9ea9-9004ed9684ff")
  7114. IWMPEvents2 : public IWMPEvents
  7115. {
  7116. virtual void STDMETHODCALLTYPE DeviceConnect(
  7117. IWMPSyncDevice *device) = 0;
  7118. virtual void STDMETHODCALLTYPE DeviceDisconnect(
  7119. IWMPSyncDevice *device) = 0;
  7120. virtual void STDMETHODCALLTYPE DeviceStatusChange(
  7121. IWMPSyncDevice *device,
  7122. WMPDeviceStatus status) = 0;
  7123. virtual void STDMETHODCALLTYPE DeviceSyncStateChange(
  7124. IWMPSyncDevice *device,
  7125. WMPSyncState state) = 0;
  7126. virtual void STDMETHODCALLTYPE DeviceSyncError(
  7127. IWMPSyncDevice *device,
  7128. IDispatch *media) = 0;
  7129. virtual void STDMETHODCALLTYPE CreatePartnershipComplete(
  7130. IWMPSyncDevice *device,
  7131. HRESULT result) = 0;
  7132. };
  7133. #ifdef __CRT_UUID_DECL
  7134. __CRT_UUID_DECL(IWMPEvents2, 0x1e7601fa, 0x47ea, 0x4107, 0x9e,0xa9, 0x90,0x04,0xed,0x96,0x84,0xff)
  7135. #endif
  7136. #else
  7137. typedef struct IWMPEvents2Vtbl {
  7138. BEGIN_INTERFACE
  7139. /*** IUnknown methods ***/
  7140. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7141. IWMPEvents2 *This,
  7142. REFIID riid,
  7143. void **ppvObject);
  7144. ULONG (STDMETHODCALLTYPE *AddRef)(
  7145. IWMPEvents2 *This);
  7146. ULONG (STDMETHODCALLTYPE *Release)(
  7147. IWMPEvents2 *This);
  7148. /*** IWMPEvents methods ***/
  7149. void (STDMETHODCALLTYPE *OpenStateChange)(
  7150. IWMPEvents2 *This,
  7151. LONG state);
  7152. void (STDMETHODCALLTYPE *PlayStateChange)(
  7153. IWMPEvents2 *This,
  7154. LONG state);
  7155. void (STDMETHODCALLTYPE *AudioLanguageChange)(
  7156. IWMPEvents2 *This,
  7157. LONG lang);
  7158. void (STDMETHODCALLTYPE *StatusChange)(
  7159. IWMPEvents2 *This);
  7160. void (STDMETHODCALLTYPE *ScriptCommand)(
  7161. IWMPEvents2 *This,
  7162. BSTR type,
  7163. BSTR param);
  7164. void (STDMETHODCALLTYPE *NewStream)(
  7165. IWMPEvents2 *This);
  7166. void (STDMETHODCALLTYPE *Disconnect)(
  7167. IWMPEvents2 *This,
  7168. LONG result);
  7169. void (STDMETHODCALLTYPE *Buffering)(
  7170. IWMPEvents2 *This,
  7171. VARIANT_BOOL start);
  7172. void (STDMETHODCALLTYPE *Error)(
  7173. IWMPEvents2 *This);
  7174. void (STDMETHODCALLTYPE *Warning)(
  7175. IWMPEvents2 *This,
  7176. LONG warning,
  7177. LONG param,
  7178. BSTR description);
  7179. void (STDMETHODCALLTYPE *EndOfStream)(
  7180. IWMPEvents2 *This,
  7181. LONG result);
  7182. void (STDMETHODCALLTYPE *PositionChange)(
  7183. IWMPEvents2 *This,
  7184. double old_position,
  7185. double new_position);
  7186. void (STDMETHODCALLTYPE *MarkerHit)(
  7187. IWMPEvents2 *This,
  7188. LONG marker);
  7189. void (STDMETHODCALLTYPE *DurationUnitChange)(
  7190. IWMPEvents2 *This,
  7191. LONG duration);
  7192. void (STDMETHODCALLTYPE *CdromMediaChange)(
  7193. IWMPEvents2 *This,
  7194. LONG num);
  7195. void (STDMETHODCALLTYPE *PlaylistChange)(
  7196. IWMPEvents2 *This,
  7197. IDispatch *playlist,
  7198. WMPPlaylistChangeEventType change);
  7199. void (STDMETHODCALLTYPE *CurrentPlaylistChange)(
  7200. IWMPEvents2 *This,
  7201. WMPPlaylistChangeEventType change);
  7202. void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)(
  7203. IWMPEvents2 *This,
  7204. BSTR item);
  7205. void (STDMETHODCALLTYPE *MediaChange)(
  7206. IWMPEvents2 *This,
  7207. IDispatch *item);
  7208. void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)(
  7209. IWMPEvents2 *This,
  7210. BSTR name);
  7211. void (STDMETHODCALLTYPE *CurrentItemChange)(
  7212. IWMPEvents2 *This,
  7213. IDispatch *media);
  7214. void (STDMETHODCALLTYPE *MediaCollectionChange)(
  7215. IWMPEvents2 *This);
  7216. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)(
  7217. IWMPEvents2 *This,
  7218. BSTR name,
  7219. BSTR val);
  7220. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)(
  7221. IWMPEvents2 *This,
  7222. BSTR name,
  7223. BSTR val);
  7224. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)(
  7225. IWMPEvents2 *This,
  7226. BSTR name,
  7227. BSTR old_val,
  7228. BSTR new_val);
  7229. void (STDMETHODCALLTYPE *PlaylistCollectionChange)(
  7230. IWMPEvents2 *This);
  7231. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)(
  7232. IWMPEvents2 *This,
  7233. BSTR name);
  7234. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)(
  7235. IWMPEvents2 *This,
  7236. BSTR name);
  7237. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)(
  7238. IWMPEvents2 *This,
  7239. BSTR name,
  7240. VARIANT_BOOL deleted);
  7241. void (STDMETHODCALLTYPE *ModeChange)(
  7242. IWMPEvents2 *This,
  7243. BSTR ModeName,
  7244. VARIANT_BOOL value);
  7245. void (STDMETHODCALLTYPE *MediaError)(
  7246. IWMPEvents2 *This,
  7247. IDispatch *media);
  7248. void (STDMETHODCALLTYPE *OpenPlaylistSwitch)(
  7249. IWMPEvents2 *This,
  7250. IDispatch *item);
  7251. void (STDMETHODCALLTYPE *DomainChange)(
  7252. IWMPEvents2 *This,
  7253. BSTR domain);
  7254. void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)(
  7255. IWMPEvents2 *This);
  7256. void (STDMETHODCALLTYPE *SwitchedToControl)(
  7257. IWMPEvents2 *This);
  7258. void (STDMETHODCALLTYPE *PlayerDockedStateChange)(
  7259. IWMPEvents2 *This);
  7260. void (STDMETHODCALLTYPE *PlayerReconnect)(
  7261. IWMPEvents2 *This);
  7262. void (STDMETHODCALLTYPE *Click)(
  7263. IWMPEvents2 *This,
  7264. short button,
  7265. short shift_state,
  7266. LONG x,
  7267. LONG y);
  7268. void (STDMETHODCALLTYPE *DoubleClick)(
  7269. IWMPEvents2 *This,
  7270. short button,
  7271. short shift_state,
  7272. LONG fX,
  7273. LONG fY);
  7274. void (STDMETHODCALLTYPE *KeyDown)(
  7275. IWMPEvents2 *This,
  7276. short keycode,
  7277. short shift_state);
  7278. void (STDMETHODCALLTYPE *KeyPress)(
  7279. IWMPEvents2 *This,
  7280. short ascii);
  7281. void (STDMETHODCALLTYPE *KeyUp)(
  7282. IWMPEvents2 *This,
  7283. short keycode,
  7284. short shift_state);
  7285. void (STDMETHODCALLTYPE *MouseDown)(
  7286. IWMPEvents2 *This,
  7287. short button,
  7288. short nShiftState,
  7289. LONG x,
  7290. LONG y);
  7291. void (STDMETHODCALLTYPE *MouseMove)(
  7292. IWMPEvents2 *This,
  7293. short button,
  7294. short shift_state,
  7295. LONG x,
  7296. LONG y);
  7297. void (STDMETHODCALLTYPE *MouseUp)(
  7298. IWMPEvents2 *This,
  7299. short button,
  7300. short shift_state,
  7301. LONG x,
  7302. LONG y);
  7303. /*** IWMPEvents2 methods ***/
  7304. void (STDMETHODCALLTYPE *DeviceConnect)(
  7305. IWMPEvents2 *This,
  7306. IWMPSyncDevice *device);
  7307. void (STDMETHODCALLTYPE *DeviceDisconnect)(
  7308. IWMPEvents2 *This,
  7309. IWMPSyncDevice *device);
  7310. void (STDMETHODCALLTYPE *DeviceStatusChange)(
  7311. IWMPEvents2 *This,
  7312. IWMPSyncDevice *device,
  7313. WMPDeviceStatus status);
  7314. void (STDMETHODCALLTYPE *DeviceSyncStateChange)(
  7315. IWMPEvents2 *This,
  7316. IWMPSyncDevice *device,
  7317. WMPSyncState state);
  7318. void (STDMETHODCALLTYPE *DeviceSyncError)(
  7319. IWMPEvents2 *This,
  7320. IWMPSyncDevice *device,
  7321. IDispatch *media);
  7322. void (STDMETHODCALLTYPE *CreatePartnershipComplete)(
  7323. IWMPEvents2 *This,
  7324. IWMPSyncDevice *device,
  7325. HRESULT result);
  7326. END_INTERFACE
  7327. } IWMPEvents2Vtbl;
  7328. interface IWMPEvents2 {
  7329. CONST_VTBL IWMPEvents2Vtbl* lpVtbl;
  7330. };
  7331. #ifdef COBJMACROS
  7332. #ifndef WIDL_C_INLINE_WRAPPERS
  7333. /*** IUnknown methods ***/
  7334. #define IWMPEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7335. #define IWMPEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
  7336. #define IWMPEvents2_Release(This) (This)->lpVtbl->Release(This)
  7337. /*** IWMPEvents methods ***/
  7338. #define IWMPEvents2_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state)
  7339. #define IWMPEvents2_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state)
  7340. #define IWMPEvents2_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang)
  7341. #define IWMPEvents2_StatusChange(This) (This)->lpVtbl->StatusChange(This)
  7342. #define IWMPEvents2_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param)
  7343. #define IWMPEvents2_NewStream(This) (This)->lpVtbl->NewStream(This)
  7344. #define IWMPEvents2_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result)
  7345. #define IWMPEvents2_Buffering(This,start) (This)->lpVtbl->Buffering(This,start)
  7346. #define IWMPEvents2_Error(This) (This)->lpVtbl->Error(This)
  7347. #define IWMPEvents2_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description)
  7348. #define IWMPEvents2_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result)
  7349. #define IWMPEvents2_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position)
  7350. #define IWMPEvents2_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker)
  7351. #define IWMPEvents2_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration)
  7352. #define IWMPEvents2_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num)
  7353. #define IWMPEvents2_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change)
  7354. #define IWMPEvents2_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change)
  7355. #define IWMPEvents2_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item)
  7356. #define IWMPEvents2_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item)
  7357. #define IWMPEvents2_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name)
  7358. #define IWMPEvents2_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media)
  7359. #define IWMPEvents2_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This)
  7360. #define IWMPEvents2_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val)
  7361. #define IWMPEvents2_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val)
  7362. #define IWMPEvents2_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val)
  7363. #define IWMPEvents2_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This)
  7364. #define IWMPEvents2_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name)
  7365. #define IWMPEvents2_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name)
  7366. #define IWMPEvents2_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted)
  7367. #define IWMPEvents2_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value)
  7368. #define IWMPEvents2_MediaError(This,media) (This)->lpVtbl->MediaError(This,media)
  7369. #define IWMPEvents2_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item)
  7370. #define IWMPEvents2_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain)
  7371. #define IWMPEvents2_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This)
  7372. #define IWMPEvents2_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This)
  7373. #define IWMPEvents2_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This)
  7374. #define IWMPEvents2_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This)
  7375. #define IWMPEvents2_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y)
  7376. #define IWMPEvents2_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY)
  7377. #define IWMPEvents2_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state)
  7378. #define IWMPEvents2_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii)
  7379. #define IWMPEvents2_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state)
  7380. #define IWMPEvents2_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y)
  7381. #define IWMPEvents2_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y)
  7382. #define IWMPEvents2_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y)
  7383. /*** IWMPEvents2 methods ***/
  7384. #define IWMPEvents2_DeviceConnect(This,device) (This)->lpVtbl->DeviceConnect(This,device)
  7385. #define IWMPEvents2_DeviceDisconnect(This,device) (This)->lpVtbl->DeviceDisconnect(This,device)
  7386. #define IWMPEvents2_DeviceStatusChange(This,device,status) (This)->lpVtbl->DeviceStatusChange(This,device,status)
  7387. #define IWMPEvents2_DeviceSyncStateChange(This,device,state) (This)->lpVtbl->DeviceSyncStateChange(This,device,state)
  7388. #define IWMPEvents2_DeviceSyncError(This,device,media) (This)->lpVtbl->DeviceSyncError(This,device,media)
  7389. #define IWMPEvents2_CreatePartnershipComplete(This,device,result) (This)->lpVtbl->CreatePartnershipComplete(This,device,result)
  7390. #else
  7391. /*** IUnknown methods ***/
  7392. static FORCEINLINE HRESULT IWMPEvents2_QueryInterface(IWMPEvents2* This,REFIID riid,void **ppvObject) {
  7393. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7394. }
  7395. static FORCEINLINE ULONG IWMPEvents2_AddRef(IWMPEvents2* This) {
  7396. return This->lpVtbl->AddRef(This);
  7397. }
  7398. static FORCEINLINE ULONG IWMPEvents2_Release(IWMPEvents2* This) {
  7399. return This->lpVtbl->Release(This);
  7400. }
  7401. /*** IWMPEvents methods ***/
  7402. static FORCEINLINE void IWMPEvents2_OpenStateChange(IWMPEvents2* This,LONG state) {
  7403. This->lpVtbl->OpenStateChange(This,state);
  7404. }
  7405. static FORCEINLINE void IWMPEvents2_PlayStateChange(IWMPEvents2* This,LONG state) {
  7406. This->lpVtbl->PlayStateChange(This,state);
  7407. }
  7408. static FORCEINLINE void IWMPEvents2_AudioLanguageChange(IWMPEvents2* This,LONG lang) {
  7409. This->lpVtbl->AudioLanguageChange(This,lang);
  7410. }
  7411. static FORCEINLINE void IWMPEvents2_StatusChange(IWMPEvents2* This) {
  7412. This->lpVtbl->StatusChange(This);
  7413. }
  7414. static FORCEINLINE void IWMPEvents2_ScriptCommand(IWMPEvents2* This,BSTR type,BSTR param) {
  7415. This->lpVtbl->ScriptCommand(This,type,param);
  7416. }
  7417. static FORCEINLINE void IWMPEvents2_NewStream(IWMPEvents2* This) {
  7418. This->lpVtbl->NewStream(This);
  7419. }
  7420. static FORCEINLINE void IWMPEvents2_Disconnect(IWMPEvents2* This,LONG result) {
  7421. This->lpVtbl->Disconnect(This,result);
  7422. }
  7423. static FORCEINLINE void IWMPEvents2_Buffering(IWMPEvents2* This,VARIANT_BOOL start) {
  7424. This->lpVtbl->Buffering(This,start);
  7425. }
  7426. static FORCEINLINE void IWMPEvents2_Error(IWMPEvents2* This) {
  7427. This->lpVtbl->Error(This);
  7428. }
  7429. static FORCEINLINE void IWMPEvents2_Warning(IWMPEvents2* This,LONG warning,LONG param,BSTR description) {
  7430. This->lpVtbl->Warning(This,warning,param,description);
  7431. }
  7432. static FORCEINLINE void IWMPEvents2_EndOfStream(IWMPEvents2* This,LONG result) {
  7433. This->lpVtbl->EndOfStream(This,result);
  7434. }
  7435. static FORCEINLINE void IWMPEvents2_PositionChange(IWMPEvents2* This,double old_position,double new_position) {
  7436. This->lpVtbl->PositionChange(This,old_position,new_position);
  7437. }
  7438. static FORCEINLINE void IWMPEvents2_MarkerHit(IWMPEvents2* This,LONG marker) {
  7439. This->lpVtbl->MarkerHit(This,marker);
  7440. }
  7441. static FORCEINLINE void IWMPEvents2_DurationUnitChange(IWMPEvents2* This,LONG duration) {
  7442. This->lpVtbl->DurationUnitChange(This,duration);
  7443. }
  7444. static FORCEINLINE void IWMPEvents2_CdromMediaChange(IWMPEvents2* This,LONG num) {
  7445. This->lpVtbl->CdromMediaChange(This,num);
  7446. }
  7447. static FORCEINLINE void IWMPEvents2_PlaylistChange(IWMPEvents2* This,IDispatch *playlist,WMPPlaylistChangeEventType change) {
  7448. This->lpVtbl->PlaylistChange(This,playlist,change);
  7449. }
  7450. static FORCEINLINE void IWMPEvents2_CurrentPlaylistChange(IWMPEvents2* This,WMPPlaylistChangeEventType change) {
  7451. This->lpVtbl->CurrentPlaylistChange(This,change);
  7452. }
  7453. static FORCEINLINE void IWMPEvents2_CurrentPlaylistItemAvailable(IWMPEvents2* This,BSTR item) {
  7454. This->lpVtbl->CurrentPlaylistItemAvailable(This,item);
  7455. }
  7456. static FORCEINLINE void IWMPEvents2_MediaChange(IWMPEvents2* This,IDispatch *item) {
  7457. This->lpVtbl->MediaChange(This,item);
  7458. }
  7459. static FORCEINLINE void IWMPEvents2_CurrentMediaItemAvailable(IWMPEvents2* This,BSTR name) {
  7460. This->lpVtbl->CurrentMediaItemAvailable(This,name);
  7461. }
  7462. static FORCEINLINE void IWMPEvents2_CurrentItemChange(IWMPEvents2* This,IDispatch *media) {
  7463. This->lpVtbl->CurrentItemChange(This,media);
  7464. }
  7465. static FORCEINLINE void IWMPEvents2_MediaCollectionChange(IWMPEvents2* This) {
  7466. This->lpVtbl->MediaCollectionChange(This);
  7467. }
  7468. static FORCEINLINE void IWMPEvents2_MediaCollectionAttributeStringAdded(IWMPEvents2* This,BSTR name,BSTR val) {
  7469. This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val);
  7470. }
  7471. static FORCEINLINE void IWMPEvents2_MediaCollectionAttributeStringRemoved(IWMPEvents2* This,BSTR name,BSTR val) {
  7472. This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val);
  7473. }
  7474. static FORCEINLINE void IWMPEvents2_MediaCollectionAttributeStringChanged(IWMPEvents2* This,BSTR name,BSTR old_val,BSTR new_val) {
  7475. This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val);
  7476. }
  7477. static FORCEINLINE void IWMPEvents2_PlaylistCollectionChange(IWMPEvents2* This) {
  7478. This->lpVtbl->PlaylistCollectionChange(This);
  7479. }
  7480. static FORCEINLINE void IWMPEvents2_PlaylistCollectionPlaylistAdded(IWMPEvents2* This,BSTR name) {
  7481. This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name);
  7482. }
  7483. static FORCEINLINE void IWMPEvents2_PlaylistCollectionPlaylistRemoved(IWMPEvents2* This,BSTR name) {
  7484. This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name);
  7485. }
  7486. static FORCEINLINE void IWMPEvents2_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents2* This,BSTR name,VARIANT_BOOL deleted) {
  7487. This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted);
  7488. }
  7489. static FORCEINLINE void IWMPEvents2_ModeChange(IWMPEvents2* This,BSTR ModeName,VARIANT_BOOL value) {
  7490. This->lpVtbl->ModeChange(This,ModeName,value);
  7491. }
  7492. static FORCEINLINE void IWMPEvents2_MediaError(IWMPEvents2* This,IDispatch *media) {
  7493. This->lpVtbl->MediaError(This,media);
  7494. }
  7495. static FORCEINLINE void IWMPEvents2_OpenPlaylistSwitch(IWMPEvents2* This,IDispatch *item) {
  7496. This->lpVtbl->OpenPlaylistSwitch(This,item);
  7497. }
  7498. static FORCEINLINE void IWMPEvents2_DomainChange(IWMPEvents2* This,BSTR domain) {
  7499. This->lpVtbl->DomainChange(This,domain);
  7500. }
  7501. static FORCEINLINE void IWMPEvents2_SwitchedToPlayerApplication(IWMPEvents2* This) {
  7502. This->lpVtbl->SwitchedToPlayerApplication(This);
  7503. }
  7504. static FORCEINLINE void IWMPEvents2_SwitchedToControl(IWMPEvents2* This) {
  7505. This->lpVtbl->SwitchedToControl(This);
  7506. }
  7507. static FORCEINLINE void IWMPEvents2_PlayerDockedStateChange(IWMPEvents2* This) {
  7508. This->lpVtbl->PlayerDockedStateChange(This);
  7509. }
  7510. static FORCEINLINE void IWMPEvents2_PlayerReconnect(IWMPEvents2* This) {
  7511. This->lpVtbl->PlayerReconnect(This);
  7512. }
  7513. static FORCEINLINE void IWMPEvents2_Click(IWMPEvents2* This,short button,short shift_state,LONG x,LONG y) {
  7514. This->lpVtbl->Click(This,button,shift_state,x,y);
  7515. }
  7516. static FORCEINLINE void IWMPEvents2_DoubleClick(IWMPEvents2* This,short button,short shift_state,LONG fX,LONG fY) {
  7517. This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY);
  7518. }
  7519. static FORCEINLINE void IWMPEvents2_KeyDown(IWMPEvents2* This,short keycode,short shift_state) {
  7520. This->lpVtbl->KeyDown(This,keycode,shift_state);
  7521. }
  7522. static FORCEINLINE void IWMPEvents2_KeyPress(IWMPEvents2* This,short ascii) {
  7523. This->lpVtbl->KeyPress(This,ascii);
  7524. }
  7525. static FORCEINLINE void IWMPEvents2_KeyUp(IWMPEvents2* This,short keycode,short shift_state) {
  7526. This->lpVtbl->KeyUp(This,keycode,shift_state);
  7527. }
  7528. static FORCEINLINE void IWMPEvents2_MouseDown(IWMPEvents2* This,short button,short nShiftState,LONG x,LONG y) {
  7529. This->lpVtbl->MouseDown(This,button,nShiftState,x,y);
  7530. }
  7531. static FORCEINLINE void IWMPEvents2_MouseMove(IWMPEvents2* This,short button,short shift_state,LONG x,LONG y) {
  7532. This->lpVtbl->MouseMove(This,button,shift_state,x,y);
  7533. }
  7534. static FORCEINLINE void IWMPEvents2_MouseUp(IWMPEvents2* This,short button,short shift_state,LONG x,LONG y) {
  7535. This->lpVtbl->MouseUp(This,button,shift_state,x,y);
  7536. }
  7537. /*** IWMPEvents2 methods ***/
  7538. static FORCEINLINE void IWMPEvents2_DeviceConnect(IWMPEvents2* This,IWMPSyncDevice *device) {
  7539. This->lpVtbl->DeviceConnect(This,device);
  7540. }
  7541. static FORCEINLINE void IWMPEvents2_DeviceDisconnect(IWMPEvents2* This,IWMPSyncDevice *device) {
  7542. This->lpVtbl->DeviceDisconnect(This,device);
  7543. }
  7544. static FORCEINLINE void IWMPEvents2_DeviceStatusChange(IWMPEvents2* This,IWMPSyncDevice *device,WMPDeviceStatus status) {
  7545. This->lpVtbl->DeviceStatusChange(This,device,status);
  7546. }
  7547. static FORCEINLINE void IWMPEvents2_DeviceSyncStateChange(IWMPEvents2* This,IWMPSyncDevice *device,WMPSyncState state) {
  7548. This->lpVtbl->DeviceSyncStateChange(This,device,state);
  7549. }
  7550. static FORCEINLINE void IWMPEvents2_DeviceSyncError(IWMPEvents2* This,IWMPSyncDevice *device,IDispatch *media) {
  7551. This->lpVtbl->DeviceSyncError(This,device,media);
  7552. }
  7553. static FORCEINLINE void IWMPEvents2_CreatePartnershipComplete(IWMPEvents2* This,IWMPSyncDevice *device,HRESULT result) {
  7554. This->lpVtbl->CreatePartnershipComplete(This,device,result);
  7555. }
  7556. #endif
  7557. #endif
  7558. #endif
  7559. #endif /* __IWMPEvents2_INTERFACE_DEFINED__ */
  7560. /*****************************************************************************
  7561. * IWMPEvents3 interface
  7562. */
  7563. #ifndef __IWMPEvents3_INTERFACE_DEFINED__
  7564. #define __IWMPEvents3_INTERFACE_DEFINED__
  7565. DEFINE_GUID(IID_IWMPEvents3, 0x1f504270, 0xa66b, 0x4223, 0x8e,0x96, 0x26,0xa0,0x6c,0x63,0xd6,0x9f);
  7566. #if defined(__cplusplus) && !defined(CINTERFACE)
  7567. MIDL_INTERFACE("1f504270-a66b-4223-8e96-26a06c63d69f")
  7568. IWMPEvents3 : public IWMPEvents2
  7569. {
  7570. virtual void STDMETHODCALLTYPE CdromRipStateChange(
  7571. IWMPCdromRip *rip,
  7572. WMPRipState state) = 0;
  7573. virtual void STDMETHODCALLTYPE CdromRipMediaError(
  7574. IWMPCdromRip *rip,
  7575. IDispatch *media) = 0;
  7576. virtual void STDMETHODCALLTYPE CdromBurnStateChange(
  7577. IWMPCdromBurn *burn,
  7578. WMPBurnState state) = 0;
  7579. virtual void STDMETHODCALLTYPE CdromBurnMediaError(
  7580. IWMPCdromBurn *burn,
  7581. IDispatch *media) = 0;
  7582. virtual void STDMETHODCALLTYPE CdromBurnError(
  7583. IWMPCdromBurn *burn,
  7584. HRESULT error) = 0;
  7585. virtual void STDMETHODCALLTYPE LibraryConnect(
  7586. IWMPLibrary *wmplibrary) = 0;
  7587. virtual void STDMETHODCALLTYPE LibraryDisconnect(
  7588. IWMPLibrary *wmplibrary) = 0;
  7589. virtual void STDMETHODCALLTYPE FolderScanStateChange(
  7590. WMPFolderScanState state) = 0;
  7591. virtual void STDMETHODCALLTYPE StringCollectionChange(
  7592. IDispatch *collection,
  7593. WMPStringCollectionChangeEventType change,
  7594. LONG index) = 0;
  7595. virtual void STDMETHODCALLTYPE MediaCollectionMediaAdded(
  7596. IDispatch *media) = 0;
  7597. virtual void STDMETHODCALLTYPE MediaCollectionMediaRemoved(
  7598. IDispatch *media) = 0;
  7599. };
  7600. #ifdef __CRT_UUID_DECL
  7601. __CRT_UUID_DECL(IWMPEvents3, 0x1f504270, 0xa66b, 0x4223, 0x8e,0x96, 0x26,0xa0,0x6c,0x63,0xd6,0x9f)
  7602. #endif
  7603. #else
  7604. typedef struct IWMPEvents3Vtbl {
  7605. BEGIN_INTERFACE
  7606. /*** IUnknown methods ***/
  7607. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7608. IWMPEvents3 *This,
  7609. REFIID riid,
  7610. void **ppvObject);
  7611. ULONG (STDMETHODCALLTYPE *AddRef)(
  7612. IWMPEvents3 *This);
  7613. ULONG (STDMETHODCALLTYPE *Release)(
  7614. IWMPEvents3 *This);
  7615. /*** IWMPEvents methods ***/
  7616. void (STDMETHODCALLTYPE *OpenStateChange)(
  7617. IWMPEvents3 *This,
  7618. LONG state);
  7619. void (STDMETHODCALLTYPE *PlayStateChange)(
  7620. IWMPEvents3 *This,
  7621. LONG state);
  7622. void (STDMETHODCALLTYPE *AudioLanguageChange)(
  7623. IWMPEvents3 *This,
  7624. LONG lang);
  7625. void (STDMETHODCALLTYPE *StatusChange)(
  7626. IWMPEvents3 *This);
  7627. void (STDMETHODCALLTYPE *ScriptCommand)(
  7628. IWMPEvents3 *This,
  7629. BSTR type,
  7630. BSTR param);
  7631. void (STDMETHODCALLTYPE *NewStream)(
  7632. IWMPEvents3 *This);
  7633. void (STDMETHODCALLTYPE *Disconnect)(
  7634. IWMPEvents3 *This,
  7635. LONG result);
  7636. void (STDMETHODCALLTYPE *Buffering)(
  7637. IWMPEvents3 *This,
  7638. VARIANT_BOOL start);
  7639. void (STDMETHODCALLTYPE *Error)(
  7640. IWMPEvents3 *This);
  7641. void (STDMETHODCALLTYPE *Warning)(
  7642. IWMPEvents3 *This,
  7643. LONG warning,
  7644. LONG param,
  7645. BSTR description);
  7646. void (STDMETHODCALLTYPE *EndOfStream)(
  7647. IWMPEvents3 *This,
  7648. LONG result);
  7649. void (STDMETHODCALLTYPE *PositionChange)(
  7650. IWMPEvents3 *This,
  7651. double old_position,
  7652. double new_position);
  7653. void (STDMETHODCALLTYPE *MarkerHit)(
  7654. IWMPEvents3 *This,
  7655. LONG marker);
  7656. void (STDMETHODCALLTYPE *DurationUnitChange)(
  7657. IWMPEvents3 *This,
  7658. LONG duration);
  7659. void (STDMETHODCALLTYPE *CdromMediaChange)(
  7660. IWMPEvents3 *This,
  7661. LONG num);
  7662. void (STDMETHODCALLTYPE *PlaylistChange)(
  7663. IWMPEvents3 *This,
  7664. IDispatch *playlist,
  7665. WMPPlaylistChangeEventType change);
  7666. void (STDMETHODCALLTYPE *CurrentPlaylistChange)(
  7667. IWMPEvents3 *This,
  7668. WMPPlaylistChangeEventType change);
  7669. void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)(
  7670. IWMPEvents3 *This,
  7671. BSTR item);
  7672. void (STDMETHODCALLTYPE *MediaChange)(
  7673. IWMPEvents3 *This,
  7674. IDispatch *item);
  7675. void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)(
  7676. IWMPEvents3 *This,
  7677. BSTR name);
  7678. void (STDMETHODCALLTYPE *CurrentItemChange)(
  7679. IWMPEvents3 *This,
  7680. IDispatch *media);
  7681. void (STDMETHODCALLTYPE *MediaCollectionChange)(
  7682. IWMPEvents3 *This);
  7683. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)(
  7684. IWMPEvents3 *This,
  7685. BSTR name,
  7686. BSTR val);
  7687. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)(
  7688. IWMPEvents3 *This,
  7689. BSTR name,
  7690. BSTR val);
  7691. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)(
  7692. IWMPEvents3 *This,
  7693. BSTR name,
  7694. BSTR old_val,
  7695. BSTR new_val);
  7696. void (STDMETHODCALLTYPE *PlaylistCollectionChange)(
  7697. IWMPEvents3 *This);
  7698. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)(
  7699. IWMPEvents3 *This,
  7700. BSTR name);
  7701. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)(
  7702. IWMPEvents3 *This,
  7703. BSTR name);
  7704. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)(
  7705. IWMPEvents3 *This,
  7706. BSTR name,
  7707. VARIANT_BOOL deleted);
  7708. void (STDMETHODCALLTYPE *ModeChange)(
  7709. IWMPEvents3 *This,
  7710. BSTR ModeName,
  7711. VARIANT_BOOL value);
  7712. void (STDMETHODCALLTYPE *MediaError)(
  7713. IWMPEvents3 *This,
  7714. IDispatch *media);
  7715. void (STDMETHODCALLTYPE *OpenPlaylistSwitch)(
  7716. IWMPEvents3 *This,
  7717. IDispatch *item);
  7718. void (STDMETHODCALLTYPE *DomainChange)(
  7719. IWMPEvents3 *This,
  7720. BSTR domain);
  7721. void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)(
  7722. IWMPEvents3 *This);
  7723. void (STDMETHODCALLTYPE *SwitchedToControl)(
  7724. IWMPEvents3 *This);
  7725. void (STDMETHODCALLTYPE *PlayerDockedStateChange)(
  7726. IWMPEvents3 *This);
  7727. void (STDMETHODCALLTYPE *PlayerReconnect)(
  7728. IWMPEvents3 *This);
  7729. void (STDMETHODCALLTYPE *Click)(
  7730. IWMPEvents3 *This,
  7731. short button,
  7732. short shift_state,
  7733. LONG x,
  7734. LONG y);
  7735. void (STDMETHODCALLTYPE *DoubleClick)(
  7736. IWMPEvents3 *This,
  7737. short button,
  7738. short shift_state,
  7739. LONG fX,
  7740. LONG fY);
  7741. void (STDMETHODCALLTYPE *KeyDown)(
  7742. IWMPEvents3 *This,
  7743. short keycode,
  7744. short shift_state);
  7745. void (STDMETHODCALLTYPE *KeyPress)(
  7746. IWMPEvents3 *This,
  7747. short ascii);
  7748. void (STDMETHODCALLTYPE *KeyUp)(
  7749. IWMPEvents3 *This,
  7750. short keycode,
  7751. short shift_state);
  7752. void (STDMETHODCALLTYPE *MouseDown)(
  7753. IWMPEvents3 *This,
  7754. short button,
  7755. short nShiftState,
  7756. LONG x,
  7757. LONG y);
  7758. void (STDMETHODCALLTYPE *MouseMove)(
  7759. IWMPEvents3 *This,
  7760. short button,
  7761. short shift_state,
  7762. LONG x,
  7763. LONG y);
  7764. void (STDMETHODCALLTYPE *MouseUp)(
  7765. IWMPEvents3 *This,
  7766. short button,
  7767. short shift_state,
  7768. LONG x,
  7769. LONG y);
  7770. /*** IWMPEvents2 methods ***/
  7771. void (STDMETHODCALLTYPE *DeviceConnect)(
  7772. IWMPEvents3 *This,
  7773. IWMPSyncDevice *device);
  7774. void (STDMETHODCALLTYPE *DeviceDisconnect)(
  7775. IWMPEvents3 *This,
  7776. IWMPSyncDevice *device);
  7777. void (STDMETHODCALLTYPE *DeviceStatusChange)(
  7778. IWMPEvents3 *This,
  7779. IWMPSyncDevice *device,
  7780. WMPDeviceStatus status);
  7781. void (STDMETHODCALLTYPE *DeviceSyncStateChange)(
  7782. IWMPEvents3 *This,
  7783. IWMPSyncDevice *device,
  7784. WMPSyncState state);
  7785. void (STDMETHODCALLTYPE *DeviceSyncError)(
  7786. IWMPEvents3 *This,
  7787. IWMPSyncDevice *device,
  7788. IDispatch *media);
  7789. void (STDMETHODCALLTYPE *CreatePartnershipComplete)(
  7790. IWMPEvents3 *This,
  7791. IWMPSyncDevice *device,
  7792. HRESULT result);
  7793. /*** IWMPEvents3 methods ***/
  7794. void (STDMETHODCALLTYPE *CdromRipStateChange)(
  7795. IWMPEvents3 *This,
  7796. IWMPCdromRip *rip,
  7797. WMPRipState state);
  7798. void (STDMETHODCALLTYPE *CdromRipMediaError)(
  7799. IWMPEvents3 *This,
  7800. IWMPCdromRip *rip,
  7801. IDispatch *media);
  7802. void (STDMETHODCALLTYPE *CdromBurnStateChange)(
  7803. IWMPEvents3 *This,
  7804. IWMPCdromBurn *burn,
  7805. WMPBurnState state);
  7806. void (STDMETHODCALLTYPE *CdromBurnMediaError)(
  7807. IWMPEvents3 *This,
  7808. IWMPCdromBurn *burn,
  7809. IDispatch *media);
  7810. void (STDMETHODCALLTYPE *CdromBurnError)(
  7811. IWMPEvents3 *This,
  7812. IWMPCdromBurn *burn,
  7813. HRESULT error);
  7814. void (STDMETHODCALLTYPE *LibraryConnect)(
  7815. IWMPEvents3 *This,
  7816. IWMPLibrary *wmplibrary);
  7817. void (STDMETHODCALLTYPE *LibraryDisconnect)(
  7818. IWMPEvents3 *This,
  7819. IWMPLibrary *wmplibrary);
  7820. void (STDMETHODCALLTYPE *FolderScanStateChange)(
  7821. IWMPEvents3 *This,
  7822. WMPFolderScanState state);
  7823. void (STDMETHODCALLTYPE *StringCollectionChange)(
  7824. IWMPEvents3 *This,
  7825. IDispatch *collection,
  7826. WMPStringCollectionChangeEventType change,
  7827. LONG index);
  7828. void (STDMETHODCALLTYPE *MediaCollectionMediaAdded)(
  7829. IWMPEvents3 *This,
  7830. IDispatch *media);
  7831. void (STDMETHODCALLTYPE *MediaCollectionMediaRemoved)(
  7832. IWMPEvents3 *This,
  7833. IDispatch *media);
  7834. END_INTERFACE
  7835. } IWMPEvents3Vtbl;
  7836. interface IWMPEvents3 {
  7837. CONST_VTBL IWMPEvents3Vtbl* lpVtbl;
  7838. };
  7839. #ifdef COBJMACROS
  7840. #ifndef WIDL_C_INLINE_WRAPPERS
  7841. /*** IUnknown methods ***/
  7842. #define IWMPEvents3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7843. #define IWMPEvents3_AddRef(This) (This)->lpVtbl->AddRef(This)
  7844. #define IWMPEvents3_Release(This) (This)->lpVtbl->Release(This)
  7845. /*** IWMPEvents methods ***/
  7846. #define IWMPEvents3_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state)
  7847. #define IWMPEvents3_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state)
  7848. #define IWMPEvents3_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang)
  7849. #define IWMPEvents3_StatusChange(This) (This)->lpVtbl->StatusChange(This)
  7850. #define IWMPEvents3_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param)
  7851. #define IWMPEvents3_NewStream(This) (This)->lpVtbl->NewStream(This)
  7852. #define IWMPEvents3_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result)
  7853. #define IWMPEvents3_Buffering(This,start) (This)->lpVtbl->Buffering(This,start)
  7854. #define IWMPEvents3_Error(This) (This)->lpVtbl->Error(This)
  7855. #define IWMPEvents3_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description)
  7856. #define IWMPEvents3_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result)
  7857. #define IWMPEvents3_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position)
  7858. #define IWMPEvents3_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker)
  7859. #define IWMPEvents3_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration)
  7860. #define IWMPEvents3_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num)
  7861. #define IWMPEvents3_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change)
  7862. #define IWMPEvents3_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change)
  7863. #define IWMPEvents3_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item)
  7864. #define IWMPEvents3_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item)
  7865. #define IWMPEvents3_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name)
  7866. #define IWMPEvents3_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media)
  7867. #define IWMPEvents3_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This)
  7868. #define IWMPEvents3_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val)
  7869. #define IWMPEvents3_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val)
  7870. #define IWMPEvents3_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val)
  7871. #define IWMPEvents3_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This)
  7872. #define IWMPEvents3_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name)
  7873. #define IWMPEvents3_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name)
  7874. #define IWMPEvents3_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted)
  7875. #define IWMPEvents3_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value)
  7876. #define IWMPEvents3_MediaError(This,media) (This)->lpVtbl->MediaError(This,media)
  7877. #define IWMPEvents3_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item)
  7878. #define IWMPEvents3_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain)
  7879. #define IWMPEvents3_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This)
  7880. #define IWMPEvents3_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This)
  7881. #define IWMPEvents3_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This)
  7882. #define IWMPEvents3_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This)
  7883. #define IWMPEvents3_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y)
  7884. #define IWMPEvents3_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY)
  7885. #define IWMPEvents3_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state)
  7886. #define IWMPEvents3_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii)
  7887. #define IWMPEvents3_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state)
  7888. #define IWMPEvents3_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y)
  7889. #define IWMPEvents3_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y)
  7890. #define IWMPEvents3_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y)
  7891. /*** IWMPEvents2 methods ***/
  7892. #define IWMPEvents3_DeviceConnect(This,device) (This)->lpVtbl->DeviceConnect(This,device)
  7893. #define IWMPEvents3_DeviceDisconnect(This,device) (This)->lpVtbl->DeviceDisconnect(This,device)
  7894. #define IWMPEvents3_DeviceStatusChange(This,device,status) (This)->lpVtbl->DeviceStatusChange(This,device,status)
  7895. #define IWMPEvents3_DeviceSyncStateChange(This,device,state) (This)->lpVtbl->DeviceSyncStateChange(This,device,state)
  7896. #define IWMPEvents3_DeviceSyncError(This,device,media) (This)->lpVtbl->DeviceSyncError(This,device,media)
  7897. #define IWMPEvents3_CreatePartnershipComplete(This,device,result) (This)->lpVtbl->CreatePartnershipComplete(This,device,result)
  7898. /*** IWMPEvents3 methods ***/
  7899. #define IWMPEvents3_CdromRipStateChange(This,rip,state) (This)->lpVtbl->CdromRipStateChange(This,rip,state)
  7900. #define IWMPEvents3_CdromRipMediaError(This,rip,media) (This)->lpVtbl->CdromRipMediaError(This,rip,media)
  7901. #define IWMPEvents3_CdromBurnStateChange(This,burn,state) (This)->lpVtbl->CdromBurnStateChange(This,burn,state)
  7902. #define IWMPEvents3_CdromBurnMediaError(This,burn,media) (This)->lpVtbl->CdromBurnMediaError(This,burn,media)
  7903. #define IWMPEvents3_CdromBurnError(This,burn,error) (This)->lpVtbl->CdromBurnError(This,burn,error)
  7904. #define IWMPEvents3_LibraryConnect(This,wmplibrary) (This)->lpVtbl->LibraryConnect(This,wmplibrary)
  7905. #define IWMPEvents3_LibraryDisconnect(This,wmplibrary) (This)->lpVtbl->LibraryDisconnect(This,wmplibrary)
  7906. #define IWMPEvents3_FolderScanStateChange(This,state) (This)->lpVtbl->FolderScanStateChange(This,state)
  7907. #define IWMPEvents3_StringCollectionChange(This,collection,change,index) (This)->lpVtbl->StringCollectionChange(This,collection,change,index)
  7908. #define IWMPEvents3_MediaCollectionMediaAdded(This,media) (This)->lpVtbl->MediaCollectionMediaAdded(This,media)
  7909. #define IWMPEvents3_MediaCollectionMediaRemoved(This,media) (This)->lpVtbl->MediaCollectionMediaRemoved(This,media)
  7910. #else
  7911. /*** IUnknown methods ***/
  7912. static FORCEINLINE HRESULT IWMPEvents3_QueryInterface(IWMPEvents3* This,REFIID riid,void **ppvObject) {
  7913. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7914. }
  7915. static FORCEINLINE ULONG IWMPEvents3_AddRef(IWMPEvents3* This) {
  7916. return This->lpVtbl->AddRef(This);
  7917. }
  7918. static FORCEINLINE ULONG IWMPEvents3_Release(IWMPEvents3* This) {
  7919. return This->lpVtbl->Release(This);
  7920. }
  7921. /*** IWMPEvents methods ***/
  7922. static FORCEINLINE void IWMPEvents3_OpenStateChange(IWMPEvents3* This,LONG state) {
  7923. This->lpVtbl->OpenStateChange(This,state);
  7924. }
  7925. static FORCEINLINE void IWMPEvents3_PlayStateChange(IWMPEvents3* This,LONG state) {
  7926. This->lpVtbl->PlayStateChange(This,state);
  7927. }
  7928. static FORCEINLINE void IWMPEvents3_AudioLanguageChange(IWMPEvents3* This,LONG lang) {
  7929. This->lpVtbl->AudioLanguageChange(This,lang);
  7930. }
  7931. static FORCEINLINE void IWMPEvents3_StatusChange(IWMPEvents3* This) {
  7932. This->lpVtbl->StatusChange(This);
  7933. }
  7934. static FORCEINLINE void IWMPEvents3_ScriptCommand(IWMPEvents3* This,BSTR type,BSTR param) {
  7935. This->lpVtbl->ScriptCommand(This,type,param);
  7936. }
  7937. static FORCEINLINE void IWMPEvents3_NewStream(IWMPEvents3* This) {
  7938. This->lpVtbl->NewStream(This);
  7939. }
  7940. static FORCEINLINE void IWMPEvents3_Disconnect(IWMPEvents3* This,LONG result) {
  7941. This->lpVtbl->Disconnect(This,result);
  7942. }
  7943. static FORCEINLINE void IWMPEvents3_Buffering(IWMPEvents3* This,VARIANT_BOOL start) {
  7944. This->lpVtbl->Buffering(This,start);
  7945. }
  7946. static FORCEINLINE void IWMPEvents3_Error(IWMPEvents3* This) {
  7947. This->lpVtbl->Error(This);
  7948. }
  7949. static FORCEINLINE void IWMPEvents3_Warning(IWMPEvents3* This,LONG warning,LONG param,BSTR description) {
  7950. This->lpVtbl->Warning(This,warning,param,description);
  7951. }
  7952. static FORCEINLINE void IWMPEvents3_EndOfStream(IWMPEvents3* This,LONG result) {
  7953. This->lpVtbl->EndOfStream(This,result);
  7954. }
  7955. static FORCEINLINE void IWMPEvents3_PositionChange(IWMPEvents3* This,double old_position,double new_position) {
  7956. This->lpVtbl->PositionChange(This,old_position,new_position);
  7957. }
  7958. static FORCEINLINE void IWMPEvents3_MarkerHit(IWMPEvents3* This,LONG marker) {
  7959. This->lpVtbl->MarkerHit(This,marker);
  7960. }
  7961. static FORCEINLINE void IWMPEvents3_DurationUnitChange(IWMPEvents3* This,LONG duration) {
  7962. This->lpVtbl->DurationUnitChange(This,duration);
  7963. }
  7964. static FORCEINLINE void IWMPEvents3_CdromMediaChange(IWMPEvents3* This,LONG num) {
  7965. This->lpVtbl->CdromMediaChange(This,num);
  7966. }
  7967. static FORCEINLINE void IWMPEvents3_PlaylistChange(IWMPEvents3* This,IDispatch *playlist,WMPPlaylistChangeEventType change) {
  7968. This->lpVtbl->PlaylistChange(This,playlist,change);
  7969. }
  7970. static FORCEINLINE void IWMPEvents3_CurrentPlaylistChange(IWMPEvents3* This,WMPPlaylistChangeEventType change) {
  7971. This->lpVtbl->CurrentPlaylistChange(This,change);
  7972. }
  7973. static FORCEINLINE void IWMPEvents3_CurrentPlaylistItemAvailable(IWMPEvents3* This,BSTR item) {
  7974. This->lpVtbl->CurrentPlaylistItemAvailable(This,item);
  7975. }
  7976. static FORCEINLINE void IWMPEvents3_MediaChange(IWMPEvents3* This,IDispatch *item) {
  7977. This->lpVtbl->MediaChange(This,item);
  7978. }
  7979. static FORCEINLINE void IWMPEvents3_CurrentMediaItemAvailable(IWMPEvents3* This,BSTR name) {
  7980. This->lpVtbl->CurrentMediaItemAvailable(This,name);
  7981. }
  7982. static FORCEINLINE void IWMPEvents3_CurrentItemChange(IWMPEvents3* This,IDispatch *media) {
  7983. This->lpVtbl->CurrentItemChange(This,media);
  7984. }
  7985. static FORCEINLINE void IWMPEvents3_MediaCollectionChange(IWMPEvents3* This) {
  7986. This->lpVtbl->MediaCollectionChange(This);
  7987. }
  7988. static FORCEINLINE void IWMPEvents3_MediaCollectionAttributeStringAdded(IWMPEvents3* This,BSTR name,BSTR val) {
  7989. This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val);
  7990. }
  7991. static FORCEINLINE void IWMPEvents3_MediaCollectionAttributeStringRemoved(IWMPEvents3* This,BSTR name,BSTR val) {
  7992. This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val);
  7993. }
  7994. static FORCEINLINE void IWMPEvents3_MediaCollectionAttributeStringChanged(IWMPEvents3* This,BSTR name,BSTR old_val,BSTR new_val) {
  7995. This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val);
  7996. }
  7997. static FORCEINLINE void IWMPEvents3_PlaylistCollectionChange(IWMPEvents3* This) {
  7998. This->lpVtbl->PlaylistCollectionChange(This);
  7999. }
  8000. static FORCEINLINE void IWMPEvents3_PlaylistCollectionPlaylistAdded(IWMPEvents3* This,BSTR name) {
  8001. This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name);
  8002. }
  8003. static FORCEINLINE void IWMPEvents3_PlaylistCollectionPlaylistRemoved(IWMPEvents3* This,BSTR name) {
  8004. This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name);
  8005. }
  8006. static FORCEINLINE void IWMPEvents3_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents3* This,BSTR name,VARIANT_BOOL deleted) {
  8007. This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted);
  8008. }
  8009. static FORCEINLINE void IWMPEvents3_ModeChange(IWMPEvents3* This,BSTR ModeName,VARIANT_BOOL value) {
  8010. This->lpVtbl->ModeChange(This,ModeName,value);
  8011. }
  8012. static FORCEINLINE void IWMPEvents3_MediaError(IWMPEvents3* This,IDispatch *media) {
  8013. This->lpVtbl->MediaError(This,media);
  8014. }
  8015. static FORCEINLINE void IWMPEvents3_OpenPlaylistSwitch(IWMPEvents3* This,IDispatch *item) {
  8016. This->lpVtbl->OpenPlaylistSwitch(This,item);
  8017. }
  8018. static FORCEINLINE void IWMPEvents3_DomainChange(IWMPEvents3* This,BSTR domain) {
  8019. This->lpVtbl->DomainChange(This,domain);
  8020. }
  8021. static FORCEINLINE void IWMPEvents3_SwitchedToPlayerApplication(IWMPEvents3* This) {
  8022. This->lpVtbl->SwitchedToPlayerApplication(This);
  8023. }
  8024. static FORCEINLINE void IWMPEvents3_SwitchedToControl(IWMPEvents3* This) {
  8025. This->lpVtbl->SwitchedToControl(This);
  8026. }
  8027. static FORCEINLINE void IWMPEvents3_PlayerDockedStateChange(IWMPEvents3* This) {
  8028. This->lpVtbl->PlayerDockedStateChange(This);
  8029. }
  8030. static FORCEINLINE void IWMPEvents3_PlayerReconnect(IWMPEvents3* This) {
  8031. This->lpVtbl->PlayerReconnect(This);
  8032. }
  8033. static FORCEINLINE void IWMPEvents3_Click(IWMPEvents3* This,short button,short shift_state,LONG x,LONG y) {
  8034. This->lpVtbl->Click(This,button,shift_state,x,y);
  8035. }
  8036. static FORCEINLINE void IWMPEvents3_DoubleClick(IWMPEvents3* This,short button,short shift_state,LONG fX,LONG fY) {
  8037. This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY);
  8038. }
  8039. static FORCEINLINE void IWMPEvents3_KeyDown(IWMPEvents3* This,short keycode,short shift_state) {
  8040. This->lpVtbl->KeyDown(This,keycode,shift_state);
  8041. }
  8042. static FORCEINLINE void IWMPEvents3_KeyPress(IWMPEvents3* This,short ascii) {
  8043. This->lpVtbl->KeyPress(This,ascii);
  8044. }
  8045. static FORCEINLINE void IWMPEvents3_KeyUp(IWMPEvents3* This,short keycode,short shift_state) {
  8046. This->lpVtbl->KeyUp(This,keycode,shift_state);
  8047. }
  8048. static FORCEINLINE void IWMPEvents3_MouseDown(IWMPEvents3* This,short button,short nShiftState,LONG x,LONG y) {
  8049. This->lpVtbl->MouseDown(This,button,nShiftState,x,y);
  8050. }
  8051. static FORCEINLINE void IWMPEvents3_MouseMove(IWMPEvents3* This,short button,short shift_state,LONG x,LONG y) {
  8052. This->lpVtbl->MouseMove(This,button,shift_state,x,y);
  8053. }
  8054. static FORCEINLINE void IWMPEvents3_MouseUp(IWMPEvents3* This,short button,short shift_state,LONG x,LONG y) {
  8055. This->lpVtbl->MouseUp(This,button,shift_state,x,y);
  8056. }
  8057. /*** IWMPEvents2 methods ***/
  8058. static FORCEINLINE void IWMPEvents3_DeviceConnect(IWMPEvents3* This,IWMPSyncDevice *device) {
  8059. This->lpVtbl->DeviceConnect(This,device);
  8060. }
  8061. static FORCEINLINE void IWMPEvents3_DeviceDisconnect(IWMPEvents3* This,IWMPSyncDevice *device) {
  8062. This->lpVtbl->DeviceDisconnect(This,device);
  8063. }
  8064. static FORCEINLINE void IWMPEvents3_DeviceStatusChange(IWMPEvents3* This,IWMPSyncDevice *device,WMPDeviceStatus status) {
  8065. This->lpVtbl->DeviceStatusChange(This,device,status);
  8066. }
  8067. static FORCEINLINE void IWMPEvents3_DeviceSyncStateChange(IWMPEvents3* This,IWMPSyncDevice *device,WMPSyncState state) {
  8068. This->lpVtbl->DeviceSyncStateChange(This,device,state);
  8069. }
  8070. static FORCEINLINE void IWMPEvents3_DeviceSyncError(IWMPEvents3* This,IWMPSyncDevice *device,IDispatch *media) {
  8071. This->lpVtbl->DeviceSyncError(This,device,media);
  8072. }
  8073. static FORCEINLINE void IWMPEvents3_CreatePartnershipComplete(IWMPEvents3* This,IWMPSyncDevice *device,HRESULT result) {
  8074. This->lpVtbl->CreatePartnershipComplete(This,device,result);
  8075. }
  8076. /*** IWMPEvents3 methods ***/
  8077. static FORCEINLINE void IWMPEvents3_CdromRipStateChange(IWMPEvents3* This,IWMPCdromRip *rip,WMPRipState state) {
  8078. This->lpVtbl->CdromRipStateChange(This,rip,state);
  8079. }
  8080. static FORCEINLINE void IWMPEvents3_CdromRipMediaError(IWMPEvents3* This,IWMPCdromRip *rip,IDispatch *media) {
  8081. This->lpVtbl->CdromRipMediaError(This,rip,media);
  8082. }
  8083. static FORCEINLINE void IWMPEvents3_CdromBurnStateChange(IWMPEvents3* This,IWMPCdromBurn *burn,WMPBurnState state) {
  8084. This->lpVtbl->CdromBurnStateChange(This,burn,state);
  8085. }
  8086. static FORCEINLINE void IWMPEvents3_CdromBurnMediaError(IWMPEvents3* This,IWMPCdromBurn *burn,IDispatch *media) {
  8087. This->lpVtbl->CdromBurnMediaError(This,burn,media);
  8088. }
  8089. static FORCEINLINE void IWMPEvents3_CdromBurnError(IWMPEvents3* This,IWMPCdromBurn *burn,HRESULT error) {
  8090. This->lpVtbl->CdromBurnError(This,burn,error);
  8091. }
  8092. static FORCEINLINE void IWMPEvents3_LibraryConnect(IWMPEvents3* This,IWMPLibrary *wmplibrary) {
  8093. This->lpVtbl->LibraryConnect(This,wmplibrary);
  8094. }
  8095. static FORCEINLINE void IWMPEvents3_LibraryDisconnect(IWMPEvents3* This,IWMPLibrary *wmplibrary) {
  8096. This->lpVtbl->LibraryDisconnect(This,wmplibrary);
  8097. }
  8098. static FORCEINLINE void IWMPEvents3_FolderScanStateChange(IWMPEvents3* This,WMPFolderScanState state) {
  8099. This->lpVtbl->FolderScanStateChange(This,state);
  8100. }
  8101. static FORCEINLINE void IWMPEvents3_StringCollectionChange(IWMPEvents3* This,IDispatch *collection,WMPStringCollectionChangeEventType change,LONG index) {
  8102. This->lpVtbl->StringCollectionChange(This,collection,change,index);
  8103. }
  8104. static FORCEINLINE void IWMPEvents3_MediaCollectionMediaAdded(IWMPEvents3* This,IDispatch *media) {
  8105. This->lpVtbl->MediaCollectionMediaAdded(This,media);
  8106. }
  8107. static FORCEINLINE void IWMPEvents3_MediaCollectionMediaRemoved(IWMPEvents3* This,IDispatch *media) {
  8108. This->lpVtbl->MediaCollectionMediaRemoved(This,media);
  8109. }
  8110. #endif
  8111. #endif
  8112. #endif
  8113. #endif /* __IWMPEvents3_INTERFACE_DEFINED__ */
  8114. /*****************************************************************************
  8115. * IWMPEvents4 interface
  8116. */
  8117. #ifndef __IWMPEvents4_INTERFACE_DEFINED__
  8118. #define __IWMPEvents4_INTERFACE_DEFINED__
  8119. DEFINE_GUID(IID_IWMPEvents4, 0x26dabcfa, 0x306b, 0x404d, 0x9a,0x6f, 0x63,0x0a,0x84,0x05,0x04,0x8d);
  8120. #if defined(__cplusplus) && !defined(CINTERFACE)
  8121. MIDL_INTERFACE("26dabcfa-306b-404d-9a6f-630a8405048d")
  8122. IWMPEvents4 : public IWMPEvents3
  8123. {
  8124. virtual void STDMETHODCALLTYPE DeviceEstimation(
  8125. IWMPSyncDevice *device,
  8126. HRESULT result,
  8127. LONGLONG used_space,
  8128. LONGLONG estimated_space) = 0;
  8129. };
  8130. #ifdef __CRT_UUID_DECL
  8131. __CRT_UUID_DECL(IWMPEvents4, 0x26dabcfa, 0x306b, 0x404d, 0x9a,0x6f, 0x63,0x0a,0x84,0x05,0x04,0x8d)
  8132. #endif
  8133. #else
  8134. typedef struct IWMPEvents4Vtbl {
  8135. BEGIN_INTERFACE
  8136. /*** IUnknown methods ***/
  8137. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  8138. IWMPEvents4 *This,
  8139. REFIID riid,
  8140. void **ppvObject);
  8141. ULONG (STDMETHODCALLTYPE *AddRef)(
  8142. IWMPEvents4 *This);
  8143. ULONG (STDMETHODCALLTYPE *Release)(
  8144. IWMPEvents4 *This);
  8145. /*** IWMPEvents methods ***/
  8146. void (STDMETHODCALLTYPE *OpenStateChange)(
  8147. IWMPEvents4 *This,
  8148. LONG state);
  8149. void (STDMETHODCALLTYPE *PlayStateChange)(
  8150. IWMPEvents4 *This,
  8151. LONG state);
  8152. void (STDMETHODCALLTYPE *AudioLanguageChange)(
  8153. IWMPEvents4 *This,
  8154. LONG lang);
  8155. void (STDMETHODCALLTYPE *StatusChange)(
  8156. IWMPEvents4 *This);
  8157. void (STDMETHODCALLTYPE *ScriptCommand)(
  8158. IWMPEvents4 *This,
  8159. BSTR type,
  8160. BSTR param);
  8161. void (STDMETHODCALLTYPE *NewStream)(
  8162. IWMPEvents4 *This);
  8163. void (STDMETHODCALLTYPE *Disconnect)(
  8164. IWMPEvents4 *This,
  8165. LONG result);
  8166. void (STDMETHODCALLTYPE *Buffering)(
  8167. IWMPEvents4 *This,
  8168. VARIANT_BOOL start);
  8169. void (STDMETHODCALLTYPE *Error)(
  8170. IWMPEvents4 *This);
  8171. void (STDMETHODCALLTYPE *Warning)(
  8172. IWMPEvents4 *This,
  8173. LONG warning,
  8174. LONG param,
  8175. BSTR description);
  8176. void (STDMETHODCALLTYPE *EndOfStream)(
  8177. IWMPEvents4 *This,
  8178. LONG result);
  8179. void (STDMETHODCALLTYPE *PositionChange)(
  8180. IWMPEvents4 *This,
  8181. double old_position,
  8182. double new_position);
  8183. void (STDMETHODCALLTYPE *MarkerHit)(
  8184. IWMPEvents4 *This,
  8185. LONG marker);
  8186. void (STDMETHODCALLTYPE *DurationUnitChange)(
  8187. IWMPEvents4 *This,
  8188. LONG duration);
  8189. void (STDMETHODCALLTYPE *CdromMediaChange)(
  8190. IWMPEvents4 *This,
  8191. LONG num);
  8192. void (STDMETHODCALLTYPE *PlaylistChange)(
  8193. IWMPEvents4 *This,
  8194. IDispatch *playlist,
  8195. WMPPlaylistChangeEventType change);
  8196. void (STDMETHODCALLTYPE *CurrentPlaylistChange)(
  8197. IWMPEvents4 *This,
  8198. WMPPlaylistChangeEventType change);
  8199. void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)(
  8200. IWMPEvents4 *This,
  8201. BSTR item);
  8202. void (STDMETHODCALLTYPE *MediaChange)(
  8203. IWMPEvents4 *This,
  8204. IDispatch *item);
  8205. void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)(
  8206. IWMPEvents4 *This,
  8207. BSTR name);
  8208. void (STDMETHODCALLTYPE *CurrentItemChange)(
  8209. IWMPEvents4 *This,
  8210. IDispatch *media);
  8211. void (STDMETHODCALLTYPE *MediaCollectionChange)(
  8212. IWMPEvents4 *This);
  8213. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)(
  8214. IWMPEvents4 *This,
  8215. BSTR name,
  8216. BSTR val);
  8217. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)(
  8218. IWMPEvents4 *This,
  8219. BSTR name,
  8220. BSTR val);
  8221. void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)(
  8222. IWMPEvents4 *This,
  8223. BSTR name,
  8224. BSTR old_val,
  8225. BSTR new_val);
  8226. void (STDMETHODCALLTYPE *PlaylistCollectionChange)(
  8227. IWMPEvents4 *This);
  8228. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)(
  8229. IWMPEvents4 *This,
  8230. BSTR name);
  8231. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)(
  8232. IWMPEvents4 *This,
  8233. BSTR name);
  8234. void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)(
  8235. IWMPEvents4 *This,
  8236. BSTR name,
  8237. VARIANT_BOOL deleted);
  8238. void (STDMETHODCALLTYPE *ModeChange)(
  8239. IWMPEvents4 *This,
  8240. BSTR ModeName,
  8241. VARIANT_BOOL value);
  8242. void (STDMETHODCALLTYPE *MediaError)(
  8243. IWMPEvents4 *This,
  8244. IDispatch *media);
  8245. void (STDMETHODCALLTYPE *OpenPlaylistSwitch)(
  8246. IWMPEvents4 *This,
  8247. IDispatch *item);
  8248. void (STDMETHODCALLTYPE *DomainChange)(
  8249. IWMPEvents4 *This,
  8250. BSTR domain);
  8251. void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)(
  8252. IWMPEvents4 *This);
  8253. void (STDMETHODCALLTYPE *SwitchedToControl)(
  8254. IWMPEvents4 *This);
  8255. void (STDMETHODCALLTYPE *PlayerDockedStateChange)(
  8256. IWMPEvents4 *This);
  8257. void (STDMETHODCALLTYPE *PlayerReconnect)(
  8258. IWMPEvents4 *This);
  8259. void (STDMETHODCALLTYPE *Click)(
  8260. IWMPEvents4 *This,
  8261. short button,
  8262. short shift_state,
  8263. LONG x,
  8264. LONG y);
  8265. void (STDMETHODCALLTYPE *DoubleClick)(
  8266. IWMPEvents4 *This,
  8267. short button,
  8268. short shift_state,
  8269. LONG fX,
  8270. LONG fY);
  8271. void (STDMETHODCALLTYPE *KeyDown)(
  8272. IWMPEvents4 *This,
  8273. short keycode,
  8274. short shift_state);
  8275. void (STDMETHODCALLTYPE *KeyPress)(
  8276. IWMPEvents4 *This,
  8277. short ascii);
  8278. void (STDMETHODCALLTYPE *KeyUp)(
  8279. IWMPEvents4 *This,
  8280. short keycode,
  8281. short shift_state);
  8282. void (STDMETHODCALLTYPE *MouseDown)(
  8283. IWMPEvents4 *This,
  8284. short button,
  8285. short nShiftState,
  8286. LONG x,
  8287. LONG y);
  8288. void (STDMETHODCALLTYPE *MouseMove)(
  8289. IWMPEvents4 *This,
  8290. short button,
  8291. short shift_state,
  8292. LONG x,
  8293. LONG y);
  8294. void (STDMETHODCALLTYPE *MouseUp)(
  8295. IWMPEvents4 *This,
  8296. short button,
  8297. short shift_state,
  8298. LONG x,
  8299. LONG y);
  8300. /*** IWMPEvents2 methods ***/
  8301. void (STDMETHODCALLTYPE *DeviceConnect)(
  8302. IWMPEvents4 *This,
  8303. IWMPSyncDevice *device);
  8304. void (STDMETHODCALLTYPE *DeviceDisconnect)(
  8305. IWMPEvents4 *This,
  8306. IWMPSyncDevice *device);
  8307. void (STDMETHODCALLTYPE *DeviceStatusChange)(
  8308. IWMPEvents4 *This,
  8309. IWMPSyncDevice *device,
  8310. WMPDeviceStatus status);
  8311. void (STDMETHODCALLTYPE *DeviceSyncStateChange)(
  8312. IWMPEvents4 *This,
  8313. IWMPSyncDevice *device,
  8314. WMPSyncState state);
  8315. void (STDMETHODCALLTYPE *DeviceSyncError)(
  8316. IWMPEvents4 *This,
  8317. IWMPSyncDevice *device,
  8318. IDispatch *media);
  8319. void (STDMETHODCALLTYPE *CreatePartnershipComplete)(
  8320. IWMPEvents4 *This,
  8321. IWMPSyncDevice *device,
  8322. HRESULT result);
  8323. /*** IWMPEvents3 methods ***/
  8324. void (STDMETHODCALLTYPE *CdromRipStateChange)(
  8325. IWMPEvents4 *This,
  8326. IWMPCdromRip *rip,
  8327. WMPRipState state);
  8328. void (STDMETHODCALLTYPE *CdromRipMediaError)(
  8329. IWMPEvents4 *This,
  8330. IWMPCdromRip *rip,
  8331. IDispatch *media);
  8332. void (STDMETHODCALLTYPE *CdromBurnStateChange)(
  8333. IWMPEvents4 *This,
  8334. IWMPCdromBurn *burn,
  8335. WMPBurnState state);
  8336. void (STDMETHODCALLTYPE *CdromBurnMediaError)(
  8337. IWMPEvents4 *This,
  8338. IWMPCdromBurn *burn,
  8339. IDispatch *media);
  8340. void (STDMETHODCALLTYPE *CdromBurnError)(
  8341. IWMPEvents4 *This,
  8342. IWMPCdromBurn *burn,
  8343. HRESULT error);
  8344. void (STDMETHODCALLTYPE *LibraryConnect)(
  8345. IWMPEvents4 *This,
  8346. IWMPLibrary *wmplibrary);
  8347. void (STDMETHODCALLTYPE *LibraryDisconnect)(
  8348. IWMPEvents4 *This,
  8349. IWMPLibrary *wmplibrary);
  8350. void (STDMETHODCALLTYPE *FolderScanStateChange)(
  8351. IWMPEvents4 *This,
  8352. WMPFolderScanState state);
  8353. void (STDMETHODCALLTYPE *StringCollectionChange)(
  8354. IWMPEvents4 *This,
  8355. IDispatch *collection,
  8356. WMPStringCollectionChangeEventType change,
  8357. LONG index);
  8358. void (STDMETHODCALLTYPE *MediaCollectionMediaAdded)(
  8359. IWMPEvents4 *This,
  8360. IDispatch *media);
  8361. void (STDMETHODCALLTYPE *MediaCollectionMediaRemoved)(
  8362. IWMPEvents4 *This,
  8363. IDispatch *media);
  8364. /*** IWMPEvents4 methods ***/
  8365. void (STDMETHODCALLTYPE *DeviceEstimation)(
  8366. IWMPEvents4 *This,
  8367. IWMPSyncDevice *device,
  8368. HRESULT result,
  8369. LONGLONG used_space,
  8370. LONGLONG estimated_space);
  8371. END_INTERFACE
  8372. } IWMPEvents4Vtbl;
  8373. interface IWMPEvents4 {
  8374. CONST_VTBL IWMPEvents4Vtbl* lpVtbl;
  8375. };
  8376. #ifdef COBJMACROS
  8377. #ifndef WIDL_C_INLINE_WRAPPERS
  8378. /*** IUnknown methods ***/
  8379. #define IWMPEvents4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  8380. #define IWMPEvents4_AddRef(This) (This)->lpVtbl->AddRef(This)
  8381. #define IWMPEvents4_Release(This) (This)->lpVtbl->Release(This)
  8382. /*** IWMPEvents methods ***/
  8383. #define IWMPEvents4_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state)
  8384. #define IWMPEvents4_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state)
  8385. #define IWMPEvents4_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang)
  8386. #define IWMPEvents4_StatusChange(This) (This)->lpVtbl->StatusChange(This)
  8387. #define IWMPEvents4_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param)
  8388. #define IWMPEvents4_NewStream(This) (This)->lpVtbl->NewStream(This)
  8389. #define IWMPEvents4_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result)
  8390. #define IWMPEvents4_Buffering(This,start) (This)->lpVtbl->Buffering(This,start)
  8391. #define IWMPEvents4_Error(This) (This)->lpVtbl->Error(This)
  8392. #define IWMPEvents4_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description)
  8393. #define IWMPEvents4_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result)
  8394. #define IWMPEvents4_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position)
  8395. #define IWMPEvents4_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker)
  8396. #define IWMPEvents4_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration)
  8397. #define IWMPEvents4_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num)
  8398. #define IWMPEvents4_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change)
  8399. #define IWMPEvents4_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change)
  8400. #define IWMPEvents4_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item)
  8401. #define IWMPEvents4_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item)
  8402. #define IWMPEvents4_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name)
  8403. #define IWMPEvents4_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media)
  8404. #define IWMPEvents4_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This)
  8405. #define IWMPEvents4_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val)
  8406. #define IWMPEvents4_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val)
  8407. #define IWMPEvents4_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val)
  8408. #define IWMPEvents4_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This)
  8409. #define IWMPEvents4_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name)
  8410. #define IWMPEvents4_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name)
  8411. #define IWMPEvents4_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted)
  8412. #define IWMPEvents4_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value)
  8413. #define IWMPEvents4_MediaError(This,media) (This)->lpVtbl->MediaError(This,media)
  8414. #define IWMPEvents4_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item)
  8415. #define IWMPEvents4_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain)
  8416. #define IWMPEvents4_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This)
  8417. #define IWMPEvents4_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This)
  8418. #define IWMPEvents4_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This)
  8419. #define IWMPEvents4_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This)
  8420. #define IWMPEvents4_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y)
  8421. #define IWMPEvents4_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY)
  8422. #define IWMPEvents4_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state)
  8423. #define IWMPEvents4_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii)
  8424. #define IWMPEvents4_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state)
  8425. #define IWMPEvents4_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y)
  8426. #define IWMPEvents4_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y)
  8427. #define IWMPEvents4_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y)
  8428. /*** IWMPEvents2 methods ***/
  8429. #define IWMPEvents4_DeviceConnect(This,device) (This)->lpVtbl->DeviceConnect(This,device)
  8430. #define IWMPEvents4_DeviceDisconnect(This,device) (This)->lpVtbl->DeviceDisconnect(This,device)
  8431. #define IWMPEvents4_DeviceStatusChange(This,device,status) (This)->lpVtbl->DeviceStatusChange(This,device,status)
  8432. #define IWMPEvents4_DeviceSyncStateChange(This,device,state) (This)->lpVtbl->DeviceSyncStateChange(This,device,state)
  8433. #define IWMPEvents4_DeviceSyncError(This,device,media) (This)->lpVtbl->DeviceSyncError(This,device,media)
  8434. #define IWMPEvents4_CreatePartnershipComplete(This,device,result) (This)->lpVtbl->CreatePartnershipComplete(This,device,result)
  8435. /*** IWMPEvents3 methods ***/
  8436. #define IWMPEvents4_CdromRipStateChange(This,rip,state) (This)->lpVtbl->CdromRipStateChange(This,rip,state)
  8437. #define IWMPEvents4_CdromRipMediaError(This,rip,media) (This)->lpVtbl->CdromRipMediaError(This,rip,media)
  8438. #define IWMPEvents4_CdromBurnStateChange(This,burn,state) (This)->lpVtbl->CdromBurnStateChange(This,burn,state)
  8439. #define IWMPEvents4_CdromBurnMediaError(This,burn,media) (This)->lpVtbl->CdromBurnMediaError(This,burn,media)
  8440. #define IWMPEvents4_CdromBurnError(This,burn,error) (This)->lpVtbl->CdromBurnError(This,burn,error)
  8441. #define IWMPEvents4_LibraryConnect(This,wmplibrary) (This)->lpVtbl->LibraryConnect(This,wmplibrary)
  8442. #define IWMPEvents4_LibraryDisconnect(This,wmplibrary) (This)->lpVtbl->LibraryDisconnect(This,wmplibrary)
  8443. #define IWMPEvents4_FolderScanStateChange(This,state) (This)->lpVtbl->FolderScanStateChange(This,state)
  8444. #define IWMPEvents4_StringCollectionChange(This,collection,change,index) (This)->lpVtbl->StringCollectionChange(This,collection,change,index)
  8445. #define IWMPEvents4_MediaCollectionMediaAdded(This,media) (This)->lpVtbl->MediaCollectionMediaAdded(This,media)
  8446. #define IWMPEvents4_MediaCollectionMediaRemoved(This,media) (This)->lpVtbl->MediaCollectionMediaRemoved(This,media)
  8447. /*** IWMPEvents4 methods ***/
  8448. #define IWMPEvents4_DeviceEstimation(This,device,result,used_space,estimated_space) (This)->lpVtbl->DeviceEstimation(This,device,result,used_space,estimated_space)
  8449. #else
  8450. /*** IUnknown methods ***/
  8451. static FORCEINLINE HRESULT IWMPEvents4_QueryInterface(IWMPEvents4* This,REFIID riid,void **ppvObject) {
  8452. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  8453. }
  8454. static FORCEINLINE ULONG IWMPEvents4_AddRef(IWMPEvents4* This) {
  8455. return This->lpVtbl->AddRef(This);
  8456. }
  8457. static FORCEINLINE ULONG IWMPEvents4_Release(IWMPEvents4* This) {
  8458. return This->lpVtbl->Release(This);
  8459. }
  8460. /*** IWMPEvents methods ***/
  8461. static FORCEINLINE void IWMPEvents4_OpenStateChange(IWMPEvents4* This,LONG state) {
  8462. This->lpVtbl->OpenStateChange(This,state);
  8463. }
  8464. static FORCEINLINE void IWMPEvents4_PlayStateChange(IWMPEvents4* This,LONG state) {
  8465. This->lpVtbl->PlayStateChange(This,state);
  8466. }
  8467. static FORCEINLINE void IWMPEvents4_AudioLanguageChange(IWMPEvents4* This,LONG lang) {
  8468. This->lpVtbl->AudioLanguageChange(This,lang);
  8469. }
  8470. static FORCEINLINE void IWMPEvents4_StatusChange(IWMPEvents4* This) {
  8471. This->lpVtbl->StatusChange(This);
  8472. }
  8473. static FORCEINLINE void IWMPEvents4_ScriptCommand(IWMPEvents4* This,BSTR type,BSTR param) {
  8474. This->lpVtbl->ScriptCommand(This,type,param);
  8475. }
  8476. static FORCEINLINE void IWMPEvents4_NewStream(IWMPEvents4* This) {
  8477. This->lpVtbl->NewStream(This);
  8478. }
  8479. static FORCEINLINE void IWMPEvents4_Disconnect(IWMPEvents4* This,LONG result) {
  8480. This->lpVtbl->Disconnect(This,result);
  8481. }
  8482. static FORCEINLINE void IWMPEvents4_Buffering(IWMPEvents4* This,VARIANT_BOOL start) {
  8483. This->lpVtbl->Buffering(This,start);
  8484. }
  8485. static FORCEINLINE void IWMPEvents4_Error(IWMPEvents4* This) {
  8486. This->lpVtbl->Error(This);
  8487. }
  8488. static FORCEINLINE void IWMPEvents4_Warning(IWMPEvents4* This,LONG warning,LONG param,BSTR description) {
  8489. This->lpVtbl->Warning(This,warning,param,description);
  8490. }
  8491. static FORCEINLINE void IWMPEvents4_EndOfStream(IWMPEvents4* This,LONG result) {
  8492. This->lpVtbl->EndOfStream(This,result);
  8493. }
  8494. static FORCEINLINE void IWMPEvents4_PositionChange(IWMPEvents4* This,double old_position,double new_position) {
  8495. This->lpVtbl->PositionChange(This,old_position,new_position);
  8496. }
  8497. static FORCEINLINE void IWMPEvents4_MarkerHit(IWMPEvents4* This,LONG marker) {
  8498. This->lpVtbl->MarkerHit(This,marker);
  8499. }
  8500. static FORCEINLINE void IWMPEvents4_DurationUnitChange(IWMPEvents4* This,LONG duration) {
  8501. This->lpVtbl->DurationUnitChange(This,duration);
  8502. }
  8503. static FORCEINLINE void IWMPEvents4_CdromMediaChange(IWMPEvents4* This,LONG num) {
  8504. This->lpVtbl->CdromMediaChange(This,num);
  8505. }
  8506. static FORCEINLINE void IWMPEvents4_PlaylistChange(IWMPEvents4* This,IDispatch *playlist,WMPPlaylistChangeEventType change) {
  8507. This->lpVtbl->PlaylistChange(This,playlist,change);
  8508. }
  8509. static FORCEINLINE void IWMPEvents4_CurrentPlaylistChange(IWMPEvents4* This,WMPPlaylistChangeEventType change) {
  8510. This->lpVtbl->CurrentPlaylistChange(This,change);
  8511. }
  8512. static FORCEINLINE void IWMPEvents4_CurrentPlaylistItemAvailable(IWMPEvents4* This,BSTR item) {
  8513. This->lpVtbl->CurrentPlaylistItemAvailable(This,item);
  8514. }
  8515. static FORCEINLINE void IWMPEvents4_MediaChange(IWMPEvents4* This,IDispatch *item) {
  8516. This->lpVtbl->MediaChange(This,item);
  8517. }
  8518. static FORCEINLINE void IWMPEvents4_CurrentMediaItemAvailable(IWMPEvents4* This,BSTR name) {
  8519. This->lpVtbl->CurrentMediaItemAvailable(This,name);
  8520. }
  8521. static FORCEINLINE void IWMPEvents4_CurrentItemChange(IWMPEvents4* This,IDispatch *media) {
  8522. This->lpVtbl->CurrentItemChange(This,media);
  8523. }
  8524. static FORCEINLINE void IWMPEvents4_MediaCollectionChange(IWMPEvents4* This) {
  8525. This->lpVtbl->MediaCollectionChange(This);
  8526. }
  8527. static FORCEINLINE void IWMPEvents4_MediaCollectionAttributeStringAdded(IWMPEvents4* This,BSTR name,BSTR val) {
  8528. This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val);
  8529. }
  8530. static FORCEINLINE void IWMPEvents4_MediaCollectionAttributeStringRemoved(IWMPEvents4* This,BSTR name,BSTR val) {
  8531. This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val);
  8532. }
  8533. static FORCEINLINE void IWMPEvents4_MediaCollectionAttributeStringChanged(IWMPEvents4* This,BSTR name,BSTR old_val,BSTR new_val) {
  8534. This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val);
  8535. }
  8536. static FORCEINLINE void IWMPEvents4_PlaylistCollectionChange(IWMPEvents4* This) {
  8537. This->lpVtbl->PlaylistCollectionChange(This);
  8538. }
  8539. static FORCEINLINE void IWMPEvents4_PlaylistCollectionPlaylistAdded(IWMPEvents4* This,BSTR name) {
  8540. This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name);
  8541. }
  8542. static FORCEINLINE void IWMPEvents4_PlaylistCollectionPlaylistRemoved(IWMPEvents4* This,BSTR name) {
  8543. This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name);
  8544. }
  8545. static FORCEINLINE void IWMPEvents4_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents4* This,BSTR name,VARIANT_BOOL deleted) {
  8546. This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted);
  8547. }
  8548. static FORCEINLINE void IWMPEvents4_ModeChange(IWMPEvents4* This,BSTR ModeName,VARIANT_BOOL value) {
  8549. This->lpVtbl->ModeChange(This,ModeName,value);
  8550. }
  8551. static FORCEINLINE void IWMPEvents4_MediaError(IWMPEvents4* This,IDispatch *media) {
  8552. This->lpVtbl->MediaError(This,media);
  8553. }
  8554. static FORCEINLINE void IWMPEvents4_OpenPlaylistSwitch(IWMPEvents4* This,IDispatch *item) {
  8555. This->lpVtbl->OpenPlaylistSwitch(This,item);
  8556. }
  8557. static FORCEINLINE void IWMPEvents4_DomainChange(IWMPEvents4* This,BSTR domain) {
  8558. This->lpVtbl->DomainChange(This,domain);
  8559. }
  8560. static FORCEINLINE void IWMPEvents4_SwitchedToPlayerApplication(IWMPEvents4* This) {
  8561. This->lpVtbl->SwitchedToPlayerApplication(This);
  8562. }
  8563. static FORCEINLINE void IWMPEvents4_SwitchedToControl(IWMPEvents4* This) {
  8564. This->lpVtbl->SwitchedToControl(This);
  8565. }
  8566. static FORCEINLINE void IWMPEvents4_PlayerDockedStateChange(IWMPEvents4* This) {
  8567. This->lpVtbl->PlayerDockedStateChange(This);
  8568. }
  8569. static FORCEINLINE void IWMPEvents4_PlayerReconnect(IWMPEvents4* This) {
  8570. This->lpVtbl->PlayerReconnect(This);
  8571. }
  8572. static FORCEINLINE void IWMPEvents4_Click(IWMPEvents4* This,short button,short shift_state,LONG x,LONG y) {
  8573. This->lpVtbl->Click(This,button,shift_state,x,y);
  8574. }
  8575. static FORCEINLINE void IWMPEvents4_DoubleClick(IWMPEvents4* This,short button,short shift_state,LONG fX,LONG fY) {
  8576. This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY);
  8577. }
  8578. static FORCEINLINE void IWMPEvents4_KeyDown(IWMPEvents4* This,short keycode,short shift_state) {
  8579. This->lpVtbl->KeyDown(This,keycode,shift_state);
  8580. }
  8581. static FORCEINLINE void IWMPEvents4_KeyPress(IWMPEvents4* This,short ascii) {
  8582. This->lpVtbl->KeyPress(This,ascii);
  8583. }
  8584. static FORCEINLINE void IWMPEvents4_KeyUp(IWMPEvents4* This,short keycode,short shift_state) {
  8585. This->lpVtbl->KeyUp(This,keycode,shift_state);
  8586. }
  8587. static FORCEINLINE void IWMPEvents4_MouseDown(IWMPEvents4* This,short button,short nShiftState,LONG x,LONG y) {
  8588. This->lpVtbl->MouseDown(This,button,nShiftState,x,y);
  8589. }
  8590. static FORCEINLINE void IWMPEvents4_MouseMove(IWMPEvents4* This,short button,short shift_state,LONG x,LONG y) {
  8591. This->lpVtbl->MouseMove(This,button,shift_state,x,y);
  8592. }
  8593. static FORCEINLINE void IWMPEvents4_MouseUp(IWMPEvents4* This,short button,short shift_state,LONG x,LONG y) {
  8594. This->lpVtbl->MouseUp(This,button,shift_state,x,y);
  8595. }
  8596. /*** IWMPEvents2 methods ***/
  8597. static FORCEINLINE void IWMPEvents4_DeviceConnect(IWMPEvents4* This,IWMPSyncDevice *device) {
  8598. This->lpVtbl->DeviceConnect(This,device);
  8599. }
  8600. static FORCEINLINE void IWMPEvents4_DeviceDisconnect(IWMPEvents4* This,IWMPSyncDevice *device) {
  8601. This->lpVtbl->DeviceDisconnect(This,device);
  8602. }
  8603. static FORCEINLINE void IWMPEvents4_DeviceStatusChange(IWMPEvents4* This,IWMPSyncDevice *device,WMPDeviceStatus status) {
  8604. This->lpVtbl->DeviceStatusChange(This,device,status);
  8605. }
  8606. static FORCEINLINE void IWMPEvents4_DeviceSyncStateChange(IWMPEvents4* This,IWMPSyncDevice *device,WMPSyncState state) {
  8607. This->lpVtbl->DeviceSyncStateChange(This,device,state);
  8608. }
  8609. static FORCEINLINE void IWMPEvents4_DeviceSyncError(IWMPEvents4* This,IWMPSyncDevice *device,IDispatch *media) {
  8610. This->lpVtbl->DeviceSyncError(This,device,media);
  8611. }
  8612. static FORCEINLINE void IWMPEvents4_CreatePartnershipComplete(IWMPEvents4* This,IWMPSyncDevice *device,HRESULT result) {
  8613. This->lpVtbl->CreatePartnershipComplete(This,device,result);
  8614. }
  8615. /*** IWMPEvents3 methods ***/
  8616. static FORCEINLINE void IWMPEvents4_CdromRipStateChange(IWMPEvents4* This,IWMPCdromRip *rip,WMPRipState state) {
  8617. This->lpVtbl->CdromRipStateChange(This,rip,state);
  8618. }
  8619. static FORCEINLINE void IWMPEvents4_CdromRipMediaError(IWMPEvents4* This,IWMPCdromRip *rip,IDispatch *media) {
  8620. This->lpVtbl->CdromRipMediaError(This,rip,media);
  8621. }
  8622. static FORCEINLINE void IWMPEvents4_CdromBurnStateChange(IWMPEvents4* This,IWMPCdromBurn *burn,WMPBurnState state) {
  8623. This->lpVtbl->CdromBurnStateChange(This,burn,state);
  8624. }
  8625. static FORCEINLINE void IWMPEvents4_CdromBurnMediaError(IWMPEvents4* This,IWMPCdromBurn *burn,IDispatch *media) {
  8626. This->lpVtbl->CdromBurnMediaError(This,burn,media);
  8627. }
  8628. static FORCEINLINE void IWMPEvents4_CdromBurnError(IWMPEvents4* This,IWMPCdromBurn *burn,HRESULT error) {
  8629. This->lpVtbl->CdromBurnError(This,burn,error);
  8630. }
  8631. static FORCEINLINE void IWMPEvents4_LibraryConnect(IWMPEvents4* This,IWMPLibrary *wmplibrary) {
  8632. This->lpVtbl->LibraryConnect(This,wmplibrary);
  8633. }
  8634. static FORCEINLINE void IWMPEvents4_LibraryDisconnect(IWMPEvents4* This,IWMPLibrary *wmplibrary) {
  8635. This->lpVtbl->LibraryDisconnect(This,wmplibrary);
  8636. }
  8637. static FORCEINLINE void IWMPEvents4_FolderScanStateChange(IWMPEvents4* This,WMPFolderScanState state) {
  8638. This->lpVtbl->FolderScanStateChange(This,state);
  8639. }
  8640. static FORCEINLINE void IWMPEvents4_StringCollectionChange(IWMPEvents4* This,IDispatch *collection,WMPStringCollectionChangeEventType change,LONG index) {
  8641. This->lpVtbl->StringCollectionChange(This,collection,change,index);
  8642. }
  8643. static FORCEINLINE void IWMPEvents4_MediaCollectionMediaAdded(IWMPEvents4* This,IDispatch *media) {
  8644. This->lpVtbl->MediaCollectionMediaAdded(This,media);
  8645. }
  8646. static FORCEINLINE void IWMPEvents4_MediaCollectionMediaRemoved(IWMPEvents4* This,IDispatch *media) {
  8647. This->lpVtbl->MediaCollectionMediaRemoved(This,media);
  8648. }
  8649. /*** IWMPEvents4 methods ***/
  8650. static FORCEINLINE void IWMPEvents4_DeviceEstimation(IWMPEvents4* This,IWMPSyncDevice *device,HRESULT result,LONGLONG used_space,LONGLONG estimated_space) {
  8651. This->lpVtbl->DeviceEstimation(This,device,result,used_space,estimated_space);
  8652. }
  8653. #endif
  8654. #endif
  8655. #endif
  8656. #endif /* __IWMPEvents4_INTERFACE_DEFINED__ */
  8657. /*****************************************************************************
  8658. * _WMPOCXEvents interface
  8659. */
  8660. #ifndef ___WMPOCXEvents_INTERFACE_DEFINED__
  8661. #define ___WMPOCXEvents_INTERFACE_DEFINED__
  8662. DEFINE_GUID(IID__WMPOCXEvents, 0x6bf52a51, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
  8663. #if defined(__cplusplus) && !defined(CINTERFACE)
  8664. MIDL_INTERFACE("6bf52a51-394a-11d3-b153-00c04f79faa6")
  8665. _WMPOCXEvents : public IDispatch
  8666. {
  8667. };
  8668. #ifdef __CRT_UUID_DECL
  8669. __CRT_UUID_DECL(_WMPOCXEvents, 0x6bf52a51, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6)
  8670. #endif
  8671. #else
  8672. typedef struct _WMPOCXEventsVtbl {
  8673. BEGIN_INTERFACE
  8674. /*** IUnknown methods ***/
  8675. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  8676. _WMPOCXEvents *This,
  8677. REFIID riid,
  8678. void **ppvObject);
  8679. ULONG (STDMETHODCALLTYPE *AddRef)(
  8680. _WMPOCXEvents *This);
  8681. ULONG (STDMETHODCALLTYPE *Release)(
  8682. _WMPOCXEvents *This);
  8683. /*** IDispatch methods ***/
  8684. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  8685. _WMPOCXEvents *This,
  8686. UINT *pctinfo);
  8687. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  8688. _WMPOCXEvents *This,
  8689. UINT iTInfo,
  8690. LCID lcid,
  8691. ITypeInfo **ppTInfo);
  8692. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  8693. _WMPOCXEvents *This,
  8694. REFIID riid,
  8695. LPOLESTR *rgszNames,
  8696. UINT cNames,
  8697. LCID lcid,
  8698. DISPID *rgDispId);
  8699. HRESULT (STDMETHODCALLTYPE *Invoke)(
  8700. _WMPOCXEvents *This,
  8701. DISPID dispIdMember,
  8702. REFIID riid,
  8703. LCID lcid,
  8704. WORD wFlags,
  8705. DISPPARAMS *pDispParams,
  8706. VARIANT *pVarResult,
  8707. EXCEPINFO *pExcepInfo,
  8708. UINT *puArgErr);
  8709. END_INTERFACE
  8710. } _WMPOCXEventsVtbl;
  8711. interface _WMPOCXEvents {
  8712. CONST_VTBL _WMPOCXEventsVtbl* lpVtbl;
  8713. };
  8714. #ifdef COBJMACROS
  8715. #ifndef WIDL_C_INLINE_WRAPPERS
  8716. /*** IUnknown methods ***/
  8717. #define _WMPOCXEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  8718. #define _WMPOCXEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  8719. #define _WMPOCXEvents_Release(This) (This)->lpVtbl->Release(This)
  8720. /*** IDispatch methods ***/
  8721. #define _WMPOCXEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  8722. #define _WMPOCXEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  8723. #define _WMPOCXEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  8724. #define _WMPOCXEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  8725. #else
  8726. /*** IUnknown methods ***/
  8727. static FORCEINLINE HRESULT _WMPOCXEvents_QueryInterface(_WMPOCXEvents* This,REFIID riid,void **ppvObject) {
  8728. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  8729. }
  8730. static FORCEINLINE ULONG _WMPOCXEvents_AddRef(_WMPOCXEvents* This) {
  8731. return This->lpVtbl->AddRef(This);
  8732. }
  8733. static FORCEINLINE ULONG _WMPOCXEvents_Release(_WMPOCXEvents* This) {
  8734. return This->lpVtbl->Release(This);
  8735. }
  8736. /*** IDispatch methods ***/
  8737. static FORCEINLINE HRESULT _WMPOCXEvents_GetTypeInfoCount(_WMPOCXEvents* This,UINT *pctinfo) {
  8738. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  8739. }
  8740. static FORCEINLINE HRESULT _WMPOCXEvents_GetTypeInfo(_WMPOCXEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  8741. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  8742. }
  8743. static FORCEINLINE HRESULT _WMPOCXEvents_GetIDsOfNames(_WMPOCXEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  8744. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  8745. }
  8746. static FORCEINLINE HRESULT _WMPOCXEvents_Invoke(_WMPOCXEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  8747. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  8748. }
  8749. #endif
  8750. #endif
  8751. #endif
  8752. #endif /* ___WMPOCXEvents_INTERFACE_DEFINED__ */
  8753. /*****************************************************************************
  8754. * WindowsMediaPlayer coclass
  8755. */
  8756. DEFINE_GUID(CLSID_WindowsMediaPlayer, 0x6bf52a52, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
  8757. #ifdef __cplusplus
  8758. class DECLSPEC_UUID("6bf52a52-394a-11d3-b153-00c04f79faa6") WindowsMediaPlayer;
  8759. #ifdef __CRT_UUID_DECL
  8760. __CRT_UUID_DECL(WindowsMediaPlayer, 0x6bf52a52, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6)
  8761. #endif
  8762. #endif
  8763. #endif /* __WMPLib_LIBRARY_DEFINED__ */
  8764. /* Begin additional prototypes for all interfaces */
  8765. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  8766. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  8767. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  8768. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  8769. ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
  8770. unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
  8771. unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
  8772. void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
  8773. /* End additional prototypes */
  8774. #ifdef __cplusplus
  8775. }
  8776. #endif
  8777. #endif /* __wmp_h__ */