wmsdkidl.h 624 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917
  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for wmsdkidl.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext, robust
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __wmsdkidl_h__
  27. #define __wmsdkidl_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IWMMediaProps_FWD_DEFINED__
  33. #define __IWMMediaProps_FWD_DEFINED__
  34. typedef interface IWMMediaProps IWMMediaProps;
  35. #endif /* __IWMMediaProps_FWD_DEFINED__ */
  36. #ifndef __IWMVideoMediaProps_FWD_DEFINED__
  37. #define __IWMVideoMediaProps_FWD_DEFINED__
  38. typedef interface IWMVideoMediaProps IWMVideoMediaProps;
  39. #endif /* __IWMVideoMediaProps_FWD_DEFINED__ */
  40. #ifndef __IWMWriter_FWD_DEFINED__
  41. #define __IWMWriter_FWD_DEFINED__
  42. typedef interface IWMWriter IWMWriter;
  43. #endif /* __IWMWriter_FWD_DEFINED__ */
  44. #ifndef __IWMDRMWriter_FWD_DEFINED__
  45. #define __IWMDRMWriter_FWD_DEFINED__
  46. typedef interface IWMDRMWriter IWMDRMWriter;
  47. #endif /* __IWMDRMWriter_FWD_DEFINED__ */
  48. #ifndef __IWMInputMediaProps_FWD_DEFINED__
  49. #define __IWMInputMediaProps_FWD_DEFINED__
  50. typedef interface IWMInputMediaProps IWMInputMediaProps;
  51. #endif /* __IWMInputMediaProps_FWD_DEFINED__ */
  52. #ifndef __IWMPropertyVault_FWD_DEFINED__
  53. #define __IWMPropertyVault_FWD_DEFINED__
  54. typedef interface IWMPropertyVault IWMPropertyVault;
  55. #endif /* __IWMPropertyVault_FWD_DEFINED__ */
  56. #ifndef __IWMIStreamProps_FWD_DEFINED__
  57. #define __IWMIStreamProps_FWD_DEFINED__
  58. typedef interface IWMIStreamProps IWMIStreamProps;
  59. #endif /* __IWMIStreamProps_FWD_DEFINED__ */
  60. #ifndef __IWMReader_FWD_DEFINED__
  61. #define __IWMReader_FWD_DEFINED__
  62. typedef interface IWMReader IWMReader;
  63. #endif /* __IWMReader_FWD_DEFINED__ */
  64. #ifndef __IWMSyncReader_FWD_DEFINED__
  65. #define __IWMSyncReader_FWD_DEFINED__
  66. typedef interface IWMSyncReader IWMSyncReader;
  67. #endif /* __IWMSyncReader_FWD_DEFINED__ */
  68. #ifndef __IWMSyncReader2_FWD_DEFINED__
  69. #define __IWMSyncReader2_FWD_DEFINED__
  70. typedef interface IWMSyncReader2 IWMSyncReader2;
  71. #endif /* __IWMSyncReader2_FWD_DEFINED__ */
  72. #ifndef __IWMOutputMediaProps_FWD_DEFINED__
  73. #define __IWMOutputMediaProps_FWD_DEFINED__
  74. typedef interface IWMOutputMediaProps IWMOutputMediaProps;
  75. #endif /* __IWMOutputMediaProps_FWD_DEFINED__ */
  76. #ifndef __IWMStatusCallback_FWD_DEFINED__
  77. #define __IWMStatusCallback_FWD_DEFINED__
  78. typedef interface IWMStatusCallback IWMStatusCallback;
  79. #endif /* __IWMStatusCallback_FWD_DEFINED__ */
  80. #ifndef __IWMReaderCallback_FWD_DEFINED__
  81. #define __IWMReaderCallback_FWD_DEFINED__
  82. typedef interface IWMReaderCallback IWMReaderCallback;
  83. #endif /* __IWMReaderCallback_FWD_DEFINED__ */
  84. #ifndef __IWMCredentialCallback_FWD_DEFINED__
  85. #define __IWMCredentialCallback_FWD_DEFINED__
  86. typedef interface IWMCredentialCallback IWMCredentialCallback;
  87. #endif /* __IWMCredentialCallback_FWD_DEFINED__ */
  88. #ifndef __IWMMetadataEditor_FWD_DEFINED__
  89. #define __IWMMetadataEditor_FWD_DEFINED__
  90. typedef interface IWMMetadataEditor IWMMetadataEditor;
  91. #endif /* __IWMMetadataEditor_FWD_DEFINED__ */
  92. #ifndef __IWMMetadataEditor2_FWD_DEFINED__
  93. #define __IWMMetadataEditor2_FWD_DEFINED__
  94. typedef interface IWMMetadataEditor2 IWMMetadataEditor2;
  95. #endif /* __IWMMetadataEditor2_FWD_DEFINED__ */
  96. #ifndef __IWMDRMEditor_FWD_DEFINED__
  97. #define __IWMDRMEditor_FWD_DEFINED__
  98. typedef interface IWMDRMEditor IWMDRMEditor;
  99. #endif /* __IWMDRMEditor_FWD_DEFINED__ */
  100. #ifndef __IWMHeaderInfo_FWD_DEFINED__
  101. #define __IWMHeaderInfo_FWD_DEFINED__
  102. typedef interface IWMHeaderInfo IWMHeaderInfo;
  103. #endif /* __IWMHeaderInfo_FWD_DEFINED__ */
  104. #ifndef __IWMHeaderInfo2_FWD_DEFINED__
  105. #define __IWMHeaderInfo2_FWD_DEFINED__
  106. typedef interface IWMHeaderInfo2 IWMHeaderInfo2;
  107. #endif /* __IWMHeaderInfo2_FWD_DEFINED__ */
  108. #ifndef __IWMHeaderInfo3_FWD_DEFINED__
  109. #define __IWMHeaderInfo3_FWD_DEFINED__
  110. typedef interface IWMHeaderInfo3 IWMHeaderInfo3;
  111. #endif /* __IWMHeaderInfo3_FWD_DEFINED__ */
  112. #ifndef __IWMProfileManager_FWD_DEFINED__
  113. #define __IWMProfileManager_FWD_DEFINED__
  114. typedef interface IWMProfileManager IWMProfileManager;
  115. #endif /* __IWMProfileManager_FWD_DEFINED__ */
  116. #ifndef __IWMProfileManager2_FWD_DEFINED__
  117. #define __IWMProfileManager2_FWD_DEFINED__
  118. typedef interface IWMProfileManager2 IWMProfileManager2;
  119. #endif /* __IWMProfileManager2_FWD_DEFINED__ */
  120. #ifndef __IWMProfileManagerLanguage_FWD_DEFINED__
  121. #define __IWMProfileManagerLanguage_FWD_DEFINED__
  122. typedef interface IWMProfileManagerLanguage IWMProfileManagerLanguage;
  123. #endif /* __IWMProfileManagerLanguage_FWD_DEFINED__ */
  124. #ifndef __IWMProfile_FWD_DEFINED__
  125. #define __IWMProfile_FWD_DEFINED__
  126. typedef interface IWMProfile IWMProfile;
  127. #endif /* __IWMProfile_FWD_DEFINED__ */
  128. #ifndef __IWMProfile2_FWD_DEFINED__
  129. #define __IWMProfile2_FWD_DEFINED__
  130. typedef interface IWMProfile2 IWMProfile2;
  131. #endif /* __IWMProfile2_FWD_DEFINED__ */
  132. #ifndef __IWMProfile3_FWD_DEFINED__
  133. #define __IWMProfile3_FWD_DEFINED__
  134. typedef interface IWMProfile3 IWMProfile3;
  135. #endif /* __IWMProfile3_FWD_DEFINED__ */
  136. #ifndef __IWMStreamConfig_FWD_DEFINED__
  137. #define __IWMStreamConfig_FWD_DEFINED__
  138. typedef interface IWMStreamConfig IWMStreamConfig;
  139. #endif /* __IWMStreamConfig_FWD_DEFINED__ */
  140. #ifndef __IWMStreamConfig2_FWD_DEFINED__
  141. #define __IWMStreamConfig2_FWD_DEFINED__
  142. typedef interface IWMStreamConfig2 IWMStreamConfig2;
  143. #endif /* __IWMStreamConfig2_FWD_DEFINED__ */
  144. #ifndef __IWMStreamConfig3_FWD_DEFINED__
  145. #define __IWMStreamConfig3_FWD_DEFINED__
  146. typedef interface IWMStreamConfig3 IWMStreamConfig3;
  147. #endif /* __IWMStreamConfig3_FWD_DEFINED__ */
  148. #ifndef __IWMPacketSize_FWD_DEFINED__
  149. #define __IWMPacketSize_FWD_DEFINED__
  150. typedef interface IWMPacketSize IWMPacketSize;
  151. #endif /* __IWMPacketSize_FWD_DEFINED__ */
  152. #ifndef __IWMPacketSize2_FWD_DEFINED__
  153. #define __IWMPacketSize2_FWD_DEFINED__
  154. typedef interface IWMPacketSize2 IWMPacketSize2;
  155. #endif /* __IWMPacketSize2_FWD_DEFINED__ */
  156. #ifndef __IWMStreamList_FWD_DEFINED__
  157. #define __IWMStreamList_FWD_DEFINED__
  158. typedef interface IWMStreamList IWMStreamList;
  159. #endif /* __IWMStreamList_FWD_DEFINED__ */
  160. #ifndef __IWMMutualExclusion_FWD_DEFINED__
  161. #define __IWMMutualExclusion_FWD_DEFINED__
  162. typedef interface IWMMutualExclusion IWMMutualExclusion;
  163. #endif /* __IWMMutualExclusion_FWD_DEFINED__ */
  164. #ifndef __IWMMutualExclusion2_FWD_DEFINED__
  165. #define __IWMMutualExclusion2_FWD_DEFINED__
  166. typedef interface IWMMutualExclusion2 IWMMutualExclusion2;
  167. #endif /* __IWMMutualExclusion2_FWD_DEFINED__ */
  168. #ifndef __IWMBandwidthSharing_FWD_DEFINED__
  169. #define __IWMBandwidthSharing_FWD_DEFINED__
  170. typedef interface IWMBandwidthSharing IWMBandwidthSharing;
  171. #endif /* __IWMBandwidthSharing_FWD_DEFINED__ */
  172. #ifndef __IWMStreamPrioritization_FWD_DEFINED__
  173. #define __IWMStreamPrioritization_FWD_DEFINED__
  174. typedef interface IWMStreamPrioritization IWMStreamPrioritization;
  175. #endif /* __IWMStreamPrioritization_FWD_DEFINED__ */
  176. #ifndef __IWMWriterAdvanced_FWD_DEFINED__
  177. #define __IWMWriterAdvanced_FWD_DEFINED__
  178. typedef interface IWMWriterAdvanced IWMWriterAdvanced;
  179. #endif /* __IWMWriterAdvanced_FWD_DEFINED__ */
  180. #ifndef __IWMWriterAdvanced2_FWD_DEFINED__
  181. #define __IWMWriterAdvanced2_FWD_DEFINED__
  182. typedef interface IWMWriterAdvanced2 IWMWriterAdvanced2;
  183. #endif /* __IWMWriterAdvanced2_FWD_DEFINED__ */
  184. #ifndef __IWMWriterAdvanced3_FWD_DEFINED__
  185. #define __IWMWriterAdvanced3_FWD_DEFINED__
  186. typedef interface IWMWriterAdvanced3 IWMWriterAdvanced3;
  187. #endif /* __IWMWriterAdvanced3_FWD_DEFINED__ */
  188. #ifndef __IWMWriterPreprocess_FWD_DEFINED__
  189. #define __IWMWriterPreprocess_FWD_DEFINED__
  190. typedef interface IWMWriterPreprocess IWMWriterPreprocess;
  191. #endif /* __IWMWriterPreprocess_FWD_DEFINED__ */
  192. #ifndef __IWMWriterPostViewCallback_FWD_DEFINED__
  193. #define __IWMWriterPostViewCallback_FWD_DEFINED__
  194. typedef interface IWMWriterPostViewCallback IWMWriterPostViewCallback;
  195. #endif /* __IWMWriterPostViewCallback_FWD_DEFINED__ */
  196. #ifndef __IWMWriterPostView_FWD_DEFINED__
  197. #define __IWMWriterPostView_FWD_DEFINED__
  198. typedef interface IWMWriterPostView IWMWriterPostView;
  199. #endif /* __IWMWriterPostView_FWD_DEFINED__ */
  200. #ifndef __IWMWriterSink_FWD_DEFINED__
  201. #define __IWMWriterSink_FWD_DEFINED__
  202. typedef interface IWMWriterSink IWMWriterSink;
  203. #endif /* __IWMWriterSink_FWD_DEFINED__ */
  204. #ifndef __IWMRegisterCallback_FWD_DEFINED__
  205. #define __IWMRegisterCallback_FWD_DEFINED__
  206. typedef interface IWMRegisterCallback IWMRegisterCallback;
  207. #endif /* __IWMRegisterCallback_FWD_DEFINED__ */
  208. #ifndef __IWMWriterFileSink_FWD_DEFINED__
  209. #define __IWMWriterFileSink_FWD_DEFINED__
  210. typedef interface IWMWriterFileSink IWMWriterFileSink;
  211. #endif /* __IWMWriterFileSink_FWD_DEFINED__ */
  212. #ifndef __IWMWriterFileSink2_FWD_DEFINED__
  213. #define __IWMWriterFileSink2_FWD_DEFINED__
  214. typedef interface IWMWriterFileSink2 IWMWriterFileSink2;
  215. #endif /* __IWMWriterFileSink2_FWD_DEFINED__ */
  216. #ifndef __IWMWriterFileSink3_FWD_DEFINED__
  217. #define __IWMWriterFileSink3_FWD_DEFINED__
  218. typedef interface IWMWriterFileSink3 IWMWriterFileSink3;
  219. #endif /* __IWMWriterFileSink3_FWD_DEFINED__ */
  220. #ifndef __IWMWriterNetworkSink_FWD_DEFINED__
  221. #define __IWMWriterNetworkSink_FWD_DEFINED__
  222. typedef interface IWMWriterNetworkSink IWMWriterNetworkSink;
  223. #endif /* __IWMWriterNetworkSink_FWD_DEFINED__ */
  224. #ifndef __IWMClientConnections_FWD_DEFINED__
  225. #define __IWMClientConnections_FWD_DEFINED__
  226. typedef interface IWMClientConnections IWMClientConnections;
  227. #endif /* __IWMClientConnections_FWD_DEFINED__ */
  228. #ifndef __IWMClientConnections2_FWD_DEFINED__
  229. #define __IWMClientConnections2_FWD_DEFINED__
  230. typedef interface IWMClientConnections2 IWMClientConnections2;
  231. #endif /* __IWMClientConnections2_FWD_DEFINED__ */
  232. #ifndef __IWMReaderAdvanced_FWD_DEFINED__
  233. #define __IWMReaderAdvanced_FWD_DEFINED__
  234. typedef interface IWMReaderAdvanced IWMReaderAdvanced;
  235. #endif /* __IWMReaderAdvanced_FWD_DEFINED__ */
  236. #ifndef __IWMReaderAdvanced2_FWD_DEFINED__
  237. #define __IWMReaderAdvanced2_FWD_DEFINED__
  238. typedef interface IWMReaderAdvanced2 IWMReaderAdvanced2;
  239. #endif /* __IWMReaderAdvanced2_FWD_DEFINED__ */
  240. #ifndef __IWMReaderAdvanced3_FWD_DEFINED__
  241. #define __IWMReaderAdvanced3_FWD_DEFINED__
  242. typedef interface IWMReaderAdvanced3 IWMReaderAdvanced3;
  243. #endif /* __IWMReaderAdvanced3_FWD_DEFINED__ */
  244. #ifndef __IWMReaderAdvanced4_FWD_DEFINED__
  245. #define __IWMReaderAdvanced4_FWD_DEFINED__
  246. typedef interface IWMReaderAdvanced4 IWMReaderAdvanced4;
  247. #endif /* __IWMReaderAdvanced4_FWD_DEFINED__ */
  248. #ifndef __IWMReaderAllocatorEx_FWD_DEFINED__
  249. #define __IWMReaderAllocatorEx_FWD_DEFINED__
  250. typedef interface IWMReaderAllocatorEx IWMReaderAllocatorEx;
  251. #endif /* __IWMReaderAllocatorEx_FWD_DEFINED__ */
  252. #ifndef __IWMReaderTypeNegotiation_FWD_DEFINED__
  253. #define __IWMReaderTypeNegotiation_FWD_DEFINED__
  254. typedef interface IWMReaderTypeNegotiation IWMReaderTypeNegotiation;
  255. #endif /* __IWMReaderTypeNegotiation_FWD_DEFINED__ */
  256. #ifndef __IWMReaderCallbackAdvanced_FWD_DEFINED__
  257. #define __IWMReaderCallbackAdvanced_FWD_DEFINED__
  258. typedef interface IWMReaderCallbackAdvanced IWMReaderCallbackAdvanced;
  259. #endif /* __IWMReaderCallbackAdvanced_FWD_DEFINED__ */
  260. #ifndef __IWMDRMReader_FWD_DEFINED__
  261. #define __IWMDRMReader_FWD_DEFINED__
  262. typedef interface IWMDRMReader IWMDRMReader;
  263. #endif /* __IWMDRMReader_FWD_DEFINED__ */
  264. #ifndef __IWMReaderNetworkConfig_FWD_DEFINED__
  265. #define __IWMReaderNetworkConfig_FWD_DEFINED__
  266. typedef interface IWMReaderNetworkConfig IWMReaderNetworkConfig;
  267. #endif /* __IWMReaderNetworkConfig_FWD_DEFINED__ */
  268. #ifndef __IWMReaderNetworkConfig2_FWD_DEFINED__
  269. #define __IWMReaderNetworkConfig2_FWD_DEFINED__
  270. typedef interface IWMReaderNetworkConfig2 IWMReaderNetworkConfig2;
  271. #endif /* __IWMReaderNetworkConfig2_FWD_DEFINED__ */
  272. #ifndef __IWMReaderStreamClock_FWD_DEFINED__
  273. #define __IWMReaderStreamClock_FWD_DEFINED__
  274. typedef interface IWMReaderStreamClock IWMReaderStreamClock;
  275. #endif /* __IWMReaderStreamClock_FWD_DEFINED__ */
  276. #ifndef __IWMIndexer_FWD_DEFINED__
  277. #define __IWMIndexer_FWD_DEFINED__
  278. typedef interface IWMIndexer IWMIndexer;
  279. #endif /* __IWMIndexer_FWD_DEFINED__ */
  280. #ifndef __IWMIndexer2_FWD_DEFINED__
  281. #define __IWMIndexer2_FWD_DEFINED__
  282. typedef interface IWMIndexer2 IWMIndexer2;
  283. #endif /* __IWMIndexer2_FWD_DEFINED__ */
  284. #ifndef __IWMLicenseBackup_FWD_DEFINED__
  285. #define __IWMLicenseBackup_FWD_DEFINED__
  286. typedef interface IWMLicenseBackup IWMLicenseBackup;
  287. #endif /* __IWMLicenseBackup_FWD_DEFINED__ */
  288. #ifndef __IWMLicenseRestore_FWD_DEFINED__
  289. #define __IWMLicenseRestore_FWD_DEFINED__
  290. typedef interface IWMLicenseRestore IWMLicenseRestore;
  291. #endif /* __IWMLicenseRestore_FWD_DEFINED__ */
  292. #ifndef __IWMBackupRestoreProps_FWD_DEFINED__
  293. #define __IWMBackupRestoreProps_FWD_DEFINED__
  294. typedef interface IWMBackupRestoreProps IWMBackupRestoreProps;
  295. #endif /* __IWMBackupRestoreProps_FWD_DEFINED__ */
  296. #ifndef __IWMCodecInfo_FWD_DEFINED__
  297. #define __IWMCodecInfo_FWD_DEFINED__
  298. typedef interface IWMCodecInfo IWMCodecInfo;
  299. #endif /* __IWMCodecInfo_FWD_DEFINED__ */
  300. #ifndef __IWMCodecInfo2_FWD_DEFINED__
  301. #define __IWMCodecInfo2_FWD_DEFINED__
  302. typedef interface IWMCodecInfo2 IWMCodecInfo2;
  303. #endif /* __IWMCodecInfo2_FWD_DEFINED__ */
  304. #ifndef __IWMCodecInfo3_FWD_DEFINED__
  305. #define __IWMCodecInfo3_FWD_DEFINED__
  306. typedef interface IWMCodecInfo3 IWMCodecInfo3;
  307. #endif /* __IWMCodecInfo3_FWD_DEFINED__ */
  308. #ifndef __IWMLanguageList_FWD_DEFINED__
  309. #define __IWMLanguageList_FWD_DEFINED__
  310. typedef interface IWMLanguageList IWMLanguageList;
  311. #endif /* __IWMLanguageList_FWD_DEFINED__ */
  312. #ifndef __IWMWriterPushSink_FWD_DEFINED__
  313. #define __IWMWriterPushSink_FWD_DEFINED__
  314. typedef interface IWMWriterPushSink IWMWriterPushSink;
  315. #endif /* __IWMWriterPushSink_FWD_DEFINED__ */
  316. #ifndef __IWMWatermarkInfo_FWD_DEFINED__
  317. #define __IWMWatermarkInfo_FWD_DEFINED__
  318. typedef interface IWMWatermarkInfo IWMWatermarkInfo;
  319. #endif /* __IWMWatermarkInfo_FWD_DEFINED__ */
  320. #ifndef __IWMReaderAccelerator_FWD_DEFINED__
  321. #define __IWMReaderAccelerator_FWD_DEFINED__
  322. typedef interface IWMReaderAccelerator IWMReaderAccelerator;
  323. #endif /* __IWMReaderAccelerator_FWD_DEFINED__ */
  324. #ifndef __IWMReaderTimecode_FWD_DEFINED__
  325. #define __IWMReaderTimecode_FWD_DEFINED__
  326. typedef interface IWMReaderTimecode IWMReaderTimecode;
  327. #endif /* __IWMReaderTimecode_FWD_DEFINED__ */
  328. #ifndef __IWMAddressAccess_FWD_DEFINED__
  329. #define __IWMAddressAccess_FWD_DEFINED__
  330. typedef interface IWMAddressAccess IWMAddressAccess;
  331. #endif /* __IWMAddressAccess_FWD_DEFINED__ */
  332. #ifndef __IWMAddressAccess2_FWD_DEFINED__
  333. #define __IWMAddressAccess2_FWD_DEFINED__
  334. typedef interface IWMAddressAccess2 IWMAddressAccess2;
  335. #endif /* __IWMAddressAccess2_FWD_DEFINED__ */
  336. #ifndef __IWMImageInfo_FWD_DEFINED__
  337. #define __IWMImageInfo_FWD_DEFINED__
  338. typedef interface IWMImageInfo IWMImageInfo;
  339. #endif /* __IWMImageInfo_FWD_DEFINED__ */
  340. /* header files for imported files */
  341. #include "oaidl.h"
  342. #include "wmsbuffer.h"
  343. #include "drmexternals.h"
  344. #ifdef __cplusplus
  345. extern "C"{
  346. #endif
  347. void * __RPC_USER MIDL_user_allocate(size_t);
  348. void __RPC_USER MIDL_user_free( void * );
  349. /* interface __MIDL_itf_wmsdkidl_0000 */
  350. /* [local] */
  351. //=========================================================================
  352. //
  353. // Microsoft Windows Media Technologies
  354. // Copyright (C) Microsoft Corporation. All Rights Reserved.
  355. //
  356. //=========================================================================
  357. typedef unsigned __int64 QWORD;
  358. ////////////////////////////////////////////////////////////////
  359. //
  360. // These are the special case attributes that give information
  361. // about the Windows Media file.
  362. //
  363. static const DWORD g_dwWMSpecialAttributes = 20;
  364. static const WCHAR g_wszWMDuration[] =L"Duration";
  365. static const WCHAR g_wszWMBitrate[] =L"Bitrate";
  366. static const WCHAR g_wszWMSeekable[] =L"Seekable";
  367. static const WCHAR g_wszWMStridable[] =L"Stridable";
  368. static const WCHAR g_wszWMBroadcast[] =L"Broadcast";
  369. static const WCHAR g_wszWMProtected[] =L"Is_Protected";
  370. static const WCHAR g_wszWMTrusted[] =L"Is_Trusted";
  371. static const WCHAR g_wszWMSignature_Name[] =L"Signature_Name";
  372. static const WCHAR g_wszWMHasAudio[] =L"HasAudio";
  373. static const WCHAR g_wszWMHasImage[] =L"HasImage";
  374. static const WCHAR g_wszWMHasScript[] =L"HasScript";
  375. static const WCHAR g_wszWMHasVideo[] =L"HasVideo";
  376. static const WCHAR g_wszWMCurrentBitrate[] =L"CurrentBitrate";
  377. static const WCHAR g_wszWMOptimalBitrate[] =L"OptimalBitrate";
  378. static const WCHAR g_wszWMHasAttachedImages[] =L"HasAttachedImages";
  379. static const WCHAR g_wszWMSkipBackward[] =L"Can_Skip_Backward";
  380. static const WCHAR g_wszWMSkipForward[] =L"Can_Skip_Forward";
  381. static const WCHAR g_wszWMNumberOfFrames[] =L"NumberOfFrames";
  382. static const WCHAR g_wszWMFileSize[] =L"FileSize";
  383. static const WCHAR g_wszWMHasArbitraryDataStream[] =L"HasArbitraryDataStream";
  384. static const WCHAR g_wszWMHasFileTransferStream[] =L"HasFileTransferStream";
  385. static const WCHAR g_wszWMContainerFormat[] =L"WM/ContainerFormat";
  386. ////////////////////////////////////////////////////////////////
  387. //
  388. // The content description object supports 5 basic attributes.
  389. //
  390. static const DWORD g_dwWMContentAttributes = 5;
  391. static const WCHAR g_wszWMTitle[] =L"Title";
  392. static const WCHAR g_wszWMAuthor[] =L"Author";
  393. static const WCHAR g_wszWMDescription[] =L"Description";
  394. static const WCHAR g_wszWMRating[] =L"Rating";
  395. static const WCHAR g_wszWMCopyright[] =L"Copyright";
  396. ////////////////////////////////////////////////////////////////
  397. //
  398. // These attributes are used to configure and query DRM settings in the reader and writer.
  399. //
  400. static const WCHAR g_wszWMUse_DRM[] = L"Use_DRM";
  401. static const WCHAR g_wszWMDRM_Flags[] = L"DRM_Flags";
  402. static const WCHAR g_wszWMDRM_Level[] = L"DRM_Level";
  403. static const WCHAR g_wszWMUse_Advanced_DRM[] = L"Use_Advanced_DRM";
  404. static const WCHAR g_wszWMDRM_KeySeed[] = L"DRM_KeySeed";
  405. static const WCHAR g_wszWMDRM_KeyID[] = L"DRM_KeyID";
  406. static const WCHAR g_wszWMDRM_ContentID[] = L"DRM_ContentID";
  407. static const WCHAR g_wszWMDRM_IndividualizedVersion[] = L"DRM_IndividualizedVersion";
  408. static const WCHAR g_wszWMDRM_LicenseAcqURL[] = L"DRM_LicenseAcqURL";
  409. static const WCHAR g_wszWMDRM_V1LicenseAcqURL[] = L"DRM_V1LicenseAcqURL";
  410. static const WCHAR g_wszWMDRM_HeaderSignPrivKey[] = L"DRM_HeaderSignPrivKey";
  411. static const WCHAR g_wszWMDRM_LASignaturePrivKey[] = L"DRM_LASignaturePrivKey";
  412. static const WCHAR g_wszWMDRM_LASignatureCert[] = L"DRM_LASignatureCert";
  413. static const WCHAR g_wszWMDRM_LASignatureLicSrvCert[] = L"DRM_LASignatureLicSrvCert";
  414. static const WCHAR g_wszWMDRM_LASignatureRootCert[] = L"DRM_LASignatureRootCert";
  415. ////////////////////////////////////////////////////////////////
  416. //
  417. // These are the additional attributes defined in the WM attribute
  418. // namespace that give information about the content.
  419. //
  420. static const WCHAR g_wszWMAlbumTitle[] =L"WM/AlbumTitle";
  421. static const WCHAR g_wszWMTrack[] =L"WM/Track";
  422. static const WCHAR g_wszWMPromotionURL[] =L"WM/PromotionURL";
  423. static const WCHAR g_wszWMAlbumCoverURL[] =L"WM/AlbumCoverURL";
  424. static const WCHAR g_wszWMGenre[] =L"WM/Genre";
  425. static const WCHAR g_wszWMYear[] =L"WM/Year";
  426. static const WCHAR g_wszWMGenreID[] =L"WM/GenreID";
  427. static const WCHAR g_wszWMMCDI[] =L"WM/MCDI";
  428. static const WCHAR g_wszWMComposer[] =L"WM/Composer";
  429. static const WCHAR g_wszWMLyrics[] =L"WM/Lyrics";
  430. static const WCHAR g_wszWMTrackNumber[] =L"WM/TrackNumber";
  431. static const WCHAR g_wszWMToolName[] =L"WM/ToolName";
  432. static const WCHAR g_wszWMToolVersion[] =L"WM/ToolVersion";
  433. static const WCHAR g_wszWMIsVBR[] =L"IsVBR";
  434. static const WCHAR g_wszWMAlbumArtist[] =L"WM/AlbumArtist";
  435. ////////////////////////////////////////////////////////////////
  436. //
  437. // These optional attributes may be used to give information
  438. // about the branding of the content.
  439. //
  440. static const WCHAR g_wszWMBannerImageType[] =L"BannerImageType";
  441. static const WCHAR g_wszWMBannerImageData[] =L"BannerImageData";
  442. static const WCHAR g_wszWMBannerImageURL[] =L"BannerImageURL";
  443. static const WCHAR g_wszWMCopyrightURL[] =L"CopyrightURL";
  444. ////////////////////////////////////////////////////////////////
  445. //
  446. // Optional attributes, used to give information
  447. // about video stream properties.
  448. //
  449. static const WCHAR g_wszWMAspectRatioX[] =L"AspectRatioX";
  450. static const WCHAR g_wszWMAspectRatioY[] =L"AspectRatioY";
  451. ////////////////////////////////////////////////////////////////
  452. //
  453. // Optional attributes, used to give information
  454. // about the overall streaming properties of VBR files.
  455. // This attribute takes the format:
  456. // WORD wReserved (must be 0)
  457. // WM_LEAKY_BUCKET_PAIR pair1
  458. // WM_LEAKY_BUCKET_PAIR pair2
  459. // ...
  460. //
  461. static const WCHAR g_wszASFLeakyBucketPairs[] =L"ASFLeakyBucketPairs";
  462. ////////////////////////////////////////////////////////////////
  463. //
  464. // The NSC file supports the following attributes.
  465. //
  466. static const DWORD g_dwWMNSCAttributes = 5;
  467. static const WCHAR g_wszWMNSCName[] =L"NSC_Name";
  468. static const WCHAR g_wszWMNSCAddress[] =L"NSC_Address";
  469. static const WCHAR g_wszWMNSCPhone[] =L"NSC_Phone";
  470. static const WCHAR g_wszWMNSCEmail[] =L"NSC_Email";
  471. static const WCHAR g_wszWMNSCDescription[] =L"NSC_Description";
  472. ////////////////////////////////////////////////////////////////
  473. //
  474. // Attributes introduced in V9
  475. //
  476. static const WCHAR g_wszWMWriter[] =L"WM/Writer";
  477. static const WCHAR g_wszWMConductor[] =L"WM/Conductor";
  478. static const WCHAR g_wszWMProducer[] =L"WM/Producer";
  479. static const WCHAR g_wszWMDirector[] =L"WM/Director";
  480. static const WCHAR g_wszWMContentGroupDescription[] =L"WM/ContentGroupDescription";
  481. static const WCHAR g_wszWMSubTitle[] =L"WM/SubTitle";
  482. static const WCHAR g_wszWMPartOfSet[] =L"WM/PartOfSet";
  483. static const WCHAR g_wszWMProtectionType[] =L"WM/ProtectionType";
  484. static const WCHAR g_wszWMVideoHeight[] =L"WM/VideoHeight";
  485. static const WCHAR g_wszWMVideoWidth[] =L"WM/VideoWidth";
  486. static const WCHAR g_wszWMVideoFrameRate[] =L"WM/VideoFrameRate";
  487. static const WCHAR g_wszWMMediaClassPrimaryID[] =L"WM/MediaClassPrimaryID";
  488. static const WCHAR g_wszWMMediaClassSecondaryID[] =L"WM/MediaClassSecondaryID";
  489. static const WCHAR g_wszWMPeriod[] = L"WM/Period";
  490. static const WCHAR g_wszWMCategory[] = L"WM/Category";
  491. static const WCHAR g_wszWMPicture[] =L"WM/Picture";
  492. static const WCHAR g_wszWMLyrics_Synchronised[] =L"WM/Lyrics_Synchronised";
  493. static const WCHAR g_wszWMOriginalLyricist[] =L"WM/OriginalLyricist";
  494. static const WCHAR g_wszWMOriginalArtist[] =L"WM/OriginalArtist";
  495. static const WCHAR g_wszWMOriginalAlbumTitle[] =L"WM/OriginalAlbumTitle";
  496. static const WCHAR g_wszWMOriginalReleaseYear[] =L"WM/OriginalReleaseYear";
  497. static const WCHAR g_wszWMOriginalFilename[] =L"WM/OriginalFilename";
  498. static const WCHAR g_wszWMPublisher[] =L"WM/Publisher";
  499. static const WCHAR g_wszWMEncodedBy[] =L"WM/EncodedBy";
  500. static const WCHAR g_wszWMEncodingSettings[] =L"WM/EncodingSettings";
  501. static const WCHAR g_wszWMEncodingTime[] =L"WM/EncodingTime";
  502. static const WCHAR g_wszWMAuthorURL[] =L"WM/AuthorURL";
  503. static const WCHAR g_wszWMUserWebURL[] =L"WM/UserWebURL";
  504. static const WCHAR g_wszWMAudioFileURL[] =L"WM/AudioFileURL";
  505. static const WCHAR g_wszWMAudioSourceURL[] =L"WM/AudioSourceURL";
  506. static const WCHAR g_wszWMLanguage[] =L"WM/Language";
  507. static const WCHAR g_wszWMParentalRating[] =L"WM/ParentalRating";
  508. static const WCHAR g_wszWMBeatsPerMinute[] =L"WM/BeatsPerMinute";
  509. static const WCHAR g_wszWMInitialKey[] =L"WM/InitialKey";
  510. static const WCHAR g_wszWMMood[] =L"WM/Mood";
  511. static const WCHAR g_wszWMText[] =L"WM/Text";
  512. static const WCHAR g_wszWMDVDID[] =L"WM/DVDID";
  513. static const WCHAR g_wszWMWMContentID[] =L"WM/WMContentID";
  514. static const WCHAR g_wszWMWMCollectionID[] =L"WM/WMCollectionID";
  515. static const WCHAR g_wszWMWMCollectionGroupID[] =L"WM/WMCollectionGroupID";
  516. static const WCHAR g_wszWMUniqueFileIdentifier[] =L"WM/UniqueFileIdentifier";
  517. static const WCHAR g_wszWMModifiedBy[] =L"WM/ModifiedBy";
  518. static const WCHAR g_wszWMRadioStationName[] =L"WM/RadioStationName";
  519. static const WCHAR g_wszWMRadioStationOwner[] =L"WM/RadioStationOwner";
  520. static const WCHAR g_wszWMPlaylistDelay[] =L"WM/PlaylistDelay";
  521. static const WCHAR g_wszWMCodec[] =L"WM/Codec";
  522. static const WCHAR g_wszWMDRM[] =L"WM/DRM";
  523. static const WCHAR g_wszWMISRC[] =L"WM/ISRC";
  524. static const WCHAR g_wszWMProvider[] =L"WM/Provider";
  525. static const WCHAR g_wszWMProviderRating[] =L"WM/ProviderRating";
  526. static const WCHAR g_wszWMProviderStyle[] =L"WM/ProviderStyle";
  527. static const WCHAR g_wszWMContentDistributor[] =L"WM/ContentDistributor";
  528. static const WCHAR g_wszWMSubscriptionContentID[] =L"WM/SubscriptionContentID";
  529. static const WCHAR g_wszWMWMADRCPeakReference[] =L"WM/WMADRCPeakReference";
  530. static const WCHAR g_wszWMWMADRCPeakTarget[] =L"WM/WMADRCPeakTarget";
  531. static const WCHAR g_wszWMWMADRCAverageReference[] =L"WM/WMADRCAverageReference";
  532. static const WCHAR g_wszWMWMADRCAverageTarget[] =L"WM/WMADRCAverageTarget";
  533. ////////////////////////////////////////////////////////////////
  534. //
  535. // These are setting names for use in Get/SetOutputSetting
  536. //
  537. static const WCHAR g_wszEarlyDataDelivery[] =L"EarlyDataDelivery";
  538. static const WCHAR g_wszJustInTimeDecode[] =L"JustInTimeDecode";
  539. static const WCHAR g_wszSingleOutputBuffer[] =L"SingleOutputBuffer";
  540. static const WCHAR g_wszSoftwareScaling[] =L"SoftwareScaling";
  541. static const WCHAR g_wszDeliverOnReceive[] =L"DeliverOnReceive";
  542. static const WCHAR g_wszScrambledAudio[] =L"ScrambledAudio";
  543. static const WCHAR g_wszDedicatedDeliveryThread[] =L"DedicatedDeliveryThread";
  544. static const WCHAR g_wszEnableDiscreteOutput[] = L"EnableDiscreteOutput";
  545. static const WCHAR g_wszSpeakerConfig[] = L"SpeakerConfig";
  546. static const WCHAR g_wszDynamicRangeControl[] = L"DynamicRangeControl";
  547. static const WCHAR g_wszAllowInterlacedOutput[] = L"AllowInterlacedOutput";
  548. static const WCHAR g_wszVideoSampleDurations[] =L"VideoSampleDurations";
  549. static const WCHAR g_wszStreamLanguage[] =L"StreamLanguage";
  550. ////////////////////////////////////////////////////////////////
  551. //
  552. // These are setting names for use in Get/SetInputSetting
  553. //
  554. static const WCHAR g_wszDeinterlaceMode[] =L"DeinterlaceMode";
  555. static const WCHAR g_wszInitialPatternForInverseTelecine[] =L"InitialPatternForInverseTelecine";
  556. static const WCHAR g_wszJPEGCompressionQuality[] =L"JPEGCompressionQuality";
  557. static const WCHAR g_wszWatermarkCLSID[] =L"WatermarkCLSID";
  558. static const WCHAR g_wszWatermarkConfig[] =L"WatermarkConfig";
  559. static const WCHAR g_wszInterlacedCoding[] =L"InterlacedCoding";
  560. static const WCHAR g_wszFixedFrameRate[] =L"FixedFrameRate";
  561. ////////////////////////////////////////////////////////////////
  562. //
  563. // All known IWMPropertyVault property names
  564. //
  565. // g_wszOriginalSourceFormatTag is obsolete and has been superceded by g_wszOriginalWaveFormat
  566. static const WCHAR g_wszOriginalSourceFormatTag[] =L"_SOURCEFORMATTAG";
  567. static const WCHAR g_wszOriginalWaveFormat[] =L"_ORIGINALWAVEFORMAT";
  568. static const WCHAR g_wszEDL[] =L"_EDL";
  569. static const WCHAR g_wszComplexity[] =L"_COMPLEXITYEX";
  570. static const WCHAR g_wszDecoderComplexityRequested[] =L"_DECODERCOMPLEXITYPROFILE";
  571. ////////////////////////////////////////////////////////////////
  572. //
  573. // All known IWMIStreamProps property names
  574. //
  575. static const WCHAR g_wszReloadIndexOnSeek[] =L"ReloadIndexOnSeek";
  576. static const WCHAR g_wszStreamNumIndexObjects[] =L"StreamNumIndexObjects";
  577. static const WCHAR g_wszFailSeekOnError[] =L"FailSeekOnError";
  578. static const WCHAR g_wszPermitSeeksBeyondEndOfStream[] =L"PermitSeeksBeyondEndOfStream";
  579. static const WCHAR g_wszUsePacketAtSeekPoint[] =L"UsePacketAtSeekPoint";
  580. static const WCHAR g_wszSourceBufferTime[] =L"SourceBufferTime";
  581. static const WCHAR g_wszSourceMaxBytesAtOnce[] =L"SourceMaxBytesAtOnce";
  582. ////////////////////////////////////////////////////////////////
  583. //
  584. // VBR encoding settings
  585. //
  586. static const WCHAR g_wszVBREnabled[] =L"_VBRENABLED";
  587. static const WCHAR g_wszVBRQuality[] =L"_VBRQUALITY";
  588. static const WCHAR g_wszVBRBitrateMax[] =L"_RMAX";
  589. static const WCHAR g_wszVBRBufferWindowMax[] =L"_BMAX";
  590. ////////////////////////////////////////////////////////////////
  591. //
  592. // VBR Video settings
  593. //
  594. static const WCHAR g_wszVBRPeak[] = L"VBR Peak";
  595. static const WCHAR g_wszBufferAverage[] = L"Buffer Average";
  596. ////////////////////////////////////////////////////////////////
  597. //
  598. // Codec encoding complexity settings
  599. //
  600. // g_wszComplexity should be used to set desired encoding complexity on the
  601. // stream's IWMPropertyVault (see above for definition)
  602. // The below settings can be queried from IWMCodecInfo3::GetCodecProp()
  603. //
  604. static const WCHAR g_wszComplexityMax[] =L"_COMPLEXITYEXMAX";
  605. static const WCHAR g_wszComplexityOffline[] =L"_COMPLEXITYEXOFFLINE";
  606. static const WCHAR g_wszComplexityLive[] =L"_COMPLEXITYEXLIVE";
  607. static const WCHAR g_wszIsVBRSupported[] =L"_ISVBRSUPPORTED";
  608. ////////////////////////////////////////////////////////////////
  609. //
  610. // Codec enumeration settings
  611. //
  612. // g_wszVBREnabled can be used as a codec enumeration setting (see above for definition)
  613. static const WCHAR g_wszNumPasses[] = L"_PASSESUSED";
  614. ////////////////////////////////////////////////////////////////
  615. //
  616. // These are WMA Voice V9 attribute names and values
  617. //
  618. static const WCHAR g_wszMusicSpeechClassMode[] = L"MusicSpeechClassMode";
  619. static const WCHAR g_wszMusicClassMode[] = L"MusicClassMode";
  620. static const WCHAR g_wszSpeechClassMode[] = L"SpeechClassMode";
  621. static const WCHAR g_wszMixedClassMode[] = L"MixedClassMode";
  622. ////////////////////////////////////////////////////////////////
  623. //
  624. // The WMA Voice V9 supports the following format property.
  625. //
  626. static const WCHAR g_wszSpeechCaps[] = L"SpeechFormatCap";
  627. ////////////////////////////////////////////////////////////////
  628. //
  629. // Multi-channel WMA properties
  630. //
  631. static const WCHAR g_wszPeakValue[] = L"PeakValue";
  632. static const WCHAR g_wszAverageLevel[] = L"AverageLevel";
  633. static const WCHAR g_wszFold6To2Channels3[] = L"Fold6To2Channels3";
  634. static const WCHAR g_wszFoldToChannelsTemplate[] = L"Fold%luTo%luChannels%lu";
  635. ////////////////////////////////////////////////////////////////
  636. //
  637. // Complexity profile description strings
  638. //
  639. static const WCHAR g_wszDeviceConformanceTemplate[] = L"DeviceConformanceTemplate";
  640. ////////////////////////////////////////////////////////////////
  641. //
  642. // Frame interpolation on video decode
  643. //
  644. static const WCHAR g_wszEnableFrameInterpolation[] =L"EnableFrameInterpolation";
  645. ////////////////////////////////////////////////////////////////
  646. //
  647. // Needs previous sample for Delta frame on video decode
  648. //
  649. static const WCHAR g_wszNeedsPreviousSample[] =L"NeedsPreviousSample";
  650. ////////////////////////////////////////////////////////////////
  651. //
  652. // Flags that can be passed into the Start method of IWMReader
  653. //
  654. #define WM_START_CURRENTPOSITION ( ( QWORD )-1 )
  655. #define WM_BACKUP_OVERWRITE ((DWORD) 0x00000001)
  656. #define WM_RESTORE_INDIVIDUALIZE ((DWORD) 0x00000002)
  657. #define WAVE_FORMAT_DRM 0x0009
  658. enum __MIDL___MIDL_itf_wmsdkidl_0000_0001
  659. { WEBSTREAM_SAMPLE_TYPE_FILE = 0x1,
  660. WEBSTREAM_SAMPLE_TYPE_RENDER = 0x2
  661. } ;
  662. enum __MIDL___MIDL_itf_wmsdkidl_0000_0002
  663. { WM_SF_CLEANPOINT = 0x1,
  664. WM_SF_DISCONTINUITY = 0x2,
  665. WM_SF_DATALOSS = 0x4
  666. } ;
  667. enum __MIDL___MIDL_itf_wmsdkidl_0000_0003
  668. { WM_SFEX_NOTASYNCPOINT = 0x2,
  669. WM_SFEX_DATALOSS = 0x4
  670. } ;
  671. typedef
  672. enum WMT_STATUS
  673. { WMT_ERROR = 0,
  674. WMT_OPENED = 1,
  675. WMT_BUFFERING_START = 2,
  676. WMT_BUFFERING_STOP = 3,
  677. WMT_EOF = 4,
  678. WMT_END_OF_FILE = 4,
  679. WMT_END_OF_SEGMENT = 5,
  680. WMT_END_OF_STREAMING = 6,
  681. WMT_LOCATING = 7,
  682. WMT_CONNECTING = 8,
  683. WMT_NO_RIGHTS = 9,
  684. WMT_MISSING_CODEC = 10,
  685. WMT_STARTED = 11,
  686. WMT_STOPPED = 12,
  687. WMT_CLOSED = 13,
  688. WMT_STRIDING = 14,
  689. WMT_TIMER = 15,
  690. WMT_INDEX_PROGRESS = 16,
  691. WMT_SAVEAS_START = 17,
  692. WMT_SAVEAS_STOP = 18,
  693. WMT_NEW_SOURCEFLAGS = 19,
  694. WMT_NEW_METADATA = 20,
  695. WMT_BACKUPRESTORE_BEGIN = 21,
  696. WMT_SOURCE_SWITCH = 22,
  697. WMT_ACQUIRE_LICENSE = 23,
  698. WMT_INDIVIDUALIZE = 24,
  699. WMT_NEEDS_INDIVIDUALIZATION = 25,
  700. WMT_NO_RIGHTS_EX = 26,
  701. WMT_BACKUPRESTORE_END = 27,
  702. WMT_BACKUPRESTORE_CONNECTING = 28,
  703. WMT_BACKUPRESTORE_DISCONNECTING = 29,
  704. WMT_ERROR_WITHURL = 30,
  705. WMT_RESTRICTED_LICENSE = 31,
  706. WMT_CLIENT_CONNECT = 32,
  707. WMT_CLIENT_DISCONNECT = 33,
  708. WMT_NATIVE_OUTPUT_PROPS_CHANGED = 34,
  709. WMT_RECONNECT_START = 35,
  710. WMT_RECONNECT_END = 36,
  711. WMT_CLIENT_CONNECT_EX = 37,
  712. WMT_CLIENT_DISCONNECT_EX = 38,
  713. WMT_SET_FEC_SPAN = 39,
  714. WMT_PREROLL_READY = 40,
  715. WMT_PREROLL_COMPLETE = 41,
  716. WMT_CLIENT_PROPERTIES = 42,
  717. WMT_LICENSEURL_SIGNATURE_STATE = 43
  718. } WMT_STATUS;
  719. typedef
  720. enum WMT_RIGHTS
  721. { WMT_RIGHT_PLAYBACK = 0x1,
  722. WMT_RIGHT_COPY_TO_NON_SDMI_DEVICE = 0x2,
  723. WMT_RIGHT_COPY_TO_CD = 0x8,
  724. WMT_RIGHT_COPY_TO_SDMI_DEVICE = 0x10,
  725. WMT_RIGHT_ONE_TIME = 0x20,
  726. WMT_RIGHT_SAVE_STREAM_PROTECTED = 0x40,
  727. WMT_RIGHT_SDMI_TRIGGER = 0x10000,
  728. WMT_RIGHT_SDMI_NOMORECOPIES = 0x20000
  729. } WMT_RIGHTS;
  730. typedef
  731. enum WMT_STREAM_SELECTION
  732. { WMT_OFF = 0,
  733. WMT_CLEANPOINT_ONLY = 1,
  734. WMT_ON = 2
  735. } WMT_STREAM_SELECTION;
  736. typedef
  737. enum WMT_IMAGE_TYPE
  738. { WMT_IT_NONE = 0,
  739. WMT_IT_BITMAP = 1,
  740. WMT_IT_JPEG = 2,
  741. WMT_IT_GIF = 3
  742. } WMT_IMAGE_TYPE;
  743. typedef
  744. enum WMT_ATTR_DATATYPE
  745. { WMT_TYPE_DWORD = 0,
  746. WMT_TYPE_STRING = 1,
  747. WMT_TYPE_BINARY = 2,
  748. WMT_TYPE_BOOL = 3,
  749. WMT_TYPE_QWORD = 4,
  750. WMT_TYPE_WORD = 5,
  751. WMT_TYPE_GUID = 6
  752. } WMT_ATTR_DATATYPE;
  753. typedef
  754. enum WMT_ATTR_IMAGETYPE
  755. { WMT_IMAGETYPE_BITMAP = 1,
  756. WMT_IMAGETYPE_JPEG = 2,
  757. WMT_IMAGETYPE_GIF = 3
  758. } WMT_ATTR_IMAGETYPE;
  759. typedef
  760. enum WMT_VERSION
  761. { WMT_VER_4_0 = 0x40000,
  762. WMT_VER_7_0 = 0x70000,
  763. WMT_VER_8_0 = 0x80000,
  764. WMT_VER_9_0 = 0x90000
  765. } WMT_VERSION;
  766. typedef
  767. enum tagWMT_STORAGE_FORMAT
  768. { WMT_Storage_Format_MP3 = 0,
  769. WMT_Storage_Format_V1 = WMT_Storage_Format_MP3 + 1
  770. } WMT_STORAGE_FORMAT;
  771. typedef
  772. enum tagWMT_DRMLA_TRUST
  773. { WMT_DRMLA_UNTRUSTED = 0,
  774. WMT_DRMLA_TRUSTED = WMT_DRMLA_UNTRUSTED + 1,
  775. WMT_DRMLA_TAMPERED = WMT_DRMLA_TRUSTED + 1
  776. } WMT_DRMLA_TRUST;
  777. typedef
  778. enum tagWMT_TRANSPORT_TYPE
  779. { WMT_Transport_Type_Unreliable = 0,
  780. WMT_Transport_Type_Reliable = WMT_Transport_Type_Unreliable + 1
  781. } WMT_TRANSPORT_TYPE;
  782. typedef
  783. enum WMT_NET_PROTOCOL
  784. { WMT_PROTOCOL_HTTP = 0
  785. } WMT_NET_PROTOCOL;
  786. typedef
  787. enum WMT_PLAY_MODE
  788. { WMT_PLAY_MODE_AUTOSELECT = 0,
  789. WMT_PLAY_MODE_LOCAL = 1,
  790. WMT_PLAY_MODE_DOWNLOAD = 2,
  791. WMT_PLAY_MODE_STREAMING = 3
  792. } WMT_PLAY_MODE;
  793. typedef
  794. enum WMT_PROXY_SETTINGS
  795. { WMT_PROXY_SETTING_NONE = 0,
  796. WMT_PROXY_SETTING_MANUAL = 1,
  797. WMT_PROXY_SETTING_AUTO = 2,
  798. WMT_PROXY_SETTING_BROWSER = 3,
  799. WMT_PROXY_SETTING_MAX = WMT_PROXY_SETTING_BROWSER + 1
  800. } WMT_PROXY_SETTINGS;
  801. typedef DWORD WMT_CODEC_INFO_TYPE;
  802. #define WMT_CODECINFO_AUDIO 0
  803. #define WMT_CODECINFO_VIDEO 1
  804. #define WMT_CODECINFO_UNKNOWN 0xffffffff
  805. enum __MIDL___MIDL_itf_wmsdkidl_0000_0004
  806. { WM_DM_NOTINTERLACED = 0,
  807. WM_DM_DEINTERLACE_NORMAL = 1,
  808. WM_DM_DEINTERLACE_HALFSIZE = 2,
  809. WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE = 3,
  810. WM_DM_DEINTERLACE_INVERSETELECINE = 4,
  811. WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE = 5
  812. } ;
  813. enum __MIDL___MIDL_itf_wmsdkidl_0000_0005
  814. { WM_DM_IT_DISABLE_COHERENT_MODE = 0,
  815. WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_TOP = 1,
  816. WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_TOP = 2,
  817. WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_TOP = 3,
  818. WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_TOP = 4,
  819. WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_TOP = 5,
  820. WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM = 6,
  821. WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM = 7,
  822. WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM = 8,
  823. WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM = 9,
  824. WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM = 10
  825. } ;
  826. typedef
  827. enum tagWMT_OFFSET_FORMAT
  828. { WMT_OFFSET_FORMAT_100NS = 0,
  829. WMT_OFFSET_FORMAT_FRAME_NUMBERS = WMT_OFFSET_FORMAT_100NS + 1,
  830. WMT_OFFSET_FORMAT_PLAYLIST_OFFSET = WMT_OFFSET_FORMAT_FRAME_NUMBERS + 1,
  831. WMT_OFFSET_FORMAT_TIMECODE = WMT_OFFSET_FORMAT_PLAYLIST_OFFSET + 1
  832. } WMT_OFFSET_FORMAT;
  833. typedef
  834. enum tagWMT_INDEXER_TYPE
  835. { WMT_IT_PRESENTATION_TIME = 0,
  836. WMT_IT_FRAME_NUMBERS = WMT_IT_PRESENTATION_TIME + 1,
  837. WMT_IT_TIMECODE = WMT_IT_FRAME_NUMBERS + 1
  838. } WMT_INDEXER_TYPE;
  839. typedef
  840. enum tagWMT_INDEX_TYPE
  841. { WMT_IT_NEAREST_DATA_UNIT = 1,
  842. WMT_IT_NEAREST_OBJECT = WMT_IT_NEAREST_DATA_UNIT + 1,
  843. WMT_IT_NEAREST_CLEAN_POINT = WMT_IT_NEAREST_OBJECT + 1
  844. } WMT_INDEX_TYPE;
  845. typedef
  846. enum tagWMT_FILESINK_MODE
  847. { WMT_FM_SINGLE_BUFFERS = 0x1,
  848. WMT_FM_FILESINK_DATA_UNITS = 0x2,
  849. WMT_FM_FILESINK_UNBUFFERED = 0x4
  850. } WMT_FILESINK_MODE;
  851. typedef
  852. enum tagWMT_MUSICSPEECH_CLASS_MODE
  853. { WMT_MS_CLASS_MUSIC = 0,
  854. WMT_MS_CLASS_SPEECH = 1,
  855. WMT_MS_CLASS_MIXED = 2
  856. } WMT_MUSICSPEECH_CLASS_MODE;
  857. typedef
  858. enum tagWMT_WATERMARK_ENTRY_TYPE
  859. { WMT_WMETYPE_AUDIO = 1,
  860. WMT_WMETYPE_VIDEO = 2
  861. } WMT_WATERMARK_ENTRY_TYPE;
  862. enum __MIDL___MIDL_itf_wmsdkidl_0000_0006
  863. { WM_PLAYBACK_DRC_HIGH = 0,
  864. WM_PLAYBACK_DRC_MEDIUM = WM_PLAYBACK_DRC_HIGH + 1,
  865. WM_PLAYBACK_DRC_LOW = WM_PLAYBACK_DRC_MEDIUM + 1
  866. } ;
  867. enum __MIDL___MIDL_itf_wmsdkidl_0000_0007
  868. { WMT_TIMECODE_FRAMERATE_30 = 0,
  869. WMT_TIMECODE_FRAMERATE_30DROP = WMT_TIMECODE_FRAMERATE_30 + 1,
  870. WMT_TIMECODE_FRAMERATE_25 = WMT_TIMECODE_FRAMERATE_30DROP + 1,
  871. WMT_TIMECODE_FRAMERATE_24 = WMT_TIMECODE_FRAMERATE_25 + 1
  872. } ;
  873. typedef
  874. enum WMT_CREDENTIAL_FLAGS
  875. { WMT_CREDENTIAL_SAVE = 0x1,
  876. WMT_CREDENTIAL_DONT_CACHE = 0x2,
  877. WMT_CREDENTIAL_CLEAR_TEXT = 0x4,
  878. WMT_CREDENTIAL_PROXY = 0x8,
  879. WMT_CREDENTIAL_ENCRYPT = 0x10
  880. } WMT_CREDENTIAL_FLAGS;
  881. typedef
  882. enum WM_AETYPE
  883. { WM_AETYPE_INCLUDE = 0x69,
  884. WM_AETYPE_EXCLUDE = 0x65
  885. } WM_AETYPE;
  886. #pragma pack(push)
  887. #pragma pack(2)
  888. typedef struct _WMStreamPrioritizationRecord
  889. {
  890. WORD wStreamNumber;
  891. BOOL fMandatory;
  892. } WM_STREAM_PRIORITY_RECORD;
  893. #pragma pack(pop)
  894. typedef struct _WMWriterStatistics
  895. {
  896. QWORD qwSampleCount;
  897. QWORD qwByteCount;
  898. QWORD qwDroppedSampleCount;
  899. QWORD qwDroppedByteCount;
  900. DWORD dwCurrentBitrate;
  901. DWORD dwAverageBitrate;
  902. DWORD dwExpectedBitrate;
  903. DWORD dwCurrentSampleRate;
  904. DWORD dwAverageSampleRate;
  905. DWORD dwExpectedSampleRate;
  906. } WM_WRITER_STATISTICS;
  907. typedef struct _WMWriterStatisticsEx
  908. {
  909. DWORD dwBitratePlusOverhead;
  910. DWORD dwCurrentSampleDropRateInQueue;
  911. DWORD dwCurrentSampleDropRateInCodec;
  912. DWORD dwCurrentSampleDropRateInMultiplexer;
  913. DWORD dwTotalSampleDropsInQueue;
  914. DWORD dwTotalSampleDropsInCodec;
  915. DWORD dwTotalSampleDropsInMultiplexer;
  916. } WM_WRITER_STATISTICS_EX;
  917. typedef struct _WMReaderStatistics
  918. {
  919. DWORD cbSize;
  920. DWORD dwBandwidth;
  921. DWORD cPacketsReceived;
  922. DWORD cPacketsRecovered;
  923. DWORD cPacketsLost;
  924. WORD wQuality;
  925. } WM_READER_STATISTICS;
  926. typedef struct _WMReaderClientInfo
  927. {
  928. DWORD cbSize;
  929. WCHAR *wszLang;
  930. WCHAR *wszBrowserUserAgent;
  931. WCHAR *wszBrowserWebPage;
  932. QWORD qwReserved;
  933. LPARAM *pReserved;
  934. WCHAR *wszHostExe;
  935. QWORD qwHostVersion;
  936. WCHAR *wszPlayerUserAgent;
  937. } WM_READER_CLIENTINFO;
  938. typedef struct _WMClientProperties
  939. {
  940. DWORD dwIPAddress;
  941. DWORD dwPort;
  942. } WM_CLIENT_PROPERTIES;
  943. typedef struct _WMClientPropertiesEx
  944. {
  945. DWORD cbSize;
  946. LPCWSTR pwszIPAddress;
  947. LPCWSTR pwszPort;
  948. LPCWSTR pwszDNSName;
  949. } WM_CLIENT_PROPERTIES_EX;
  950. typedef struct _WMPortNumberRange
  951. {
  952. WORD wPortBegin;
  953. WORD wPortEnd;
  954. } WM_PORT_NUMBER_RANGE;
  955. typedef struct _WMT_BUFFER_SEGMENT
  956. {
  957. INSSBuffer *pBuffer;
  958. DWORD cbOffset;
  959. DWORD cbLength;
  960. } WMT_BUFFER_SEGMENT;
  961. typedef struct _WMT_PAYLOAD_FRAGMENT
  962. {
  963. DWORD dwPayloadIndex;
  964. WMT_BUFFER_SEGMENT segmentData;
  965. } WMT_PAYLOAD_FRAGMENT;
  966. typedef struct _WMT_FILESINK_DATA_UNIT
  967. {
  968. WMT_BUFFER_SEGMENT packetHeaderBuffer;
  969. DWORD cPayloads;
  970. WMT_BUFFER_SEGMENT *pPayloadHeaderBuffers;
  971. DWORD cPayloadDataFragments;
  972. WMT_PAYLOAD_FRAGMENT *pPayloadDataFragments;
  973. } WMT_FILESINK_DATA_UNIT;
  974. typedef struct _WMT_WEBSTREAM_FORMAT
  975. {
  976. WORD cbSize;
  977. WORD cbSampleHeaderFixedData;
  978. WORD wVersion;
  979. WORD wReserved;
  980. } WMT_WEBSTREAM_FORMAT;
  981. typedef struct _WMT_WEBSTREAM_SAMPLE_HEADER
  982. {
  983. WORD cbLength;
  984. WORD wPart;
  985. WORD cTotalParts;
  986. WORD wSampleType;
  987. WCHAR wszURL[ 1 ];
  988. } WMT_WEBSTREAM_SAMPLE_HEADER;
  989. typedef struct _WMAddressAccessEntry
  990. {
  991. DWORD dwIPAddress;
  992. DWORD dwMask;
  993. } WM_ADDRESS_ACCESSENTRY;
  994. #pragma pack(push)
  995. #pragma pack(1)
  996. typedef struct _WMPicture
  997. {
  998. LPWSTR pwszMIMEType;
  999. BYTE bPictureType;
  1000. LPWSTR pwszDescription;
  1001. DWORD dwDataLen;
  1002. BYTE *pbData;
  1003. } WM_PICTURE;
  1004. typedef struct _WMSynchronisedLyrics
  1005. {
  1006. BYTE bTimeStampFormat;
  1007. BYTE bContentType;
  1008. LPWSTR pwszContentDescriptor;
  1009. DWORD dwLyricsLen;
  1010. BYTE *pbLyrics;
  1011. } WM_SYNCHRONISED_LYRICS;
  1012. typedef struct _WMUserWebURL
  1013. {
  1014. LPWSTR pwszDescription;
  1015. LPWSTR pwszURL;
  1016. } WM_USER_WEB_URL;
  1017. typedef struct _WMUserText
  1018. {
  1019. LPWSTR pwszDescription;
  1020. LPWSTR pwszText;
  1021. } WM_USER_TEXT;
  1022. typedef struct _WMLeakyBucketPair
  1023. {
  1024. DWORD dwBitrate;
  1025. DWORD msBufferWindow;
  1026. } WM_LEAKY_BUCKET_PAIR;
  1027. #pragma pack(pop)
  1028. typedef struct _WM_LICENSE_STATE_DATA
  1029. {
  1030. DWORD dwSize;
  1031. DWORD dwNumStates;
  1032. DRM_LICENSE_STATE_DATA stateData[ 1 ];
  1033. } WM_LICENSE_STATE_DATA;
  1034. typedef struct __WMT_WATERMARK_ENTRY
  1035. {
  1036. WMT_WATERMARK_ENTRY_TYPE wmetType;
  1037. CLSID clsid;
  1038. UINT cbDisplayName;
  1039. LPWSTR pwszDisplayName;
  1040. } WMT_WATERMARK_ENTRY;
  1041. #define WMT_VIDEOIMAGE_SAMPLE_INPUT_FRAME 1 // sample has input frame
  1042. #define WMT_VIDEOIMAGE_SAMPLE_OUTPUT_FRAME 2 // sample produces output frame
  1043. #define WMT_VIDEOIMAGE_SAMPLE_USES_CURRENT_INPUT_FRAME 4
  1044. #define WMT_VIDEOIMAGE_SAMPLE_USES_PREVIOUS_INPUT_FRAME 8
  1045. #define WMT_VIDEOIMAGE_SAMPLE_MOTION 1 // acef used (includes resizing)
  1046. #define WMT_VIDEOIMAGE_SAMPLE_ROTATION 2 // bd also used (not valid without acef)
  1047. #define WMT_VIDEOIMAGE_SAMPLE_BLENDING 4 // BlendCoef1 used
  1048. #define WMT_VIDEOIMAGE_SAMPLE_ADV_BLENDING 8 // BlendCoef2 also used (not valid without BlendCoef1)
  1049. #define WMT_VIDEOIMAGE_INTEGER_DENOMINATOR 65536L
  1050. #define WMT_VIDEOIMAGE_MAGIC_NUMBER 0x1d4a45f2
  1051. typedef struct __WMT_VIDEOIMAGE_SAMPLE
  1052. {
  1053. DWORD dwMagic;
  1054. ULONG cbStruct;
  1055. DWORD dwControlFlags;
  1056. DWORD dwInputFlagsCur;
  1057. LONG lCurMotionXtoX;
  1058. LONG lCurMotionYtoX;
  1059. LONG lCurMotionXoffset;
  1060. LONG lCurMotionXtoY;
  1061. LONG lCurMotionYtoY;
  1062. LONG lCurMotionYoffset;
  1063. LONG lCurBlendCoef1;
  1064. LONG lCurBlendCoef2;
  1065. DWORD dwInputFlagsPrev;
  1066. LONG lPrevMotionXtoX;
  1067. LONG lPrevMotionYtoX;
  1068. LONG lPrevMotionXoffset;
  1069. LONG lPrevMotionXtoY;
  1070. LONG lPrevMotionYtoY;
  1071. LONG lPrevMotionYoffset;
  1072. LONG lPrevBlendCoef1;
  1073. LONG lPrevBlendCoef2;
  1074. } WMT_VIDEOIMAGE_SAMPLE;
  1075. typedef struct _WMMediaType
  1076. {
  1077. GUID majortype;
  1078. GUID subtype;
  1079. BOOL bFixedSizeSamples;
  1080. BOOL bTemporalCompression;
  1081. ULONG lSampleSize;
  1082. GUID formattype;
  1083. IUnknown *pUnk;
  1084. ULONG cbFormat;
  1085. /* [size_is] */ BYTE *pbFormat;
  1086. } WM_MEDIA_TYPE;
  1087. typedef struct tagWMVIDEOINFOHEADER
  1088. {
  1089. //
  1090. // The bit we really want to use.
  1091. //
  1092. RECT rcSource;
  1093. //
  1094. // Where the video should go.
  1095. //
  1096. RECT rcTarget;
  1097. //
  1098. // Approximate bit data rate.
  1099. //
  1100. DWORD dwBitRate;
  1101. //
  1102. // Bit error rate for this stream.
  1103. //
  1104. DWORD dwBitErrorRate;
  1105. //
  1106. // Average time per frame (100ns units).
  1107. //
  1108. LONGLONG AvgTimePerFrame;
  1109. BITMAPINFOHEADER bmiHeader;
  1110. } WMVIDEOINFOHEADER;
  1111. typedef struct tagWMVIDEOINFOHEADER2
  1112. {
  1113. //
  1114. // The bit we really want to use.
  1115. //
  1116. RECT rcSource;
  1117. //
  1118. // Where the video should go.
  1119. //
  1120. RECT rcTarget;
  1121. //
  1122. // Approximate bit data rate.
  1123. //
  1124. DWORD dwBitRate;
  1125. //
  1126. // Bit error rate for this stream.
  1127. //
  1128. DWORD dwBitErrorRate;
  1129. //
  1130. // Average time per frame (100ns units).
  1131. //
  1132. LONGLONG AvgTimePerFrame;
  1133. //
  1134. // Use AMINTERLACE_* defines. Reject connection if undefined bits are not 0.
  1135. //
  1136. DWORD dwInterlaceFlags;
  1137. //
  1138. // use AMCOPYPROTECT_* defines. Reject connection if undefined bits are not 0.
  1139. //
  1140. DWORD dwCopyProtectFlags;
  1141. //
  1142. // X dimension of picture aspect ratio, e.g. 16 for 16x9 display.
  1143. //
  1144. DWORD dwPictAspectRatioX;
  1145. //
  1146. // Y dimension of picture aspect ratio, e.g. 9 for 16x9 display.
  1147. //
  1148. DWORD dwPictAspectRatioY;
  1149. //
  1150. // Must be 0; reject connection otherwise.
  1151. //
  1152. DWORD dwReserved1;
  1153. //
  1154. // Must be 0; reject connection otherwise.
  1155. //
  1156. DWORD dwReserved2;
  1157. BITMAPINFOHEADER bmiHeader;
  1158. } WMVIDEOINFOHEADER2;
  1159. typedef struct tagWMMPEG2VIDEOINFO
  1160. {
  1161. //
  1162. // Video info header2.
  1163. //
  1164. WMVIDEOINFOHEADER2 hdr;
  1165. //
  1166. // Not used for DVD.
  1167. //
  1168. DWORD dwStartTimeCode;
  1169. //
  1170. // Is 0 for DVD (no sequence header).
  1171. //
  1172. DWORD cbSequenceHeader;
  1173. //
  1174. // Use enum MPEG2Profile.
  1175. //
  1176. DWORD dwProfile;
  1177. //
  1178. // Use enum MPEG2Level.
  1179. //
  1180. DWORD dwLevel;
  1181. //
  1182. // Use AMMPEG2_* defines. Reject connection if undefined bits are not 0.
  1183. //
  1184. DWORD dwFlags;
  1185. //
  1186. // Sequence header.
  1187. //
  1188. DWORD dwSequenceHeader[1];
  1189. } WMMPEG2VIDEOINFO;
  1190. typedef struct tagWMSCRIPTFORMAT
  1191. {
  1192. GUID scriptType;
  1193. } WMSCRIPTFORMAT;
  1194. // 00000000-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_Base
  1195. EXTERN_GUID(WMMEDIASUBTYPE_Base,
  1196. 0x00000000, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1197. // 73646976-0000-0010-8000-00AA00389B71 'vids' == WMMEDIATYPE_Video
  1198. EXTERN_GUID(WMMEDIATYPE_Video,
  1199. 0x73646976, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  1200. // e436eb78-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB1
  1201. EXTERN_GUID(WMMEDIASUBTYPE_RGB1,
  1202. 0xe436eb78, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  1203. // e436eb79-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB4
  1204. EXTERN_GUID(WMMEDIASUBTYPE_RGB4,
  1205. 0xe436eb79, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  1206. // e436eb7a-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB8
  1207. EXTERN_GUID(WMMEDIASUBTYPE_RGB8,
  1208. 0xe436eb7a, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  1209. // e436eb7b-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB565
  1210. EXTERN_GUID(WMMEDIASUBTYPE_RGB565,
  1211. 0xe436eb7b, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  1212. // e436eb7c-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB555
  1213. EXTERN_GUID(WMMEDIASUBTYPE_RGB555,
  1214. 0xe436eb7c, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  1215. // e436eb7d-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB24
  1216. EXTERN_GUID(WMMEDIASUBTYPE_RGB24,
  1217. 0xe436eb7d, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  1218. // e436eb7e-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB32
  1219. EXTERN_GUID(WMMEDIASUBTYPE_RGB32,
  1220. 0xe436eb7e, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  1221. // 30323449-0000-0010-8000-00AA00389B71 'YV12' == MEDIASUBTYPE_I420
  1222. EXTERN_GUID(WMMEDIASUBTYPE_I420,
  1223. 0x30323449, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  1224. // 56555949-0000-0010-8000-00AA00389B71 'YV12' == MEDIASUBTYPE_IYUV
  1225. EXTERN_GUID(WMMEDIASUBTYPE_IYUV,
  1226. 0x56555949, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  1227. // 31313259-0000-0010-8000-00AA00389B71 'YV12' == MEDIASUBTYPE_YV12
  1228. EXTERN_GUID(WMMEDIASUBTYPE_YV12,
  1229. 0x32315659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  1230. // 32595559-0000-0010-8000-00AA00389B71 'YUY2' == MEDIASUBTYPE_YUY2
  1231. EXTERN_GUID(WMMEDIASUBTYPE_YUY2,
  1232. 0x32595559, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  1233. // 59565955-0000-0010-8000-00AA00389B71 'UYVY' == MEDIASUBTYPE_UYVY
  1234. EXTERN_GUID(WMMEDIASUBTYPE_UYVY,
  1235. 0x59565955, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  1236. // 55595659-0000-0010-8000-00AA00389B71 'YVYU' == MEDIASUBTYPE_YVYU
  1237. EXTERN_GUID(WMMEDIASUBTYPE_YVYU,
  1238. 0x55595659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  1239. // 39555659-0000-0010-8000-00AA00389B71 'YVU9' == MEDIASUBTYPE_YVU9
  1240. EXTERN_GUID(WMMEDIASUBTYPE_YVU9,
  1241. 0x39555659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  1242. // 1d4a45f2-e5f6-4b44-8388-f0ae5c0e0c37 MEDIASUBTYPE_VIDEOIMAGE
  1243. EXTERN_GUID(WMMEDIASUBTYPE_VIDEOIMAGE,
  1244. 0x1d4a45f2, 0xe5f6, 0x4b44, 0x83, 0x88, 0xf0, 0xae, 0x5c, 0x0e, 0x0c, 0x37);
  1245. // 3334504D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MP43
  1246. EXTERN_GUID(WMMEDIASUBTYPE_MP43,
  1247. 0x3334504D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1248. // 5334504D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MP4S
  1249. EXTERN_GUID(WMMEDIASUBTYPE_MP4S,
  1250. 0x5334504D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1251. // 31564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMV1
  1252. EXTERN_GUID(WMMEDIASUBTYPE_WMV1,
  1253. 0x31564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1254. // 32564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMV2
  1255. EXTERN_GUID(WMMEDIASUBTYPE_WMV2,
  1256. 0x32564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1257. // 3153534D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MSS1
  1258. EXTERN_GUID(WMMEDIASUBTYPE_MSS1,
  1259. 0x3153534D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1260. // e06d8026-db46-11cf-b4d1-00805f6cbbea WMMEDIASUBTYPE_MPEG2_VIDEO
  1261. EXTERN_GUID(WMMEDIASUBTYPE_MPEG2_VIDEO,
  1262. 0xe06d8026, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
  1263. // 73647561-0000-0010-8000-00AA00389B71 'auds' == WMMEDIATYPE_Audio
  1264. EXTERN_GUID(WMMEDIATYPE_Audio,
  1265. 0x73647561, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  1266. // 00000001-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_PCM
  1267. EXTERN_GUID(WMMEDIASUBTYPE_PCM,
  1268. 0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1269. // 00000009-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_DRM
  1270. EXTERN_GUID(WMMEDIASUBTYPE_DRM,
  1271. 0x00000009, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1272. // 00000162-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudioV9
  1273. EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV9,
  1274. 0x00000162, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1275. // 00000163-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudio_Lossless
  1276. EXTERN_GUID(WMMEDIASUBTYPE_WMAudio_Lossless,
  1277. 0x00000163, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1278. // 3253534D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MSS2
  1279. EXTERN_GUID(WMMEDIASUBTYPE_MSS2,
  1280. 0x3253534D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1281. // 0000000A-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMSP1
  1282. EXTERN_GUID( WMMEDIASUBTYPE_WMSP1,
  1283. 0x0000000A,0x0000,0x0010,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71);
  1284. // 33564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMV3
  1285. EXTERN_GUID(WMMEDIASUBTYPE_WMV3,
  1286. 0x33564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1287. // 33564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMVP
  1288. EXTERN_GUID(WMMEDIASUBTYPE_WMVP,
  1289. 0x50564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1290. // 00000161-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudioV8
  1291. EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV8,
  1292. 0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1293. // 00000161-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudioV7
  1294. EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV7,
  1295. 0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1296. // 00000161-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudioV2
  1297. EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV2,
  1298. 0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1299. // 00000130-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_ACELPnet
  1300. EXTERN_GUID(WMMEDIASUBTYPE_ACELPnet,
  1301. 0x00000130, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1302. // 00000050-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MP3
  1303. EXTERN_GUID(WMMEDIASUBTYPE_MP3,
  1304. 0x00000055, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  1305. // 776257d4-c627-41cb-8f81-7ac7ff1c40cc WMMEDIASUBTYPE_WebStream
  1306. EXTERN_GUID(WMMEDIASUBTYPE_WebStream,
  1307. 0x776257d4, 0xc627, 0x41cb, 0x8f, 0x81, 0x7a, 0xc7, 0xff, 0x1c, 0x40, 0xcc);
  1308. // 73636d64-0000-0010-8000-00AA00389B71 'scmd' == WMMEDIATYPE_Script
  1309. EXTERN_GUID(WMMEDIATYPE_Script,
  1310. 0x73636d64, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  1311. // 34A50FD8-8AA5-4386-81FE-A0EFE0488E31 'imag' == WMMEDIATYPE_Image
  1312. EXTERN_GUID(WMMEDIATYPE_Image,
  1313. 0x34a50fd8, 0x8aa5, 0x4386, 0x81, 0xfe, 0xa0, 0xef, 0xe0, 0x48, 0x8e, 0x31);
  1314. // D9E47579-930E-4427-ADFC-AD80F290E470 'fxfr' == WMMEDIATYPE_FileTransfer
  1315. EXTERN_GUID(WMMEDIATYPE_FileTransfer,
  1316. 0xd9e47579, 0x930e, 0x4427, 0xad, 0xfc, 0xad, 0x80, 0xf2, 0x90, 0xe4, 0x70);
  1317. // 9BBA1EA7-5AB2-4829-BA57-0940209BCF3E 'text' == WMMEDIATYPE_Text
  1318. EXTERN_GUID(WMMEDIATYPE_Text,
  1319. 0x9bba1ea7, 0x5ab2, 0x4829, 0xba, 0x57, 0x9, 0x40, 0x20, 0x9b, 0xcf, 0x3e);
  1320. // 05589f80-c356-11ce-bf01-00aa0055595a WMFORMAT_VideoInfo
  1321. EXTERN_GUID(WMFORMAT_VideoInfo,
  1322. 0x05589f80, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a);
  1323. // e06d80e3-db46-11cf-b4d1-00805f6cbbea WMFORMAT_MPEG2Video
  1324. EXTERN_GUID(WMFORMAT_MPEG2Video,
  1325. 0xe06d80e3, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x05f, 0x6c, 0xbb, 0xea);
  1326. // 05589f81-c356-11ce-bf01-00aa0055595a WMFORMAT_WaveFormatEx
  1327. EXTERN_GUID(WMFORMAT_WaveFormatEx,
  1328. 0x05589f81, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a);
  1329. // 5C8510F2-DEBE-4ca7-BBA5-F07A104F8DFF WMFORMAT_Script
  1330. EXTERN_GUID(WMFORMAT_Script,
  1331. 0x5c8510f2, 0xdebe, 0x4ca7, 0xbb, 0xa5, 0xf0, 0x7a, 0x10, 0x4f, 0x8d, 0xff);
  1332. // da1e6b13-8359-4050-b398-388e965bf00c WMFORMAT_WebStream
  1333. EXTERN_GUID(WMFORMAT_WebStream,
  1334. 0xda1e6b13, 0x8359, 0x4050, 0xb3, 0x98, 0x38, 0x8e, 0x96, 0x5b, 0xf0, 0x0c);
  1335. // 82f38a70-c29f-11d1-97ad-00a0c95ea850 WMSCRIPTTYPE_TwoStrings
  1336. EXTERN_GUID( WMSCRIPTTYPE_TwoStrings,
  1337. 0x82f38a70,0xc29f,0x11d1,0x97,0xad,0x00,0xa0,0xc9,0x5e,0xa8,0x50);
  1338. EXTERN_GUID( WM_SampleExtensionGUID_OutputCleanPoint, 0xf72a3c6f, 0x6eb4, 0x4ebc, 0xb1, 0x92, 0x9, 0xad, 0x97, 0x59, 0xe8, 0x28 );
  1339. EXTERN_GUID( WM_SampleExtensionGUID_Timecode, 0x399595ec, 0x8667, 0x4e2d, 0x8f, 0xdb, 0x98, 0x81, 0x4c, 0xe7, 0x6c, 0x1e);
  1340. EXTERN_GUID( WM_SampleExtensionGUID_FileName, 0xe165ec0e, 0x19ed, 0x45d7, 0xb4, 0xa7, 0x25, 0xcb, 0xd1, 0xe2, 0x8e, 0x9b);
  1341. EXTERN_GUID( WM_SampleExtensionGUID_ContentType, 0xd590dc20, 0x07bc, 0x436c, 0x9c, 0xf7, 0xf3, 0xbb, 0xfb, 0xf1, 0xa4, 0xdc );
  1342. EXTERN_GUID( WM_SampleExtensionGUID_PixelAspectRatio, 0x1b1ee554, 0xf9ea, 0x4bc8, 0x82, 0x1a, 0x37, 0x6b, 0x74, 0xe4, 0xc4, 0xb8 );
  1343. EXTERN_GUID( WM_SampleExtensionGUID_SampleDuration, 0xc6bd9450, 0x867f, 0x4907, 0x83, 0xa3, 0xc7, 0x79, 0x21, 0xb7, 0x33, 0xad );
  1344. #define WM_SampleExtension_ContentType_Size 1
  1345. #define WM_SampleExtension_PixelAspectRatio_Size 2
  1346. #define WM_SampleExtension_Timecode_Size 14
  1347. #define WM_SampleExtension_SampleDuration_Size 2
  1348. #define WM_CT_INTERLACED 128
  1349. #define WM_CT_BOTTOM_FIELD_FIRST 32
  1350. #define WM_CT_TOP_FIELD_FIRST 64
  1351. #pragma pack(push)
  1352. #pragma pack(2)
  1353. typedef struct _WMT_TIMECODE_EXTENSION_DATA
  1354. {
  1355. WORD wRange;
  1356. DWORD dwTimecode;
  1357. DWORD dwUserbits;
  1358. DWORD dwAmFlags;
  1359. } WMT_TIMECODE_EXTENSION_DATA;
  1360. #pragma pack(pop)
  1361. EXTERN_GUID( IID_IWMMediaProps, 0x96406bce,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1362. EXTERN_GUID( IID_IWMVideoMediaProps, 0x96406bcf,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1363. EXTERN_GUID( IID_IWMWriter, 0x96406bd4,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1364. EXTERN_GUID( IID_IWMInputMediaProps, 0x96406bd5,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1365. EXTERN_GUID( IID_IWMReader, 0x96406bd6,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1366. EXTERN_GUID( IID_IWMSyncReader, 0x9397f121,0x7705,0x4dc9,0xb0,0x49,0x98,0xb6,0x98,0x18,0x84,0x14 );
  1367. EXTERN_GUID( IID_IWMSyncReader2, 0xfaed3d21,0x1b6b,0x4af7,0x8c,0xb6,0x3e,0x18,0x9b,0xbc,0x18,0x7b );
  1368. EXTERN_GUID( IID_IWMOutputMediaProps, 0x96406bd7,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1369. EXTERN_GUID( IID_IWMStatusCallback, 0x6d7cdc70,0x9888,0x11d3,0x8e,0xdc,0x00,0xc0,0x4f,0x61,0x09,0xcf );
  1370. EXTERN_GUID( IID_IWMReaderCallback, 0x96406bd8,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1371. EXTERN_GUID( IID_IWMCredentialCallback, 0x342e0eb7,0xe651,0x450c,0x97,0x5b,0x2a,0xce,0x2c,0x90,0xc4,0x8e );
  1372. EXTERN_GUID( IID_IWMMetadataEditor, 0x96406bd9,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1373. EXTERN_GUID( IID_IWMMetadataEditor2, 0x203cffe3,0x2e18,0x4fdf,0xb5,0x9d,0x6e,0x71,0x53,0x05,0x34,0xcf );
  1374. EXTERN_GUID( IID_IWMDRMEditor, 0xFF130EBC,0xA6C3,0x42A6,0xB4,0x01,0xC3,0x38,0x2C,0x3E,0x08,0xB3 );
  1375. EXTERN_GUID( IID_IWMHeaderInfo, 0x96406bda,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1376. EXTERN_GUID( IID_IWMHeaderInfo2, 0x15cf9781,0x454e,0x482e,0xb3,0x93,0x85,0xfa,0xe4,0x87,0xa8,0x10 );
  1377. EXTERN_GUID( IID_IWMHeaderInfo3, 0x15CC68E3,0x27CC,0x4ecd,0xB2,0x22,0x3F,0x5D,0x02,0xD8,0x0B,0xD5 );
  1378. EXTERN_GUID( IID_IWMProfileManager, 0xd16679f2,0x6ca0,0x472d,0x8d,0x31,0x2f,0x5d,0x55,0xae,0xe1,0x55 );
  1379. EXTERN_GUID( IID_IWMProfileManager2, 0x7a924e51,0x73c1,0x494d,0x80,0x19,0x23,0xd3,0x7e,0xd9,0xb8,0x9a );
  1380. EXTERN_GUID( IID_IWMProfileManagerLanguage, 0xba4dcc78,0x7ee0,0x4ab8,0xb2,0x7a,0xdb,0xce,0x8b,0xc5,0x14,0x54 );
  1381. EXTERN_GUID( IID_IWMProfile, 0x96406bdb,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1382. EXTERN_GUID( IID_IWMProfile2, 0x07e72d33,0xd94e,0x4be7,0x88,0x43,0x60,0xae,0x5f,0xf7,0xe5,0xf5 );
  1383. EXTERN_GUID( IID_IWMProfile3, 0x00ef96cc,0xa461,0x4546,0x8b,0xcd,0xc9,0xa2,0x8f,0x0e,0x06,0xf5 );
  1384. EXTERN_GUID( IID_IWMStreamConfig, 0x96406bdc,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1385. EXTERN_GUID( IID_IWMStreamConfig2, 0x7688d8cb,0xfc0d,0x43bd,0x94,0x59,0x5a,0x8d,0xec,0x20,0x0c,0xfa );
  1386. EXTERN_GUID( IID_IWMStreamConfig3, 0xcb164104,0x3aa9,0x45a7,0x9a,0xc9,0x4d,0xae,0xe1,0x31,0xd6,0xe1 );
  1387. EXTERN_GUID( IID_IWMStreamList, 0x96406bdd,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1388. EXTERN_GUID( IID_IWMMutualExclusion, 0x96406bde,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1389. EXTERN_GUID( IID_IWMMutualExclusion2, 0x302b57d,0x89d1,0x4ba2,0x85,0xc9,0x16,0x6f,0x2c,0x53,0xeb,0x91 );
  1390. EXTERN_GUID( IID_IWMBandwidthSharing, 0xad694af1,0xf8d9,0x42f8,0xbc,0x47,0x70,0x31,0x1b,0x0c,0x4f,0x9e );
  1391. EXTERN_GUID( IID_IWMStreamPrioritization, 0x8c1c6090,0xf9a8,0x4748,0x8e,0xc3,0xdd,0x11,0x08,0xba,0x1e,0x77 );
  1392. EXTERN_GUID( IID_IWMWriterAdvanced, 0x96406be3,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1393. EXTERN_GUID( IID_IWMWriterAdvanced2, 0x962dc1ec,0xc046,0x4db8,0x9c,0xc7,0x26,0xce,0xae,0x50,0x08,0x17 );
  1394. EXTERN_GUID( IID_IWMWriterAdvanced3, 0x2cd6492d,0x7c37,0x4e76,0x9d,0x3b,0x59,0x26,0x11,0x83,0xa2,0x2e );
  1395. EXTERN_GUID( IID_IWMWriterPreprocess, 0xfc54a285,0x38c4,0x45b5,0xaa,0x23,0x85,0xb9,0xf7,0xcb,0x42,0x4b );
  1396. EXTERN_GUID( IID_IWMWriterSink, 0x96406be4,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1397. EXTERN_GUID( IID_IWMWriterFileSink, 0x96406be5,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1398. EXTERN_GUID( IID_IWMWriterFileSink2, 0x14282ba7,0x4aef,0x4205,0x8c,0xe5,0xc2,0x29,0x03,0x5a,0x05,0xbc );
  1399. EXTERN_GUID( IID_IWMWriterFileSink3, 0x3fea4feb,0x2945,0x47a7,0xa1,0xdd,0xc5,0x3a,0x8f,0xc4,0xc4,0x5c );
  1400. EXTERN_GUID( IID_IWMWriterNetworkSink, 0x96406be7,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1401. EXTERN_GUID( IID_IWMClientConnections, 0x73c66010,0xa299,0x41df,0xb1,0xf0,0xcc,0xf0,0x3b,0x09,0xc1,0xc6 );
  1402. EXTERN_GUID( IID_IWMClientConnections2, 0x4091571e,0x4701,0x4593,0xbb,0x3d,0xd5,0xf5,0xf0,0xc7,0x42,0x46 );
  1403. EXTERN_GUID( IID_IWMReaderAdvanced, 0x96406bea,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1404. EXTERN_GUID( IID_IWMReaderAdvanced2, 0xae14a945,0xb90c,0x4d0d,0x91,0x27,0x80,0xd6,0x65,0xf7,0xd7,0x3e );
  1405. EXTERN_GUID( IID_IWMReaderAdvanced3, 0x5dc0674b,0xf04b,0x4a4e,0x9f,0x2a,0xb1,0xaf,0xde,0x2c,0x81,0x00 );
  1406. EXTERN_GUID( IID_IWMReaderAdvanced4, 0x945a76a2,0x12ae,0x4d48,0xbd,0x3c,0xcd,0x1d,0x90,0x39,0x9b,0x85 );
  1407. EXTERN_GUID( IID_IWMDRMReader, 0xd2827540,0x3ee7,0x432c,0xb1,0x4c,0xdc,0x17,0xf0,0x85,0xd3,0xb3 );
  1408. EXTERN_GUID( IID_IWMReaderCallbackAdvanced, 0x96406beb,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1409. EXTERN_GUID( IID_IWMReaderNetworkConfig,0x96406bec,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1410. EXTERN_GUID( IID_IWMReaderStreamClock, 0x96406bed,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  1411. EXTERN_GUID( IID_IWMIndexer, 0x6d7cdc71,0x9888,0x11d3,0x8e,0xdc,0x00,0xc0,0x4f,0x61,0x09,0xcf );
  1412. EXTERN_GUID( IID_IWMIndexer2, 0xb70f1e42,0x6255,0x4df0,0xa6,0xb9,0x02,0xb2,0x12,0xd9,0xe2,0xbb );
  1413. EXTERN_GUID( IID_IWMReaderAllocatorEx, 0x9f762fa7,0xa22e,0x428d,0x93,0xc9,0xac,0x82,0xf3,0xaa,0xfe,0x5a );
  1414. EXTERN_GUID( IID_IWMReaderTypeNegotiation, 0xfdbe5592,0x81a1,0x41ea,0x93,0xbd,0x73,0x5c,0xad,0x1a,0xdc,0x5 );
  1415. EXTERN_GUID( IID_IWMLicenseBackup, 0x05E5AC9F,0x3FB6,0x4508,0xBB,0x43,0xA4,0x06,0x7B,0xA1,0xEB,0xE8);
  1416. EXTERN_GUID( IID_IWMLicenseRestore, 0xC70B6334,0xa22e,0x4efb,0xA2,0x45,0x15,0xE6,0x5A,0x00,0x4A,0x13);
  1417. EXTERN_GUID( IID_IWMBackupRestoreProps, 0x3C8E0DA6,0x996F,0x4ff3,0xA1,0xAF,0x48,0x38,0xF9,0x37,0x7e,0x2e);
  1418. EXTERN_GUID( IID_IWMPacketSize, 0xcdfb97ab,0x188f,0x40b3,0xb6,0x43,0x5b,0x79,0x03,0x97,0x5c,0x59);
  1419. EXTERN_GUID( IID_IWMPacketSize2, 0x8bfc2b9e,0xb646,0x4233,0xa8,0x77,0x1c,0x6a,0x7,0x96,0x69,0xdc);
  1420. EXTERN_GUID( IID_IWMRegisterCallback, 0xcf4b1f99,0x4de2,0x4e49,0xa3,0x63,0x25,0x27,0x40,0xd9,0x9b,0xc1);
  1421. EXTERN_GUID( IID_IWMWriterPostView, 0x81e20ce4,0x75ef,0x491a,0x80,0x04,0xfc,0x53,0xc4,0x5b,0xdc,0x3e);
  1422. EXTERN_GUID( IID_IWMWriterPostViewCallback, 0xd9d6549d,0xa193,0x4f24,0xb3,0x08,0x03,0x12,0x3d,0x9b,0x7f,0x8d);
  1423. EXTERN_GUID( IID_IWMCodecInfo, 0xa970f41e,0x34de,0x4a98,0xb3,0xba,0xe4,0xb3,0xca,0x75,0x28,0xf0);
  1424. EXTERN_GUID( IID_IWMCodecInfo2, 0xaa65e273,0xb686,0x4056,0x91,0xec,0xdd,0x76,0x8d,0x4d,0xf7,0x10);
  1425. EXTERN_GUID( IID_IWMCodecInfo3, 0x7e51f487,0x4d93,0x4f98,0x8a,0xb4,0x27,0xd0,0x56,0x5a,0xdc,0x51);
  1426. EXTERN_GUID( IID_IWMPropertyVault, 0x72995A79,0x5090,0x42a4,0x9C,0x8C,0xD9,0xD0,0xB6,0xD3,0x4B,0xE5 );
  1427. EXTERN_GUID( IID_IWMIStreamProps, 0x6816dad3,0x2b4b,0x4c8e,0x81,0x49,0x87,0x4c,0x34,0x83,0xa7,0x53 );
  1428. EXTERN_GUID( IID_IWMLanguageList, 0xdf683f00,0x2d49,0x4d8e,0x92,0xb7,0xfb,0x19,0xf6,0xa0,0xdc,0x57 );
  1429. EXTERN_GUID( IID_IWMDRMWriter, 0xd6ea5dd0,0x12a0,0x43f4,0x90,0xab,0xa3,0xfd,0x45,0x1e,0x6a,0x07 );
  1430. EXTERN_GUID( IID_IWMWriterPushSink, 0xdc10e6a5,0x072c,0x467d,0xbf,0x57,0x63,0x30,0xa9,0xdd,0xe1,0x2a );
  1431. EXTERN_GUID( IID_IWMReaderNetworkConfig2,0xd979a853,0x042b,0x4050,0x83,0x87,0xc9,0x39,0xdb,0x22,0x01,0x3f );
  1432. EXTERN_GUID( IID_IWMWatermarkInfo, 0x6f497062,0xf2e2,0x4624,0x8e,0xa7,0x9d,0xd4,0x0d,0x81,0xfc,0x8d );
  1433. EXTERN_GUID( IID_IWMReaderAccelerator, 0xbddc4d08,0x944d,0x4d52,0xa6,0x12,0x46,0xc3,0xfd,0xa0,0x7d,0xd4 );
  1434. EXTERN_GUID( IID_IWMReaderTimecode, 0xf369e2f0,0xe081,0x4fe6,0x84,0x50,0xb8,0x10,0xb2,0xf4,0x10,0xd1 );
  1435. EXTERN_GUID( IID_IWMImageInfo, 0x9f0aa3b6,0x7267,0x4d89,0x88,0xf2,0xba,0x91,0x5a,0xa5,0xc4,0xc6);
  1436. EXTERN_GUID( IID_IWMAddressAccess, 0xBB3C6389,0x1633,0x4e92,0xAF,0x14,0x9F,0x31,0x73,0xBA,0x39,0xD0 );
  1437. EXTERN_GUID( IID_IWMAddressAccess2, 0x65a83fc2,0x3e98,0x4d4d,0x81,0xb5,0x2a,0x74,0x28,0x86,0xb3,0x3d );
  1438. EXTERN_GUID( CLSID_WMMUTEX_Language, 0xD6E22A00,0x35DA,0x11D1,0x90,0x34,0x00,0xA0,0xC9,0x03,0x49,0xBE );
  1439. EXTERN_GUID( CLSID_WMMUTEX_Bitrate, 0xD6E22A01,0x35DA,0x11D1,0x90,0x34,0x00,0xA0,0xC9,0x03,0x49,0xBE );
  1440. EXTERN_GUID( CLSID_WMMUTEX_Presentation, 0xD6E22A02,0x35DA,0x11D1,0x90,0x34,0x00,0xA0,0xC9,0x03,0x49,0xBE );
  1441. EXTERN_GUID( CLSID_WMMUTEX_Unknown, 0xD6E22A03,0x35DA,0x11D1,0x90,0x34,0x00,0xA0,0xC9,0x03,0x49,0xBE );
  1442. EXTERN_GUID( CLSID_WMBandwidthSharing_Exclusive, 0xaf6060aa,0x5197,0x11d2,0xb6,0xaf,0x00,0xc0,0x4f,0xd9,0x08,0xe9 );
  1443. EXTERN_GUID( CLSID_WMBandwidthSharing_Partial, 0xaf6060ab,0x5197,0x11d2,0xb6,0xaf,0x00,0xc0,0x4f,0xd9,0x08,0xe9 );
  1444. // {B42CDE2B-6178-4a2c-A375-89DD3FD7F497}
  1445. EXTERN_GUID( WMT_DMOCATEGORY_AUDIO_WATERMARK, 0x65221c5a, 0xfa75, 0x4b39, 0xb5, 0x0c, 0x06, 0xc3, 0x36, 0xb6, 0xa3, 0xef );
  1446. // {E77797C6-18AF-4458-BBDD-492D3F78FC8F}
  1447. EXTERN_GUID( WMT_DMOCATEGORY_VIDEO_WATERMARK, 0x187cc922, 0x8efc, 0x4404, 0x9d, 0xaf, 0x63, 0xf4, 0x83, 0x0d, 0xf1, 0xbc );
  1448. #define WM_MAX_VIDEO_STREAMS 0x3f
  1449. #define WM_MAX_STREAMS 0x3f
  1450. HRESULT STDMETHODCALLTYPE WMIsContentProtected( const WCHAR *pwszFileName, BOOL *pfIsProtected );
  1451. HRESULT STDMETHODCALLTYPE WMCreateCertificate( IUnknown** pUnkCert );
  1452. HRESULT STDMETHODCALLTYPE WMCreateWriter( IUnknown* pUnkCert, IWMWriter **ppWriter );
  1453. HRESULT STDMETHODCALLTYPE WMCreateReader( IUnknown* pUnkCert, DWORD dwRights, IWMReader **ppReader );
  1454. HRESULT STDMETHODCALLTYPE WMCreateSyncReader( IUnknown* pUnkCert, DWORD dwRights, IWMSyncReader **ppSyncReader );
  1455. HRESULT STDMETHODCALLTYPE WMCreateEditor( IWMMetadataEditor **ppEditor );
  1456. HRESULT STDMETHODCALLTYPE WMCreateIndexer( IWMIndexer **ppIndexer );
  1457. HRESULT STDMETHODCALLTYPE WMCreateBackupRestorer( IUnknown *pCallback, IWMLicenseBackup **ppBackup );
  1458. HRESULT STDMETHODCALLTYPE WMCreateProfileManager( IWMProfileManager **ppProfileManager );
  1459. HRESULT STDMETHODCALLTYPE WMCreateWriterFileSink( IWMWriterFileSink **ppSink );
  1460. HRESULT STDMETHODCALLTYPE WMCreateWriterNetworkSink( IWMWriterNetworkSink **ppSink );
  1461. HRESULT STDMETHODCALLTYPE WMCreateWriterPushSink( IWMWriterPushSink **ppSink );
  1462. extern RPC_IF_HANDLE __MIDL_itf_wmsdkidl_0000_v0_0_c_ifspec;
  1463. extern RPC_IF_HANDLE __MIDL_itf_wmsdkidl_0000_v0_0_s_ifspec;
  1464. #ifndef __IWMMediaProps_INTERFACE_DEFINED__
  1465. #define __IWMMediaProps_INTERFACE_DEFINED__
  1466. /* interface IWMMediaProps */
  1467. /* [local][unique][helpstring][uuid][object] */
  1468. EXTERN_C const IID IID_IWMMediaProps;
  1469. #if defined(__cplusplus) && !defined(CINTERFACE)
  1470. MIDL_INTERFACE("96406BCE-2B2B-11d3-B36B-00C04F6108FF")
  1471. IWMMediaProps : public IUnknown
  1472. {
  1473. public:
  1474. virtual HRESULT STDMETHODCALLTYPE GetType(
  1475. /* [out] */ GUID *pguidType) = 0;
  1476. virtual HRESULT STDMETHODCALLTYPE GetMediaType(
  1477. /* [out] */ WM_MEDIA_TYPE *pType,
  1478. /* [out][in] */ DWORD *pcbType) = 0;
  1479. virtual HRESULT STDMETHODCALLTYPE SetMediaType(
  1480. /* [in] */ WM_MEDIA_TYPE *pType) = 0;
  1481. };
  1482. #else /* C style interface */
  1483. typedef struct IWMMediaPropsVtbl
  1484. {
  1485. BEGIN_INTERFACE
  1486. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1487. IWMMediaProps * This,
  1488. /* [in] */ REFIID riid,
  1489. /* [iid_is][out] */ void **ppvObject);
  1490. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1491. IWMMediaProps * This);
  1492. ULONG ( STDMETHODCALLTYPE *Release )(
  1493. IWMMediaProps * This);
  1494. HRESULT ( STDMETHODCALLTYPE *GetType )(
  1495. IWMMediaProps * This,
  1496. /* [out] */ GUID *pguidType);
  1497. HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
  1498. IWMMediaProps * This,
  1499. /* [out] */ WM_MEDIA_TYPE *pType,
  1500. /* [out][in] */ DWORD *pcbType);
  1501. HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
  1502. IWMMediaProps * This,
  1503. /* [in] */ WM_MEDIA_TYPE *pType);
  1504. END_INTERFACE
  1505. } IWMMediaPropsVtbl;
  1506. interface IWMMediaProps
  1507. {
  1508. CONST_VTBL struct IWMMediaPropsVtbl *lpVtbl;
  1509. };
  1510. #ifdef COBJMACROS
  1511. #define IWMMediaProps_QueryInterface(This,riid,ppvObject) \
  1512. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1513. #define IWMMediaProps_AddRef(This) \
  1514. (This)->lpVtbl -> AddRef(This)
  1515. #define IWMMediaProps_Release(This) \
  1516. (This)->lpVtbl -> Release(This)
  1517. #define IWMMediaProps_GetType(This,pguidType) \
  1518. (This)->lpVtbl -> GetType(This,pguidType)
  1519. #define IWMMediaProps_GetMediaType(This,pType,pcbType) \
  1520. (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  1521. #define IWMMediaProps_SetMediaType(This,pType) \
  1522. (This)->lpVtbl -> SetMediaType(This,pType)
  1523. #endif /* COBJMACROS */
  1524. #endif /* C style interface */
  1525. HRESULT STDMETHODCALLTYPE IWMMediaProps_GetType_Proxy(
  1526. IWMMediaProps * This,
  1527. /* [out] */ GUID *pguidType);
  1528. void __RPC_STUB IWMMediaProps_GetType_Stub(
  1529. IRpcStubBuffer *This,
  1530. IRpcChannelBuffer *_pRpcChannelBuffer,
  1531. PRPC_MESSAGE _pRpcMessage,
  1532. DWORD *_pdwStubPhase);
  1533. HRESULT STDMETHODCALLTYPE IWMMediaProps_GetMediaType_Proxy(
  1534. IWMMediaProps * This,
  1535. /* [out] */ WM_MEDIA_TYPE *pType,
  1536. /* [out][in] */ DWORD *pcbType);
  1537. void __RPC_STUB IWMMediaProps_GetMediaType_Stub(
  1538. IRpcStubBuffer *This,
  1539. IRpcChannelBuffer *_pRpcChannelBuffer,
  1540. PRPC_MESSAGE _pRpcMessage,
  1541. DWORD *_pdwStubPhase);
  1542. HRESULT STDMETHODCALLTYPE IWMMediaProps_SetMediaType_Proxy(
  1543. IWMMediaProps * This,
  1544. /* [in] */ WM_MEDIA_TYPE *pType);
  1545. void __RPC_STUB IWMMediaProps_SetMediaType_Stub(
  1546. IRpcStubBuffer *This,
  1547. IRpcChannelBuffer *_pRpcChannelBuffer,
  1548. PRPC_MESSAGE _pRpcMessage,
  1549. DWORD *_pdwStubPhase);
  1550. #endif /* __IWMMediaProps_INTERFACE_DEFINED__ */
  1551. #ifndef __IWMVideoMediaProps_INTERFACE_DEFINED__
  1552. #define __IWMVideoMediaProps_INTERFACE_DEFINED__
  1553. /* interface IWMVideoMediaProps */
  1554. /* [local][unique][helpstring][uuid][object] */
  1555. EXTERN_C const IID IID_IWMVideoMediaProps;
  1556. #if defined(__cplusplus) && !defined(CINTERFACE)
  1557. MIDL_INTERFACE("96406BCF-2B2B-11d3-B36B-00C04F6108FF")
  1558. IWMVideoMediaProps : public IWMMediaProps
  1559. {
  1560. public:
  1561. virtual HRESULT STDMETHODCALLTYPE GetMaxKeyFrameSpacing(
  1562. /* [out] */ LONGLONG *pllTime) = 0;
  1563. virtual HRESULT STDMETHODCALLTYPE SetMaxKeyFrameSpacing(
  1564. /* [in] */ LONGLONG llTime) = 0;
  1565. virtual HRESULT STDMETHODCALLTYPE GetQuality(
  1566. /* [out] */ DWORD *pdwQuality) = 0;
  1567. virtual HRESULT STDMETHODCALLTYPE SetQuality(
  1568. /* [in] */ DWORD dwQuality) = 0;
  1569. };
  1570. #else /* C style interface */
  1571. typedef struct IWMVideoMediaPropsVtbl
  1572. {
  1573. BEGIN_INTERFACE
  1574. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1575. IWMVideoMediaProps * This,
  1576. /* [in] */ REFIID riid,
  1577. /* [iid_is][out] */ void **ppvObject);
  1578. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1579. IWMVideoMediaProps * This);
  1580. ULONG ( STDMETHODCALLTYPE *Release )(
  1581. IWMVideoMediaProps * This);
  1582. HRESULT ( STDMETHODCALLTYPE *GetType )(
  1583. IWMVideoMediaProps * This,
  1584. /* [out] */ GUID *pguidType);
  1585. HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
  1586. IWMVideoMediaProps * This,
  1587. /* [out] */ WM_MEDIA_TYPE *pType,
  1588. /* [out][in] */ DWORD *pcbType);
  1589. HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
  1590. IWMVideoMediaProps * This,
  1591. /* [in] */ WM_MEDIA_TYPE *pType);
  1592. HRESULT ( STDMETHODCALLTYPE *GetMaxKeyFrameSpacing )(
  1593. IWMVideoMediaProps * This,
  1594. /* [out] */ LONGLONG *pllTime);
  1595. HRESULT ( STDMETHODCALLTYPE *SetMaxKeyFrameSpacing )(
  1596. IWMVideoMediaProps * This,
  1597. /* [in] */ LONGLONG llTime);
  1598. HRESULT ( STDMETHODCALLTYPE *GetQuality )(
  1599. IWMVideoMediaProps * This,
  1600. /* [out] */ DWORD *pdwQuality);
  1601. HRESULT ( STDMETHODCALLTYPE *SetQuality )(
  1602. IWMVideoMediaProps * This,
  1603. /* [in] */ DWORD dwQuality);
  1604. END_INTERFACE
  1605. } IWMVideoMediaPropsVtbl;
  1606. interface IWMVideoMediaProps
  1607. {
  1608. CONST_VTBL struct IWMVideoMediaPropsVtbl *lpVtbl;
  1609. };
  1610. #ifdef COBJMACROS
  1611. #define IWMVideoMediaProps_QueryInterface(This,riid,ppvObject) \
  1612. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1613. #define IWMVideoMediaProps_AddRef(This) \
  1614. (This)->lpVtbl -> AddRef(This)
  1615. #define IWMVideoMediaProps_Release(This) \
  1616. (This)->lpVtbl -> Release(This)
  1617. #define IWMVideoMediaProps_GetType(This,pguidType) \
  1618. (This)->lpVtbl -> GetType(This,pguidType)
  1619. #define IWMVideoMediaProps_GetMediaType(This,pType,pcbType) \
  1620. (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  1621. #define IWMVideoMediaProps_SetMediaType(This,pType) \
  1622. (This)->lpVtbl -> SetMediaType(This,pType)
  1623. #define IWMVideoMediaProps_GetMaxKeyFrameSpacing(This,pllTime) \
  1624. (This)->lpVtbl -> GetMaxKeyFrameSpacing(This,pllTime)
  1625. #define IWMVideoMediaProps_SetMaxKeyFrameSpacing(This,llTime) \
  1626. (This)->lpVtbl -> SetMaxKeyFrameSpacing(This,llTime)
  1627. #define IWMVideoMediaProps_GetQuality(This,pdwQuality) \
  1628. (This)->lpVtbl -> GetQuality(This,pdwQuality)
  1629. #define IWMVideoMediaProps_SetQuality(This,dwQuality) \
  1630. (This)->lpVtbl -> SetQuality(This,dwQuality)
  1631. #endif /* COBJMACROS */
  1632. #endif /* C style interface */
  1633. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_GetMaxKeyFrameSpacing_Proxy(
  1634. IWMVideoMediaProps * This,
  1635. /* [out] */ LONGLONG *pllTime);
  1636. void __RPC_STUB IWMVideoMediaProps_GetMaxKeyFrameSpacing_Stub(
  1637. IRpcStubBuffer *This,
  1638. IRpcChannelBuffer *_pRpcChannelBuffer,
  1639. PRPC_MESSAGE _pRpcMessage,
  1640. DWORD *_pdwStubPhase);
  1641. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_SetMaxKeyFrameSpacing_Proxy(
  1642. IWMVideoMediaProps * This,
  1643. /* [in] */ LONGLONG llTime);
  1644. void __RPC_STUB IWMVideoMediaProps_SetMaxKeyFrameSpacing_Stub(
  1645. IRpcStubBuffer *This,
  1646. IRpcChannelBuffer *_pRpcChannelBuffer,
  1647. PRPC_MESSAGE _pRpcMessage,
  1648. DWORD *_pdwStubPhase);
  1649. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_GetQuality_Proxy(
  1650. IWMVideoMediaProps * This,
  1651. /* [out] */ DWORD *pdwQuality);
  1652. void __RPC_STUB IWMVideoMediaProps_GetQuality_Stub(
  1653. IRpcStubBuffer *This,
  1654. IRpcChannelBuffer *_pRpcChannelBuffer,
  1655. PRPC_MESSAGE _pRpcMessage,
  1656. DWORD *_pdwStubPhase);
  1657. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_SetQuality_Proxy(
  1658. IWMVideoMediaProps * This,
  1659. /* [in] */ DWORD dwQuality);
  1660. void __RPC_STUB IWMVideoMediaProps_SetQuality_Stub(
  1661. IRpcStubBuffer *This,
  1662. IRpcChannelBuffer *_pRpcChannelBuffer,
  1663. PRPC_MESSAGE _pRpcMessage,
  1664. DWORD *_pdwStubPhase);
  1665. #endif /* __IWMVideoMediaProps_INTERFACE_DEFINED__ */
  1666. #ifndef __IWMWriter_INTERFACE_DEFINED__
  1667. #define __IWMWriter_INTERFACE_DEFINED__
  1668. /* interface IWMWriter */
  1669. /* [local][unique][helpstring][uuid][object] */
  1670. EXTERN_C const IID IID_IWMWriter;
  1671. #if defined(__cplusplus) && !defined(CINTERFACE)
  1672. MIDL_INTERFACE("96406BD4-2B2B-11d3-B36B-00C04F6108FF")
  1673. IWMWriter : public IUnknown
  1674. {
  1675. public:
  1676. virtual HRESULT STDMETHODCALLTYPE SetProfileByID(
  1677. /* [in] */ REFGUID guidProfile) = 0;
  1678. virtual HRESULT STDMETHODCALLTYPE SetProfile(
  1679. /* [in] */ IWMProfile *pProfile) = 0;
  1680. virtual HRESULT STDMETHODCALLTYPE SetOutputFilename(
  1681. /* [in] */ const WCHAR *pwszFilename) = 0;
  1682. virtual HRESULT STDMETHODCALLTYPE GetInputCount(
  1683. /* [out] */ DWORD *pcInputs) = 0;
  1684. virtual HRESULT STDMETHODCALLTYPE GetInputProps(
  1685. /* [in] */ DWORD dwInputNum,
  1686. /* [out] */ IWMInputMediaProps **ppInput) = 0;
  1687. virtual HRESULT STDMETHODCALLTYPE SetInputProps(
  1688. /* [in] */ DWORD dwInputNum,
  1689. /* [in] */ IWMInputMediaProps *pInput) = 0;
  1690. virtual HRESULT STDMETHODCALLTYPE GetInputFormatCount(
  1691. /* [in] */ DWORD dwInputNumber,
  1692. /* [out] */ DWORD *pcFormats) = 0;
  1693. virtual HRESULT STDMETHODCALLTYPE GetInputFormat(
  1694. /* [in] */ DWORD dwInputNumber,
  1695. /* [in] */ DWORD dwFormatNumber,
  1696. /* [out] */ IWMInputMediaProps **pProps) = 0;
  1697. virtual HRESULT STDMETHODCALLTYPE BeginWriting( void) = 0;
  1698. virtual HRESULT STDMETHODCALLTYPE EndWriting( void) = 0;
  1699. virtual HRESULT STDMETHODCALLTYPE AllocateSample(
  1700. /* [in] */ DWORD dwSampleSize,
  1701. /* [out] */ INSSBuffer **ppSample) = 0;
  1702. virtual HRESULT STDMETHODCALLTYPE WriteSample(
  1703. /* [in] */ DWORD dwInputNum,
  1704. /* [in] */ QWORD cnsSampleTime,
  1705. /* [in] */ DWORD dwFlags,
  1706. /* [in] */ INSSBuffer *pSample) = 0;
  1707. virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  1708. };
  1709. #else /* C style interface */
  1710. typedef struct IWMWriterVtbl
  1711. {
  1712. BEGIN_INTERFACE
  1713. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1714. IWMWriter * This,
  1715. /* [in] */ REFIID riid,
  1716. /* [iid_is][out] */ void **ppvObject);
  1717. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1718. IWMWriter * This);
  1719. ULONG ( STDMETHODCALLTYPE *Release )(
  1720. IWMWriter * This);
  1721. HRESULT ( STDMETHODCALLTYPE *SetProfileByID )(
  1722. IWMWriter * This,
  1723. /* [in] */ REFGUID guidProfile);
  1724. HRESULT ( STDMETHODCALLTYPE *SetProfile )(
  1725. IWMWriter * This,
  1726. /* [in] */ IWMProfile *pProfile);
  1727. HRESULT ( STDMETHODCALLTYPE *SetOutputFilename )(
  1728. IWMWriter * This,
  1729. /* [in] */ const WCHAR *pwszFilename);
  1730. HRESULT ( STDMETHODCALLTYPE *GetInputCount )(
  1731. IWMWriter * This,
  1732. /* [out] */ DWORD *pcInputs);
  1733. HRESULT ( STDMETHODCALLTYPE *GetInputProps )(
  1734. IWMWriter * This,
  1735. /* [in] */ DWORD dwInputNum,
  1736. /* [out] */ IWMInputMediaProps **ppInput);
  1737. HRESULT ( STDMETHODCALLTYPE *SetInputProps )(
  1738. IWMWriter * This,
  1739. /* [in] */ DWORD dwInputNum,
  1740. /* [in] */ IWMInputMediaProps *pInput);
  1741. HRESULT ( STDMETHODCALLTYPE *GetInputFormatCount )(
  1742. IWMWriter * This,
  1743. /* [in] */ DWORD dwInputNumber,
  1744. /* [out] */ DWORD *pcFormats);
  1745. HRESULT ( STDMETHODCALLTYPE *GetInputFormat )(
  1746. IWMWriter * This,
  1747. /* [in] */ DWORD dwInputNumber,
  1748. /* [in] */ DWORD dwFormatNumber,
  1749. /* [out] */ IWMInputMediaProps **pProps);
  1750. HRESULT ( STDMETHODCALLTYPE *BeginWriting )(
  1751. IWMWriter * This);
  1752. HRESULT ( STDMETHODCALLTYPE *EndWriting )(
  1753. IWMWriter * This);
  1754. HRESULT ( STDMETHODCALLTYPE *AllocateSample )(
  1755. IWMWriter * This,
  1756. /* [in] */ DWORD dwSampleSize,
  1757. /* [out] */ INSSBuffer **ppSample);
  1758. HRESULT ( STDMETHODCALLTYPE *WriteSample )(
  1759. IWMWriter * This,
  1760. /* [in] */ DWORD dwInputNum,
  1761. /* [in] */ QWORD cnsSampleTime,
  1762. /* [in] */ DWORD dwFlags,
  1763. /* [in] */ INSSBuffer *pSample);
  1764. HRESULT ( STDMETHODCALLTYPE *Flush )(
  1765. IWMWriter * This);
  1766. END_INTERFACE
  1767. } IWMWriterVtbl;
  1768. interface IWMWriter
  1769. {
  1770. CONST_VTBL struct IWMWriterVtbl *lpVtbl;
  1771. };
  1772. #ifdef COBJMACROS
  1773. #define IWMWriter_QueryInterface(This,riid,ppvObject) \
  1774. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1775. #define IWMWriter_AddRef(This) \
  1776. (This)->lpVtbl -> AddRef(This)
  1777. #define IWMWriter_Release(This) \
  1778. (This)->lpVtbl -> Release(This)
  1779. #define IWMWriter_SetProfileByID(This,guidProfile) \
  1780. (This)->lpVtbl -> SetProfileByID(This,guidProfile)
  1781. #define IWMWriter_SetProfile(This,pProfile) \
  1782. (This)->lpVtbl -> SetProfile(This,pProfile)
  1783. #define IWMWriter_SetOutputFilename(This,pwszFilename) \
  1784. (This)->lpVtbl -> SetOutputFilename(This,pwszFilename)
  1785. #define IWMWriter_GetInputCount(This,pcInputs) \
  1786. (This)->lpVtbl -> GetInputCount(This,pcInputs)
  1787. #define IWMWriter_GetInputProps(This,dwInputNum,ppInput) \
  1788. (This)->lpVtbl -> GetInputProps(This,dwInputNum,ppInput)
  1789. #define IWMWriter_SetInputProps(This,dwInputNum,pInput) \
  1790. (This)->lpVtbl -> SetInputProps(This,dwInputNum,pInput)
  1791. #define IWMWriter_GetInputFormatCount(This,dwInputNumber,pcFormats) \
  1792. (This)->lpVtbl -> GetInputFormatCount(This,dwInputNumber,pcFormats)
  1793. #define IWMWriter_GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps) \
  1794. (This)->lpVtbl -> GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps)
  1795. #define IWMWriter_BeginWriting(This) \
  1796. (This)->lpVtbl -> BeginWriting(This)
  1797. #define IWMWriter_EndWriting(This) \
  1798. (This)->lpVtbl -> EndWriting(This)
  1799. #define IWMWriter_AllocateSample(This,dwSampleSize,ppSample) \
  1800. (This)->lpVtbl -> AllocateSample(This,dwSampleSize,ppSample)
  1801. #define IWMWriter_WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample) \
  1802. (This)->lpVtbl -> WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample)
  1803. #define IWMWriter_Flush(This) \
  1804. (This)->lpVtbl -> Flush(This)
  1805. #endif /* COBJMACROS */
  1806. #endif /* C style interface */
  1807. HRESULT STDMETHODCALLTYPE IWMWriter_SetProfileByID_Proxy(
  1808. IWMWriter * This,
  1809. /* [in] */ REFGUID guidProfile);
  1810. void __RPC_STUB IWMWriter_SetProfileByID_Stub(
  1811. IRpcStubBuffer *This,
  1812. IRpcChannelBuffer *_pRpcChannelBuffer,
  1813. PRPC_MESSAGE _pRpcMessage,
  1814. DWORD *_pdwStubPhase);
  1815. HRESULT STDMETHODCALLTYPE IWMWriter_SetProfile_Proxy(
  1816. IWMWriter * This,
  1817. /* [in] */ IWMProfile *pProfile);
  1818. void __RPC_STUB IWMWriter_SetProfile_Stub(
  1819. IRpcStubBuffer *This,
  1820. IRpcChannelBuffer *_pRpcChannelBuffer,
  1821. PRPC_MESSAGE _pRpcMessage,
  1822. DWORD *_pdwStubPhase);
  1823. HRESULT STDMETHODCALLTYPE IWMWriter_SetOutputFilename_Proxy(
  1824. IWMWriter * This,
  1825. /* [in] */ const WCHAR *pwszFilename);
  1826. void __RPC_STUB IWMWriter_SetOutputFilename_Stub(
  1827. IRpcStubBuffer *This,
  1828. IRpcChannelBuffer *_pRpcChannelBuffer,
  1829. PRPC_MESSAGE _pRpcMessage,
  1830. DWORD *_pdwStubPhase);
  1831. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputCount_Proxy(
  1832. IWMWriter * This,
  1833. /* [out] */ DWORD *pcInputs);
  1834. void __RPC_STUB IWMWriter_GetInputCount_Stub(
  1835. IRpcStubBuffer *This,
  1836. IRpcChannelBuffer *_pRpcChannelBuffer,
  1837. PRPC_MESSAGE _pRpcMessage,
  1838. DWORD *_pdwStubPhase);
  1839. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputProps_Proxy(
  1840. IWMWriter * This,
  1841. /* [in] */ DWORD dwInputNum,
  1842. /* [out] */ IWMInputMediaProps **ppInput);
  1843. void __RPC_STUB IWMWriter_GetInputProps_Stub(
  1844. IRpcStubBuffer *This,
  1845. IRpcChannelBuffer *_pRpcChannelBuffer,
  1846. PRPC_MESSAGE _pRpcMessage,
  1847. DWORD *_pdwStubPhase);
  1848. HRESULT STDMETHODCALLTYPE IWMWriter_SetInputProps_Proxy(
  1849. IWMWriter * This,
  1850. /* [in] */ DWORD dwInputNum,
  1851. /* [in] */ IWMInputMediaProps *pInput);
  1852. void __RPC_STUB IWMWriter_SetInputProps_Stub(
  1853. IRpcStubBuffer *This,
  1854. IRpcChannelBuffer *_pRpcChannelBuffer,
  1855. PRPC_MESSAGE _pRpcMessage,
  1856. DWORD *_pdwStubPhase);
  1857. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputFormatCount_Proxy(
  1858. IWMWriter * This,
  1859. /* [in] */ DWORD dwInputNumber,
  1860. /* [out] */ DWORD *pcFormats);
  1861. void __RPC_STUB IWMWriter_GetInputFormatCount_Stub(
  1862. IRpcStubBuffer *This,
  1863. IRpcChannelBuffer *_pRpcChannelBuffer,
  1864. PRPC_MESSAGE _pRpcMessage,
  1865. DWORD *_pdwStubPhase);
  1866. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputFormat_Proxy(
  1867. IWMWriter * This,
  1868. /* [in] */ DWORD dwInputNumber,
  1869. /* [in] */ DWORD dwFormatNumber,
  1870. /* [out] */ IWMInputMediaProps **pProps);
  1871. void __RPC_STUB IWMWriter_GetInputFormat_Stub(
  1872. IRpcStubBuffer *This,
  1873. IRpcChannelBuffer *_pRpcChannelBuffer,
  1874. PRPC_MESSAGE _pRpcMessage,
  1875. DWORD *_pdwStubPhase);
  1876. HRESULT STDMETHODCALLTYPE IWMWriter_BeginWriting_Proxy(
  1877. IWMWriter * This);
  1878. void __RPC_STUB IWMWriter_BeginWriting_Stub(
  1879. IRpcStubBuffer *This,
  1880. IRpcChannelBuffer *_pRpcChannelBuffer,
  1881. PRPC_MESSAGE _pRpcMessage,
  1882. DWORD *_pdwStubPhase);
  1883. HRESULT STDMETHODCALLTYPE IWMWriter_EndWriting_Proxy(
  1884. IWMWriter * This);
  1885. void __RPC_STUB IWMWriter_EndWriting_Stub(
  1886. IRpcStubBuffer *This,
  1887. IRpcChannelBuffer *_pRpcChannelBuffer,
  1888. PRPC_MESSAGE _pRpcMessage,
  1889. DWORD *_pdwStubPhase);
  1890. HRESULT STDMETHODCALLTYPE IWMWriter_AllocateSample_Proxy(
  1891. IWMWriter * This,
  1892. /* [in] */ DWORD dwSampleSize,
  1893. /* [out] */ INSSBuffer **ppSample);
  1894. void __RPC_STUB IWMWriter_AllocateSample_Stub(
  1895. IRpcStubBuffer *This,
  1896. IRpcChannelBuffer *_pRpcChannelBuffer,
  1897. PRPC_MESSAGE _pRpcMessage,
  1898. DWORD *_pdwStubPhase);
  1899. HRESULT STDMETHODCALLTYPE IWMWriter_WriteSample_Proxy(
  1900. IWMWriter * This,
  1901. /* [in] */ DWORD dwInputNum,
  1902. /* [in] */ QWORD cnsSampleTime,
  1903. /* [in] */ DWORD dwFlags,
  1904. /* [in] */ INSSBuffer *pSample);
  1905. void __RPC_STUB IWMWriter_WriteSample_Stub(
  1906. IRpcStubBuffer *This,
  1907. IRpcChannelBuffer *_pRpcChannelBuffer,
  1908. PRPC_MESSAGE _pRpcMessage,
  1909. DWORD *_pdwStubPhase);
  1910. HRESULT STDMETHODCALLTYPE IWMWriter_Flush_Proxy(
  1911. IWMWriter * This);
  1912. void __RPC_STUB IWMWriter_Flush_Stub(
  1913. IRpcStubBuffer *This,
  1914. IRpcChannelBuffer *_pRpcChannelBuffer,
  1915. PRPC_MESSAGE _pRpcMessage,
  1916. DWORD *_pdwStubPhase);
  1917. #endif /* __IWMWriter_INTERFACE_DEFINED__ */
  1918. #ifndef __IWMDRMWriter_INTERFACE_DEFINED__
  1919. #define __IWMDRMWriter_INTERFACE_DEFINED__
  1920. /* interface IWMDRMWriter */
  1921. /* [local][unique][helpstring][uuid][object] */
  1922. EXTERN_C const IID IID_IWMDRMWriter;
  1923. #if defined(__cplusplus) && !defined(CINTERFACE)
  1924. MIDL_INTERFACE("d6ea5dd0-12a0-43f4-90ab-a3fd451e6a07")
  1925. IWMDRMWriter : public IUnknown
  1926. {
  1927. public:
  1928. virtual HRESULT STDMETHODCALLTYPE GenerateKeySeed(
  1929. /* [size_is][out] */ WCHAR *pwszKeySeed,
  1930. /* [out][in] */ DWORD *pcwchLength) = 0;
  1931. virtual HRESULT STDMETHODCALLTYPE GenerateKeyID(
  1932. /* [size_is][out] */ WCHAR *pwszKeyID,
  1933. /* [out][in] */ DWORD *pcwchLength) = 0;
  1934. virtual HRESULT STDMETHODCALLTYPE GenerateSigningKeyPair(
  1935. /* [size_is][out] */ WCHAR *pwszPrivKey,
  1936. /* [out][in] */ DWORD *pcwchPrivKeyLength,
  1937. /* [size_is][out] */ WCHAR *pwszPubKey,
  1938. /* [out][in] */ DWORD *pcwchPubKeyLength) = 0;
  1939. virtual HRESULT STDMETHODCALLTYPE SetDRMAttribute(
  1940. /* [in] */ WORD wStreamNum,
  1941. /* [in] */ LPCWSTR pszName,
  1942. /* [in] */ WMT_ATTR_DATATYPE Type,
  1943. /* [size_is][in] */ const BYTE *pValue,
  1944. /* [in] */ WORD cbLength) = 0;
  1945. };
  1946. #else /* C style interface */
  1947. typedef struct IWMDRMWriterVtbl
  1948. {
  1949. BEGIN_INTERFACE
  1950. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1951. IWMDRMWriter * This,
  1952. /* [in] */ REFIID riid,
  1953. /* [iid_is][out] */ void **ppvObject);
  1954. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1955. IWMDRMWriter * This);
  1956. ULONG ( STDMETHODCALLTYPE *Release )(
  1957. IWMDRMWriter * This);
  1958. HRESULT ( STDMETHODCALLTYPE *GenerateKeySeed )(
  1959. IWMDRMWriter * This,
  1960. /* [size_is][out] */ WCHAR *pwszKeySeed,
  1961. /* [out][in] */ DWORD *pcwchLength);
  1962. HRESULT ( STDMETHODCALLTYPE *GenerateKeyID )(
  1963. IWMDRMWriter * This,
  1964. /* [size_is][out] */ WCHAR *pwszKeyID,
  1965. /* [out][in] */ DWORD *pcwchLength);
  1966. HRESULT ( STDMETHODCALLTYPE *GenerateSigningKeyPair )(
  1967. IWMDRMWriter * This,
  1968. /* [size_is][out] */ WCHAR *pwszPrivKey,
  1969. /* [out][in] */ DWORD *pcwchPrivKeyLength,
  1970. /* [size_is][out] */ WCHAR *pwszPubKey,
  1971. /* [out][in] */ DWORD *pcwchPubKeyLength);
  1972. HRESULT ( STDMETHODCALLTYPE *SetDRMAttribute )(
  1973. IWMDRMWriter * This,
  1974. /* [in] */ WORD wStreamNum,
  1975. /* [in] */ LPCWSTR pszName,
  1976. /* [in] */ WMT_ATTR_DATATYPE Type,
  1977. /* [size_is][in] */ const BYTE *pValue,
  1978. /* [in] */ WORD cbLength);
  1979. END_INTERFACE
  1980. } IWMDRMWriterVtbl;
  1981. interface IWMDRMWriter
  1982. {
  1983. CONST_VTBL struct IWMDRMWriterVtbl *lpVtbl;
  1984. };
  1985. #ifdef COBJMACROS
  1986. #define IWMDRMWriter_QueryInterface(This,riid,ppvObject) \
  1987. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1988. #define IWMDRMWriter_AddRef(This) \
  1989. (This)->lpVtbl -> AddRef(This)
  1990. #define IWMDRMWriter_Release(This) \
  1991. (This)->lpVtbl -> Release(This)
  1992. #define IWMDRMWriter_GenerateKeySeed(This,pwszKeySeed,pcwchLength) \
  1993. (This)->lpVtbl -> GenerateKeySeed(This,pwszKeySeed,pcwchLength)
  1994. #define IWMDRMWriter_GenerateKeyID(This,pwszKeyID,pcwchLength) \
  1995. (This)->lpVtbl -> GenerateKeyID(This,pwszKeyID,pcwchLength)
  1996. #define IWMDRMWriter_GenerateSigningKeyPair(This,pwszPrivKey,pcwchPrivKeyLength,pwszPubKey,pcwchPubKeyLength) \
  1997. (This)->lpVtbl -> GenerateSigningKeyPair(This,pwszPrivKey,pcwchPrivKeyLength,pwszPubKey,pcwchPubKeyLength)
  1998. #define IWMDRMWriter_SetDRMAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \
  1999. (This)->lpVtbl -> SetDRMAttribute(This,wStreamNum,pszName,Type,pValue,cbLength)
  2000. #endif /* COBJMACROS */
  2001. #endif /* C style interface */
  2002. HRESULT STDMETHODCALLTYPE IWMDRMWriter_GenerateKeySeed_Proxy(
  2003. IWMDRMWriter * This,
  2004. /* [size_is][out] */ WCHAR *pwszKeySeed,
  2005. /* [out][in] */ DWORD *pcwchLength);
  2006. void __RPC_STUB IWMDRMWriter_GenerateKeySeed_Stub(
  2007. IRpcStubBuffer *This,
  2008. IRpcChannelBuffer *_pRpcChannelBuffer,
  2009. PRPC_MESSAGE _pRpcMessage,
  2010. DWORD *_pdwStubPhase);
  2011. HRESULT STDMETHODCALLTYPE IWMDRMWriter_GenerateKeyID_Proxy(
  2012. IWMDRMWriter * This,
  2013. /* [size_is][out] */ WCHAR *pwszKeyID,
  2014. /* [out][in] */ DWORD *pcwchLength);
  2015. void __RPC_STUB IWMDRMWriter_GenerateKeyID_Stub(
  2016. IRpcStubBuffer *This,
  2017. IRpcChannelBuffer *_pRpcChannelBuffer,
  2018. PRPC_MESSAGE _pRpcMessage,
  2019. DWORD *_pdwStubPhase);
  2020. HRESULT STDMETHODCALLTYPE IWMDRMWriter_GenerateSigningKeyPair_Proxy(
  2021. IWMDRMWriter * This,
  2022. /* [size_is][out] */ WCHAR *pwszPrivKey,
  2023. /* [out][in] */ DWORD *pcwchPrivKeyLength,
  2024. /* [size_is][out] */ WCHAR *pwszPubKey,
  2025. /* [out][in] */ DWORD *pcwchPubKeyLength);
  2026. void __RPC_STUB IWMDRMWriter_GenerateSigningKeyPair_Stub(
  2027. IRpcStubBuffer *This,
  2028. IRpcChannelBuffer *_pRpcChannelBuffer,
  2029. PRPC_MESSAGE _pRpcMessage,
  2030. DWORD *_pdwStubPhase);
  2031. HRESULT STDMETHODCALLTYPE IWMDRMWriter_SetDRMAttribute_Proxy(
  2032. IWMDRMWriter * This,
  2033. /* [in] */ WORD wStreamNum,
  2034. /* [in] */ LPCWSTR pszName,
  2035. /* [in] */ WMT_ATTR_DATATYPE Type,
  2036. /* [size_is][in] */ const BYTE *pValue,
  2037. /* [in] */ WORD cbLength);
  2038. void __RPC_STUB IWMDRMWriter_SetDRMAttribute_Stub(
  2039. IRpcStubBuffer *This,
  2040. IRpcChannelBuffer *_pRpcChannelBuffer,
  2041. PRPC_MESSAGE _pRpcMessage,
  2042. DWORD *_pdwStubPhase);
  2043. #endif /* __IWMDRMWriter_INTERFACE_DEFINED__ */
  2044. #ifndef __IWMInputMediaProps_INTERFACE_DEFINED__
  2045. #define __IWMInputMediaProps_INTERFACE_DEFINED__
  2046. /* interface IWMInputMediaProps */
  2047. /* [local][unique][helpstring][uuid][object] */
  2048. EXTERN_C const IID IID_IWMInputMediaProps;
  2049. #if defined(__cplusplus) && !defined(CINTERFACE)
  2050. MIDL_INTERFACE("96406BD5-2B2B-11d3-B36B-00C04F6108FF")
  2051. IWMInputMediaProps : public IWMMediaProps
  2052. {
  2053. public:
  2054. virtual HRESULT STDMETHODCALLTYPE GetConnectionName(
  2055. /* [size_is][out] */ WCHAR *pwszName,
  2056. /* [out][in] */ WORD *pcchName) = 0;
  2057. virtual HRESULT STDMETHODCALLTYPE GetGroupName(
  2058. /* [size_is][out] */ WCHAR *pwszName,
  2059. /* [out][in] */ WORD *pcchName) = 0;
  2060. };
  2061. #else /* C style interface */
  2062. typedef struct IWMInputMediaPropsVtbl
  2063. {
  2064. BEGIN_INTERFACE
  2065. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2066. IWMInputMediaProps * This,
  2067. /* [in] */ REFIID riid,
  2068. /* [iid_is][out] */ void **ppvObject);
  2069. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2070. IWMInputMediaProps * This);
  2071. ULONG ( STDMETHODCALLTYPE *Release )(
  2072. IWMInputMediaProps * This);
  2073. HRESULT ( STDMETHODCALLTYPE *GetType )(
  2074. IWMInputMediaProps * This,
  2075. /* [out] */ GUID *pguidType);
  2076. HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
  2077. IWMInputMediaProps * This,
  2078. /* [out] */ WM_MEDIA_TYPE *pType,
  2079. /* [out][in] */ DWORD *pcbType);
  2080. HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
  2081. IWMInputMediaProps * This,
  2082. /* [in] */ WM_MEDIA_TYPE *pType);
  2083. HRESULT ( STDMETHODCALLTYPE *GetConnectionName )(
  2084. IWMInputMediaProps * This,
  2085. /* [size_is][out] */ WCHAR *pwszName,
  2086. /* [out][in] */ WORD *pcchName);
  2087. HRESULT ( STDMETHODCALLTYPE *GetGroupName )(
  2088. IWMInputMediaProps * This,
  2089. /* [size_is][out] */ WCHAR *pwszName,
  2090. /* [out][in] */ WORD *pcchName);
  2091. END_INTERFACE
  2092. } IWMInputMediaPropsVtbl;
  2093. interface IWMInputMediaProps
  2094. {
  2095. CONST_VTBL struct IWMInputMediaPropsVtbl *lpVtbl;
  2096. };
  2097. #ifdef COBJMACROS
  2098. #define IWMInputMediaProps_QueryInterface(This,riid,ppvObject) \
  2099. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2100. #define IWMInputMediaProps_AddRef(This) \
  2101. (This)->lpVtbl -> AddRef(This)
  2102. #define IWMInputMediaProps_Release(This) \
  2103. (This)->lpVtbl -> Release(This)
  2104. #define IWMInputMediaProps_GetType(This,pguidType) \
  2105. (This)->lpVtbl -> GetType(This,pguidType)
  2106. #define IWMInputMediaProps_GetMediaType(This,pType,pcbType) \
  2107. (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  2108. #define IWMInputMediaProps_SetMediaType(This,pType) \
  2109. (This)->lpVtbl -> SetMediaType(This,pType)
  2110. #define IWMInputMediaProps_GetConnectionName(This,pwszName,pcchName) \
  2111. (This)->lpVtbl -> GetConnectionName(This,pwszName,pcchName)
  2112. #define IWMInputMediaProps_GetGroupName(This,pwszName,pcchName) \
  2113. (This)->lpVtbl -> GetGroupName(This,pwszName,pcchName)
  2114. #endif /* COBJMACROS */
  2115. #endif /* C style interface */
  2116. HRESULT STDMETHODCALLTYPE IWMInputMediaProps_GetConnectionName_Proxy(
  2117. IWMInputMediaProps * This,
  2118. /* [size_is][out] */ WCHAR *pwszName,
  2119. /* [out][in] */ WORD *pcchName);
  2120. void __RPC_STUB IWMInputMediaProps_GetConnectionName_Stub(
  2121. IRpcStubBuffer *This,
  2122. IRpcChannelBuffer *_pRpcChannelBuffer,
  2123. PRPC_MESSAGE _pRpcMessage,
  2124. DWORD *_pdwStubPhase);
  2125. HRESULT STDMETHODCALLTYPE IWMInputMediaProps_GetGroupName_Proxy(
  2126. IWMInputMediaProps * This,
  2127. /* [size_is][out] */ WCHAR *pwszName,
  2128. /* [out][in] */ WORD *pcchName);
  2129. void __RPC_STUB IWMInputMediaProps_GetGroupName_Stub(
  2130. IRpcStubBuffer *This,
  2131. IRpcChannelBuffer *_pRpcChannelBuffer,
  2132. PRPC_MESSAGE _pRpcMessage,
  2133. DWORD *_pdwStubPhase);
  2134. #endif /* __IWMInputMediaProps_INTERFACE_DEFINED__ */
  2135. #ifndef __IWMPropertyVault_INTERFACE_DEFINED__
  2136. #define __IWMPropertyVault_INTERFACE_DEFINED__
  2137. /* interface IWMPropertyVault */
  2138. /* [local][unique][helpstring][uuid][object] */
  2139. EXTERN_C const IID IID_IWMPropertyVault;
  2140. #if defined(__cplusplus) && !defined(CINTERFACE)
  2141. MIDL_INTERFACE("72995A79-5090-42a4-9C8C-D9D0B6D34BE5")
  2142. IWMPropertyVault : public IUnknown
  2143. {
  2144. public:
  2145. virtual HRESULT STDMETHODCALLTYPE GetPropertyCount(
  2146. /* [in] */ DWORD *pdwCount) = 0;
  2147. virtual HRESULT STDMETHODCALLTYPE GetPropertyByName(
  2148. /* [in] */ LPCWSTR pszName,
  2149. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2150. /* [size_is][out] */ BYTE *pValue,
  2151. /* [out][in] */ DWORD *pdwSize) = 0;
  2152. virtual HRESULT STDMETHODCALLTYPE SetProperty(
  2153. /* [in] */ LPCWSTR pszName,
  2154. /* [in] */ WMT_ATTR_DATATYPE pType,
  2155. /* [in] */ BYTE *pValue,
  2156. /* [in] */ DWORD dwSize) = 0;
  2157. virtual HRESULT STDMETHODCALLTYPE GetPropertyByIndex(
  2158. /* [in] */ DWORD dwIndex,
  2159. /* [size_is][out] */ LPWSTR pszName,
  2160. /* [out][in] */ DWORD *pdwNameLen,
  2161. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2162. /* [size_is][out] */ BYTE *pValue,
  2163. /* [out][in] */ DWORD *pdwSize) = 0;
  2164. virtual HRESULT STDMETHODCALLTYPE CopyPropertiesFrom(
  2165. /* [in] */ IWMPropertyVault *pIWMPropertyVault) = 0;
  2166. virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
  2167. };
  2168. #else /* C style interface */
  2169. typedef struct IWMPropertyVaultVtbl
  2170. {
  2171. BEGIN_INTERFACE
  2172. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2173. IWMPropertyVault * This,
  2174. /* [in] */ REFIID riid,
  2175. /* [iid_is][out] */ void **ppvObject);
  2176. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2177. IWMPropertyVault * This);
  2178. ULONG ( STDMETHODCALLTYPE *Release )(
  2179. IWMPropertyVault * This);
  2180. HRESULT ( STDMETHODCALLTYPE *GetPropertyCount )(
  2181. IWMPropertyVault * This,
  2182. /* [in] */ DWORD *pdwCount);
  2183. HRESULT ( STDMETHODCALLTYPE *GetPropertyByName )(
  2184. IWMPropertyVault * This,
  2185. /* [in] */ LPCWSTR pszName,
  2186. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2187. /* [size_is][out] */ BYTE *pValue,
  2188. /* [out][in] */ DWORD *pdwSize);
  2189. HRESULT ( STDMETHODCALLTYPE *SetProperty )(
  2190. IWMPropertyVault * This,
  2191. /* [in] */ LPCWSTR pszName,
  2192. /* [in] */ WMT_ATTR_DATATYPE pType,
  2193. /* [in] */ BYTE *pValue,
  2194. /* [in] */ DWORD dwSize);
  2195. HRESULT ( STDMETHODCALLTYPE *GetPropertyByIndex )(
  2196. IWMPropertyVault * This,
  2197. /* [in] */ DWORD dwIndex,
  2198. /* [size_is][out] */ LPWSTR pszName,
  2199. /* [out][in] */ DWORD *pdwNameLen,
  2200. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2201. /* [size_is][out] */ BYTE *pValue,
  2202. /* [out][in] */ DWORD *pdwSize);
  2203. HRESULT ( STDMETHODCALLTYPE *CopyPropertiesFrom )(
  2204. IWMPropertyVault * This,
  2205. /* [in] */ IWMPropertyVault *pIWMPropertyVault);
  2206. HRESULT ( STDMETHODCALLTYPE *Clear )(
  2207. IWMPropertyVault * This);
  2208. END_INTERFACE
  2209. } IWMPropertyVaultVtbl;
  2210. interface IWMPropertyVault
  2211. {
  2212. CONST_VTBL struct IWMPropertyVaultVtbl *lpVtbl;
  2213. };
  2214. #ifdef COBJMACROS
  2215. #define IWMPropertyVault_QueryInterface(This,riid,ppvObject) \
  2216. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2217. #define IWMPropertyVault_AddRef(This) \
  2218. (This)->lpVtbl -> AddRef(This)
  2219. #define IWMPropertyVault_Release(This) \
  2220. (This)->lpVtbl -> Release(This)
  2221. #define IWMPropertyVault_GetPropertyCount(This,pdwCount) \
  2222. (This)->lpVtbl -> GetPropertyCount(This,pdwCount)
  2223. #define IWMPropertyVault_GetPropertyByName(This,pszName,pType,pValue,pdwSize) \
  2224. (This)->lpVtbl -> GetPropertyByName(This,pszName,pType,pValue,pdwSize)
  2225. #define IWMPropertyVault_SetProperty(This,pszName,pType,pValue,dwSize) \
  2226. (This)->lpVtbl -> SetProperty(This,pszName,pType,pValue,dwSize)
  2227. #define IWMPropertyVault_GetPropertyByIndex(This,dwIndex,pszName,pdwNameLen,pType,pValue,pdwSize) \
  2228. (This)->lpVtbl -> GetPropertyByIndex(This,dwIndex,pszName,pdwNameLen,pType,pValue,pdwSize)
  2229. #define IWMPropertyVault_CopyPropertiesFrom(This,pIWMPropertyVault) \
  2230. (This)->lpVtbl -> CopyPropertiesFrom(This,pIWMPropertyVault)
  2231. #define IWMPropertyVault_Clear(This) \
  2232. (This)->lpVtbl -> Clear(This)
  2233. #endif /* COBJMACROS */
  2234. #endif /* C style interface */
  2235. HRESULT STDMETHODCALLTYPE IWMPropertyVault_GetPropertyCount_Proxy(
  2236. IWMPropertyVault * This,
  2237. /* [in] */ DWORD *pdwCount);
  2238. void __RPC_STUB IWMPropertyVault_GetPropertyCount_Stub(
  2239. IRpcStubBuffer *This,
  2240. IRpcChannelBuffer *_pRpcChannelBuffer,
  2241. PRPC_MESSAGE _pRpcMessage,
  2242. DWORD *_pdwStubPhase);
  2243. HRESULT STDMETHODCALLTYPE IWMPropertyVault_GetPropertyByName_Proxy(
  2244. IWMPropertyVault * This,
  2245. /* [in] */ LPCWSTR pszName,
  2246. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2247. /* [size_is][out] */ BYTE *pValue,
  2248. /* [out][in] */ DWORD *pdwSize);
  2249. void __RPC_STUB IWMPropertyVault_GetPropertyByName_Stub(
  2250. IRpcStubBuffer *This,
  2251. IRpcChannelBuffer *_pRpcChannelBuffer,
  2252. PRPC_MESSAGE _pRpcMessage,
  2253. DWORD *_pdwStubPhase);
  2254. HRESULT STDMETHODCALLTYPE IWMPropertyVault_SetProperty_Proxy(
  2255. IWMPropertyVault * This,
  2256. /* [in] */ LPCWSTR pszName,
  2257. /* [in] */ WMT_ATTR_DATATYPE pType,
  2258. /* [in] */ BYTE *pValue,
  2259. /* [in] */ DWORD dwSize);
  2260. void __RPC_STUB IWMPropertyVault_SetProperty_Stub(
  2261. IRpcStubBuffer *This,
  2262. IRpcChannelBuffer *_pRpcChannelBuffer,
  2263. PRPC_MESSAGE _pRpcMessage,
  2264. DWORD *_pdwStubPhase);
  2265. HRESULT STDMETHODCALLTYPE IWMPropertyVault_GetPropertyByIndex_Proxy(
  2266. IWMPropertyVault * This,
  2267. /* [in] */ DWORD dwIndex,
  2268. /* [size_is][out] */ LPWSTR pszName,
  2269. /* [out][in] */ DWORD *pdwNameLen,
  2270. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2271. /* [size_is][out] */ BYTE *pValue,
  2272. /* [out][in] */ DWORD *pdwSize);
  2273. void __RPC_STUB IWMPropertyVault_GetPropertyByIndex_Stub(
  2274. IRpcStubBuffer *This,
  2275. IRpcChannelBuffer *_pRpcChannelBuffer,
  2276. PRPC_MESSAGE _pRpcMessage,
  2277. DWORD *_pdwStubPhase);
  2278. HRESULT STDMETHODCALLTYPE IWMPropertyVault_CopyPropertiesFrom_Proxy(
  2279. IWMPropertyVault * This,
  2280. /* [in] */ IWMPropertyVault *pIWMPropertyVault);
  2281. void __RPC_STUB IWMPropertyVault_CopyPropertiesFrom_Stub(
  2282. IRpcStubBuffer *This,
  2283. IRpcChannelBuffer *_pRpcChannelBuffer,
  2284. PRPC_MESSAGE _pRpcMessage,
  2285. DWORD *_pdwStubPhase);
  2286. HRESULT STDMETHODCALLTYPE IWMPropertyVault_Clear_Proxy(
  2287. IWMPropertyVault * This);
  2288. void __RPC_STUB IWMPropertyVault_Clear_Stub(
  2289. IRpcStubBuffer *This,
  2290. IRpcChannelBuffer *_pRpcChannelBuffer,
  2291. PRPC_MESSAGE _pRpcMessage,
  2292. DWORD *_pdwStubPhase);
  2293. #endif /* __IWMPropertyVault_INTERFACE_DEFINED__ */
  2294. #ifndef __IWMIStreamProps_INTERFACE_DEFINED__
  2295. #define __IWMIStreamProps_INTERFACE_DEFINED__
  2296. /* interface IWMIStreamProps */
  2297. /* [local][unique][helpstring][uuid][object] */
  2298. EXTERN_C const IID IID_IWMIStreamProps;
  2299. #if defined(__cplusplus) && !defined(CINTERFACE)
  2300. MIDL_INTERFACE("6816dad3-2b4b-4c8e-8149-874c3483a753")
  2301. IWMIStreamProps : public IUnknown
  2302. {
  2303. public:
  2304. virtual HRESULT STDMETHODCALLTYPE GetProperty(
  2305. /* [in] */ LPCWSTR pszName,
  2306. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2307. /* [size_is][out] */ BYTE *pValue,
  2308. /* [out][in] */ DWORD *pdwSize) = 0;
  2309. };
  2310. #else /* C style interface */
  2311. typedef struct IWMIStreamPropsVtbl
  2312. {
  2313. BEGIN_INTERFACE
  2314. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2315. IWMIStreamProps * This,
  2316. /* [in] */ REFIID riid,
  2317. /* [iid_is][out] */ void **ppvObject);
  2318. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2319. IWMIStreamProps * This);
  2320. ULONG ( STDMETHODCALLTYPE *Release )(
  2321. IWMIStreamProps * This);
  2322. HRESULT ( STDMETHODCALLTYPE *GetProperty )(
  2323. IWMIStreamProps * This,
  2324. /* [in] */ LPCWSTR pszName,
  2325. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2326. /* [size_is][out] */ BYTE *pValue,
  2327. /* [out][in] */ DWORD *pdwSize);
  2328. END_INTERFACE
  2329. } IWMIStreamPropsVtbl;
  2330. interface IWMIStreamProps
  2331. {
  2332. CONST_VTBL struct IWMIStreamPropsVtbl *lpVtbl;
  2333. };
  2334. #ifdef COBJMACROS
  2335. #define IWMIStreamProps_QueryInterface(This,riid,ppvObject) \
  2336. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2337. #define IWMIStreamProps_AddRef(This) \
  2338. (This)->lpVtbl -> AddRef(This)
  2339. #define IWMIStreamProps_Release(This) \
  2340. (This)->lpVtbl -> Release(This)
  2341. #define IWMIStreamProps_GetProperty(This,pszName,pType,pValue,pdwSize) \
  2342. (This)->lpVtbl -> GetProperty(This,pszName,pType,pValue,pdwSize)
  2343. #endif /* COBJMACROS */
  2344. #endif /* C style interface */
  2345. HRESULT STDMETHODCALLTYPE IWMIStreamProps_GetProperty_Proxy(
  2346. IWMIStreamProps * This,
  2347. /* [in] */ LPCWSTR pszName,
  2348. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2349. /* [size_is][out] */ BYTE *pValue,
  2350. /* [out][in] */ DWORD *pdwSize);
  2351. void __RPC_STUB IWMIStreamProps_GetProperty_Stub(
  2352. IRpcStubBuffer *This,
  2353. IRpcChannelBuffer *_pRpcChannelBuffer,
  2354. PRPC_MESSAGE _pRpcMessage,
  2355. DWORD *_pdwStubPhase);
  2356. #endif /* __IWMIStreamProps_INTERFACE_DEFINED__ */
  2357. #ifndef __IWMReader_INTERFACE_DEFINED__
  2358. #define __IWMReader_INTERFACE_DEFINED__
  2359. /* interface IWMReader */
  2360. /* [local][unique][helpstring][uuid][object] */
  2361. EXTERN_C const IID IID_IWMReader;
  2362. #if defined(__cplusplus) && !defined(CINTERFACE)
  2363. MIDL_INTERFACE("96406BD6-2B2B-11d3-B36B-00C04F6108FF")
  2364. IWMReader : public IUnknown
  2365. {
  2366. public:
  2367. virtual HRESULT STDMETHODCALLTYPE Open(
  2368. /* [in] */ const WCHAR *pwszURL,
  2369. /* [in] */ IWMReaderCallback *pCallback,
  2370. /* [in] */ void *pvContext) = 0;
  2371. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  2372. virtual HRESULT STDMETHODCALLTYPE GetOutputCount(
  2373. /* [out] */ DWORD *pcOutputs) = 0;
  2374. virtual HRESULT STDMETHODCALLTYPE GetOutputProps(
  2375. /* [in] */ DWORD dwOutputNum,
  2376. /* [out] */ IWMOutputMediaProps **ppOutput) = 0;
  2377. virtual HRESULT STDMETHODCALLTYPE SetOutputProps(
  2378. /* [in] */ DWORD dwOutputNum,
  2379. /* [in] */ IWMOutputMediaProps *pOutput) = 0;
  2380. virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount(
  2381. /* [in] */ DWORD dwOutputNumber,
  2382. /* [out] */ DWORD *pcFormats) = 0;
  2383. virtual HRESULT STDMETHODCALLTYPE GetOutputFormat(
  2384. /* [in] */ DWORD dwOutputNumber,
  2385. /* [in] */ DWORD dwFormatNumber,
  2386. /* [out] */ IWMOutputMediaProps **ppProps) = 0;
  2387. virtual HRESULT STDMETHODCALLTYPE Start(
  2388. /* [in] */ QWORD cnsStart,
  2389. /* [in] */ QWORD cnsDuration,
  2390. /* [in] */ float fRate,
  2391. /* [in] */ void *pvContext) = 0;
  2392. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  2393. virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  2394. virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  2395. };
  2396. #else /* C style interface */
  2397. typedef struct IWMReaderVtbl
  2398. {
  2399. BEGIN_INTERFACE
  2400. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2401. IWMReader * This,
  2402. /* [in] */ REFIID riid,
  2403. /* [iid_is][out] */ void **ppvObject);
  2404. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2405. IWMReader * This);
  2406. ULONG ( STDMETHODCALLTYPE *Release )(
  2407. IWMReader * This);
  2408. HRESULT ( STDMETHODCALLTYPE *Open )(
  2409. IWMReader * This,
  2410. /* [in] */ const WCHAR *pwszURL,
  2411. /* [in] */ IWMReaderCallback *pCallback,
  2412. /* [in] */ void *pvContext);
  2413. HRESULT ( STDMETHODCALLTYPE *Close )(
  2414. IWMReader * This);
  2415. HRESULT ( STDMETHODCALLTYPE *GetOutputCount )(
  2416. IWMReader * This,
  2417. /* [out] */ DWORD *pcOutputs);
  2418. HRESULT ( STDMETHODCALLTYPE *GetOutputProps )(
  2419. IWMReader * This,
  2420. /* [in] */ DWORD dwOutputNum,
  2421. /* [out] */ IWMOutputMediaProps **ppOutput);
  2422. HRESULT ( STDMETHODCALLTYPE *SetOutputProps )(
  2423. IWMReader * This,
  2424. /* [in] */ DWORD dwOutputNum,
  2425. /* [in] */ IWMOutputMediaProps *pOutput);
  2426. HRESULT ( STDMETHODCALLTYPE *GetOutputFormatCount )(
  2427. IWMReader * This,
  2428. /* [in] */ DWORD dwOutputNumber,
  2429. /* [out] */ DWORD *pcFormats);
  2430. HRESULT ( STDMETHODCALLTYPE *GetOutputFormat )(
  2431. IWMReader * This,
  2432. /* [in] */ DWORD dwOutputNumber,
  2433. /* [in] */ DWORD dwFormatNumber,
  2434. /* [out] */ IWMOutputMediaProps **ppProps);
  2435. HRESULT ( STDMETHODCALLTYPE *Start )(
  2436. IWMReader * This,
  2437. /* [in] */ QWORD cnsStart,
  2438. /* [in] */ QWORD cnsDuration,
  2439. /* [in] */ float fRate,
  2440. /* [in] */ void *pvContext);
  2441. HRESULT ( STDMETHODCALLTYPE *Stop )(
  2442. IWMReader * This);
  2443. HRESULT ( STDMETHODCALLTYPE *Pause )(
  2444. IWMReader * This);
  2445. HRESULT ( STDMETHODCALLTYPE *Resume )(
  2446. IWMReader * This);
  2447. END_INTERFACE
  2448. } IWMReaderVtbl;
  2449. interface IWMReader
  2450. {
  2451. CONST_VTBL struct IWMReaderVtbl *lpVtbl;
  2452. };
  2453. #ifdef COBJMACROS
  2454. #define IWMReader_QueryInterface(This,riid,ppvObject) \
  2455. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2456. #define IWMReader_AddRef(This) \
  2457. (This)->lpVtbl -> AddRef(This)
  2458. #define IWMReader_Release(This) \
  2459. (This)->lpVtbl -> Release(This)
  2460. #define IWMReader_Open(This,pwszURL,pCallback,pvContext) \
  2461. (This)->lpVtbl -> Open(This,pwszURL,pCallback,pvContext)
  2462. #define IWMReader_Close(This) \
  2463. (This)->lpVtbl -> Close(This)
  2464. #define IWMReader_GetOutputCount(This,pcOutputs) \
  2465. (This)->lpVtbl -> GetOutputCount(This,pcOutputs)
  2466. #define IWMReader_GetOutputProps(This,dwOutputNum,ppOutput) \
  2467. (This)->lpVtbl -> GetOutputProps(This,dwOutputNum,ppOutput)
  2468. #define IWMReader_SetOutputProps(This,dwOutputNum,pOutput) \
  2469. (This)->lpVtbl -> SetOutputProps(This,dwOutputNum,pOutput)
  2470. #define IWMReader_GetOutputFormatCount(This,dwOutputNumber,pcFormats) \
  2471. (This)->lpVtbl -> GetOutputFormatCount(This,dwOutputNumber,pcFormats)
  2472. #define IWMReader_GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps) \
  2473. (This)->lpVtbl -> GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps)
  2474. #define IWMReader_Start(This,cnsStart,cnsDuration,fRate,pvContext) \
  2475. (This)->lpVtbl -> Start(This,cnsStart,cnsDuration,fRate,pvContext)
  2476. #define IWMReader_Stop(This) \
  2477. (This)->lpVtbl -> Stop(This)
  2478. #define IWMReader_Pause(This) \
  2479. (This)->lpVtbl -> Pause(This)
  2480. #define IWMReader_Resume(This) \
  2481. (This)->lpVtbl -> Resume(This)
  2482. #endif /* COBJMACROS */
  2483. #endif /* C style interface */
  2484. HRESULT STDMETHODCALLTYPE IWMReader_Open_Proxy(
  2485. IWMReader * This,
  2486. /* [in] */ const WCHAR *pwszURL,
  2487. /* [in] */ IWMReaderCallback *pCallback,
  2488. /* [in] */ void *pvContext);
  2489. void __RPC_STUB IWMReader_Open_Stub(
  2490. IRpcStubBuffer *This,
  2491. IRpcChannelBuffer *_pRpcChannelBuffer,
  2492. PRPC_MESSAGE _pRpcMessage,
  2493. DWORD *_pdwStubPhase);
  2494. HRESULT STDMETHODCALLTYPE IWMReader_Close_Proxy(
  2495. IWMReader * This);
  2496. void __RPC_STUB IWMReader_Close_Stub(
  2497. IRpcStubBuffer *This,
  2498. IRpcChannelBuffer *_pRpcChannelBuffer,
  2499. PRPC_MESSAGE _pRpcMessage,
  2500. DWORD *_pdwStubPhase);
  2501. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputCount_Proxy(
  2502. IWMReader * This,
  2503. /* [out] */ DWORD *pcOutputs);
  2504. void __RPC_STUB IWMReader_GetOutputCount_Stub(
  2505. IRpcStubBuffer *This,
  2506. IRpcChannelBuffer *_pRpcChannelBuffer,
  2507. PRPC_MESSAGE _pRpcMessage,
  2508. DWORD *_pdwStubPhase);
  2509. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputProps_Proxy(
  2510. IWMReader * This,
  2511. /* [in] */ DWORD dwOutputNum,
  2512. /* [out] */ IWMOutputMediaProps **ppOutput);
  2513. void __RPC_STUB IWMReader_GetOutputProps_Stub(
  2514. IRpcStubBuffer *This,
  2515. IRpcChannelBuffer *_pRpcChannelBuffer,
  2516. PRPC_MESSAGE _pRpcMessage,
  2517. DWORD *_pdwStubPhase);
  2518. HRESULT STDMETHODCALLTYPE IWMReader_SetOutputProps_Proxy(
  2519. IWMReader * This,
  2520. /* [in] */ DWORD dwOutputNum,
  2521. /* [in] */ IWMOutputMediaProps *pOutput);
  2522. void __RPC_STUB IWMReader_SetOutputProps_Stub(
  2523. IRpcStubBuffer *This,
  2524. IRpcChannelBuffer *_pRpcChannelBuffer,
  2525. PRPC_MESSAGE _pRpcMessage,
  2526. DWORD *_pdwStubPhase);
  2527. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputFormatCount_Proxy(
  2528. IWMReader * This,
  2529. /* [in] */ DWORD dwOutputNumber,
  2530. /* [out] */ DWORD *pcFormats);
  2531. void __RPC_STUB IWMReader_GetOutputFormatCount_Stub(
  2532. IRpcStubBuffer *This,
  2533. IRpcChannelBuffer *_pRpcChannelBuffer,
  2534. PRPC_MESSAGE _pRpcMessage,
  2535. DWORD *_pdwStubPhase);
  2536. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputFormat_Proxy(
  2537. IWMReader * This,
  2538. /* [in] */ DWORD dwOutputNumber,
  2539. /* [in] */ DWORD dwFormatNumber,
  2540. /* [out] */ IWMOutputMediaProps **ppProps);
  2541. void __RPC_STUB IWMReader_GetOutputFormat_Stub(
  2542. IRpcStubBuffer *This,
  2543. IRpcChannelBuffer *_pRpcChannelBuffer,
  2544. PRPC_MESSAGE _pRpcMessage,
  2545. DWORD *_pdwStubPhase);
  2546. HRESULT STDMETHODCALLTYPE IWMReader_Start_Proxy(
  2547. IWMReader * This,
  2548. /* [in] */ QWORD cnsStart,
  2549. /* [in] */ QWORD cnsDuration,
  2550. /* [in] */ float fRate,
  2551. /* [in] */ void *pvContext);
  2552. void __RPC_STUB IWMReader_Start_Stub(
  2553. IRpcStubBuffer *This,
  2554. IRpcChannelBuffer *_pRpcChannelBuffer,
  2555. PRPC_MESSAGE _pRpcMessage,
  2556. DWORD *_pdwStubPhase);
  2557. HRESULT STDMETHODCALLTYPE IWMReader_Stop_Proxy(
  2558. IWMReader * This);
  2559. void __RPC_STUB IWMReader_Stop_Stub(
  2560. IRpcStubBuffer *This,
  2561. IRpcChannelBuffer *_pRpcChannelBuffer,
  2562. PRPC_MESSAGE _pRpcMessage,
  2563. DWORD *_pdwStubPhase);
  2564. HRESULT STDMETHODCALLTYPE IWMReader_Pause_Proxy(
  2565. IWMReader * This);
  2566. void __RPC_STUB IWMReader_Pause_Stub(
  2567. IRpcStubBuffer *This,
  2568. IRpcChannelBuffer *_pRpcChannelBuffer,
  2569. PRPC_MESSAGE _pRpcMessage,
  2570. DWORD *_pdwStubPhase);
  2571. HRESULT STDMETHODCALLTYPE IWMReader_Resume_Proxy(
  2572. IWMReader * This);
  2573. void __RPC_STUB IWMReader_Resume_Stub(
  2574. IRpcStubBuffer *This,
  2575. IRpcChannelBuffer *_pRpcChannelBuffer,
  2576. PRPC_MESSAGE _pRpcMessage,
  2577. DWORD *_pdwStubPhase);
  2578. #endif /* __IWMReader_INTERFACE_DEFINED__ */
  2579. #ifndef __IWMSyncReader_INTERFACE_DEFINED__
  2580. #define __IWMSyncReader_INTERFACE_DEFINED__
  2581. /* interface IWMSyncReader */
  2582. /* [local][unique][helpstring][uuid][object] */
  2583. EXTERN_C const IID IID_IWMSyncReader;
  2584. #if defined(__cplusplus) && !defined(CINTERFACE)
  2585. MIDL_INTERFACE("9397F121-7705-4dc9-B049-98B698188414")
  2586. IWMSyncReader : public IUnknown
  2587. {
  2588. public:
  2589. virtual HRESULT STDMETHODCALLTYPE Open(
  2590. /* [in] */ const WCHAR *pwszFilename) = 0;
  2591. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  2592. virtual HRESULT STDMETHODCALLTYPE SetRange(
  2593. /* [in] */ QWORD cnsStartTime,
  2594. /* [in] */ LONGLONG cnsDuration) = 0;
  2595. virtual HRESULT STDMETHODCALLTYPE SetRangeByFrame(
  2596. /* [in] */ WORD wStreamNum,
  2597. /* [in] */ QWORD qwFrameNumber,
  2598. /* [in] */ LONGLONG cFramesToRead) = 0;
  2599. virtual HRESULT STDMETHODCALLTYPE GetNextSample(
  2600. /* [in] */ WORD wStreamNum,
  2601. /* [out] */ INSSBuffer **ppSample,
  2602. /* [out] */ QWORD *pcnsSampleTime,
  2603. /* [out] */ QWORD *pcnsDuration,
  2604. /* [out] */ DWORD *pdwFlags,
  2605. /* [out] */ DWORD *pdwOutputNum,
  2606. /* [out] */ WORD *pwStreamNum) = 0;
  2607. virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected(
  2608. /* [in] */ WORD cStreamCount,
  2609. /* [in] */ WORD *pwStreamNumbers,
  2610. /* [in] */ WMT_STREAM_SELECTION *pSelections) = 0;
  2611. virtual HRESULT STDMETHODCALLTYPE GetStreamSelected(
  2612. /* [in] */ WORD wStreamNum,
  2613. /* [out] */ WMT_STREAM_SELECTION *pSelection) = 0;
  2614. virtual HRESULT STDMETHODCALLTYPE SetReadStreamSamples(
  2615. /* [in] */ WORD wStreamNum,
  2616. /* [in] */ BOOL fCompressed) = 0;
  2617. virtual HRESULT STDMETHODCALLTYPE GetReadStreamSamples(
  2618. /* [in] */ WORD wStreamNum,
  2619. /* [out] */ BOOL *pfCompressed) = 0;
  2620. virtual HRESULT STDMETHODCALLTYPE GetOutputSetting(
  2621. /* [in] */ DWORD dwOutputNum,
  2622. /* [in] */ LPCWSTR pszName,
  2623. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2624. /* [size_is][out] */ BYTE *pValue,
  2625. /* [out][in] */ WORD *pcbLength) = 0;
  2626. virtual HRESULT STDMETHODCALLTYPE SetOutputSetting(
  2627. /* [in] */ DWORD dwOutputNum,
  2628. /* [in] */ LPCWSTR pszName,
  2629. /* [in] */ WMT_ATTR_DATATYPE Type,
  2630. /* [size_is][in] */ const BYTE *pValue,
  2631. /* [in] */ WORD cbLength) = 0;
  2632. virtual HRESULT STDMETHODCALLTYPE GetOutputCount(
  2633. /* [out] */ DWORD *pcOutputs) = 0;
  2634. virtual HRESULT STDMETHODCALLTYPE GetOutputProps(
  2635. /* [in] */ DWORD dwOutputNum,
  2636. /* [out] */ IWMOutputMediaProps **ppOutput) = 0;
  2637. virtual HRESULT STDMETHODCALLTYPE SetOutputProps(
  2638. /* [in] */ DWORD dwOutputNum,
  2639. /* [in] */ IWMOutputMediaProps *pOutput) = 0;
  2640. virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount(
  2641. /* [in] */ DWORD dwOutputNum,
  2642. /* [out] */ DWORD *pcFormats) = 0;
  2643. virtual HRESULT STDMETHODCALLTYPE GetOutputFormat(
  2644. /* [in] */ DWORD dwOutputNum,
  2645. /* [in] */ DWORD dwFormatNum,
  2646. /* [out] */ IWMOutputMediaProps **ppProps) = 0;
  2647. virtual HRESULT STDMETHODCALLTYPE GetOutputNumberForStream(
  2648. /* [in] */ WORD wStreamNum,
  2649. /* [out] */ DWORD *pdwOutputNum) = 0;
  2650. virtual HRESULT STDMETHODCALLTYPE GetStreamNumberForOutput(
  2651. /* [in] */ DWORD dwOutputNum,
  2652. /* [out] */ WORD *pwStreamNum) = 0;
  2653. virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize(
  2654. /* [in] */ DWORD dwOutput,
  2655. /* [out] */ DWORD *pcbMax) = 0;
  2656. virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize(
  2657. /* [in] */ WORD wStream,
  2658. /* [out] */ DWORD *pcbMax) = 0;
  2659. virtual HRESULT STDMETHODCALLTYPE OpenStream(
  2660. /* [in] */ IStream *pStream) = 0;
  2661. };
  2662. #else /* C style interface */
  2663. typedef struct IWMSyncReaderVtbl
  2664. {
  2665. BEGIN_INTERFACE
  2666. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2667. IWMSyncReader * This,
  2668. /* [in] */ REFIID riid,
  2669. /* [iid_is][out] */ void **ppvObject);
  2670. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2671. IWMSyncReader * This);
  2672. ULONG ( STDMETHODCALLTYPE *Release )(
  2673. IWMSyncReader * This);
  2674. HRESULT ( STDMETHODCALLTYPE *Open )(
  2675. IWMSyncReader * This,
  2676. /* [in] */ const WCHAR *pwszFilename);
  2677. HRESULT ( STDMETHODCALLTYPE *Close )(
  2678. IWMSyncReader * This);
  2679. HRESULT ( STDMETHODCALLTYPE *SetRange )(
  2680. IWMSyncReader * This,
  2681. /* [in] */ QWORD cnsStartTime,
  2682. /* [in] */ LONGLONG cnsDuration);
  2683. HRESULT ( STDMETHODCALLTYPE *SetRangeByFrame )(
  2684. IWMSyncReader * This,
  2685. /* [in] */ WORD wStreamNum,
  2686. /* [in] */ QWORD qwFrameNumber,
  2687. /* [in] */ LONGLONG cFramesToRead);
  2688. HRESULT ( STDMETHODCALLTYPE *GetNextSample )(
  2689. IWMSyncReader * This,
  2690. /* [in] */ WORD wStreamNum,
  2691. /* [out] */ INSSBuffer **ppSample,
  2692. /* [out] */ QWORD *pcnsSampleTime,
  2693. /* [out] */ QWORD *pcnsDuration,
  2694. /* [out] */ DWORD *pdwFlags,
  2695. /* [out] */ DWORD *pdwOutputNum,
  2696. /* [out] */ WORD *pwStreamNum);
  2697. HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )(
  2698. IWMSyncReader * This,
  2699. /* [in] */ WORD cStreamCount,
  2700. /* [in] */ WORD *pwStreamNumbers,
  2701. /* [in] */ WMT_STREAM_SELECTION *pSelections);
  2702. HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )(
  2703. IWMSyncReader * This,
  2704. /* [in] */ WORD wStreamNum,
  2705. /* [out] */ WMT_STREAM_SELECTION *pSelection);
  2706. HRESULT ( STDMETHODCALLTYPE *SetReadStreamSamples )(
  2707. IWMSyncReader * This,
  2708. /* [in] */ WORD wStreamNum,
  2709. /* [in] */ BOOL fCompressed);
  2710. HRESULT ( STDMETHODCALLTYPE *GetReadStreamSamples )(
  2711. IWMSyncReader * This,
  2712. /* [in] */ WORD wStreamNum,
  2713. /* [out] */ BOOL *pfCompressed);
  2714. HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )(
  2715. IWMSyncReader * This,
  2716. /* [in] */ DWORD dwOutputNum,
  2717. /* [in] */ LPCWSTR pszName,
  2718. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2719. /* [size_is][out] */ BYTE *pValue,
  2720. /* [out][in] */ WORD *pcbLength);
  2721. HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )(
  2722. IWMSyncReader * This,
  2723. /* [in] */ DWORD dwOutputNum,
  2724. /* [in] */ LPCWSTR pszName,
  2725. /* [in] */ WMT_ATTR_DATATYPE Type,
  2726. /* [size_is][in] */ const BYTE *pValue,
  2727. /* [in] */ WORD cbLength);
  2728. HRESULT ( STDMETHODCALLTYPE *GetOutputCount )(
  2729. IWMSyncReader * This,
  2730. /* [out] */ DWORD *pcOutputs);
  2731. HRESULT ( STDMETHODCALLTYPE *GetOutputProps )(
  2732. IWMSyncReader * This,
  2733. /* [in] */ DWORD dwOutputNum,
  2734. /* [out] */ IWMOutputMediaProps **ppOutput);
  2735. HRESULT ( STDMETHODCALLTYPE *SetOutputProps )(
  2736. IWMSyncReader * This,
  2737. /* [in] */ DWORD dwOutputNum,
  2738. /* [in] */ IWMOutputMediaProps *pOutput);
  2739. HRESULT ( STDMETHODCALLTYPE *GetOutputFormatCount )(
  2740. IWMSyncReader * This,
  2741. /* [in] */ DWORD dwOutputNum,
  2742. /* [out] */ DWORD *pcFormats);
  2743. HRESULT ( STDMETHODCALLTYPE *GetOutputFormat )(
  2744. IWMSyncReader * This,
  2745. /* [in] */ DWORD dwOutputNum,
  2746. /* [in] */ DWORD dwFormatNum,
  2747. /* [out] */ IWMOutputMediaProps **ppProps);
  2748. HRESULT ( STDMETHODCALLTYPE *GetOutputNumberForStream )(
  2749. IWMSyncReader * This,
  2750. /* [in] */ WORD wStreamNum,
  2751. /* [out] */ DWORD *pdwOutputNum);
  2752. HRESULT ( STDMETHODCALLTYPE *GetStreamNumberForOutput )(
  2753. IWMSyncReader * This,
  2754. /* [in] */ DWORD dwOutputNum,
  2755. /* [out] */ WORD *pwStreamNum);
  2756. HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )(
  2757. IWMSyncReader * This,
  2758. /* [in] */ DWORD dwOutput,
  2759. /* [out] */ DWORD *pcbMax);
  2760. HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )(
  2761. IWMSyncReader * This,
  2762. /* [in] */ WORD wStream,
  2763. /* [out] */ DWORD *pcbMax);
  2764. HRESULT ( STDMETHODCALLTYPE *OpenStream )(
  2765. IWMSyncReader * This,
  2766. /* [in] */ IStream *pStream);
  2767. END_INTERFACE
  2768. } IWMSyncReaderVtbl;
  2769. interface IWMSyncReader
  2770. {
  2771. CONST_VTBL struct IWMSyncReaderVtbl *lpVtbl;
  2772. };
  2773. #ifdef COBJMACROS
  2774. #define IWMSyncReader_QueryInterface(This,riid,ppvObject) \
  2775. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2776. #define IWMSyncReader_AddRef(This) \
  2777. (This)->lpVtbl -> AddRef(This)
  2778. #define IWMSyncReader_Release(This) \
  2779. (This)->lpVtbl -> Release(This)
  2780. #define IWMSyncReader_Open(This,pwszFilename) \
  2781. (This)->lpVtbl -> Open(This,pwszFilename)
  2782. #define IWMSyncReader_Close(This) \
  2783. (This)->lpVtbl -> Close(This)
  2784. #define IWMSyncReader_SetRange(This,cnsStartTime,cnsDuration) \
  2785. (This)->lpVtbl -> SetRange(This,cnsStartTime,cnsDuration)
  2786. #define IWMSyncReader_SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) \
  2787. (This)->lpVtbl -> SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead)
  2788. #define IWMSyncReader_GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) \
  2789. (This)->lpVtbl -> GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum)
  2790. #define IWMSyncReader_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) \
  2791. (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  2792. #define IWMSyncReader_GetStreamSelected(This,wStreamNum,pSelection) \
  2793. (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  2794. #define IWMSyncReader_SetReadStreamSamples(This,wStreamNum,fCompressed) \
  2795. (This)->lpVtbl -> SetReadStreamSamples(This,wStreamNum,fCompressed)
  2796. #define IWMSyncReader_GetReadStreamSamples(This,wStreamNum,pfCompressed) \
  2797. (This)->lpVtbl -> GetReadStreamSamples(This,wStreamNum,pfCompressed)
  2798. #define IWMSyncReader_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) \
  2799. (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  2800. #define IWMSyncReader_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) \
  2801. (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  2802. #define IWMSyncReader_GetOutputCount(This,pcOutputs) \
  2803. (This)->lpVtbl -> GetOutputCount(This,pcOutputs)
  2804. #define IWMSyncReader_GetOutputProps(This,dwOutputNum,ppOutput) \
  2805. (This)->lpVtbl -> GetOutputProps(This,dwOutputNum,ppOutput)
  2806. #define IWMSyncReader_SetOutputProps(This,dwOutputNum,pOutput) \
  2807. (This)->lpVtbl -> SetOutputProps(This,dwOutputNum,pOutput)
  2808. #define IWMSyncReader_GetOutputFormatCount(This,dwOutputNum,pcFormats) \
  2809. (This)->lpVtbl -> GetOutputFormatCount(This,dwOutputNum,pcFormats)
  2810. #define IWMSyncReader_GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) \
  2811. (This)->lpVtbl -> GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps)
  2812. #define IWMSyncReader_GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) \
  2813. (This)->lpVtbl -> GetOutputNumberForStream(This,wStreamNum,pdwOutputNum)
  2814. #define IWMSyncReader_GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) \
  2815. (This)->lpVtbl -> GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum)
  2816. #define IWMSyncReader_GetMaxOutputSampleSize(This,dwOutput,pcbMax) \
  2817. (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  2818. #define IWMSyncReader_GetMaxStreamSampleSize(This,wStream,pcbMax) \
  2819. (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  2820. #define IWMSyncReader_OpenStream(This,pStream) \
  2821. (This)->lpVtbl -> OpenStream(This,pStream)
  2822. #endif /* COBJMACROS */
  2823. #endif /* C style interface */
  2824. HRESULT STDMETHODCALLTYPE IWMSyncReader_Open_Proxy(
  2825. IWMSyncReader * This,
  2826. /* [in] */ const WCHAR *pwszFilename);
  2827. void __RPC_STUB IWMSyncReader_Open_Stub(
  2828. IRpcStubBuffer *This,
  2829. IRpcChannelBuffer *_pRpcChannelBuffer,
  2830. PRPC_MESSAGE _pRpcMessage,
  2831. DWORD *_pdwStubPhase);
  2832. HRESULT STDMETHODCALLTYPE IWMSyncReader_Close_Proxy(
  2833. IWMSyncReader * This);
  2834. void __RPC_STUB IWMSyncReader_Close_Stub(
  2835. IRpcStubBuffer *This,
  2836. IRpcChannelBuffer *_pRpcChannelBuffer,
  2837. PRPC_MESSAGE _pRpcMessage,
  2838. DWORD *_pdwStubPhase);
  2839. HRESULT STDMETHODCALLTYPE IWMSyncReader_SetRange_Proxy(
  2840. IWMSyncReader * This,
  2841. /* [in] */ QWORD cnsStartTime,
  2842. /* [in] */ LONGLONG cnsDuration);
  2843. void __RPC_STUB IWMSyncReader_SetRange_Stub(
  2844. IRpcStubBuffer *This,
  2845. IRpcChannelBuffer *_pRpcChannelBuffer,
  2846. PRPC_MESSAGE _pRpcMessage,
  2847. DWORD *_pdwStubPhase);
  2848. HRESULT STDMETHODCALLTYPE IWMSyncReader_SetRangeByFrame_Proxy(
  2849. IWMSyncReader * This,
  2850. /* [in] */ WORD wStreamNum,
  2851. /* [in] */ QWORD qwFrameNumber,
  2852. /* [in] */ LONGLONG cFramesToRead);
  2853. void __RPC_STUB IWMSyncReader_SetRangeByFrame_Stub(
  2854. IRpcStubBuffer *This,
  2855. IRpcChannelBuffer *_pRpcChannelBuffer,
  2856. PRPC_MESSAGE _pRpcMessage,
  2857. DWORD *_pdwStubPhase);
  2858. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetNextSample_Proxy(
  2859. IWMSyncReader * This,
  2860. /* [in] */ WORD wStreamNum,
  2861. /* [out] */ INSSBuffer **ppSample,
  2862. /* [out] */ QWORD *pcnsSampleTime,
  2863. /* [out] */ QWORD *pcnsDuration,
  2864. /* [out] */ DWORD *pdwFlags,
  2865. /* [out] */ DWORD *pdwOutputNum,
  2866. /* [out] */ WORD *pwStreamNum);
  2867. void __RPC_STUB IWMSyncReader_GetNextSample_Stub(
  2868. IRpcStubBuffer *This,
  2869. IRpcChannelBuffer *_pRpcChannelBuffer,
  2870. PRPC_MESSAGE _pRpcMessage,
  2871. DWORD *_pdwStubPhase);
  2872. HRESULT STDMETHODCALLTYPE IWMSyncReader_SetStreamsSelected_Proxy(
  2873. IWMSyncReader * This,
  2874. /* [in] */ WORD cStreamCount,
  2875. /* [in] */ WORD *pwStreamNumbers,
  2876. /* [in] */ WMT_STREAM_SELECTION *pSelections);
  2877. void __RPC_STUB IWMSyncReader_SetStreamsSelected_Stub(
  2878. IRpcStubBuffer *This,
  2879. IRpcChannelBuffer *_pRpcChannelBuffer,
  2880. PRPC_MESSAGE _pRpcMessage,
  2881. DWORD *_pdwStubPhase);
  2882. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetStreamSelected_Proxy(
  2883. IWMSyncReader * This,
  2884. /* [in] */ WORD wStreamNum,
  2885. /* [out] */ WMT_STREAM_SELECTION *pSelection);
  2886. void __RPC_STUB IWMSyncReader_GetStreamSelected_Stub(
  2887. IRpcStubBuffer *This,
  2888. IRpcChannelBuffer *_pRpcChannelBuffer,
  2889. PRPC_MESSAGE _pRpcMessage,
  2890. DWORD *_pdwStubPhase);
  2891. HRESULT STDMETHODCALLTYPE IWMSyncReader_SetReadStreamSamples_Proxy(
  2892. IWMSyncReader * This,
  2893. /* [in] */ WORD wStreamNum,
  2894. /* [in] */ BOOL fCompressed);
  2895. void __RPC_STUB IWMSyncReader_SetReadStreamSamples_Stub(
  2896. IRpcStubBuffer *This,
  2897. IRpcChannelBuffer *_pRpcChannelBuffer,
  2898. PRPC_MESSAGE _pRpcMessage,
  2899. DWORD *_pdwStubPhase);
  2900. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetReadStreamSamples_Proxy(
  2901. IWMSyncReader * This,
  2902. /* [in] */ WORD wStreamNum,
  2903. /* [out] */ BOOL *pfCompressed);
  2904. void __RPC_STUB IWMSyncReader_GetReadStreamSamples_Stub(
  2905. IRpcStubBuffer *This,
  2906. IRpcChannelBuffer *_pRpcChannelBuffer,
  2907. PRPC_MESSAGE _pRpcMessage,
  2908. DWORD *_pdwStubPhase);
  2909. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputSetting_Proxy(
  2910. IWMSyncReader * This,
  2911. /* [in] */ DWORD dwOutputNum,
  2912. /* [in] */ LPCWSTR pszName,
  2913. /* [out] */ WMT_ATTR_DATATYPE *pType,
  2914. /* [size_is][out] */ BYTE *pValue,
  2915. /* [out][in] */ WORD *pcbLength);
  2916. void __RPC_STUB IWMSyncReader_GetOutputSetting_Stub(
  2917. IRpcStubBuffer *This,
  2918. IRpcChannelBuffer *_pRpcChannelBuffer,
  2919. PRPC_MESSAGE _pRpcMessage,
  2920. DWORD *_pdwStubPhase);
  2921. HRESULT STDMETHODCALLTYPE IWMSyncReader_SetOutputSetting_Proxy(
  2922. IWMSyncReader * This,
  2923. /* [in] */ DWORD dwOutputNum,
  2924. /* [in] */ LPCWSTR pszName,
  2925. /* [in] */ WMT_ATTR_DATATYPE Type,
  2926. /* [size_is][in] */ const BYTE *pValue,
  2927. /* [in] */ WORD cbLength);
  2928. void __RPC_STUB IWMSyncReader_SetOutputSetting_Stub(
  2929. IRpcStubBuffer *This,
  2930. IRpcChannelBuffer *_pRpcChannelBuffer,
  2931. PRPC_MESSAGE _pRpcMessage,
  2932. DWORD *_pdwStubPhase);
  2933. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputCount_Proxy(
  2934. IWMSyncReader * This,
  2935. /* [out] */ DWORD *pcOutputs);
  2936. void __RPC_STUB IWMSyncReader_GetOutputCount_Stub(
  2937. IRpcStubBuffer *This,
  2938. IRpcChannelBuffer *_pRpcChannelBuffer,
  2939. PRPC_MESSAGE _pRpcMessage,
  2940. DWORD *_pdwStubPhase);
  2941. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputProps_Proxy(
  2942. IWMSyncReader * This,
  2943. /* [in] */ DWORD dwOutputNum,
  2944. /* [out] */ IWMOutputMediaProps **ppOutput);
  2945. void __RPC_STUB IWMSyncReader_GetOutputProps_Stub(
  2946. IRpcStubBuffer *This,
  2947. IRpcChannelBuffer *_pRpcChannelBuffer,
  2948. PRPC_MESSAGE _pRpcMessage,
  2949. DWORD *_pdwStubPhase);
  2950. HRESULT STDMETHODCALLTYPE IWMSyncReader_SetOutputProps_Proxy(
  2951. IWMSyncReader * This,
  2952. /* [in] */ DWORD dwOutputNum,
  2953. /* [in] */ IWMOutputMediaProps *pOutput);
  2954. void __RPC_STUB IWMSyncReader_SetOutputProps_Stub(
  2955. IRpcStubBuffer *This,
  2956. IRpcChannelBuffer *_pRpcChannelBuffer,
  2957. PRPC_MESSAGE _pRpcMessage,
  2958. DWORD *_pdwStubPhase);
  2959. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputFormatCount_Proxy(
  2960. IWMSyncReader * This,
  2961. /* [in] */ DWORD dwOutputNum,
  2962. /* [out] */ DWORD *pcFormats);
  2963. void __RPC_STUB IWMSyncReader_GetOutputFormatCount_Stub(
  2964. IRpcStubBuffer *This,
  2965. IRpcChannelBuffer *_pRpcChannelBuffer,
  2966. PRPC_MESSAGE _pRpcMessage,
  2967. DWORD *_pdwStubPhase);
  2968. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputFormat_Proxy(
  2969. IWMSyncReader * This,
  2970. /* [in] */ DWORD dwOutputNum,
  2971. /* [in] */ DWORD dwFormatNum,
  2972. /* [out] */ IWMOutputMediaProps **ppProps);
  2973. void __RPC_STUB IWMSyncReader_GetOutputFormat_Stub(
  2974. IRpcStubBuffer *This,
  2975. IRpcChannelBuffer *_pRpcChannelBuffer,
  2976. PRPC_MESSAGE _pRpcMessage,
  2977. DWORD *_pdwStubPhase);
  2978. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetOutputNumberForStream_Proxy(
  2979. IWMSyncReader * This,
  2980. /* [in] */ WORD wStreamNum,
  2981. /* [out] */ DWORD *pdwOutputNum);
  2982. void __RPC_STUB IWMSyncReader_GetOutputNumberForStream_Stub(
  2983. IRpcStubBuffer *This,
  2984. IRpcChannelBuffer *_pRpcChannelBuffer,
  2985. PRPC_MESSAGE _pRpcMessage,
  2986. DWORD *_pdwStubPhase);
  2987. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetStreamNumberForOutput_Proxy(
  2988. IWMSyncReader * This,
  2989. /* [in] */ DWORD dwOutputNum,
  2990. /* [out] */ WORD *pwStreamNum);
  2991. void __RPC_STUB IWMSyncReader_GetStreamNumberForOutput_Stub(
  2992. IRpcStubBuffer *This,
  2993. IRpcChannelBuffer *_pRpcChannelBuffer,
  2994. PRPC_MESSAGE _pRpcMessage,
  2995. DWORD *_pdwStubPhase);
  2996. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetMaxOutputSampleSize_Proxy(
  2997. IWMSyncReader * This,
  2998. /* [in] */ DWORD dwOutput,
  2999. /* [out] */ DWORD *pcbMax);
  3000. void __RPC_STUB IWMSyncReader_GetMaxOutputSampleSize_Stub(
  3001. IRpcStubBuffer *This,
  3002. IRpcChannelBuffer *_pRpcChannelBuffer,
  3003. PRPC_MESSAGE _pRpcMessage,
  3004. DWORD *_pdwStubPhase);
  3005. HRESULT STDMETHODCALLTYPE IWMSyncReader_GetMaxStreamSampleSize_Proxy(
  3006. IWMSyncReader * This,
  3007. /* [in] */ WORD wStream,
  3008. /* [out] */ DWORD *pcbMax);
  3009. void __RPC_STUB IWMSyncReader_GetMaxStreamSampleSize_Stub(
  3010. IRpcStubBuffer *This,
  3011. IRpcChannelBuffer *_pRpcChannelBuffer,
  3012. PRPC_MESSAGE _pRpcMessage,
  3013. DWORD *_pdwStubPhase);
  3014. HRESULT STDMETHODCALLTYPE IWMSyncReader_OpenStream_Proxy(
  3015. IWMSyncReader * This,
  3016. /* [in] */ IStream *pStream);
  3017. void __RPC_STUB IWMSyncReader_OpenStream_Stub(
  3018. IRpcStubBuffer *This,
  3019. IRpcChannelBuffer *_pRpcChannelBuffer,
  3020. PRPC_MESSAGE _pRpcMessage,
  3021. DWORD *_pdwStubPhase);
  3022. #endif /* __IWMSyncReader_INTERFACE_DEFINED__ */
  3023. #ifndef __IWMSyncReader2_INTERFACE_DEFINED__
  3024. #define __IWMSyncReader2_INTERFACE_DEFINED__
  3025. /* interface IWMSyncReader2 */
  3026. /* [local][unique][helpstring][uuid][object] */
  3027. EXTERN_C const IID IID_IWMSyncReader2;
  3028. #if defined(__cplusplus) && !defined(CINTERFACE)
  3029. MIDL_INTERFACE("faed3d21-1b6b-4af7-8cb6-3e189bbc187b")
  3030. IWMSyncReader2 : public IWMSyncReader
  3031. {
  3032. public:
  3033. virtual HRESULT STDMETHODCALLTYPE SetRangeByTimecode(
  3034. /* [in] */ WORD wStreamNum,
  3035. /* [in] */ WMT_TIMECODE_EXTENSION_DATA *pStart,
  3036. /* [in] */ WMT_TIMECODE_EXTENSION_DATA *pEnd) = 0;
  3037. virtual HRESULT STDMETHODCALLTYPE SetRangeByFrameEx(
  3038. /* [in] */ WORD wStreamNum,
  3039. /* [in] */ QWORD qwFrameNumber,
  3040. /* [in] */ LONGLONG cFramesToRead,
  3041. /* [out] */ QWORD *pcnsStartTime) = 0;
  3042. virtual HRESULT STDMETHODCALLTYPE SetAllocateForOutput(
  3043. /* [in] */ DWORD dwOutputNum,
  3044. /* [in] */ IWMReaderAllocatorEx *pAllocator) = 0;
  3045. virtual HRESULT STDMETHODCALLTYPE GetAllocateForOutput(
  3046. /* [in] */ DWORD dwOutputNum,
  3047. /* [out] */ IWMReaderAllocatorEx **ppAllocator) = 0;
  3048. virtual HRESULT STDMETHODCALLTYPE SetAllocateForStream(
  3049. /* [in] */ WORD wStreamNum,
  3050. /* [in] */ IWMReaderAllocatorEx *pAllocator) = 0;
  3051. virtual HRESULT STDMETHODCALLTYPE GetAllocateForStream(
  3052. /* [in] */ WORD dwSreamNum,
  3053. /* [out] */ IWMReaderAllocatorEx **ppAllocator) = 0;
  3054. };
  3055. #else /* C style interface */
  3056. typedef struct IWMSyncReader2Vtbl
  3057. {
  3058. BEGIN_INTERFACE
  3059. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3060. IWMSyncReader2 * This,
  3061. /* [in] */ REFIID riid,
  3062. /* [iid_is][out] */ void **ppvObject);
  3063. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3064. IWMSyncReader2 * This);
  3065. ULONG ( STDMETHODCALLTYPE *Release )(
  3066. IWMSyncReader2 * This);
  3067. HRESULT ( STDMETHODCALLTYPE *Open )(
  3068. IWMSyncReader2 * This,
  3069. /* [in] */ const WCHAR *pwszFilename);
  3070. HRESULT ( STDMETHODCALLTYPE *Close )(
  3071. IWMSyncReader2 * This);
  3072. HRESULT ( STDMETHODCALLTYPE *SetRange )(
  3073. IWMSyncReader2 * This,
  3074. /* [in] */ QWORD cnsStartTime,
  3075. /* [in] */ LONGLONG cnsDuration);
  3076. HRESULT ( STDMETHODCALLTYPE *SetRangeByFrame )(
  3077. IWMSyncReader2 * This,
  3078. /* [in] */ WORD wStreamNum,
  3079. /* [in] */ QWORD qwFrameNumber,
  3080. /* [in] */ LONGLONG cFramesToRead);
  3081. HRESULT ( STDMETHODCALLTYPE *GetNextSample )(
  3082. IWMSyncReader2 * This,
  3083. /* [in] */ WORD wStreamNum,
  3084. /* [out] */ INSSBuffer **ppSample,
  3085. /* [out] */ QWORD *pcnsSampleTime,
  3086. /* [out] */ QWORD *pcnsDuration,
  3087. /* [out] */ DWORD *pdwFlags,
  3088. /* [out] */ DWORD *pdwOutputNum,
  3089. /* [out] */ WORD *pwStreamNum);
  3090. HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )(
  3091. IWMSyncReader2 * This,
  3092. /* [in] */ WORD cStreamCount,
  3093. /* [in] */ WORD *pwStreamNumbers,
  3094. /* [in] */ WMT_STREAM_SELECTION *pSelections);
  3095. HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )(
  3096. IWMSyncReader2 * This,
  3097. /* [in] */ WORD wStreamNum,
  3098. /* [out] */ WMT_STREAM_SELECTION *pSelection);
  3099. HRESULT ( STDMETHODCALLTYPE *SetReadStreamSamples )(
  3100. IWMSyncReader2 * This,
  3101. /* [in] */ WORD wStreamNum,
  3102. /* [in] */ BOOL fCompressed);
  3103. HRESULT ( STDMETHODCALLTYPE *GetReadStreamSamples )(
  3104. IWMSyncReader2 * This,
  3105. /* [in] */ WORD wStreamNum,
  3106. /* [out] */ BOOL *pfCompressed);
  3107. HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )(
  3108. IWMSyncReader2 * This,
  3109. /* [in] */ DWORD dwOutputNum,
  3110. /* [in] */ LPCWSTR pszName,
  3111. /* [out] */ WMT_ATTR_DATATYPE *pType,
  3112. /* [size_is][out] */ BYTE *pValue,
  3113. /* [out][in] */ WORD *pcbLength);
  3114. HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )(
  3115. IWMSyncReader2 * This,
  3116. /* [in] */ DWORD dwOutputNum,
  3117. /* [in] */ LPCWSTR pszName,
  3118. /* [in] */ WMT_ATTR_DATATYPE Type,
  3119. /* [size_is][in] */ const BYTE *pValue,
  3120. /* [in] */ WORD cbLength);
  3121. HRESULT ( STDMETHODCALLTYPE *GetOutputCount )(
  3122. IWMSyncReader2 * This,
  3123. /* [out] */ DWORD *pcOutputs);
  3124. HRESULT ( STDMETHODCALLTYPE *GetOutputProps )(
  3125. IWMSyncReader2 * This,
  3126. /* [in] */ DWORD dwOutputNum,
  3127. /* [out] */ IWMOutputMediaProps **ppOutput);
  3128. HRESULT ( STDMETHODCALLTYPE *SetOutputProps )(
  3129. IWMSyncReader2 * This,
  3130. /* [in] */ DWORD dwOutputNum,
  3131. /* [in] */ IWMOutputMediaProps *pOutput);
  3132. HRESULT ( STDMETHODCALLTYPE *GetOutputFormatCount )(
  3133. IWMSyncReader2 * This,
  3134. /* [in] */ DWORD dwOutputNum,
  3135. /* [out] */ DWORD *pcFormats);
  3136. HRESULT ( STDMETHODCALLTYPE *GetOutputFormat )(
  3137. IWMSyncReader2 * This,
  3138. /* [in] */ DWORD dwOutputNum,
  3139. /* [in] */ DWORD dwFormatNum,
  3140. /* [out] */ IWMOutputMediaProps **ppProps);
  3141. HRESULT ( STDMETHODCALLTYPE *GetOutputNumberForStream )(
  3142. IWMSyncReader2 * This,
  3143. /* [in] */ WORD wStreamNum,
  3144. /* [out] */ DWORD *pdwOutputNum);
  3145. HRESULT ( STDMETHODCALLTYPE *GetStreamNumberForOutput )(
  3146. IWMSyncReader2 * This,
  3147. /* [in] */ DWORD dwOutputNum,
  3148. /* [out] */ WORD *pwStreamNum);
  3149. HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )(
  3150. IWMSyncReader2 * This,
  3151. /* [in] */ DWORD dwOutput,
  3152. /* [out] */ DWORD *pcbMax);
  3153. HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )(
  3154. IWMSyncReader2 * This,
  3155. /* [in] */ WORD wStream,
  3156. /* [out] */ DWORD *pcbMax);
  3157. HRESULT ( STDMETHODCALLTYPE *OpenStream )(
  3158. IWMSyncReader2 * This,
  3159. /* [in] */ IStream *pStream);
  3160. HRESULT ( STDMETHODCALLTYPE *SetRangeByTimecode )(
  3161. IWMSyncReader2 * This,
  3162. /* [in] */ WORD wStreamNum,
  3163. /* [in] */ WMT_TIMECODE_EXTENSION_DATA *pStart,
  3164. /* [in] */ WMT_TIMECODE_EXTENSION_DATA *pEnd);
  3165. HRESULT ( STDMETHODCALLTYPE *SetRangeByFrameEx )(
  3166. IWMSyncReader2 * This,
  3167. /* [in] */ WORD wStreamNum,
  3168. /* [in] */ QWORD qwFrameNumber,
  3169. /* [in] */ LONGLONG cFramesToRead,
  3170. /* [out] */ QWORD *pcnsStartTime);
  3171. HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )(
  3172. IWMSyncReader2 * This,
  3173. /* [in] */ DWORD dwOutputNum,
  3174. /* [in] */ IWMReaderAllocatorEx *pAllocator);
  3175. HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )(
  3176. IWMSyncReader2 * This,
  3177. /* [in] */ DWORD dwOutputNum,
  3178. /* [out] */ IWMReaderAllocatorEx **ppAllocator);
  3179. HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )(
  3180. IWMSyncReader2 * This,
  3181. /* [in] */ WORD wStreamNum,
  3182. /* [in] */ IWMReaderAllocatorEx *pAllocator);
  3183. HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )(
  3184. IWMSyncReader2 * This,
  3185. /* [in] */ WORD dwSreamNum,
  3186. /* [out] */ IWMReaderAllocatorEx **ppAllocator);
  3187. END_INTERFACE
  3188. } IWMSyncReader2Vtbl;
  3189. interface IWMSyncReader2
  3190. {
  3191. CONST_VTBL struct IWMSyncReader2Vtbl *lpVtbl;
  3192. };
  3193. #ifdef COBJMACROS
  3194. #define IWMSyncReader2_QueryInterface(This,riid,ppvObject) \
  3195. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3196. #define IWMSyncReader2_AddRef(This) \
  3197. (This)->lpVtbl -> AddRef(This)
  3198. #define IWMSyncReader2_Release(This) \
  3199. (This)->lpVtbl -> Release(This)
  3200. #define IWMSyncReader2_Open(This,pwszFilename) \
  3201. (This)->lpVtbl -> Open(This,pwszFilename)
  3202. #define IWMSyncReader2_Close(This) \
  3203. (This)->lpVtbl -> Close(This)
  3204. #define IWMSyncReader2_SetRange(This,cnsStartTime,cnsDuration) \
  3205. (This)->lpVtbl -> SetRange(This,cnsStartTime,cnsDuration)
  3206. #define IWMSyncReader2_SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) \
  3207. (This)->lpVtbl -> SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead)
  3208. #define IWMSyncReader2_GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) \
  3209. (This)->lpVtbl -> GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum)
  3210. #define IWMSyncReader2_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) \
  3211. (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  3212. #define IWMSyncReader2_GetStreamSelected(This,wStreamNum,pSelection) \
  3213. (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  3214. #define IWMSyncReader2_SetReadStreamSamples(This,wStreamNum,fCompressed) \
  3215. (This)->lpVtbl -> SetReadStreamSamples(This,wStreamNum,fCompressed)
  3216. #define IWMSyncReader2_GetReadStreamSamples(This,wStreamNum,pfCompressed) \
  3217. (This)->lpVtbl -> GetReadStreamSamples(This,wStreamNum,pfCompressed)
  3218. #define IWMSyncReader2_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) \
  3219. (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  3220. #define IWMSyncReader2_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) \
  3221. (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  3222. #define IWMSyncReader2_GetOutputCount(This,pcOutputs) \
  3223. (This)->lpVtbl -> GetOutputCount(This,pcOutputs)
  3224. #define IWMSyncReader2_GetOutputProps(This,dwOutputNum,ppOutput) \
  3225. (This)->lpVtbl -> GetOutputProps(This,dwOutputNum,ppOutput)
  3226. #define IWMSyncReader2_SetOutputProps(This,dwOutputNum,pOutput) \
  3227. (This)->lpVtbl -> SetOutputProps(This,dwOutputNum,pOutput)
  3228. #define IWMSyncReader2_GetOutputFormatCount(This,dwOutputNum,pcFormats) \
  3229. (This)->lpVtbl -> GetOutputFormatCount(This,dwOutputNum,pcFormats)
  3230. #define IWMSyncReader2_GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) \
  3231. (This)->lpVtbl -> GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps)
  3232. #define IWMSyncReader2_GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) \
  3233. (This)->lpVtbl -> GetOutputNumberForStream(This,wStreamNum,pdwOutputNum)
  3234. #define IWMSyncReader2_GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) \
  3235. (This)->lpVtbl -> GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum)
  3236. #define IWMSyncReader2_GetMaxOutputSampleSize(This,dwOutput,pcbMax) \
  3237. (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  3238. #define IWMSyncReader2_GetMaxStreamSampleSize(This,wStream,pcbMax) \
  3239. (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  3240. #define IWMSyncReader2_OpenStream(This,pStream) \
  3241. (This)->lpVtbl -> OpenStream(This,pStream)
  3242. #define IWMSyncReader2_SetRangeByTimecode(This,wStreamNum,pStart,pEnd) \
  3243. (This)->lpVtbl -> SetRangeByTimecode(This,wStreamNum,pStart,pEnd)
  3244. #define IWMSyncReader2_SetRangeByFrameEx(This,wStreamNum,qwFrameNumber,cFramesToRead,pcnsStartTime) \
  3245. (This)->lpVtbl -> SetRangeByFrameEx(This,wStreamNum,qwFrameNumber,cFramesToRead,pcnsStartTime)
  3246. #define IWMSyncReader2_SetAllocateForOutput(This,dwOutputNum,pAllocator) \
  3247. (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,pAllocator)
  3248. #define IWMSyncReader2_GetAllocateForOutput(This,dwOutputNum,ppAllocator) \
  3249. (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,ppAllocator)
  3250. #define IWMSyncReader2_SetAllocateForStream(This,wStreamNum,pAllocator) \
  3251. (This)->lpVtbl -> SetAllocateForStream(This,wStreamNum,pAllocator)
  3252. #define IWMSyncReader2_GetAllocateForStream(This,dwSreamNum,ppAllocator) \
  3253. (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,ppAllocator)
  3254. #endif /* COBJMACROS */
  3255. #endif /* C style interface */
  3256. HRESULT STDMETHODCALLTYPE IWMSyncReader2_SetRangeByTimecode_Proxy(
  3257. IWMSyncReader2 * This,
  3258. /* [in] */ WORD wStreamNum,
  3259. /* [in] */ WMT_TIMECODE_EXTENSION_DATA *pStart,
  3260. /* [in] */ WMT_TIMECODE_EXTENSION_DATA *pEnd);
  3261. void __RPC_STUB IWMSyncReader2_SetRangeByTimecode_Stub(
  3262. IRpcStubBuffer *This,
  3263. IRpcChannelBuffer *_pRpcChannelBuffer,
  3264. PRPC_MESSAGE _pRpcMessage,
  3265. DWORD *_pdwStubPhase);
  3266. HRESULT STDMETHODCALLTYPE IWMSyncReader2_SetRangeByFrameEx_Proxy(
  3267. IWMSyncReader2 * This,
  3268. /* [in] */ WORD wStreamNum,
  3269. /* [in] */ QWORD qwFrameNumber,
  3270. /* [in] */ LONGLONG cFramesToRead,
  3271. /* [out] */ QWORD *pcnsStartTime);
  3272. void __RPC_STUB IWMSyncReader2_SetRangeByFrameEx_Stub(
  3273. IRpcStubBuffer *This,
  3274. IRpcChannelBuffer *_pRpcChannelBuffer,
  3275. PRPC_MESSAGE _pRpcMessage,
  3276. DWORD *_pdwStubPhase);
  3277. HRESULT STDMETHODCALLTYPE IWMSyncReader2_SetAllocateForOutput_Proxy(
  3278. IWMSyncReader2 * This,
  3279. /* [in] */ DWORD dwOutputNum,
  3280. /* [in] */ IWMReaderAllocatorEx *pAllocator);
  3281. void __RPC_STUB IWMSyncReader2_SetAllocateForOutput_Stub(
  3282. IRpcStubBuffer *This,
  3283. IRpcChannelBuffer *_pRpcChannelBuffer,
  3284. PRPC_MESSAGE _pRpcMessage,
  3285. DWORD *_pdwStubPhase);
  3286. HRESULT STDMETHODCALLTYPE IWMSyncReader2_GetAllocateForOutput_Proxy(
  3287. IWMSyncReader2 * This,
  3288. /* [in] */ DWORD dwOutputNum,
  3289. /* [out] */ IWMReaderAllocatorEx **ppAllocator);
  3290. void __RPC_STUB IWMSyncReader2_GetAllocateForOutput_Stub(
  3291. IRpcStubBuffer *This,
  3292. IRpcChannelBuffer *_pRpcChannelBuffer,
  3293. PRPC_MESSAGE _pRpcMessage,
  3294. DWORD *_pdwStubPhase);
  3295. HRESULT STDMETHODCALLTYPE IWMSyncReader2_SetAllocateForStream_Proxy(
  3296. IWMSyncReader2 * This,
  3297. /* [in] */ WORD wStreamNum,
  3298. /* [in] */ IWMReaderAllocatorEx *pAllocator);
  3299. void __RPC_STUB IWMSyncReader2_SetAllocateForStream_Stub(
  3300. IRpcStubBuffer *This,
  3301. IRpcChannelBuffer *_pRpcChannelBuffer,
  3302. PRPC_MESSAGE _pRpcMessage,
  3303. DWORD *_pdwStubPhase);
  3304. HRESULT STDMETHODCALLTYPE IWMSyncReader2_GetAllocateForStream_Proxy(
  3305. IWMSyncReader2 * This,
  3306. /* [in] */ WORD dwSreamNum,
  3307. /* [out] */ IWMReaderAllocatorEx **ppAllocator);
  3308. void __RPC_STUB IWMSyncReader2_GetAllocateForStream_Stub(
  3309. IRpcStubBuffer *This,
  3310. IRpcChannelBuffer *_pRpcChannelBuffer,
  3311. PRPC_MESSAGE _pRpcMessage,
  3312. DWORD *_pdwStubPhase);
  3313. #endif /* __IWMSyncReader2_INTERFACE_DEFINED__ */
  3314. #ifndef __IWMOutputMediaProps_INTERFACE_DEFINED__
  3315. #define __IWMOutputMediaProps_INTERFACE_DEFINED__
  3316. /* interface IWMOutputMediaProps */
  3317. /* [local][unique][helpstring][uuid][object] */
  3318. EXTERN_C const IID IID_IWMOutputMediaProps;
  3319. #if defined(__cplusplus) && !defined(CINTERFACE)
  3320. MIDL_INTERFACE("96406BD7-2B2B-11d3-B36B-00C04F6108FF")
  3321. IWMOutputMediaProps : public IWMMediaProps
  3322. {
  3323. public:
  3324. virtual HRESULT STDMETHODCALLTYPE GetStreamGroupName(
  3325. /* [size_is][out] */ WCHAR *pwszName,
  3326. /* [out][in] */ WORD *pcchName) = 0;
  3327. virtual HRESULT STDMETHODCALLTYPE GetConnectionName(
  3328. /* [size_is][out] */ WCHAR *pwszName,
  3329. /* [out][in] */ WORD *pcchName) = 0;
  3330. };
  3331. #else /* C style interface */
  3332. typedef struct IWMOutputMediaPropsVtbl
  3333. {
  3334. BEGIN_INTERFACE
  3335. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3336. IWMOutputMediaProps * This,
  3337. /* [in] */ REFIID riid,
  3338. /* [iid_is][out] */ void **ppvObject);
  3339. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3340. IWMOutputMediaProps * This);
  3341. ULONG ( STDMETHODCALLTYPE *Release )(
  3342. IWMOutputMediaProps * This);
  3343. HRESULT ( STDMETHODCALLTYPE *GetType )(
  3344. IWMOutputMediaProps * This,
  3345. /* [out] */ GUID *pguidType);
  3346. HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
  3347. IWMOutputMediaProps * This,
  3348. /* [out] */ WM_MEDIA_TYPE *pType,
  3349. /* [out][in] */ DWORD *pcbType);
  3350. HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
  3351. IWMOutputMediaProps * This,
  3352. /* [in] */ WM_MEDIA_TYPE *pType);
  3353. HRESULT ( STDMETHODCALLTYPE *GetStreamGroupName )(
  3354. IWMOutputMediaProps * This,
  3355. /* [size_is][out] */ WCHAR *pwszName,
  3356. /* [out][in] */ WORD *pcchName);
  3357. HRESULT ( STDMETHODCALLTYPE *GetConnectionName )(
  3358. IWMOutputMediaProps * This,
  3359. /* [size_is][out] */ WCHAR *pwszName,
  3360. /* [out][in] */ WORD *pcchName);
  3361. END_INTERFACE
  3362. } IWMOutputMediaPropsVtbl;
  3363. interface IWMOutputMediaProps
  3364. {
  3365. CONST_VTBL struct IWMOutputMediaPropsVtbl *lpVtbl;
  3366. };
  3367. #ifdef COBJMACROS
  3368. #define IWMOutputMediaProps_QueryInterface(This,riid,ppvObject) \
  3369. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3370. #define IWMOutputMediaProps_AddRef(This) \
  3371. (This)->lpVtbl -> AddRef(This)
  3372. #define IWMOutputMediaProps_Release(This) \
  3373. (This)->lpVtbl -> Release(This)
  3374. #define IWMOutputMediaProps_GetType(This,pguidType) \
  3375. (This)->lpVtbl -> GetType(This,pguidType)
  3376. #define IWMOutputMediaProps_GetMediaType(This,pType,pcbType) \
  3377. (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  3378. #define IWMOutputMediaProps_SetMediaType(This,pType) \
  3379. (This)->lpVtbl -> SetMediaType(This,pType)
  3380. #define IWMOutputMediaProps_GetStreamGroupName(This,pwszName,pcchName) \
  3381. (This)->lpVtbl -> GetStreamGroupName(This,pwszName,pcchName)
  3382. #define IWMOutputMediaProps_GetConnectionName(This,pwszName,pcchName) \
  3383. (This)->lpVtbl -> GetConnectionName(This,pwszName,pcchName)
  3384. #endif /* COBJMACROS */
  3385. #endif /* C style interface */
  3386. HRESULT STDMETHODCALLTYPE IWMOutputMediaProps_GetStreamGroupName_Proxy(
  3387. IWMOutputMediaProps * This,
  3388. /* [size_is][out] */ WCHAR *pwszName,
  3389. /* [out][in] */ WORD *pcchName);
  3390. void __RPC_STUB IWMOutputMediaProps_GetStreamGroupName_Stub(
  3391. IRpcStubBuffer *This,
  3392. IRpcChannelBuffer *_pRpcChannelBuffer,
  3393. PRPC_MESSAGE _pRpcMessage,
  3394. DWORD *_pdwStubPhase);
  3395. HRESULT STDMETHODCALLTYPE IWMOutputMediaProps_GetConnectionName_Proxy(
  3396. IWMOutputMediaProps * This,
  3397. /* [size_is][out] */ WCHAR *pwszName,
  3398. /* [out][in] */ WORD *pcchName);
  3399. void __RPC_STUB IWMOutputMediaProps_GetConnectionName_Stub(
  3400. IRpcStubBuffer *This,
  3401. IRpcChannelBuffer *_pRpcChannelBuffer,
  3402. PRPC_MESSAGE _pRpcMessage,
  3403. DWORD *_pdwStubPhase);
  3404. #endif /* __IWMOutputMediaProps_INTERFACE_DEFINED__ */
  3405. #ifndef __IWMStatusCallback_INTERFACE_DEFINED__
  3406. #define __IWMStatusCallback_INTERFACE_DEFINED__
  3407. /* interface IWMStatusCallback */
  3408. /* [local][unique][helpstring][uuid][object] */
  3409. EXTERN_C const IID IID_IWMStatusCallback;
  3410. #if defined(__cplusplus) && !defined(CINTERFACE)
  3411. MIDL_INTERFACE("6d7cdc70-9888-11d3-8edc-00c04f6109cf")
  3412. IWMStatusCallback : public IUnknown
  3413. {
  3414. public:
  3415. virtual HRESULT STDMETHODCALLTYPE OnStatus(
  3416. /* [in] */ WMT_STATUS Status,
  3417. /* [in] */ HRESULT hr,
  3418. /* [in] */ WMT_ATTR_DATATYPE dwType,
  3419. /* [in] */ BYTE *pValue,
  3420. /* [in] */ void *pvContext) = 0;
  3421. };
  3422. #else /* C style interface */
  3423. typedef struct IWMStatusCallbackVtbl
  3424. {
  3425. BEGIN_INTERFACE
  3426. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3427. IWMStatusCallback * This,
  3428. /* [in] */ REFIID riid,
  3429. /* [iid_is][out] */ void **ppvObject);
  3430. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3431. IWMStatusCallback * This);
  3432. ULONG ( STDMETHODCALLTYPE *Release )(
  3433. IWMStatusCallback * This);
  3434. HRESULT ( STDMETHODCALLTYPE *OnStatus )(
  3435. IWMStatusCallback * This,
  3436. /* [in] */ WMT_STATUS Status,
  3437. /* [in] */ HRESULT hr,
  3438. /* [in] */ WMT_ATTR_DATATYPE dwType,
  3439. /* [in] */ BYTE *pValue,
  3440. /* [in] */ void *pvContext);
  3441. END_INTERFACE
  3442. } IWMStatusCallbackVtbl;
  3443. interface IWMStatusCallback
  3444. {
  3445. CONST_VTBL struct IWMStatusCallbackVtbl *lpVtbl;
  3446. };
  3447. #ifdef COBJMACROS
  3448. #define IWMStatusCallback_QueryInterface(This,riid,ppvObject) \
  3449. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3450. #define IWMStatusCallback_AddRef(This) \
  3451. (This)->lpVtbl -> AddRef(This)
  3452. #define IWMStatusCallback_Release(This) \
  3453. (This)->lpVtbl -> Release(This)
  3454. #define IWMStatusCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) \
  3455. (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext)
  3456. #endif /* COBJMACROS */
  3457. #endif /* C style interface */
  3458. HRESULT STDMETHODCALLTYPE IWMStatusCallback_OnStatus_Proxy(
  3459. IWMStatusCallback * This,
  3460. /* [in] */ WMT_STATUS Status,
  3461. /* [in] */ HRESULT hr,
  3462. /* [in] */ WMT_ATTR_DATATYPE dwType,
  3463. /* [in] */ BYTE *pValue,
  3464. /* [in] */ void *pvContext);
  3465. void __RPC_STUB IWMStatusCallback_OnStatus_Stub(
  3466. IRpcStubBuffer *This,
  3467. IRpcChannelBuffer *_pRpcChannelBuffer,
  3468. PRPC_MESSAGE _pRpcMessage,
  3469. DWORD *_pdwStubPhase);
  3470. #endif /* __IWMStatusCallback_INTERFACE_DEFINED__ */
  3471. #ifndef __IWMReaderCallback_INTERFACE_DEFINED__
  3472. #define __IWMReaderCallback_INTERFACE_DEFINED__
  3473. /* interface IWMReaderCallback */
  3474. /* [local][unique][helpstring][uuid][object] */
  3475. EXTERN_C const IID IID_IWMReaderCallback;
  3476. #if defined(__cplusplus) && !defined(CINTERFACE)
  3477. MIDL_INTERFACE("96406BD8-2B2B-11d3-B36B-00C04F6108FF")
  3478. IWMReaderCallback : public IWMStatusCallback
  3479. {
  3480. public:
  3481. virtual HRESULT STDMETHODCALLTYPE OnSample(
  3482. /* [in] */ DWORD dwOutputNum,
  3483. /* [in] */ QWORD cnsSampleTime,
  3484. /* [in] */ QWORD cnsSampleDuration,
  3485. /* [in] */ DWORD dwFlags,
  3486. /* [in] */ INSSBuffer *pSample,
  3487. /* [in] */ void *pvContext) = 0;
  3488. };
  3489. #else /* C style interface */
  3490. typedef struct IWMReaderCallbackVtbl
  3491. {
  3492. BEGIN_INTERFACE
  3493. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3494. IWMReaderCallback * This,
  3495. /* [in] */ REFIID riid,
  3496. /* [iid_is][out] */ void **ppvObject);
  3497. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3498. IWMReaderCallback * This);
  3499. ULONG ( STDMETHODCALLTYPE *Release )(
  3500. IWMReaderCallback * This);
  3501. HRESULT ( STDMETHODCALLTYPE *OnStatus )(
  3502. IWMReaderCallback * This,
  3503. /* [in] */ WMT_STATUS Status,
  3504. /* [in] */ HRESULT hr,
  3505. /* [in] */ WMT_ATTR_DATATYPE dwType,
  3506. /* [in] */ BYTE *pValue,
  3507. /* [in] */ void *pvContext);
  3508. HRESULT ( STDMETHODCALLTYPE *OnSample )(
  3509. IWMReaderCallback * This,
  3510. /* [in] */ DWORD dwOutputNum,
  3511. /* [in] */ QWORD cnsSampleTime,
  3512. /* [in] */ QWORD cnsSampleDuration,
  3513. /* [in] */ DWORD dwFlags,
  3514. /* [in] */ INSSBuffer *pSample,
  3515. /* [in] */ void *pvContext);
  3516. END_INTERFACE
  3517. } IWMReaderCallbackVtbl;
  3518. interface IWMReaderCallback
  3519. {
  3520. CONST_VTBL struct IWMReaderCallbackVtbl *lpVtbl;
  3521. };
  3522. #ifdef COBJMACROS
  3523. #define IWMReaderCallback_QueryInterface(This,riid,ppvObject) \
  3524. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3525. #define IWMReaderCallback_AddRef(This) \
  3526. (This)->lpVtbl -> AddRef(This)
  3527. #define IWMReaderCallback_Release(This) \
  3528. (This)->lpVtbl -> Release(This)
  3529. #define IWMReaderCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) \
  3530. (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext)
  3531. #define IWMReaderCallback_OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) \
  3532. (This)->lpVtbl -> OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  3533. #endif /* COBJMACROS */
  3534. #endif /* C style interface */
  3535. HRESULT STDMETHODCALLTYPE IWMReaderCallback_OnSample_Proxy(
  3536. IWMReaderCallback * This,
  3537. /* [in] */ DWORD dwOutputNum,
  3538. /* [in] */ QWORD cnsSampleTime,
  3539. /* [in] */ QWORD cnsSampleDuration,
  3540. /* [in] */ DWORD dwFlags,
  3541. /* [in] */ INSSBuffer *pSample,
  3542. /* [in] */ void *pvContext);
  3543. void __RPC_STUB IWMReaderCallback_OnSample_Stub(
  3544. IRpcStubBuffer *This,
  3545. IRpcChannelBuffer *_pRpcChannelBuffer,
  3546. PRPC_MESSAGE _pRpcMessage,
  3547. DWORD *_pdwStubPhase);
  3548. #endif /* __IWMReaderCallback_INTERFACE_DEFINED__ */
  3549. #ifndef __IWMCredentialCallback_INTERFACE_DEFINED__
  3550. #define __IWMCredentialCallback_INTERFACE_DEFINED__
  3551. /* interface IWMCredentialCallback */
  3552. /* [local][unique][helpstring][uuid][object] */
  3553. EXTERN_C const IID IID_IWMCredentialCallback;
  3554. #if defined(__cplusplus) && !defined(CINTERFACE)
  3555. MIDL_INTERFACE("342e0eb7-e651-450c-975b-2ace2c90c48e")
  3556. IWMCredentialCallback : public IUnknown
  3557. {
  3558. public:
  3559. virtual HRESULT STDMETHODCALLTYPE AcquireCredentials(
  3560. /* [in] */ WCHAR *pwszRealm,
  3561. /* [in] */ WCHAR *pwszSite,
  3562. /* [size_is][out] */ WCHAR *pwszUser,
  3563. /* [in] */ DWORD cchUser,
  3564. /* [size_is][out] */ WCHAR *pwszPassword,
  3565. /* [in] */ DWORD cchPassword,
  3566. /* [in] */ HRESULT hrStatus,
  3567. /* [out] */ DWORD *pdwFlags) = 0;
  3568. };
  3569. #else /* C style interface */
  3570. typedef struct IWMCredentialCallbackVtbl
  3571. {
  3572. BEGIN_INTERFACE
  3573. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3574. IWMCredentialCallback * This,
  3575. /* [in] */ REFIID riid,
  3576. /* [iid_is][out] */ void **ppvObject);
  3577. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3578. IWMCredentialCallback * This);
  3579. ULONG ( STDMETHODCALLTYPE *Release )(
  3580. IWMCredentialCallback * This);
  3581. HRESULT ( STDMETHODCALLTYPE *AcquireCredentials )(
  3582. IWMCredentialCallback * This,
  3583. /* [in] */ WCHAR *pwszRealm,
  3584. /* [in] */ WCHAR *pwszSite,
  3585. /* [size_is][out] */ WCHAR *pwszUser,
  3586. /* [in] */ DWORD cchUser,
  3587. /* [size_is][out] */ WCHAR *pwszPassword,
  3588. /* [in] */ DWORD cchPassword,
  3589. /* [in] */ HRESULT hrStatus,
  3590. /* [out] */ DWORD *pdwFlags);
  3591. END_INTERFACE
  3592. } IWMCredentialCallbackVtbl;
  3593. interface IWMCredentialCallback
  3594. {
  3595. CONST_VTBL struct IWMCredentialCallbackVtbl *lpVtbl;
  3596. };
  3597. #ifdef COBJMACROS
  3598. #define IWMCredentialCallback_QueryInterface(This,riid,ppvObject) \
  3599. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3600. #define IWMCredentialCallback_AddRef(This) \
  3601. (This)->lpVtbl -> AddRef(This)
  3602. #define IWMCredentialCallback_Release(This) \
  3603. (This)->lpVtbl -> Release(This)
  3604. #define IWMCredentialCallback_AcquireCredentials(This,pwszRealm,pwszSite,pwszUser,cchUser,pwszPassword,cchPassword,hrStatus,pdwFlags) \
  3605. (This)->lpVtbl -> AcquireCredentials(This,pwszRealm,pwszSite,pwszUser,cchUser,pwszPassword,cchPassword,hrStatus,pdwFlags)
  3606. #endif /* COBJMACROS */
  3607. #endif /* C style interface */
  3608. HRESULT STDMETHODCALLTYPE IWMCredentialCallback_AcquireCredentials_Proxy(
  3609. IWMCredentialCallback * This,
  3610. /* [in] */ WCHAR *pwszRealm,
  3611. /* [in] */ WCHAR *pwszSite,
  3612. /* [size_is][out] */ WCHAR *pwszUser,
  3613. /* [in] */ DWORD cchUser,
  3614. /* [size_is][out] */ WCHAR *pwszPassword,
  3615. /* [in] */ DWORD cchPassword,
  3616. /* [in] */ HRESULT hrStatus,
  3617. /* [out] */ DWORD *pdwFlags);
  3618. void __RPC_STUB IWMCredentialCallback_AcquireCredentials_Stub(
  3619. IRpcStubBuffer *This,
  3620. IRpcChannelBuffer *_pRpcChannelBuffer,
  3621. PRPC_MESSAGE _pRpcMessage,
  3622. DWORD *_pdwStubPhase);
  3623. #endif /* __IWMCredentialCallback_INTERFACE_DEFINED__ */
  3624. #ifndef __IWMMetadataEditor_INTERFACE_DEFINED__
  3625. #define __IWMMetadataEditor_INTERFACE_DEFINED__
  3626. /* interface IWMMetadataEditor */
  3627. /* [local][unique][helpstring][uuid][object] */
  3628. EXTERN_C const IID IID_IWMMetadataEditor;
  3629. #if defined(__cplusplus) && !defined(CINTERFACE)
  3630. MIDL_INTERFACE("96406BD9-2B2B-11d3-B36B-00C04F6108FF")
  3631. IWMMetadataEditor : public IUnknown
  3632. {
  3633. public:
  3634. virtual HRESULT STDMETHODCALLTYPE Open(
  3635. /* [in] */ const WCHAR *pwszFilename) = 0;
  3636. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  3637. virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  3638. };
  3639. #else /* C style interface */
  3640. typedef struct IWMMetadataEditorVtbl
  3641. {
  3642. BEGIN_INTERFACE
  3643. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3644. IWMMetadataEditor * This,
  3645. /* [in] */ REFIID riid,
  3646. /* [iid_is][out] */ void **ppvObject);
  3647. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3648. IWMMetadataEditor * This);
  3649. ULONG ( STDMETHODCALLTYPE *Release )(
  3650. IWMMetadataEditor * This);
  3651. HRESULT ( STDMETHODCALLTYPE *Open )(
  3652. IWMMetadataEditor * This,
  3653. /* [in] */ const WCHAR *pwszFilename);
  3654. HRESULT ( STDMETHODCALLTYPE *Close )(
  3655. IWMMetadataEditor * This);
  3656. HRESULT ( STDMETHODCALLTYPE *Flush )(
  3657. IWMMetadataEditor * This);
  3658. END_INTERFACE
  3659. } IWMMetadataEditorVtbl;
  3660. interface IWMMetadataEditor
  3661. {
  3662. CONST_VTBL struct IWMMetadataEditorVtbl *lpVtbl;
  3663. };
  3664. #ifdef COBJMACROS
  3665. #define IWMMetadataEditor_QueryInterface(This,riid,ppvObject) \
  3666. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3667. #define IWMMetadataEditor_AddRef(This) \
  3668. (This)->lpVtbl -> AddRef(This)
  3669. #define IWMMetadataEditor_Release(This) \
  3670. (This)->lpVtbl -> Release(This)
  3671. #define IWMMetadataEditor_Open(This,pwszFilename) \
  3672. (This)->lpVtbl -> Open(This,pwszFilename)
  3673. #define IWMMetadataEditor_Close(This) \
  3674. (This)->lpVtbl -> Close(This)
  3675. #define IWMMetadataEditor_Flush(This) \
  3676. (This)->lpVtbl -> Flush(This)
  3677. #endif /* COBJMACROS */
  3678. #endif /* C style interface */
  3679. HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Open_Proxy(
  3680. IWMMetadataEditor * This,
  3681. /* [in] */ const WCHAR *pwszFilename);
  3682. void __RPC_STUB IWMMetadataEditor_Open_Stub(
  3683. IRpcStubBuffer *This,
  3684. IRpcChannelBuffer *_pRpcChannelBuffer,
  3685. PRPC_MESSAGE _pRpcMessage,
  3686. DWORD *_pdwStubPhase);
  3687. HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Close_Proxy(
  3688. IWMMetadataEditor * This);
  3689. void __RPC_STUB IWMMetadataEditor_Close_Stub(
  3690. IRpcStubBuffer *This,
  3691. IRpcChannelBuffer *_pRpcChannelBuffer,
  3692. PRPC_MESSAGE _pRpcMessage,
  3693. DWORD *_pdwStubPhase);
  3694. HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Flush_Proxy(
  3695. IWMMetadataEditor * This);
  3696. void __RPC_STUB IWMMetadataEditor_Flush_Stub(
  3697. IRpcStubBuffer *This,
  3698. IRpcChannelBuffer *_pRpcChannelBuffer,
  3699. PRPC_MESSAGE _pRpcMessage,
  3700. DWORD *_pdwStubPhase);
  3701. #endif /* __IWMMetadataEditor_INTERFACE_DEFINED__ */
  3702. #ifndef __IWMMetadataEditor2_INTERFACE_DEFINED__
  3703. #define __IWMMetadataEditor2_INTERFACE_DEFINED__
  3704. /* interface IWMMetadataEditor2 */
  3705. /* [local][unique][helpstring][uuid][object] */
  3706. EXTERN_C const IID IID_IWMMetadataEditor2;
  3707. #if defined(__cplusplus) && !defined(CINTERFACE)
  3708. MIDL_INTERFACE("203CFFE3-2E18-4fdf-B59D-6E71530534CF")
  3709. IWMMetadataEditor2 : public IWMMetadataEditor
  3710. {
  3711. public:
  3712. virtual HRESULT STDMETHODCALLTYPE OpenEx(
  3713. /* [in] */ const WCHAR *pwszFilename,
  3714. /* [in] */ DWORD dwDesiredAccess,
  3715. /* [in] */ DWORD dwShareMode) = 0;
  3716. };
  3717. #else /* C style interface */
  3718. typedef struct IWMMetadataEditor2Vtbl
  3719. {
  3720. BEGIN_INTERFACE
  3721. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3722. IWMMetadataEditor2 * This,
  3723. /* [in] */ REFIID riid,
  3724. /* [iid_is][out] */ void **ppvObject);
  3725. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3726. IWMMetadataEditor2 * This);
  3727. ULONG ( STDMETHODCALLTYPE *Release )(
  3728. IWMMetadataEditor2 * This);
  3729. HRESULT ( STDMETHODCALLTYPE *Open )(
  3730. IWMMetadataEditor2 * This,
  3731. /* [in] */ const WCHAR *pwszFilename);
  3732. HRESULT ( STDMETHODCALLTYPE *Close )(
  3733. IWMMetadataEditor2 * This);
  3734. HRESULT ( STDMETHODCALLTYPE *Flush )(
  3735. IWMMetadataEditor2 * This);
  3736. HRESULT ( STDMETHODCALLTYPE *OpenEx )(
  3737. IWMMetadataEditor2 * This,
  3738. /* [in] */ const WCHAR *pwszFilename,
  3739. /* [in] */ DWORD dwDesiredAccess,
  3740. /* [in] */ DWORD dwShareMode);
  3741. END_INTERFACE
  3742. } IWMMetadataEditor2Vtbl;
  3743. interface IWMMetadataEditor2
  3744. {
  3745. CONST_VTBL struct IWMMetadataEditor2Vtbl *lpVtbl;
  3746. };
  3747. #ifdef COBJMACROS
  3748. #define IWMMetadataEditor2_QueryInterface(This,riid,ppvObject) \
  3749. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3750. #define IWMMetadataEditor2_AddRef(This) \
  3751. (This)->lpVtbl -> AddRef(This)
  3752. #define IWMMetadataEditor2_Release(This) \
  3753. (This)->lpVtbl -> Release(This)
  3754. #define IWMMetadataEditor2_Open(This,pwszFilename) \
  3755. (This)->lpVtbl -> Open(This,pwszFilename)
  3756. #define IWMMetadataEditor2_Close(This) \
  3757. (This)->lpVtbl -> Close(This)
  3758. #define IWMMetadataEditor2_Flush(This) \
  3759. (This)->lpVtbl -> Flush(This)
  3760. #define IWMMetadataEditor2_OpenEx(This,pwszFilename,dwDesiredAccess,dwShareMode) \
  3761. (This)->lpVtbl -> OpenEx(This,pwszFilename,dwDesiredAccess,dwShareMode)
  3762. #endif /* COBJMACROS */
  3763. #endif /* C style interface */
  3764. HRESULT STDMETHODCALLTYPE IWMMetadataEditor2_OpenEx_Proxy(
  3765. IWMMetadataEditor2 * This,
  3766. /* [in] */ const WCHAR *pwszFilename,
  3767. /* [in] */ DWORD dwDesiredAccess,
  3768. /* [in] */ DWORD dwShareMode);
  3769. void __RPC_STUB IWMMetadataEditor2_OpenEx_Stub(
  3770. IRpcStubBuffer *This,
  3771. IRpcChannelBuffer *_pRpcChannelBuffer,
  3772. PRPC_MESSAGE _pRpcMessage,
  3773. DWORD *_pdwStubPhase);
  3774. #endif /* __IWMMetadataEditor2_INTERFACE_DEFINED__ */
  3775. #ifndef __IWMDRMEditor_INTERFACE_DEFINED__
  3776. #define __IWMDRMEditor_INTERFACE_DEFINED__
  3777. /* interface IWMDRMEditor */
  3778. /* [local][unique][helpstring][uuid][object] */
  3779. EXTERN_C const IID IID_IWMDRMEditor;
  3780. #if defined(__cplusplus) && !defined(CINTERFACE)
  3781. MIDL_INTERFACE("FF130EBC-A6C3-42A6-B401-C3382C3E08B3")
  3782. IWMDRMEditor : public IUnknown
  3783. {
  3784. public:
  3785. virtual HRESULT STDMETHODCALLTYPE GetDRMProperty(
  3786. /* [in] */ LPCWSTR pwstrName,
  3787. /* [out] */ WMT_ATTR_DATATYPE *pdwType,
  3788. /* [size_is][out] */ BYTE *pValue,
  3789. /* [out][in] */ WORD *pcbLength) = 0;
  3790. };
  3791. #else /* C style interface */
  3792. typedef struct IWMDRMEditorVtbl
  3793. {
  3794. BEGIN_INTERFACE
  3795. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3796. IWMDRMEditor * This,
  3797. /* [in] */ REFIID riid,
  3798. /* [iid_is][out] */ void **ppvObject);
  3799. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3800. IWMDRMEditor * This);
  3801. ULONG ( STDMETHODCALLTYPE *Release )(
  3802. IWMDRMEditor * This);
  3803. HRESULT ( STDMETHODCALLTYPE *GetDRMProperty )(
  3804. IWMDRMEditor * This,
  3805. /* [in] */ LPCWSTR pwstrName,
  3806. /* [out] */ WMT_ATTR_DATATYPE *pdwType,
  3807. /* [size_is][out] */ BYTE *pValue,
  3808. /* [out][in] */ WORD *pcbLength);
  3809. END_INTERFACE
  3810. } IWMDRMEditorVtbl;
  3811. interface IWMDRMEditor
  3812. {
  3813. CONST_VTBL struct IWMDRMEditorVtbl *lpVtbl;
  3814. };
  3815. #ifdef COBJMACROS
  3816. #define IWMDRMEditor_QueryInterface(This,riid,ppvObject) \
  3817. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3818. #define IWMDRMEditor_AddRef(This) \
  3819. (This)->lpVtbl -> AddRef(This)
  3820. #define IWMDRMEditor_Release(This) \
  3821. (This)->lpVtbl -> Release(This)
  3822. #define IWMDRMEditor_GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) \
  3823. (This)->lpVtbl -> GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength)
  3824. #endif /* COBJMACROS */
  3825. #endif /* C style interface */
  3826. HRESULT STDMETHODCALLTYPE IWMDRMEditor_GetDRMProperty_Proxy(
  3827. IWMDRMEditor * This,
  3828. /* [in] */ LPCWSTR pwstrName,
  3829. /* [out] */ WMT_ATTR_DATATYPE *pdwType,
  3830. /* [size_is][out] */ BYTE *pValue,
  3831. /* [out][in] */ WORD *pcbLength);
  3832. void __RPC_STUB IWMDRMEditor_GetDRMProperty_Stub(
  3833. IRpcStubBuffer *This,
  3834. IRpcChannelBuffer *_pRpcChannelBuffer,
  3835. PRPC_MESSAGE _pRpcMessage,
  3836. DWORD *_pdwStubPhase);
  3837. #endif /* __IWMDRMEditor_INTERFACE_DEFINED__ */
  3838. #ifndef __IWMHeaderInfo_INTERFACE_DEFINED__
  3839. #define __IWMHeaderInfo_INTERFACE_DEFINED__
  3840. /* interface IWMHeaderInfo */
  3841. /* [local][unique][helpstring][uuid][object] */
  3842. EXTERN_C const IID IID_IWMHeaderInfo;
  3843. #if defined(__cplusplus) && !defined(CINTERFACE)
  3844. MIDL_INTERFACE("96406BDA-2B2B-11d3-B36B-00C04F6108FF")
  3845. IWMHeaderInfo : public IUnknown
  3846. {
  3847. public:
  3848. virtual HRESULT STDMETHODCALLTYPE GetAttributeCount(
  3849. /* [in] */ WORD wStreamNum,
  3850. /* [out] */ WORD *pcAttributes) = 0;
  3851. virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndex(
  3852. /* [in] */ WORD wIndex,
  3853. /* [out][in] */ WORD *pwStreamNum,
  3854. /* [size_is][out] */ WCHAR *pwszName,
  3855. /* [out][in] */ WORD *pcchNameLen,
  3856. /* [out] */ WMT_ATTR_DATATYPE *pType,
  3857. /* [size_is][out] */ BYTE *pValue,
  3858. /* [out][in] */ WORD *pcbLength) = 0;
  3859. virtual HRESULT STDMETHODCALLTYPE GetAttributeByName(
  3860. /* [out][in] */ WORD *pwStreamNum,
  3861. /* [in] */ LPCWSTR pszName,
  3862. /* [out] */ WMT_ATTR_DATATYPE *pType,
  3863. /* [size_is][out] */ BYTE *pValue,
  3864. /* [out][in] */ WORD *pcbLength) = 0;
  3865. virtual HRESULT STDMETHODCALLTYPE SetAttribute(
  3866. /* [in] */ WORD wStreamNum,
  3867. /* [in] */ LPCWSTR pszName,
  3868. /* [in] */ WMT_ATTR_DATATYPE Type,
  3869. /* [size_is][in] */ const BYTE *pValue,
  3870. /* [in] */ WORD cbLength) = 0;
  3871. virtual HRESULT STDMETHODCALLTYPE GetMarkerCount(
  3872. /* [out] */ WORD *pcMarkers) = 0;
  3873. virtual HRESULT STDMETHODCALLTYPE GetMarker(
  3874. /* [in] */ WORD wIndex,
  3875. /* [size_is][out] */ WCHAR *pwszMarkerName,
  3876. /* [out][in] */ WORD *pcchMarkerNameLen,
  3877. /* [out] */ QWORD *pcnsMarkerTime) = 0;
  3878. virtual HRESULT STDMETHODCALLTYPE AddMarker(
  3879. /* [in] */ WCHAR *pwszMarkerName,
  3880. /* [in] */ QWORD cnsMarkerTime) = 0;
  3881. virtual HRESULT STDMETHODCALLTYPE RemoveMarker(
  3882. /* [in] */ WORD wIndex) = 0;
  3883. virtual HRESULT STDMETHODCALLTYPE GetScriptCount(
  3884. /* [out] */ WORD *pcScripts) = 0;
  3885. virtual HRESULT STDMETHODCALLTYPE GetScript(
  3886. /* [in] */ WORD wIndex,
  3887. /* [size_is][out] */ WCHAR *pwszType,
  3888. /* [out][in] */ WORD *pcchTypeLen,
  3889. /* [size_is][out] */ WCHAR *pwszCommand,
  3890. /* [out][in] */ WORD *pcchCommandLen,
  3891. /* [out] */ QWORD *pcnsScriptTime) = 0;
  3892. virtual HRESULT STDMETHODCALLTYPE AddScript(
  3893. /* [in] */ WCHAR *pwszType,
  3894. /* [in] */ WCHAR *pwszCommand,
  3895. /* [in] */ QWORD cnsScriptTime) = 0;
  3896. virtual HRESULT STDMETHODCALLTYPE RemoveScript(
  3897. /* [in] */ WORD wIndex) = 0;
  3898. };
  3899. #else /* C style interface */
  3900. typedef struct IWMHeaderInfoVtbl
  3901. {
  3902. BEGIN_INTERFACE
  3903. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3904. IWMHeaderInfo * This,
  3905. /* [in] */ REFIID riid,
  3906. /* [iid_is][out] */ void **ppvObject);
  3907. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3908. IWMHeaderInfo * This);
  3909. ULONG ( STDMETHODCALLTYPE *Release )(
  3910. IWMHeaderInfo * This);
  3911. HRESULT ( STDMETHODCALLTYPE *GetAttributeCount )(
  3912. IWMHeaderInfo * This,
  3913. /* [in] */ WORD wStreamNum,
  3914. /* [out] */ WORD *pcAttributes);
  3915. HRESULT ( STDMETHODCALLTYPE *GetAttributeByIndex )(
  3916. IWMHeaderInfo * This,
  3917. /* [in] */ WORD wIndex,
  3918. /* [out][in] */ WORD *pwStreamNum,
  3919. /* [size_is][out] */ WCHAR *pwszName,
  3920. /* [out][in] */ WORD *pcchNameLen,
  3921. /* [out] */ WMT_ATTR_DATATYPE *pType,
  3922. /* [size_is][out] */ BYTE *pValue,
  3923. /* [out][in] */ WORD *pcbLength);
  3924. HRESULT ( STDMETHODCALLTYPE *GetAttributeByName )(
  3925. IWMHeaderInfo * This,
  3926. /* [out][in] */ WORD *pwStreamNum,
  3927. /* [in] */ LPCWSTR pszName,
  3928. /* [out] */ WMT_ATTR_DATATYPE *pType,
  3929. /* [size_is][out] */ BYTE *pValue,
  3930. /* [out][in] */ WORD *pcbLength);
  3931. HRESULT ( STDMETHODCALLTYPE *SetAttribute )(
  3932. IWMHeaderInfo * This,
  3933. /* [in] */ WORD wStreamNum,
  3934. /* [in] */ LPCWSTR pszName,
  3935. /* [in] */ WMT_ATTR_DATATYPE Type,
  3936. /* [size_is][in] */ const BYTE *pValue,
  3937. /* [in] */ WORD cbLength);
  3938. HRESULT ( STDMETHODCALLTYPE *GetMarkerCount )(
  3939. IWMHeaderInfo * This,
  3940. /* [out] */ WORD *pcMarkers);
  3941. HRESULT ( STDMETHODCALLTYPE *GetMarker )(
  3942. IWMHeaderInfo * This,
  3943. /* [in] */ WORD wIndex,
  3944. /* [size_is][out] */ WCHAR *pwszMarkerName,
  3945. /* [out][in] */ WORD *pcchMarkerNameLen,
  3946. /* [out] */ QWORD *pcnsMarkerTime);
  3947. HRESULT ( STDMETHODCALLTYPE *AddMarker )(
  3948. IWMHeaderInfo * This,
  3949. /* [in] */ WCHAR *pwszMarkerName,
  3950. /* [in] */ QWORD cnsMarkerTime);
  3951. HRESULT ( STDMETHODCALLTYPE *RemoveMarker )(
  3952. IWMHeaderInfo * This,
  3953. /* [in] */ WORD wIndex);
  3954. HRESULT ( STDMETHODCALLTYPE *GetScriptCount )(
  3955. IWMHeaderInfo * This,
  3956. /* [out] */ WORD *pcScripts);
  3957. HRESULT ( STDMETHODCALLTYPE *GetScript )(
  3958. IWMHeaderInfo * This,
  3959. /* [in] */ WORD wIndex,
  3960. /* [size_is][out] */ WCHAR *pwszType,
  3961. /* [out][in] */ WORD *pcchTypeLen,
  3962. /* [size_is][out] */ WCHAR *pwszCommand,
  3963. /* [out][in] */ WORD *pcchCommandLen,
  3964. /* [out] */ QWORD *pcnsScriptTime);
  3965. HRESULT ( STDMETHODCALLTYPE *AddScript )(
  3966. IWMHeaderInfo * This,
  3967. /* [in] */ WCHAR *pwszType,
  3968. /* [in] */ WCHAR *pwszCommand,
  3969. /* [in] */ QWORD cnsScriptTime);
  3970. HRESULT ( STDMETHODCALLTYPE *RemoveScript )(
  3971. IWMHeaderInfo * This,
  3972. /* [in] */ WORD wIndex);
  3973. END_INTERFACE
  3974. } IWMHeaderInfoVtbl;
  3975. interface IWMHeaderInfo
  3976. {
  3977. CONST_VTBL struct IWMHeaderInfoVtbl *lpVtbl;
  3978. };
  3979. #ifdef COBJMACROS
  3980. #define IWMHeaderInfo_QueryInterface(This,riid,ppvObject) \
  3981. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3982. #define IWMHeaderInfo_AddRef(This) \
  3983. (This)->lpVtbl -> AddRef(This)
  3984. #define IWMHeaderInfo_Release(This) \
  3985. (This)->lpVtbl -> Release(This)
  3986. #define IWMHeaderInfo_GetAttributeCount(This,wStreamNum,pcAttributes) \
  3987. (This)->lpVtbl -> GetAttributeCount(This,wStreamNum,pcAttributes)
  3988. #define IWMHeaderInfo_GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) \
  3989. (This)->lpVtbl -> GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength)
  3990. #define IWMHeaderInfo_GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) \
  3991. (This)->lpVtbl -> GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength)
  3992. #define IWMHeaderInfo_SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \
  3993. (This)->lpVtbl -> SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength)
  3994. #define IWMHeaderInfo_GetMarkerCount(This,pcMarkers) \
  3995. (This)->lpVtbl -> GetMarkerCount(This,pcMarkers)
  3996. #define IWMHeaderInfo_GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) \
  3997. (This)->lpVtbl -> GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime)
  3998. #define IWMHeaderInfo_AddMarker(This,pwszMarkerName,cnsMarkerTime) \
  3999. (This)->lpVtbl -> AddMarker(This,pwszMarkerName,cnsMarkerTime)
  4000. #define IWMHeaderInfo_RemoveMarker(This,wIndex) \
  4001. (This)->lpVtbl -> RemoveMarker(This,wIndex)
  4002. #define IWMHeaderInfo_GetScriptCount(This,pcScripts) \
  4003. (This)->lpVtbl -> GetScriptCount(This,pcScripts)
  4004. #define IWMHeaderInfo_GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) \
  4005. (This)->lpVtbl -> GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime)
  4006. #define IWMHeaderInfo_AddScript(This,pwszType,pwszCommand,cnsScriptTime) \
  4007. (This)->lpVtbl -> AddScript(This,pwszType,pwszCommand,cnsScriptTime)
  4008. #define IWMHeaderInfo_RemoveScript(This,wIndex) \
  4009. (This)->lpVtbl -> RemoveScript(This,wIndex)
  4010. #endif /* COBJMACROS */
  4011. #endif /* C style interface */
  4012. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetAttributeCount_Proxy(
  4013. IWMHeaderInfo * This,
  4014. /* [in] */ WORD wStreamNum,
  4015. /* [out] */ WORD *pcAttributes);
  4016. void __RPC_STUB IWMHeaderInfo_GetAttributeCount_Stub(
  4017. IRpcStubBuffer *This,
  4018. IRpcChannelBuffer *_pRpcChannelBuffer,
  4019. PRPC_MESSAGE _pRpcMessage,
  4020. DWORD *_pdwStubPhase);
  4021. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetAttributeByIndex_Proxy(
  4022. IWMHeaderInfo * This,
  4023. /* [in] */ WORD wIndex,
  4024. /* [out][in] */ WORD *pwStreamNum,
  4025. /* [size_is][out] */ WCHAR *pwszName,
  4026. /* [out][in] */ WORD *pcchNameLen,
  4027. /* [out] */ WMT_ATTR_DATATYPE *pType,
  4028. /* [size_is][out] */ BYTE *pValue,
  4029. /* [out][in] */ WORD *pcbLength);
  4030. void __RPC_STUB IWMHeaderInfo_GetAttributeByIndex_Stub(
  4031. IRpcStubBuffer *This,
  4032. IRpcChannelBuffer *_pRpcChannelBuffer,
  4033. PRPC_MESSAGE _pRpcMessage,
  4034. DWORD *_pdwStubPhase);
  4035. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetAttributeByName_Proxy(
  4036. IWMHeaderInfo * This,
  4037. /* [out][in] */ WORD *pwStreamNum,
  4038. /* [in] */ LPCWSTR pszName,
  4039. /* [out] */ WMT_ATTR_DATATYPE *pType,
  4040. /* [size_is][out] */ BYTE *pValue,
  4041. /* [out][in] */ WORD *pcbLength);
  4042. void __RPC_STUB IWMHeaderInfo_GetAttributeByName_Stub(
  4043. IRpcStubBuffer *This,
  4044. IRpcChannelBuffer *_pRpcChannelBuffer,
  4045. PRPC_MESSAGE _pRpcMessage,
  4046. DWORD *_pdwStubPhase);
  4047. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_SetAttribute_Proxy(
  4048. IWMHeaderInfo * This,
  4049. /* [in] */ WORD wStreamNum,
  4050. /* [in] */ LPCWSTR pszName,
  4051. /* [in] */ WMT_ATTR_DATATYPE Type,
  4052. /* [size_is][in] */ const BYTE *pValue,
  4053. /* [in] */ WORD cbLength);
  4054. void __RPC_STUB IWMHeaderInfo_SetAttribute_Stub(
  4055. IRpcStubBuffer *This,
  4056. IRpcChannelBuffer *_pRpcChannelBuffer,
  4057. PRPC_MESSAGE _pRpcMessage,
  4058. DWORD *_pdwStubPhase);
  4059. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetMarkerCount_Proxy(
  4060. IWMHeaderInfo * This,
  4061. /* [out] */ WORD *pcMarkers);
  4062. void __RPC_STUB IWMHeaderInfo_GetMarkerCount_Stub(
  4063. IRpcStubBuffer *This,
  4064. IRpcChannelBuffer *_pRpcChannelBuffer,
  4065. PRPC_MESSAGE _pRpcMessage,
  4066. DWORD *_pdwStubPhase);
  4067. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetMarker_Proxy(
  4068. IWMHeaderInfo * This,
  4069. /* [in] */ WORD wIndex,
  4070. /* [size_is][out] */ WCHAR *pwszMarkerName,
  4071. /* [out][in] */ WORD *pcchMarkerNameLen,
  4072. /* [out] */ QWORD *pcnsMarkerTime);
  4073. void __RPC_STUB IWMHeaderInfo_GetMarker_Stub(
  4074. IRpcStubBuffer *This,
  4075. IRpcChannelBuffer *_pRpcChannelBuffer,
  4076. PRPC_MESSAGE _pRpcMessage,
  4077. DWORD *_pdwStubPhase);
  4078. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_AddMarker_Proxy(
  4079. IWMHeaderInfo * This,
  4080. /* [in] */ WCHAR *pwszMarkerName,
  4081. /* [in] */ QWORD cnsMarkerTime);
  4082. void __RPC_STUB IWMHeaderInfo_AddMarker_Stub(
  4083. IRpcStubBuffer *This,
  4084. IRpcChannelBuffer *_pRpcChannelBuffer,
  4085. PRPC_MESSAGE _pRpcMessage,
  4086. DWORD *_pdwStubPhase);
  4087. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_RemoveMarker_Proxy(
  4088. IWMHeaderInfo * This,
  4089. /* [in] */ WORD wIndex);
  4090. void __RPC_STUB IWMHeaderInfo_RemoveMarker_Stub(
  4091. IRpcStubBuffer *This,
  4092. IRpcChannelBuffer *_pRpcChannelBuffer,
  4093. PRPC_MESSAGE _pRpcMessage,
  4094. DWORD *_pdwStubPhase);
  4095. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetScriptCount_Proxy(
  4096. IWMHeaderInfo * This,
  4097. /* [out] */ WORD *pcScripts);
  4098. void __RPC_STUB IWMHeaderInfo_GetScriptCount_Stub(
  4099. IRpcStubBuffer *This,
  4100. IRpcChannelBuffer *_pRpcChannelBuffer,
  4101. PRPC_MESSAGE _pRpcMessage,
  4102. DWORD *_pdwStubPhase);
  4103. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetScript_Proxy(
  4104. IWMHeaderInfo * This,
  4105. /* [in] */ WORD wIndex,
  4106. /* [size_is][out] */ WCHAR *pwszType,
  4107. /* [out][in] */ WORD *pcchTypeLen,
  4108. /* [size_is][out] */ WCHAR *pwszCommand,
  4109. /* [out][in] */ WORD *pcchCommandLen,
  4110. /* [out] */ QWORD *pcnsScriptTime);
  4111. void __RPC_STUB IWMHeaderInfo_GetScript_Stub(
  4112. IRpcStubBuffer *This,
  4113. IRpcChannelBuffer *_pRpcChannelBuffer,
  4114. PRPC_MESSAGE _pRpcMessage,
  4115. DWORD *_pdwStubPhase);
  4116. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_AddScript_Proxy(
  4117. IWMHeaderInfo * This,
  4118. /* [in] */ WCHAR *pwszType,
  4119. /* [in] */ WCHAR *pwszCommand,
  4120. /* [in] */ QWORD cnsScriptTime);
  4121. void __RPC_STUB IWMHeaderInfo_AddScript_Stub(
  4122. IRpcStubBuffer *This,
  4123. IRpcChannelBuffer *_pRpcChannelBuffer,
  4124. PRPC_MESSAGE _pRpcMessage,
  4125. DWORD *_pdwStubPhase);
  4126. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_RemoveScript_Proxy(
  4127. IWMHeaderInfo * This,
  4128. /* [in] */ WORD wIndex);
  4129. void __RPC_STUB IWMHeaderInfo_RemoveScript_Stub(
  4130. IRpcStubBuffer *This,
  4131. IRpcChannelBuffer *_pRpcChannelBuffer,
  4132. PRPC_MESSAGE _pRpcMessage,
  4133. DWORD *_pdwStubPhase);
  4134. #endif /* __IWMHeaderInfo_INTERFACE_DEFINED__ */
  4135. #ifndef __IWMHeaderInfo2_INTERFACE_DEFINED__
  4136. #define __IWMHeaderInfo2_INTERFACE_DEFINED__
  4137. /* interface IWMHeaderInfo2 */
  4138. /* [local][unique][helpstring][uuid][object] */
  4139. EXTERN_C const IID IID_IWMHeaderInfo2;
  4140. #if defined(__cplusplus) && !defined(CINTERFACE)
  4141. MIDL_INTERFACE("15CF9781-454E-482e-B393-85FAE487A810")
  4142. IWMHeaderInfo2 : public IWMHeaderInfo
  4143. {
  4144. public:
  4145. virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount(
  4146. /* [out] */ DWORD *pcCodecInfos) = 0;
  4147. virtual HRESULT STDMETHODCALLTYPE GetCodecInfo(
  4148. /* [in] */ DWORD wIndex,
  4149. /* [out][in] */ WORD *pcchName,
  4150. /* [size_is][out] */ WCHAR *pwszName,
  4151. /* [out][in] */ WORD *pcchDescription,
  4152. /* [size_is][out] */ WCHAR *pwszDescription,
  4153. /* [out] */ DWORD *pCodecType,
  4154. /* [out][in] */ WORD *pcbCodecInfo,
  4155. /* [size_is][out] */ BYTE *pbCodecInfo) = 0;
  4156. };
  4157. #else /* C style interface */
  4158. typedef struct IWMHeaderInfo2Vtbl
  4159. {
  4160. BEGIN_INTERFACE
  4161. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4162. IWMHeaderInfo2 * This,
  4163. /* [in] */ REFIID riid,
  4164. /* [iid_is][out] */ void **ppvObject);
  4165. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4166. IWMHeaderInfo2 * This);
  4167. ULONG ( STDMETHODCALLTYPE *Release )(
  4168. IWMHeaderInfo2 * This);
  4169. HRESULT ( STDMETHODCALLTYPE *GetAttributeCount )(
  4170. IWMHeaderInfo2 * This,
  4171. /* [in] */ WORD wStreamNum,
  4172. /* [out] */ WORD *pcAttributes);
  4173. HRESULT ( STDMETHODCALLTYPE *GetAttributeByIndex )(
  4174. IWMHeaderInfo2 * This,
  4175. /* [in] */ WORD wIndex,
  4176. /* [out][in] */ WORD *pwStreamNum,
  4177. /* [size_is][out] */ WCHAR *pwszName,
  4178. /* [out][in] */ WORD *pcchNameLen,
  4179. /* [out] */ WMT_ATTR_DATATYPE *pType,
  4180. /* [size_is][out] */ BYTE *pValue,
  4181. /* [out][in] */ WORD *pcbLength);
  4182. HRESULT ( STDMETHODCALLTYPE *GetAttributeByName )(
  4183. IWMHeaderInfo2 * This,
  4184. /* [out][in] */ WORD *pwStreamNum,
  4185. /* [in] */ LPCWSTR pszName,
  4186. /* [out] */ WMT_ATTR_DATATYPE *pType,
  4187. /* [size_is][out] */ BYTE *pValue,
  4188. /* [out][in] */ WORD *pcbLength);
  4189. HRESULT ( STDMETHODCALLTYPE *SetAttribute )(
  4190. IWMHeaderInfo2 * This,
  4191. /* [in] */ WORD wStreamNum,
  4192. /* [in] */ LPCWSTR pszName,
  4193. /* [in] */ WMT_ATTR_DATATYPE Type,
  4194. /* [size_is][in] */ const BYTE *pValue,
  4195. /* [in] */ WORD cbLength);
  4196. HRESULT ( STDMETHODCALLTYPE *GetMarkerCount )(
  4197. IWMHeaderInfo2 * This,
  4198. /* [out] */ WORD *pcMarkers);
  4199. HRESULT ( STDMETHODCALLTYPE *GetMarker )(
  4200. IWMHeaderInfo2 * This,
  4201. /* [in] */ WORD wIndex,
  4202. /* [size_is][out] */ WCHAR *pwszMarkerName,
  4203. /* [out][in] */ WORD *pcchMarkerNameLen,
  4204. /* [out] */ QWORD *pcnsMarkerTime);
  4205. HRESULT ( STDMETHODCALLTYPE *AddMarker )(
  4206. IWMHeaderInfo2 * This,
  4207. /* [in] */ WCHAR *pwszMarkerName,
  4208. /* [in] */ QWORD cnsMarkerTime);
  4209. HRESULT ( STDMETHODCALLTYPE *RemoveMarker )(
  4210. IWMHeaderInfo2 * This,
  4211. /* [in] */ WORD wIndex);
  4212. HRESULT ( STDMETHODCALLTYPE *GetScriptCount )(
  4213. IWMHeaderInfo2 * This,
  4214. /* [out] */ WORD *pcScripts);
  4215. HRESULT ( STDMETHODCALLTYPE *GetScript )(
  4216. IWMHeaderInfo2 * This,
  4217. /* [in] */ WORD wIndex,
  4218. /* [size_is][out] */ WCHAR *pwszType,
  4219. /* [out][in] */ WORD *pcchTypeLen,
  4220. /* [size_is][out] */ WCHAR *pwszCommand,
  4221. /* [out][in] */ WORD *pcchCommandLen,
  4222. /* [out] */ QWORD *pcnsScriptTime);
  4223. HRESULT ( STDMETHODCALLTYPE *AddScript )(
  4224. IWMHeaderInfo2 * This,
  4225. /* [in] */ WCHAR *pwszType,
  4226. /* [in] */ WCHAR *pwszCommand,
  4227. /* [in] */ QWORD cnsScriptTime);
  4228. HRESULT ( STDMETHODCALLTYPE *RemoveScript )(
  4229. IWMHeaderInfo2 * This,
  4230. /* [in] */ WORD wIndex);
  4231. HRESULT ( STDMETHODCALLTYPE *GetCodecInfoCount )(
  4232. IWMHeaderInfo2 * This,
  4233. /* [out] */ DWORD *pcCodecInfos);
  4234. HRESULT ( STDMETHODCALLTYPE *GetCodecInfo )(
  4235. IWMHeaderInfo2 * This,
  4236. /* [in] */ DWORD wIndex,
  4237. /* [out][in] */ WORD *pcchName,
  4238. /* [size_is][out] */ WCHAR *pwszName,
  4239. /* [out][in] */ WORD *pcchDescription,
  4240. /* [size_is][out] */ WCHAR *pwszDescription,
  4241. /* [out] */ WMT_CODEC_INFO_TYPE *pCodecType,
  4242. /* [out][in] */ WORD *pcbCodecInfo,
  4243. /* [size_is][out] */ BYTE *pbCodecInfo);
  4244. END_INTERFACE
  4245. } IWMHeaderInfo2Vtbl;
  4246. interface IWMHeaderInfo2
  4247. {
  4248. CONST_VTBL struct IWMHeaderInfo2Vtbl *lpVtbl;
  4249. };
  4250. #ifdef COBJMACROS
  4251. #define IWMHeaderInfo2_QueryInterface(This,riid,ppvObject) \
  4252. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4253. #define IWMHeaderInfo2_AddRef(This) \
  4254. (This)->lpVtbl -> AddRef(This)
  4255. #define IWMHeaderInfo2_Release(This) \
  4256. (This)->lpVtbl -> Release(This)
  4257. #define IWMHeaderInfo2_GetAttributeCount(This,wStreamNum,pcAttributes) \
  4258. (This)->lpVtbl -> GetAttributeCount(This,wStreamNum,pcAttributes)
  4259. #define IWMHeaderInfo2_GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) \
  4260. (This)->lpVtbl -> GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength)
  4261. #define IWMHeaderInfo2_GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) \
  4262. (This)->lpVtbl -> GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength)
  4263. #define IWMHeaderInfo2_SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \
  4264. (This)->lpVtbl -> SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength)
  4265. #define IWMHeaderInfo2_GetMarkerCount(This,pcMarkers) \
  4266. (This)->lpVtbl -> GetMarkerCount(This,pcMarkers)
  4267. #define IWMHeaderInfo2_GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) \
  4268. (This)->lpVtbl -> GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime)
  4269. #define IWMHeaderInfo2_AddMarker(This,pwszMarkerName,cnsMarkerTime) \
  4270. (This)->lpVtbl -> AddMarker(This,pwszMarkerName,cnsMarkerTime)
  4271. #define IWMHeaderInfo2_RemoveMarker(This,wIndex) \
  4272. (This)->lpVtbl -> RemoveMarker(This,wIndex)
  4273. #define IWMHeaderInfo2_GetScriptCount(This,pcScripts) \
  4274. (This)->lpVtbl -> GetScriptCount(This,pcScripts)
  4275. #define IWMHeaderInfo2_GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) \
  4276. (This)->lpVtbl -> GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime)
  4277. #define IWMHeaderInfo2_AddScript(This,pwszType,pwszCommand,cnsScriptTime) \
  4278. (This)->lpVtbl -> AddScript(This,pwszType,pwszCommand,cnsScriptTime)
  4279. #define IWMHeaderInfo2_RemoveScript(This,wIndex) \
  4280. (This)->lpVtbl -> RemoveScript(This,wIndex)
  4281. #define IWMHeaderInfo2_GetCodecInfoCount(This,pcCodecInfos) \
  4282. (This)->lpVtbl -> GetCodecInfoCount(This,pcCodecInfos)
  4283. #define IWMHeaderInfo2_GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo) \
  4284. (This)->lpVtbl -> GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo)
  4285. #endif /* COBJMACROS */
  4286. #endif /* C style interface */
  4287. HRESULT STDMETHODCALLTYPE IWMHeaderInfo2_GetCodecInfoCount_Proxy(
  4288. IWMHeaderInfo2 * This,
  4289. /* [out] */ DWORD *pcCodecInfos);
  4290. void __RPC_STUB IWMHeaderInfo2_GetCodecInfoCount_Stub(
  4291. IRpcStubBuffer *This,
  4292. IRpcChannelBuffer *_pRpcChannelBuffer,
  4293. PRPC_MESSAGE _pRpcMessage,
  4294. DWORD *_pdwStubPhase);
  4295. HRESULT STDMETHODCALLTYPE IWMHeaderInfo2_GetCodecInfo_Proxy(
  4296. IWMHeaderInfo2 * This,
  4297. /* [in] */ DWORD wIndex,
  4298. /* [out][in] */ WORD *pcchName,
  4299. /* [size_is][out] */ WCHAR *pwszName,
  4300. /* [out][in] */ WORD *pcchDescription,
  4301. /* [size_is][out] */ WCHAR *pwszDescription,
  4302. /* [out] */ WMT_CODEC_INFO_TYPE *pCodecType,
  4303. /* [out][in] */ WORD *pcbCodecInfo,
  4304. /* [size_is][out] */ BYTE *pbCodecInfo);
  4305. void __RPC_STUB IWMHeaderInfo2_GetCodecInfo_Stub(
  4306. IRpcStubBuffer *This,
  4307. IRpcChannelBuffer *_pRpcChannelBuffer,
  4308. PRPC_MESSAGE _pRpcMessage,
  4309. DWORD *_pdwStubPhase);
  4310. #endif /* __IWMHeaderInfo2_INTERFACE_DEFINED__ */
  4311. #ifndef __IWMHeaderInfo3_INTERFACE_DEFINED__
  4312. #define __IWMHeaderInfo3_INTERFACE_DEFINED__
  4313. /* interface IWMHeaderInfo3 */
  4314. /* [local][unique][helpstring][uuid][object] */
  4315. EXTERN_C const IID IID_IWMHeaderInfo3;
  4316. #if defined(__cplusplus) && !defined(CINTERFACE)
  4317. MIDL_INTERFACE("15CC68E3-27CC-4ecd-B222-3F5D02D80BD5")
  4318. IWMHeaderInfo3 : public IWMHeaderInfo2
  4319. {
  4320. public:
  4321. virtual HRESULT STDMETHODCALLTYPE GetAttributeCountEx(
  4322. /* [in] */ WORD wStreamNum,
  4323. /* [out] */ WORD *pcAttributes) = 0;
  4324. virtual HRESULT STDMETHODCALLTYPE GetAttributeIndices(
  4325. /* [in] */ WORD wStreamNum,
  4326. /* [in] */ LPCWSTR pwszName,
  4327. /* [in] */ WORD *pwLangIndex,
  4328. /* [size_is][out] */ WORD *pwIndices,
  4329. /* [out][in] */ WORD *pwCount) = 0;
  4330. virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndexEx(
  4331. /* [in] */ WORD wStreamNum,
  4332. /* [in] */ WORD wIndex,
  4333. /* [size_is][out] */ LPWSTR pwszName,
  4334. /* [out][in] */ WORD *pwNameLen,
  4335. /* [out] */ WMT_ATTR_DATATYPE *pType,
  4336. /* [out] */ WORD *pwLangIndex,
  4337. /* [size_is][out] */ BYTE *pValue,
  4338. /* [out][in] */ DWORD *pdwDataLength) = 0;
  4339. virtual HRESULT STDMETHODCALLTYPE ModifyAttribute(
  4340. /* [in] */ WORD wStreamNum,
  4341. /* [in] */ WORD wIndex,
  4342. /* [in] */ WMT_ATTR_DATATYPE Type,
  4343. /* [in] */ WORD wLangIndex,
  4344. /* [size_is][in] */ const BYTE *pValue,
  4345. /* [in] */ DWORD dwLength) = 0;
  4346. virtual HRESULT STDMETHODCALLTYPE AddAttribute(
  4347. /* [in] */ WORD wStreamNum,
  4348. /* [in] */ LPCWSTR pszName,
  4349. /* [out] */ WORD *pwIndex,
  4350. /* [in] */ WMT_ATTR_DATATYPE Type,
  4351. /* [in] */ WORD wLangIndex,
  4352. /* [size_is][in] */ const BYTE *pValue,
  4353. /* [in] */ DWORD dwLength) = 0;
  4354. virtual HRESULT STDMETHODCALLTYPE DeleteAttribute(
  4355. /* [in] */ WORD wStreamNum,
  4356. /* [in] */ WORD wIndex) = 0;
  4357. virtual HRESULT STDMETHODCALLTYPE AddCodecInfo(
  4358. /* [in] */ WCHAR *pwszName,
  4359. /* [in] */ WCHAR *pwszDescription,
  4360. /* [in] */ WMT_CODEC_INFO_TYPE codecType,
  4361. /* [in] */ WORD cbCodecInfo,
  4362. /* [size_is][in] */ BYTE *pbCodecInfo) = 0;
  4363. };
  4364. #else /* C style interface */
  4365. typedef struct IWMHeaderInfo3Vtbl
  4366. {
  4367. BEGIN_INTERFACE
  4368. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4369. IWMHeaderInfo3 * This,
  4370. /* [in] */ REFIID riid,
  4371. /* [iid_is][out] */ void **ppvObject);
  4372. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4373. IWMHeaderInfo3 * This);
  4374. ULONG ( STDMETHODCALLTYPE *Release )(
  4375. IWMHeaderInfo3 * This);
  4376. HRESULT ( STDMETHODCALLTYPE *GetAttributeCount )(
  4377. IWMHeaderInfo3 * This,
  4378. /* [in] */ WORD wStreamNum,
  4379. /* [out] */ WORD *pcAttributes);
  4380. HRESULT ( STDMETHODCALLTYPE *GetAttributeByIndex )(
  4381. IWMHeaderInfo3 * This,
  4382. /* [in] */ WORD wIndex,
  4383. /* [out][in] */ WORD *pwStreamNum,
  4384. /* [size_is][out] */ WCHAR *pwszName,
  4385. /* [out][in] */ WORD *pcchNameLen,
  4386. /* [out] */ WMT_ATTR_DATATYPE *pType,
  4387. /* [size_is][out] */ BYTE *pValue,
  4388. /* [out][in] */ WORD *pcbLength);
  4389. HRESULT ( STDMETHODCALLTYPE *GetAttributeByName )(
  4390. IWMHeaderInfo3 * This,
  4391. /* [out][in] */ WORD *pwStreamNum,
  4392. /* [in] */ LPCWSTR pszName,
  4393. /* [out] */ WMT_ATTR_DATATYPE *pType,
  4394. /* [size_is][out] */ BYTE *pValue,
  4395. /* [out][in] */ WORD *pcbLength);
  4396. HRESULT ( STDMETHODCALLTYPE *SetAttribute )(
  4397. IWMHeaderInfo3 * This,
  4398. /* [in] */ WORD wStreamNum,
  4399. /* [in] */ LPCWSTR pszName,
  4400. /* [in] */ WMT_ATTR_DATATYPE Type,
  4401. /* [size_is][in] */ const BYTE *pValue,
  4402. /* [in] */ WORD cbLength);
  4403. HRESULT ( STDMETHODCALLTYPE *GetMarkerCount )(
  4404. IWMHeaderInfo3 * This,
  4405. /* [out] */ WORD *pcMarkers);
  4406. HRESULT ( STDMETHODCALLTYPE *GetMarker )(
  4407. IWMHeaderInfo3 * This,
  4408. /* [in] */ WORD wIndex,
  4409. /* [size_is][out] */ WCHAR *pwszMarkerName,
  4410. /* [out][in] */ WORD *pcchMarkerNameLen,
  4411. /* [out] */ QWORD *pcnsMarkerTime);
  4412. HRESULT ( STDMETHODCALLTYPE *AddMarker )(
  4413. IWMHeaderInfo3 * This,
  4414. /* [in] */ WCHAR *pwszMarkerName,
  4415. /* [in] */ QWORD cnsMarkerTime);
  4416. HRESULT ( STDMETHODCALLTYPE *RemoveMarker )(
  4417. IWMHeaderInfo3 * This,
  4418. /* [in] */ WORD wIndex);
  4419. HRESULT ( STDMETHODCALLTYPE *GetScriptCount )(
  4420. IWMHeaderInfo3 * This,
  4421. /* [out] */ WORD *pcScripts);
  4422. HRESULT ( STDMETHODCALLTYPE *GetScript )(
  4423. IWMHeaderInfo3 * This,
  4424. /* [in] */ WORD wIndex,
  4425. /* [size_is][out] */ WCHAR *pwszType,
  4426. /* [out][in] */ WORD *pcchTypeLen,
  4427. /* [size_is][out] */ WCHAR *pwszCommand,
  4428. /* [out][in] */ WORD *pcchCommandLen,
  4429. /* [out] */ QWORD *pcnsScriptTime);
  4430. HRESULT ( STDMETHODCALLTYPE *AddScript )(
  4431. IWMHeaderInfo3 * This,
  4432. /* [in] */ WCHAR *pwszType,
  4433. /* [in] */ WCHAR *pwszCommand,
  4434. /* [in] */ QWORD cnsScriptTime);
  4435. HRESULT ( STDMETHODCALLTYPE *RemoveScript )(
  4436. IWMHeaderInfo3 * This,
  4437. /* [in] */ WORD wIndex);
  4438. HRESULT ( STDMETHODCALLTYPE *GetCodecInfoCount )(
  4439. IWMHeaderInfo3 * This,
  4440. /* [out] */ DWORD *pcCodecInfos);
  4441. HRESULT ( STDMETHODCALLTYPE *GetCodecInfo )(
  4442. IWMHeaderInfo3 * This,
  4443. /* [in] */ DWORD wIndex,
  4444. /* [out][in] */ WORD *pcchName,
  4445. /* [size_is][out] */ WCHAR *pwszName,
  4446. /* [out][in] */ WORD *pcchDescription,
  4447. /* [size_is][out] */ WCHAR *pwszDescription,
  4448. /* [out] */ WMT_CODEC_INFO_TYPE *pCodecType,
  4449. /* [out][in] */ WORD *pcbCodecInfo,
  4450. /* [size_is][out] */ BYTE *pbCodecInfo);
  4451. HRESULT ( STDMETHODCALLTYPE *GetAttributeCountEx )(
  4452. IWMHeaderInfo3 * This,
  4453. /* [in] */ WORD wStreamNum,
  4454. /* [out] */ WORD *pcAttributes);
  4455. HRESULT ( STDMETHODCALLTYPE *GetAttributeIndices )(
  4456. IWMHeaderInfo3 * This,
  4457. /* [in] */ WORD wStreamNum,
  4458. /* [in] */ LPCWSTR pwszName,
  4459. /* [in] */ WORD *pwLangIndex,
  4460. /* [size_is][out] */ WORD *pwIndices,
  4461. /* [out][in] */ WORD *pwCount);
  4462. HRESULT ( STDMETHODCALLTYPE *GetAttributeByIndexEx )(
  4463. IWMHeaderInfo3 * This,
  4464. /* [in] */ WORD wStreamNum,
  4465. /* [in] */ WORD wIndex,
  4466. /* [size_is][out] */ LPWSTR pwszName,
  4467. /* [out][in] */ WORD *pwNameLen,
  4468. /* [out] */ WMT_ATTR_DATATYPE *pType,
  4469. /* [out] */ WORD *pwLangIndex,
  4470. /* [size_is][out] */ BYTE *pValue,
  4471. /* [out][in] */ DWORD *pdwDataLength);
  4472. HRESULT ( STDMETHODCALLTYPE *ModifyAttribute )(
  4473. IWMHeaderInfo3 * This,
  4474. /* [in] */ WORD wStreamNum,
  4475. /* [in] */ WORD wIndex,
  4476. /* [in] */ WMT_ATTR_DATATYPE Type,
  4477. /* [in] */ WORD wLangIndex,
  4478. /* [size_is][in] */ const BYTE *pValue,
  4479. /* [in] */ DWORD dwLength);
  4480. HRESULT ( STDMETHODCALLTYPE *AddAttribute )(
  4481. IWMHeaderInfo3 * This,
  4482. /* [in] */ WORD wStreamNum,
  4483. /* [in] */ LPCWSTR pszName,
  4484. /* [out] */ WORD *pwIndex,
  4485. /* [in] */ WMT_ATTR_DATATYPE Type,
  4486. /* [in] */ WORD wLangIndex,
  4487. /* [size_is][in] */ const BYTE *pValue,
  4488. /* [in] */ DWORD dwLength);
  4489. HRESULT ( STDMETHODCALLTYPE *DeleteAttribute )(
  4490. IWMHeaderInfo3 * This,
  4491. /* [in] */ WORD wStreamNum,
  4492. /* [in] */ WORD wIndex);
  4493. HRESULT ( STDMETHODCALLTYPE *AddCodecInfo )(
  4494. IWMHeaderInfo3 * This,
  4495. /* [in] */ WCHAR *pwszName,
  4496. /* [in] */ WCHAR *pwszDescription,
  4497. /* [in] */ WMT_CODEC_INFO_TYPE codecType,
  4498. /* [in] */ WORD cbCodecInfo,
  4499. /* [size_is][in] */ BYTE *pbCodecInfo);
  4500. END_INTERFACE
  4501. } IWMHeaderInfo3Vtbl;
  4502. interface IWMHeaderInfo3
  4503. {
  4504. CONST_VTBL struct IWMHeaderInfo3Vtbl *lpVtbl;
  4505. };
  4506. #ifdef COBJMACROS
  4507. #define IWMHeaderInfo3_QueryInterface(This,riid,ppvObject) \
  4508. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4509. #define IWMHeaderInfo3_AddRef(This) \
  4510. (This)->lpVtbl -> AddRef(This)
  4511. #define IWMHeaderInfo3_Release(This) \
  4512. (This)->lpVtbl -> Release(This)
  4513. #define IWMHeaderInfo3_GetAttributeCount(This,wStreamNum,pcAttributes) \
  4514. (This)->lpVtbl -> GetAttributeCount(This,wStreamNum,pcAttributes)
  4515. #define IWMHeaderInfo3_GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) \
  4516. (This)->lpVtbl -> GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength)
  4517. #define IWMHeaderInfo3_GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) \
  4518. (This)->lpVtbl -> GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength)
  4519. #define IWMHeaderInfo3_SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \
  4520. (This)->lpVtbl -> SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength)
  4521. #define IWMHeaderInfo3_GetMarkerCount(This,pcMarkers) \
  4522. (This)->lpVtbl -> GetMarkerCount(This,pcMarkers)
  4523. #define IWMHeaderInfo3_GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) \
  4524. (This)->lpVtbl -> GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime)
  4525. #define IWMHeaderInfo3_AddMarker(This,pwszMarkerName,cnsMarkerTime) \
  4526. (This)->lpVtbl -> AddMarker(This,pwszMarkerName,cnsMarkerTime)
  4527. #define IWMHeaderInfo3_RemoveMarker(This,wIndex) \
  4528. (This)->lpVtbl -> RemoveMarker(This,wIndex)
  4529. #define IWMHeaderInfo3_GetScriptCount(This,pcScripts) \
  4530. (This)->lpVtbl -> GetScriptCount(This,pcScripts)
  4531. #define IWMHeaderInfo3_GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) \
  4532. (This)->lpVtbl -> GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime)
  4533. #define IWMHeaderInfo3_AddScript(This,pwszType,pwszCommand,cnsScriptTime) \
  4534. (This)->lpVtbl -> AddScript(This,pwszType,pwszCommand,cnsScriptTime)
  4535. #define IWMHeaderInfo3_RemoveScript(This,wIndex) \
  4536. (This)->lpVtbl -> RemoveScript(This,wIndex)
  4537. #define IWMHeaderInfo3_GetCodecInfoCount(This,pcCodecInfos) \
  4538. (This)->lpVtbl -> GetCodecInfoCount(This,pcCodecInfos)
  4539. #define IWMHeaderInfo3_GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo) \
  4540. (This)->lpVtbl -> GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo)
  4541. #define IWMHeaderInfo3_GetAttributeCountEx(This,wStreamNum,pcAttributes) \
  4542. (This)->lpVtbl -> GetAttributeCountEx(This,wStreamNum,pcAttributes)
  4543. #define IWMHeaderInfo3_GetAttributeIndices(This,wStreamNum,pwszName,pwLangIndex,pwIndices,pwCount) \
  4544. (This)->lpVtbl -> GetAttributeIndices(This,wStreamNum,pwszName,pwLangIndex,pwIndices,pwCount)
  4545. #define IWMHeaderInfo3_GetAttributeByIndexEx(This,wStreamNum,wIndex,pwszName,pwNameLen,pType,pwLangIndex,pValue,pdwDataLength) \
  4546. (This)->lpVtbl -> GetAttributeByIndexEx(This,wStreamNum,wIndex,pwszName,pwNameLen,pType,pwLangIndex,pValue,pdwDataLength)
  4547. #define IWMHeaderInfo3_ModifyAttribute(This,wStreamNum,wIndex,Type,wLangIndex,pValue,dwLength) \
  4548. (This)->lpVtbl -> ModifyAttribute(This,wStreamNum,wIndex,Type,wLangIndex,pValue,dwLength)
  4549. #define IWMHeaderInfo3_AddAttribute(This,wStreamNum,pszName,pwIndex,Type,wLangIndex,pValue,dwLength) \
  4550. (This)->lpVtbl -> AddAttribute(This,wStreamNum,pszName,pwIndex,Type,wLangIndex,pValue,dwLength)
  4551. #define IWMHeaderInfo3_DeleteAttribute(This,wStreamNum,wIndex) \
  4552. (This)->lpVtbl -> DeleteAttribute(This,wStreamNum,wIndex)
  4553. #define IWMHeaderInfo3_AddCodecInfo(This,pwszName,pwszDescription,codecType,cbCodecInfo,pbCodecInfo) \
  4554. (This)->lpVtbl -> AddCodecInfo(This,pwszName,pwszDescription,codecType,cbCodecInfo,pbCodecInfo)
  4555. #endif /* COBJMACROS */
  4556. #endif /* C style interface */
  4557. HRESULT STDMETHODCALLTYPE IWMHeaderInfo3_GetAttributeCountEx_Proxy(
  4558. IWMHeaderInfo3 * This,
  4559. /* [in] */ WORD wStreamNum,
  4560. /* [out] */ WORD *pcAttributes);
  4561. void __RPC_STUB IWMHeaderInfo3_GetAttributeCountEx_Stub(
  4562. IRpcStubBuffer *This,
  4563. IRpcChannelBuffer *_pRpcChannelBuffer,
  4564. PRPC_MESSAGE _pRpcMessage,
  4565. DWORD *_pdwStubPhase);
  4566. HRESULT STDMETHODCALLTYPE IWMHeaderInfo3_GetAttributeIndices_Proxy(
  4567. IWMHeaderInfo3 * This,
  4568. /* [in] */ WORD wStreamNum,
  4569. /* [in] */ LPCWSTR pwszName,
  4570. /* [in] */ WORD *pwLangIndex,
  4571. /* [size_is][out] */ WORD *pwIndices,
  4572. /* [out][in] */ WORD *pwCount);
  4573. void __RPC_STUB IWMHeaderInfo3_GetAttributeIndices_Stub(
  4574. IRpcStubBuffer *This,
  4575. IRpcChannelBuffer *_pRpcChannelBuffer,
  4576. PRPC_MESSAGE _pRpcMessage,
  4577. DWORD *_pdwStubPhase);
  4578. HRESULT STDMETHODCALLTYPE IWMHeaderInfo3_GetAttributeByIndexEx_Proxy(
  4579. IWMHeaderInfo3 * This,
  4580. /* [in] */ WORD wStreamNum,
  4581. /* [in] */ WORD wIndex,
  4582. /* [size_is][out] */ LPWSTR pwszName,
  4583. /* [out][in] */ WORD *pwNameLen,
  4584. /* [out] */ WMT_ATTR_DATATYPE *pType,
  4585. /* [out] */ WORD *pwLangIndex,
  4586. /* [size_is][out] */ BYTE *pValue,
  4587. /* [out][in] */ DWORD *pdwDataLength);
  4588. void __RPC_STUB IWMHeaderInfo3_GetAttributeByIndexEx_Stub(
  4589. IRpcStubBuffer *This,
  4590. IRpcChannelBuffer *_pRpcChannelBuffer,
  4591. PRPC_MESSAGE _pRpcMessage,
  4592. DWORD *_pdwStubPhase);
  4593. HRESULT STDMETHODCALLTYPE IWMHeaderInfo3_ModifyAttribute_Proxy(
  4594. IWMHeaderInfo3 * This,
  4595. /* [in] */ WORD wStreamNum,
  4596. /* [in] */ WORD wIndex,
  4597. /* [in] */ WMT_ATTR_DATATYPE Type,
  4598. /* [in] */ WORD wLangIndex,
  4599. /* [size_is][in] */ const BYTE *pValue,
  4600. /* [in] */ DWORD dwLength);
  4601. void __RPC_STUB IWMHeaderInfo3_ModifyAttribute_Stub(
  4602. IRpcStubBuffer *This,
  4603. IRpcChannelBuffer *_pRpcChannelBuffer,
  4604. PRPC_MESSAGE _pRpcMessage,
  4605. DWORD *_pdwStubPhase);
  4606. HRESULT STDMETHODCALLTYPE IWMHeaderInfo3_AddAttribute_Proxy(
  4607. IWMHeaderInfo3 * This,
  4608. /* [in] */ WORD wStreamNum,
  4609. /* [in] */ LPCWSTR pszName,
  4610. /* [out] */ WORD *pwIndex,
  4611. /* [in] */ WMT_ATTR_DATATYPE Type,
  4612. /* [in] */ WORD wLangIndex,
  4613. /* [size_is][in] */ const BYTE *pValue,
  4614. /* [in] */ DWORD dwLength);
  4615. void __RPC_STUB IWMHeaderInfo3_AddAttribute_Stub(
  4616. IRpcStubBuffer *This,
  4617. IRpcChannelBuffer *_pRpcChannelBuffer,
  4618. PRPC_MESSAGE _pRpcMessage,
  4619. DWORD *_pdwStubPhase);
  4620. HRESULT STDMETHODCALLTYPE IWMHeaderInfo3_DeleteAttribute_Proxy(
  4621. IWMHeaderInfo3 * This,
  4622. /* [in] */ WORD wStreamNum,
  4623. /* [in] */ WORD wIndex);
  4624. void __RPC_STUB IWMHeaderInfo3_DeleteAttribute_Stub(
  4625. IRpcStubBuffer *This,
  4626. IRpcChannelBuffer *_pRpcChannelBuffer,
  4627. PRPC_MESSAGE _pRpcMessage,
  4628. DWORD *_pdwStubPhase);
  4629. HRESULT STDMETHODCALLTYPE IWMHeaderInfo3_AddCodecInfo_Proxy(
  4630. IWMHeaderInfo3 * This,
  4631. /* [in] */ WCHAR *pwszName,
  4632. /* [in] */ WCHAR *pwszDescription,
  4633. /* [in] */ WMT_CODEC_INFO_TYPE codecType,
  4634. /* [in] */ WORD cbCodecInfo,
  4635. /* [size_is][in] */ BYTE *pbCodecInfo);
  4636. void __RPC_STUB IWMHeaderInfo3_AddCodecInfo_Stub(
  4637. IRpcStubBuffer *This,
  4638. IRpcChannelBuffer *_pRpcChannelBuffer,
  4639. PRPC_MESSAGE _pRpcMessage,
  4640. DWORD *_pdwStubPhase);
  4641. #endif /* __IWMHeaderInfo3_INTERFACE_DEFINED__ */
  4642. #ifndef __IWMProfileManager_INTERFACE_DEFINED__
  4643. #define __IWMProfileManager_INTERFACE_DEFINED__
  4644. /* interface IWMProfileManager */
  4645. /* [local][unique][helpstring][uuid][object] */
  4646. EXTERN_C const IID IID_IWMProfileManager;
  4647. #if defined(__cplusplus) && !defined(CINTERFACE)
  4648. MIDL_INTERFACE("d16679f2-6ca0-472d-8d31-2f5d55aee155")
  4649. IWMProfileManager : public IUnknown
  4650. {
  4651. public:
  4652. virtual HRESULT STDMETHODCALLTYPE CreateEmptyProfile(
  4653. /* [in] */ WMT_VERSION dwVersion,
  4654. /* [out] */ IWMProfile **ppProfile) = 0;
  4655. virtual HRESULT STDMETHODCALLTYPE LoadProfileByID(
  4656. /* [in] */ REFGUID guidProfile,
  4657. /* [out] */ IWMProfile **ppProfile) = 0;
  4658. virtual HRESULT STDMETHODCALLTYPE LoadProfileByData(
  4659. /* [in] */ const WCHAR *pwszProfile,
  4660. /* [out] */ IWMProfile **ppProfile) = 0;
  4661. virtual HRESULT STDMETHODCALLTYPE SaveProfile(
  4662. /* [in] */ IWMProfile *pIWMProfile,
  4663. /* [in] */ WCHAR *pwszProfile,
  4664. /* [out][in] */ DWORD *pdwLength) = 0;
  4665. virtual HRESULT STDMETHODCALLTYPE GetSystemProfileCount(
  4666. /* [out] */ DWORD *pcProfiles) = 0;
  4667. virtual HRESULT STDMETHODCALLTYPE LoadSystemProfile(
  4668. /* [in] */ DWORD dwProfileIndex,
  4669. /* [out] */ IWMProfile **ppProfile) = 0;
  4670. };
  4671. #else /* C style interface */
  4672. typedef struct IWMProfileManagerVtbl
  4673. {
  4674. BEGIN_INTERFACE
  4675. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4676. IWMProfileManager * This,
  4677. /* [in] */ REFIID riid,
  4678. /* [iid_is][out] */ void **ppvObject);
  4679. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4680. IWMProfileManager * This);
  4681. ULONG ( STDMETHODCALLTYPE *Release )(
  4682. IWMProfileManager * This);
  4683. HRESULT ( STDMETHODCALLTYPE *CreateEmptyProfile )(
  4684. IWMProfileManager * This,
  4685. /* [in] */ WMT_VERSION dwVersion,
  4686. /* [out] */ IWMProfile **ppProfile);
  4687. HRESULT ( STDMETHODCALLTYPE *LoadProfileByID )(
  4688. IWMProfileManager * This,
  4689. /* [in] */ REFGUID guidProfile,
  4690. /* [out] */ IWMProfile **ppProfile);
  4691. HRESULT ( STDMETHODCALLTYPE *LoadProfileByData )(
  4692. IWMProfileManager * This,
  4693. /* [in] */ const WCHAR *pwszProfile,
  4694. /* [out] */ IWMProfile **ppProfile);
  4695. HRESULT ( STDMETHODCALLTYPE *SaveProfile )(
  4696. IWMProfileManager * This,
  4697. /* [in] */ IWMProfile *pIWMProfile,
  4698. /* [in] */ WCHAR *pwszProfile,
  4699. /* [out][in] */ DWORD *pdwLength);
  4700. HRESULT ( STDMETHODCALLTYPE *GetSystemProfileCount )(
  4701. IWMProfileManager * This,
  4702. /* [out] */ DWORD *pcProfiles);
  4703. HRESULT ( STDMETHODCALLTYPE *LoadSystemProfile )(
  4704. IWMProfileManager * This,
  4705. /* [in] */ DWORD dwProfileIndex,
  4706. /* [out] */ IWMProfile **ppProfile);
  4707. END_INTERFACE
  4708. } IWMProfileManagerVtbl;
  4709. interface IWMProfileManager
  4710. {
  4711. CONST_VTBL struct IWMProfileManagerVtbl *lpVtbl;
  4712. };
  4713. #ifdef COBJMACROS
  4714. #define IWMProfileManager_QueryInterface(This,riid,ppvObject) \
  4715. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4716. #define IWMProfileManager_AddRef(This) \
  4717. (This)->lpVtbl -> AddRef(This)
  4718. #define IWMProfileManager_Release(This) \
  4719. (This)->lpVtbl -> Release(This)
  4720. #define IWMProfileManager_CreateEmptyProfile(This,dwVersion,ppProfile) \
  4721. (This)->lpVtbl -> CreateEmptyProfile(This,dwVersion,ppProfile)
  4722. #define IWMProfileManager_LoadProfileByID(This,guidProfile,ppProfile) \
  4723. (This)->lpVtbl -> LoadProfileByID(This,guidProfile,ppProfile)
  4724. #define IWMProfileManager_LoadProfileByData(This,pwszProfile,ppProfile) \
  4725. (This)->lpVtbl -> LoadProfileByData(This,pwszProfile,ppProfile)
  4726. #define IWMProfileManager_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) \
  4727. (This)->lpVtbl -> SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)
  4728. #define IWMProfileManager_GetSystemProfileCount(This,pcProfiles) \
  4729. (This)->lpVtbl -> GetSystemProfileCount(This,pcProfiles)
  4730. #define IWMProfileManager_LoadSystemProfile(This,dwProfileIndex,ppProfile) \
  4731. (This)->lpVtbl -> LoadSystemProfile(This,dwProfileIndex,ppProfile)
  4732. #endif /* COBJMACROS */
  4733. #endif /* C style interface */
  4734. HRESULT STDMETHODCALLTYPE IWMProfileManager_CreateEmptyProfile_Proxy(
  4735. IWMProfileManager * This,
  4736. /* [in] */ WMT_VERSION dwVersion,
  4737. /* [out] */ IWMProfile **ppProfile);
  4738. void __RPC_STUB IWMProfileManager_CreateEmptyProfile_Stub(
  4739. IRpcStubBuffer *This,
  4740. IRpcChannelBuffer *_pRpcChannelBuffer,
  4741. PRPC_MESSAGE _pRpcMessage,
  4742. DWORD *_pdwStubPhase);
  4743. HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadProfileByID_Proxy(
  4744. IWMProfileManager * This,
  4745. /* [in] */ REFGUID guidProfile,
  4746. /* [out] */ IWMProfile **ppProfile);
  4747. void __RPC_STUB IWMProfileManager_LoadProfileByID_Stub(
  4748. IRpcStubBuffer *This,
  4749. IRpcChannelBuffer *_pRpcChannelBuffer,
  4750. PRPC_MESSAGE _pRpcMessage,
  4751. DWORD *_pdwStubPhase);
  4752. HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadProfileByData_Proxy(
  4753. IWMProfileManager * This,
  4754. /* [in] */ const WCHAR *pwszProfile,
  4755. /* [out] */ IWMProfile **ppProfile);
  4756. void __RPC_STUB IWMProfileManager_LoadProfileByData_Stub(
  4757. IRpcStubBuffer *This,
  4758. IRpcChannelBuffer *_pRpcChannelBuffer,
  4759. PRPC_MESSAGE _pRpcMessage,
  4760. DWORD *_pdwStubPhase);
  4761. HRESULT STDMETHODCALLTYPE IWMProfileManager_SaveProfile_Proxy(
  4762. IWMProfileManager * This,
  4763. /* [in] */ IWMProfile *pIWMProfile,
  4764. /* [in] */ WCHAR *pwszProfile,
  4765. /* [out][in] */ DWORD *pdwLength);
  4766. void __RPC_STUB IWMProfileManager_SaveProfile_Stub(
  4767. IRpcStubBuffer *This,
  4768. IRpcChannelBuffer *_pRpcChannelBuffer,
  4769. PRPC_MESSAGE _pRpcMessage,
  4770. DWORD *_pdwStubPhase);
  4771. HRESULT STDMETHODCALLTYPE IWMProfileManager_GetSystemProfileCount_Proxy(
  4772. IWMProfileManager * This,
  4773. /* [out] */ DWORD *pcProfiles);
  4774. void __RPC_STUB IWMProfileManager_GetSystemProfileCount_Stub(
  4775. IRpcStubBuffer *This,
  4776. IRpcChannelBuffer *_pRpcChannelBuffer,
  4777. PRPC_MESSAGE _pRpcMessage,
  4778. DWORD *_pdwStubPhase);
  4779. HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadSystemProfile_Proxy(
  4780. IWMProfileManager * This,
  4781. /* [in] */ DWORD dwProfileIndex,
  4782. /* [out] */ IWMProfile **ppProfile);
  4783. void __RPC_STUB IWMProfileManager_LoadSystemProfile_Stub(
  4784. IRpcStubBuffer *This,
  4785. IRpcChannelBuffer *_pRpcChannelBuffer,
  4786. PRPC_MESSAGE _pRpcMessage,
  4787. DWORD *_pdwStubPhase);
  4788. #endif /* __IWMProfileManager_INTERFACE_DEFINED__ */
  4789. #ifndef __IWMProfileManager2_INTERFACE_DEFINED__
  4790. #define __IWMProfileManager2_INTERFACE_DEFINED__
  4791. /* interface IWMProfileManager2 */
  4792. /* [local][unique][helpstring][uuid][object] */
  4793. EXTERN_C const IID IID_IWMProfileManager2;
  4794. #if defined(__cplusplus) && !defined(CINTERFACE)
  4795. MIDL_INTERFACE("7A924E51-73C1-494d-8019-23D37ED9B89A")
  4796. IWMProfileManager2 : public IWMProfileManager
  4797. {
  4798. public:
  4799. virtual HRESULT STDMETHODCALLTYPE GetSystemProfileVersion(
  4800. WMT_VERSION *pdwVersion) = 0;
  4801. virtual HRESULT STDMETHODCALLTYPE SetSystemProfileVersion(
  4802. WMT_VERSION dwVersion) = 0;
  4803. };
  4804. #else /* C style interface */
  4805. typedef struct IWMProfileManager2Vtbl
  4806. {
  4807. BEGIN_INTERFACE
  4808. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4809. IWMProfileManager2 * This,
  4810. /* [in] */ REFIID riid,
  4811. /* [iid_is][out] */ void **ppvObject);
  4812. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4813. IWMProfileManager2 * This);
  4814. ULONG ( STDMETHODCALLTYPE *Release )(
  4815. IWMProfileManager2 * This);
  4816. HRESULT ( STDMETHODCALLTYPE *CreateEmptyProfile )(
  4817. IWMProfileManager2 * This,
  4818. /* [in] */ WMT_VERSION dwVersion,
  4819. /* [out] */ IWMProfile **ppProfile);
  4820. HRESULT ( STDMETHODCALLTYPE *LoadProfileByID )(
  4821. IWMProfileManager2 * This,
  4822. /* [in] */ REFGUID guidProfile,
  4823. /* [out] */ IWMProfile **ppProfile);
  4824. HRESULT ( STDMETHODCALLTYPE *LoadProfileByData )(
  4825. IWMProfileManager2 * This,
  4826. /* [in] */ const WCHAR *pwszProfile,
  4827. /* [out] */ IWMProfile **ppProfile);
  4828. HRESULT ( STDMETHODCALLTYPE *SaveProfile )(
  4829. IWMProfileManager2 * This,
  4830. /* [in] */ IWMProfile *pIWMProfile,
  4831. /* [in] */ WCHAR *pwszProfile,
  4832. /* [out][in] */ DWORD *pdwLength);
  4833. HRESULT ( STDMETHODCALLTYPE *GetSystemProfileCount )(
  4834. IWMProfileManager2 * This,
  4835. /* [out] */ DWORD *pcProfiles);
  4836. HRESULT ( STDMETHODCALLTYPE *LoadSystemProfile )(
  4837. IWMProfileManager2 * This,
  4838. /* [in] */ DWORD dwProfileIndex,
  4839. /* [out] */ IWMProfile **ppProfile);
  4840. HRESULT ( STDMETHODCALLTYPE *GetSystemProfileVersion )(
  4841. IWMProfileManager2 * This,
  4842. WMT_VERSION *pdwVersion);
  4843. HRESULT ( STDMETHODCALLTYPE *SetSystemProfileVersion )(
  4844. IWMProfileManager2 * This,
  4845. WMT_VERSION dwVersion);
  4846. END_INTERFACE
  4847. } IWMProfileManager2Vtbl;
  4848. interface IWMProfileManager2
  4849. {
  4850. CONST_VTBL struct IWMProfileManager2Vtbl *lpVtbl;
  4851. };
  4852. #ifdef COBJMACROS
  4853. #define IWMProfileManager2_QueryInterface(This,riid,ppvObject) \
  4854. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4855. #define IWMProfileManager2_AddRef(This) \
  4856. (This)->lpVtbl -> AddRef(This)
  4857. #define IWMProfileManager2_Release(This) \
  4858. (This)->lpVtbl -> Release(This)
  4859. #define IWMProfileManager2_CreateEmptyProfile(This,dwVersion,ppProfile) \
  4860. (This)->lpVtbl -> CreateEmptyProfile(This,dwVersion,ppProfile)
  4861. #define IWMProfileManager2_LoadProfileByID(This,guidProfile,ppProfile) \
  4862. (This)->lpVtbl -> LoadProfileByID(This,guidProfile,ppProfile)
  4863. #define IWMProfileManager2_LoadProfileByData(This,pwszProfile,ppProfile) \
  4864. (This)->lpVtbl -> LoadProfileByData(This,pwszProfile,ppProfile)
  4865. #define IWMProfileManager2_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) \
  4866. (This)->lpVtbl -> SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)
  4867. #define IWMProfileManager2_GetSystemProfileCount(This,pcProfiles) \
  4868. (This)->lpVtbl -> GetSystemProfileCount(This,pcProfiles)
  4869. #define IWMProfileManager2_LoadSystemProfile(This,dwProfileIndex,ppProfile) \
  4870. (This)->lpVtbl -> LoadSystemProfile(This,dwProfileIndex,ppProfile)
  4871. #define IWMProfileManager2_GetSystemProfileVersion(This,pdwVersion) \
  4872. (This)->lpVtbl -> GetSystemProfileVersion(This,pdwVersion)
  4873. #define IWMProfileManager2_SetSystemProfileVersion(This,dwVersion) \
  4874. (This)->lpVtbl -> SetSystemProfileVersion(This,dwVersion)
  4875. #endif /* COBJMACROS */
  4876. #endif /* C style interface */
  4877. HRESULT STDMETHODCALLTYPE IWMProfileManager2_GetSystemProfileVersion_Proxy(
  4878. IWMProfileManager2 * This,
  4879. WMT_VERSION *pdwVersion);
  4880. void __RPC_STUB IWMProfileManager2_GetSystemProfileVersion_Stub(
  4881. IRpcStubBuffer *This,
  4882. IRpcChannelBuffer *_pRpcChannelBuffer,
  4883. PRPC_MESSAGE _pRpcMessage,
  4884. DWORD *_pdwStubPhase);
  4885. HRESULT STDMETHODCALLTYPE IWMProfileManager2_SetSystemProfileVersion_Proxy(
  4886. IWMProfileManager2 * This,
  4887. WMT_VERSION dwVersion);
  4888. void __RPC_STUB IWMProfileManager2_SetSystemProfileVersion_Stub(
  4889. IRpcStubBuffer *This,
  4890. IRpcChannelBuffer *_pRpcChannelBuffer,
  4891. PRPC_MESSAGE _pRpcMessage,
  4892. DWORD *_pdwStubPhase);
  4893. #endif /* __IWMProfileManager2_INTERFACE_DEFINED__ */
  4894. #ifndef __IWMProfileManagerLanguage_INTERFACE_DEFINED__
  4895. #define __IWMProfileManagerLanguage_INTERFACE_DEFINED__
  4896. /* interface IWMProfileManagerLanguage */
  4897. /* [local][unique][helpstring][uuid][object] */
  4898. EXTERN_C const IID IID_IWMProfileManagerLanguage;
  4899. #if defined(__cplusplus) && !defined(CINTERFACE)
  4900. MIDL_INTERFACE("BA4DCC78-7EE0-4ab8-B27A-DBCE8BC51454")
  4901. IWMProfileManagerLanguage : public IUnknown
  4902. {
  4903. public:
  4904. virtual HRESULT STDMETHODCALLTYPE GetUserLanguageID(
  4905. WORD *wLangID) = 0;
  4906. virtual HRESULT STDMETHODCALLTYPE SetUserLanguageID(
  4907. WORD wLangID) = 0;
  4908. };
  4909. #else /* C style interface */
  4910. typedef struct IWMProfileManagerLanguageVtbl
  4911. {
  4912. BEGIN_INTERFACE
  4913. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4914. IWMProfileManagerLanguage * This,
  4915. /* [in] */ REFIID riid,
  4916. /* [iid_is][out] */ void **ppvObject);
  4917. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4918. IWMProfileManagerLanguage * This);
  4919. ULONG ( STDMETHODCALLTYPE *Release )(
  4920. IWMProfileManagerLanguage * This);
  4921. HRESULT ( STDMETHODCALLTYPE *GetUserLanguageID )(
  4922. IWMProfileManagerLanguage * This,
  4923. WORD *wLangID);
  4924. HRESULT ( STDMETHODCALLTYPE *SetUserLanguageID )(
  4925. IWMProfileManagerLanguage * This,
  4926. WORD wLangID);
  4927. END_INTERFACE
  4928. } IWMProfileManagerLanguageVtbl;
  4929. interface IWMProfileManagerLanguage
  4930. {
  4931. CONST_VTBL struct IWMProfileManagerLanguageVtbl *lpVtbl;
  4932. };
  4933. #ifdef COBJMACROS
  4934. #define IWMProfileManagerLanguage_QueryInterface(This,riid,ppvObject) \
  4935. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4936. #define IWMProfileManagerLanguage_AddRef(This) \
  4937. (This)->lpVtbl -> AddRef(This)
  4938. #define IWMProfileManagerLanguage_Release(This) \
  4939. (This)->lpVtbl -> Release(This)
  4940. #define IWMProfileManagerLanguage_GetUserLanguageID(This,wLangID) \
  4941. (This)->lpVtbl -> GetUserLanguageID(This,wLangID)
  4942. #define IWMProfileManagerLanguage_SetUserLanguageID(This,wLangID) \
  4943. (This)->lpVtbl -> SetUserLanguageID(This,wLangID)
  4944. #endif /* COBJMACROS */
  4945. #endif /* C style interface */
  4946. HRESULT STDMETHODCALLTYPE IWMProfileManagerLanguage_GetUserLanguageID_Proxy(
  4947. IWMProfileManagerLanguage * This,
  4948. WORD *wLangID);
  4949. void __RPC_STUB IWMProfileManagerLanguage_GetUserLanguageID_Stub(
  4950. IRpcStubBuffer *This,
  4951. IRpcChannelBuffer *_pRpcChannelBuffer,
  4952. PRPC_MESSAGE _pRpcMessage,
  4953. DWORD *_pdwStubPhase);
  4954. HRESULT STDMETHODCALLTYPE IWMProfileManagerLanguage_SetUserLanguageID_Proxy(
  4955. IWMProfileManagerLanguage * This,
  4956. WORD wLangID);
  4957. void __RPC_STUB IWMProfileManagerLanguage_SetUserLanguageID_Stub(
  4958. IRpcStubBuffer *This,
  4959. IRpcChannelBuffer *_pRpcChannelBuffer,
  4960. PRPC_MESSAGE _pRpcMessage,
  4961. DWORD *_pdwStubPhase);
  4962. #endif /* __IWMProfileManagerLanguage_INTERFACE_DEFINED__ */
  4963. #ifndef __IWMProfile_INTERFACE_DEFINED__
  4964. #define __IWMProfile_INTERFACE_DEFINED__
  4965. /* interface IWMProfile */
  4966. /* [local][unique][helpstring][uuid][object] */
  4967. EXTERN_C const IID IID_IWMProfile;
  4968. #if defined(__cplusplus) && !defined(CINTERFACE)
  4969. MIDL_INTERFACE("96406BDB-2B2B-11d3-B36B-00C04F6108FF")
  4970. IWMProfile : public IUnknown
  4971. {
  4972. public:
  4973. virtual HRESULT STDMETHODCALLTYPE GetVersion(
  4974. /* [out] */ WMT_VERSION *pdwVersion) = 0;
  4975. virtual HRESULT STDMETHODCALLTYPE GetName(
  4976. /* [size_is][out] */ WCHAR *pwszName,
  4977. /* [out][in] */ DWORD *pcchName) = 0;
  4978. virtual HRESULT STDMETHODCALLTYPE SetName(
  4979. /* [in] */ const WCHAR *pwszName) = 0;
  4980. virtual HRESULT STDMETHODCALLTYPE GetDescription(
  4981. /* [size_is][out] */ WCHAR *pwszDescription,
  4982. /* [out][in] */ DWORD *pcchDescription) = 0;
  4983. virtual HRESULT STDMETHODCALLTYPE SetDescription(
  4984. /* [in] */ const WCHAR *pwszDescription) = 0;
  4985. virtual HRESULT STDMETHODCALLTYPE GetStreamCount(
  4986. /* [out] */ DWORD *pcStreams) = 0;
  4987. virtual HRESULT STDMETHODCALLTYPE GetStream(
  4988. /* [in] */ DWORD dwStreamIndex,
  4989. /* [out] */ IWMStreamConfig **ppConfig) = 0;
  4990. virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber(
  4991. /* [in] */ WORD wStreamNum,
  4992. /* [out] */ IWMStreamConfig **ppConfig) = 0;
  4993. virtual HRESULT STDMETHODCALLTYPE RemoveStream(
  4994. /* [in] */ IWMStreamConfig *pConfig) = 0;
  4995. virtual HRESULT STDMETHODCALLTYPE RemoveStreamByNumber(
  4996. /* [in] */ WORD wStreamNum) = 0;
  4997. virtual HRESULT STDMETHODCALLTYPE AddStream(
  4998. /* [in] */ IWMStreamConfig *pConfig) = 0;
  4999. virtual HRESULT STDMETHODCALLTYPE ReconfigStream(
  5000. /* [in] */ IWMStreamConfig *pConfig) = 0;
  5001. virtual HRESULT STDMETHODCALLTYPE CreateNewStream(
  5002. /* [in] */ REFGUID guidStreamType,
  5003. /* [out] */ IWMStreamConfig **ppConfig) = 0;
  5004. virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount(
  5005. /* [out] */ DWORD *pcME) = 0;
  5006. virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion(
  5007. /* [in] */ DWORD dwMEIndex,
  5008. /* [out] */ IWMMutualExclusion **ppME) = 0;
  5009. virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion(
  5010. /* [in] */ IWMMutualExclusion *pME) = 0;
  5011. virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion(
  5012. /* [in] */ IWMMutualExclusion *pME) = 0;
  5013. virtual HRESULT STDMETHODCALLTYPE CreateNewMutualExclusion(
  5014. /* [out] */ IWMMutualExclusion **ppME) = 0;
  5015. };
  5016. #else /* C style interface */
  5017. typedef struct IWMProfileVtbl
  5018. {
  5019. BEGIN_INTERFACE
  5020. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5021. IWMProfile * This,
  5022. /* [in] */ REFIID riid,
  5023. /* [iid_is][out] */ void **ppvObject);
  5024. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5025. IWMProfile * This);
  5026. ULONG ( STDMETHODCALLTYPE *Release )(
  5027. IWMProfile * This);
  5028. HRESULT ( STDMETHODCALLTYPE *GetVersion )(
  5029. IWMProfile * This,
  5030. /* [out] */ WMT_VERSION *pdwVersion);
  5031. HRESULT ( STDMETHODCALLTYPE *GetName )(
  5032. IWMProfile * This,
  5033. /* [size_is][out] */ WCHAR *pwszName,
  5034. /* [out][in] */ DWORD *pcchName);
  5035. HRESULT ( STDMETHODCALLTYPE *SetName )(
  5036. IWMProfile * This,
  5037. /* [in] */ const WCHAR *pwszName);
  5038. HRESULT ( STDMETHODCALLTYPE *GetDescription )(
  5039. IWMProfile * This,
  5040. /* [size_is][out] */ WCHAR *pwszDescription,
  5041. /* [out][in] */ DWORD *pcchDescription);
  5042. HRESULT ( STDMETHODCALLTYPE *SetDescription )(
  5043. IWMProfile * This,
  5044. /* [in] */ const WCHAR *pwszDescription);
  5045. HRESULT ( STDMETHODCALLTYPE *GetStreamCount )(
  5046. IWMProfile * This,
  5047. /* [out] */ DWORD *pcStreams);
  5048. HRESULT ( STDMETHODCALLTYPE *GetStream )(
  5049. IWMProfile * This,
  5050. /* [in] */ DWORD dwStreamIndex,
  5051. /* [out] */ IWMStreamConfig **ppConfig);
  5052. HRESULT ( STDMETHODCALLTYPE *GetStreamByNumber )(
  5053. IWMProfile * This,
  5054. /* [in] */ WORD wStreamNum,
  5055. /* [out] */ IWMStreamConfig **ppConfig);
  5056. HRESULT ( STDMETHODCALLTYPE *RemoveStream )(
  5057. IWMProfile * This,
  5058. /* [in] */ IWMStreamConfig *pConfig);
  5059. HRESULT ( STDMETHODCALLTYPE *RemoveStreamByNumber )(
  5060. IWMProfile * This,
  5061. /* [in] */ WORD wStreamNum);
  5062. HRESULT ( STDMETHODCALLTYPE *AddStream )(
  5063. IWMProfile * This,
  5064. /* [in] */ IWMStreamConfig *pConfig);
  5065. HRESULT ( STDMETHODCALLTYPE *ReconfigStream )(
  5066. IWMProfile * This,
  5067. /* [in] */ IWMStreamConfig *pConfig);
  5068. HRESULT ( STDMETHODCALLTYPE *CreateNewStream )(
  5069. IWMProfile * This,
  5070. /* [in] */ REFGUID guidStreamType,
  5071. /* [out] */ IWMStreamConfig **ppConfig);
  5072. HRESULT ( STDMETHODCALLTYPE *GetMutualExclusionCount )(
  5073. IWMProfile * This,
  5074. /* [out] */ DWORD *pcME);
  5075. HRESULT ( STDMETHODCALLTYPE *GetMutualExclusion )(
  5076. IWMProfile * This,
  5077. /* [in] */ DWORD dwMEIndex,
  5078. /* [out] */ IWMMutualExclusion **ppME);
  5079. HRESULT ( STDMETHODCALLTYPE *RemoveMutualExclusion )(
  5080. IWMProfile * This,
  5081. /* [in] */ IWMMutualExclusion *pME);
  5082. HRESULT ( STDMETHODCALLTYPE *AddMutualExclusion )(
  5083. IWMProfile * This,
  5084. /* [in] */ IWMMutualExclusion *pME);
  5085. HRESULT ( STDMETHODCALLTYPE *CreateNewMutualExclusion )(
  5086. IWMProfile * This,
  5087. /* [out] */ IWMMutualExclusion **ppME);
  5088. END_INTERFACE
  5089. } IWMProfileVtbl;
  5090. interface IWMProfile
  5091. {
  5092. CONST_VTBL struct IWMProfileVtbl *lpVtbl;
  5093. };
  5094. #ifdef COBJMACROS
  5095. #define IWMProfile_QueryInterface(This,riid,ppvObject) \
  5096. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5097. #define IWMProfile_AddRef(This) \
  5098. (This)->lpVtbl -> AddRef(This)
  5099. #define IWMProfile_Release(This) \
  5100. (This)->lpVtbl -> Release(This)
  5101. #define IWMProfile_GetVersion(This,pdwVersion) \
  5102. (This)->lpVtbl -> GetVersion(This,pdwVersion)
  5103. #define IWMProfile_GetName(This,pwszName,pcchName) \
  5104. (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  5105. #define IWMProfile_SetName(This,pwszName) \
  5106. (This)->lpVtbl -> SetName(This,pwszName)
  5107. #define IWMProfile_GetDescription(This,pwszDescription,pcchDescription) \
  5108. (This)->lpVtbl -> GetDescription(This,pwszDescription,pcchDescription)
  5109. #define IWMProfile_SetDescription(This,pwszDescription) \
  5110. (This)->lpVtbl -> SetDescription(This,pwszDescription)
  5111. #define IWMProfile_GetStreamCount(This,pcStreams) \
  5112. (This)->lpVtbl -> GetStreamCount(This,pcStreams)
  5113. #define IWMProfile_GetStream(This,dwStreamIndex,ppConfig) \
  5114. (This)->lpVtbl -> GetStream(This,dwStreamIndex,ppConfig)
  5115. #define IWMProfile_GetStreamByNumber(This,wStreamNum,ppConfig) \
  5116. (This)->lpVtbl -> GetStreamByNumber(This,wStreamNum,ppConfig)
  5117. #define IWMProfile_RemoveStream(This,pConfig) \
  5118. (This)->lpVtbl -> RemoveStream(This,pConfig)
  5119. #define IWMProfile_RemoveStreamByNumber(This,wStreamNum) \
  5120. (This)->lpVtbl -> RemoveStreamByNumber(This,wStreamNum)
  5121. #define IWMProfile_AddStream(This,pConfig) \
  5122. (This)->lpVtbl -> AddStream(This,pConfig)
  5123. #define IWMProfile_ReconfigStream(This,pConfig) \
  5124. (This)->lpVtbl -> ReconfigStream(This,pConfig)
  5125. #define IWMProfile_CreateNewStream(This,guidStreamType,ppConfig) \
  5126. (This)->lpVtbl -> CreateNewStream(This,guidStreamType,ppConfig)
  5127. #define IWMProfile_GetMutualExclusionCount(This,pcME) \
  5128. (This)->lpVtbl -> GetMutualExclusionCount(This,pcME)
  5129. #define IWMProfile_GetMutualExclusion(This,dwMEIndex,ppME) \
  5130. (This)->lpVtbl -> GetMutualExclusion(This,dwMEIndex,ppME)
  5131. #define IWMProfile_RemoveMutualExclusion(This,pME) \
  5132. (This)->lpVtbl -> RemoveMutualExclusion(This,pME)
  5133. #define IWMProfile_AddMutualExclusion(This,pME) \
  5134. (This)->lpVtbl -> AddMutualExclusion(This,pME)
  5135. #define IWMProfile_CreateNewMutualExclusion(This,ppME) \
  5136. (This)->lpVtbl -> CreateNewMutualExclusion(This,ppME)
  5137. #endif /* COBJMACROS */
  5138. #endif /* C style interface */
  5139. HRESULT STDMETHODCALLTYPE IWMProfile_GetVersion_Proxy(
  5140. IWMProfile * This,
  5141. /* [out] */ WMT_VERSION *pdwVersion);
  5142. void __RPC_STUB IWMProfile_GetVersion_Stub(
  5143. IRpcStubBuffer *This,
  5144. IRpcChannelBuffer *_pRpcChannelBuffer,
  5145. PRPC_MESSAGE _pRpcMessage,
  5146. DWORD *_pdwStubPhase);
  5147. HRESULT STDMETHODCALLTYPE IWMProfile_GetName_Proxy(
  5148. IWMProfile * This,
  5149. /* [size_is][out] */ WCHAR *pwszName,
  5150. /* [out][in] */ DWORD *pcchName);
  5151. void __RPC_STUB IWMProfile_GetName_Stub(
  5152. IRpcStubBuffer *This,
  5153. IRpcChannelBuffer *_pRpcChannelBuffer,
  5154. PRPC_MESSAGE _pRpcMessage,
  5155. DWORD *_pdwStubPhase);
  5156. HRESULT STDMETHODCALLTYPE IWMProfile_SetName_Proxy(
  5157. IWMProfile * This,
  5158. /* [in] */ const WCHAR *pwszName);
  5159. void __RPC_STUB IWMProfile_SetName_Stub(
  5160. IRpcStubBuffer *This,
  5161. IRpcChannelBuffer *_pRpcChannelBuffer,
  5162. PRPC_MESSAGE _pRpcMessage,
  5163. DWORD *_pdwStubPhase);
  5164. HRESULT STDMETHODCALLTYPE IWMProfile_GetDescription_Proxy(
  5165. IWMProfile * This,
  5166. /* [size_is][out] */ WCHAR *pwszDescription,
  5167. /* [out][in] */ DWORD *pcchDescription);
  5168. void __RPC_STUB IWMProfile_GetDescription_Stub(
  5169. IRpcStubBuffer *This,
  5170. IRpcChannelBuffer *_pRpcChannelBuffer,
  5171. PRPC_MESSAGE _pRpcMessage,
  5172. DWORD *_pdwStubPhase);
  5173. HRESULT STDMETHODCALLTYPE IWMProfile_SetDescription_Proxy(
  5174. IWMProfile * This,
  5175. /* [in] */ const WCHAR *pwszDescription);
  5176. void __RPC_STUB IWMProfile_SetDescription_Stub(
  5177. IRpcStubBuffer *This,
  5178. IRpcChannelBuffer *_pRpcChannelBuffer,
  5179. PRPC_MESSAGE _pRpcMessage,
  5180. DWORD *_pdwStubPhase);
  5181. HRESULT STDMETHODCALLTYPE IWMProfile_GetStreamCount_Proxy(
  5182. IWMProfile * This,
  5183. /* [out] */ DWORD *pcStreams);
  5184. void __RPC_STUB IWMProfile_GetStreamCount_Stub(
  5185. IRpcStubBuffer *This,
  5186. IRpcChannelBuffer *_pRpcChannelBuffer,
  5187. PRPC_MESSAGE _pRpcMessage,
  5188. DWORD *_pdwStubPhase);
  5189. HRESULT STDMETHODCALLTYPE IWMProfile_GetStream_Proxy(
  5190. IWMProfile * This,
  5191. /* [in] */ DWORD dwStreamIndex,
  5192. /* [out] */ IWMStreamConfig **ppConfig);
  5193. void __RPC_STUB IWMProfile_GetStream_Stub(
  5194. IRpcStubBuffer *This,
  5195. IRpcChannelBuffer *_pRpcChannelBuffer,
  5196. PRPC_MESSAGE _pRpcMessage,
  5197. DWORD *_pdwStubPhase);
  5198. HRESULT STDMETHODCALLTYPE IWMProfile_GetStreamByNumber_Proxy(
  5199. IWMProfile * This,
  5200. /* [in] */ WORD wStreamNum,
  5201. /* [out] */ IWMStreamConfig **ppConfig);
  5202. void __RPC_STUB IWMProfile_GetStreamByNumber_Stub(
  5203. IRpcStubBuffer *This,
  5204. IRpcChannelBuffer *_pRpcChannelBuffer,
  5205. PRPC_MESSAGE _pRpcMessage,
  5206. DWORD *_pdwStubPhase);
  5207. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveStream_Proxy(
  5208. IWMProfile * This,
  5209. /* [in] */ IWMStreamConfig *pConfig);
  5210. void __RPC_STUB IWMProfile_RemoveStream_Stub(
  5211. IRpcStubBuffer *This,
  5212. IRpcChannelBuffer *_pRpcChannelBuffer,
  5213. PRPC_MESSAGE _pRpcMessage,
  5214. DWORD *_pdwStubPhase);
  5215. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveStreamByNumber_Proxy(
  5216. IWMProfile * This,
  5217. /* [in] */ WORD wStreamNum);
  5218. void __RPC_STUB IWMProfile_RemoveStreamByNumber_Stub(
  5219. IRpcStubBuffer *This,
  5220. IRpcChannelBuffer *_pRpcChannelBuffer,
  5221. PRPC_MESSAGE _pRpcMessage,
  5222. DWORD *_pdwStubPhase);
  5223. HRESULT STDMETHODCALLTYPE IWMProfile_AddStream_Proxy(
  5224. IWMProfile * This,
  5225. /* [in] */ IWMStreamConfig *pConfig);
  5226. void __RPC_STUB IWMProfile_AddStream_Stub(
  5227. IRpcStubBuffer *This,
  5228. IRpcChannelBuffer *_pRpcChannelBuffer,
  5229. PRPC_MESSAGE _pRpcMessage,
  5230. DWORD *_pdwStubPhase);
  5231. HRESULT STDMETHODCALLTYPE IWMProfile_ReconfigStream_Proxy(
  5232. IWMProfile * This,
  5233. /* [in] */ IWMStreamConfig *pConfig);
  5234. void __RPC_STUB IWMProfile_ReconfigStream_Stub(
  5235. IRpcStubBuffer *This,
  5236. IRpcChannelBuffer *_pRpcChannelBuffer,
  5237. PRPC_MESSAGE _pRpcMessage,
  5238. DWORD *_pdwStubPhase);
  5239. HRESULT STDMETHODCALLTYPE IWMProfile_CreateNewStream_Proxy(
  5240. IWMProfile * This,
  5241. /* [in] */ REFGUID guidStreamType,
  5242. /* [out] */ IWMStreamConfig **ppConfig);
  5243. void __RPC_STUB IWMProfile_CreateNewStream_Stub(
  5244. IRpcStubBuffer *This,
  5245. IRpcChannelBuffer *_pRpcChannelBuffer,
  5246. PRPC_MESSAGE _pRpcMessage,
  5247. DWORD *_pdwStubPhase);
  5248. HRESULT STDMETHODCALLTYPE IWMProfile_GetMutualExclusionCount_Proxy(
  5249. IWMProfile * This,
  5250. /* [out] */ DWORD *pcME);
  5251. void __RPC_STUB IWMProfile_GetMutualExclusionCount_Stub(
  5252. IRpcStubBuffer *This,
  5253. IRpcChannelBuffer *_pRpcChannelBuffer,
  5254. PRPC_MESSAGE _pRpcMessage,
  5255. DWORD *_pdwStubPhase);
  5256. HRESULT STDMETHODCALLTYPE IWMProfile_GetMutualExclusion_Proxy(
  5257. IWMProfile * This,
  5258. /* [in] */ DWORD dwMEIndex,
  5259. /* [out] */ IWMMutualExclusion **ppME);
  5260. void __RPC_STUB IWMProfile_GetMutualExclusion_Stub(
  5261. IRpcStubBuffer *This,
  5262. IRpcChannelBuffer *_pRpcChannelBuffer,
  5263. PRPC_MESSAGE _pRpcMessage,
  5264. DWORD *_pdwStubPhase);
  5265. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveMutualExclusion_Proxy(
  5266. IWMProfile * This,
  5267. /* [in] */ IWMMutualExclusion *pME);
  5268. void __RPC_STUB IWMProfile_RemoveMutualExclusion_Stub(
  5269. IRpcStubBuffer *This,
  5270. IRpcChannelBuffer *_pRpcChannelBuffer,
  5271. PRPC_MESSAGE _pRpcMessage,
  5272. DWORD *_pdwStubPhase);
  5273. HRESULT STDMETHODCALLTYPE IWMProfile_AddMutualExclusion_Proxy(
  5274. IWMProfile * This,
  5275. /* [in] */ IWMMutualExclusion *pME);
  5276. void __RPC_STUB IWMProfile_AddMutualExclusion_Stub(
  5277. IRpcStubBuffer *This,
  5278. IRpcChannelBuffer *_pRpcChannelBuffer,
  5279. PRPC_MESSAGE _pRpcMessage,
  5280. DWORD *_pdwStubPhase);
  5281. HRESULT STDMETHODCALLTYPE IWMProfile_CreateNewMutualExclusion_Proxy(
  5282. IWMProfile * This,
  5283. /* [out] */ IWMMutualExclusion **ppME);
  5284. void __RPC_STUB IWMProfile_CreateNewMutualExclusion_Stub(
  5285. IRpcStubBuffer *This,
  5286. IRpcChannelBuffer *_pRpcChannelBuffer,
  5287. PRPC_MESSAGE _pRpcMessage,
  5288. DWORD *_pdwStubPhase);
  5289. #endif /* __IWMProfile_INTERFACE_DEFINED__ */
  5290. #ifndef __IWMProfile2_INTERFACE_DEFINED__
  5291. #define __IWMProfile2_INTERFACE_DEFINED__
  5292. /* interface IWMProfile2 */
  5293. /* [local][unique][helpstring][uuid][object] */
  5294. EXTERN_C const IID IID_IWMProfile2;
  5295. #if defined(__cplusplus) && !defined(CINTERFACE)
  5296. MIDL_INTERFACE("07E72D33-D94E-4be7-8843-60AE5FF7E5F5")
  5297. IWMProfile2 : public IWMProfile
  5298. {
  5299. public:
  5300. virtual HRESULT STDMETHODCALLTYPE GetProfileID(
  5301. /* [out] */ GUID *pguidID) = 0;
  5302. };
  5303. #else /* C style interface */
  5304. typedef struct IWMProfile2Vtbl
  5305. {
  5306. BEGIN_INTERFACE
  5307. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5308. IWMProfile2 * This,
  5309. /* [in] */ REFIID riid,
  5310. /* [iid_is][out] */ void **ppvObject);
  5311. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5312. IWMProfile2 * This);
  5313. ULONG ( STDMETHODCALLTYPE *Release )(
  5314. IWMProfile2 * This);
  5315. HRESULT ( STDMETHODCALLTYPE *GetVersion )(
  5316. IWMProfile2 * This,
  5317. /* [out] */ WMT_VERSION *pdwVersion);
  5318. HRESULT ( STDMETHODCALLTYPE *GetName )(
  5319. IWMProfile2 * This,
  5320. /* [size_is][out] */ WCHAR *pwszName,
  5321. /* [out][in] */ DWORD *pcchName);
  5322. HRESULT ( STDMETHODCALLTYPE *SetName )(
  5323. IWMProfile2 * This,
  5324. /* [in] */ const WCHAR *pwszName);
  5325. HRESULT ( STDMETHODCALLTYPE *GetDescription )(
  5326. IWMProfile2 * This,
  5327. /* [size_is][out] */ WCHAR *pwszDescription,
  5328. /* [out][in] */ DWORD *pcchDescription);
  5329. HRESULT ( STDMETHODCALLTYPE *SetDescription )(
  5330. IWMProfile2 * This,
  5331. /* [in] */ const WCHAR *pwszDescription);
  5332. HRESULT ( STDMETHODCALLTYPE *GetStreamCount )(
  5333. IWMProfile2 * This,
  5334. /* [out] */ DWORD *pcStreams);
  5335. HRESULT ( STDMETHODCALLTYPE *GetStream )(
  5336. IWMProfile2 * This,
  5337. /* [in] */ DWORD dwStreamIndex,
  5338. /* [out] */ IWMStreamConfig **ppConfig);
  5339. HRESULT ( STDMETHODCALLTYPE *GetStreamByNumber )(
  5340. IWMProfile2 * This,
  5341. /* [in] */ WORD wStreamNum,
  5342. /* [out] */ IWMStreamConfig **ppConfig);
  5343. HRESULT ( STDMETHODCALLTYPE *RemoveStream )(
  5344. IWMProfile2 * This,
  5345. /* [in] */ IWMStreamConfig *pConfig);
  5346. HRESULT ( STDMETHODCALLTYPE *RemoveStreamByNumber )(
  5347. IWMProfile2 * This,
  5348. /* [in] */ WORD wStreamNum);
  5349. HRESULT ( STDMETHODCALLTYPE *AddStream )(
  5350. IWMProfile2 * This,
  5351. /* [in] */ IWMStreamConfig *pConfig);
  5352. HRESULT ( STDMETHODCALLTYPE *ReconfigStream )(
  5353. IWMProfile2 * This,
  5354. /* [in] */ IWMStreamConfig *pConfig);
  5355. HRESULT ( STDMETHODCALLTYPE *CreateNewStream )(
  5356. IWMProfile2 * This,
  5357. /* [in] */ REFGUID guidStreamType,
  5358. /* [out] */ IWMStreamConfig **ppConfig);
  5359. HRESULT ( STDMETHODCALLTYPE *GetMutualExclusionCount )(
  5360. IWMProfile2 * This,
  5361. /* [out] */ DWORD *pcME);
  5362. HRESULT ( STDMETHODCALLTYPE *GetMutualExclusion )(
  5363. IWMProfile2 * This,
  5364. /* [in] */ DWORD dwMEIndex,
  5365. /* [out] */ IWMMutualExclusion **ppME);
  5366. HRESULT ( STDMETHODCALLTYPE *RemoveMutualExclusion )(
  5367. IWMProfile2 * This,
  5368. /* [in] */ IWMMutualExclusion *pME);
  5369. HRESULT ( STDMETHODCALLTYPE *AddMutualExclusion )(
  5370. IWMProfile2 * This,
  5371. /* [in] */ IWMMutualExclusion *pME);
  5372. HRESULT ( STDMETHODCALLTYPE *CreateNewMutualExclusion )(
  5373. IWMProfile2 * This,
  5374. /* [out] */ IWMMutualExclusion **ppME);
  5375. HRESULT ( STDMETHODCALLTYPE *GetProfileID )(
  5376. IWMProfile2 * This,
  5377. /* [out] */ GUID *pguidID);
  5378. END_INTERFACE
  5379. } IWMProfile2Vtbl;
  5380. interface IWMProfile2
  5381. {
  5382. CONST_VTBL struct IWMProfile2Vtbl *lpVtbl;
  5383. };
  5384. #ifdef COBJMACROS
  5385. #define IWMProfile2_QueryInterface(This,riid,ppvObject) \
  5386. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5387. #define IWMProfile2_AddRef(This) \
  5388. (This)->lpVtbl -> AddRef(This)
  5389. #define IWMProfile2_Release(This) \
  5390. (This)->lpVtbl -> Release(This)
  5391. #define IWMProfile2_GetVersion(This,pdwVersion) \
  5392. (This)->lpVtbl -> GetVersion(This,pdwVersion)
  5393. #define IWMProfile2_GetName(This,pwszName,pcchName) \
  5394. (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  5395. #define IWMProfile2_SetName(This,pwszName) \
  5396. (This)->lpVtbl -> SetName(This,pwszName)
  5397. #define IWMProfile2_GetDescription(This,pwszDescription,pcchDescription) \
  5398. (This)->lpVtbl -> GetDescription(This,pwszDescription,pcchDescription)
  5399. #define IWMProfile2_SetDescription(This,pwszDescription) \
  5400. (This)->lpVtbl -> SetDescription(This,pwszDescription)
  5401. #define IWMProfile2_GetStreamCount(This,pcStreams) \
  5402. (This)->lpVtbl -> GetStreamCount(This,pcStreams)
  5403. #define IWMProfile2_GetStream(This,dwStreamIndex,ppConfig) \
  5404. (This)->lpVtbl -> GetStream(This,dwStreamIndex,ppConfig)
  5405. #define IWMProfile2_GetStreamByNumber(This,wStreamNum,ppConfig) \
  5406. (This)->lpVtbl -> GetStreamByNumber(This,wStreamNum,ppConfig)
  5407. #define IWMProfile2_RemoveStream(This,pConfig) \
  5408. (This)->lpVtbl -> RemoveStream(This,pConfig)
  5409. #define IWMProfile2_RemoveStreamByNumber(This,wStreamNum) \
  5410. (This)->lpVtbl -> RemoveStreamByNumber(This,wStreamNum)
  5411. #define IWMProfile2_AddStream(This,pConfig) \
  5412. (This)->lpVtbl -> AddStream(This,pConfig)
  5413. #define IWMProfile2_ReconfigStream(This,pConfig) \
  5414. (This)->lpVtbl -> ReconfigStream(This,pConfig)
  5415. #define IWMProfile2_CreateNewStream(This,guidStreamType,ppConfig) \
  5416. (This)->lpVtbl -> CreateNewStream(This,guidStreamType,ppConfig)
  5417. #define IWMProfile2_GetMutualExclusionCount(This,pcME) \
  5418. (This)->lpVtbl -> GetMutualExclusionCount(This,pcME)
  5419. #define IWMProfile2_GetMutualExclusion(This,dwMEIndex,ppME) \
  5420. (This)->lpVtbl -> GetMutualExclusion(This,dwMEIndex,ppME)
  5421. #define IWMProfile2_RemoveMutualExclusion(This,pME) \
  5422. (This)->lpVtbl -> RemoveMutualExclusion(This,pME)
  5423. #define IWMProfile2_AddMutualExclusion(This,pME) \
  5424. (This)->lpVtbl -> AddMutualExclusion(This,pME)
  5425. #define IWMProfile2_CreateNewMutualExclusion(This,ppME) \
  5426. (This)->lpVtbl -> CreateNewMutualExclusion(This,ppME)
  5427. #define IWMProfile2_GetProfileID(This,pguidID) \
  5428. (This)->lpVtbl -> GetProfileID(This,pguidID)
  5429. #endif /* COBJMACROS */
  5430. #endif /* C style interface */
  5431. HRESULT STDMETHODCALLTYPE IWMProfile2_GetProfileID_Proxy(
  5432. IWMProfile2 * This,
  5433. /* [out] */ GUID *pguidID);
  5434. void __RPC_STUB IWMProfile2_GetProfileID_Stub(
  5435. IRpcStubBuffer *This,
  5436. IRpcChannelBuffer *_pRpcChannelBuffer,
  5437. PRPC_MESSAGE _pRpcMessage,
  5438. DWORD *_pdwStubPhase);
  5439. #endif /* __IWMProfile2_INTERFACE_DEFINED__ */
  5440. #ifndef __IWMProfile3_INTERFACE_DEFINED__
  5441. #define __IWMProfile3_INTERFACE_DEFINED__
  5442. /* interface IWMProfile3 */
  5443. /* [local][unique][helpstring][uuid][object] */
  5444. EXTERN_C const IID IID_IWMProfile3;
  5445. #if defined(__cplusplus) && !defined(CINTERFACE)
  5446. MIDL_INTERFACE("00EF96CC-A461-4546-8BCD-C9A28F0E06F5")
  5447. IWMProfile3 : public IWMProfile2
  5448. {
  5449. public:
  5450. virtual HRESULT STDMETHODCALLTYPE GetStorageFormat(
  5451. /* [out] */ WMT_STORAGE_FORMAT *pnStorageFormat) = 0;
  5452. virtual HRESULT STDMETHODCALLTYPE SetStorageFormat(
  5453. /* [in] */ WMT_STORAGE_FORMAT nStorageFormat) = 0;
  5454. virtual HRESULT STDMETHODCALLTYPE GetBandwidthSharingCount(
  5455. /* [out] */ DWORD *pcBS) = 0;
  5456. virtual HRESULT STDMETHODCALLTYPE GetBandwidthSharing(
  5457. /* [in] */ DWORD dwBSIndex,
  5458. /* [out] */ IWMBandwidthSharing **ppBS) = 0;
  5459. virtual HRESULT STDMETHODCALLTYPE RemoveBandwidthSharing(
  5460. /* [in] */ IWMBandwidthSharing *pBS) = 0;
  5461. virtual HRESULT STDMETHODCALLTYPE AddBandwidthSharing(
  5462. /* [in] */ IWMBandwidthSharing *pBS) = 0;
  5463. virtual HRESULT STDMETHODCALLTYPE CreateNewBandwidthSharing(
  5464. /* [out] */ IWMBandwidthSharing **ppBS) = 0;
  5465. virtual HRESULT STDMETHODCALLTYPE GetStreamPrioritization(
  5466. /* [out] */ IWMStreamPrioritization **ppSP) = 0;
  5467. virtual HRESULT STDMETHODCALLTYPE SetStreamPrioritization(
  5468. /* [in] */ IWMStreamPrioritization *pSP) = 0;
  5469. virtual HRESULT STDMETHODCALLTYPE RemoveStreamPrioritization( void) = 0;
  5470. virtual HRESULT STDMETHODCALLTYPE CreateNewStreamPrioritization(
  5471. /* [out] */ IWMStreamPrioritization **ppSP) = 0;
  5472. virtual HRESULT STDMETHODCALLTYPE GetExpectedPacketCount(
  5473. /* [in] */ QWORD msDuration,
  5474. /* [out] */ QWORD *pcPackets) = 0;
  5475. };
  5476. #else /* C style interface */
  5477. typedef struct IWMProfile3Vtbl
  5478. {
  5479. BEGIN_INTERFACE
  5480. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5481. IWMProfile3 * This,
  5482. /* [in] */ REFIID riid,
  5483. /* [iid_is][out] */ void **ppvObject);
  5484. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5485. IWMProfile3 * This);
  5486. ULONG ( STDMETHODCALLTYPE *Release )(
  5487. IWMProfile3 * This);
  5488. HRESULT ( STDMETHODCALLTYPE *GetVersion )(
  5489. IWMProfile3 * This,
  5490. /* [out] */ WMT_VERSION *pdwVersion);
  5491. HRESULT ( STDMETHODCALLTYPE *GetName )(
  5492. IWMProfile3 * This,
  5493. /* [size_is][out] */ WCHAR *pwszName,
  5494. /* [out][in] */ DWORD *pcchName);
  5495. HRESULT ( STDMETHODCALLTYPE *SetName )(
  5496. IWMProfile3 * This,
  5497. /* [in] */ const WCHAR *pwszName);
  5498. HRESULT ( STDMETHODCALLTYPE *GetDescription )(
  5499. IWMProfile3 * This,
  5500. /* [size_is][out] */ WCHAR *pwszDescription,
  5501. /* [out][in] */ DWORD *pcchDescription);
  5502. HRESULT ( STDMETHODCALLTYPE *SetDescription )(
  5503. IWMProfile3 * This,
  5504. /* [in] */ const WCHAR *pwszDescription);
  5505. HRESULT ( STDMETHODCALLTYPE *GetStreamCount )(
  5506. IWMProfile3 * This,
  5507. /* [out] */ DWORD *pcStreams);
  5508. HRESULT ( STDMETHODCALLTYPE *GetStream )(
  5509. IWMProfile3 * This,
  5510. /* [in] */ DWORD dwStreamIndex,
  5511. /* [out] */ IWMStreamConfig **ppConfig);
  5512. HRESULT ( STDMETHODCALLTYPE *GetStreamByNumber )(
  5513. IWMProfile3 * This,
  5514. /* [in] */ WORD wStreamNum,
  5515. /* [out] */ IWMStreamConfig **ppConfig);
  5516. HRESULT ( STDMETHODCALLTYPE *RemoveStream )(
  5517. IWMProfile3 * This,
  5518. /* [in] */ IWMStreamConfig *pConfig);
  5519. HRESULT ( STDMETHODCALLTYPE *RemoveStreamByNumber )(
  5520. IWMProfile3 * This,
  5521. /* [in] */ WORD wStreamNum);
  5522. HRESULT ( STDMETHODCALLTYPE *AddStream )(
  5523. IWMProfile3 * This,
  5524. /* [in] */ IWMStreamConfig *pConfig);
  5525. HRESULT ( STDMETHODCALLTYPE *ReconfigStream )(
  5526. IWMProfile3 * This,
  5527. /* [in] */ IWMStreamConfig *pConfig);
  5528. HRESULT ( STDMETHODCALLTYPE *CreateNewStream )(
  5529. IWMProfile3 * This,
  5530. /* [in] */ REFGUID guidStreamType,
  5531. /* [out] */ IWMStreamConfig **ppConfig);
  5532. HRESULT ( STDMETHODCALLTYPE *GetMutualExclusionCount )(
  5533. IWMProfile3 * This,
  5534. /* [out] */ DWORD *pcME);
  5535. HRESULT ( STDMETHODCALLTYPE *GetMutualExclusion )(
  5536. IWMProfile3 * This,
  5537. /* [in] */ DWORD dwMEIndex,
  5538. /* [out] */ IWMMutualExclusion **ppME);
  5539. HRESULT ( STDMETHODCALLTYPE *RemoveMutualExclusion )(
  5540. IWMProfile3 * This,
  5541. /* [in] */ IWMMutualExclusion *pME);
  5542. HRESULT ( STDMETHODCALLTYPE *AddMutualExclusion )(
  5543. IWMProfile3 * This,
  5544. /* [in] */ IWMMutualExclusion *pME);
  5545. HRESULT ( STDMETHODCALLTYPE *CreateNewMutualExclusion )(
  5546. IWMProfile3 * This,
  5547. /* [out] */ IWMMutualExclusion **ppME);
  5548. HRESULT ( STDMETHODCALLTYPE *GetProfileID )(
  5549. IWMProfile3 * This,
  5550. /* [out] */ GUID *pguidID);
  5551. HRESULT ( STDMETHODCALLTYPE *GetStorageFormat )(
  5552. IWMProfile3 * This,
  5553. /* [out] */ WMT_STORAGE_FORMAT *pnStorageFormat);
  5554. HRESULT ( STDMETHODCALLTYPE *SetStorageFormat )(
  5555. IWMProfile3 * This,
  5556. /* [in] */ WMT_STORAGE_FORMAT nStorageFormat);
  5557. HRESULT ( STDMETHODCALLTYPE *GetBandwidthSharingCount )(
  5558. IWMProfile3 * This,
  5559. /* [out] */ DWORD *pcBS);
  5560. HRESULT ( STDMETHODCALLTYPE *GetBandwidthSharing )(
  5561. IWMProfile3 * This,
  5562. /* [in] */ DWORD dwBSIndex,
  5563. /* [out] */ IWMBandwidthSharing **ppBS);
  5564. HRESULT ( STDMETHODCALLTYPE *RemoveBandwidthSharing )(
  5565. IWMProfile3 * This,
  5566. /* [in] */ IWMBandwidthSharing *pBS);
  5567. HRESULT ( STDMETHODCALLTYPE *AddBandwidthSharing )(
  5568. IWMProfile3 * This,
  5569. /* [in] */ IWMBandwidthSharing *pBS);
  5570. HRESULT ( STDMETHODCALLTYPE *CreateNewBandwidthSharing )(
  5571. IWMProfile3 * This,
  5572. /* [out] */ IWMBandwidthSharing **ppBS);
  5573. HRESULT ( STDMETHODCALLTYPE *GetStreamPrioritization )(
  5574. IWMProfile3 * This,
  5575. /* [out] */ IWMStreamPrioritization **ppSP);
  5576. HRESULT ( STDMETHODCALLTYPE *SetStreamPrioritization )(
  5577. IWMProfile3 * This,
  5578. /* [in] */ IWMStreamPrioritization *pSP);
  5579. HRESULT ( STDMETHODCALLTYPE *RemoveStreamPrioritization )(
  5580. IWMProfile3 * This);
  5581. HRESULT ( STDMETHODCALLTYPE *CreateNewStreamPrioritization )(
  5582. IWMProfile3 * This,
  5583. /* [out] */ IWMStreamPrioritization **ppSP);
  5584. HRESULT ( STDMETHODCALLTYPE *GetExpectedPacketCount )(
  5585. IWMProfile3 * This,
  5586. /* [in] */ QWORD msDuration,
  5587. /* [out] */ QWORD *pcPackets);
  5588. END_INTERFACE
  5589. } IWMProfile3Vtbl;
  5590. interface IWMProfile3
  5591. {
  5592. CONST_VTBL struct IWMProfile3Vtbl *lpVtbl;
  5593. };
  5594. #ifdef COBJMACROS
  5595. #define IWMProfile3_QueryInterface(This,riid,ppvObject) \
  5596. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5597. #define IWMProfile3_AddRef(This) \
  5598. (This)->lpVtbl -> AddRef(This)
  5599. #define IWMProfile3_Release(This) \
  5600. (This)->lpVtbl -> Release(This)
  5601. #define IWMProfile3_GetVersion(This,pdwVersion) \
  5602. (This)->lpVtbl -> GetVersion(This,pdwVersion)
  5603. #define IWMProfile3_GetName(This,pwszName,pcchName) \
  5604. (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  5605. #define IWMProfile3_SetName(This,pwszName) \
  5606. (This)->lpVtbl -> SetName(This,pwszName)
  5607. #define IWMProfile3_GetDescription(This,pwszDescription,pcchDescription) \
  5608. (This)->lpVtbl -> GetDescription(This,pwszDescription,pcchDescription)
  5609. #define IWMProfile3_SetDescription(This,pwszDescription) \
  5610. (This)->lpVtbl -> SetDescription(This,pwszDescription)
  5611. #define IWMProfile3_GetStreamCount(This,pcStreams) \
  5612. (This)->lpVtbl -> GetStreamCount(This,pcStreams)
  5613. #define IWMProfile3_GetStream(This,dwStreamIndex,ppConfig) \
  5614. (This)->lpVtbl -> GetStream(This,dwStreamIndex,ppConfig)
  5615. #define IWMProfile3_GetStreamByNumber(This,wStreamNum,ppConfig) \
  5616. (This)->lpVtbl -> GetStreamByNumber(This,wStreamNum,ppConfig)
  5617. #define IWMProfile3_RemoveStream(This,pConfig) \
  5618. (This)->lpVtbl -> RemoveStream(This,pConfig)
  5619. #define IWMProfile3_RemoveStreamByNumber(This,wStreamNum) \
  5620. (This)->lpVtbl -> RemoveStreamByNumber(This,wStreamNum)
  5621. #define IWMProfile3_AddStream(This,pConfig) \
  5622. (This)->lpVtbl -> AddStream(This,pConfig)
  5623. #define IWMProfile3_ReconfigStream(This,pConfig) \
  5624. (This)->lpVtbl -> ReconfigStream(This,pConfig)
  5625. #define IWMProfile3_CreateNewStream(This,guidStreamType,ppConfig) \
  5626. (This)->lpVtbl -> CreateNewStream(This,guidStreamType,ppConfig)
  5627. #define IWMProfile3_GetMutualExclusionCount(This,pcME) \
  5628. (This)->lpVtbl -> GetMutualExclusionCount(This,pcME)
  5629. #define IWMProfile3_GetMutualExclusion(This,dwMEIndex,ppME) \
  5630. (This)->lpVtbl -> GetMutualExclusion(This,dwMEIndex,ppME)
  5631. #define IWMProfile3_RemoveMutualExclusion(This,pME) \
  5632. (This)->lpVtbl -> RemoveMutualExclusion(This,pME)
  5633. #define IWMProfile3_AddMutualExclusion(This,pME) \
  5634. (This)->lpVtbl -> AddMutualExclusion(This,pME)
  5635. #define IWMProfile3_CreateNewMutualExclusion(This,ppME) \
  5636. (This)->lpVtbl -> CreateNewMutualExclusion(This,ppME)
  5637. #define IWMProfile3_GetProfileID(This,pguidID) \
  5638. (This)->lpVtbl -> GetProfileID(This,pguidID)
  5639. #define IWMProfile3_GetStorageFormat(This,pnStorageFormat) \
  5640. (This)->lpVtbl -> GetStorageFormat(This,pnStorageFormat)
  5641. #define IWMProfile3_SetStorageFormat(This,nStorageFormat) \
  5642. (This)->lpVtbl -> SetStorageFormat(This,nStorageFormat)
  5643. #define IWMProfile3_GetBandwidthSharingCount(This,pcBS) \
  5644. (This)->lpVtbl -> GetBandwidthSharingCount(This,pcBS)
  5645. #define IWMProfile3_GetBandwidthSharing(This,dwBSIndex,ppBS) \
  5646. (This)->lpVtbl -> GetBandwidthSharing(This,dwBSIndex,ppBS)
  5647. #define IWMProfile3_RemoveBandwidthSharing(This,pBS) \
  5648. (This)->lpVtbl -> RemoveBandwidthSharing(This,pBS)
  5649. #define IWMProfile3_AddBandwidthSharing(This,pBS) \
  5650. (This)->lpVtbl -> AddBandwidthSharing(This,pBS)
  5651. #define IWMProfile3_CreateNewBandwidthSharing(This,ppBS) \
  5652. (This)->lpVtbl -> CreateNewBandwidthSharing(This,ppBS)
  5653. #define IWMProfile3_GetStreamPrioritization(This,ppSP) \
  5654. (This)->lpVtbl -> GetStreamPrioritization(This,ppSP)
  5655. #define IWMProfile3_SetStreamPrioritization(This,pSP) \
  5656. (This)->lpVtbl -> SetStreamPrioritization(This,pSP)
  5657. #define IWMProfile3_RemoveStreamPrioritization(This) \
  5658. (This)->lpVtbl -> RemoveStreamPrioritization(This)
  5659. #define IWMProfile3_CreateNewStreamPrioritization(This,ppSP) \
  5660. (This)->lpVtbl -> CreateNewStreamPrioritization(This,ppSP)
  5661. #define IWMProfile3_GetExpectedPacketCount(This,msDuration,pcPackets) \
  5662. (This)->lpVtbl -> GetExpectedPacketCount(This,msDuration,pcPackets)
  5663. #endif /* COBJMACROS */
  5664. #endif /* C style interface */
  5665. HRESULT STDMETHODCALLTYPE IWMProfile3_GetStorageFormat_Proxy(
  5666. IWMProfile3 * This,
  5667. /* [out] */ WMT_STORAGE_FORMAT *pnStorageFormat);
  5668. void __RPC_STUB IWMProfile3_GetStorageFormat_Stub(
  5669. IRpcStubBuffer *This,
  5670. IRpcChannelBuffer *_pRpcChannelBuffer,
  5671. PRPC_MESSAGE _pRpcMessage,
  5672. DWORD *_pdwStubPhase);
  5673. HRESULT STDMETHODCALLTYPE IWMProfile3_SetStorageFormat_Proxy(
  5674. IWMProfile3 * This,
  5675. /* [in] */ WMT_STORAGE_FORMAT nStorageFormat);
  5676. void __RPC_STUB IWMProfile3_SetStorageFormat_Stub(
  5677. IRpcStubBuffer *This,
  5678. IRpcChannelBuffer *_pRpcChannelBuffer,
  5679. PRPC_MESSAGE _pRpcMessage,
  5680. DWORD *_pdwStubPhase);
  5681. HRESULT STDMETHODCALLTYPE IWMProfile3_GetBandwidthSharingCount_Proxy(
  5682. IWMProfile3 * This,
  5683. /* [out] */ DWORD *pcBS);
  5684. void __RPC_STUB IWMProfile3_GetBandwidthSharingCount_Stub(
  5685. IRpcStubBuffer *This,
  5686. IRpcChannelBuffer *_pRpcChannelBuffer,
  5687. PRPC_MESSAGE _pRpcMessage,
  5688. DWORD *_pdwStubPhase);
  5689. HRESULT STDMETHODCALLTYPE IWMProfile3_GetBandwidthSharing_Proxy(
  5690. IWMProfile3 * This,
  5691. /* [in] */ DWORD dwBSIndex,
  5692. /* [out] */ IWMBandwidthSharing **ppBS);
  5693. void __RPC_STUB IWMProfile3_GetBandwidthSharing_Stub(
  5694. IRpcStubBuffer *This,
  5695. IRpcChannelBuffer *_pRpcChannelBuffer,
  5696. PRPC_MESSAGE _pRpcMessage,
  5697. DWORD *_pdwStubPhase);
  5698. HRESULT STDMETHODCALLTYPE IWMProfile3_RemoveBandwidthSharing_Proxy(
  5699. IWMProfile3 * This,
  5700. /* [in] */ IWMBandwidthSharing *pBS);
  5701. void __RPC_STUB IWMProfile3_RemoveBandwidthSharing_Stub(
  5702. IRpcStubBuffer *This,
  5703. IRpcChannelBuffer *_pRpcChannelBuffer,
  5704. PRPC_MESSAGE _pRpcMessage,
  5705. DWORD *_pdwStubPhase);
  5706. HRESULT STDMETHODCALLTYPE IWMProfile3_AddBandwidthSharing_Proxy(
  5707. IWMProfile3 * This,
  5708. /* [in] */ IWMBandwidthSharing *pBS);
  5709. void __RPC_STUB IWMProfile3_AddBandwidthSharing_Stub(
  5710. IRpcStubBuffer *This,
  5711. IRpcChannelBuffer *_pRpcChannelBuffer,
  5712. PRPC_MESSAGE _pRpcMessage,
  5713. DWORD *_pdwStubPhase);
  5714. HRESULT STDMETHODCALLTYPE IWMProfile3_CreateNewBandwidthSharing_Proxy(
  5715. IWMProfile3 * This,
  5716. /* [out] */ IWMBandwidthSharing **ppBS);
  5717. void __RPC_STUB IWMProfile3_CreateNewBandwidthSharing_Stub(
  5718. IRpcStubBuffer *This,
  5719. IRpcChannelBuffer *_pRpcChannelBuffer,
  5720. PRPC_MESSAGE _pRpcMessage,
  5721. DWORD *_pdwStubPhase);
  5722. HRESULT STDMETHODCALLTYPE IWMProfile3_GetStreamPrioritization_Proxy(
  5723. IWMProfile3 * This,
  5724. /* [out] */ IWMStreamPrioritization **ppSP);
  5725. void __RPC_STUB IWMProfile3_GetStreamPrioritization_Stub(
  5726. IRpcStubBuffer *This,
  5727. IRpcChannelBuffer *_pRpcChannelBuffer,
  5728. PRPC_MESSAGE _pRpcMessage,
  5729. DWORD *_pdwStubPhase);
  5730. HRESULT STDMETHODCALLTYPE IWMProfile3_SetStreamPrioritization_Proxy(
  5731. IWMProfile3 * This,
  5732. /* [in] */ IWMStreamPrioritization *pSP);
  5733. void __RPC_STUB IWMProfile3_SetStreamPrioritization_Stub(
  5734. IRpcStubBuffer *This,
  5735. IRpcChannelBuffer *_pRpcChannelBuffer,
  5736. PRPC_MESSAGE _pRpcMessage,
  5737. DWORD *_pdwStubPhase);
  5738. HRESULT STDMETHODCALLTYPE IWMProfile3_RemoveStreamPrioritization_Proxy(
  5739. IWMProfile3 * This);
  5740. void __RPC_STUB IWMProfile3_RemoveStreamPrioritization_Stub(
  5741. IRpcStubBuffer *This,
  5742. IRpcChannelBuffer *_pRpcChannelBuffer,
  5743. PRPC_MESSAGE _pRpcMessage,
  5744. DWORD *_pdwStubPhase);
  5745. HRESULT STDMETHODCALLTYPE IWMProfile3_CreateNewStreamPrioritization_Proxy(
  5746. IWMProfile3 * This,
  5747. /* [out] */ IWMStreamPrioritization **ppSP);
  5748. void __RPC_STUB IWMProfile3_CreateNewStreamPrioritization_Stub(
  5749. IRpcStubBuffer *This,
  5750. IRpcChannelBuffer *_pRpcChannelBuffer,
  5751. PRPC_MESSAGE _pRpcMessage,
  5752. DWORD *_pdwStubPhase);
  5753. HRESULT STDMETHODCALLTYPE IWMProfile3_GetExpectedPacketCount_Proxy(
  5754. IWMProfile3 * This,
  5755. /* [in] */ QWORD msDuration,
  5756. /* [out] */ QWORD *pcPackets);
  5757. void __RPC_STUB IWMProfile3_GetExpectedPacketCount_Stub(
  5758. IRpcStubBuffer *This,
  5759. IRpcChannelBuffer *_pRpcChannelBuffer,
  5760. PRPC_MESSAGE _pRpcMessage,
  5761. DWORD *_pdwStubPhase);
  5762. #endif /* __IWMProfile3_INTERFACE_DEFINED__ */
  5763. #ifndef __IWMStreamConfig_INTERFACE_DEFINED__
  5764. #define __IWMStreamConfig_INTERFACE_DEFINED__
  5765. /* interface IWMStreamConfig */
  5766. /* [local][unique][helpstring][uuid][object] */
  5767. EXTERN_C const IID IID_IWMStreamConfig;
  5768. #if defined(__cplusplus) && !defined(CINTERFACE)
  5769. MIDL_INTERFACE("96406BDC-2B2B-11d3-B36B-00C04F6108FF")
  5770. IWMStreamConfig : public IUnknown
  5771. {
  5772. public:
  5773. virtual HRESULT STDMETHODCALLTYPE GetStreamType(
  5774. /* [out] */ GUID *pguidStreamType) = 0;
  5775. virtual HRESULT STDMETHODCALLTYPE GetStreamNumber(
  5776. /* [out] */ WORD *pwStreamNum) = 0;
  5777. virtual HRESULT STDMETHODCALLTYPE SetStreamNumber(
  5778. /* [in] */ WORD wStreamNum) = 0;
  5779. virtual HRESULT STDMETHODCALLTYPE GetStreamName(
  5780. /* [size_is][out] */ WCHAR *pwszStreamName,
  5781. /* [out][in] */ WORD *pcchStreamName) = 0;
  5782. virtual HRESULT STDMETHODCALLTYPE SetStreamName(
  5783. /* [in] */ WCHAR *pwszStreamName) = 0;
  5784. virtual HRESULT STDMETHODCALLTYPE GetConnectionName(
  5785. /* [size_is][out] */ WCHAR *pwszInputName,
  5786. /* [out][in] */ WORD *pcchInputName) = 0;
  5787. virtual HRESULT STDMETHODCALLTYPE SetConnectionName(
  5788. /* [in] */ WCHAR *pwszInputName) = 0;
  5789. virtual HRESULT STDMETHODCALLTYPE GetBitrate(
  5790. /* [out] */ DWORD *pdwBitrate) = 0;
  5791. virtual HRESULT STDMETHODCALLTYPE SetBitrate(
  5792. /* [in] */ DWORD pdwBitrate) = 0;
  5793. virtual HRESULT STDMETHODCALLTYPE GetBufferWindow(
  5794. /* [out] */ DWORD *pmsBufferWindow) = 0;
  5795. virtual HRESULT STDMETHODCALLTYPE SetBufferWindow(
  5796. /* [in] */ DWORD msBufferWindow) = 0;
  5797. };
  5798. #else /* C style interface */
  5799. typedef struct IWMStreamConfigVtbl
  5800. {
  5801. BEGIN_INTERFACE
  5802. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5803. IWMStreamConfig * This,
  5804. /* [in] */ REFIID riid,
  5805. /* [iid_is][out] */ void **ppvObject);
  5806. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5807. IWMStreamConfig * This);
  5808. ULONG ( STDMETHODCALLTYPE *Release )(
  5809. IWMStreamConfig * This);
  5810. HRESULT ( STDMETHODCALLTYPE *GetStreamType )(
  5811. IWMStreamConfig * This,
  5812. /* [out] */ GUID *pguidStreamType);
  5813. HRESULT ( STDMETHODCALLTYPE *GetStreamNumber )(
  5814. IWMStreamConfig * This,
  5815. /* [out] */ WORD *pwStreamNum);
  5816. HRESULT ( STDMETHODCALLTYPE *SetStreamNumber )(
  5817. IWMStreamConfig * This,
  5818. /* [in] */ WORD wStreamNum);
  5819. HRESULT ( STDMETHODCALLTYPE *GetStreamName )(
  5820. IWMStreamConfig * This,
  5821. /* [size_is][out] */ WCHAR *pwszStreamName,
  5822. /* [out][in] */ WORD *pcchStreamName);
  5823. HRESULT ( STDMETHODCALLTYPE *SetStreamName )(
  5824. IWMStreamConfig * This,
  5825. /* [in] */ WCHAR *pwszStreamName);
  5826. HRESULT ( STDMETHODCALLTYPE *GetConnectionName )(
  5827. IWMStreamConfig * This,
  5828. /* [size_is][out] */ WCHAR *pwszInputName,
  5829. /* [out][in] */ WORD *pcchInputName);
  5830. HRESULT ( STDMETHODCALLTYPE *SetConnectionName )(
  5831. IWMStreamConfig * This,
  5832. /* [in] */ WCHAR *pwszInputName);
  5833. HRESULT ( STDMETHODCALLTYPE *GetBitrate )(
  5834. IWMStreamConfig * This,
  5835. /* [out] */ DWORD *pdwBitrate);
  5836. HRESULT ( STDMETHODCALLTYPE *SetBitrate )(
  5837. IWMStreamConfig * This,
  5838. /* [in] */ DWORD pdwBitrate);
  5839. HRESULT ( STDMETHODCALLTYPE *GetBufferWindow )(
  5840. IWMStreamConfig * This,
  5841. /* [out] */ DWORD *pmsBufferWindow);
  5842. HRESULT ( STDMETHODCALLTYPE *SetBufferWindow )(
  5843. IWMStreamConfig * This,
  5844. /* [in] */ DWORD msBufferWindow);
  5845. END_INTERFACE
  5846. } IWMStreamConfigVtbl;
  5847. interface IWMStreamConfig
  5848. {
  5849. CONST_VTBL struct IWMStreamConfigVtbl *lpVtbl;
  5850. };
  5851. #ifdef COBJMACROS
  5852. #define IWMStreamConfig_QueryInterface(This,riid,ppvObject) \
  5853. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5854. #define IWMStreamConfig_AddRef(This) \
  5855. (This)->lpVtbl -> AddRef(This)
  5856. #define IWMStreamConfig_Release(This) \
  5857. (This)->lpVtbl -> Release(This)
  5858. #define IWMStreamConfig_GetStreamType(This,pguidStreamType) \
  5859. (This)->lpVtbl -> GetStreamType(This,pguidStreamType)
  5860. #define IWMStreamConfig_GetStreamNumber(This,pwStreamNum) \
  5861. (This)->lpVtbl -> GetStreamNumber(This,pwStreamNum)
  5862. #define IWMStreamConfig_SetStreamNumber(This,wStreamNum) \
  5863. (This)->lpVtbl -> SetStreamNumber(This,wStreamNum)
  5864. #define IWMStreamConfig_GetStreamName(This,pwszStreamName,pcchStreamName) \
  5865. (This)->lpVtbl -> GetStreamName(This,pwszStreamName,pcchStreamName)
  5866. #define IWMStreamConfig_SetStreamName(This,pwszStreamName) \
  5867. (This)->lpVtbl -> SetStreamName(This,pwszStreamName)
  5868. #define IWMStreamConfig_GetConnectionName(This,pwszInputName,pcchInputName) \
  5869. (This)->lpVtbl -> GetConnectionName(This,pwszInputName,pcchInputName)
  5870. #define IWMStreamConfig_SetConnectionName(This,pwszInputName) \
  5871. (This)->lpVtbl -> SetConnectionName(This,pwszInputName)
  5872. #define IWMStreamConfig_GetBitrate(This,pdwBitrate) \
  5873. (This)->lpVtbl -> GetBitrate(This,pdwBitrate)
  5874. #define IWMStreamConfig_SetBitrate(This,pdwBitrate) \
  5875. (This)->lpVtbl -> SetBitrate(This,pdwBitrate)
  5876. #define IWMStreamConfig_GetBufferWindow(This,pmsBufferWindow) \
  5877. (This)->lpVtbl -> GetBufferWindow(This,pmsBufferWindow)
  5878. #define IWMStreamConfig_SetBufferWindow(This,msBufferWindow) \
  5879. (This)->lpVtbl -> SetBufferWindow(This,msBufferWindow)
  5880. #endif /* COBJMACROS */
  5881. #endif /* C style interface */
  5882. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamType_Proxy(
  5883. IWMStreamConfig * This,
  5884. /* [out] */ GUID *pguidStreamType);
  5885. void __RPC_STUB IWMStreamConfig_GetStreamType_Stub(
  5886. IRpcStubBuffer *This,
  5887. IRpcChannelBuffer *_pRpcChannelBuffer,
  5888. PRPC_MESSAGE _pRpcMessage,
  5889. DWORD *_pdwStubPhase);
  5890. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamNumber_Proxy(
  5891. IWMStreamConfig * This,
  5892. /* [out] */ WORD *pwStreamNum);
  5893. void __RPC_STUB IWMStreamConfig_GetStreamNumber_Stub(
  5894. IRpcStubBuffer *This,
  5895. IRpcChannelBuffer *_pRpcChannelBuffer,
  5896. PRPC_MESSAGE _pRpcMessage,
  5897. DWORD *_pdwStubPhase);
  5898. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetStreamNumber_Proxy(
  5899. IWMStreamConfig * This,
  5900. /* [in] */ WORD wStreamNum);
  5901. void __RPC_STUB IWMStreamConfig_SetStreamNumber_Stub(
  5902. IRpcStubBuffer *This,
  5903. IRpcChannelBuffer *_pRpcChannelBuffer,
  5904. PRPC_MESSAGE _pRpcMessage,
  5905. DWORD *_pdwStubPhase);
  5906. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamName_Proxy(
  5907. IWMStreamConfig * This,
  5908. /* [size_is][out] */ WCHAR *pwszStreamName,
  5909. /* [out][in] */ WORD *pcchStreamName);
  5910. void __RPC_STUB IWMStreamConfig_GetStreamName_Stub(
  5911. IRpcStubBuffer *This,
  5912. IRpcChannelBuffer *_pRpcChannelBuffer,
  5913. PRPC_MESSAGE _pRpcMessage,
  5914. DWORD *_pdwStubPhase);
  5915. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetStreamName_Proxy(
  5916. IWMStreamConfig * This,
  5917. /* [in] */ WCHAR *pwszStreamName);
  5918. void __RPC_STUB IWMStreamConfig_SetStreamName_Stub(
  5919. IRpcStubBuffer *This,
  5920. IRpcChannelBuffer *_pRpcChannelBuffer,
  5921. PRPC_MESSAGE _pRpcMessage,
  5922. DWORD *_pdwStubPhase);
  5923. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetConnectionName_Proxy(
  5924. IWMStreamConfig * This,
  5925. /* [size_is][out] */ WCHAR *pwszInputName,
  5926. /* [out][in] */ WORD *pcchInputName);
  5927. void __RPC_STUB IWMStreamConfig_GetConnectionName_Stub(
  5928. IRpcStubBuffer *This,
  5929. IRpcChannelBuffer *_pRpcChannelBuffer,
  5930. PRPC_MESSAGE _pRpcMessage,
  5931. DWORD *_pdwStubPhase);
  5932. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetConnectionName_Proxy(
  5933. IWMStreamConfig * This,
  5934. /* [in] */ WCHAR *pwszInputName);
  5935. void __RPC_STUB IWMStreamConfig_SetConnectionName_Stub(
  5936. IRpcStubBuffer *This,
  5937. IRpcChannelBuffer *_pRpcChannelBuffer,
  5938. PRPC_MESSAGE _pRpcMessage,
  5939. DWORD *_pdwStubPhase);
  5940. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetBitrate_Proxy(
  5941. IWMStreamConfig * This,
  5942. /* [out] */ DWORD *pdwBitrate);
  5943. void __RPC_STUB IWMStreamConfig_GetBitrate_Stub(
  5944. IRpcStubBuffer *This,
  5945. IRpcChannelBuffer *_pRpcChannelBuffer,
  5946. PRPC_MESSAGE _pRpcMessage,
  5947. DWORD *_pdwStubPhase);
  5948. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetBitrate_Proxy(
  5949. IWMStreamConfig * This,
  5950. /* [in] */ DWORD pdwBitrate);
  5951. void __RPC_STUB IWMStreamConfig_SetBitrate_Stub(
  5952. IRpcStubBuffer *This,
  5953. IRpcChannelBuffer *_pRpcChannelBuffer,
  5954. PRPC_MESSAGE _pRpcMessage,
  5955. DWORD *_pdwStubPhase);
  5956. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetBufferWindow_Proxy(
  5957. IWMStreamConfig * This,
  5958. /* [out] */ DWORD *pmsBufferWindow);
  5959. void __RPC_STUB IWMStreamConfig_GetBufferWindow_Stub(
  5960. IRpcStubBuffer *This,
  5961. IRpcChannelBuffer *_pRpcChannelBuffer,
  5962. PRPC_MESSAGE _pRpcMessage,
  5963. DWORD *_pdwStubPhase);
  5964. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetBufferWindow_Proxy(
  5965. IWMStreamConfig * This,
  5966. /* [in] */ DWORD msBufferWindow);
  5967. void __RPC_STUB IWMStreamConfig_SetBufferWindow_Stub(
  5968. IRpcStubBuffer *This,
  5969. IRpcChannelBuffer *_pRpcChannelBuffer,
  5970. PRPC_MESSAGE _pRpcMessage,
  5971. DWORD *_pdwStubPhase);
  5972. #endif /* __IWMStreamConfig_INTERFACE_DEFINED__ */
  5973. #ifndef __IWMStreamConfig2_INTERFACE_DEFINED__
  5974. #define __IWMStreamConfig2_INTERFACE_DEFINED__
  5975. /* interface IWMStreamConfig2 */
  5976. /* [local][unique][helpstring][uuid][object] */
  5977. EXTERN_C const IID IID_IWMStreamConfig2;
  5978. #if defined(__cplusplus) && !defined(CINTERFACE)
  5979. MIDL_INTERFACE("7688D8CB-FC0D-43BD-9459-5A8DEC200CFA")
  5980. IWMStreamConfig2 : public IWMStreamConfig
  5981. {
  5982. public:
  5983. virtual HRESULT STDMETHODCALLTYPE GetTransportType(
  5984. /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType) = 0;
  5985. virtual HRESULT STDMETHODCALLTYPE SetTransportType(
  5986. /* [in] */ WMT_TRANSPORT_TYPE nTransportType) = 0;
  5987. virtual HRESULT STDMETHODCALLTYPE AddDataUnitExtension(
  5988. /* [in] */ GUID guidExtensionSystemID,
  5989. /* [in] */ WORD cbExtensionDataSize,
  5990. /* [size_is][in] */ BYTE *pbExtensionSystemInfo,
  5991. /* [in] */ DWORD cbExtensionSystemInfo) = 0;
  5992. virtual HRESULT STDMETHODCALLTYPE GetDataUnitExtensionCount(
  5993. /* [out] */ WORD *pcDataUnitExtensions) = 0;
  5994. virtual HRESULT STDMETHODCALLTYPE GetDataUnitExtension(
  5995. /* [in] */ WORD wDataUnitExtensionNumber,
  5996. /* [out] */ GUID *pguidExtensionSystemID,
  5997. /* [out] */ WORD *pcbExtensionDataSize,
  5998. /* [size_is][out] */ BYTE *pbExtensionSystemInfo,
  5999. /* [out][in] */ DWORD *pcbExtensionSystemInfo) = 0;
  6000. virtual HRESULT STDMETHODCALLTYPE RemoveAllDataUnitExtensions( void) = 0;
  6001. };
  6002. #else /* C style interface */
  6003. typedef struct IWMStreamConfig2Vtbl
  6004. {
  6005. BEGIN_INTERFACE
  6006. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6007. IWMStreamConfig2 * This,
  6008. /* [in] */ REFIID riid,
  6009. /* [iid_is][out] */ void **ppvObject);
  6010. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6011. IWMStreamConfig2 * This);
  6012. ULONG ( STDMETHODCALLTYPE *Release )(
  6013. IWMStreamConfig2 * This);
  6014. HRESULT ( STDMETHODCALLTYPE *GetStreamType )(
  6015. IWMStreamConfig2 * This,
  6016. /* [out] */ GUID *pguidStreamType);
  6017. HRESULT ( STDMETHODCALLTYPE *GetStreamNumber )(
  6018. IWMStreamConfig2 * This,
  6019. /* [out] */ WORD *pwStreamNum);
  6020. HRESULT ( STDMETHODCALLTYPE *SetStreamNumber )(
  6021. IWMStreamConfig2 * This,
  6022. /* [in] */ WORD wStreamNum);
  6023. HRESULT ( STDMETHODCALLTYPE *GetStreamName )(
  6024. IWMStreamConfig2 * This,
  6025. /* [size_is][out] */ WCHAR *pwszStreamName,
  6026. /* [out][in] */ WORD *pcchStreamName);
  6027. HRESULT ( STDMETHODCALLTYPE *SetStreamName )(
  6028. IWMStreamConfig2 * This,
  6029. /* [in] */ WCHAR *pwszStreamName);
  6030. HRESULT ( STDMETHODCALLTYPE *GetConnectionName )(
  6031. IWMStreamConfig2 * This,
  6032. /* [size_is][out] */ WCHAR *pwszInputName,
  6033. /* [out][in] */ WORD *pcchInputName);
  6034. HRESULT ( STDMETHODCALLTYPE *SetConnectionName )(
  6035. IWMStreamConfig2 * This,
  6036. /* [in] */ WCHAR *pwszInputName);
  6037. HRESULT ( STDMETHODCALLTYPE *GetBitrate )(
  6038. IWMStreamConfig2 * This,
  6039. /* [out] */ DWORD *pdwBitrate);
  6040. HRESULT ( STDMETHODCALLTYPE *SetBitrate )(
  6041. IWMStreamConfig2 * This,
  6042. /* [in] */ DWORD pdwBitrate);
  6043. HRESULT ( STDMETHODCALLTYPE *GetBufferWindow )(
  6044. IWMStreamConfig2 * This,
  6045. /* [out] */ DWORD *pmsBufferWindow);
  6046. HRESULT ( STDMETHODCALLTYPE *SetBufferWindow )(
  6047. IWMStreamConfig2 * This,
  6048. /* [in] */ DWORD msBufferWindow);
  6049. HRESULT ( STDMETHODCALLTYPE *GetTransportType )(
  6050. IWMStreamConfig2 * This,
  6051. /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType);
  6052. HRESULT ( STDMETHODCALLTYPE *SetTransportType )(
  6053. IWMStreamConfig2 * This,
  6054. /* [in] */ WMT_TRANSPORT_TYPE nTransportType);
  6055. HRESULT ( STDMETHODCALLTYPE *AddDataUnitExtension )(
  6056. IWMStreamConfig2 * This,
  6057. /* [in] */ GUID guidExtensionSystemID,
  6058. /* [in] */ WORD cbExtensionDataSize,
  6059. /* [size_is][in] */ BYTE *pbExtensionSystemInfo,
  6060. /* [in] */ DWORD cbExtensionSystemInfo);
  6061. HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtensionCount )(
  6062. IWMStreamConfig2 * This,
  6063. /* [out] */ WORD *pcDataUnitExtensions);
  6064. HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtension )(
  6065. IWMStreamConfig2 * This,
  6066. /* [in] */ WORD wDataUnitExtensionNumber,
  6067. /* [out] */ GUID *pguidExtensionSystemID,
  6068. /* [out] */ WORD *pcbExtensionDataSize,
  6069. /* [size_is][out] */ BYTE *pbExtensionSystemInfo,
  6070. /* [out][in] */ DWORD *pcbExtensionSystemInfo);
  6071. HRESULT ( STDMETHODCALLTYPE *RemoveAllDataUnitExtensions )(
  6072. IWMStreamConfig2 * This);
  6073. END_INTERFACE
  6074. } IWMStreamConfig2Vtbl;
  6075. interface IWMStreamConfig2
  6076. {
  6077. CONST_VTBL struct IWMStreamConfig2Vtbl *lpVtbl;
  6078. };
  6079. #ifdef COBJMACROS
  6080. #define IWMStreamConfig2_QueryInterface(This,riid,ppvObject) \
  6081. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6082. #define IWMStreamConfig2_AddRef(This) \
  6083. (This)->lpVtbl -> AddRef(This)
  6084. #define IWMStreamConfig2_Release(This) \
  6085. (This)->lpVtbl -> Release(This)
  6086. #define IWMStreamConfig2_GetStreamType(This,pguidStreamType) \
  6087. (This)->lpVtbl -> GetStreamType(This,pguidStreamType)
  6088. #define IWMStreamConfig2_GetStreamNumber(This,pwStreamNum) \
  6089. (This)->lpVtbl -> GetStreamNumber(This,pwStreamNum)
  6090. #define IWMStreamConfig2_SetStreamNumber(This,wStreamNum) \
  6091. (This)->lpVtbl -> SetStreamNumber(This,wStreamNum)
  6092. #define IWMStreamConfig2_GetStreamName(This,pwszStreamName,pcchStreamName) \
  6093. (This)->lpVtbl -> GetStreamName(This,pwszStreamName,pcchStreamName)
  6094. #define IWMStreamConfig2_SetStreamName(This,pwszStreamName) \
  6095. (This)->lpVtbl -> SetStreamName(This,pwszStreamName)
  6096. #define IWMStreamConfig2_GetConnectionName(This,pwszInputName,pcchInputName) \
  6097. (This)->lpVtbl -> GetConnectionName(This,pwszInputName,pcchInputName)
  6098. #define IWMStreamConfig2_SetConnectionName(This,pwszInputName) \
  6099. (This)->lpVtbl -> SetConnectionName(This,pwszInputName)
  6100. #define IWMStreamConfig2_GetBitrate(This,pdwBitrate) \
  6101. (This)->lpVtbl -> GetBitrate(This,pdwBitrate)
  6102. #define IWMStreamConfig2_SetBitrate(This,pdwBitrate) \
  6103. (This)->lpVtbl -> SetBitrate(This,pdwBitrate)
  6104. #define IWMStreamConfig2_GetBufferWindow(This,pmsBufferWindow) \
  6105. (This)->lpVtbl -> GetBufferWindow(This,pmsBufferWindow)
  6106. #define IWMStreamConfig2_SetBufferWindow(This,msBufferWindow) \
  6107. (This)->lpVtbl -> SetBufferWindow(This,msBufferWindow)
  6108. #define IWMStreamConfig2_GetTransportType(This,pnTransportType) \
  6109. (This)->lpVtbl -> GetTransportType(This,pnTransportType)
  6110. #define IWMStreamConfig2_SetTransportType(This,nTransportType) \
  6111. (This)->lpVtbl -> SetTransportType(This,nTransportType)
  6112. #define IWMStreamConfig2_AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo) \
  6113. (This)->lpVtbl -> AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo)
  6114. #define IWMStreamConfig2_GetDataUnitExtensionCount(This,pcDataUnitExtensions) \
  6115. (This)->lpVtbl -> GetDataUnitExtensionCount(This,pcDataUnitExtensions)
  6116. #define IWMStreamConfig2_GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo) \
  6117. (This)->lpVtbl -> GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo)
  6118. #define IWMStreamConfig2_RemoveAllDataUnitExtensions(This) \
  6119. (This)->lpVtbl -> RemoveAllDataUnitExtensions(This)
  6120. #endif /* COBJMACROS */
  6121. #endif /* C style interface */
  6122. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_GetTransportType_Proxy(
  6123. IWMStreamConfig2 * This,
  6124. /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType);
  6125. void __RPC_STUB IWMStreamConfig2_GetTransportType_Stub(
  6126. IRpcStubBuffer *This,
  6127. IRpcChannelBuffer *_pRpcChannelBuffer,
  6128. PRPC_MESSAGE _pRpcMessage,
  6129. DWORD *_pdwStubPhase);
  6130. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_SetTransportType_Proxy(
  6131. IWMStreamConfig2 * This,
  6132. /* [in] */ WMT_TRANSPORT_TYPE nTransportType);
  6133. void __RPC_STUB IWMStreamConfig2_SetTransportType_Stub(
  6134. IRpcStubBuffer *This,
  6135. IRpcChannelBuffer *_pRpcChannelBuffer,
  6136. PRPC_MESSAGE _pRpcMessage,
  6137. DWORD *_pdwStubPhase);
  6138. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_AddDataUnitExtension_Proxy(
  6139. IWMStreamConfig2 * This,
  6140. /* [in] */ GUID guidExtensionSystemID,
  6141. /* [in] */ WORD cbExtensionDataSize,
  6142. /* [size_is][in] */ BYTE *pbExtensionSystemInfo,
  6143. /* [in] */ DWORD cbExtensionSystemInfo);
  6144. void __RPC_STUB IWMStreamConfig2_AddDataUnitExtension_Stub(
  6145. IRpcStubBuffer *This,
  6146. IRpcChannelBuffer *_pRpcChannelBuffer,
  6147. PRPC_MESSAGE _pRpcMessage,
  6148. DWORD *_pdwStubPhase);
  6149. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_GetDataUnitExtensionCount_Proxy(
  6150. IWMStreamConfig2 * This,
  6151. /* [out] */ WORD *pcDataUnitExtensions);
  6152. void __RPC_STUB IWMStreamConfig2_GetDataUnitExtensionCount_Stub(
  6153. IRpcStubBuffer *This,
  6154. IRpcChannelBuffer *_pRpcChannelBuffer,
  6155. PRPC_MESSAGE _pRpcMessage,
  6156. DWORD *_pdwStubPhase);
  6157. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_GetDataUnitExtension_Proxy(
  6158. IWMStreamConfig2 * This,
  6159. /* [in] */ WORD wDataUnitExtensionNumber,
  6160. /* [out] */ GUID *pguidExtensionSystemID,
  6161. /* [out] */ WORD *pcbExtensionDataSize,
  6162. /* [size_is][out] */ BYTE *pbExtensionSystemInfo,
  6163. /* [out][in] */ DWORD *pcbExtensionSystemInfo);
  6164. void __RPC_STUB IWMStreamConfig2_GetDataUnitExtension_Stub(
  6165. IRpcStubBuffer *This,
  6166. IRpcChannelBuffer *_pRpcChannelBuffer,
  6167. PRPC_MESSAGE _pRpcMessage,
  6168. DWORD *_pdwStubPhase);
  6169. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_RemoveAllDataUnitExtensions_Proxy(
  6170. IWMStreamConfig2 * This);
  6171. void __RPC_STUB IWMStreamConfig2_RemoveAllDataUnitExtensions_Stub(
  6172. IRpcStubBuffer *This,
  6173. IRpcChannelBuffer *_pRpcChannelBuffer,
  6174. PRPC_MESSAGE _pRpcMessage,
  6175. DWORD *_pdwStubPhase);
  6176. #endif /* __IWMStreamConfig2_INTERFACE_DEFINED__ */
  6177. #ifndef __IWMStreamConfig3_INTERFACE_DEFINED__
  6178. #define __IWMStreamConfig3_INTERFACE_DEFINED__
  6179. /* interface IWMStreamConfig3 */
  6180. /* [local][unique][helpstring][uuid][object] */
  6181. EXTERN_C const IID IID_IWMStreamConfig3;
  6182. #if defined(__cplusplus) && !defined(CINTERFACE)
  6183. MIDL_INTERFACE("CB164104-3AA9-45a7-9AC9-4DAEE131D6E1")
  6184. IWMStreamConfig3 : public IWMStreamConfig2
  6185. {
  6186. public:
  6187. virtual HRESULT STDMETHODCALLTYPE GetLanguage(
  6188. /* [size_is][out] */ WCHAR *pwszLanguageString,
  6189. /* [out][in] */ WORD *pcchLanguageStringLength) = 0;
  6190. virtual HRESULT STDMETHODCALLTYPE SetLanguage(
  6191. /* [in] */ LPWSTR pwszLanguageString) = 0;
  6192. };
  6193. #else /* C style interface */
  6194. typedef struct IWMStreamConfig3Vtbl
  6195. {
  6196. BEGIN_INTERFACE
  6197. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6198. IWMStreamConfig3 * This,
  6199. /* [in] */ REFIID riid,
  6200. /* [iid_is][out] */ void **ppvObject);
  6201. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6202. IWMStreamConfig3 * This);
  6203. ULONG ( STDMETHODCALLTYPE *Release )(
  6204. IWMStreamConfig3 * This);
  6205. HRESULT ( STDMETHODCALLTYPE *GetStreamType )(
  6206. IWMStreamConfig3 * This,
  6207. /* [out] */ GUID *pguidStreamType);
  6208. HRESULT ( STDMETHODCALLTYPE *GetStreamNumber )(
  6209. IWMStreamConfig3 * This,
  6210. /* [out] */ WORD *pwStreamNum);
  6211. HRESULT ( STDMETHODCALLTYPE *SetStreamNumber )(
  6212. IWMStreamConfig3 * This,
  6213. /* [in] */ WORD wStreamNum);
  6214. HRESULT ( STDMETHODCALLTYPE *GetStreamName )(
  6215. IWMStreamConfig3 * This,
  6216. /* [size_is][out] */ WCHAR *pwszStreamName,
  6217. /* [out][in] */ WORD *pcchStreamName);
  6218. HRESULT ( STDMETHODCALLTYPE *SetStreamName )(
  6219. IWMStreamConfig3 * This,
  6220. /* [in] */ WCHAR *pwszStreamName);
  6221. HRESULT ( STDMETHODCALLTYPE *GetConnectionName )(
  6222. IWMStreamConfig3 * This,
  6223. /* [size_is][out] */ WCHAR *pwszInputName,
  6224. /* [out][in] */ WORD *pcchInputName);
  6225. HRESULT ( STDMETHODCALLTYPE *SetConnectionName )(
  6226. IWMStreamConfig3 * This,
  6227. /* [in] */ WCHAR *pwszInputName);
  6228. HRESULT ( STDMETHODCALLTYPE *GetBitrate )(
  6229. IWMStreamConfig3 * This,
  6230. /* [out] */ DWORD *pdwBitrate);
  6231. HRESULT ( STDMETHODCALLTYPE *SetBitrate )(
  6232. IWMStreamConfig3 * This,
  6233. /* [in] */ DWORD pdwBitrate);
  6234. HRESULT ( STDMETHODCALLTYPE *GetBufferWindow )(
  6235. IWMStreamConfig3 * This,
  6236. /* [out] */ DWORD *pmsBufferWindow);
  6237. HRESULT ( STDMETHODCALLTYPE *SetBufferWindow )(
  6238. IWMStreamConfig3 * This,
  6239. /* [in] */ DWORD msBufferWindow);
  6240. HRESULT ( STDMETHODCALLTYPE *GetTransportType )(
  6241. IWMStreamConfig3 * This,
  6242. /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType);
  6243. HRESULT ( STDMETHODCALLTYPE *SetTransportType )(
  6244. IWMStreamConfig3 * This,
  6245. /* [in] */ WMT_TRANSPORT_TYPE nTransportType);
  6246. HRESULT ( STDMETHODCALLTYPE *AddDataUnitExtension )(
  6247. IWMStreamConfig3 * This,
  6248. /* [in] */ GUID guidExtensionSystemID,
  6249. /* [in] */ WORD cbExtensionDataSize,
  6250. /* [size_is][in] */ BYTE *pbExtensionSystemInfo,
  6251. /* [in] */ DWORD cbExtensionSystemInfo);
  6252. HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtensionCount )(
  6253. IWMStreamConfig3 * This,
  6254. /* [out] */ WORD *pcDataUnitExtensions);
  6255. HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtension )(
  6256. IWMStreamConfig3 * This,
  6257. /* [in] */ WORD wDataUnitExtensionNumber,
  6258. /* [out] */ GUID *pguidExtensionSystemID,
  6259. /* [out] */ WORD *pcbExtensionDataSize,
  6260. /* [size_is][out] */ BYTE *pbExtensionSystemInfo,
  6261. /* [out][in] */ DWORD *pcbExtensionSystemInfo);
  6262. HRESULT ( STDMETHODCALLTYPE *RemoveAllDataUnitExtensions )(
  6263. IWMStreamConfig3 * This);
  6264. HRESULT ( STDMETHODCALLTYPE *GetLanguage )(
  6265. IWMStreamConfig3 * This,
  6266. /* [size_is][out] */ WCHAR *pwszLanguageString,
  6267. /* [out][in] */ WORD *pcchLanguageStringLength);
  6268. HRESULT ( STDMETHODCALLTYPE *SetLanguage )(
  6269. IWMStreamConfig3 * This,
  6270. /* [in] */ LPWSTR pwszLanguageString);
  6271. END_INTERFACE
  6272. } IWMStreamConfig3Vtbl;
  6273. interface IWMStreamConfig3
  6274. {
  6275. CONST_VTBL struct IWMStreamConfig3Vtbl *lpVtbl;
  6276. };
  6277. #ifdef COBJMACROS
  6278. #define IWMStreamConfig3_QueryInterface(This,riid,ppvObject) \
  6279. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6280. #define IWMStreamConfig3_AddRef(This) \
  6281. (This)->lpVtbl -> AddRef(This)
  6282. #define IWMStreamConfig3_Release(This) \
  6283. (This)->lpVtbl -> Release(This)
  6284. #define IWMStreamConfig3_GetStreamType(This,pguidStreamType) \
  6285. (This)->lpVtbl -> GetStreamType(This,pguidStreamType)
  6286. #define IWMStreamConfig3_GetStreamNumber(This,pwStreamNum) \
  6287. (This)->lpVtbl -> GetStreamNumber(This,pwStreamNum)
  6288. #define IWMStreamConfig3_SetStreamNumber(This,wStreamNum) \
  6289. (This)->lpVtbl -> SetStreamNumber(This,wStreamNum)
  6290. #define IWMStreamConfig3_GetStreamName(This,pwszStreamName,pcchStreamName) \
  6291. (This)->lpVtbl -> GetStreamName(This,pwszStreamName,pcchStreamName)
  6292. #define IWMStreamConfig3_SetStreamName(This,pwszStreamName) \
  6293. (This)->lpVtbl -> SetStreamName(This,pwszStreamName)
  6294. #define IWMStreamConfig3_GetConnectionName(This,pwszInputName,pcchInputName) \
  6295. (This)->lpVtbl -> GetConnectionName(This,pwszInputName,pcchInputName)
  6296. #define IWMStreamConfig3_SetConnectionName(This,pwszInputName) \
  6297. (This)->lpVtbl -> SetConnectionName(This,pwszInputName)
  6298. #define IWMStreamConfig3_GetBitrate(This,pdwBitrate) \
  6299. (This)->lpVtbl -> GetBitrate(This,pdwBitrate)
  6300. #define IWMStreamConfig3_SetBitrate(This,pdwBitrate) \
  6301. (This)->lpVtbl -> SetBitrate(This,pdwBitrate)
  6302. #define IWMStreamConfig3_GetBufferWindow(This,pmsBufferWindow) \
  6303. (This)->lpVtbl -> GetBufferWindow(This,pmsBufferWindow)
  6304. #define IWMStreamConfig3_SetBufferWindow(This,msBufferWindow) \
  6305. (This)->lpVtbl -> SetBufferWindow(This,msBufferWindow)
  6306. #define IWMStreamConfig3_GetTransportType(This,pnTransportType) \
  6307. (This)->lpVtbl -> GetTransportType(This,pnTransportType)
  6308. #define IWMStreamConfig3_SetTransportType(This,nTransportType) \
  6309. (This)->lpVtbl -> SetTransportType(This,nTransportType)
  6310. #define IWMStreamConfig3_AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo) \
  6311. (This)->lpVtbl -> AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo)
  6312. #define IWMStreamConfig3_GetDataUnitExtensionCount(This,pcDataUnitExtensions) \
  6313. (This)->lpVtbl -> GetDataUnitExtensionCount(This,pcDataUnitExtensions)
  6314. #define IWMStreamConfig3_GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo) \
  6315. (This)->lpVtbl -> GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo)
  6316. #define IWMStreamConfig3_RemoveAllDataUnitExtensions(This) \
  6317. (This)->lpVtbl -> RemoveAllDataUnitExtensions(This)
  6318. #define IWMStreamConfig3_GetLanguage(This,pwszLanguageString,pcchLanguageStringLength) \
  6319. (This)->lpVtbl -> GetLanguage(This,pwszLanguageString,pcchLanguageStringLength)
  6320. #define IWMStreamConfig3_SetLanguage(This,pwszLanguageString) \
  6321. (This)->lpVtbl -> SetLanguage(This,pwszLanguageString)
  6322. #endif /* COBJMACROS */
  6323. #endif /* C style interface */
  6324. HRESULT STDMETHODCALLTYPE IWMStreamConfig3_GetLanguage_Proxy(
  6325. IWMStreamConfig3 * This,
  6326. /* [size_is][out] */ WCHAR *pwszLanguageString,
  6327. /* [out][in] */ WORD *pcchLanguageStringLength);
  6328. void __RPC_STUB IWMStreamConfig3_GetLanguage_Stub(
  6329. IRpcStubBuffer *This,
  6330. IRpcChannelBuffer *_pRpcChannelBuffer,
  6331. PRPC_MESSAGE _pRpcMessage,
  6332. DWORD *_pdwStubPhase);
  6333. HRESULT STDMETHODCALLTYPE IWMStreamConfig3_SetLanguage_Proxy(
  6334. IWMStreamConfig3 * This,
  6335. /* [in] */ LPWSTR pwszLanguageString);
  6336. void __RPC_STUB IWMStreamConfig3_SetLanguage_Stub(
  6337. IRpcStubBuffer *This,
  6338. IRpcChannelBuffer *_pRpcChannelBuffer,
  6339. PRPC_MESSAGE _pRpcMessage,
  6340. DWORD *_pdwStubPhase);
  6341. #endif /* __IWMStreamConfig3_INTERFACE_DEFINED__ */
  6342. #ifndef __IWMPacketSize_INTERFACE_DEFINED__
  6343. #define __IWMPacketSize_INTERFACE_DEFINED__
  6344. /* interface IWMPacketSize */
  6345. /* [local][unique][helpstring][uuid][object] */
  6346. EXTERN_C const IID IID_IWMPacketSize;
  6347. #if defined(__cplusplus) && !defined(CINTERFACE)
  6348. MIDL_INTERFACE("CDFB97AB-188F-40b3-B643-5B7903975C59")
  6349. IWMPacketSize : public IUnknown
  6350. {
  6351. public:
  6352. virtual HRESULT STDMETHODCALLTYPE GetMaxPacketSize(
  6353. /* [out] */ DWORD *pdwMaxPacketSize) = 0;
  6354. virtual HRESULT STDMETHODCALLTYPE SetMaxPacketSize(
  6355. /* [in] */ DWORD dwMaxPacketSize) = 0;
  6356. };
  6357. #else /* C style interface */
  6358. typedef struct IWMPacketSizeVtbl
  6359. {
  6360. BEGIN_INTERFACE
  6361. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6362. IWMPacketSize * This,
  6363. /* [in] */ REFIID riid,
  6364. /* [iid_is][out] */ void **ppvObject);
  6365. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6366. IWMPacketSize * This);
  6367. ULONG ( STDMETHODCALLTYPE *Release )(
  6368. IWMPacketSize * This);
  6369. HRESULT ( STDMETHODCALLTYPE *GetMaxPacketSize )(
  6370. IWMPacketSize * This,
  6371. /* [out] */ DWORD *pdwMaxPacketSize);
  6372. HRESULT ( STDMETHODCALLTYPE *SetMaxPacketSize )(
  6373. IWMPacketSize * This,
  6374. /* [in] */ DWORD dwMaxPacketSize);
  6375. END_INTERFACE
  6376. } IWMPacketSizeVtbl;
  6377. interface IWMPacketSize
  6378. {
  6379. CONST_VTBL struct IWMPacketSizeVtbl *lpVtbl;
  6380. };
  6381. #ifdef COBJMACROS
  6382. #define IWMPacketSize_QueryInterface(This,riid,ppvObject) \
  6383. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6384. #define IWMPacketSize_AddRef(This) \
  6385. (This)->lpVtbl -> AddRef(This)
  6386. #define IWMPacketSize_Release(This) \
  6387. (This)->lpVtbl -> Release(This)
  6388. #define IWMPacketSize_GetMaxPacketSize(This,pdwMaxPacketSize) \
  6389. (This)->lpVtbl -> GetMaxPacketSize(This,pdwMaxPacketSize)
  6390. #define IWMPacketSize_SetMaxPacketSize(This,dwMaxPacketSize) \
  6391. (This)->lpVtbl -> SetMaxPacketSize(This,dwMaxPacketSize)
  6392. #endif /* COBJMACROS */
  6393. #endif /* C style interface */
  6394. HRESULT STDMETHODCALLTYPE IWMPacketSize_GetMaxPacketSize_Proxy(
  6395. IWMPacketSize * This,
  6396. /* [out] */ DWORD *pdwMaxPacketSize);
  6397. void __RPC_STUB IWMPacketSize_GetMaxPacketSize_Stub(
  6398. IRpcStubBuffer *This,
  6399. IRpcChannelBuffer *_pRpcChannelBuffer,
  6400. PRPC_MESSAGE _pRpcMessage,
  6401. DWORD *_pdwStubPhase);
  6402. HRESULT STDMETHODCALLTYPE IWMPacketSize_SetMaxPacketSize_Proxy(
  6403. IWMPacketSize * This,
  6404. /* [in] */ DWORD dwMaxPacketSize);
  6405. void __RPC_STUB IWMPacketSize_SetMaxPacketSize_Stub(
  6406. IRpcStubBuffer *This,
  6407. IRpcChannelBuffer *_pRpcChannelBuffer,
  6408. PRPC_MESSAGE _pRpcMessage,
  6409. DWORD *_pdwStubPhase);
  6410. #endif /* __IWMPacketSize_INTERFACE_DEFINED__ */
  6411. #ifndef __IWMPacketSize2_INTERFACE_DEFINED__
  6412. #define __IWMPacketSize2_INTERFACE_DEFINED__
  6413. /* interface IWMPacketSize2 */
  6414. /* [local][unique][helpstring][uuid][object] */
  6415. EXTERN_C const IID IID_IWMPacketSize2;
  6416. #if defined(__cplusplus) && !defined(CINTERFACE)
  6417. MIDL_INTERFACE("8BFC2B9E-B646-4233-A877-1C6A079669DC")
  6418. IWMPacketSize2 : public IWMPacketSize
  6419. {
  6420. public:
  6421. virtual HRESULT STDMETHODCALLTYPE GetMinPacketSize(
  6422. /* [out] */ DWORD *pdwMinPacketSize) = 0;
  6423. virtual HRESULT STDMETHODCALLTYPE SetMinPacketSize(
  6424. /* [in] */ DWORD dwMinPacketSize) = 0;
  6425. };
  6426. #else /* C style interface */
  6427. typedef struct IWMPacketSize2Vtbl
  6428. {
  6429. BEGIN_INTERFACE
  6430. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6431. IWMPacketSize2 * This,
  6432. /* [in] */ REFIID riid,
  6433. /* [iid_is][out] */ void **ppvObject);
  6434. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6435. IWMPacketSize2 * This);
  6436. ULONG ( STDMETHODCALLTYPE *Release )(
  6437. IWMPacketSize2 * This);
  6438. HRESULT ( STDMETHODCALLTYPE *GetMaxPacketSize )(
  6439. IWMPacketSize2 * This,
  6440. /* [out] */ DWORD *pdwMaxPacketSize);
  6441. HRESULT ( STDMETHODCALLTYPE *SetMaxPacketSize )(
  6442. IWMPacketSize2 * This,
  6443. /* [in] */ DWORD dwMaxPacketSize);
  6444. HRESULT ( STDMETHODCALLTYPE *GetMinPacketSize )(
  6445. IWMPacketSize2 * This,
  6446. /* [out] */ DWORD *pdwMinPacketSize);
  6447. HRESULT ( STDMETHODCALLTYPE *SetMinPacketSize )(
  6448. IWMPacketSize2 * This,
  6449. /* [in] */ DWORD dwMinPacketSize);
  6450. END_INTERFACE
  6451. } IWMPacketSize2Vtbl;
  6452. interface IWMPacketSize2
  6453. {
  6454. CONST_VTBL struct IWMPacketSize2Vtbl *lpVtbl;
  6455. };
  6456. #ifdef COBJMACROS
  6457. #define IWMPacketSize2_QueryInterface(This,riid,ppvObject) \
  6458. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6459. #define IWMPacketSize2_AddRef(This) \
  6460. (This)->lpVtbl -> AddRef(This)
  6461. #define IWMPacketSize2_Release(This) \
  6462. (This)->lpVtbl -> Release(This)
  6463. #define IWMPacketSize2_GetMaxPacketSize(This,pdwMaxPacketSize) \
  6464. (This)->lpVtbl -> GetMaxPacketSize(This,pdwMaxPacketSize)
  6465. #define IWMPacketSize2_SetMaxPacketSize(This,dwMaxPacketSize) \
  6466. (This)->lpVtbl -> SetMaxPacketSize(This,dwMaxPacketSize)
  6467. #define IWMPacketSize2_GetMinPacketSize(This,pdwMinPacketSize) \
  6468. (This)->lpVtbl -> GetMinPacketSize(This,pdwMinPacketSize)
  6469. #define IWMPacketSize2_SetMinPacketSize(This,dwMinPacketSize) \
  6470. (This)->lpVtbl -> SetMinPacketSize(This,dwMinPacketSize)
  6471. #endif /* COBJMACROS */
  6472. #endif /* C style interface */
  6473. HRESULT STDMETHODCALLTYPE IWMPacketSize2_GetMinPacketSize_Proxy(
  6474. IWMPacketSize2 * This,
  6475. /* [out] */ DWORD *pdwMinPacketSize);
  6476. void __RPC_STUB IWMPacketSize2_GetMinPacketSize_Stub(
  6477. IRpcStubBuffer *This,
  6478. IRpcChannelBuffer *_pRpcChannelBuffer,
  6479. PRPC_MESSAGE _pRpcMessage,
  6480. DWORD *_pdwStubPhase);
  6481. HRESULT STDMETHODCALLTYPE IWMPacketSize2_SetMinPacketSize_Proxy(
  6482. IWMPacketSize2 * This,
  6483. /* [in] */ DWORD dwMinPacketSize);
  6484. void __RPC_STUB IWMPacketSize2_SetMinPacketSize_Stub(
  6485. IRpcStubBuffer *This,
  6486. IRpcChannelBuffer *_pRpcChannelBuffer,
  6487. PRPC_MESSAGE _pRpcMessage,
  6488. DWORD *_pdwStubPhase);
  6489. #endif /* __IWMPacketSize2_INTERFACE_DEFINED__ */
  6490. #ifndef __IWMStreamList_INTERFACE_DEFINED__
  6491. #define __IWMStreamList_INTERFACE_DEFINED__
  6492. /* interface IWMStreamList */
  6493. /* [local][unique][helpstring][uuid][object] */
  6494. EXTERN_C const IID IID_IWMStreamList;
  6495. #if defined(__cplusplus) && !defined(CINTERFACE)
  6496. MIDL_INTERFACE("96406BDD-2B2B-11d3-B36B-00C04F6108FF")
  6497. IWMStreamList : public IUnknown
  6498. {
  6499. public:
  6500. virtual HRESULT STDMETHODCALLTYPE GetStreams(
  6501. /* [size_is][out] */ WORD *pwStreamNumArray,
  6502. /* [out][in] */ WORD *pcStreams) = 0;
  6503. virtual HRESULT STDMETHODCALLTYPE AddStream(
  6504. /* [in] */ WORD wStreamNum) = 0;
  6505. virtual HRESULT STDMETHODCALLTYPE RemoveStream(
  6506. /* [in] */ WORD wStreamNum) = 0;
  6507. };
  6508. #else /* C style interface */
  6509. typedef struct IWMStreamListVtbl
  6510. {
  6511. BEGIN_INTERFACE
  6512. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6513. IWMStreamList * This,
  6514. /* [in] */ REFIID riid,
  6515. /* [iid_is][out] */ void **ppvObject);
  6516. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6517. IWMStreamList * This);
  6518. ULONG ( STDMETHODCALLTYPE *Release )(
  6519. IWMStreamList * This);
  6520. HRESULT ( STDMETHODCALLTYPE *GetStreams )(
  6521. IWMStreamList * This,
  6522. /* [size_is][out] */ WORD *pwStreamNumArray,
  6523. /* [out][in] */ WORD *pcStreams);
  6524. HRESULT ( STDMETHODCALLTYPE *AddStream )(
  6525. IWMStreamList * This,
  6526. /* [in] */ WORD wStreamNum);
  6527. HRESULT ( STDMETHODCALLTYPE *RemoveStream )(
  6528. IWMStreamList * This,
  6529. /* [in] */ WORD wStreamNum);
  6530. END_INTERFACE
  6531. } IWMStreamListVtbl;
  6532. interface IWMStreamList
  6533. {
  6534. CONST_VTBL struct IWMStreamListVtbl *lpVtbl;
  6535. };
  6536. #ifdef COBJMACROS
  6537. #define IWMStreamList_QueryInterface(This,riid,ppvObject) \
  6538. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6539. #define IWMStreamList_AddRef(This) \
  6540. (This)->lpVtbl -> AddRef(This)
  6541. #define IWMStreamList_Release(This) \
  6542. (This)->lpVtbl -> Release(This)
  6543. #define IWMStreamList_GetStreams(This,pwStreamNumArray,pcStreams) \
  6544. (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  6545. #define IWMStreamList_AddStream(This,wStreamNum) \
  6546. (This)->lpVtbl -> AddStream(This,wStreamNum)
  6547. #define IWMStreamList_RemoveStream(This,wStreamNum) \
  6548. (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  6549. #endif /* COBJMACROS */
  6550. #endif /* C style interface */
  6551. HRESULT STDMETHODCALLTYPE IWMStreamList_GetStreams_Proxy(
  6552. IWMStreamList * This,
  6553. /* [size_is][out] */ WORD *pwStreamNumArray,
  6554. /* [out][in] */ WORD *pcStreams);
  6555. void __RPC_STUB IWMStreamList_GetStreams_Stub(
  6556. IRpcStubBuffer *This,
  6557. IRpcChannelBuffer *_pRpcChannelBuffer,
  6558. PRPC_MESSAGE _pRpcMessage,
  6559. DWORD *_pdwStubPhase);
  6560. HRESULT STDMETHODCALLTYPE IWMStreamList_AddStream_Proxy(
  6561. IWMStreamList * This,
  6562. /* [in] */ WORD wStreamNum);
  6563. void __RPC_STUB IWMStreamList_AddStream_Stub(
  6564. IRpcStubBuffer *This,
  6565. IRpcChannelBuffer *_pRpcChannelBuffer,
  6566. PRPC_MESSAGE _pRpcMessage,
  6567. DWORD *_pdwStubPhase);
  6568. HRESULT STDMETHODCALLTYPE IWMStreamList_RemoveStream_Proxy(
  6569. IWMStreamList * This,
  6570. /* [in] */ WORD wStreamNum);
  6571. void __RPC_STUB IWMStreamList_RemoveStream_Stub(
  6572. IRpcStubBuffer *This,
  6573. IRpcChannelBuffer *_pRpcChannelBuffer,
  6574. PRPC_MESSAGE _pRpcMessage,
  6575. DWORD *_pdwStubPhase);
  6576. #endif /* __IWMStreamList_INTERFACE_DEFINED__ */
  6577. #ifndef __IWMMutualExclusion_INTERFACE_DEFINED__
  6578. #define __IWMMutualExclusion_INTERFACE_DEFINED__
  6579. /* interface IWMMutualExclusion */
  6580. /* [local][unique][helpstring][uuid][object] */
  6581. EXTERN_C const IID IID_IWMMutualExclusion;
  6582. #if defined(__cplusplus) && !defined(CINTERFACE)
  6583. MIDL_INTERFACE("96406BDE-2B2B-11d3-B36B-00C04F6108FF")
  6584. IWMMutualExclusion : public IWMStreamList
  6585. {
  6586. public:
  6587. virtual HRESULT STDMETHODCALLTYPE GetType(
  6588. /* [out] */ GUID *pguidType) = 0;
  6589. virtual HRESULT STDMETHODCALLTYPE SetType(
  6590. /* [in] */ REFGUID guidType) = 0;
  6591. };
  6592. #else /* C style interface */
  6593. typedef struct IWMMutualExclusionVtbl
  6594. {
  6595. BEGIN_INTERFACE
  6596. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6597. IWMMutualExclusion * This,
  6598. /* [in] */ REFIID riid,
  6599. /* [iid_is][out] */ void **ppvObject);
  6600. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6601. IWMMutualExclusion * This);
  6602. ULONG ( STDMETHODCALLTYPE *Release )(
  6603. IWMMutualExclusion * This);
  6604. HRESULT ( STDMETHODCALLTYPE *GetStreams )(
  6605. IWMMutualExclusion * This,
  6606. /* [size_is][out] */ WORD *pwStreamNumArray,
  6607. /* [out][in] */ WORD *pcStreams);
  6608. HRESULT ( STDMETHODCALLTYPE *AddStream )(
  6609. IWMMutualExclusion * This,
  6610. /* [in] */ WORD wStreamNum);
  6611. HRESULT ( STDMETHODCALLTYPE *RemoveStream )(
  6612. IWMMutualExclusion * This,
  6613. /* [in] */ WORD wStreamNum);
  6614. HRESULT ( STDMETHODCALLTYPE *GetType )(
  6615. IWMMutualExclusion * This,
  6616. /* [out] */ GUID *pguidType);
  6617. HRESULT ( STDMETHODCALLTYPE *SetType )(
  6618. IWMMutualExclusion * This,
  6619. /* [in] */ REFGUID guidType);
  6620. END_INTERFACE
  6621. } IWMMutualExclusionVtbl;
  6622. interface IWMMutualExclusion
  6623. {
  6624. CONST_VTBL struct IWMMutualExclusionVtbl *lpVtbl;
  6625. };
  6626. #ifdef COBJMACROS
  6627. #define IWMMutualExclusion_QueryInterface(This,riid,ppvObject) \
  6628. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6629. #define IWMMutualExclusion_AddRef(This) \
  6630. (This)->lpVtbl -> AddRef(This)
  6631. #define IWMMutualExclusion_Release(This) \
  6632. (This)->lpVtbl -> Release(This)
  6633. #define IWMMutualExclusion_GetStreams(This,pwStreamNumArray,pcStreams) \
  6634. (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  6635. #define IWMMutualExclusion_AddStream(This,wStreamNum) \
  6636. (This)->lpVtbl -> AddStream(This,wStreamNum)
  6637. #define IWMMutualExclusion_RemoveStream(This,wStreamNum) \
  6638. (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  6639. #define IWMMutualExclusion_GetType(This,pguidType) \
  6640. (This)->lpVtbl -> GetType(This,pguidType)
  6641. #define IWMMutualExclusion_SetType(This,guidType) \
  6642. (This)->lpVtbl -> SetType(This,guidType)
  6643. #endif /* COBJMACROS */
  6644. #endif /* C style interface */
  6645. HRESULT STDMETHODCALLTYPE IWMMutualExclusion_GetType_Proxy(
  6646. IWMMutualExclusion * This,
  6647. /* [out] */ GUID *pguidType);
  6648. void __RPC_STUB IWMMutualExclusion_GetType_Stub(
  6649. IRpcStubBuffer *This,
  6650. IRpcChannelBuffer *_pRpcChannelBuffer,
  6651. PRPC_MESSAGE _pRpcMessage,
  6652. DWORD *_pdwStubPhase);
  6653. HRESULT STDMETHODCALLTYPE IWMMutualExclusion_SetType_Proxy(
  6654. IWMMutualExclusion * This,
  6655. /* [in] */ REFGUID guidType);
  6656. void __RPC_STUB IWMMutualExclusion_SetType_Stub(
  6657. IRpcStubBuffer *This,
  6658. IRpcChannelBuffer *_pRpcChannelBuffer,
  6659. PRPC_MESSAGE _pRpcMessage,
  6660. DWORD *_pdwStubPhase);
  6661. #endif /* __IWMMutualExclusion_INTERFACE_DEFINED__ */
  6662. #ifndef __IWMMutualExclusion2_INTERFACE_DEFINED__
  6663. #define __IWMMutualExclusion2_INTERFACE_DEFINED__
  6664. /* interface IWMMutualExclusion2 */
  6665. /* [local][unique][helpstring][uuid][object] */
  6666. EXTERN_C const IID IID_IWMMutualExclusion2;
  6667. #if defined(__cplusplus) && !defined(CINTERFACE)
  6668. MIDL_INTERFACE("0302B57D-89D1-4ba2-85C9-166F2C53EB91")
  6669. IWMMutualExclusion2 : public IWMMutualExclusion
  6670. {
  6671. public:
  6672. virtual HRESULT STDMETHODCALLTYPE GetName(
  6673. /* [size_is][out] */ WCHAR *pwszName,
  6674. /* [out][in] */ WORD *pcchName) = 0;
  6675. virtual HRESULT STDMETHODCALLTYPE SetName(
  6676. /* [in] */ WCHAR *pwszName) = 0;
  6677. virtual HRESULT STDMETHODCALLTYPE GetRecordCount(
  6678. /* [out] */ WORD *pwRecordCount) = 0;
  6679. virtual HRESULT STDMETHODCALLTYPE AddRecord( void) = 0;
  6680. virtual HRESULT STDMETHODCALLTYPE RemoveRecord(
  6681. /* [in] */ WORD wRecordNumber) = 0;
  6682. virtual HRESULT STDMETHODCALLTYPE GetRecordName(
  6683. /* [in] */ WORD wRecordNumber,
  6684. /* [size_is][out] */ WCHAR *pwszRecordName,
  6685. /* [out][in] */ WORD *pcchRecordName) = 0;
  6686. virtual HRESULT STDMETHODCALLTYPE SetRecordName(
  6687. /* [in] */ WORD wRecordNumber,
  6688. /* [in] */ WCHAR *pwszRecordName) = 0;
  6689. virtual HRESULT STDMETHODCALLTYPE GetStreamsForRecord(
  6690. /* [in] */ WORD wRecordNumber,
  6691. /* [size_is][out] */ WORD *pwStreamNumArray,
  6692. /* [out][in] */ WORD *pcStreams) = 0;
  6693. virtual HRESULT STDMETHODCALLTYPE AddStreamForRecord(
  6694. /* [in] */ WORD wRecordNumber,
  6695. /* [in] */ WORD wStreamNumber) = 0;
  6696. virtual HRESULT STDMETHODCALLTYPE RemoveStreamForRecord(
  6697. /* [in] */ WORD wRecordNumber,
  6698. /* [in] */ WORD wStreamNumber) = 0;
  6699. };
  6700. #else /* C style interface */
  6701. typedef struct IWMMutualExclusion2Vtbl
  6702. {
  6703. BEGIN_INTERFACE
  6704. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6705. IWMMutualExclusion2 * This,
  6706. /* [in] */ REFIID riid,
  6707. /* [iid_is][out] */ void **ppvObject);
  6708. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6709. IWMMutualExclusion2 * This);
  6710. ULONG ( STDMETHODCALLTYPE *Release )(
  6711. IWMMutualExclusion2 * This);
  6712. HRESULT ( STDMETHODCALLTYPE *GetStreams )(
  6713. IWMMutualExclusion2 * This,
  6714. /* [size_is][out] */ WORD *pwStreamNumArray,
  6715. /* [out][in] */ WORD *pcStreams);
  6716. HRESULT ( STDMETHODCALLTYPE *AddStream )(
  6717. IWMMutualExclusion2 * This,
  6718. /* [in] */ WORD wStreamNum);
  6719. HRESULT ( STDMETHODCALLTYPE *RemoveStream )(
  6720. IWMMutualExclusion2 * This,
  6721. /* [in] */ WORD wStreamNum);
  6722. HRESULT ( STDMETHODCALLTYPE *GetType )(
  6723. IWMMutualExclusion2 * This,
  6724. /* [out] */ GUID *pguidType);
  6725. HRESULT ( STDMETHODCALLTYPE *SetType )(
  6726. IWMMutualExclusion2 * This,
  6727. /* [in] */ REFGUID guidType);
  6728. HRESULT ( STDMETHODCALLTYPE *GetName )(
  6729. IWMMutualExclusion2 * This,
  6730. /* [size_is][out] */ WCHAR *pwszName,
  6731. /* [out][in] */ WORD *pcchName);
  6732. HRESULT ( STDMETHODCALLTYPE *SetName )(
  6733. IWMMutualExclusion2 * This,
  6734. /* [in] */ WCHAR *pwszName);
  6735. HRESULT ( STDMETHODCALLTYPE *GetRecordCount )(
  6736. IWMMutualExclusion2 * This,
  6737. /* [out] */ WORD *pwRecordCount);
  6738. HRESULT ( STDMETHODCALLTYPE *AddRecord )(
  6739. IWMMutualExclusion2 * This);
  6740. HRESULT ( STDMETHODCALLTYPE *RemoveRecord )(
  6741. IWMMutualExclusion2 * This,
  6742. /* [in] */ WORD wRecordNumber);
  6743. HRESULT ( STDMETHODCALLTYPE *GetRecordName )(
  6744. IWMMutualExclusion2 * This,
  6745. /* [in] */ WORD wRecordNumber,
  6746. /* [size_is][out] */ WCHAR *pwszRecordName,
  6747. /* [out][in] */ WORD *pcchRecordName);
  6748. HRESULT ( STDMETHODCALLTYPE *SetRecordName )(
  6749. IWMMutualExclusion2 * This,
  6750. /* [in] */ WORD wRecordNumber,
  6751. /* [in] */ WCHAR *pwszRecordName);
  6752. HRESULT ( STDMETHODCALLTYPE *GetStreamsForRecord )(
  6753. IWMMutualExclusion2 * This,
  6754. /* [in] */ WORD wRecordNumber,
  6755. /* [size_is][out] */ WORD *pwStreamNumArray,
  6756. /* [out][in] */ WORD *pcStreams);
  6757. HRESULT ( STDMETHODCALLTYPE *AddStreamForRecord )(
  6758. IWMMutualExclusion2 * This,
  6759. /* [in] */ WORD wRecordNumber,
  6760. /* [in] */ WORD wStreamNumber);
  6761. HRESULT ( STDMETHODCALLTYPE *RemoveStreamForRecord )(
  6762. IWMMutualExclusion2 * This,
  6763. /* [in] */ WORD wRecordNumber,
  6764. /* [in] */ WORD wStreamNumber);
  6765. END_INTERFACE
  6766. } IWMMutualExclusion2Vtbl;
  6767. interface IWMMutualExclusion2
  6768. {
  6769. CONST_VTBL struct IWMMutualExclusion2Vtbl *lpVtbl;
  6770. };
  6771. #ifdef COBJMACROS
  6772. #define IWMMutualExclusion2_QueryInterface(This,riid,ppvObject) \
  6773. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6774. #define IWMMutualExclusion2_AddRef(This) \
  6775. (This)->lpVtbl -> AddRef(This)
  6776. #define IWMMutualExclusion2_Release(This) \
  6777. (This)->lpVtbl -> Release(This)
  6778. #define IWMMutualExclusion2_GetStreams(This,pwStreamNumArray,pcStreams) \
  6779. (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  6780. #define IWMMutualExclusion2_AddStream(This,wStreamNum) \
  6781. (This)->lpVtbl -> AddStream(This,wStreamNum)
  6782. #define IWMMutualExclusion2_RemoveStream(This,wStreamNum) \
  6783. (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  6784. #define IWMMutualExclusion2_GetType(This,pguidType) \
  6785. (This)->lpVtbl -> GetType(This,pguidType)
  6786. #define IWMMutualExclusion2_SetType(This,guidType) \
  6787. (This)->lpVtbl -> SetType(This,guidType)
  6788. #define IWMMutualExclusion2_GetName(This,pwszName,pcchName) \
  6789. (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  6790. #define IWMMutualExclusion2_SetName(This,pwszName) \
  6791. (This)->lpVtbl -> SetName(This,pwszName)
  6792. #define IWMMutualExclusion2_GetRecordCount(This,pwRecordCount) \
  6793. (This)->lpVtbl -> GetRecordCount(This,pwRecordCount)
  6794. #define IWMMutualExclusion2_AddRecord(This) \
  6795. (This)->lpVtbl -> AddRecord(This)
  6796. #define IWMMutualExclusion2_RemoveRecord(This,wRecordNumber) \
  6797. (This)->lpVtbl -> RemoveRecord(This,wRecordNumber)
  6798. #define IWMMutualExclusion2_GetRecordName(This,wRecordNumber,pwszRecordName,pcchRecordName) \
  6799. (This)->lpVtbl -> GetRecordName(This,wRecordNumber,pwszRecordName,pcchRecordName)
  6800. #define IWMMutualExclusion2_SetRecordName(This,wRecordNumber,pwszRecordName) \
  6801. (This)->lpVtbl -> SetRecordName(This,wRecordNumber,pwszRecordName)
  6802. #define IWMMutualExclusion2_GetStreamsForRecord(This,wRecordNumber,pwStreamNumArray,pcStreams) \
  6803. (This)->lpVtbl -> GetStreamsForRecord(This,wRecordNumber,pwStreamNumArray,pcStreams)
  6804. #define IWMMutualExclusion2_AddStreamForRecord(This,wRecordNumber,wStreamNumber) \
  6805. (This)->lpVtbl -> AddStreamForRecord(This,wRecordNumber,wStreamNumber)
  6806. #define IWMMutualExclusion2_RemoveStreamForRecord(This,wRecordNumber,wStreamNumber) \
  6807. (This)->lpVtbl -> RemoveStreamForRecord(This,wRecordNumber,wStreamNumber)
  6808. #endif /* COBJMACROS */
  6809. #endif /* C style interface */
  6810. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_GetName_Proxy(
  6811. IWMMutualExclusion2 * This,
  6812. /* [size_is][out] */ WCHAR *pwszName,
  6813. /* [out][in] */ WORD *pcchName);
  6814. void __RPC_STUB IWMMutualExclusion2_GetName_Stub(
  6815. IRpcStubBuffer *This,
  6816. IRpcChannelBuffer *_pRpcChannelBuffer,
  6817. PRPC_MESSAGE _pRpcMessage,
  6818. DWORD *_pdwStubPhase);
  6819. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_SetName_Proxy(
  6820. IWMMutualExclusion2 * This,
  6821. /* [in] */ WCHAR *pwszName);
  6822. void __RPC_STUB IWMMutualExclusion2_SetName_Stub(
  6823. IRpcStubBuffer *This,
  6824. IRpcChannelBuffer *_pRpcChannelBuffer,
  6825. PRPC_MESSAGE _pRpcMessage,
  6826. DWORD *_pdwStubPhase);
  6827. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_GetRecordCount_Proxy(
  6828. IWMMutualExclusion2 * This,
  6829. /* [out] */ WORD *pwRecordCount);
  6830. void __RPC_STUB IWMMutualExclusion2_GetRecordCount_Stub(
  6831. IRpcStubBuffer *This,
  6832. IRpcChannelBuffer *_pRpcChannelBuffer,
  6833. PRPC_MESSAGE _pRpcMessage,
  6834. DWORD *_pdwStubPhase);
  6835. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_AddRecord_Proxy(
  6836. IWMMutualExclusion2 * This);
  6837. void __RPC_STUB IWMMutualExclusion2_AddRecord_Stub(
  6838. IRpcStubBuffer *This,
  6839. IRpcChannelBuffer *_pRpcChannelBuffer,
  6840. PRPC_MESSAGE _pRpcMessage,
  6841. DWORD *_pdwStubPhase);
  6842. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_RemoveRecord_Proxy(
  6843. IWMMutualExclusion2 * This,
  6844. /* [in] */ WORD wRecordNumber);
  6845. void __RPC_STUB IWMMutualExclusion2_RemoveRecord_Stub(
  6846. IRpcStubBuffer *This,
  6847. IRpcChannelBuffer *_pRpcChannelBuffer,
  6848. PRPC_MESSAGE _pRpcMessage,
  6849. DWORD *_pdwStubPhase);
  6850. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_GetRecordName_Proxy(
  6851. IWMMutualExclusion2 * This,
  6852. /* [in] */ WORD wRecordNumber,
  6853. /* [size_is][out] */ WCHAR *pwszRecordName,
  6854. /* [out][in] */ WORD *pcchRecordName);
  6855. void __RPC_STUB IWMMutualExclusion2_GetRecordName_Stub(
  6856. IRpcStubBuffer *This,
  6857. IRpcChannelBuffer *_pRpcChannelBuffer,
  6858. PRPC_MESSAGE _pRpcMessage,
  6859. DWORD *_pdwStubPhase);
  6860. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_SetRecordName_Proxy(
  6861. IWMMutualExclusion2 * This,
  6862. /* [in] */ WORD wRecordNumber,
  6863. /* [in] */ WCHAR *pwszRecordName);
  6864. void __RPC_STUB IWMMutualExclusion2_SetRecordName_Stub(
  6865. IRpcStubBuffer *This,
  6866. IRpcChannelBuffer *_pRpcChannelBuffer,
  6867. PRPC_MESSAGE _pRpcMessage,
  6868. DWORD *_pdwStubPhase);
  6869. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_GetStreamsForRecord_Proxy(
  6870. IWMMutualExclusion2 * This,
  6871. /* [in] */ WORD wRecordNumber,
  6872. /* [size_is][out] */ WORD *pwStreamNumArray,
  6873. /* [out][in] */ WORD *pcStreams);
  6874. void __RPC_STUB IWMMutualExclusion2_GetStreamsForRecord_Stub(
  6875. IRpcStubBuffer *This,
  6876. IRpcChannelBuffer *_pRpcChannelBuffer,
  6877. PRPC_MESSAGE _pRpcMessage,
  6878. DWORD *_pdwStubPhase);
  6879. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_AddStreamForRecord_Proxy(
  6880. IWMMutualExclusion2 * This,
  6881. /* [in] */ WORD wRecordNumber,
  6882. /* [in] */ WORD wStreamNumber);
  6883. void __RPC_STUB IWMMutualExclusion2_AddStreamForRecord_Stub(
  6884. IRpcStubBuffer *This,
  6885. IRpcChannelBuffer *_pRpcChannelBuffer,
  6886. PRPC_MESSAGE _pRpcMessage,
  6887. DWORD *_pdwStubPhase);
  6888. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_RemoveStreamForRecord_Proxy(
  6889. IWMMutualExclusion2 * This,
  6890. /* [in] */ WORD wRecordNumber,
  6891. /* [in] */ WORD wStreamNumber);
  6892. void __RPC_STUB IWMMutualExclusion2_RemoveStreamForRecord_Stub(
  6893. IRpcStubBuffer *This,
  6894. IRpcChannelBuffer *_pRpcChannelBuffer,
  6895. PRPC_MESSAGE _pRpcMessage,
  6896. DWORD *_pdwStubPhase);
  6897. #endif /* __IWMMutualExclusion2_INTERFACE_DEFINED__ */
  6898. #ifndef __IWMBandwidthSharing_INTERFACE_DEFINED__
  6899. #define __IWMBandwidthSharing_INTERFACE_DEFINED__
  6900. /* interface IWMBandwidthSharing */
  6901. /* [local][unique][helpstring][uuid][object] */
  6902. EXTERN_C const IID IID_IWMBandwidthSharing;
  6903. #if defined(__cplusplus) && !defined(CINTERFACE)
  6904. MIDL_INTERFACE("AD694AF1-F8D9-42F8-BC47-70311B0C4F9E")
  6905. IWMBandwidthSharing : public IWMStreamList
  6906. {
  6907. public:
  6908. virtual HRESULT STDMETHODCALLTYPE GetType(
  6909. /* [out] */ GUID *pguidType) = 0;
  6910. virtual HRESULT STDMETHODCALLTYPE SetType(
  6911. /* [in] */ REFGUID guidType) = 0;
  6912. virtual HRESULT STDMETHODCALLTYPE GetBandwidth(
  6913. /* [out] */ DWORD *pdwBitrate,
  6914. /* [out] */ DWORD *pmsBufferWindow) = 0;
  6915. virtual HRESULT STDMETHODCALLTYPE SetBandwidth(
  6916. /* [in] */ DWORD dwBitrate,
  6917. /* [in] */ DWORD msBufferWindow) = 0;
  6918. };
  6919. #else /* C style interface */
  6920. typedef struct IWMBandwidthSharingVtbl
  6921. {
  6922. BEGIN_INTERFACE
  6923. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6924. IWMBandwidthSharing * This,
  6925. /* [in] */ REFIID riid,
  6926. /* [iid_is][out] */ void **ppvObject);
  6927. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6928. IWMBandwidthSharing * This);
  6929. ULONG ( STDMETHODCALLTYPE *Release )(
  6930. IWMBandwidthSharing * This);
  6931. HRESULT ( STDMETHODCALLTYPE *GetStreams )(
  6932. IWMBandwidthSharing * This,
  6933. /* [size_is][out] */ WORD *pwStreamNumArray,
  6934. /* [out][in] */ WORD *pcStreams);
  6935. HRESULT ( STDMETHODCALLTYPE *AddStream )(
  6936. IWMBandwidthSharing * This,
  6937. /* [in] */ WORD wStreamNum);
  6938. HRESULT ( STDMETHODCALLTYPE *RemoveStream )(
  6939. IWMBandwidthSharing * This,
  6940. /* [in] */ WORD wStreamNum);
  6941. HRESULT ( STDMETHODCALLTYPE *GetType )(
  6942. IWMBandwidthSharing * This,
  6943. /* [out] */ GUID *pguidType);
  6944. HRESULT ( STDMETHODCALLTYPE *SetType )(
  6945. IWMBandwidthSharing * This,
  6946. /* [in] */ REFGUID guidType);
  6947. HRESULT ( STDMETHODCALLTYPE *GetBandwidth )(
  6948. IWMBandwidthSharing * This,
  6949. /* [out] */ DWORD *pdwBitrate,
  6950. /* [out] */ DWORD *pmsBufferWindow);
  6951. HRESULT ( STDMETHODCALLTYPE *SetBandwidth )(
  6952. IWMBandwidthSharing * This,
  6953. /* [in] */ DWORD dwBitrate,
  6954. /* [in] */ DWORD msBufferWindow);
  6955. END_INTERFACE
  6956. } IWMBandwidthSharingVtbl;
  6957. interface IWMBandwidthSharing
  6958. {
  6959. CONST_VTBL struct IWMBandwidthSharingVtbl *lpVtbl;
  6960. };
  6961. #ifdef COBJMACROS
  6962. #define IWMBandwidthSharing_QueryInterface(This,riid,ppvObject) \
  6963. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6964. #define IWMBandwidthSharing_AddRef(This) \
  6965. (This)->lpVtbl -> AddRef(This)
  6966. #define IWMBandwidthSharing_Release(This) \
  6967. (This)->lpVtbl -> Release(This)
  6968. #define IWMBandwidthSharing_GetStreams(This,pwStreamNumArray,pcStreams) \
  6969. (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  6970. #define IWMBandwidthSharing_AddStream(This,wStreamNum) \
  6971. (This)->lpVtbl -> AddStream(This,wStreamNum)
  6972. #define IWMBandwidthSharing_RemoveStream(This,wStreamNum) \
  6973. (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  6974. #define IWMBandwidthSharing_GetType(This,pguidType) \
  6975. (This)->lpVtbl -> GetType(This,pguidType)
  6976. #define IWMBandwidthSharing_SetType(This,guidType) \
  6977. (This)->lpVtbl -> SetType(This,guidType)
  6978. #define IWMBandwidthSharing_GetBandwidth(This,pdwBitrate,pmsBufferWindow) \
  6979. (This)->lpVtbl -> GetBandwidth(This,pdwBitrate,pmsBufferWindow)
  6980. #define IWMBandwidthSharing_SetBandwidth(This,dwBitrate,msBufferWindow) \
  6981. (This)->lpVtbl -> SetBandwidth(This,dwBitrate,msBufferWindow)
  6982. #endif /* COBJMACROS */
  6983. #endif /* C style interface */
  6984. HRESULT STDMETHODCALLTYPE IWMBandwidthSharing_GetType_Proxy(
  6985. IWMBandwidthSharing * This,
  6986. /* [out] */ GUID *pguidType);
  6987. void __RPC_STUB IWMBandwidthSharing_GetType_Stub(
  6988. IRpcStubBuffer *This,
  6989. IRpcChannelBuffer *_pRpcChannelBuffer,
  6990. PRPC_MESSAGE _pRpcMessage,
  6991. DWORD *_pdwStubPhase);
  6992. HRESULT STDMETHODCALLTYPE IWMBandwidthSharing_SetType_Proxy(
  6993. IWMBandwidthSharing * This,
  6994. /* [in] */ REFGUID guidType);
  6995. void __RPC_STUB IWMBandwidthSharing_SetType_Stub(
  6996. IRpcStubBuffer *This,
  6997. IRpcChannelBuffer *_pRpcChannelBuffer,
  6998. PRPC_MESSAGE _pRpcMessage,
  6999. DWORD *_pdwStubPhase);
  7000. HRESULT STDMETHODCALLTYPE IWMBandwidthSharing_GetBandwidth_Proxy(
  7001. IWMBandwidthSharing * This,
  7002. /* [out] */ DWORD *pdwBitrate,
  7003. /* [out] */ DWORD *pmsBufferWindow);
  7004. void __RPC_STUB IWMBandwidthSharing_GetBandwidth_Stub(
  7005. IRpcStubBuffer *This,
  7006. IRpcChannelBuffer *_pRpcChannelBuffer,
  7007. PRPC_MESSAGE _pRpcMessage,
  7008. DWORD *_pdwStubPhase);
  7009. HRESULT STDMETHODCALLTYPE IWMBandwidthSharing_SetBandwidth_Proxy(
  7010. IWMBandwidthSharing * This,
  7011. /* [in] */ DWORD dwBitrate,
  7012. /* [in] */ DWORD msBufferWindow);
  7013. void __RPC_STUB IWMBandwidthSharing_SetBandwidth_Stub(
  7014. IRpcStubBuffer *This,
  7015. IRpcChannelBuffer *_pRpcChannelBuffer,
  7016. PRPC_MESSAGE _pRpcMessage,
  7017. DWORD *_pdwStubPhase);
  7018. #endif /* __IWMBandwidthSharing_INTERFACE_DEFINED__ */
  7019. #ifndef __IWMStreamPrioritization_INTERFACE_DEFINED__
  7020. #define __IWMStreamPrioritization_INTERFACE_DEFINED__
  7021. /* interface IWMStreamPrioritization */
  7022. /* [local][unique][helpstring][uuid][object] */
  7023. EXTERN_C const IID IID_IWMStreamPrioritization;
  7024. #if defined(__cplusplus) && !defined(CINTERFACE)
  7025. MIDL_INTERFACE("8C1C6090-F9A8-4748-8EC3-DD1108BA1E77")
  7026. IWMStreamPrioritization : public IUnknown
  7027. {
  7028. public:
  7029. virtual HRESULT STDMETHODCALLTYPE GetPriorityRecords(
  7030. /* [size_is][out] */ WM_STREAM_PRIORITY_RECORD *pRecordArray,
  7031. /* [out][in] */ WORD *pcRecords) = 0;
  7032. virtual HRESULT STDMETHODCALLTYPE SetPriorityRecords(
  7033. /* [in] */ WM_STREAM_PRIORITY_RECORD *pRecordArray,
  7034. /* [in] */ WORD cRecords) = 0;
  7035. };
  7036. #else /* C style interface */
  7037. typedef struct IWMStreamPrioritizationVtbl
  7038. {
  7039. BEGIN_INTERFACE
  7040. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7041. IWMStreamPrioritization * This,
  7042. /* [in] */ REFIID riid,
  7043. /* [iid_is][out] */ void **ppvObject);
  7044. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7045. IWMStreamPrioritization * This);
  7046. ULONG ( STDMETHODCALLTYPE *Release )(
  7047. IWMStreamPrioritization * This);
  7048. HRESULT ( STDMETHODCALLTYPE *GetPriorityRecords )(
  7049. IWMStreamPrioritization * This,
  7050. /* [size_is][out] */ WM_STREAM_PRIORITY_RECORD *pRecordArray,
  7051. /* [out][in] */ WORD *pcRecords);
  7052. HRESULT ( STDMETHODCALLTYPE *SetPriorityRecords )(
  7053. IWMStreamPrioritization * This,
  7054. /* [in] */ WM_STREAM_PRIORITY_RECORD *pRecordArray,
  7055. /* [in] */ WORD cRecords);
  7056. END_INTERFACE
  7057. } IWMStreamPrioritizationVtbl;
  7058. interface IWMStreamPrioritization
  7059. {
  7060. CONST_VTBL struct IWMStreamPrioritizationVtbl *lpVtbl;
  7061. };
  7062. #ifdef COBJMACROS
  7063. #define IWMStreamPrioritization_QueryInterface(This,riid,ppvObject) \
  7064. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7065. #define IWMStreamPrioritization_AddRef(This) \
  7066. (This)->lpVtbl -> AddRef(This)
  7067. #define IWMStreamPrioritization_Release(This) \
  7068. (This)->lpVtbl -> Release(This)
  7069. #define IWMStreamPrioritization_GetPriorityRecords(This,pRecordArray,pcRecords) \
  7070. (This)->lpVtbl -> GetPriorityRecords(This,pRecordArray,pcRecords)
  7071. #define IWMStreamPrioritization_SetPriorityRecords(This,pRecordArray,cRecords) \
  7072. (This)->lpVtbl -> SetPriorityRecords(This,pRecordArray,cRecords)
  7073. #endif /* COBJMACROS */
  7074. #endif /* C style interface */
  7075. HRESULT STDMETHODCALLTYPE IWMStreamPrioritization_GetPriorityRecords_Proxy(
  7076. IWMStreamPrioritization * This,
  7077. /* [size_is][out] */ WM_STREAM_PRIORITY_RECORD *pRecordArray,
  7078. /* [out][in] */ WORD *pcRecords);
  7079. void __RPC_STUB IWMStreamPrioritization_GetPriorityRecords_Stub(
  7080. IRpcStubBuffer *This,
  7081. IRpcChannelBuffer *_pRpcChannelBuffer,
  7082. PRPC_MESSAGE _pRpcMessage,
  7083. DWORD *_pdwStubPhase);
  7084. HRESULT STDMETHODCALLTYPE IWMStreamPrioritization_SetPriorityRecords_Proxy(
  7085. IWMStreamPrioritization * This,
  7086. /* [in] */ WM_STREAM_PRIORITY_RECORD *pRecordArray,
  7087. /* [in] */ WORD cRecords);
  7088. void __RPC_STUB IWMStreamPrioritization_SetPriorityRecords_Stub(
  7089. IRpcStubBuffer *This,
  7090. IRpcChannelBuffer *_pRpcChannelBuffer,
  7091. PRPC_MESSAGE _pRpcMessage,
  7092. DWORD *_pdwStubPhase);
  7093. #endif /* __IWMStreamPrioritization_INTERFACE_DEFINED__ */
  7094. #ifndef __IWMWriterAdvanced_INTERFACE_DEFINED__
  7095. #define __IWMWriterAdvanced_INTERFACE_DEFINED__
  7096. /* interface IWMWriterAdvanced */
  7097. /* [local][unique][helpstring][uuid][object] */
  7098. EXTERN_C const IID IID_IWMWriterAdvanced;
  7099. #if defined(__cplusplus) && !defined(CINTERFACE)
  7100. MIDL_INTERFACE("96406BE3-2B2B-11d3-B36B-00C04F6108FF")
  7101. IWMWriterAdvanced : public IUnknown
  7102. {
  7103. public:
  7104. virtual HRESULT STDMETHODCALLTYPE GetSinkCount(
  7105. /* [out] */ DWORD *pcSinks) = 0;
  7106. virtual HRESULT STDMETHODCALLTYPE GetSink(
  7107. /* [in] */ DWORD dwSinkNum,
  7108. /* [out] */ IWMWriterSink **ppSink) = 0;
  7109. virtual HRESULT STDMETHODCALLTYPE AddSink(
  7110. /* [in] */ IWMWriterSink *pSink) = 0;
  7111. virtual HRESULT STDMETHODCALLTYPE RemoveSink(
  7112. /* [in] */ IWMWriterSink *pSink) = 0;
  7113. virtual HRESULT STDMETHODCALLTYPE WriteStreamSample(
  7114. /* [in] */ WORD wStreamNum,
  7115. /* [in] */ QWORD cnsSampleTime,
  7116. /* [in] */ DWORD msSampleSendTime,
  7117. /* [in] */ QWORD cnsSampleDuration,
  7118. /* [in] */ DWORD dwFlags,
  7119. /* [in] */ INSSBuffer *pSample) = 0;
  7120. virtual HRESULT STDMETHODCALLTYPE SetLiveSource(
  7121. BOOL fIsLiveSource) = 0;
  7122. virtual HRESULT STDMETHODCALLTYPE IsRealTime(
  7123. /* [out] */ BOOL *pfRealTime) = 0;
  7124. virtual HRESULT STDMETHODCALLTYPE GetWriterTime(
  7125. /* [out] */ QWORD *pcnsCurrentTime) = 0;
  7126. virtual HRESULT STDMETHODCALLTYPE GetStatistics(
  7127. /* [in] */ WORD wStreamNum,
  7128. /* [out] */ WM_WRITER_STATISTICS *pStats) = 0;
  7129. virtual HRESULT STDMETHODCALLTYPE SetSyncTolerance(
  7130. /* [in] */ DWORD msWindow) = 0;
  7131. virtual HRESULT STDMETHODCALLTYPE GetSyncTolerance(
  7132. /* [out] */ DWORD *pmsWindow) = 0;
  7133. };
  7134. #else /* C style interface */
  7135. typedef struct IWMWriterAdvancedVtbl
  7136. {
  7137. BEGIN_INTERFACE
  7138. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7139. IWMWriterAdvanced * This,
  7140. /* [in] */ REFIID riid,
  7141. /* [iid_is][out] */ void **ppvObject);
  7142. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7143. IWMWriterAdvanced * This);
  7144. ULONG ( STDMETHODCALLTYPE *Release )(
  7145. IWMWriterAdvanced * This);
  7146. HRESULT ( STDMETHODCALLTYPE *GetSinkCount )(
  7147. IWMWriterAdvanced * This,
  7148. /* [out] */ DWORD *pcSinks);
  7149. HRESULT ( STDMETHODCALLTYPE *GetSink )(
  7150. IWMWriterAdvanced * This,
  7151. /* [in] */ DWORD dwSinkNum,
  7152. /* [out] */ IWMWriterSink **ppSink);
  7153. HRESULT ( STDMETHODCALLTYPE *AddSink )(
  7154. IWMWriterAdvanced * This,
  7155. /* [in] */ IWMWriterSink *pSink);
  7156. HRESULT ( STDMETHODCALLTYPE *RemoveSink )(
  7157. IWMWriterAdvanced * This,
  7158. /* [in] */ IWMWriterSink *pSink);
  7159. HRESULT ( STDMETHODCALLTYPE *WriteStreamSample )(
  7160. IWMWriterAdvanced * This,
  7161. /* [in] */ WORD wStreamNum,
  7162. /* [in] */ QWORD cnsSampleTime,
  7163. /* [in] */ DWORD msSampleSendTime,
  7164. /* [in] */ QWORD cnsSampleDuration,
  7165. /* [in] */ DWORD dwFlags,
  7166. /* [in] */ INSSBuffer *pSample);
  7167. HRESULT ( STDMETHODCALLTYPE *SetLiveSource )(
  7168. IWMWriterAdvanced * This,
  7169. BOOL fIsLiveSource);
  7170. HRESULT ( STDMETHODCALLTYPE *IsRealTime )(
  7171. IWMWriterAdvanced * This,
  7172. /* [out] */ BOOL *pfRealTime);
  7173. HRESULT ( STDMETHODCALLTYPE *GetWriterTime )(
  7174. IWMWriterAdvanced * This,
  7175. /* [out] */ QWORD *pcnsCurrentTime);
  7176. HRESULT ( STDMETHODCALLTYPE *GetStatistics )(
  7177. IWMWriterAdvanced * This,
  7178. /* [in] */ WORD wStreamNum,
  7179. /* [out] */ WM_WRITER_STATISTICS *pStats);
  7180. HRESULT ( STDMETHODCALLTYPE *SetSyncTolerance )(
  7181. IWMWriterAdvanced * This,
  7182. /* [in] */ DWORD msWindow);
  7183. HRESULT ( STDMETHODCALLTYPE *GetSyncTolerance )(
  7184. IWMWriterAdvanced * This,
  7185. /* [out] */ DWORD *pmsWindow);
  7186. END_INTERFACE
  7187. } IWMWriterAdvancedVtbl;
  7188. interface IWMWriterAdvanced
  7189. {
  7190. CONST_VTBL struct IWMWriterAdvancedVtbl *lpVtbl;
  7191. };
  7192. #ifdef COBJMACROS
  7193. #define IWMWriterAdvanced_QueryInterface(This,riid,ppvObject) \
  7194. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7195. #define IWMWriterAdvanced_AddRef(This) \
  7196. (This)->lpVtbl -> AddRef(This)
  7197. #define IWMWriterAdvanced_Release(This) \
  7198. (This)->lpVtbl -> Release(This)
  7199. #define IWMWriterAdvanced_GetSinkCount(This,pcSinks) \
  7200. (This)->lpVtbl -> GetSinkCount(This,pcSinks)
  7201. #define IWMWriterAdvanced_GetSink(This,dwSinkNum,ppSink) \
  7202. (This)->lpVtbl -> GetSink(This,dwSinkNum,ppSink)
  7203. #define IWMWriterAdvanced_AddSink(This,pSink) \
  7204. (This)->lpVtbl -> AddSink(This,pSink)
  7205. #define IWMWriterAdvanced_RemoveSink(This,pSink) \
  7206. (This)->lpVtbl -> RemoveSink(This,pSink)
  7207. #define IWMWriterAdvanced_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) \
  7208. (This)->lpVtbl -> WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)
  7209. #define IWMWriterAdvanced_SetLiveSource(This,fIsLiveSource) \
  7210. (This)->lpVtbl -> SetLiveSource(This,fIsLiveSource)
  7211. #define IWMWriterAdvanced_IsRealTime(This,pfRealTime) \
  7212. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  7213. #define IWMWriterAdvanced_GetWriterTime(This,pcnsCurrentTime) \
  7214. (This)->lpVtbl -> GetWriterTime(This,pcnsCurrentTime)
  7215. #define IWMWriterAdvanced_GetStatistics(This,wStreamNum,pStats) \
  7216. (This)->lpVtbl -> GetStatistics(This,wStreamNum,pStats)
  7217. #define IWMWriterAdvanced_SetSyncTolerance(This,msWindow) \
  7218. (This)->lpVtbl -> SetSyncTolerance(This,msWindow)
  7219. #define IWMWriterAdvanced_GetSyncTolerance(This,pmsWindow) \
  7220. (This)->lpVtbl -> GetSyncTolerance(This,pmsWindow)
  7221. #endif /* COBJMACROS */
  7222. #endif /* C style interface */
  7223. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSinkCount_Proxy(
  7224. IWMWriterAdvanced * This,
  7225. /* [out] */ DWORD *pcSinks);
  7226. void __RPC_STUB IWMWriterAdvanced_GetSinkCount_Stub(
  7227. IRpcStubBuffer *This,
  7228. IRpcChannelBuffer *_pRpcChannelBuffer,
  7229. PRPC_MESSAGE _pRpcMessage,
  7230. DWORD *_pdwStubPhase);
  7231. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSink_Proxy(
  7232. IWMWriterAdvanced * This,
  7233. /* [in] */ DWORD dwSinkNum,
  7234. /* [out] */ IWMWriterSink **ppSink);
  7235. void __RPC_STUB IWMWriterAdvanced_GetSink_Stub(
  7236. IRpcStubBuffer *This,
  7237. IRpcChannelBuffer *_pRpcChannelBuffer,
  7238. PRPC_MESSAGE _pRpcMessage,
  7239. DWORD *_pdwStubPhase);
  7240. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_AddSink_Proxy(
  7241. IWMWriterAdvanced * This,
  7242. /* [in] */ IWMWriterSink *pSink);
  7243. void __RPC_STUB IWMWriterAdvanced_AddSink_Stub(
  7244. IRpcStubBuffer *This,
  7245. IRpcChannelBuffer *_pRpcChannelBuffer,
  7246. PRPC_MESSAGE _pRpcMessage,
  7247. DWORD *_pdwStubPhase);
  7248. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_RemoveSink_Proxy(
  7249. IWMWriterAdvanced * This,
  7250. /* [in] */ IWMWriterSink *pSink);
  7251. void __RPC_STUB IWMWriterAdvanced_RemoveSink_Stub(
  7252. IRpcStubBuffer *This,
  7253. IRpcChannelBuffer *_pRpcChannelBuffer,
  7254. PRPC_MESSAGE _pRpcMessage,
  7255. DWORD *_pdwStubPhase);
  7256. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_WriteStreamSample_Proxy(
  7257. IWMWriterAdvanced * This,
  7258. /* [in] */ WORD wStreamNum,
  7259. /* [in] */ QWORD cnsSampleTime,
  7260. /* [in] */ DWORD msSampleSendTime,
  7261. /* [in] */ QWORD cnsSampleDuration,
  7262. /* [in] */ DWORD dwFlags,
  7263. /* [in] */ INSSBuffer *pSample);
  7264. void __RPC_STUB IWMWriterAdvanced_WriteStreamSample_Stub(
  7265. IRpcStubBuffer *This,
  7266. IRpcChannelBuffer *_pRpcChannelBuffer,
  7267. PRPC_MESSAGE _pRpcMessage,
  7268. DWORD *_pdwStubPhase);
  7269. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_SetLiveSource_Proxy(
  7270. IWMWriterAdvanced * This,
  7271. BOOL fIsLiveSource);
  7272. void __RPC_STUB IWMWriterAdvanced_SetLiveSource_Stub(
  7273. IRpcStubBuffer *This,
  7274. IRpcChannelBuffer *_pRpcChannelBuffer,
  7275. PRPC_MESSAGE _pRpcMessage,
  7276. DWORD *_pdwStubPhase);
  7277. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_IsRealTime_Proxy(
  7278. IWMWriterAdvanced * This,
  7279. /* [out] */ BOOL *pfRealTime);
  7280. void __RPC_STUB IWMWriterAdvanced_IsRealTime_Stub(
  7281. IRpcStubBuffer *This,
  7282. IRpcChannelBuffer *_pRpcChannelBuffer,
  7283. PRPC_MESSAGE _pRpcMessage,
  7284. DWORD *_pdwStubPhase);
  7285. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetWriterTime_Proxy(
  7286. IWMWriterAdvanced * This,
  7287. /* [out] */ QWORD *pcnsCurrentTime);
  7288. void __RPC_STUB IWMWriterAdvanced_GetWriterTime_Stub(
  7289. IRpcStubBuffer *This,
  7290. IRpcChannelBuffer *_pRpcChannelBuffer,
  7291. PRPC_MESSAGE _pRpcMessage,
  7292. DWORD *_pdwStubPhase);
  7293. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetStatistics_Proxy(
  7294. IWMWriterAdvanced * This,
  7295. /* [in] */ WORD wStreamNum,
  7296. /* [out] */ WM_WRITER_STATISTICS *pStats);
  7297. void __RPC_STUB IWMWriterAdvanced_GetStatistics_Stub(
  7298. IRpcStubBuffer *This,
  7299. IRpcChannelBuffer *_pRpcChannelBuffer,
  7300. PRPC_MESSAGE _pRpcMessage,
  7301. DWORD *_pdwStubPhase);
  7302. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_SetSyncTolerance_Proxy(
  7303. IWMWriterAdvanced * This,
  7304. /* [in] */ DWORD msWindow);
  7305. void __RPC_STUB IWMWriterAdvanced_SetSyncTolerance_Stub(
  7306. IRpcStubBuffer *This,
  7307. IRpcChannelBuffer *_pRpcChannelBuffer,
  7308. PRPC_MESSAGE _pRpcMessage,
  7309. DWORD *_pdwStubPhase);
  7310. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSyncTolerance_Proxy(
  7311. IWMWriterAdvanced * This,
  7312. /* [out] */ DWORD *pmsWindow);
  7313. void __RPC_STUB IWMWriterAdvanced_GetSyncTolerance_Stub(
  7314. IRpcStubBuffer *This,
  7315. IRpcChannelBuffer *_pRpcChannelBuffer,
  7316. PRPC_MESSAGE _pRpcMessage,
  7317. DWORD *_pdwStubPhase);
  7318. #endif /* __IWMWriterAdvanced_INTERFACE_DEFINED__ */
  7319. #ifndef __IWMWriterAdvanced2_INTERFACE_DEFINED__
  7320. #define __IWMWriterAdvanced2_INTERFACE_DEFINED__
  7321. /* interface IWMWriterAdvanced2 */
  7322. /* [local][unique][helpstring][uuid][object] */
  7323. EXTERN_C const IID IID_IWMWriterAdvanced2;
  7324. #if defined(__cplusplus) && !defined(CINTERFACE)
  7325. MIDL_INTERFACE("962dc1ec-c046-4db8-9cc7-26ceae500817")
  7326. IWMWriterAdvanced2 : public IWMWriterAdvanced
  7327. {
  7328. public:
  7329. virtual HRESULT STDMETHODCALLTYPE GetInputSetting(
  7330. /* [in] */ DWORD dwInputNum,
  7331. /* [in] */ LPCWSTR pszName,
  7332. /* [out] */ WMT_ATTR_DATATYPE *pType,
  7333. /* [size_is][out] */ BYTE *pValue,
  7334. /* [out][in] */ WORD *pcbLength) = 0;
  7335. virtual HRESULT STDMETHODCALLTYPE SetInputSetting(
  7336. /* [in] */ DWORD dwInputNum,
  7337. /* [in] */ LPCWSTR pszName,
  7338. /* [in] */ WMT_ATTR_DATATYPE Type,
  7339. /* [size_is][in] */ const BYTE *pValue,
  7340. /* [in] */ WORD cbLength) = 0;
  7341. };
  7342. #else /* C style interface */
  7343. typedef struct IWMWriterAdvanced2Vtbl
  7344. {
  7345. BEGIN_INTERFACE
  7346. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7347. IWMWriterAdvanced2 * This,
  7348. /* [in] */ REFIID riid,
  7349. /* [iid_is][out] */ void **ppvObject);
  7350. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7351. IWMWriterAdvanced2 * This);
  7352. ULONG ( STDMETHODCALLTYPE *Release )(
  7353. IWMWriterAdvanced2 * This);
  7354. HRESULT ( STDMETHODCALLTYPE *GetSinkCount )(
  7355. IWMWriterAdvanced2 * This,
  7356. /* [out] */ DWORD *pcSinks);
  7357. HRESULT ( STDMETHODCALLTYPE *GetSink )(
  7358. IWMWriterAdvanced2 * This,
  7359. /* [in] */ DWORD dwSinkNum,
  7360. /* [out] */ IWMWriterSink **ppSink);
  7361. HRESULT ( STDMETHODCALLTYPE *AddSink )(
  7362. IWMWriterAdvanced2 * This,
  7363. /* [in] */ IWMWriterSink *pSink);
  7364. HRESULT ( STDMETHODCALLTYPE *RemoveSink )(
  7365. IWMWriterAdvanced2 * This,
  7366. /* [in] */ IWMWriterSink *pSink);
  7367. HRESULT ( STDMETHODCALLTYPE *WriteStreamSample )(
  7368. IWMWriterAdvanced2 * This,
  7369. /* [in] */ WORD wStreamNum,
  7370. /* [in] */ QWORD cnsSampleTime,
  7371. /* [in] */ DWORD msSampleSendTime,
  7372. /* [in] */ QWORD cnsSampleDuration,
  7373. /* [in] */ DWORD dwFlags,
  7374. /* [in] */ INSSBuffer *pSample);
  7375. HRESULT ( STDMETHODCALLTYPE *SetLiveSource )(
  7376. IWMWriterAdvanced2 * This,
  7377. BOOL fIsLiveSource);
  7378. HRESULT ( STDMETHODCALLTYPE *IsRealTime )(
  7379. IWMWriterAdvanced2 * This,
  7380. /* [out] */ BOOL *pfRealTime);
  7381. HRESULT ( STDMETHODCALLTYPE *GetWriterTime )(
  7382. IWMWriterAdvanced2 * This,
  7383. /* [out] */ QWORD *pcnsCurrentTime);
  7384. HRESULT ( STDMETHODCALLTYPE *GetStatistics )(
  7385. IWMWriterAdvanced2 * This,
  7386. /* [in] */ WORD wStreamNum,
  7387. /* [out] */ WM_WRITER_STATISTICS *pStats);
  7388. HRESULT ( STDMETHODCALLTYPE *SetSyncTolerance )(
  7389. IWMWriterAdvanced2 * This,
  7390. /* [in] */ DWORD msWindow);
  7391. HRESULT ( STDMETHODCALLTYPE *GetSyncTolerance )(
  7392. IWMWriterAdvanced2 * This,
  7393. /* [out] */ DWORD *pmsWindow);
  7394. HRESULT ( STDMETHODCALLTYPE *GetInputSetting )(
  7395. IWMWriterAdvanced2 * This,
  7396. /* [in] */ DWORD dwInputNum,
  7397. /* [in] */ LPCWSTR pszName,
  7398. /* [out] */ WMT_ATTR_DATATYPE *pType,
  7399. /* [size_is][out] */ BYTE *pValue,
  7400. /* [out][in] */ WORD *pcbLength);
  7401. HRESULT ( STDMETHODCALLTYPE *SetInputSetting )(
  7402. IWMWriterAdvanced2 * This,
  7403. /* [in] */ DWORD dwInputNum,
  7404. /* [in] */ LPCWSTR pszName,
  7405. /* [in] */ WMT_ATTR_DATATYPE Type,
  7406. /* [size_is][in] */ const BYTE *pValue,
  7407. /* [in] */ WORD cbLength);
  7408. END_INTERFACE
  7409. } IWMWriterAdvanced2Vtbl;
  7410. interface IWMWriterAdvanced2
  7411. {
  7412. CONST_VTBL struct IWMWriterAdvanced2Vtbl *lpVtbl;
  7413. };
  7414. #ifdef COBJMACROS
  7415. #define IWMWriterAdvanced2_QueryInterface(This,riid,ppvObject) \
  7416. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7417. #define IWMWriterAdvanced2_AddRef(This) \
  7418. (This)->lpVtbl -> AddRef(This)
  7419. #define IWMWriterAdvanced2_Release(This) \
  7420. (This)->lpVtbl -> Release(This)
  7421. #define IWMWriterAdvanced2_GetSinkCount(This,pcSinks) \
  7422. (This)->lpVtbl -> GetSinkCount(This,pcSinks)
  7423. #define IWMWriterAdvanced2_GetSink(This,dwSinkNum,ppSink) \
  7424. (This)->lpVtbl -> GetSink(This,dwSinkNum,ppSink)
  7425. #define IWMWriterAdvanced2_AddSink(This,pSink) \
  7426. (This)->lpVtbl -> AddSink(This,pSink)
  7427. #define IWMWriterAdvanced2_RemoveSink(This,pSink) \
  7428. (This)->lpVtbl -> RemoveSink(This,pSink)
  7429. #define IWMWriterAdvanced2_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) \
  7430. (This)->lpVtbl -> WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)
  7431. #define IWMWriterAdvanced2_SetLiveSource(This,fIsLiveSource) \
  7432. (This)->lpVtbl -> SetLiveSource(This,fIsLiveSource)
  7433. #define IWMWriterAdvanced2_IsRealTime(This,pfRealTime) \
  7434. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  7435. #define IWMWriterAdvanced2_GetWriterTime(This,pcnsCurrentTime) \
  7436. (This)->lpVtbl -> GetWriterTime(This,pcnsCurrentTime)
  7437. #define IWMWriterAdvanced2_GetStatistics(This,wStreamNum,pStats) \
  7438. (This)->lpVtbl -> GetStatistics(This,wStreamNum,pStats)
  7439. #define IWMWriterAdvanced2_SetSyncTolerance(This,msWindow) \
  7440. (This)->lpVtbl -> SetSyncTolerance(This,msWindow)
  7441. #define IWMWriterAdvanced2_GetSyncTolerance(This,pmsWindow) \
  7442. (This)->lpVtbl -> GetSyncTolerance(This,pmsWindow)
  7443. #define IWMWriterAdvanced2_GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) \
  7444. (This)->lpVtbl -> GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength)
  7445. #define IWMWriterAdvanced2_SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) \
  7446. (This)->lpVtbl -> SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength)
  7447. #endif /* COBJMACROS */
  7448. #endif /* C style interface */
  7449. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced2_GetInputSetting_Proxy(
  7450. IWMWriterAdvanced2 * This,
  7451. /* [in] */ DWORD dwInputNum,
  7452. /* [in] */ LPCWSTR pszName,
  7453. /* [out] */ WMT_ATTR_DATATYPE *pType,
  7454. /* [size_is][out] */ BYTE *pValue,
  7455. /* [out][in] */ WORD *pcbLength);
  7456. void __RPC_STUB IWMWriterAdvanced2_GetInputSetting_Stub(
  7457. IRpcStubBuffer *This,
  7458. IRpcChannelBuffer *_pRpcChannelBuffer,
  7459. PRPC_MESSAGE _pRpcMessage,
  7460. DWORD *_pdwStubPhase);
  7461. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced2_SetInputSetting_Proxy(
  7462. IWMWriterAdvanced2 * This,
  7463. /* [in] */ DWORD dwInputNum,
  7464. /* [in] */ LPCWSTR pszName,
  7465. /* [in] */ WMT_ATTR_DATATYPE Type,
  7466. /* [size_is][in] */ const BYTE *pValue,
  7467. /* [in] */ WORD cbLength);
  7468. void __RPC_STUB IWMWriterAdvanced2_SetInputSetting_Stub(
  7469. IRpcStubBuffer *This,
  7470. IRpcChannelBuffer *_pRpcChannelBuffer,
  7471. PRPC_MESSAGE _pRpcMessage,
  7472. DWORD *_pdwStubPhase);
  7473. #endif /* __IWMWriterAdvanced2_INTERFACE_DEFINED__ */
  7474. #ifndef __IWMWriterAdvanced3_INTERFACE_DEFINED__
  7475. #define __IWMWriterAdvanced3_INTERFACE_DEFINED__
  7476. /* interface IWMWriterAdvanced3 */
  7477. /* [local][unique][helpstring][uuid][object] */
  7478. EXTERN_C const IID IID_IWMWriterAdvanced3;
  7479. #if defined(__cplusplus) && !defined(CINTERFACE)
  7480. MIDL_INTERFACE("2cd6492d-7c37-4e76-9d3b-59261183a22e")
  7481. IWMWriterAdvanced3 : public IWMWriterAdvanced2
  7482. {
  7483. public:
  7484. virtual HRESULT STDMETHODCALLTYPE GetStatisticsEx(
  7485. /* [in] */ WORD wStreamNum,
  7486. /* [out] */ WM_WRITER_STATISTICS_EX *pStats) = 0;
  7487. virtual HRESULT STDMETHODCALLTYPE SetNonBlocking( void) = 0;
  7488. };
  7489. #else /* C style interface */
  7490. typedef struct IWMWriterAdvanced3Vtbl
  7491. {
  7492. BEGIN_INTERFACE
  7493. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7494. IWMWriterAdvanced3 * This,
  7495. /* [in] */ REFIID riid,
  7496. /* [iid_is][out] */ void **ppvObject);
  7497. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7498. IWMWriterAdvanced3 * This);
  7499. ULONG ( STDMETHODCALLTYPE *Release )(
  7500. IWMWriterAdvanced3 * This);
  7501. HRESULT ( STDMETHODCALLTYPE *GetSinkCount )(
  7502. IWMWriterAdvanced3 * This,
  7503. /* [out] */ DWORD *pcSinks);
  7504. HRESULT ( STDMETHODCALLTYPE *GetSink )(
  7505. IWMWriterAdvanced3 * This,
  7506. /* [in] */ DWORD dwSinkNum,
  7507. /* [out] */ IWMWriterSink **ppSink);
  7508. HRESULT ( STDMETHODCALLTYPE *AddSink )(
  7509. IWMWriterAdvanced3 * This,
  7510. /* [in] */ IWMWriterSink *pSink);
  7511. HRESULT ( STDMETHODCALLTYPE *RemoveSink )(
  7512. IWMWriterAdvanced3 * This,
  7513. /* [in] */ IWMWriterSink *pSink);
  7514. HRESULT ( STDMETHODCALLTYPE *WriteStreamSample )(
  7515. IWMWriterAdvanced3 * This,
  7516. /* [in] */ WORD wStreamNum,
  7517. /* [in] */ QWORD cnsSampleTime,
  7518. /* [in] */ DWORD msSampleSendTime,
  7519. /* [in] */ QWORD cnsSampleDuration,
  7520. /* [in] */ DWORD dwFlags,
  7521. /* [in] */ INSSBuffer *pSample);
  7522. HRESULT ( STDMETHODCALLTYPE *SetLiveSource )(
  7523. IWMWriterAdvanced3 * This,
  7524. BOOL fIsLiveSource);
  7525. HRESULT ( STDMETHODCALLTYPE *IsRealTime )(
  7526. IWMWriterAdvanced3 * This,
  7527. /* [out] */ BOOL *pfRealTime);
  7528. HRESULT ( STDMETHODCALLTYPE *GetWriterTime )(
  7529. IWMWriterAdvanced3 * This,
  7530. /* [out] */ QWORD *pcnsCurrentTime);
  7531. HRESULT ( STDMETHODCALLTYPE *GetStatistics )(
  7532. IWMWriterAdvanced3 * This,
  7533. /* [in] */ WORD wStreamNum,
  7534. /* [out] */ WM_WRITER_STATISTICS *pStats);
  7535. HRESULT ( STDMETHODCALLTYPE *SetSyncTolerance )(
  7536. IWMWriterAdvanced3 * This,
  7537. /* [in] */ DWORD msWindow);
  7538. HRESULT ( STDMETHODCALLTYPE *GetSyncTolerance )(
  7539. IWMWriterAdvanced3 * This,
  7540. /* [out] */ DWORD *pmsWindow);
  7541. HRESULT ( STDMETHODCALLTYPE *GetInputSetting )(
  7542. IWMWriterAdvanced3 * This,
  7543. /* [in] */ DWORD dwInputNum,
  7544. /* [in] */ LPCWSTR pszName,
  7545. /* [out] */ WMT_ATTR_DATATYPE *pType,
  7546. /* [size_is][out] */ BYTE *pValue,
  7547. /* [out][in] */ WORD *pcbLength);
  7548. HRESULT ( STDMETHODCALLTYPE *SetInputSetting )(
  7549. IWMWriterAdvanced3 * This,
  7550. /* [in] */ DWORD dwInputNum,
  7551. /* [in] */ LPCWSTR pszName,
  7552. /* [in] */ WMT_ATTR_DATATYPE Type,
  7553. /* [size_is][in] */ const BYTE *pValue,
  7554. /* [in] */ WORD cbLength);
  7555. HRESULT ( STDMETHODCALLTYPE *GetStatisticsEx )(
  7556. IWMWriterAdvanced3 * This,
  7557. /* [in] */ WORD wStreamNum,
  7558. /* [out] */ WM_WRITER_STATISTICS_EX *pStats);
  7559. HRESULT ( STDMETHODCALLTYPE *SetNonBlocking )(
  7560. IWMWriterAdvanced3 * This);
  7561. END_INTERFACE
  7562. } IWMWriterAdvanced3Vtbl;
  7563. interface IWMWriterAdvanced3
  7564. {
  7565. CONST_VTBL struct IWMWriterAdvanced3Vtbl *lpVtbl;
  7566. };
  7567. #ifdef COBJMACROS
  7568. #define IWMWriterAdvanced3_QueryInterface(This,riid,ppvObject) \
  7569. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7570. #define IWMWriterAdvanced3_AddRef(This) \
  7571. (This)->lpVtbl -> AddRef(This)
  7572. #define IWMWriterAdvanced3_Release(This) \
  7573. (This)->lpVtbl -> Release(This)
  7574. #define IWMWriterAdvanced3_GetSinkCount(This,pcSinks) \
  7575. (This)->lpVtbl -> GetSinkCount(This,pcSinks)
  7576. #define IWMWriterAdvanced3_GetSink(This,dwSinkNum,ppSink) \
  7577. (This)->lpVtbl -> GetSink(This,dwSinkNum,ppSink)
  7578. #define IWMWriterAdvanced3_AddSink(This,pSink) \
  7579. (This)->lpVtbl -> AddSink(This,pSink)
  7580. #define IWMWriterAdvanced3_RemoveSink(This,pSink) \
  7581. (This)->lpVtbl -> RemoveSink(This,pSink)
  7582. #define IWMWriterAdvanced3_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) \
  7583. (This)->lpVtbl -> WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)
  7584. #define IWMWriterAdvanced3_SetLiveSource(This,fIsLiveSource) \
  7585. (This)->lpVtbl -> SetLiveSource(This,fIsLiveSource)
  7586. #define IWMWriterAdvanced3_IsRealTime(This,pfRealTime) \
  7587. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  7588. #define IWMWriterAdvanced3_GetWriterTime(This,pcnsCurrentTime) \
  7589. (This)->lpVtbl -> GetWriterTime(This,pcnsCurrentTime)
  7590. #define IWMWriterAdvanced3_GetStatistics(This,wStreamNum,pStats) \
  7591. (This)->lpVtbl -> GetStatistics(This,wStreamNum,pStats)
  7592. #define IWMWriterAdvanced3_SetSyncTolerance(This,msWindow) \
  7593. (This)->lpVtbl -> SetSyncTolerance(This,msWindow)
  7594. #define IWMWriterAdvanced3_GetSyncTolerance(This,pmsWindow) \
  7595. (This)->lpVtbl -> GetSyncTolerance(This,pmsWindow)
  7596. #define IWMWriterAdvanced3_GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) \
  7597. (This)->lpVtbl -> GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength)
  7598. #define IWMWriterAdvanced3_SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) \
  7599. (This)->lpVtbl -> SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength)
  7600. #define IWMWriterAdvanced3_GetStatisticsEx(This,wStreamNum,pStats) \
  7601. (This)->lpVtbl -> GetStatisticsEx(This,wStreamNum,pStats)
  7602. #define IWMWriterAdvanced3_SetNonBlocking(This) \
  7603. (This)->lpVtbl -> SetNonBlocking(This)
  7604. #endif /* COBJMACROS */
  7605. #endif /* C style interface */
  7606. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced3_GetStatisticsEx_Proxy(
  7607. IWMWriterAdvanced3 * This,
  7608. /* [in] */ WORD wStreamNum,
  7609. /* [out] */ WM_WRITER_STATISTICS_EX *pStats);
  7610. void __RPC_STUB IWMWriterAdvanced3_GetStatisticsEx_Stub(
  7611. IRpcStubBuffer *This,
  7612. IRpcChannelBuffer *_pRpcChannelBuffer,
  7613. PRPC_MESSAGE _pRpcMessage,
  7614. DWORD *_pdwStubPhase);
  7615. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced3_SetNonBlocking_Proxy(
  7616. IWMWriterAdvanced3 * This);
  7617. void __RPC_STUB IWMWriterAdvanced3_SetNonBlocking_Stub(
  7618. IRpcStubBuffer *This,
  7619. IRpcChannelBuffer *_pRpcChannelBuffer,
  7620. PRPC_MESSAGE _pRpcMessage,
  7621. DWORD *_pdwStubPhase);
  7622. #endif /* __IWMWriterAdvanced3_INTERFACE_DEFINED__ */
  7623. #ifndef __IWMWriterPreprocess_INTERFACE_DEFINED__
  7624. #define __IWMWriterPreprocess_INTERFACE_DEFINED__
  7625. /* interface IWMWriterPreprocess */
  7626. /* [local][unique][helpstring][uuid][object] */
  7627. EXTERN_C const IID IID_IWMWriterPreprocess;
  7628. #if defined(__cplusplus) && !defined(CINTERFACE)
  7629. MIDL_INTERFACE("fc54a285-38c4-45b5-aa23-85b9f7cb424b")
  7630. IWMWriterPreprocess : public IUnknown
  7631. {
  7632. public:
  7633. virtual HRESULT STDMETHODCALLTYPE GetMaxPreprocessingPasses(
  7634. /* [in] */ DWORD dwInputNum,
  7635. /* [in] */ DWORD dwFlags,
  7636. /* [out] */ DWORD *pdwMaxNumPasses) = 0;
  7637. virtual HRESULT STDMETHODCALLTYPE SetNumPreprocessingPasses(
  7638. /* [in] */ DWORD dwInputNum,
  7639. /* [in] */ DWORD dwFlags,
  7640. /* [in] */ DWORD dwNumPasses) = 0;
  7641. virtual HRESULT STDMETHODCALLTYPE BeginPreprocessingPass(
  7642. /* [in] */ DWORD dwInputNum,
  7643. /* [in] */ DWORD dwFlags) = 0;
  7644. virtual HRESULT STDMETHODCALLTYPE PreprocessSample(
  7645. /* [in] */ DWORD dwInputNum,
  7646. /* [in] */ QWORD cnsSampleTime,
  7647. /* [in] */ DWORD dwFlags,
  7648. /* [in] */ INSSBuffer *pSample) = 0;
  7649. virtual HRESULT STDMETHODCALLTYPE EndPreprocessingPass(
  7650. /* [in] */ DWORD dwInputNum,
  7651. /* [in] */ DWORD dwFlags) = 0;
  7652. };
  7653. #else /* C style interface */
  7654. typedef struct IWMWriterPreprocessVtbl
  7655. {
  7656. BEGIN_INTERFACE
  7657. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7658. IWMWriterPreprocess * This,
  7659. /* [in] */ REFIID riid,
  7660. /* [iid_is][out] */ void **ppvObject);
  7661. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7662. IWMWriterPreprocess * This);
  7663. ULONG ( STDMETHODCALLTYPE *Release )(
  7664. IWMWriterPreprocess * This);
  7665. HRESULT ( STDMETHODCALLTYPE *GetMaxPreprocessingPasses )(
  7666. IWMWriterPreprocess * This,
  7667. /* [in] */ DWORD dwInputNum,
  7668. /* [in] */ DWORD dwFlags,
  7669. /* [out] */ DWORD *pdwMaxNumPasses);
  7670. HRESULT ( STDMETHODCALLTYPE *SetNumPreprocessingPasses )(
  7671. IWMWriterPreprocess * This,
  7672. /* [in] */ DWORD dwInputNum,
  7673. /* [in] */ DWORD dwFlags,
  7674. /* [in] */ DWORD dwNumPasses);
  7675. HRESULT ( STDMETHODCALLTYPE *BeginPreprocessingPass )(
  7676. IWMWriterPreprocess * This,
  7677. /* [in] */ DWORD dwInputNum,
  7678. /* [in] */ DWORD dwFlags);
  7679. HRESULT ( STDMETHODCALLTYPE *PreprocessSample )(
  7680. IWMWriterPreprocess * This,
  7681. /* [in] */ DWORD dwInputNum,
  7682. /* [in] */ QWORD cnsSampleTime,
  7683. /* [in] */ DWORD dwFlags,
  7684. /* [in] */ INSSBuffer *pSample);
  7685. HRESULT ( STDMETHODCALLTYPE *EndPreprocessingPass )(
  7686. IWMWriterPreprocess * This,
  7687. /* [in] */ DWORD dwInputNum,
  7688. /* [in] */ DWORD dwFlags);
  7689. END_INTERFACE
  7690. } IWMWriterPreprocessVtbl;
  7691. interface IWMWriterPreprocess
  7692. {
  7693. CONST_VTBL struct IWMWriterPreprocessVtbl *lpVtbl;
  7694. };
  7695. #ifdef COBJMACROS
  7696. #define IWMWriterPreprocess_QueryInterface(This,riid,ppvObject) \
  7697. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7698. #define IWMWriterPreprocess_AddRef(This) \
  7699. (This)->lpVtbl -> AddRef(This)
  7700. #define IWMWriterPreprocess_Release(This) \
  7701. (This)->lpVtbl -> Release(This)
  7702. #define IWMWriterPreprocess_GetMaxPreprocessingPasses(This,dwInputNum,dwFlags,pdwMaxNumPasses) \
  7703. (This)->lpVtbl -> GetMaxPreprocessingPasses(This,dwInputNum,dwFlags,pdwMaxNumPasses)
  7704. #define IWMWriterPreprocess_SetNumPreprocessingPasses(This,dwInputNum,dwFlags,dwNumPasses) \
  7705. (This)->lpVtbl -> SetNumPreprocessingPasses(This,dwInputNum,dwFlags,dwNumPasses)
  7706. #define IWMWriterPreprocess_BeginPreprocessingPass(This,dwInputNum,dwFlags) \
  7707. (This)->lpVtbl -> BeginPreprocessingPass(This,dwInputNum,dwFlags)
  7708. #define IWMWriterPreprocess_PreprocessSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample) \
  7709. (This)->lpVtbl -> PreprocessSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample)
  7710. #define IWMWriterPreprocess_EndPreprocessingPass(This,dwInputNum,dwFlags) \
  7711. (This)->lpVtbl -> EndPreprocessingPass(This,dwInputNum,dwFlags)
  7712. #endif /* COBJMACROS */
  7713. #endif /* C style interface */
  7714. HRESULT STDMETHODCALLTYPE IWMWriterPreprocess_GetMaxPreprocessingPasses_Proxy(
  7715. IWMWriterPreprocess * This,
  7716. /* [in] */ DWORD dwInputNum,
  7717. /* [in] */ DWORD dwFlags,
  7718. /* [out] */ DWORD *pdwMaxNumPasses);
  7719. void __RPC_STUB IWMWriterPreprocess_GetMaxPreprocessingPasses_Stub(
  7720. IRpcStubBuffer *This,
  7721. IRpcChannelBuffer *_pRpcChannelBuffer,
  7722. PRPC_MESSAGE _pRpcMessage,
  7723. DWORD *_pdwStubPhase);
  7724. HRESULT STDMETHODCALLTYPE IWMWriterPreprocess_SetNumPreprocessingPasses_Proxy(
  7725. IWMWriterPreprocess * This,
  7726. /* [in] */ DWORD dwInputNum,
  7727. /* [in] */ DWORD dwFlags,
  7728. /* [in] */ DWORD dwNumPasses);
  7729. void __RPC_STUB IWMWriterPreprocess_SetNumPreprocessingPasses_Stub(
  7730. IRpcStubBuffer *This,
  7731. IRpcChannelBuffer *_pRpcChannelBuffer,
  7732. PRPC_MESSAGE _pRpcMessage,
  7733. DWORD *_pdwStubPhase);
  7734. HRESULT STDMETHODCALLTYPE IWMWriterPreprocess_BeginPreprocessingPass_Proxy(
  7735. IWMWriterPreprocess * This,
  7736. /* [in] */ DWORD dwInputNum,
  7737. /* [in] */ DWORD dwFlags);
  7738. void __RPC_STUB IWMWriterPreprocess_BeginPreprocessingPass_Stub(
  7739. IRpcStubBuffer *This,
  7740. IRpcChannelBuffer *_pRpcChannelBuffer,
  7741. PRPC_MESSAGE _pRpcMessage,
  7742. DWORD *_pdwStubPhase);
  7743. HRESULT STDMETHODCALLTYPE IWMWriterPreprocess_PreprocessSample_Proxy(
  7744. IWMWriterPreprocess * This,
  7745. /* [in] */ DWORD dwInputNum,
  7746. /* [in] */ QWORD cnsSampleTime,
  7747. /* [in] */ DWORD dwFlags,
  7748. /* [in] */ INSSBuffer *pSample);
  7749. void __RPC_STUB IWMWriterPreprocess_PreprocessSample_Stub(
  7750. IRpcStubBuffer *This,
  7751. IRpcChannelBuffer *_pRpcChannelBuffer,
  7752. PRPC_MESSAGE _pRpcMessage,
  7753. DWORD *_pdwStubPhase);
  7754. HRESULT STDMETHODCALLTYPE IWMWriterPreprocess_EndPreprocessingPass_Proxy(
  7755. IWMWriterPreprocess * This,
  7756. /* [in] */ DWORD dwInputNum,
  7757. /* [in] */ DWORD dwFlags);
  7758. void __RPC_STUB IWMWriterPreprocess_EndPreprocessingPass_Stub(
  7759. IRpcStubBuffer *This,
  7760. IRpcChannelBuffer *_pRpcChannelBuffer,
  7761. PRPC_MESSAGE _pRpcMessage,
  7762. DWORD *_pdwStubPhase);
  7763. #endif /* __IWMWriterPreprocess_INTERFACE_DEFINED__ */
  7764. #ifndef __IWMWriterPostViewCallback_INTERFACE_DEFINED__
  7765. #define __IWMWriterPostViewCallback_INTERFACE_DEFINED__
  7766. /* interface IWMWriterPostViewCallback */
  7767. /* [local][unique][helpstring][uuid][object] */
  7768. EXTERN_C const IID IID_IWMWriterPostViewCallback;
  7769. #if defined(__cplusplus) && !defined(CINTERFACE)
  7770. MIDL_INTERFACE("D9D6549D-A193-4f24-B308-03123D9B7F8D")
  7771. IWMWriterPostViewCallback : public IWMStatusCallback
  7772. {
  7773. public:
  7774. virtual HRESULT STDMETHODCALLTYPE OnPostViewSample(
  7775. /* [in] */ WORD wStreamNumber,
  7776. /* [in] */ QWORD cnsSampleTime,
  7777. /* [in] */ QWORD cnsSampleDuration,
  7778. /* [in] */ DWORD dwFlags,
  7779. /* [in] */ INSSBuffer *pSample,
  7780. /* [in] */ void *pvContext) = 0;
  7781. virtual HRESULT STDMETHODCALLTYPE AllocateForPostView(
  7782. /* [in] */ WORD wStreamNum,
  7783. /* [in] */ DWORD cbBuffer,
  7784. /* [out] */ INSSBuffer **ppBuffer,
  7785. /* [in] */ void *pvContext) = 0;
  7786. };
  7787. #else /* C style interface */
  7788. typedef struct IWMWriterPostViewCallbackVtbl
  7789. {
  7790. BEGIN_INTERFACE
  7791. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7792. IWMWriterPostViewCallback * This,
  7793. /* [in] */ REFIID riid,
  7794. /* [iid_is][out] */ void **ppvObject);
  7795. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7796. IWMWriterPostViewCallback * This);
  7797. ULONG ( STDMETHODCALLTYPE *Release )(
  7798. IWMWriterPostViewCallback * This);
  7799. HRESULT ( STDMETHODCALLTYPE *OnStatus )(
  7800. IWMWriterPostViewCallback * This,
  7801. /* [in] */ WMT_STATUS Status,
  7802. /* [in] */ HRESULT hr,
  7803. /* [in] */ WMT_ATTR_DATATYPE dwType,
  7804. /* [in] */ BYTE *pValue,
  7805. /* [in] */ void *pvContext);
  7806. HRESULT ( STDMETHODCALLTYPE *OnPostViewSample )(
  7807. IWMWriterPostViewCallback * This,
  7808. /* [in] */ WORD wStreamNumber,
  7809. /* [in] */ QWORD cnsSampleTime,
  7810. /* [in] */ QWORD cnsSampleDuration,
  7811. /* [in] */ DWORD dwFlags,
  7812. /* [in] */ INSSBuffer *pSample,
  7813. /* [in] */ void *pvContext);
  7814. HRESULT ( STDMETHODCALLTYPE *AllocateForPostView )(
  7815. IWMWriterPostViewCallback * This,
  7816. /* [in] */ WORD wStreamNum,
  7817. /* [in] */ DWORD cbBuffer,
  7818. /* [out] */ INSSBuffer **ppBuffer,
  7819. /* [in] */ void *pvContext);
  7820. END_INTERFACE
  7821. } IWMWriterPostViewCallbackVtbl;
  7822. interface IWMWriterPostViewCallback
  7823. {
  7824. CONST_VTBL struct IWMWriterPostViewCallbackVtbl *lpVtbl;
  7825. };
  7826. #ifdef COBJMACROS
  7827. #define IWMWriterPostViewCallback_QueryInterface(This,riid,ppvObject) \
  7828. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7829. #define IWMWriterPostViewCallback_AddRef(This) \
  7830. (This)->lpVtbl -> AddRef(This)
  7831. #define IWMWriterPostViewCallback_Release(This) \
  7832. (This)->lpVtbl -> Release(This)
  7833. #define IWMWriterPostViewCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) \
  7834. (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext)
  7835. #define IWMWriterPostViewCallback_OnPostViewSample(This,wStreamNumber,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) \
  7836. (This)->lpVtbl -> OnPostViewSample(This,wStreamNumber,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  7837. #define IWMWriterPostViewCallback_AllocateForPostView(This,wStreamNum,cbBuffer,ppBuffer,pvContext) \
  7838. (This)->lpVtbl -> AllocateForPostView(This,wStreamNum,cbBuffer,ppBuffer,pvContext)
  7839. #endif /* COBJMACROS */
  7840. #endif /* C style interface */
  7841. HRESULT STDMETHODCALLTYPE IWMWriterPostViewCallback_OnPostViewSample_Proxy(
  7842. IWMWriterPostViewCallback * This,
  7843. /* [in] */ WORD wStreamNumber,
  7844. /* [in] */ QWORD cnsSampleTime,
  7845. /* [in] */ QWORD cnsSampleDuration,
  7846. /* [in] */ DWORD dwFlags,
  7847. /* [in] */ INSSBuffer *pSample,
  7848. /* [in] */ void *pvContext);
  7849. void __RPC_STUB IWMWriterPostViewCallback_OnPostViewSample_Stub(
  7850. IRpcStubBuffer *This,
  7851. IRpcChannelBuffer *_pRpcChannelBuffer,
  7852. PRPC_MESSAGE _pRpcMessage,
  7853. DWORD *_pdwStubPhase);
  7854. HRESULT STDMETHODCALLTYPE IWMWriterPostViewCallback_AllocateForPostView_Proxy(
  7855. IWMWriterPostViewCallback * This,
  7856. /* [in] */ WORD wStreamNum,
  7857. /* [in] */ DWORD cbBuffer,
  7858. /* [out] */ INSSBuffer **ppBuffer,
  7859. /* [in] */ void *pvContext);
  7860. void __RPC_STUB IWMWriterPostViewCallback_AllocateForPostView_Stub(
  7861. IRpcStubBuffer *This,
  7862. IRpcChannelBuffer *_pRpcChannelBuffer,
  7863. PRPC_MESSAGE _pRpcMessage,
  7864. DWORD *_pdwStubPhase);
  7865. #endif /* __IWMWriterPostViewCallback_INTERFACE_DEFINED__ */
  7866. #ifndef __IWMWriterPostView_INTERFACE_DEFINED__
  7867. #define __IWMWriterPostView_INTERFACE_DEFINED__
  7868. /* interface IWMWriterPostView */
  7869. /* [local][unique][helpstring][uuid][object] */
  7870. EXTERN_C const IID IID_IWMWriterPostView;
  7871. #if defined(__cplusplus) && !defined(CINTERFACE)
  7872. MIDL_INTERFACE("81E20CE4-75EF-491a-8004-FC53C45BDC3E")
  7873. IWMWriterPostView : public IUnknown
  7874. {
  7875. public:
  7876. virtual HRESULT STDMETHODCALLTYPE SetPostViewCallback(
  7877. IWMWriterPostViewCallback *pCallback,
  7878. void *pvContext) = 0;
  7879. virtual HRESULT STDMETHODCALLTYPE SetReceivePostViewSamples(
  7880. /* [in] */ WORD wStreamNum,
  7881. /* [in] */ BOOL fReceivePostViewSamples) = 0;
  7882. virtual HRESULT STDMETHODCALLTYPE GetReceivePostViewSamples(
  7883. /* [in] */ WORD wStreamNum,
  7884. /* [out] */ BOOL *pfReceivePostViewSamples) = 0;
  7885. virtual HRESULT STDMETHODCALLTYPE GetPostViewProps(
  7886. /* [in] */ WORD wStreamNumber,
  7887. /* [out] */ IWMMediaProps **ppOutput) = 0;
  7888. virtual HRESULT STDMETHODCALLTYPE SetPostViewProps(
  7889. /* [in] */ WORD wStreamNumber,
  7890. /* [in] */ IWMMediaProps *pOutput) = 0;
  7891. virtual HRESULT STDMETHODCALLTYPE GetPostViewFormatCount(
  7892. /* [in] */ WORD wStreamNumber,
  7893. /* [out] */ DWORD *pcFormats) = 0;
  7894. virtual HRESULT STDMETHODCALLTYPE GetPostViewFormat(
  7895. /* [in] */ WORD wStreamNumber,
  7896. /* [in] */ DWORD dwFormatNumber,
  7897. /* [out] */ IWMMediaProps **ppProps) = 0;
  7898. virtual HRESULT STDMETHODCALLTYPE SetAllocateForPostView(
  7899. /* [in] */ WORD wStreamNumber,
  7900. /* [in] */ BOOL fAllocate) = 0;
  7901. virtual HRESULT STDMETHODCALLTYPE GetAllocateForPostView(
  7902. /* [in] */ WORD wStreamNumber,
  7903. /* [out] */ BOOL *pfAllocate) = 0;
  7904. };
  7905. #else /* C style interface */
  7906. typedef struct IWMWriterPostViewVtbl
  7907. {
  7908. BEGIN_INTERFACE
  7909. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7910. IWMWriterPostView * This,
  7911. /* [in] */ REFIID riid,
  7912. /* [iid_is][out] */ void **ppvObject);
  7913. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7914. IWMWriterPostView * This);
  7915. ULONG ( STDMETHODCALLTYPE *Release )(
  7916. IWMWriterPostView * This);
  7917. HRESULT ( STDMETHODCALLTYPE *SetPostViewCallback )(
  7918. IWMWriterPostView * This,
  7919. IWMWriterPostViewCallback *pCallback,
  7920. void *pvContext);
  7921. HRESULT ( STDMETHODCALLTYPE *SetReceivePostViewSamples )(
  7922. IWMWriterPostView * This,
  7923. /* [in] */ WORD wStreamNum,
  7924. /* [in] */ BOOL fReceivePostViewSamples);
  7925. HRESULT ( STDMETHODCALLTYPE *GetReceivePostViewSamples )(
  7926. IWMWriterPostView * This,
  7927. /* [in] */ WORD wStreamNum,
  7928. /* [out] */ BOOL *pfReceivePostViewSamples);
  7929. HRESULT ( STDMETHODCALLTYPE *GetPostViewProps )(
  7930. IWMWriterPostView * This,
  7931. /* [in] */ WORD wStreamNumber,
  7932. /* [out] */ IWMMediaProps **ppOutput);
  7933. HRESULT ( STDMETHODCALLTYPE *SetPostViewProps )(
  7934. IWMWriterPostView * This,
  7935. /* [in] */ WORD wStreamNumber,
  7936. /* [in] */ IWMMediaProps *pOutput);
  7937. HRESULT ( STDMETHODCALLTYPE *GetPostViewFormatCount )(
  7938. IWMWriterPostView * This,
  7939. /* [in] */ WORD wStreamNumber,
  7940. /* [out] */ DWORD *pcFormats);
  7941. HRESULT ( STDMETHODCALLTYPE *GetPostViewFormat )(
  7942. IWMWriterPostView * This,
  7943. /* [in] */ WORD wStreamNumber,
  7944. /* [in] */ DWORD dwFormatNumber,
  7945. /* [out] */ IWMMediaProps **ppProps);
  7946. HRESULT ( STDMETHODCALLTYPE *SetAllocateForPostView )(
  7947. IWMWriterPostView * This,
  7948. /* [in] */ WORD wStreamNumber,
  7949. /* [in] */ BOOL fAllocate);
  7950. HRESULT ( STDMETHODCALLTYPE *GetAllocateForPostView )(
  7951. IWMWriterPostView * This,
  7952. /* [in] */ WORD wStreamNumber,
  7953. /* [out] */ BOOL *pfAllocate);
  7954. END_INTERFACE
  7955. } IWMWriterPostViewVtbl;
  7956. interface IWMWriterPostView
  7957. {
  7958. CONST_VTBL struct IWMWriterPostViewVtbl *lpVtbl;
  7959. };
  7960. #ifdef COBJMACROS
  7961. #define IWMWriterPostView_QueryInterface(This,riid,ppvObject) \
  7962. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7963. #define IWMWriterPostView_AddRef(This) \
  7964. (This)->lpVtbl -> AddRef(This)
  7965. #define IWMWriterPostView_Release(This) \
  7966. (This)->lpVtbl -> Release(This)
  7967. #define IWMWriterPostView_SetPostViewCallback(This,pCallback,pvContext) \
  7968. (This)->lpVtbl -> SetPostViewCallback(This,pCallback,pvContext)
  7969. #define IWMWriterPostView_SetReceivePostViewSamples(This,wStreamNum,fReceivePostViewSamples) \
  7970. (This)->lpVtbl -> SetReceivePostViewSamples(This,wStreamNum,fReceivePostViewSamples)
  7971. #define IWMWriterPostView_GetReceivePostViewSamples(This,wStreamNum,pfReceivePostViewSamples) \
  7972. (This)->lpVtbl -> GetReceivePostViewSamples(This,wStreamNum,pfReceivePostViewSamples)
  7973. #define IWMWriterPostView_GetPostViewProps(This,wStreamNumber,ppOutput) \
  7974. (This)->lpVtbl -> GetPostViewProps(This,wStreamNumber,ppOutput)
  7975. #define IWMWriterPostView_SetPostViewProps(This,wStreamNumber,pOutput) \
  7976. (This)->lpVtbl -> SetPostViewProps(This,wStreamNumber,pOutput)
  7977. #define IWMWriterPostView_GetPostViewFormatCount(This,wStreamNumber,pcFormats) \
  7978. (This)->lpVtbl -> GetPostViewFormatCount(This,wStreamNumber,pcFormats)
  7979. #define IWMWriterPostView_GetPostViewFormat(This,wStreamNumber,dwFormatNumber,ppProps) \
  7980. (This)->lpVtbl -> GetPostViewFormat(This,wStreamNumber,dwFormatNumber,ppProps)
  7981. #define IWMWriterPostView_SetAllocateForPostView(This,wStreamNumber,fAllocate) \
  7982. (This)->lpVtbl -> SetAllocateForPostView(This,wStreamNumber,fAllocate)
  7983. #define IWMWriterPostView_GetAllocateForPostView(This,wStreamNumber,pfAllocate) \
  7984. (This)->lpVtbl -> GetAllocateForPostView(This,wStreamNumber,pfAllocate)
  7985. #endif /* COBJMACROS */
  7986. #endif /* C style interface */
  7987. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetPostViewCallback_Proxy(
  7988. IWMWriterPostView * This,
  7989. IWMWriterPostViewCallback *pCallback,
  7990. void *pvContext);
  7991. void __RPC_STUB IWMWriterPostView_SetPostViewCallback_Stub(
  7992. IRpcStubBuffer *This,
  7993. IRpcChannelBuffer *_pRpcChannelBuffer,
  7994. PRPC_MESSAGE _pRpcMessage,
  7995. DWORD *_pdwStubPhase);
  7996. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetReceivePostViewSamples_Proxy(
  7997. IWMWriterPostView * This,
  7998. /* [in] */ WORD wStreamNum,
  7999. /* [in] */ BOOL fReceivePostViewSamples);
  8000. void __RPC_STUB IWMWriterPostView_SetReceivePostViewSamples_Stub(
  8001. IRpcStubBuffer *This,
  8002. IRpcChannelBuffer *_pRpcChannelBuffer,
  8003. PRPC_MESSAGE _pRpcMessage,
  8004. DWORD *_pdwStubPhase);
  8005. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetReceivePostViewSamples_Proxy(
  8006. IWMWriterPostView * This,
  8007. /* [in] */ WORD wStreamNum,
  8008. /* [out] */ BOOL *pfReceivePostViewSamples);
  8009. void __RPC_STUB IWMWriterPostView_GetReceivePostViewSamples_Stub(
  8010. IRpcStubBuffer *This,
  8011. IRpcChannelBuffer *_pRpcChannelBuffer,
  8012. PRPC_MESSAGE _pRpcMessage,
  8013. DWORD *_pdwStubPhase);
  8014. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetPostViewProps_Proxy(
  8015. IWMWriterPostView * This,
  8016. /* [in] */ WORD wStreamNumber,
  8017. /* [out] */ IWMMediaProps **ppOutput);
  8018. void __RPC_STUB IWMWriterPostView_GetPostViewProps_Stub(
  8019. IRpcStubBuffer *This,
  8020. IRpcChannelBuffer *_pRpcChannelBuffer,
  8021. PRPC_MESSAGE _pRpcMessage,
  8022. DWORD *_pdwStubPhase);
  8023. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetPostViewProps_Proxy(
  8024. IWMWriterPostView * This,
  8025. /* [in] */ WORD wStreamNumber,
  8026. /* [in] */ IWMMediaProps *pOutput);
  8027. void __RPC_STUB IWMWriterPostView_SetPostViewProps_Stub(
  8028. IRpcStubBuffer *This,
  8029. IRpcChannelBuffer *_pRpcChannelBuffer,
  8030. PRPC_MESSAGE _pRpcMessage,
  8031. DWORD *_pdwStubPhase);
  8032. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetPostViewFormatCount_Proxy(
  8033. IWMWriterPostView * This,
  8034. /* [in] */ WORD wStreamNumber,
  8035. /* [out] */ DWORD *pcFormats);
  8036. void __RPC_STUB IWMWriterPostView_GetPostViewFormatCount_Stub(
  8037. IRpcStubBuffer *This,
  8038. IRpcChannelBuffer *_pRpcChannelBuffer,
  8039. PRPC_MESSAGE _pRpcMessage,
  8040. DWORD *_pdwStubPhase);
  8041. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetPostViewFormat_Proxy(
  8042. IWMWriterPostView * This,
  8043. /* [in] */ WORD wStreamNumber,
  8044. /* [in] */ DWORD dwFormatNumber,
  8045. /* [out] */ IWMMediaProps **ppProps);
  8046. void __RPC_STUB IWMWriterPostView_GetPostViewFormat_Stub(
  8047. IRpcStubBuffer *This,
  8048. IRpcChannelBuffer *_pRpcChannelBuffer,
  8049. PRPC_MESSAGE _pRpcMessage,
  8050. DWORD *_pdwStubPhase);
  8051. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetAllocateForPostView_Proxy(
  8052. IWMWriterPostView * This,
  8053. /* [in] */ WORD wStreamNumber,
  8054. /* [in] */ BOOL fAllocate);
  8055. void __RPC_STUB IWMWriterPostView_SetAllocateForPostView_Stub(
  8056. IRpcStubBuffer *This,
  8057. IRpcChannelBuffer *_pRpcChannelBuffer,
  8058. PRPC_MESSAGE _pRpcMessage,
  8059. DWORD *_pdwStubPhase);
  8060. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetAllocateForPostView_Proxy(
  8061. IWMWriterPostView * This,
  8062. /* [in] */ WORD wStreamNumber,
  8063. /* [out] */ BOOL *pfAllocate);
  8064. void __RPC_STUB IWMWriterPostView_GetAllocateForPostView_Stub(
  8065. IRpcStubBuffer *This,
  8066. IRpcChannelBuffer *_pRpcChannelBuffer,
  8067. PRPC_MESSAGE _pRpcMessage,
  8068. DWORD *_pdwStubPhase);
  8069. #endif /* __IWMWriterPostView_INTERFACE_DEFINED__ */
  8070. #ifndef __IWMWriterSink_INTERFACE_DEFINED__
  8071. #define __IWMWriterSink_INTERFACE_DEFINED__
  8072. /* interface IWMWriterSink */
  8073. /* [local][unique][helpstring][uuid][object] */
  8074. EXTERN_C const IID IID_IWMWriterSink;
  8075. #if defined(__cplusplus) && !defined(CINTERFACE)
  8076. MIDL_INTERFACE("96406BE4-2B2B-11d3-B36B-00C04F6108FF")
  8077. IWMWriterSink : public IUnknown
  8078. {
  8079. public:
  8080. virtual HRESULT STDMETHODCALLTYPE OnHeader(
  8081. /* [in] */ INSSBuffer *pHeader) = 0;
  8082. virtual HRESULT STDMETHODCALLTYPE IsRealTime(
  8083. /* [out] */ BOOL *pfRealTime) = 0;
  8084. virtual HRESULT STDMETHODCALLTYPE AllocateDataUnit(
  8085. /* [in] */ DWORD cbDataUnit,
  8086. /* [out] */ INSSBuffer **ppDataUnit) = 0;
  8087. virtual HRESULT STDMETHODCALLTYPE OnDataUnit(
  8088. /* [in] */ INSSBuffer *pDataUnit) = 0;
  8089. virtual HRESULT STDMETHODCALLTYPE OnEndWriting( void) = 0;
  8090. };
  8091. #else /* C style interface */
  8092. typedef struct IWMWriterSinkVtbl
  8093. {
  8094. BEGIN_INTERFACE
  8095. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8096. IWMWriterSink * This,
  8097. /* [in] */ REFIID riid,
  8098. /* [iid_is][out] */ void **ppvObject);
  8099. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8100. IWMWriterSink * This);
  8101. ULONG ( STDMETHODCALLTYPE *Release )(
  8102. IWMWriterSink * This);
  8103. HRESULT ( STDMETHODCALLTYPE *OnHeader )(
  8104. IWMWriterSink * This,
  8105. /* [in] */ INSSBuffer *pHeader);
  8106. HRESULT ( STDMETHODCALLTYPE *IsRealTime )(
  8107. IWMWriterSink * This,
  8108. /* [out] */ BOOL *pfRealTime);
  8109. HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )(
  8110. IWMWriterSink * This,
  8111. /* [in] */ DWORD cbDataUnit,
  8112. /* [out] */ INSSBuffer **ppDataUnit);
  8113. HRESULT ( STDMETHODCALLTYPE *OnDataUnit )(
  8114. IWMWriterSink * This,
  8115. /* [in] */ INSSBuffer *pDataUnit);
  8116. HRESULT ( STDMETHODCALLTYPE *OnEndWriting )(
  8117. IWMWriterSink * This);
  8118. END_INTERFACE
  8119. } IWMWriterSinkVtbl;
  8120. interface IWMWriterSink
  8121. {
  8122. CONST_VTBL struct IWMWriterSinkVtbl *lpVtbl;
  8123. };
  8124. #ifdef COBJMACROS
  8125. #define IWMWriterSink_QueryInterface(This,riid,ppvObject) \
  8126. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8127. #define IWMWriterSink_AddRef(This) \
  8128. (This)->lpVtbl -> AddRef(This)
  8129. #define IWMWriterSink_Release(This) \
  8130. (This)->lpVtbl -> Release(This)
  8131. #define IWMWriterSink_OnHeader(This,pHeader) \
  8132. (This)->lpVtbl -> OnHeader(This,pHeader)
  8133. #define IWMWriterSink_IsRealTime(This,pfRealTime) \
  8134. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  8135. #define IWMWriterSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \
  8136. (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  8137. #define IWMWriterSink_OnDataUnit(This,pDataUnit) \
  8138. (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  8139. #define IWMWriterSink_OnEndWriting(This) \
  8140. (This)->lpVtbl -> OnEndWriting(This)
  8141. #endif /* COBJMACROS */
  8142. #endif /* C style interface */
  8143. HRESULT STDMETHODCALLTYPE IWMWriterSink_OnHeader_Proxy(
  8144. IWMWriterSink * This,
  8145. /* [in] */ INSSBuffer *pHeader);
  8146. void __RPC_STUB IWMWriterSink_OnHeader_Stub(
  8147. IRpcStubBuffer *This,
  8148. IRpcChannelBuffer *_pRpcChannelBuffer,
  8149. PRPC_MESSAGE _pRpcMessage,
  8150. DWORD *_pdwStubPhase);
  8151. HRESULT STDMETHODCALLTYPE IWMWriterSink_IsRealTime_Proxy(
  8152. IWMWriterSink * This,
  8153. /* [out] */ BOOL *pfRealTime);
  8154. void __RPC_STUB IWMWriterSink_IsRealTime_Stub(
  8155. IRpcStubBuffer *This,
  8156. IRpcChannelBuffer *_pRpcChannelBuffer,
  8157. PRPC_MESSAGE _pRpcMessage,
  8158. DWORD *_pdwStubPhase);
  8159. HRESULT STDMETHODCALLTYPE IWMWriterSink_AllocateDataUnit_Proxy(
  8160. IWMWriterSink * This,
  8161. /* [in] */ DWORD cbDataUnit,
  8162. /* [out] */ INSSBuffer **ppDataUnit);
  8163. void __RPC_STUB IWMWriterSink_AllocateDataUnit_Stub(
  8164. IRpcStubBuffer *This,
  8165. IRpcChannelBuffer *_pRpcChannelBuffer,
  8166. PRPC_MESSAGE _pRpcMessage,
  8167. DWORD *_pdwStubPhase);
  8168. HRESULT STDMETHODCALLTYPE IWMWriterSink_OnDataUnit_Proxy(
  8169. IWMWriterSink * This,
  8170. /* [in] */ INSSBuffer *pDataUnit);
  8171. void __RPC_STUB IWMWriterSink_OnDataUnit_Stub(
  8172. IRpcStubBuffer *This,
  8173. IRpcChannelBuffer *_pRpcChannelBuffer,
  8174. PRPC_MESSAGE _pRpcMessage,
  8175. DWORD *_pdwStubPhase);
  8176. HRESULT STDMETHODCALLTYPE IWMWriterSink_OnEndWriting_Proxy(
  8177. IWMWriterSink * This);
  8178. void __RPC_STUB IWMWriterSink_OnEndWriting_Stub(
  8179. IRpcStubBuffer *This,
  8180. IRpcChannelBuffer *_pRpcChannelBuffer,
  8181. PRPC_MESSAGE _pRpcMessage,
  8182. DWORD *_pdwStubPhase);
  8183. #endif /* __IWMWriterSink_INTERFACE_DEFINED__ */
  8184. #ifndef __IWMRegisterCallback_INTERFACE_DEFINED__
  8185. #define __IWMRegisterCallback_INTERFACE_DEFINED__
  8186. /* interface IWMRegisterCallback */
  8187. /* [local][unique][helpstring][uuid][object] */
  8188. EXTERN_C const IID IID_IWMRegisterCallback;
  8189. #if defined(__cplusplus) && !defined(CINTERFACE)
  8190. MIDL_INTERFACE("CF4B1F99-4DE2-4e49-A363-252740D99BC1")
  8191. IWMRegisterCallback : public IUnknown
  8192. {
  8193. public:
  8194. virtual HRESULT STDMETHODCALLTYPE Advise(
  8195. /* [in] */ IWMStatusCallback *pCallback,
  8196. /* [in] */ void *pvContext) = 0;
  8197. virtual HRESULT STDMETHODCALLTYPE Unadvise(
  8198. /* [in] */ IWMStatusCallback *pCallback,
  8199. /* [in] */ void *pvContext) = 0;
  8200. };
  8201. #else /* C style interface */
  8202. typedef struct IWMRegisterCallbackVtbl
  8203. {
  8204. BEGIN_INTERFACE
  8205. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8206. IWMRegisterCallback * This,
  8207. /* [in] */ REFIID riid,
  8208. /* [iid_is][out] */ void **ppvObject);
  8209. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8210. IWMRegisterCallback * This);
  8211. ULONG ( STDMETHODCALLTYPE *Release )(
  8212. IWMRegisterCallback * This);
  8213. HRESULT ( STDMETHODCALLTYPE *Advise )(
  8214. IWMRegisterCallback * This,
  8215. /* [in] */ IWMStatusCallback *pCallback,
  8216. /* [in] */ void *pvContext);
  8217. HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  8218. IWMRegisterCallback * This,
  8219. /* [in] */ IWMStatusCallback *pCallback,
  8220. /* [in] */ void *pvContext);
  8221. END_INTERFACE
  8222. } IWMRegisterCallbackVtbl;
  8223. interface IWMRegisterCallback
  8224. {
  8225. CONST_VTBL struct IWMRegisterCallbackVtbl *lpVtbl;
  8226. };
  8227. #ifdef COBJMACROS
  8228. #define IWMRegisterCallback_QueryInterface(This,riid,ppvObject) \
  8229. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8230. #define IWMRegisterCallback_AddRef(This) \
  8231. (This)->lpVtbl -> AddRef(This)
  8232. #define IWMRegisterCallback_Release(This) \
  8233. (This)->lpVtbl -> Release(This)
  8234. #define IWMRegisterCallback_Advise(This,pCallback,pvContext) \
  8235. (This)->lpVtbl -> Advise(This,pCallback,pvContext)
  8236. #define IWMRegisterCallback_Unadvise(This,pCallback,pvContext) \
  8237. (This)->lpVtbl -> Unadvise(This,pCallback,pvContext)
  8238. #endif /* COBJMACROS */
  8239. #endif /* C style interface */
  8240. HRESULT STDMETHODCALLTYPE IWMRegisterCallback_Advise_Proxy(
  8241. IWMRegisterCallback * This,
  8242. /* [in] */ IWMStatusCallback *pCallback,
  8243. /* [in] */ void *pvContext);
  8244. void __RPC_STUB IWMRegisterCallback_Advise_Stub(
  8245. IRpcStubBuffer *This,
  8246. IRpcChannelBuffer *_pRpcChannelBuffer,
  8247. PRPC_MESSAGE _pRpcMessage,
  8248. DWORD *_pdwStubPhase);
  8249. HRESULT STDMETHODCALLTYPE IWMRegisterCallback_Unadvise_Proxy(
  8250. IWMRegisterCallback * This,
  8251. /* [in] */ IWMStatusCallback *pCallback,
  8252. /* [in] */ void *pvContext);
  8253. void __RPC_STUB IWMRegisterCallback_Unadvise_Stub(
  8254. IRpcStubBuffer *This,
  8255. IRpcChannelBuffer *_pRpcChannelBuffer,
  8256. PRPC_MESSAGE _pRpcMessage,
  8257. DWORD *_pdwStubPhase);
  8258. #endif /* __IWMRegisterCallback_INTERFACE_DEFINED__ */
  8259. #ifndef __IWMWriterFileSink_INTERFACE_DEFINED__
  8260. #define __IWMWriterFileSink_INTERFACE_DEFINED__
  8261. /* interface IWMWriterFileSink */
  8262. /* [local][unique][helpstring][uuid][object] */
  8263. EXTERN_C const IID IID_IWMWriterFileSink;
  8264. #if defined(__cplusplus) && !defined(CINTERFACE)
  8265. MIDL_INTERFACE("96406BE5-2B2B-11d3-B36B-00C04F6108FF")
  8266. IWMWriterFileSink : public IWMWriterSink
  8267. {
  8268. public:
  8269. virtual HRESULT STDMETHODCALLTYPE Open(
  8270. /* [in] */ const WCHAR *pwszFilename) = 0;
  8271. };
  8272. #else /* C style interface */
  8273. typedef struct IWMWriterFileSinkVtbl
  8274. {
  8275. BEGIN_INTERFACE
  8276. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8277. IWMWriterFileSink * This,
  8278. /* [in] */ REFIID riid,
  8279. /* [iid_is][out] */ void **ppvObject);
  8280. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8281. IWMWriterFileSink * This);
  8282. ULONG ( STDMETHODCALLTYPE *Release )(
  8283. IWMWriterFileSink * This);
  8284. HRESULT ( STDMETHODCALLTYPE *OnHeader )(
  8285. IWMWriterFileSink * This,
  8286. /* [in] */ INSSBuffer *pHeader);
  8287. HRESULT ( STDMETHODCALLTYPE *IsRealTime )(
  8288. IWMWriterFileSink * This,
  8289. /* [out] */ BOOL *pfRealTime);
  8290. HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )(
  8291. IWMWriterFileSink * This,
  8292. /* [in] */ DWORD cbDataUnit,
  8293. /* [out] */ INSSBuffer **ppDataUnit);
  8294. HRESULT ( STDMETHODCALLTYPE *OnDataUnit )(
  8295. IWMWriterFileSink * This,
  8296. /* [in] */ INSSBuffer *pDataUnit);
  8297. HRESULT ( STDMETHODCALLTYPE *OnEndWriting )(
  8298. IWMWriterFileSink * This);
  8299. HRESULT ( STDMETHODCALLTYPE *Open )(
  8300. IWMWriterFileSink * This,
  8301. /* [in] */ const WCHAR *pwszFilename);
  8302. END_INTERFACE
  8303. } IWMWriterFileSinkVtbl;
  8304. interface IWMWriterFileSink
  8305. {
  8306. CONST_VTBL struct IWMWriterFileSinkVtbl *lpVtbl;
  8307. };
  8308. #ifdef COBJMACROS
  8309. #define IWMWriterFileSink_QueryInterface(This,riid,ppvObject) \
  8310. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8311. #define IWMWriterFileSink_AddRef(This) \
  8312. (This)->lpVtbl -> AddRef(This)
  8313. #define IWMWriterFileSink_Release(This) \
  8314. (This)->lpVtbl -> Release(This)
  8315. #define IWMWriterFileSink_OnHeader(This,pHeader) \
  8316. (This)->lpVtbl -> OnHeader(This,pHeader)
  8317. #define IWMWriterFileSink_IsRealTime(This,pfRealTime) \
  8318. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  8319. #define IWMWriterFileSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \
  8320. (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  8321. #define IWMWriterFileSink_OnDataUnit(This,pDataUnit) \
  8322. (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  8323. #define IWMWriterFileSink_OnEndWriting(This) \
  8324. (This)->lpVtbl -> OnEndWriting(This)
  8325. #define IWMWriterFileSink_Open(This,pwszFilename) \
  8326. (This)->lpVtbl -> Open(This,pwszFilename)
  8327. #endif /* COBJMACROS */
  8328. #endif /* C style interface */
  8329. HRESULT STDMETHODCALLTYPE IWMWriterFileSink_Open_Proxy(
  8330. IWMWriterFileSink * This,
  8331. /* [in] */ const WCHAR *pwszFilename);
  8332. void __RPC_STUB IWMWriterFileSink_Open_Stub(
  8333. IRpcStubBuffer *This,
  8334. IRpcChannelBuffer *_pRpcChannelBuffer,
  8335. PRPC_MESSAGE _pRpcMessage,
  8336. DWORD *_pdwStubPhase);
  8337. #endif /* __IWMWriterFileSink_INTERFACE_DEFINED__ */
  8338. #ifndef __IWMWriterFileSink2_INTERFACE_DEFINED__
  8339. #define __IWMWriterFileSink2_INTERFACE_DEFINED__
  8340. /* interface IWMWriterFileSink2 */
  8341. /* [local][unique][helpstring][uuid][object] */
  8342. EXTERN_C const IID IID_IWMWriterFileSink2;
  8343. #if defined(__cplusplus) && !defined(CINTERFACE)
  8344. MIDL_INTERFACE("14282BA7-4AEF-4205-8CE5-C229035A05BC")
  8345. IWMWriterFileSink2 : public IWMWriterFileSink
  8346. {
  8347. public:
  8348. virtual HRESULT STDMETHODCALLTYPE Start(
  8349. /* [in] */ QWORD cnsStartTime) = 0;
  8350. virtual HRESULT STDMETHODCALLTYPE Stop(
  8351. /* [in] */ QWORD cnsStopTime) = 0;
  8352. virtual HRESULT STDMETHODCALLTYPE IsStopped(
  8353. /* [out] */ BOOL *pfStopped) = 0;
  8354. virtual HRESULT STDMETHODCALLTYPE GetFileDuration(
  8355. /* [out] */ QWORD *pcnsDuration) = 0;
  8356. virtual HRESULT STDMETHODCALLTYPE GetFileSize(
  8357. /* [out] */ QWORD *pcbFile) = 0;
  8358. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  8359. virtual HRESULT STDMETHODCALLTYPE IsClosed(
  8360. /* [out] */ BOOL *pfClosed) = 0;
  8361. };
  8362. #else /* C style interface */
  8363. typedef struct IWMWriterFileSink2Vtbl
  8364. {
  8365. BEGIN_INTERFACE
  8366. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8367. IWMWriterFileSink2 * This,
  8368. /* [in] */ REFIID riid,
  8369. /* [iid_is][out] */ void **ppvObject);
  8370. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8371. IWMWriterFileSink2 * This);
  8372. ULONG ( STDMETHODCALLTYPE *Release )(
  8373. IWMWriterFileSink2 * This);
  8374. HRESULT ( STDMETHODCALLTYPE *OnHeader )(
  8375. IWMWriterFileSink2 * This,
  8376. /* [in] */ INSSBuffer *pHeader);
  8377. HRESULT ( STDMETHODCALLTYPE *IsRealTime )(
  8378. IWMWriterFileSink2 * This,
  8379. /* [out] */ BOOL *pfRealTime);
  8380. HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )(
  8381. IWMWriterFileSink2 * This,
  8382. /* [in] */ DWORD cbDataUnit,
  8383. /* [out] */ INSSBuffer **ppDataUnit);
  8384. HRESULT ( STDMETHODCALLTYPE *OnDataUnit )(
  8385. IWMWriterFileSink2 * This,
  8386. /* [in] */ INSSBuffer *pDataUnit);
  8387. HRESULT ( STDMETHODCALLTYPE *OnEndWriting )(
  8388. IWMWriterFileSink2 * This);
  8389. HRESULT ( STDMETHODCALLTYPE *Open )(
  8390. IWMWriterFileSink2 * This,
  8391. /* [in] */ const WCHAR *pwszFilename);
  8392. HRESULT ( STDMETHODCALLTYPE *Start )(
  8393. IWMWriterFileSink2 * This,
  8394. /* [in] */ QWORD cnsStartTime);
  8395. HRESULT ( STDMETHODCALLTYPE *Stop )(
  8396. IWMWriterFileSink2 * This,
  8397. /* [in] */ QWORD cnsStopTime);
  8398. HRESULT ( STDMETHODCALLTYPE *IsStopped )(
  8399. IWMWriterFileSink2 * This,
  8400. /* [out] */ BOOL *pfStopped);
  8401. HRESULT ( STDMETHODCALLTYPE *GetFileDuration )(
  8402. IWMWriterFileSink2 * This,
  8403. /* [out] */ QWORD *pcnsDuration);
  8404. HRESULT ( STDMETHODCALLTYPE *GetFileSize )(
  8405. IWMWriterFileSink2 * This,
  8406. /* [out] */ QWORD *pcbFile);
  8407. HRESULT ( STDMETHODCALLTYPE *Close )(
  8408. IWMWriterFileSink2 * This);
  8409. HRESULT ( STDMETHODCALLTYPE *IsClosed )(
  8410. IWMWriterFileSink2 * This,
  8411. /* [out] */ BOOL *pfClosed);
  8412. END_INTERFACE
  8413. } IWMWriterFileSink2Vtbl;
  8414. interface IWMWriterFileSink2
  8415. {
  8416. CONST_VTBL struct IWMWriterFileSink2Vtbl *lpVtbl;
  8417. };
  8418. #ifdef COBJMACROS
  8419. #define IWMWriterFileSink2_QueryInterface(This,riid,ppvObject) \
  8420. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8421. #define IWMWriterFileSink2_AddRef(This) \
  8422. (This)->lpVtbl -> AddRef(This)
  8423. #define IWMWriterFileSink2_Release(This) \
  8424. (This)->lpVtbl -> Release(This)
  8425. #define IWMWriterFileSink2_OnHeader(This,pHeader) \
  8426. (This)->lpVtbl -> OnHeader(This,pHeader)
  8427. #define IWMWriterFileSink2_IsRealTime(This,pfRealTime) \
  8428. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  8429. #define IWMWriterFileSink2_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \
  8430. (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  8431. #define IWMWriterFileSink2_OnDataUnit(This,pDataUnit) \
  8432. (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  8433. #define IWMWriterFileSink2_OnEndWriting(This) \
  8434. (This)->lpVtbl -> OnEndWriting(This)
  8435. #define IWMWriterFileSink2_Open(This,pwszFilename) \
  8436. (This)->lpVtbl -> Open(This,pwszFilename)
  8437. #define IWMWriterFileSink2_Start(This,cnsStartTime) \
  8438. (This)->lpVtbl -> Start(This,cnsStartTime)
  8439. #define IWMWriterFileSink2_Stop(This,cnsStopTime) \
  8440. (This)->lpVtbl -> Stop(This,cnsStopTime)
  8441. #define IWMWriterFileSink2_IsStopped(This,pfStopped) \
  8442. (This)->lpVtbl -> IsStopped(This,pfStopped)
  8443. #define IWMWriterFileSink2_GetFileDuration(This,pcnsDuration) \
  8444. (This)->lpVtbl -> GetFileDuration(This,pcnsDuration)
  8445. #define IWMWriterFileSink2_GetFileSize(This,pcbFile) \
  8446. (This)->lpVtbl -> GetFileSize(This,pcbFile)
  8447. #define IWMWriterFileSink2_Close(This) \
  8448. (This)->lpVtbl -> Close(This)
  8449. #define IWMWriterFileSink2_IsClosed(This,pfClosed) \
  8450. (This)->lpVtbl -> IsClosed(This,pfClosed)
  8451. #endif /* COBJMACROS */
  8452. #endif /* C style interface */
  8453. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_Start_Proxy(
  8454. IWMWriterFileSink2 * This,
  8455. /* [in] */ QWORD cnsStartTime);
  8456. void __RPC_STUB IWMWriterFileSink2_Start_Stub(
  8457. IRpcStubBuffer *This,
  8458. IRpcChannelBuffer *_pRpcChannelBuffer,
  8459. PRPC_MESSAGE _pRpcMessage,
  8460. DWORD *_pdwStubPhase);
  8461. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_Stop_Proxy(
  8462. IWMWriterFileSink2 * This,
  8463. /* [in] */ QWORD cnsStopTime);
  8464. void __RPC_STUB IWMWriterFileSink2_Stop_Stub(
  8465. IRpcStubBuffer *This,
  8466. IRpcChannelBuffer *_pRpcChannelBuffer,
  8467. PRPC_MESSAGE _pRpcMessage,
  8468. DWORD *_pdwStubPhase);
  8469. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_IsStopped_Proxy(
  8470. IWMWriterFileSink2 * This,
  8471. /* [out] */ BOOL *pfStopped);
  8472. void __RPC_STUB IWMWriterFileSink2_IsStopped_Stub(
  8473. IRpcStubBuffer *This,
  8474. IRpcChannelBuffer *_pRpcChannelBuffer,
  8475. PRPC_MESSAGE _pRpcMessage,
  8476. DWORD *_pdwStubPhase);
  8477. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_GetFileDuration_Proxy(
  8478. IWMWriterFileSink2 * This,
  8479. /* [out] */ QWORD *pcnsDuration);
  8480. void __RPC_STUB IWMWriterFileSink2_GetFileDuration_Stub(
  8481. IRpcStubBuffer *This,
  8482. IRpcChannelBuffer *_pRpcChannelBuffer,
  8483. PRPC_MESSAGE _pRpcMessage,
  8484. DWORD *_pdwStubPhase);
  8485. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_GetFileSize_Proxy(
  8486. IWMWriterFileSink2 * This,
  8487. /* [out] */ QWORD *pcbFile);
  8488. void __RPC_STUB IWMWriterFileSink2_GetFileSize_Stub(
  8489. IRpcStubBuffer *This,
  8490. IRpcChannelBuffer *_pRpcChannelBuffer,
  8491. PRPC_MESSAGE _pRpcMessage,
  8492. DWORD *_pdwStubPhase);
  8493. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_Close_Proxy(
  8494. IWMWriterFileSink2 * This);
  8495. void __RPC_STUB IWMWriterFileSink2_Close_Stub(
  8496. IRpcStubBuffer *This,
  8497. IRpcChannelBuffer *_pRpcChannelBuffer,
  8498. PRPC_MESSAGE _pRpcMessage,
  8499. DWORD *_pdwStubPhase);
  8500. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_IsClosed_Proxy(
  8501. IWMWriterFileSink2 * This,
  8502. /* [out] */ BOOL *pfClosed);
  8503. void __RPC_STUB IWMWriterFileSink2_IsClosed_Stub(
  8504. IRpcStubBuffer *This,
  8505. IRpcChannelBuffer *_pRpcChannelBuffer,
  8506. PRPC_MESSAGE _pRpcMessage,
  8507. DWORD *_pdwStubPhase);
  8508. #endif /* __IWMWriterFileSink2_INTERFACE_DEFINED__ */
  8509. #ifndef __IWMWriterFileSink3_INTERFACE_DEFINED__
  8510. #define __IWMWriterFileSink3_INTERFACE_DEFINED__
  8511. /* interface IWMWriterFileSink3 */
  8512. /* [local][unique][helpstring][uuid][object] */
  8513. EXTERN_C const IID IID_IWMWriterFileSink3;
  8514. #if defined(__cplusplus) && !defined(CINTERFACE)
  8515. MIDL_INTERFACE("3FEA4FEB-2945-47A7-A1DD-C53A8FC4C45C")
  8516. IWMWriterFileSink3 : public IWMWriterFileSink2
  8517. {
  8518. public:
  8519. virtual HRESULT STDMETHODCALLTYPE SetAutoIndexing(
  8520. /* [in] */ BOOL fDoAutoIndexing) = 0;
  8521. virtual HRESULT STDMETHODCALLTYPE GetAutoIndexing(
  8522. /* [out] */ BOOL *pfAutoIndexing) = 0;
  8523. virtual HRESULT STDMETHODCALLTYPE SetControlStream(
  8524. /* [in] */ WORD wStreamNumber,
  8525. /* [in] */ BOOL fShouldControlStartAndStop) = 0;
  8526. virtual HRESULT STDMETHODCALLTYPE GetMode(
  8527. /* [out] */ DWORD *pdwFileSinkMode) = 0;
  8528. virtual HRESULT STDMETHODCALLTYPE OnDataUnitEx(
  8529. /* [in] */ WMT_FILESINK_DATA_UNIT *pFileSinkDataUnit) = 0;
  8530. virtual HRESULT STDMETHODCALLTYPE SetUnbufferedIO(
  8531. /* [in] */ BOOL fUnbufferedIO,
  8532. /* [in] */ BOOL fRestrictMemUsage) = 0;
  8533. virtual HRESULT STDMETHODCALLTYPE GetUnbufferedIO(
  8534. /* [out] */ BOOL *pfUnbufferedIO) = 0;
  8535. virtual HRESULT STDMETHODCALLTYPE CompleteOperations( void) = 0;
  8536. };
  8537. #else /* C style interface */
  8538. typedef struct IWMWriterFileSink3Vtbl
  8539. {
  8540. BEGIN_INTERFACE
  8541. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8542. IWMWriterFileSink3 * This,
  8543. /* [in] */ REFIID riid,
  8544. /* [iid_is][out] */ void **ppvObject);
  8545. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8546. IWMWriterFileSink3 * This);
  8547. ULONG ( STDMETHODCALLTYPE *Release )(
  8548. IWMWriterFileSink3 * This);
  8549. HRESULT ( STDMETHODCALLTYPE *OnHeader )(
  8550. IWMWriterFileSink3 * This,
  8551. /* [in] */ INSSBuffer *pHeader);
  8552. HRESULT ( STDMETHODCALLTYPE *IsRealTime )(
  8553. IWMWriterFileSink3 * This,
  8554. /* [out] */ BOOL *pfRealTime);
  8555. HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )(
  8556. IWMWriterFileSink3 * This,
  8557. /* [in] */ DWORD cbDataUnit,
  8558. /* [out] */ INSSBuffer **ppDataUnit);
  8559. HRESULT ( STDMETHODCALLTYPE *OnDataUnit )(
  8560. IWMWriterFileSink3 * This,
  8561. /* [in] */ INSSBuffer *pDataUnit);
  8562. HRESULT ( STDMETHODCALLTYPE *OnEndWriting )(
  8563. IWMWriterFileSink3 * This);
  8564. HRESULT ( STDMETHODCALLTYPE *Open )(
  8565. IWMWriterFileSink3 * This,
  8566. /* [in] */ const WCHAR *pwszFilename);
  8567. HRESULT ( STDMETHODCALLTYPE *Start )(
  8568. IWMWriterFileSink3 * This,
  8569. /* [in] */ QWORD cnsStartTime);
  8570. HRESULT ( STDMETHODCALLTYPE *Stop )(
  8571. IWMWriterFileSink3 * This,
  8572. /* [in] */ QWORD cnsStopTime);
  8573. HRESULT ( STDMETHODCALLTYPE *IsStopped )(
  8574. IWMWriterFileSink3 * This,
  8575. /* [out] */ BOOL *pfStopped);
  8576. HRESULT ( STDMETHODCALLTYPE *GetFileDuration )(
  8577. IWMWriterFileSink3 * This,
  8578. /* [out] */ QWORD *pcnsDuration);
  8579. HRESULT ( STDMETHODCALLTYPE *GetFileSize )(
  8580. IWMWriterFileSink3 * This,
  8581. /* [out] */ QWORD *pcbFile);
  8582. HRESULT ( STDMETHODCALLTYPE *Close )(
  8583. IWMWriterFileSink3 * This);
  8584. HRESULT ( STDMETHODCALLTYPE *IsClosed )(
  8585. IWMWriterFileSink3 * This,
  8586. /* [out] */ BOOL *pfClosed);
  8587. HRESULT ( STDMETHODCALLTYPE *SetAutoIndexing )(
  8588. IWMWriterFileSink3 * This,
  8589. /* [in] */ BOOL fDoAutoIndexing);
  8590. HRESULT ( STDMETHODCALLTYPE *GetAutoIndexing )(
  8591. IWMWriterFileSink3 * This,
  8592. /* [out] */ BOOL *pfAutoIndexing);
  8593. HRESULT ( STDMETHODCALLTYPE *SetControlStream )(
  8594. IWMWriterFileSink3 * This,
  8595. /* [in] */ WORD wStreamNumber,
  8596. /* [in] */ BOOL fShouldControlStartAndStop);
  8597. HRESULT ( STDMETHODCALLTYPE *GetMode )(
  8598. IWMWriterFileSink3 * This,
  8599. /* [out] */ DWORD *pdwFileSinkMode);
  8600. HRESULT ( STDMETHODCALLTYPE *OnDataUnitEx )(
  8601. IWMWriterFileSink3 * This,
  8602. /* [in] */ WMT_FILESINK_DATA_UNIT *pFileSinkDataUnit);
  8603. HRESULT ( STDMETHODCALLTYPE *SetUnbufferedIO )(
  8604. IWMWriterFileSink3 * This,
  8605. /* [in] */ BOOL fUnbufferedIO,
  8606. /* [in] */ BOOL fRestrictMemUsage);
  8607. HRESULT ( STDMETHODCALLTYPE *GetUnbufferedIO )(
  8608. IWMWriterFileSink3 * This,
  8609. /* [out] */ BOOL *pfUnbufferedIO);
  8610. HRESULT ( STDMETHODCALLTYPE *CompleteOperations )(
  8611. IWMWriterFileSink3 * This);
  8612. END_INTERFACE
  8613. } IWMWriterFileSink3Vtbl;
  8614. interface IWMWriterFileSink3
  8615. {
  8616. CONST_VTBL struct IWMWriterFileSink3Vtbl *lpVtbl;
  8617. };
  8618. #ifdef COBJMACROS
  8619. #define IWMWriterFileSink3_QueryInterface(This,riid,ppvObject) \
  8620. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8621. #define IWMWriterFileSink3_AddRef(This) \
  8622. (This)->lpVtbl -> AddRef(This)
  8623. #define IWMWriterFileSink3_Release(This) \
  8624. (This)->lpVtbl -> Release(This)
  8625. #define IWMWriterFileSink3_OnHeader(This,pHeader) \
  8626. (This)->lpVtbl -> OnHeader(This,pHeader)
  8627. #define IWMWriterFileSink3_IsRealTime(This,pfRealTime) \
  8628. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  8629. #define IWMWriterFileSink3_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \
  8630. (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  8631. #define IWMWriterFileSink3_OnDataUnit(This,pDataUnit) \
  8632. (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  8633. #define IWMWriterFileSink3_OnEndWriting(This) \
  8634. (This)->lpVtbl -> OnEndWriting(This)
  8635. #define IWMWriterFileSink3_Open(This,pwszFilename) \
  8636. (This)->lpVtbl -> Open(This,pwszFilename)
  8637. #define IWMWriterFileSink3_Start(This,cnsStartTime) \
  8638. (This)->lpVtbl -> Start(This,cnsStartTime)
  8639. #define IWMWriterFileSink3_Stop(This,cnsStopTime) \
  8640. (This)->lpVtbl -> Stop(This,cnsStopTime)
  8641. #define IWMWriterFileSink3_IsStopped(This,pfStopped) \
  8642. (This)->lpVtbl -> IsStopped(This,pfStopped)
  8643. #define IWMWriterFileSink3_GetFileDuration(This,pcnsDuration) \
  8644. (This)->lpVtbl -> GetFileDuration(This,pcnsDuration)
  8645. #define IWMWriterFileSink3_GetFileSize(This,pcbFile) \
  8646. (This)->lpVtbl -> GetFileSize(This,pcbFile)
  8647. #define IWMWriterFileSink3_Close(This) \
  8648. (This)->lpVtbl -> Close(This)
  8649. #define IWMWriterFileSink3_IsClosed(This,pfClosed) \
  8650. (This)->lpVtbl -> IsClosed(This,pfClosed)
  8651. #define IWMWriterFileSink3_SetAutoIndexing(This,fDoAutoIndexing) \
  8652. (This)->lpVtbl -> SetAutoIndexing(This,fDoAutoIndexing)
  8653. #define IWMWriterFileSink3_GetAutoIndexing(This,pfAutoIndexing) \
  8654. (This)->lpVtbl -> GetAutoIndexing(This,pfAutoIndexing)
  8655. #define IWMWriterFileSink3_SetControlStream(This,wStreamNumber,fShouldControlStartAndStop) \
  8656. (This)->lpVtbl -> SetControlStream(This,wStreamNumber,fShouldControlStartAndStop)
  8657. #define IWMWriterFileSink3_GetMode(This,pdwFileSinkMode) \
  8658. (This)->lpVtbl -> GetMode(This,pdwFileSinkMode)
  8659. #define IWMWriterFileSink3_OnDataUnitEx(This,pFileSinkDataUnit) \
  8660. (This)->lpVtbl -> OnDataUnitEx(This,pFileSinkDataUnit)
  8661. #define IWMWriterFileSink3_SetUnbufferedIO(This,fUnbufferedIO,fRestrictMemUsage) \
  8662. (This)->lpVtbl -> SetUnbufferedIO(This,fUnbufferedIO,fRestrictMemUsage)
  8663. #define IWMWriterFileSink3_GetUnbufferedIO(This,pfUnbufferedIO) \
  8664. (This)->lpVtbl -> GetUnbufferedIO(This,pfUnbufferedIO)
  8665. #define IWMWriterFileSink3_CompleteOperations(This) \
  8666. (This)->lpVtbl -> CompleteOperations(This)
  8667. #endif /* COBJMACROS */
  8668. #endif /* C style interface */
  8669. HRESULT STDMETHODCALLTYPE IWMWriterFileSink3_SetAutoIndexing_Proxy(
  8670. IWMWriterFileSink3 * This,
  8671. /* [in] */ BOOL fDoAutoIndexing);
  8672. void __RPC_STUB IWMWriterFileSink3_SetAutoIndexing_Stub(
  8673. IRpcStubBuffer *This,
  8674. IRpcChannelBuffer *_pRpcChannelBuffer,
  8675. PRPC_MESSAGE _pRpcMessage,
  8676. DWORD *_pdwStubPhase);
  8677. HRESULT STDMETHODCALLTYPE IWMWriterFileSink3_GetAutoIndexing_Proxy(
  8678. IWMWriterFileSink3 * This,
  8679. /* [out] */ BOOL *pfAutoIndexing);
  8680. void __RPC_STUB IWMWriterFileSink3_GetAutoIndexing_Stub(
  8681. IRpcStubBuffer *This,
  8682. IRpcChannelBuffer *_pRpcChannelBuffer,
  8683. PRPC_MESSAGE _pRpcMessage,
  8684. DWORD *_pdwStubPhase);
  8685. HRESULT STDMETHODCALLTYPE IWMWriterFileSink3_SetControlStream_Proxy(
  8686. IWMWriterFileSink3 * This,
  8687. /* [in] */ WORD wStreamNumber,
  8688. /* [in] */ BOOL fShouldControlStartAndStop);
  8689. void __RPC_STUB IWMWriterFileSink3_SetControlStream_Stub(
  8690. IRpcStubBuffer *This,
  8691. IRpcChannelBuffer *_pRpcChannelBuffer,
  8692. PRPC_MESSAGE _pRpcMessage,
  8693. DWORD *_pdwStubPhase);
  8694. HRESULT STDMETHODCALLTYPE IWMWriterFileSink3_GetMode_Proxy(
  8695. IWMWriterFileSink3 * This,
  8696. /* [out] */ DWORD *pdwFileSinkMode);
  8697. void __RPC_STUB IWMWriterFileSink3_GetMode_Stub(
  8698. IRpcStubBuffer *This,
  8699. IRpcChannelBuffer *_pRpcChannelBuffer,
  8700. PRPC_MESSAGE _pRpcMessage,
  8701. DWORD *_pdwStubPhase);
  8702. HRESULT STDMETHODCALLTYPE IWMWriterFileSink3_OnDataUnitEx_Proxy(
  8703. IWMWriterFileSink3 * This,
  8704. /* [in] */ WMT_FILESINK_DATA_UNIT *pFileSinkDataUnit);
  8705. void __RPC_STUB IWMWriterFileSink3_OnDataUnitEx_Stub(
  8706. IRpcStubBuffer *This,
  8707. IRpcChannelBuffer *_pRpcChannelBuffer,
  8708. PRPC_MESSAGE _pRpcMessage,
  8709. DWORD *_pdwStubPhase);
  8710. HRESULT STDMETHODCALLTYPE IWMWriterFileSink3_SetUnbufferedIO_Proxy(
  8711. IWMWriterFileSink3 * This,
  8712. /* [in] */ BOOL fUnbufferedIO,
  8713. /* [in] */ BOOL fRestrictMemUsage);
  8714. void __RPC_STUB IWMWriterFileSink3_SetUnbufferedIO_Stub(
  8715. IRpcStubBuffer *This,
  8716. IRpcChannelBuffer *_pRpcChannelBuffer,
  8717. PRPC_MESSAGE _pRpcMessage,
  8718. DWORD *_pdwStubPhase);
  8719. HRESULT STDMETHODCALLTYPE IWMWriterFileSink3_GetUnbufferedIO_Proxy(
  8720. IWMWriterFileSink3 * This,
  8721. /* [out] */ BOOL *pfUnbufferedIO);
  8722. void __RPC_STUB IWMWriterFileSink3_GetUnbufferedIO_Stub(
  8723. IRpcStubBuffer *This,
  8724. IRpcChannelBuffer *_pRpcChannelBuffer,
  8725. PRPC_MESSAGE _pRpcMessage,
  8726. DWORD *_pdwStubPhase);
  8727. HRESULT STDMETHODCALLTYPE IWMWriterFileSink3_CompleteOperations_Proxy(
  8728. IWMWriterFileSink3 * This);
  8729. void __RPC_STUB IWMWriterFileSink3_CompleteOperations_Stub(
  8730. IRpcStubBuffer *This,
  8731. IRpcChannelBuffer *_pRpcChannelBuffer,
  8732. PRPC_MESSAGE _pRpcMessage,
  8733. DWORD *_pdwStubPhase);
  8734. #endif /* __IWMWriterFileSink3_INTERFACE_DEFINED__ */
  8735. #ifndef __IWMWriterNetworkSink_INTERFACE_DEFINED__
  8736. #define __IWMWriterNetworkSink_INTERFACE_DEFINED__
  8737. /* interface IWMWriterNetworkSink */
  8738. /* [local][unique][helpstring][uuid][object] */
  8739. EXTERN_C const IID IID_IWMWriterNetworkSink;
  8740. #if defined(__cplusplus) && !defined(CINTERFACE)
  8741. MIDL_INTERFACE("96406BE7-2B2B-11d3-B36B-00C04F6108FF")
  8742. IWMWriterNetworkSink : public IWMWriterSink
  8743. {
  8744. public:
  8745. virtual HRESULT STDMETHODCALLTYPE SetMaximumClients(
  8746. /* [in] */ DWORD dwMaxClients) = 0;
  8747. virtual HRESULT STDMETHODCALLTYPE GetMaximumClients(
  8748. /* [out] */ DWORD *pdwMaxClients) = 0;
  8749. virtual HRESULT STDMETHODCALLTYPE SetNetworkProtocol(
  8750. /* [in] */ WMT_NET_PROTOCOL protocol) = 0;
  8751. virtual HRESULT STDMETHODCALLTYPE GetNetworkProtocol(
  8752. /* [out] */ WMT_NET_PROTOCOL *pProtocol) = 0;
  8753. virtual HRESULT STDMETHODCALLTYPE GetHostURL(
  8754. /* [out] */ WCHAR *pwszURL,
  8755. /* [out][in] */ DWORD *pcchURL) = 0;
  8756. virtual HRESULT STDMETHODCALLTYPE Open(
  8757. /* [out][in] */ DWORD *pdwPortNum) = 0;
  8758. virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  8759. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  8760. };
  8761. #else /* C style interface */
  8762. typedef struct IWMWriterNetworkSinkVtbl
  8763. {
  8764. BEGIN_INTERFACE
  8765. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8766. IWMWriterNetworkSink * This,
  8767. /* [in] */ REFIID riid,
  8768. /* [iid_is][out] */ void **ppvObject);
  8769. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8770. IWMWriterNetworkSink * This);
  8771. ULONG ( STDMETHODCALLTYPE *Release )(
  8772. IWMWriterNetworkSink * This);
  8773. HRESULT ( STDMETHODCALLTYPE *OnHeader )(
  8774. IWMWriterNetworkSink * This,
  8775. /* [in] */ INSSBuffer *pHeader);
  8776. HRESULT ( STDMETHODCALLTYPE *IsRealTime )(
  8777. IWMWriterNetworkSink * This,
  8778. /* [out] */ BOOL *pfRealTime);
  8779. HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )(
  8780. IWMWriterNetworkSink * This,
  8781. /* [in] */ DWORD cbDataUnit,
  8782. /* [out] */ INSSBuffer **ppDataUnit);
  8783. HRESULT ( STDMETHODCALLTYPE *OnDataUnit )(
  8784. IWMWriterNetworkSink * This,
  8785. /* [in] */ INSSBuffer *pDataUnit);
  8786. HRESULT ( STDMETHODCALLTYPE *OnEndWriting )(
  8787. IWMWriterNetworkSink * This);
  8788. HRESULT ( STDMETHODCALLTYPE *SetMaximumClients )(
  8789. IWMWriterNetworkSink * This,
  8790. /* [in] */ DWORD dwMaxClients);
  8791. HRESULT ( STDMETHODCALLTYPE *GetMaximumClients )(
  8792. IWMWriterNetworkSink * This,
  8793. /* [out] */ DWORD *pdwMaxClients);
  8794. HRESULT ( STDMETHODCALLTYPE *SetNetworkProtocol )(
  8795. IWMWriterNetworkSink * This,
  8796. /* [in] */ WMT_NET_PROTOCOL protocol);
  8797. HRESULT ( STDMETHODCALLTYPE *GetNetworkProtocol )(
  8798. IWMWriterNetworkSink * This,
  8799. /* [out] */ WMT_NET_PROTOCOL *pProtocol);
  8800. HRESULT ( STDMETHODCALLTYPE *GetHostURL )(
  8801. IWMWriterNetworkSink * This,
  8802. /* [out] */ WCHAR *pwszURL,
  8803. /* [out][in] */ DWORD *pcchURL);
  8804. HRESULT ( STDMETHODCALLTYPE *Open )(
  8805. IWMWriterNetworkSink * This,
  8806. /* [out][in] */ DWORD *pdwPortNum);
  8807. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  8808. IWMWriterNetworkSink * This);
  8809. HRESULT ( STDMETHODCALLTYPE *Close )(
  8810. IWMWriterNetworkSink * This);
  8811. END_INTERFACE
  8812. } IWMWriterNetworkSinkVtbl;
  8813. interface IWMWriterNetworkSink
  8814. {
  8815. CONST_VTBL struct IWMWriterNetworkSinkVtbl *lpVtbl;
  8816. };
  8817. #ifdef COBJMACROS
  8818. #define IWMWriterNetworkSink_QueryInterface(This,riid,ppvObject) \
  8819. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8820. #define IWMWriterNetworkSink_AddRef(This) \
  8821. (This)->lpVtbl -> AddRef(This)
  8822. #define IWMWriterNetworkSink_Release(This) \
  8823. (This)->lpVtbl -> Release(This)
  8824. #define IWMWriterNetworkSink_OnHeader(This,pHeader) \
  8825. (This)->lpVtbl -> OnHeader(This,pHeader)
  8826. #define IWMWriterNetworkSink_IsRealTime(This,pfRealTime) \
  8827. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  8828. #define IWMWriterNetworkSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \
  8829. (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  8830. #define IWMWriterNetworkSink_OnDataUnit(This,pDataUnit) \
  8831. (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  8832. #define IWMWriterNetworkSink_OnEndWriting(This) \
  8833. (This)->lpVtbl -> OnEndWriting(This)
  8834. #define IWMWriterNetworkSink_SetMaximumClients(This,dwMaxClients) \
  8835. (This)->lpVtbl -> SetMaximumClients(This,dwMaxClients)
  8836. #define IWMWriterNetworkSink_GetMaximumClients(This,pdwMaxClients) \
  8837. (This)->lpVtbl -> GetMaximumClients(This,pdwMaxClients)
  8838. #define IWMWriterNetworkSink_SetNetworkProtocol(This,protocol) \
  8839. (This)->lpVtbl -> SetNetworkProtocol(This,protocol)
  8840. #define IWMWriterNetworkSink_GetNetworkProtocol(This,pProtocol) \
  8841. (This)->lpVtbl -> GetNetworkProtocol(This,pProtocol)
  8842. #define IWMWriterNetworkSink_GetHostURL(This,pwszURL,pcchURL) \
  8843. (This)->lpVtbl -> GetHostURL(This,pwszURL,pcchURL)
  8844. #define IWMWriterNetworkSink_Open(This,pdwPortNum) \
  8845. (This)->lpVtbl -> Open(This,pdwPortNum)
  8846. #define IWMWriterNetworkSink_Disconnect(This) \
  8847. (This)->lpVtbl -> Disconnect(This)
  8848. #define IWMWriterNetworkSink_Close(This) \
  8849. (This)->lpVtbl -> Close(This)
  8850. #endif /* COBJMACROS */
  8851. #endif /* C style interface */
  8852. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_SetMaximumClients_Proxy(
  8853. IWMWriterNetworkSink * This,
  8854. /* [in] */ DWORD dwMaxClients);
  8855. void __RPC_STUB IWMWriterNetworkSink_SetMaximumClients_Stub(
  8856. IRpcStubBuffer *This,
  8857. IRpcChannelBuffer *_pRpcChannelBuffer,
  8858. PRPC_MESSAGE _pRpcMessage,
  8859. DWORD *_pdwStubPhase);
  8860. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_GetMaximumClients_Proxy(
  8861. IWMWriterNetworkSink * This,
  8862. /* [out] */ DWORD *pdwMaxClients);
  8863. void __RPC_STUB IWMWriterNetworkSink_GetMaximumClients_Stub(
  8864. IRpcStubBuffer *This,
  8865. IRpcChannelBuffer *_pRpcChannelBuffer,
  8866. PRPC_MESSAGE _pRpcMessage,
  8867. DWORD *_pdwStubPhase);
  8868. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_SetNetworkProtocol_Proxy(
  8869. IWMWriterNetworkSink * This,
  8870. /* [in] */ WMT_NET_PROTOCOL protocol);
  8871. void __RPC_STUB IWMWriterNetworkSink_SetNetworkProtocol_Stub(
  8872. IRpcStubBuffer *This,
  8873. IRpcChannelBuffer *_pRpcChannelBuffer,
  8874. PRPC_MESSAGE _pRpcMessage,
  8875. DWORD *_pdwStubPhase);
  8876. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_GetNetworkProtocol_Proxy(
  8877. IWMWriterNetworkSink * This,
  8878. /* [out] */ WMT_NET_PROTOCOL *pProtocol);
  8879. void __RPC_STUB IWMWriterNetworkSink_GetNetworkProtocol_Stub(
  8880. IRpcStubBuffer *This,
  8881. IRpcChannelBuffer *_pRpcChannelBuffer,
  8882. PRPC_MESSAGE _pRpcMessage,
  8883. DWORD *_pdwStubPhase);
  8884. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_GetHostURL_Proxy(
  8885. IWMWriterNetworkSink * This,
  8886. /* [out] */ WCHAR *pwszURL,
  8887. /* [out][in] */ DWORD *pcchURL);
  8888. void __RPC_STUB IWMWriterNetworkSink_GetHostURL_Stub(
  8889. IRpcStubBuffer *This,
  8890. IRpcChannelBuffer *_pRpcChannelBuffer,
  8891. PRPC_MESSAGE _pRpcMessage,
  8892. DWORD *_pdwStubPhase);
  8893. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_Open_Proxy(
  8894. IWMWriterNetworkSink * This,
  8895. /* [out][in] */ DWORD *pdwPortNum);
  8896. void __RPC_STUB IWMWriterNetworkSink_Open_Stub(
  8897. IRpcStubBuffer *This,
  8898. IRpcChannelBuffer *_pRpcChannelBuffer,
  8899. PRPC_MESSAGE _pRpcMessage,
  8900. DWORD *_pdwStubPhase);
  8901. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_Disconnect_Proxy(
  8902. IWMWriterNetworkSink * This);
  8903. void __RPC_STUB IWMWriterNetworkSink_Disconnect_Stub(
  8904. IRpcStubBuffer *This,
  8905. IRpcChannelBuffer *_pRpcChannelBuffer,
  8906. PRPC_MESSAGE _pRpcMessage,
  8907. DWORD *_pdwStubPhase);
  8908. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_Close_Proxy(
  8909. IWMWriterNetworkSink * This);
  8910. void __RPC_STUB IWMWriterNetworkSink_Close_Stub(
  8911. IRpcStubBuffer *This,
  8912. IRpcChannelBuffer *_pRpcChannelBuffer,
  8913. PRPC_MESSAGE _pRpcMessage,
  8914. DWORD *_pdwStubPhase);
  8915. #endif /* __IWMWriterNetworkSink_INTERFACE_DEFINED__ */
  8916. #ifndef __IWMClientConnections_INTERFACE_DEFINED__
  8917. #define __IWMClientConnections_INTERFACE_DEFINED__
  8918. /* interface IWMClientConnections */
  8919. /* [local][unique][helpstring][uuid][object] */
  8920. EXTERN_C const IID IID_IWMClientConnections;
  8921. #if defined(__cplusplus) && !defined(CINTERFACE)
  8922. MIDL_INTERFACE("73C66010-A299-41df-B1F0-CCF03B09C1C6")
  8923. IWMClientConnections : public IUnknown
  8924. {
  8925. public:
  8926. virtual HRESULT STDMETHODCALLTYPE GetClientCount(
  8927. /* [out] */ DWORD *pcClients) = 0;
  8928. virtual HRESULT STDMETHODCALLTYPE GetClientProperties(
  8929. /* [in] */ DWORD dwClientNum,
  8930. /* [out] */ WM_CLIENT_PROPERTIES *pClientProperties) = 0;
  8931. };
  8932. #else /* C style interface */
  8933. typedef struct IWMClientConnectionsVtbl
  8934. {
  8935. BEGIN_INTERFACE
  8936. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8937. IWMClientConnections * This,
  8938. /* [in] */ REFIID riid,
  8939. /* [iid_is][out] */ void **ppvObject);
  8940. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8941. IWMClientConnections * This);
  8942. ULONG ( STDMETHODCALLTYPE *Release )(
  8943. IWMClientConnections * This);
  8944. HRESULT ( STDMETHODCALLTYPE *GetClientCount )(
  8945. IWMClientConnections * This,
  8946. /* [out] */ DWORD *pcClients);
  8947. HRESULT ( STDMETHODCALLTYPE *GetClientProperties )(
  8948. IWMClientConnections * This,
  8949. /* [in] */ DWORD dwClientNum,
  8950. /* [out] */ WM_CLIENT_PROPERTIES *pClientProperties);
  8951. END_INTERFACE
  8952. } IWMClientConnectionsVtbl;
  8953. interface IWMClientConnections
  8954. {
  8955. CONST_VTBL struct IWMClientConnectionsVtbl *lpVtbl;
  8956. };
  8957. #ifdef COBJMACROS
  8958. #define IWMClientConnections_QueryInterface(This,riid,ppvObject) \
  8959. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8960. #define IWMClientConnections_AddRef(This) \
  8961. (This)->lpVtbl -> AddRef(This)
  8962. #define IWMClientConnections_Release(This) \
  8963. (This)->lpVtbl -> Release(This)
  8964. #define IWMClientConnections_GetClientCount(This,pcClients) \
  8965. (This)->lpVtbl -> GetClientCount(This,pcClients)
  8966. #define IWMClientConnections_GetClientProperties(This,dwClientNum,pClientProperties) \
  8967. (This)->lpVtbl -> GetClientProperties(This,dwClientNum,pClientProperties)
  8968. #endif /* COBJMACROS */
  8969. #endif /* C style interface */
  8970. HRESULT STDMETHODCALLTYPE IWMClientConnections_GetClientCount_Proxy(
  8971. IWMClientConnections * This,
  8972. /* [out] */ DWORD *pcClients);
  8973. void __RPC_STUB IWMClientConnections_GetClientCount_Stub(
  8974. IRpcStubBuffer *This,
  8975. IRpcChannelBuffer *_pRpcChannelBuffer,
  8976. PRPC_MESSAGE _pRpcMessage,
  8977. DWORD *_pdwStubPhase);
  8978. HRESULT STDMETHODCALLTYPE IWMClientConnections_GetClientProperties_Proxy(
  8979. IWMClientConnections * This,
  8980. /* [in] */ DWORD dwClientNum,
  8981. /* [out] */ WM_CLIENT_PROPERTIES *pClientProperties);
  8982. void __RPC_STUB IWMClientConnections_GetClientProperties_Stub(
  8983. IRpcStubBuffer *This,
  8984. IRpcChannelBuffer *_pRpcChannelBuffer,
  8985. PRPC_MESSAGE _pRpcMessage,
  8986. DWORD *_pdwStubPhase);
  8987. #endif /* __IWMClientConnections_INTERFACE_DEFINED__ */
  8988. #ifndef __IWMClientConnections2_INTERFACE_DEFINED__
  8989. #define __IWMClientConnections2_INTERFACE_DEFINED__
  8990. /* interface IWMClientConnections2 */
  8991. /* [local][unique][helpstring][uuid][object] */
  8992. EXTERN_C const IID IID_IWMClientConnections2;
  8993. #if defined(__cplusplus) && !defined(CINTERFACE)
  8994. MIDL_INTERFACE("4091571e-4701-4593-bb3d-d5f5f0c74246")
  8995. IWMClientConnections2 : public IWMClientConnections
  8996. {
  8997. public:
  8998. virtual HRESULT STDMETHODCALLTYPE GetClientInfo(
  8999. /* [in] */ DWORD dwClientNum,
  9000. /* [size_is][out] */ WCHAR *pwszNetworkAddress,
  9001. /* [out][in] */ DWORD *pcchNetworkAddress,
  9002. /* [size_is][out] */ WCHAR *pwszPort,
  9003. /* [out][in] */ DWORD *pcchPort,
  9004. /* [size_is][out] */ WCHAR *pwszDNSName,
  9005. /* [out][in] */ DWORD *pcchDNSName) = 0;
  9006. };
  9007. #else /* C style interface */
  9008. typedef struct IWMClientConnections2Vtbl
  9009. {
  9010. BEGIN_INTERFACE
  9011. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9012. IWMClientConnections2 * This,
  9013. /* [in] */ REFIID riid,
  9014. /* [iid_is][out] */ void **ppvObject);
  9015. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9016. IWMClientConnections2 * This);
  9017. ULONG ( STDMETHODCALLTYPE *Release )(
  9018. IWMClientConnections2 * This);
  9019. HRESULT ( STDMETHODCALLTYPE *GetClientCount )(
  9020. IWMClientConnections2 * This,
  9021. /* [out] */ DWORD *pcClients);
  9022. HRESULT ( STDMETHODCALLTYPE *GetClientProperties )(
  9023. IWMClientConnections2 * This,
  9024. /* [in] */ DWORD dwClientNum,
  9025. /* [out] */ WM_CLIENT_PROPERTIES *pClientProperties);
  9026. HRESULT ( STDMETHODCALLTYPE *GetClientInfo )(
  9027. IWMClientConnections2 * This,
  9028. /* [in] */ DWORD dwClientNum,
  9029. /* [size_is][out] */ WCHAR *pwszNetworkAddress,
  9030. /* [out][in] */ DWORD *pcchNetworkAddress,
  9031. /* [size_is][out] */ WCHAR *pwszPort,
  9032. /* [out][in] */ DWORD *pcchPort,
  9033. /* [size_is][out] */ WCHAR *pwszDNSName,
  9034. /* [out][in] */ DWORD *pcchDNSName);
  9035. END_INTERFACE
  9036. } IWMClientConnections2Vtbl;
  9037. interface IWMClientConnections2
  9038. {
  9039. CONST_VTBL struct IWMClientConnections2Vtbl *lpVtbl;
  9040. };
  9041. #ifdef COBJMACROS
  9042. #define IWMClientConnections2_QueryInterface(This,riid,ppvObject) \
  9043. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9044. #define IWMClientConnections2_AddRef(This) \
  9045. (This)->lpVtbl -> AddRef(This)
  9046. #define IWMClientConnections2_Release(This) \
  9047. (This)->lpVtbl -> Release(This)
  9048. #define IWMClientConnections2_GetClientCount(This,pcClients) \
  9049. (This)->lpVtbl -> GetClientCount(This,pcClients)
  9050. #define IWMClientConnections2_GetClientProperties(This,dwClientNum,pClientProperties) \
  9051. (This)->lpVtbl -> GetClientProperties(This,dwClientNum,pClientProperties)
  9052. #define IWMClientConnections2_GetClientInfo(This,dwClientNum,pwszNetworkAddress,pcchNetworkAddress,pwszPort,pcchPort,pwszDNSName,pcchDNSName) \
  9053. (This)->lpVtbl -> GetClientInfo(This,dwClientNum,pwszNetworkAddress,pcchNetworkAddress,pwszPort,pcchPort,pwszDNSName,pcchDNSName)
  9054. #endif /* COBJMACROS */
  9055. #endif /* C style interface */
  9056. HRESULT STDMETHODCALLTYPE IWMClientConnections2_GetClientInfo_Proxy(
  9057. IWMClientConnections2 * This,
  9058. /* [in] */ DWORD dwClientNum,
  9059. /* [size_is][out] */ WCHAR *pwszNetworkAddress,
  9060. /* [out][in] */ DWORD *pcchNetworkAddress,
  9061. /* [size_is][out] */ WCHAR *pwszPort,
  9062. /* [out][in] */ DWORD *pcchPort,
  9063. /* [size_is][out] */ WCHAR *pwszDNSName,
  9064. /* [out][in] */ DWORD *pcchDNSName);
  9065. void __RPC_STUB IWMClientConnections2_GetClientInfo_Stub(
  9066. IRpcStubBuffer *This,
  9067. IRpcChannelBuffer *_pRpcChannelBuffer,
  9068. PRPC_MESSAGE _pRpcMessage,
  9069. DWORD *_pdwStubPhase);
  9070. #endif /* __IWMClientConnections2_INTERFACE_DEFINED__ */
  9071. #ifndef __IWMReaderAdvanced_INTERFACE_DEFINED__
  9072. #define __IWMReaderAdvanced_INTERFACE_DEFINED__
  9073. /* interface IWMReaderAdvanced */
  9074. /* [local][unique][helpstring][uuid][object] */
  9075. EXTERN_C const IID IID_IWMReaderAdvanced;
  9076. #if defined(__cplusplus) && !defined(CINTERFACE)
  9077. MIDL_INTERFACE("96406BEA-2B2B-11d3-B36B-00C04F6108FF")
  9078. IWMReaderAdvanced : public IUnknown
  9079. {
  9080. public:
  9081. virtual HRESULT STDMETHODCALLTYPE SetUserProvidedClock(
  9082. /* [in] */ BOOL fUserClock) = 0;
  9083. virtual HRESULT STDMETHODCALLTYPE GetUserProvidedClock(
  9084. /* [out] */ BOOL *pfUserClock) = 0;
  9085. virtual HRESULT STDMETHODCALLTYPE DeliverTime(
  9086. /* [in] */ QWORD cnsTime) = 0;
  9087. virtual HRESULT STDMETHODCALLTYPE SetManualStreamSelection(
  9088. /* [in] */ BOOL fSelection) = 0;
  9089. virtual HRESULT STDMETHODCALLTYPE GetManualStreamSelection(
  9090. /* [out] */ BOOL *pfSelection) = 0;
  9091. virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected(
  9092. /* [in] */ WORD cStreamCount,
  9093. /* [in] */ WORD *pwStreamNumbers,
  9094. /* [in] */ WMT_STREAM_SELECTION *pSelections) = 0;
  9095. virtual HRESULT STDMETHODCALLTYPE GetStreamSelected(
  9096. /* [in] */ WORD wStreamNum,
  9097. /* [out] */ WMT_STREAM_SELECTION *pSelection) = 0;
  9098. virtual HRESULT STDMETHODCALLTYPE SetReceiveSelectionCallbacks(
  9099. /* [in] */ BOOL fGetCallbacks) = 0;
  9100. virtual HRESULT STDMETHODCALLTYPE GetReceiveSelectionCallbacks(
  9101. /* [out] */ BOOL *pfGetCallbacks) = 0;
  9102. virtual HRESULT STDMETHODCALLTYPE SetReceiveStreamSamples(
  9103. /* [in] */ WORD wStreamNum,
  9104. /* [in] */ BOOL fReceiveStreamSamples) = 0;
  9105. virtual HRESULT STDMETHODCALLTYPE GetReceiveStreamSamples(
  9106. /* [in] */ WORD wStreamNum,
  9107. /* [out] */ BOOL *pfReceiveStreamSamples) = 0;
  9108. virtual HRESULT STDMETHODCALLTYPE SetAllocateForOutput(
  9109. /* [in] */ DWORD dwOutputNum,
  9110. /* [in] */ BOOL fAllocate) = 0;
  9111. virtual HRESULT STDMETHODCALLTYPE GetAllocateForOutput(
  9112. /* [in] */ DWORD dwOutputNum,
  9113. /* [out] */ BOOL *pfAllocate) = 0;
  9114. virtual HRESULT STDMETHODCALLTYPE SetAllocateForStream(
  9115. /* [in] */ WORD wStreamNum,
  9116. /* [in] */ BOOL fAllocate) = 0;
  9117. virtual HRESULT STDMETHODCALLTYPE GetAllocateForStream(
  9118. /* [in] */ WORD dwSreamNum,
  9119. /* [out] */ BOOL *pfAllocate) = 0;
  9120. virtual HRESULT STDMETHODCALLTYPE GetStatistics(
  9121. /* [out][in] */ WM_READER_STATISTICS *pStatistics) = 0;
  9122. virtual HRESULT STDMETHODCALLTYPE SetClientInfo(
  9123. /* [in] */ WM_READER_CLIENTINFO *pClientInfo) = 0;
  9124. virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize(
  9125. /* [in] */ DWORD dwOutput,
  9126. /* [out] */ DWORD *pcbMax) = 0;
  9127. virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize(
  9128. /* [in] */ WORD wStream,
  9129. /* [out] */ DWORD *pcbMax) = 0;
  9130. virtual HRESULT STDMETHODCALLTYPE NotifyLateDelivery(
  9131. QWORD cnsLateness) = 0;
  9132. };
  9133. #else /* C style interface */
  9134. typedef struct IWMReaderAdvancedVtbl
  9135. {
  9136. BEGIN_INTERFACE
  9137. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9138. IWMReaderAdvanced * This,
  9139. /* [in] */ REFIID riid,
  9140. /* [iid_is][out] */ void **ppvObject);
  9141. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9142. IWMReaderAdvanced * This);
  9143. ULONG ( STDMETHODCALLTYPE *Release )(
  9144. IWMReaderAdvanced * This);
  9145. HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )(
  9146. IWMReaderAdvanced * This,
  9147. /* [in] */ BOOL fUserClock);
  9148. HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )(
  9149. IWMReaderAdvanced * This,
  9150. /* [out] */ BOOL *pfUserClock);
  9151. HRESULT ( STDMETHODCALLTYPE *DeliverTime )(
  9152. IWMReaderAdvanced * This,
  9153. /* [in] */ QWORD cnsTime);
  9154. HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )(
  9155. IWMReaderAdvanced * This,
  9156. /* [in] */ BOOL fSelection);
  9157. HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )(
  9158. IWMReaderAdvanced * This,
  9159. /* [out] */ BOOL *pfSelection);
  9160. HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )(
  9161. IWMReaderAdvanced * This,
  9162. /* [in] */ WORD cStreamCount,
  9163. /* [in] */ WORD *pwStreamNumbers,
  9164. /* [in] */ WMT_STREAM_SELECTION *pSelections);
  9165. HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )(
  9166. IWMReaderAdvanced * This,
  9167. /* [in] */ WORD wStreamNum,
  9168. /* [out] */ WMT_STREAM_SELECTION *pSelection);
  9169. HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )(
  9170. IWMReaderAdvanced * This,
  9171. /* [in] */ BOOL fGetCallbacks);
  9172. HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )(
  9173. IWMReaderAdvanced * This,
  9174. /* [out] */ BOOL *pfGetCallbacks);
  9175. HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )(
  9176. IWMReaderAdvanced * This,
  9177. /* [in] */ WORD wStreamNum,
  9178. /* [in] */ BOOL fReceiveStreamSamples);
  9179. HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )(
  9180. IWMReaderAdvanced * This,
  9181. /* [in] */ WORD wStreamNum,
  9182. /* [out] */ BOOL *pfReceiveStreamSamples);
  9183. HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )(
  9184. IWMReaderAdvanced * This,
  9185. /* [in] */ DWORD dwOutputNum,
  9186. /* [in] */ BOOL fAllocate);
  9187. HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )(
  9188. IWMReaderAdvanced * This,
  9189. /* [in] */ DWORD dwOutputNum,
  9190. /* [out] */ BOOL *pfAllocate);
  9191. HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )(
  9192. IWMReaderAdvanced * This,
  9193. /* [in] */ WORD wStreamNum,
  9194. /* [in] */ BOOL fAllocate);
  9195. HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )(
  9196. IWMReaderAdvanced * This,
  9197. /* [in] */ WORD dwSreamNum,
  9198. /* [out] */ BOOL *pfAllocate);
  9199. HRESULT ( STDMETHODCALLTYPE *GetStatistics )(
  9200. IWMReaderAdvanced * This,
  9201. /* [out][in] */ WM_READER_STATISTICS *pStatistics);
  9202. HRESULT ( STDMETHODCALLTYPE *SetClientInfo )(
  9203. IWMReaderAdvanced * This,
  9204. /* [in] */ WM_READER_CLIENTINFO *pClientInfo);
  9205. HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )(
  9206. IWMReaderAdvanced * This,
  9207. /* [in] */ DWORD dwOutput,
  9208. /* [out] */ DWORD *pcbMax);
  9209. HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )(
  9210. IWMReaderAdvanced * This,
  9211. /* [in] */ WORD wStream,
  9212. /* [out] */ DWORD *pcbMax);
  9213. HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )(
  9214. IWMReaderAdvanced * This,
  9215. QWORD cnsLateness);
  9216. END_INTERFACE
  9217. } IWMReaderAdvancedVtbl;
  9218. interface IWMReaderAdvanced
  9219. {
  9220. CONST_VTBL struct IWMReaderAdvancedVtbl *lpVtbl;
  9221. };
  9222. #ifdef COBJMACROS
  9223. #define IWMReaderAdvanced_QueryInterface(This,riid,ppvObject) \
  9224. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9225. #define IWMReaderAdvanced_AddRef(This) \
  9226. (This)->lpVtbl -> AddRef(This)
  9227. #define IWMReaderAdvanced_Release(This) \
  9228. (This)->lpVtbl -> Release(This)
  9229. #define IWMReaderAdvanced_SetUserProvidedClock(This,fUserClock) \
  9230. (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  9231. #define IWMReaderAdvanced_GetUserProvidedClock(This,pfUserClock) \
  9232. (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  9233. #define IWMReaderAdvanced_DeliverTime(This,cnsTime) \
  9234. (This)->lpVtbl -> DeliverTime(This,cnsTime)
  9235. #define IWMReaderAdvanced_SetManualStreamSelection(This,fSelection) \
  9236. (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  9237. #define IWMReaderAdvanced_GetManualStreamSelection(This,pfSelection) \
  9238. (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  9239. #define IWMReaderAdvanced_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) \
  9240. (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  9241. #define IWMReaderAdvanced_GetStreamSelected(This,wStreamNum,pSelection) \
  9242. (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  9243. #define IWMReaderAdvanced_SetReceiveSelectionCallbacks(This,fGetCallbacks) \
  9244. (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  9245. #define IWMReaderAdvanced_GetReceiveSelectionCallbacks(This,pfGetCallbacks) \
  9246. (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  9247. #define IWMReaderAdvanced_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) \
  9248. (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  9249. #define IWMReaderAdvanced_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) \
  9250. (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  9251. #define IWMReaderAdvanced_SetAllocateForOutput(This,dwOutputNum,fAllocate) \
  9252. (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  9253. #define IWMReaderAdvanced_GetAllocateForOutput(This,dwOutputNum,pfAllocate) \
  9254. (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  9255. #define IWMReaderAdvanced_SetAllocateForStream(This,wStreamNum,fAllocate) \
  9256. (This)->lpVtbl -> SetAllocateForStream(This,wStreamNum,fAllocate)
  9257. #define IWMReaderAdvanced_GetAllocateForStream(This,dwSreamNum,pfAllocate) \
  9258. (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  9259. #define IWMReaderAdvanced_GetStatistics(This,pStatistics) \
  9260. (This)->lpVtbl -> GetStatistics(This,pStatistics)
  9261. #define IWMReaderAdvanced_SetClientInfo(This,pClientInfo) \
  9262. (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  9263. #define IWMReaderAdvanced_GetMaxOutputSampleSize(This,dwOutput,pcbMax) \
  9264. (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  9265. #define IWMReaderAdvanced_GetMaxStreamSampleSize(This,wStream,pcbMax) \
  9266. (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  9267. #define IWMReaderAdvanced_NotifyLateDelivery(This,cnsLateness) \
  9268. (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  9269. #endif /* COBJMACROS */
  9270. #endif /* C style interface */
  9271. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetUserProvidedClock_Proxy(
  9272. IWMReaderAdvanced * This,
  9273. /* [in] */ BOOL fUserClock);
  9274. void __RPC_STUB IWMReaderAdvanced_SetUserProvidedClock_Stub(
  9275. IRpcStubBuffer *This,
  9276. IRpcChannelBuffer *_pRpcChannelBuffer,
  9277. PRPC_MESSAGE _pRpcMessage,
  9278. DWORD *_pdwStubPhase);
  9279. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetUserProvidedClock_Proxy(
  9280. IWMReaderAdvanced * This,
  9281. /* [out] */ BOOL *pfUserClock);
  9282. void __RPC_STUB IWMReaderAdvanced_GetUserProvidedClock_Stub(
  9283. IRpcStubBuffer *This,
  9284. IRpcChannelBuffer *_pRpcChannelBuffer,
  9285. PRPC_MESSAGE _pRpcMessage,
  9286. DWORD *_pdwStubPhase);
  9287. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_DeliverTime_Proxy(
  9288. IWMReaderAdvanced * This,
  9289. /* [in] */ QWORD cnsTime);
  9290. void __RPC_STUB IWMReaderAdvanced_DeliverTime_Stub(
  9291. IRpcStubBuffer *This,
  9292. IRpcChannelBuffer *_pRpcChannelBuffer,
  9293. PRPC_MESSAGE _pRpcMessage,
  9294. DWORD *_pdwStubPhase);
  9295. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetManualStreamSelection_Proxy(
  9296. IWMReaderAdvanced * This,
  9297. /* [in] */ BOOL fSelection);
  9298. void __RPC_STUB IWMReaderAdvanced_SetManualStreamSelection_Stub(
  9299. IRpcStubBuffer *This,
  9300. IRpcChannelBuffer *_pRpcChannelBuffer,
  9301. PRPC_MESSAGE _pRpcMessage,
  9302. DWORD *_pdwStubPhase);
  9303. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetManualStreamSelection_Proxy(
  9304. IWMReaderAdvanced * This,
  9305. /* [out] */ BOOL *pfSelection);
  9306. void __RPC_STUB IWMReaderAdvanced_GetManualStreamSelection_Stub(
  9307. IRpcStubBuffer *This,
  9308. IRpcChannelBuffer *_pRpcChannelBuffer,
  9309. PRPC_MESSAGE _pRpcMessage,
  9310. DWORD *_pdwStubPhase);
  9311. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetStreamsSelected_Proxy(
  9312. IWMReaderAdvanced * This,
  9313. /* [in] */ WORD cStreamCount,
  9314. /* [in] */ WORD *pwStreamNumbers,
  9315. /* [in] */ WMT_STREAM_SELECTION *pSelections);
  9316. void __RPC_STUB IWMReaderAdvanced_SetStreamsSelected_Stub(
  9317. IRpcStubBuffer *This,
  9318. IRpcChannelBuffer *_pRpcChannelBuffer,
  9319. PRPC_MESSAGE _pRpcMessage,
  9320. DWORD *_pdwStubPhase);
  9321. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetStreamSelected_Proxy(
  9322. IWMReaderAdvanced * This,
  9323. /* [in] */ WORD wStreamNum,
  9324. /* [out] */ WMT_STREAM_SELECTION *pSelection);
  9325. void __RPC_STUB IWMReaderAdvanced_GetStreamSelected_Stub(
  9326. IRpcStubBuffer *This,
  9327. IRpcChannelBuffer *_pRpcChannelBuffer,
  9328. PRPC_MESSAGE _pRpcMessage,
  9329. DWORD *_pdwStubPhase);
  9330. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetReceiveSelectionCallbacks_Proxy(
  9331. IWMReaderAdvanced * This,
  9332. /* [in] */ BOOL fGetCallbacks);
  9333. void __RPC_STUB IWMReaderAdvanced_SetReceiveSelectionCallbacks_Stub(
  9334. IRpcStubBuffer *This,
  9335. IRpcChannelBuffer *_pRpcChannelBuffer,
  9336. PRPC_MESSAGE _pRpcMessage,
  9337. DWORD *_pdwStubPhase);
  9338. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetReceiveSelectionCallbacks_Proxy(
  9339. IWMReaderAdvanced * This,
  9340. /* [out] */ BOOL *pfGetCallbacks);
  9341. void __RPC_STUB IWMReaderAdvanced_GetReceiveSelectionCallbacks_Stub(
  9342. IRpcStubBuffer *This,
  9343. IRpcChannelBuffer *_pRpcChannelBuffer,
  9344. PRPC_MESSAGE _pRpcMessage,
  9345. DWORD *_pdwStubPhase);
  9346. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetReceiveStreamSamples_Proxy(
  9347. IWMReaderAdvanced * This,
  9348. /* [in] */ WORD wStreamNum,
  9349. /* [in] */ BOOL fReceiveStreamSamples);
  9350. void __RPC_STUB IWMReaderAdvanced_SetReceiveStreamSamples_Stub(
  9351. IRpcStubBuffer *This,
  9352. IRpcChannelBuffer *_pRpcChannelBuffer,
  9353. PRPC_MESSAGE _pRpcMessage,
  9354. DWORD *_pdwStubPhase);
  9355. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetReceiveStreamSamples_Proxy(
  9356. IWMReaderAdvanced * This,
  9357. /* [in] */ WORD wStreamNum,
  9358. /* [out] */ BOOL *pfReceiveStreamSamples);
  9359. void __RPC_STUB IWMReaderAdvanced_GetReceiveStreamSamples_Stub(
  9360. IRpcStubBuffer *This,
  9361. IRpcChannelBuffer *_pRpcChannelBuffer,
  9362. PRPC_MESSAGE _pRpcMessage,
  9363. DWORD *_pdwStubPhase);
  9364. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetAllocateForOutput_Proxy(
  9365. IWMReaderAdvanced * This,
  9366. /* [in] */ DWORD dwOutputNum,
  9367. /* [in] */ BOOL fAllocate);
  9368. void __RPC_STUB IWMReaderAdvanced_SetAllocateForOutput_Stub(
  9369. IRpcStubBuffer *This,
  9370. IRpcChannelBuffer *_pRpcChannelBuffer,
  9371. PRPC_MESSAGE _pRpcMessage,
  9372. DWORD *_pdwStubPhase);
  9373. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetAllocateForOutput_Proxy(
  9374. IWMReaderAdvanced * This,
  9375. /* [in] */ DWORD dwOutputNum,
  9376. /* [out] */ BOOL *pfAllocate);
  9377. void __RPC_STUB IWMReaderAdvanced_GetAllocateForOutput_Stub(
  9378. IRpcStubBuffer *This,
  9379. IRpcChannelBuffer *_pRpcChannelBuffer,
  9380. PRPC_MESSAGE _pRpcMessage,
  9381. DWORD *_pdwStubPhase);
  9382. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetAllocateForStream_Proxy(
  9383. IWMReaderAdvanced * This,
  9384. /* [in] */ WORD wStreamNum,
  9385. /* [in] */ BOOL fAllocate);
  9386. void __RPC_STUB IWMReaderAdvanced_SetAllocateForStream_Stub(
  9387. IRpcStubBuffer *This,
  9388. IRpcChannelBuffer *_pRpcChannelBuffer,
  9389. PRPC_MESSAGE _pRpcMessage,
  9390. DWORD *_pdwStubPhase);
  9391. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetAllocateForStream_Proxy(
  9392. IWMReaderAdvanced * This,
  9393. /* [in] */ WORD dwSreamNum,
  9394. /* [out] */ BOOL *pfAllocate);
  9395. void __RPC_STUB IWMReaderAdvanced_GetAllocateForStream_Stub(
  9396. IRpcStubBuffer *This,
  9397. IRpcChannelBuffer *_pRpcChannelBuffer,
  9398. PRPC_MESSAGE _pRpcMessage,
  9399. DWORD *_pdwStubPhase);
  9400. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetStatistics_Proxy(
  9401. IWMReaderAdvanced * This,
  9402. /* [out][in] */ WM_READER_STATISTICS *pStatistics);
  9403. void __RPC_STUB IWMReaderAdvanced_GetStatistics_Stub(
  9404. IRpcStubBuffer *This,
  9405. IRpcChannelBuffer *_pRpcChannelBuffer,
  9406. PRPC_MESSAGE _pRpcMessage,
  9407. DWORD *_pdwStubPhase);
  9408. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetClientInfo_Proxy(
  9409. IWMReaderAdvanced * This,
  9410. /* [in] */ WM_READER_CLIENTINFO *pClientInfo);
  9411. void __RPC_STUB IWMReaderAdvanced_SetClientInfo_Stub(
  9412. IRpcStubBuffer *This,
  9413. IRpcChannelBuffer *_pRpcChannelBuffer,
  9414. PRPC_MESSAGE _pRpcMessage,
  9415. DWORD *_pdwStubPhase);
  9416. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetMaxOutputSampleSize_Proxy(
  9417. IWMReaderAdvanced * This,
  9418. /* [in] */ DWORD dwOutput,
  9419. /* [out] */ DWORD *pcbMax);
  9420. void __RPC_STUB IWMReaderAdvanced_GetMaxOutputSampleSize_Stub(
  9421. IRpcStubBuffer *This,
  9422. IRpcChannelBuffer *_pRpcChannelBuffer,
  9423. PRPC_MESSAGE _pRpcMessage,
  9424. DWORD *_pdwStubPhase);
  9425. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetMaxStreamSampleSize_Proxy(
  9426. IWMReaderAdvanced * This,
  9427. /* [in] */ WORD wStream,
  9428. /* [out] */ DWORD *pcbMax);
  9429. void __RPC_STUB IWMReaderAdvanced_GetMaxStreamSampleSize_Stub(
  9430. IRpcStubBuffer *This,
  9431. IRpcChannelBuffer *_pRpcChannelBuffer,
  9432. PRPC_MESSAGE _pRpcMessage,
  9433. DWORD *_pdwStubPhase);
  9434. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_NotifyLateDelivery_Proxy(
  9435. IWMReaderAdvanced * This,
  9436. QWORD cnsLateness);
  9437. void __RPC_STUB IWMReaderAdvanced_NotifyLateDelivery_Stub(
  9438. IRpcStubBuffer *This,
  9439. IRpcChannelBuffer *_pRpcChannelBuffer,
  9440. PRPC_MESSAGE _pRpcMessage,
  9441. DWORD *_pdwStubPhase);
  9442. #endif /* __IWMReaderAdvanced_INTERFACE_DEFINED__ */
  9443. #ifndef __IWMReaderAdvanced2_INTERFACE_DEFINED__
  9444. #define __IWMReaderAdvanced2_INTERFACE_DEFINED__
  9445. /* interface IWMReaderAdvanced2 */
  9446. /* [local][unique][helpstring][uuid][object] */
  9447. EXTERN_C const IID IID_IWMReaderAdvanced2;
  9448. #if defined(__cplusplus) && !defined(CINTERFACE)
  9449. MIDL_INTERFACE("ae14a945-b90c-4d0d-9127-80d665f7d73e")
  9450. IWMReaderAdvanced2 : public IWMReaderAdvanced
  9451. {
  9452. public:
  9453. virtual HRESULT STDMETHODCALLTYPE SetPlayMode(
  9454. /* [in] */ WMT_PLAY_MODE Mode) = 0;
  9455. virtual HRESULT STDMETHODCALLTYPE GetPlayMode(
  9456. /* [out] */ WMT_PLAY_MODE *pMode) = 0;
  9457. virtual HRESULT STDMETHODCALLTYPE GetBufferProgress(
  9458. /* [out] */ DWORD *pdwPercent,
  9459. /* [out] */ QWORD *pcnsBuffering) = 0;
  9460. virtual HRESULT STDMETHODCALLTYPE GetDownloadProgress(
  9461. /* [out] */ DWORD *pdwPercent,
  9462. /* [out] */ QWORD *pqwBytesDownloaded,
  9463. /* [out] */ QWORD *pcnsDownload) = 0;
  9464. virtual HRESULT STDMETHODCALLTYPE GetSaveAsProgress(
  9465. /* [out] */ DWORD *pdwPercent) = 0;
  9466. virtual HRESULT STDMETHODCALLTYPE SaveFileAs(
  9467. /* [in] */ const WCHAR *pwszFilename) = 0;
  9468. virtual HRESULT STDMETHODCALLTYPE GetProtocolName(
  9469. /* [size_is][out] */ WCHAR *pwszProtocol,
  9470. /* [out][in] */ DWORD *pcchProtocol) = 0;
  9471. virtual HRESULT STDMETHODCALLTYPE StartAtMarker(
  9472. /* [in] */ WORD wMarkerIndex,
  9473. /* [in] */ QWORD cnsDuration,
  9474. /* [in] */ float fRate,
  9475. /* [in] */ void *pvContext) = 0;
  9476. virtual HRESULT STDMETHODCALLTYPE GetOutputSetting(
  9477. /* [in] */ DWORD dwOutputNum,
  9478. /* [in] */ LPCWSTR pszName,
  9479. /* [out] */ WMT_ATTR_DATATYPE *pType,
  9480. /* [size_is][out] */ BYTE *pValue,
  9481. /* [out][in] */ WORD *pcbLength) = 0;
  9482. virtual HRESULT STDMETHODCALLTYPE SetOutputSetting(
  9483. /* [in] */ DWORD dwOutputNum,
  9484. /* [in] */ LPCWSTR pszName,
  9485. /* [in] */ WMT_ATTR_DATATYPE Type,
  9486. /* [size_is][in] */ const BYTE *pValue,
  9487. /* [in] */ WORD cbLength) = 0;
  9488. virtual HRESULT STDMETHODCALLTYPE Preroll(
  9489. /* [in] */ QWORD cnsStart,
  9490. /* [in] */ QWORD cnsDuration,
  9491. /* [in] */ float fRate) = 0;
  9492. virtual HRESULT STDMETHODCALLTYPE SetLogClientID(
  9493. /* [in] */ BOOL fLogClientID) = 0;
  9494. virtual HRESULT STDMETHODCALLTYPE GetLogClientID(
  9495. /* [out] */ BOOL *pfLogClientID) = 0;
  9496. virtual HRESULT STDMETHODCALLTYPE StopBuffering( void) = 0;
  9497. virtual HRESULT STDMETHODCALLTYPE OpenStream(
  9498. /* [in] */ IStream *pStream,
  9499. /* [in] */ IWMReaderCallback *pCallback,
  9500. /* [in] */ void *pvContext) = 0;
  9501. };
  9502. #else /* C style interface */
  9503. typedef struct IWMReaderAdvanced2Vtbl
  9504. {
  9505. BEGIN_INTERFACE
  9506. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9507. IWMReaderAdvanced2 * This,
  9508. /* [in] */ REFIID riid,
  9509. /* [iid_is][out] */ void **ppvObject);
  9510. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9511. IWMReaderAdvanced2 * This);
  9512. ULONG ( STDMETHODCALLTYPE *Release )(
  9513. IWMReaderAdvanced2 * This);
  9514. HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )(
  9515. IWMReaderAdvanced2 * This,
  9516. /* [in] */ BOOL fUserClock);
  9517. HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )(
  9518. IWMReaderAdvanced2 * This,
  9519. /* [out] */ BOOL *pfUserClock);
  9520. HRESULT ( STDMETHODCALLTYPE *DeliverTime )(
  9521. IWMReaderAdvanced2 * This,
  9522. /* [in] */ QWORD cnsTime);
  9523. HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )(
  9524. IWMReaderAdvanced2 * This,
  9525. /* [in] */ BOOL fSelection);
  9526. HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )(
  9527. IWMReaderAdvanced2 * This,
  9528. /* [out] */ BOOL *pfSelection);
  9529. HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )(
  9530. IWMReaderAdvanced2 * This,
  9531. /* [in] */ WORD cStreamCount,
  9532. /* [in] */ WORD *pwStreamNumbers,
  9533. /* [in] */ WMT_STREAM_SELECTION *pSelections);
  9534. HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )(
  9535. IWMReaderAdvanced2 * This,
  9536. /* [in] */ WORD wStreamNum,
  9537. /* [out] */ WMT_STREAM_SELECTION *pSelection);
  9538. HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )(
  9539. IWMReaderAdvanced2 * This,
  9540. /* [in] */ BOOL fGetCallbacks);
  9541. HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )(
  9542. IWMReaderAdvanced2 * This,
  9543. /* [out] */ BOOL *pfGetCallbacks);
  9544. HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )(
  9545. IWMReaderAdvanced2 * This,
  9546. /* [in] */ WORD wStreamNum,
  9547. /* [in] */ BOOL fReceiveStreamSamples);
  9548. HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )(
  9549. IWMReaderAdvanced2 * This,
  9550. /* [in] */ WORD wStreamNum,
  9551. /* [out] */ BOOL *pfReceiveStreamSamples);
  9552. HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )(
  9553. IWMReaderAdvanced2 * This,
  9554. /* [in] */ DWORD dwOutputNum,
  9555. /* [in] */ BOOL fAllocate);
  9556. HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )(
  9557. IWMReaderAdvanced2 * This,
  9558. /* [in] */ DWORD dwOutputNum,
  9559. /* [out] */ BOOL *pfAllocate);
  9560. HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )(
  9561. IWMReaderAdvanced2 * This,
  9562. /* [in] */ WORD wStreamNum,
  9563. /* [in] */ BOOL fAllocate);
  9564. HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )(
  9565. IWMReaderAdvanced2 * This,
  9566. /* [in] */ WORD dwSreamNum,
  9567. /* [out] */ BOOL *pfAllocate);
  9568. HRESULT ( STDMETHODCALLTYPE *GetStatistics )(
  9569. IWMReaderAdvanced2 * This,
  9570. /* [out][in] */ WM_READER_STATISTICS *pStatistics);
  9571. HRESULT ( STDMETHODCALLTYPE *SetClientInfo )(
  9572. IWMReaderAdvanced2 * This,
  9573. /* [in] */ WM_READER_CLIENTINFO *pClientInfo);
  9574. HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )(
  9575. IWMReaderAdvanced2 * This,
  9576. /* [in] */ DWORD dwOutput,
  9577. /* [out] */ DWORD *pcbMax);
  9578. HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )(
  9579. IWMReaderAdvanced2 * This,
  9580. /* [in] */ WORD wStream,
  9581. /* [out] */ DWORD *pcbMax);
  9582. HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )(
  9583. IWMReaderAdvanced2 * This,
  9584. QWORD cnsLateness);
  9585. HRESULT ( STDMETHODCALLTYPE *SetPlayMode )(
  9586. IWMReaderAdvanced2 * This,
  9587. /* [in] */ WMT_PLAY_MODE Mode);
  9588. HRESULT ( STDMETHODCALLTYPE *GetPlayMode )(
  9589. IWMReaderAdvanced2 * This,
  9590. /* [out] */ WMT_PLAY_MODE *pMode);
  9591. HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )(
  9592. IWMReaderAdvanced2 * This,
  9593. /* [out] */ DWORD *pdwPercent,
  9594. /* [out] */ QWORD *pcnsBuffering);
  9595. HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )(
  9596. IWMReaderAdvanced2 * This,
  9597. /* [out] */ DWORD *pdwPercent,
  9598. /* [out] */ QWORD *pqwBytesDownloaded,
  9599. /* [out] */ QWORD *pcnsDownload);
  9600. HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )(
  9601. IWMReaderAdvanced2 * This,
  9602. /* [out] */ DWORD *pdwPercent);
  9603. HRESULT ( STDMETHODCALLTYPE *SaveFileAs )(
  9604. IWMReaderAdvanced2 * This,
  9605. /* [in] */ const WCHAR *pwszFilename);
  9606. HRESULT ( STDMETHODCALLTYPE *GetProtocolName )(
  9607. IWMReaderAdvanced2 * This,
  9608. /* [size_is][out] */ WCHAR *pwszProtocol,
  9609. /* [out][in] */ DWORD *pcchProtocol);
  9610. HRESULT ( STDMETHODCALLTYPE *StartAtMarker )(
  9611. IWMReaderAdvanced2 * This,
  9612. /* [in] */ WORD wMarkerIndex,
  9613. /* [in] */ QWORD cnsDuration,
  9614. /* [in] */ float fRate,
  9615. /* [in] */ void *pvContext);
  9616. HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )(
  9617. IWMReaderAdvanced2 * This,
  9618. /* [in] */ DWORD dwOutputNum,
  9619. /* [in] */ LPCWSTR pszName,
  9620. /* [out] */ WMT_ATTR_DATATYPE *pType,
  9621. /* [size_is][out] */ BYTE *pValue,
  9622. /* [out][in] */ WORD *pcbLength);
  9623. HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )(
  9624. IWMReaderAdvanced2 * This,
  9625. /* [in] */ DWORD dwOutputNum,
  9626. /* [in] */ LPCWSTR pszName,
  9627. /* [in] */ WMT_ATTR_DATATYPE Type,
  9628. /* [size_is][in] */ const BYTE *pValue,
  9629. /* [in] */ WORD cbLength);
  9630. HRESULT ( STDMETHODCALLTYPE *Preroll )(
  9631. IWMReaderAdvanced2 * This,
  9632. /* [in] */ QWORD cnsStart,
  9633. /* [in] */ QWORD cnsDuration,
  9634. /* [in] */ float fRate);
  9635. HRESULT ( STDMETHODCALLTYPE *SetLogClientID )(
  9636. IWMReaderAdvanced2 * This,
  9637. /* [in] */ BOOL fLogClientID);
  9638. HRESULT ( STDMETHODCALLTYPE *GetLogClientID )(
  9639. IWMReaderAdvanced2 * This,
  9640. /* [out] */ BOOL *pfLogClientID);
  9641. HRESULT ( STDMETHODCALLTYPE *StopBuffering )(
  9642. IWMReaderAdvanced2 * This);
  9643. HRESULT ( STDMETHODCALLTYPE *OpenStream )(
  9644. IWMReaderAdvanced2 * This,
  9645. /* [in] */ IStream *pStream,
  9646. /* [in] */ IWMReaderCallback *pCallback,
  9647. /* [in] */ void *pvContext);
  9648. END_INTERFACE
  9649. } IWMReaderAdvanced2Vtbl;
  9650. interface IWMReaderAdvanced2
  9651. {
  9652. CONST_VTBL struct IWMReaderAdvanced2Vtbl *lpVtbl;
  9653. };
  9654. #ifdef COBJMACROS
  9655. #define IWMReaderAdvanced2_QueryInterface(This,riid,ppvObject) \
  9656. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9657. #define IWMReaderAdvanced2_AddRef(This) \
  9658. (This)->lpVtbl -> AddRef(This)
  9659. #define IWMReaderAdvanced2_Release(This) \
  9660. (This)->lpVtbl -> Release(This)
  9661. #define IWMReaderAdvanced2_SetUserProvidedClock(This,fUserClock) \
  9662. (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  9663. #define IWMReaderAdvanced2_GetUserProvidedClock(This,pfUserClock) \
  9664. (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  9665. #define IWMReaderAdvanced2_DeliverTime(This,cnsTime) \
  9666. (This)->lpVtbl -> DeliverTime(This,cnsTime)
  9667. #define IWMReaderAdvanced2_SetManualStreamSelection(This,fSelection) \
  9668. (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  9669. #define IWMReaderAdvanced2_GetManualStreamSelection(This,pfSelection) \
  9670. (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  9671. #define IWMReaderAdvanced2_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) \
  9672. (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  9673. #define IWMReaderAdvanced2_GetStreamSelected(This,wStreamNum,pSelection) \
  9674. (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  9675. #define IWMReaderAdvanced2_SetReceiveSelectionCallbacks(This,fGetCallbacks) \
  9676. (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  9677. #define IWMReaderAdvanced2_GetReceiveSelectionCallbacks(This,pfGetCallbacks) \
  9678. (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  9679. #define IWMReaderAdvanced2_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) \
  9680. (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  9681. #define IWMReaderAdvanced2_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) \
  9682. (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  9683. #define IWMReaderAdvanced2_SetAllocateForOutput(This,dwOutputNum,fAllocate) \
  9684. (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  9685. #define IWMReaderAdvanced2_GetAllocateForOutput(This,dwOutputNum,pfAllocate) \
  9686. (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  9687. #define IWMReaderAdvanced2_SetAllocateForStream(This,wStreamNum,fAllocate) \
  9688. (This)->lpVtbl -> SetAllocateForStream(This,wStreamNum,fAllocate)
  9689. #define IWMReaderAdvanced2_GetAllocateForStream(This,dwSreamNum,pfAllocate) \
  9690. (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  9691. #define IWMReaderAdvanced2_GetStatistics(This,pStatistics) \
  9692. (This)->lpVtbl -> GetStatistics(This,pStatistics)
  9693. #define IWMReaderAdvanced2_SetClientInfo(This,pClientInfo) \
  9694. (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  9695. #define IWMReaderAdvanced2_GetMaxOutputSampleSize(This,dwOutput,pcbMax) \
  9696. (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  9697. #define IWMReaderAdvanced2_GetMaxStreamSampleSize(This,wStream,pcbMax) \
  9698. (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  9699. #define IWMReaderAdvanced2_NotifyLateDelivery(This,cnsLateness) \
  9700. (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  9701. #define IWMReaderAdvanced2_SetPlayMode(This,Mode) \
  9702. (This)->lpVtbl -> SetPlayMode(This,Mode)
  9703. #define IWMReaderAdvanced2_GetPlayMode(This,pMode) \
  9704. (This)->lpVtbl -> GetPlayMode(This,pMode)
  9705. #define IWMReaderAdvanced2_GetBufferProgress(This,pdwPercent,pcnsBuffering) \
  9706. (This)->lpVtbl -> GetBufferProgress(This,pdwPercent,pcnsBuffering)
  9707. #define IWMReaderAdvanced2_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) \
  9708. (This)->lpVtbl -> GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  9709. #define IWMReaderAdvanced2_GetSaveAsProgress(This,pdwPercent) \
  9710. (This)->lpVtbl -> GetSaveAsProgress(This,pdwPercent)
  9711. #define IWMReaderAdvanced2_SaveFileAs(This,pwszFilename) \
  9712. (This)->lpVtbl -> SaveFileAs(This,pwszFilename)
  9713. #define IWMReaderAdvanced2_GetProtocolName(This,pwszProtocol,pcchProtocol) \
  9714. (This)->lpVtbl -> GetProtocolName(This,pwszProtocol,pcchProtocol)
  9715. #define IWMReaderAdvanced2_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) \
  9716. (This)->lpVtbl -> StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  9717. #define IWMReaderAdvanced2_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) \
  9718. (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  9719. #define IWMReaderAdvanced2_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) \
  9720. (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  9721. #define IWMReaderAdvanced2_Preroll(This,cnsStart,cnsDuration,fRate) \
  9722. (This)->lpVtbl -> Preroll(This,cnsStart,cnsDuration,fRate)
  9723. #define IWMReaderAdvanced2_SetLogClientID(This,fLogClientID) \
  9724. (This)->lpVtbl -> SetLogClientID(This,fLogClientID)
  9725. #define IWMReaderAdvanced2_GetLogClientID(This,pfLogClientID) \
  9726. (This)->lpVtbl -> GetLogClientID(This,pfLogClientID)
  9727. #define IWMReaderAdvanced2_StopBuffering(This) \
  9728. (This)->lpVtbl -> StopBuffering(This)
  9729. #define IWMReaderAdvanced2_OpenStream(This,pStream,pCallback,pvContext) \
  9730. (This)->lpVtbl -> OpenStream(This,pStream,pCallback,pvContext)
  9731. #endif /* COBJMACROS */
  9732. #endif /* C style interface */
  9733. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetPlayMode_Proxy(
  9734. IWMReaderAdvanced2 * This,
  9735. /* [in] */ WMT_PLAY_MODE Mode);
  9736. void __RPC_STUB IWMReaderAdvanced2_SetPlayMode_Stub(
  9737. IRpcStubBuffer *This,
  9738. IRpcChannelBuffer *_pRpcChannelBuffer,
  9739. PRPC_MESSAGE _pRpcMessage,
  9740. DWORD *_pdwStubPhase);
  9741. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetPlayMode_Proxy(
  9742. IWMReaderAdvanced2 * This,
  9743. /* [out] */ WMT_PLAY_MODE *pMode);
  9744. void __RPC_STUB IWMReaderAdvanced2_GetPlayMode_Stub(
  9745. IRpcStubBuffer *This,
  9746. IRpcChannelBuffer *_pRpcChannelBuffer,
  9747. PRPC_MESSAGE _pRpcMessage,
  9748. DWORD *_pdwStubPhase);
  9749. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetBufferProgress_Proxy(
  9750. IWMReaderAdvanced2 * This,
  9751. /* [out] */ DWORD *pdwPercent,
  9752. /* [out] */ QWORD *pcnsBuffering);
  9753. void __RPC_STUB IWMReaderAdvanced2_GetBufferProgress_Stub(
  9754. IRpcStubBuffer *This,
  9755. IRpcChannelBuffer *_pRpcChannelBuffer,
  9756. PRPC_MESSAGE _pRpcMessage,
  9757. DWORD *_pdwStubPhase);
  9758. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetDownloadProgress_Proxy(
  9759. IWMReaderAdvanced2 * This,
  9760. /* [out] */ DWORD *pdwPercent,
  9761. /* [out] */ QWORD *pqwBytesDownloaded,
  9762. /* [out] */ QWORD *pcnsDownload);
  9763. void __RPC_STUB IWMReaderAdvanced2_GetDownloadProgress_Stub(
  9764. IRpcStubBuffer *This,
  9765. IRpcChannelBuffer *_pRpcChannelBuffer,
  9766. PRPC_MESSAGE _pRpcMessage,
  9767. DWORD *_pdwStubPhase);
  9768. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetSaveAsProgress_Proxy(
  9769. IWMReaderAdvanced2 * This,
  9770. /* [out] */ DWORD *pdwPercent);
  9771. void __RPC_STUB IWMReaderAdvanced2_GetSaveAsProgress_Stub(
  9772. IRpcStubBuffer *This,
  9773. IRpcChannelBuffer *_pRpcChannelBuffer,
  9774. PRPC_MESSAGE _pRpcMessage,
  9775. DWORD *_pdwStubPhase);
  9776. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SaveFileAs_Proxy(
  9777. IWMReaderAdvanced2 * This,
  9778. /* [in] */ const WCHAR *pwszFilename);
  9779. void __RPC_STUB IWMReaderAdvanced2_SaveFileAs_Stub(
  9780. IRpcStubBuffer *This,
  9781. IRpcChannelBuffer *_pRpcChannelBuffer,
  9782. PRPC_MESSAGE _pRpcMessage,
  9783. DWORD *_pdwStubPhase);
  9784. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetProtocolName_Proxy(
  9785. IWMReaderAdvanced2 * This,
  9786. /* [size_is][out] */ WCHAR *pwszProtocol,
  9787. /* [out][in] */ DWORD *pcchProtocol);
  9788. void __RPC_STUB IWMReaderAdvanced2_GetProtocolName_Stub(
  9789. IRpcStubBuffer *This,
  9790. IRpcChannelBuffer *_pRpcChannelBuffer,
  9791. PRPC_MESSAGE _pRpcMessage,
  9792. DWORD *_pdwStubPhase);
  9793. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_StartAtMarker_Proxy(
  9794. IWMReaderAdvanced2 * This,
  9795. /* [in] */ WORD wMarkerIndex,
  9796. /* [in] */ QWORD cnsDuration,
  9797. /* [in] */ float fRate,
  9798. /* [in] */ void *pvContext);
  9799. void __RPC_STUB IWMReaderAdvanced2_StartAtMarker_Stub(
  9800. IRpcStubBuffer *This,
  9801. IRpcChannelBuffer *_pRpcChannelBuffer,
  9802. PRPC_MESSAGE _pRpcMessage,
  9803. DWORD *_pdwStubPhase);
  9804. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetOutputSetting_Proxy(
  9805. IWMReaderAdvanced2 * This,
  9806. /* [in] */ DWORD dwOutputNum,
  9807. /* [in] */ LPCWSTR pszName,
  9808. /* [out] */ WMT_ATTR_DATATYPE *pType,
  9809. /* [size_is][out] */ BYTE *pValue,
  9810. /* [out][in] */ WORD *pcbLength);
  9811. void __RPC_STUB IWMReaderAdvanced2_GetOutputSetting_Stub(
  9812. IRpcStubBuffer *This,
  9813. IRpcChannelBuffer *_pRpcChannelBuffer,
  9814. PRPC_MESSAGE _pRpcMessage,
  9815. DWORD *_pdwStubPhase);
  9816. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetOutputSetting_Proxy(
  9817. IWMReaderAdvanced2 * This,
  9818. /* [in] */ DWORD dwOutputNum,
  9819. /* [in] */ LPCWSTR pszName,
  9820. /* [in] */ WMT_ATTR_DATATYPE Type,
  9821. /* [size_is][in] */ const BYTE *pValue,
  9822. /* [in] */ WORD cbLength);
  9823. void __RPC_STUB IWMReaderAdvanced2_SetOutputSetting_Stub(
  9824. IRpcStubBuffer *This,
  9825. IRpcChannelBuffer *_pRpcChannelBuffer,
  9826. PRPC_MESSAGE _pRpcMessage,
  9827. DWORD *_pdwStubPhase);
  9828. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_Preroll_Proxy(
  9829. IWMReaderAdvanced2 * This,
  9830. /* [in] */ QWORD cnsStart,
  9831. /* [in] */ QWORD cnsDuration,
  9832. /* [in] */ float fRate);
  9833. void __RPC_STUB IWMReaderAdvanced2_Preroll_Stub(
  9834. IRpcStubBuffer *This,
  9835. IRpcChannelBuffer *_pRpcChannelBuffer,
  9836. PRPC_MESSAGE _pRpcMessage,
  9837. DWORD *_pdwStubPhase);
  9838. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetLogClientID_Proxy(
  9839. IWMReaderAdvanced2 * This,
  9840. /* [in] */ BOOL fLogClientID);
  9841. void __RPC_STUB IWMReaderAdvanced2_SetLogClientID_Stub(
  9842. IRpcStubBuffer *This,
  9843. IRpcChannelBuffer *_pRpcChannelBuffer,
  9844. PRPC_MESSAGE _pRpcMessage,
  9845. DWORD *_pdwStubPhase);
  9846. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetLogClientID_Proxy(
  9847. IWMReaderAdvanced2 * This,
  9848. /* [out] */ BOOL *pfLogClientID);
  9849. void __RPC_STUB IWMReaderAdvanced2_GetLogClientID_Stub(
  9850. IRpcStubBuffer *This,
  9851. IRpcChannelBuffer *_pRpcChannelBuffer,
  9852. PRPC_MESSAGE _pRpcMessage,
  9853. DWORD *_pdwStubPhase);
  9854. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_StopBuffering_Proxy(
  9855. IWMReaderAdvanced2 * This);
  9856. void __RPC_STUB IWMReaderAdvanced2_StopBuffering_Stub(
  9857. IRpcStubBuffer *This,
  9858. IRpcChannelBuffer *_pRpcChannelBuffer,
  9859. PRPC_MESSAGE _pRpcMessage,
  9860. DWORD *_pdwStubPhase);
  9861. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_OpenStream_Proxy(
  9862. IWMReaderAdvanced2 * This,
  9863. /* [in] */ IStream *pStream,
  9864. /* [in] */ IWMReaderCallback *pCallback,
  9865. /* [in] */ void *pvContext);
  9866. void __RPC_STUB IWMReaderAdvanced2_OpenStream_Stub(
  9867. IRpcStubBuffer *This,
  9868. IRpcChannelBuffer *_pRpcChannelBuffer,
  9869. PRPC_MESSAGE _pRpcMessage,
  9870. DWORD *_pdwStubPhase);
  9871. #endif /* __IWMReaderAdvanced2_INTERFACE_DEFINED__ */
  9872. #ifndef __IWMReaderAdvanced3_INTERFACE_DEFINED__
  9873. #define __IWMReaderAdvanced3_INTERFACE_DEFINED__
  9874. /* interface IWMReaderAdvanced3 */
  9875. /* [local][unique][helpstring][uuid][object] */
  9876. EXTERN_C const IID IID_IWMReaderAdvanced3;
  9877. #if defined(__cplusplus) && !defined(CINTERFACE)
  9878. MIDL_INTERFACE("5DC0674B-F04B-4a4e-9F2A-B1AFDE2C8100")
  9879. IWMReaderAdvanced3 : public IWMReaderAdvanced2
  9880. {
  9881. public:
  9882. virtual HRESULT STDMETHODCALLTYPE StopNetStreaming( void) = 0;
  9883. virtual HRESULT STDMETHODCALLTYPE StartAtPosition(
  9884. /* [in] */ WORD wStreamNum,
  9885. /* [in] */ void *pvOffsetStart,
  9886. /* [in] */ void *pvDuration,
  9887. /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  9888. /* [in] */ float fRate,
  9889. /* [in] */ void *pvContext) = 0;
  9890. };
  9891. #else /* C style interface */
  9892. typedef struct IWMReaderAdvanced3Vtbl
  9893. {
  9894. BEGIN_INTERFACE
  9895. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9896. IWMReaderAdvanced3 * This,
  9897. /* [in] */ REFIID riid,
  9898. /* [iid_is][out] */ void **ppvObject);
  9899. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9900. IWMReaderAdvanced3 * This);
  9901. ULONG ( STDMETHODCALLTYPE *Release )(
  9902. IWMReaderAdvanced3 * This);
  9903. HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )(
  9904. IWMReaderAdvanced3 * This,
  9905. /* [in] */ BOOL fUserClock);
  9906. HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )(
  9907. IWMReaderAdvanced3 * This,
  9908. /* [out] */ BOOL *pfUserClock);
  9909. HRESULT ( STDMETHODCALLTYPE *DeliverTime )(
  9910. IWMReaderAdvanced3 * This,
  9911. /* [in] */ QWORD cnsTime);
  9912. HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )(
  9913. IWMReaderAdvanced3 * This,
  9914. /* [in] */ BOOL fSelection);
  9915. HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )(
  9916. IWMReaderAdvanced3 * This,
  9917. /* [out] */ BOOL *pfSelection);
  9918. HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )(
  9919. IWMReaderAdvanced3 * This,
  9920. /* [in] */ WORD cStreamCount,
  9921. /* [in] */ WORD *pwStreamNumbers,
  9922. /* [in] */ WMT_STREAM_SELECTION *pSelections);
  9923. HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )(
  9924. IWMReaderAdvanced3 * This,
  9925. /* [in] */ WORD wStreamNum,
  9926. /* [out] */ WMT_STREAM_SELECTION *pSelection);
  9927. HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )(
  9928. IWMReaderAdvanced3 * This,
  9929. /* [in] */ BOOL fGetCallbacks);
  9930. HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )(
  9931. IWMReaderAdvanced3 * This,
  9932. /* [out] */ BOOL *pfGetCallbacks);
  9933. HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )(
  9934. IWMReaderAdvanced3 * This,
  9935. /* [in] */ WORD wStreamNum,
  9936. /* [in] */ BOOL fReceiveStreamSamples);
  9937. HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )(
  9938. IWMReaderAdvanced3 * This,
  9939. /* [in] */ WORD wStreamNum,
  9940. /* [out] */ BOOL *pfReceiveStreamSamples);
  9941. HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )(
  9942. IWMReaderAdvanced3 * This,
  9943. /* [in] */ DWORD dwOutputNum,
  9944. /* [in] */ BOOL fAllocate);
  9945. HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )(
  9946. IWMReaderAdvanced3 * This,
  9947. /* [in] */ DWORD dwOutputNum,
  9948. /* [out] */ BOOL *pfAllocate);
  9949. HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )(
  9950. IWMReaderAdvanced3 * This,
  9951. /* [in] */ WORD wStreamNum,
  9952. /* [in] */ BOOL fAllocate);
  9953. HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )(
  9954. IWMReaderAdvanced3 * This,
  9955. /* [in] */ WORD dwSreamNum,
  9956. /* [out] */ BOOL *pfAllocate);
  9957. HRESULT ( STDMETHODCALLTYPE *GetStatistics )(
  9958. IWMReaderAdvanced3 * This,
  9959. /* [out][in] */ WM_READER_STATISTICS *pStatistics);
  9960. HRESULT ( STDMETHODCALLTYPE *SetClientInfo )(
  9961. IWMReaderAdvanced3 * This,
  9962. /* [in] */ WM_READER_CLIENTINFO *pClientInfo);
  9963. HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )(
  9964. IWMReaderAdvanced3 * This,
  9965. /* [in] */ DWORD dwOutput,
  9966. /* [out] */ DWORD *pcbMax);
  9967. HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )(
  9968. IWMReaderAdvanced3 * This,
  9969. /* [in] */ WORD wStream,
  9970. /* [out] */ DWORD *pcbMax);
  9971. HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )(
  9972. IWMReaderAdvanced3 * This,
  9973. QWORD cnsLateness);
  9974. HRESULT ( STDMETHODCALLTYPE *SetPlayMode )(
  9975. IWMReaderAdvanced3 * This,
  9976. /* [in] */ WMT_PLAY_MODE Mode);
  9977. HRESULT ( STDMETHODCALLTYPE *GetPlayMode )(
  9978. IWMReaderAdvanced3 * This,
  9979. /* [out] */ WMT_PLAY_MODE *pMode);
  9980. HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )(
  9981. IWMReaderAdvanced3 * This,
  9982. /* [out] */ DWORD *pdwPercent,
  9983. /* [out] */ QWORD *pcnsBuffering);
  9984. HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )(
  9985. IWMReaderAdvanced3 * This,
  9986. /* [out] */ DWORD *pdwPercent,
  9987. /* [out] */ QWORD *pqwBytesDownloaded,
  9988. /* [out] */ QWORD *pcnsDownload);
  9989. HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )(
  9990. IWMReaderAdvanced3 * This,
  9991. /* [out] */ DWORD *pdwPercent);
  9992. HRESULT ( STDMETHODCALLTYPE *SaveFileAs )(
  9993. IWMReaderAdvanced3 * This,
  9994. /* [in] */ const WCHAR *pwszFilename);
  9995. HRESULT ( STDMETHODCALLTYPE *GetProtocolName )(
  9996. IWMReaderAdvanced3 * This,
  9997. /* [size_is][out] */ WCHAR *pwszProtocol,
  9998. /* [out][in] */ DWORD *pcchProtocol);
  9999. HRESULT ( STDMETHODCALLTYPE *StartAtMarker )(
  10000. IWMReaderAdvanced3 * This,
  10001. /* [in] */ WORD wMarkerIndex,
  10002. /* [in] */ QWORD cnsDuration,
  10003. /* [in] */ float fRate,
  10004. /* [in] */ void *pvContext);
  10005. HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )(
  10006. IWMReaderAdvanced3 * This,
  10007. /* [in] */ DWORD dwOutputNum,
  10008. /* [in] */ LPCWSTR pszName,
  10009. /* [out] */ WMT_ATTR_DATATYPE *pType,
  10010. /* [size_is][out] */ BYTE *pValue,
  10011. /* [out][in] */ WORD *pcbLength);
  10012. HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )(
  10013. IWMReaderAdvanced3 * This,
  10014. /* [in] */ DWORD dwOutputNum,
  10015. /* [in] */ LPCWSTR pszName,
  10016. /* [in] */ WMT_ATTR_DATATYPE Type,
  10017. /* [size_is][in] */ const BYTE *pValue,
  10018. /* [in] */ WORD cbLength);
  10019. HRESULT ( STDMETHODCALLTYPE *Preroll )(
  10020. IWMReaderAdvanced3 * This,
  10021. /* [in] */ QWORD cnsStart,
  10022. /* [in] */ QWORD cnsDuration,
  10023. /* [in] */ float fRate);
  10024. HRESULT ( STDMETHODCALLTYPE *SetLogClientID )(
  10025. IWMReaderAdvanced3 * This,
  10026. /* [in] */ BOOL fLogClientID);
  10027. HRESULT ( STDMETHODCALLTYPE *GetLogClientID )(
  10028. IWMReaderAdvanced3 * This,
  10029. /* [out] */ BOOL *pfLogClientID);
  10030. HRESULT ( STDMETHODCALLTYPE *StopBuffering )(
  10031. IWMReaderAdvanced3 * This);
  10032. HRESULT ( STDMETHODCALLTYPE *OpenStream )(
  10033. IWMReaderAdvanced3 * This,
  10034. /* [in] */ IStream *pStream,
  10035. /* [in] */ IWMReaderCallback *pCallback,
  10036. /* [in] */ void *pvContext);
  10037. HRESULT ( STDMETHODCALLTYPE *StopNetStreaming )(
  10038. IWMReaderAdvanced3 * This);
  10039. HRESULT ( STDMETHODCALLTYPE *StartAtPosition )(
  10040. IWMReaderAdvanced3 * This,
  10041. /* [in] */ WORD wStreamNum,
  10042. /* [in] */ void *pvOffsetStart,
  10043. /* [in] */ void *pvDuration,
  10044. /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  10045. /* [in] */ float fRate,
  10046. /* [in] */ void *pvContext);
  10047. END_INTERFACE
  10048. } IWMReaderAdvanced3Vtbl;
  10049. interface IWMReaderAdvanced3
  10050. {
  10051. CONST_VTBL struct IWMReaderAdvanced3Vtbl *lpVtbl;
  10052. };
  10053. #ifdef COBJMACROS
  10054. #define IWMReaderAdvanced3_QueryInterface(This,riid,ppvObject) \
  10055. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10056. #define IWMReaderAdvanced3_AddRef(This) \
  10057. (This)->lpVtbl -> AddRef(This)
  10058. #define IWMReaderAdvanced3_Release(This) \
  10059. (This)->lpVtbl -> Release(This)
  10060. #define IWMReaderAdvanced3_SetUserProvidedClock(This,fUserClock) \
  10061. (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  10062. #define IWMReaderAdvanced3_GetUserProvidedClock(This,pfUserClock) \
  10063. (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  10064. #define IWMReaderAdvanced3_DeliverTime(This,cnsTime) \
  10065. (This)->lpVtbl -> DeliverTime(This,cnsTime)
  10066. #define IWMReaderAdvanced3_SetManualStreamSelection(This,fSelection) \
  10067. (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  10068. #define IWMReaderAdvanced3_GetManualStreamSelection(This,pfSelection) \
  10069. (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  10070. #define IWMReaderAdvanced3_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) \
  10071. (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  10072. #define IWMReaderAdvanced3_GetStreamSelected(This,wStreamNum,pSelection) \
  10073. (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  10074. #define IWMReaderAdvanced3_SetReceiveSelectionCallbacks(This,fGetCallbacks) \
  10075. (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  10076. #define IWMReaderAdvanced3_GetReceiveSelectionCallbacks(This,pfGetCallbacks) \
  10077. (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  10078. #define IWMReaderAdvanced3_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) \
  10079. (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  10080. #define IWMReaderAdvanced3_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) \
  10081. (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  10082. #define IWMReaderAdvanced3_SetAllocateForOutput(This,dwOutputNum,fAllocate) \
  10083. (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  10084. #define IWMReaderAdvanced3_GetAllocateForOutput(This,dwOutputNum,pfAllocate) \
  10085. (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  10086. #define IWMReaderAdvanced3_SetAllocateForStream(This,wStreamNum,fAllocate) \
  10087. (This)->lpVtbl -> SetAllocateForStream(This,wStreamNum,fAllocate)
  10088. #define IWMReaderAdvanced3_GetAllocateForStream(This,dwSreamNum,pfAllocate) \
  10089. (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  10090. #define IWMReaderAdvanced3_GetStatistics(This,pStatistics) \
  10091. (This)->lpVtbl -> GetStatistics(This,pStatistics)
  10092. #define IWMReaderAdvanced3_SetClientInfo(This,pClientInfo) \
  10093. (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  10094. #define IWMReaderAdvanced3_GetMaxOutputSampleSize(This,dwOutput,pcbMax) \
  10095. (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  10096. #define IWMReaderAdvanced3_GetMaxStreamSampleSize(This,wStream,pcbMax) \
  10097. (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  10098. #define IWMReaderAdvanced3_NotifyLateDelivery(This,cnsLateness) \
  10099. (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  10100. #define IWMReaderAdvanced3_SetPlayMode(This,Mode) \
  10101. (This)->lpVtbl -> SetPlayMode(This,Mode)
  10102. #define IWMReaderAdvanced3_GetPlayMode(This,pMode) \
  10103. (This)->lpVtbl -> GetPlayMode(This,pMode)
  10104. #define IWMReaderAdvanced3_GetBufferProgress(This,pdwPercent,pcnsBuffering) \
  10105. (This)->lpVtbl -> GetBufferProgress(This,pdwPercent,pcnsBuffering)
  10106. #define IWMReaderAdvanced3_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) \
  10107. (This)->lpVtbl -> GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  10108. #define IWMReaderAdvanced3_GetSaveAsProgress(This,pdwPercent) \
  10109. (This)->lpVtbl -> GetSaveAsProgress(This,pdwPercent)
  10110. #define IWMReaderAdvanced3_SaveFileAs(This,pwszFilename) \
  10111. (This)->lpVtbl -> SaveFileAs(This,pwszFilename)
  10112. #define IWMReaderAdvanced3_GetProtocolName(This,pwszProtocol,pcchProtocol) \
  10113. (This)->lpVtbl -> GetProtocolName(This,pwszProtocol,pcchProtocol)
  10114. #define IWMReaderAdvanced3_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) \
  10115. (This)->lpVtbl -> StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  10116. #define IWMReaderAdvanced3_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) \
  10117. (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  10118. #define IWMReaderAdvanced3_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) \
  10119. (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  10120. #define IWMReaderAdvanced3_Preroll(This,cnsStart,cnsDuration,fRate) \
  10121. (This)->lpVtbl -> Preroll(This,cnsStart,cnsDuration,fRate)
  10122. #define IWMReaderAdvanced3_SetLogClientID(This,fLogClientID) \
  10123. (This)->lpVtbl -> SetLogClientID(This,fLogClientID)
  10124. #define IWMReaderAdvanced3_GetLogClientID(This,pfLogClientID) \
  10125. (This)->lpVtbl -> GetLogClientID(This,pfLogClientID)
  10126. #define IWMReaderAdvanced3_StopBuffering(This) \
  10127. (This)->lpVtbl -> StopBuffering(This)
  10128. #define IWMReaderAdvanced3_OpenStream(This,pStream,pCallback,pvContext) \
  10129. (This)->lpVtbl -> OpenStream(This,pStream,pCallback,pvContext)
  10130. #define IWMReaderAdvanced3_StopNetStreaming(This) \
  10131. (This)->lpVtbl -> StopNetStreaming(This)
  10132. #define IWMReaderAdvanced3_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) \
  10133. (This)->lpVtbl -> StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
  10134. #endif /* COBJMACROS */
  10135. #endif /* C style interface */
  10136. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced3_StopNetStreaming_Proxy(
  10137. IWMReaderAdvanced3 * This);
  10138. void __RPC_STUB IWMReaderAdvanced3_StopNetStreaming_Stub(
  10139. IRpcStubBuffer *This,
  10140. IRpcChannelBuffer *_pRpcChannelBuffer,
  10141. PRPC_MESSAGE _pRpcMessage,
  10142. DWORD *_pdwStubPhase);
  10143. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced3_StartAtPosition_Proxy(
  10144. IWMReaderAdvanced3 * This,
  10145. /* [in] */ WORD wStreamNum,
  10146. /* [in] */ void *pvOffsetStart,
  10147. /* [in] */ void *pvDuration,
  10148. /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  10149. /* [in] */ float fRate,
  10150. /* [in] */ void *pvContext);
  10151. void __RPC_STUB IWMReaderAdvanced3_StartAtPosition_Stub(
  10152. IRpcStubBuffer *This,
  10153. IRpcChannelBuffer *_pRpcChannelBuffer,
  10154. PRPC_MESSAGE _pRpcMessage,
  10155. DWORD *_pdwStubPhase);
  10156. #endif /* __IWMReaderAdvanced3_INTERFACE_DEFINED__ */
  10157. #ifndef __IWMReaderAdvanced4_INTERFACE_DEFINED__
  10158. #define __IWMReaderAdvanced4_INTERFACE_DEFINED__
  10159. /* interface IWMReaderAdvanced4 */
  10160. /* [local][unique][helpstring][uuid][object] */
  10161. EXTERN_C const IID IID_IWMReaderAdvanced4;
  10162. #if defined(__cplusplus) && !defined(CINTERFACE)
  10163. MIDL_INTERFACE("945A76A2-12AE-4d48-BD3C-CD1D90399B85")
  10164. IWMReaderAdvanced4 : public IWMReaderAdvanced3
  10165. {
  10166. public:
  10167. virtual HRESULT STDMETHODCALLTYPE GetLanguageCount(
  10168. /* [in] */ DWORD dwOutputNum,
  10169. /* [out] */ WORD *pwLanguageCount) = 0;
  10170. virtual HRESULT STDMETHODCALLTYPE GetLanguage(
  10171. /* [in] */ DWORD dwOutputNum,
  10172. /* [in] */ WORD wLanguage,
  10173. /* [size_is][out] */ WCHAR *pwszLanguageString,
  10174. /* [out][in] */ WORD *pcchLanguageStringLength) = 0;
  10175. virtual HRESULT STDMETHODCALLTYPE GetMaxSpeedFactor(
  10176. /* [out] */ double *pdblFactor) = 0;
  10177. virtual HRESULT STDMETHODCALLTYPE IsUsingFastCache(
  10178. /* [out] */ BOOL *pfUsingFastCache) = 0;
  10179. virtual HRESULT STDMETHODCALLTYPE AddLogParam(
  10180. /* [in] */ LPCWSTR wszNameSpace,
  10181. /* [in] */ LPCWSTR wszName,
  10182. /* [in] */ LPCWSTR wszValue) = 0;
  10183. virtual HRESULT STDMETHODCALLTYPE SendLogParams( void) = 0;
  10184. virtual HRESULT STDMETHODCALLTYPE CanSaveFileAs(
  10185. /* [out] */ BOOL *pfCanSave) = 0;
  10186. virtual HRESULT STDMETHODCALLTYPE CancelSaveFileAs( void) = 0;
  10187. virtual HRESULT STDMETHODCALLTYPE GetURL(
  10188. /* [size_is][out] */ WCHAR *pwszURL,
  10189. /* [out][in] */ DWORD *pcchURL) = 0;
  10190. };
  10191. #else /* C style interface */
  10192. typedef struct IWMReaderAdvanced4Vtbl
  10193. {
  10194. BEGIN_INTERFACE
  10195. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10196. IWMReaderAdvanced4 * This,
  10197. /* [in] */ REFIID riid,
  10198. /* [iid_is][out] */ void **ppvObject);
  10199. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10200. IWMReaderAdvanced4 * This);
  10201. ULONG ( STDMETHODCALLTYPE *Release )(
  10202. IWMReaderAdvanced4 * This);
  10203. HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )(
  10204. IWMReaderAdvanced4 * This,
  10205. /* [in] */ BOOL fUserClock);
  10206. HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )(
  10207. IWMReaderAdvanced4 * This,
  10208. /* [out] */ BOOL *pfUserClock);
  10209. HRESULT ( STDMETHODCALLTYPE *DeliverTime )(
  10210. IWMReaderAdvanced4 * This,
  10211. /* [in] */ QWORD cnsTime);
  10212. HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )(
  10213. IWMReaderAdvanced4 * This,
  10214. /* [in] */ BOOL fSelection);
  10215. HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )(
  10216. IWMReaderAdvanced4 * This,
  10217. /* [out] */ BOOL *pfSelection);
  10218. HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )(
  10219. IWMReaderAdvanced4 * This,
  10220. /* [in] */ WORD cStreamCount,
  10221. /* [in] */ WORD *pwStreamNumbers,
  10222. /* [in] */ WMT_STREAM_SELECTION *pSelections);
  10223. HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )(
  10224. IWMReaderAdvanced4 * This,
  10225. /* [in] */ WORD wStreamNum,
  10226. /* [out] */ WMT_STREAM_SELECTION *pSelection);
  10227. HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )(
  10228. IWMReaderAdvanced4 * This,
  10229. /* [in] */ BOOL fGetCallbacks);
  10230. HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )(
  10231. IWMReaderAdvanced4 * This,
  10232. /* [out] */ BOOL *pfGetCallbacks);
  10233. HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )(
  10234. IWMReaderAdvanced4 * This,
  10235. /* [in] */ WORD wStreamNum,
  10236. /* [in] */ BOOL fReceiveStreamSamples);
  10237. HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )(
  10238. IWMReaderAdvanced4 * This,
  10239. /* [in] */ WORD wStreamNum,
  10240. /* [out] */ BOOL *pfReceiveStreamSamples);
  10241. HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )(
  10242. IWMReaderAdvanced4 * This,
  10243. /* [in] */ DWORD dwOutputNum,
  10244. /* [in] */ BOOL fAllocate);
  10245. HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )(
  10246. IWMReaderAdvanced4 * This,
  10247. /* [in] */ DWORD dwOutputNum,
  10248. /* [out] */ BOOL *pfAllocate);
  10249. HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )(
  10250. IWMReaderAdvanced4 * This,
  10251. /* [in] */ WORD wStreamNum,
  10252. /* [in] */ BOOL fAllocate);
  10253. HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )(
  10254. IWMReaderAdvanced4 * This,
  10255. /* [in] */ WORD dwSreamNum,
  10256. /* [out] */ BOOL *pfAllocate);
  10257. HRESULT ( STDMETHODCALLTYPE *GetStatistics )(
  10258. IWMReaderAdvanced4 * This,
  10259. /* [out][in] */ WM_READER_STATISTICS *pStatistics);
  10260. HRESULT ( STDMETHODCALLTYPE *SetClientInfo )(
  10261. IWMReaderAdvanced4 * This,
  10262. /* [in] */ WM_READER_CLIENTINFO *pClientInfo);
  10263. HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )(
  10264. IWMReaderAdvanced4 * This,
  10265. /* [in] */ DWORD dwOutput,
  10266. /* [out] */ DWORD *pcbMax);
  10267. HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )(
  10268. IWMReaderAdvanced4 * This,
  10269. /* [in] */ WORD wStream,
  10270. /* [out] */ DWORD *pcbMax);
  10271. HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )(
  10272. IWMReaderAdvanced4 * This,
  10273. QWORD cnsLateness);
  10274. HRESULT ( STDMETHODCALLTYPE *SetPlayMode )(
  10275. IWMReaderAdvanced4 * This,
  10276. /* [in] */ WMT_PLAY_MODE Mode);
  10277. HRESULT ( STDMETHODCALLTYPE *GetPlayMode )(
  10278. IWMReaderAdvanced4 * This,
  10279. /* [out] */ WMT_PLAY_MODE *pMode);
  10280. HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )(
  10281. IWMReaderAdvanced4 * This,
  10282. /* [out] */ DWORD *pdwPercent,
  10283. /* [out] */ QWORD *pcnsBuffering);
  10284. HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )(
  10285. IWMReaderAdvanced4 * This,
  10286. /* [out] */ DWORD *pdwPercent,
  10287. /* [out] */ QWORD *pqwBytesDownloaded,
  10288. /* [out] */ QWORD *pcnsDownload);
  10289. HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )(
  10290. IWMReaderAdvanced4 * This,
  10291. /* [out] */ DWORD *pdwPercent);
  10292. HRESULT ( STDMETHODCALLTYPE *SaveFileAs )(
  10293. IWMReaderAdvanced4 * This,
  10294. /* [in] */ const WCHAR *pwszFilename);
  10295. HRESULT ( STDMETHODCALLTYPE *GetProtocolName )(
  10296. IWMReaderAdvanced4 * This,
  10297. /* [size_is][out] */ WCHAR *pwszProtocol,
  10298. /* [out][in] */ DWORD *pcchProtocol);
  10299. HRESULT ( STDMETHODCALLTYPE *StartAtMarker )(
  10300. IWMReaderAdvanced4 * This,
  10301. /* [in] */ WORD wMarkerIndex,
  10302. /* [in] */ QWORD cnsDuration,
  10303. /* [in] */ float fRate,
  10304. /* [in] */ void *pvContext);
  10305. HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )(
  10306. IWMReaderAdvanced4 * This,
  10307. /* [in] */ DWORD dwOutputNum,
  10308. /* [in] */ LPCWSTR pszName,
  10309. /* [out] */ WMT_ATTR_DATATYPE *pType,
  10310. /* [size_is][out] */ BYTE *pValue,
  10311. /* [out][in] */ WORD *pcbLength);
  10312. HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )(
  10313. IWMReaderAdvanced4 * This,
  10314. /* [in] */ DWORD dwOutputNum,
  10315. /* [in] */ LPCWSTR pszName,
  10316. /* [in] */ WMT_ATTR_DATATYPE Type,
  10317. /* [size_is][in] */ const BYTE *pValue,
  10318. /* [in] */ WORD cbLength);
  10319. HRESULT ( STDMETHODCALLTYPE *Preroll )(
  10320. IWMReaderAdvanced4 * This,
  10321. /* [in] */ QWORD cnsStart,
  10322. /* [in] */ QWORD cnsDuration,
  10323. /* [in] */ float fRate);
  10324. HRESULT ( STDMETHODCALLTYPE *SetLogClientID )(
  10325. IWMReaderAdvanced4 * This,
  10326. /* [in] */ BOOL fLogClientID);
  10327. HRESULT ( STDMETHODCALLTYPE *GetLogClientID )(
  10328. IWMReaderAdvanced4 * This,
  10329. /* [out] */ BOOL *pfLogClientID);
  10330. HRESULT ( STDMETHODCALLTYPE *StopBuffering )(
  10331. IWMReaderAdvanced4 * This);
  10332. HRESULT ( STDMETHODCALLTYPE *OpenStream )(
  10333. IWMReaderAdvanced4 * This,
  10334. /* [in] */ IStream *pStream,
  10335. /* [in] */ IWMReaderCallback *pCallback,
  10336. /* [in] */ void *pvContext);
  10337. HRESULT ( STDMETHODCALLTYPE *StopNetStreaming )(
  10338. IWMReaderAdvanced4 * This);
  10339. HRESULT ( STDMETHODCALLTYPE *StartAtPosition )(
  10340. IWMReaderAdvanced4 * This,
  10341. /* [in] */ WORD wStreamNum,
  10342. /* [in] */ void *pvOffsetStart,
  10343. /* [in] */ void *pvDuration,
  10344. /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  10345. /* [in] */ float fRate,
  10346. /* [in] */ void *pvContext);
  10347. HRESULT ( STDMETHODCALLTYPE *GetLanguageCount )(
  10348. IWMReaderAdvanced4 * This,
  10349. /* [in] */ DWORD dwOutputNum,
  10350. /* [out] */ WORD *pwLanguageCount);
  10351. HRESULT ( STDMETHODCALLTYPE *GetLanguage )(
  10352. IWMReaderAdvanced4 * This,
  10353. /* [in] */ DWORD dwOutputNum,
  10354. /* [in] */ WORD wLanguage,
  10355. /* [size_is][out] */ WCHAR *pwszLanguageString,
  10356. /* [out][in] */ WORD *pcchLanguageStringLength);
  10357. HRESULT ( STDMETHODCALLTYPE *GetMaxSpeedFactor )(
  10358. IWMReaderAdvanced4 * This,
  10359. /* [out] */ double *pdblFactor);
  10360. HRESULT ( STDMETHODCALLTYPE *IsUsingFastCache )(
  10361. IWMReaderAdvanced4 * This,
  10362. /* [out] */ BOOL *pfUsingFastCache);
  10363. HRESULT ( STDMETHODCALLTYPE *AddLogParam )(
  10364. IWMReaderAdvanced4 * This,
  10365. /* [in] */ LPCWSTR wszNameSpace,
  10366. /* [in] */ LPCWSTR wszName,
  10367. /* [in] */ LPCWSTR wszValue);
  10368. HRESULT ( STDMETHODCALLTYPE *SendLogParams )(
  10369. IWMReaderAdvanced4 * This);
  10370. HRESULT ( STDMETHODCALLTYPE *CanSaveFileAs )(
  10371. IWMReaderAdvanced4 * This,
  10372. /* [out] */ BOOL *pfCanSave);
  10373. HRESULT ( STDMETHODCALLTYPE *CancelSaveFileAs )(
  10374. IWMReaderAdvanced4 * This);
  10375. HRESULT ( STDMETHODCALLTYPE *GetURL )(
  10376. IWMReaderAdvanced4 * This,
  10377. /* [size_is][out] */ WCHAR *pwszURL,
  10378. /* [out][in] */ DWORD *pcchURL);
  10379. END_INTERFACE
  10380. } IWMReaderAdvanced4Vtbl;
  10381. interface IWMReaderAdvanced4
  10382. {
  10383. CONST_VTBL struct IWMReaderAdvanced4Vtbl *lpVtbl;
  10384. };
  10385. #ifdef COBJMACROS
  10386. #define IWMReaderAdvanced4_QueryInterface(This,riid,ppvObject) \
  10387. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10388. #define IWMReaderAdvanced4_AddRef(This) \
  10389. (This)->lpVtbl -> AddRef(This)
  10390. #define IWMReaderAdvanced4_Release(This) \
  10391. (This)->lpVtbl -> Release(This)
  10392. #define IWMReaderAdvanced4_SetUserProvidedClock(This,fUserClock) \
  10393. (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  10394. #define IWMReaderAdvanced4_GetUserProvidedClock(This,pfUserClock) \
  10395. (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  10396. #define IWMReaderAdvanced4_DeliverTime(This,cnsTime) \
  10397. (This)->lpVtbl -> DeliverTime(This,cnsTime)
  10398. #define IWMReaderAdvanced4_SetManualStreamSelection(This,fSelection) \
  10399. (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  10400. #define IWMReaderAdvanced4_GetManualStreamSelection(This,pfSelection) \
  10401. (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  10402. #define IWMReaderAdvanced4_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) \
  10403. (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  10404. #define IWMReaderAdvanced4_GetStreamSelected(This,wStreamNum,pSelection) \
  10405. (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  10406. #define IWMReaderAdvanced4_SetReceiveSelectionCallbacks(This,fGetCallbacks) \
  10407. (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  10408. #define IWMReaderAdvanced4_GetReceiveSelectionCallbacks(This,pfGetCallbacks) \
  10409. (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  10410. #define IWMReaderAdvanced4_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) \
  10411. (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  10412. #define IWMReaderAdvanced4_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) \
  10413. (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  10414. #define IWMReaderAdvanced4_SetAllocateForOutput(This,dwOutputNum,fAllocate) \
  10415. (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  10416. #define IWMReaderAdvanced4_GetAllocateForOutput(This,dwOutputNum,pfAllocate) \
  10417. (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  10418. #define IWMReaderAdvanced4_SetAllocateForStream(This,wStreamNum,fAllocate) \
  10419. (This)->lpVtbl -> SetAllocateForStream(This,wStreamNum,fAllocate)
  10420. #define IWMReaderAdvanced4_GetAllocateForStream(This,dwSreamNum,pfAllocate) \
  10421. (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  10422. #define IWMReaderAdvanced4_GetStatistics(This,pStatistics) \
  10423. (This)->lpVtbl -> GetStatistics(This,pStatistics)
  10424. #define IWMReaderAdvanced4_SetClientInfo(This,pClientInfo) \
  10425. (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  10426. #define IWMReaderAdvanced4_GetMaxOutputSampleSize(This,dwOutput,pcbMax) \
  10427. (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  10428. #define IWMReaderAdvanced4_GetMaxStreamSampleSize(This,wStream,pcbMax) \
  10429. (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  10430. #define IWMReaderAdvanced4_NotifyLateDelivery(This,cnsLateness) \
  10431. (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  10432. #define IWMReaderAdvanced4_SetPlayMode(This,Mode) \
  10433. (This)->lpVtbl -> SetPlayMode(This,Mode)
  10434. #define IWMReaderAdvanced4_GetPlayMode(This,pMode) \
  10435. (This)->lpVtbl -> GetPlayMode(This,pMode)
  10436. #define IWMReaderAdvanced4_GetBufferProgress(This,pdwPercent,pcnsBuffering) \
  10437. (This)->lpVtbl -> GetBufferProgress(This,pdwPercent,pcnsBuffering)
  10438. #define IWMReaderAdvanced4_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) \
  10439. (This)->lpVtbl -> GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  10440. #define IWMReaderAdvanced4_GetSaveAsProgress(This,pdwPercent) \
  10441. (This)->lpVtbl -> GetSaveAsProgress(This,pdwPercent)
  10442. #define IWMReaderAdvanced4_SaveFileAs(This,pwszFilename) \
  10443. (This)->lpVtbl -> SaveFileAs(This,pwszFilename)
  10444. #define IWMReaderAdvanced4_GetProtocolName(This,pwszProtocol,pcchProtocol) \
  10445. (This)->lpVtbl -> GetProtocolName(This,pwszProtocol,pcchProtocol)
  10446. #define IWMReaderAdvanced4_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) \
  10447. (This)->lpVtbl -> StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  10448. #define IWMReaderAdvanced4_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) \
  10449. (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  10450. #define IWMReaderAdvanced4_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) \
  10451. (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  10452. #define IWMReaderAdvanced4_Preroll(This,cnsStart,cnsDuration,fRate) \
  10453. (This)->lpVtbl -> Preroll(This,cnsStart,cnsDuration,fRate)
  10454. #define IWMReaderAdvanced4_SetLogClientID(This,fLogClientID) \
  10455. (This)->lpVtbl -> SetLogClientID(This,fLogClientID)
  10456. #define IWMReaderAdvanced4_GetLogClientID(This,pfLogClientID) \
  10457. (This)->lpVtbl -> GetLogClientID(This,pfLogClientID)
  10458. #define IWMReaderAdvanced4_StopBuffering(This) \
  10459. (This)->lpVtbl -> StopBuffering(This)
  10460. #define IWMReaderAdvanced4_OpenStream(This,pStream,pCallback,pvContext) \
  10461. (This)->lpVtbl -> OpenStream(This,pStream,pCallback,pvContext)
  10462. #define IWMReaderAdvanced4_StopNetStreaming(This) \
  10463. (This)->lpVtbl -> StopNetStreaming(This)
  10464. #define IWMReaderAdvanced4_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) \
  10465. (This)->lpVtbl -> StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
  10466. #define IWMReaderAdvanced4_GetLanguageCount(This,dwOutputNum,pwLanguageCount) \
  10467. (This)->lpVtbl -> GetLanguageCount(This,dwOutputNum,pwLanguageCount)
  10468. #define IWMReaderAdvanced4_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) \
  10469. (This)->lpVtbl -> GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength)
  10470. #define IWMReaderAdvanced4_GetMaxSpeedFactor(This,pdblFactor) \
  10471. (This)->lpVtbl -> GetMaxSpeedFactor(This,pdblFactor)
  10472. #define IWMReaderAdvanced4_IsUsingFastCache(This,pfUsingFastCache) \
  10473. (This)->lpVtbl -> IsUsingFastCache(This,pfUsingFastCache)
  10474. #define IWMReaderAdvanced4_AddLogParam(This,wszNameSpace,wszName,wszValue) \
  10475. (This)->lpVtbl -> AddLogParam(This,wszNameSpace,wszName,wszValue)
  10476. #define IWMReaderAdvanced4_SendLogParams(This) \
  10477. (This)->lpVtbl -> SendLogParams(This)
  10478. #define IWMReaderAdvanced4_CanSaveFileAs(This,pfCanSave) \
  10479. (This)->lpVtbl -> CanSaveFileAs(This,pfCanSave)
  10480. #define IWMReaderAdvanced4_CancelSaveFileAs(This) \
  10481. (This)->lpVtbl -> CancelSaveFileAs(This)
  10482. #define IWMReaderAdvanced4_GetURL(This,pwszURL,pcchURL) \
  10483. (This)->lpVtbl -> GetURL(This,pwszURL,pcchURL)
  10484. #endif /* COBJMACROS */
  10485. #endif /* C style interface */
  10486. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetLanguageCount_Proxy(
  10487. IWMReaderAdvanced4 * This,
  10488. /* [in] */ DWORD dwOutputNum,
  10489. /* [out] */ WORD *pwLanguageCount);
  10490. void __RPC_STUB IWMReaderAdvanced4_GetLanguageCount_Stub(
  10491. IRpcStubBuffer *This,
  10492. IRpcChannelBuffer *_pRpcChannelBuffer,
  10493. PRPC_MESSAGE _pRpcMessage,
  10494. DWORD *_pdwStubPhase);
  10495. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetLanguage_Proxy(
  10496. IWMReaderAdvanced4 * This,
  10497. /* [in] */ DWORD dwOutputNum,
  10498. /* [in] */ WORD wLanguage,
  10499. /* [size_is][out] */ WCHAR *pwszLanguageString,
  10500. /* [out][in] */ WORD *pcchLanguageStringLength);
  10501. void __RPC_STUB IWMReaderAdvanced4_GetLanguage_Stub(
  10502. IRpcStubBuffer *This,
  10503. IRpcChannelBuffer *_pRpcChannelBuffer,
  10504. PRPC_MESSAGE _pRpcMessage,
  10505. DWORD *_pdwStubPhase);
  10506. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetMaxSpeedFactor_Proxy(
  10507. IWMReaderAdvanced4 * This,
  10508. /* [out] */ double *pdblFactor);
  10509. void __RPC_STUB IWMReaderAdvanced4_GetMaxSpeedFactor_Stub(
  10510. IRpcStubBuffer *This,
  10511. IRpcChannelBuffer *_pRpcChannelBuffer,
  10512. PRPC_MESSAGE _pRpcMessage,
  10513. DWORD *_pdwStubPhase);
  10514. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_IsUsingFastCache_Proxy(
  10515. IWMReaderAdvanced4 * This,
  10516. /* [out] */ BOOL *pfUsingFastCache);
  10517. void __RPC_STUB IWMReaderAdvanced4_IsUsingFastCache_Stub(
  10518. IRpcStubBuffer *This,
  10519. IRpcChannelBuffer *_pRpcChannelBuffer,
  10520. PRPC_MESSAGE _pRpcMessage,
  10521. DWORD *_pdwStubPhase);
  10522. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_AddLogParam_Proxy(
  10523. IWMReaderAdvanced4 * This,
  10524. /* [in] */ LPCWSTR wszNameSpace,
  10525. /* [in] */ LPCWSTR wszName,
  10526. /* [in] */ LPCWSTR wszValue);
  10527. void __RPC_STUB IWMReaderAdvanced4_AddLogParam_Stub(
  10528. IRpcStubBuffer *This,
  10529. IRpcChannelBuffer *_pRpcChannelBuffer,
  10530. PRPC_MESSAGE _pRpcMessage,
  10531. DWORD *_pdwStubPhase);
  10532. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_SendLogParams_Proxy(
  10533. IWMReaderAdvanced4 * This);
  10534. void __RPC_STUB IWMReaderAdvanced4_SendLogParams_Stub(
  10535. IRpcStubBuffer *This,
  10536. IRpcChannelBuffer *_pRpcChannelBuffer,
  10537. PRPC_MESSAGE _pRpcMessage,
  10538. DWORD *_pdwStubPhase);
  10539. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_CanSaveFileAs_Proxy(
  10540. IWMReaderAdvanced4 * This,
  10541. /* [out] */ BOOL *pfCanSave);
  10542. void __RPC_STUB IWMReaderAdvanced4_CanSaveFileAs_Stub(
  10543. IRpcStubBuffer *This,
  10544. IRpcChannelBuffer *_pRpcChannelBuffer,
  10545. PRPC_MESSAGE _pRpcMessage,
  10546. DWORD *_pdwStubPhase);
  10547. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_CancelSaveFileAs_Proxy(
  10548. IWMReaderAdvanced4 * This);
  10549. void __RPC_STUB IWMReaderAdvanced4_CancelSaveFileAs_Stub(
  10550. IRpcStubBuffer *This,
  10551. IRpcChannelBuffer *_pRpcChannelBuffer,
  10552. PRPC_MESSAGE _pRpcMessage,
  10553. DWORD *_pdwStubPhase);
  10554. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetURL_Proxy(
  10555. IWMReaderAdvanced4 * This,
  10556. /* [size_is][out] */ WCHAR *pwszURL,
  10557. /* [out][in] */ DWORD *pcchURL);
  10558. void __RPC_STUB IWMReaderAdvanced4_GetURL_Stub(
  10559. IRpcStubBuffer *This,
  10560. IRpcChannelBuffer *_pRpcChannelBuffer,
  10561. PRPC_MESSAGE _pRpcMessage,
  10562. DWORD *_pdwStubPhase);
  10563. #endif /* __IWMReaderAdvanced4_INTERFACE_DEFINED__ */
  10564. #ifndef __IWMReaderAllocatorEx_INTERFACE_DEFINED__
  10565. #define __IWMReaderAllocatorEx_INTERFACE_DEFINED__
  10566. /* interface IWMReaderAllocatorEx */
  10567. /* [local][unique][helpstring][uuid][object] */
  10568. EXTERN_C const IID IID_IWMReaderAllocatorEx;
  10569. #if defined(__cplusplus) && !defined(CINTERFACE)
  10570. MIDL_INTERFACE("9F762FA7-A22E-428d-93C9-AC82F3AAFE5A")
  10571. IWMReaderAllocatorEx : public IUnknown
  10572. {
  10573. public:
  10574. virtual HRESULT STDMETHODCALLTYPE AllocateForStreamEx(
  10575. /* [in] */ WORD wStreamNum,
  10576. /* [in] */ DWORD cbBuffer,
  10577. /* [out] */ INSSBuffer **ppBuffer,
  10578. /* [in] */ DWORD dwFlags,
  10579. /* [in] */ QWORD cnsSampleTime,
  10580. /* [in] */ QWORD cnsSampleDuration,
  10581. /* [in] */ void *pvContext) = 0;
  10582. virtual HRESULT STDMETHODCALLTYPE AllocateForOutputEx(
  10583. /* [in] */ DWORD dwOutputNum,
  10584. /* [in] */ DWORD cbBuffer,
  10585. /* [out] */ INSSBuffer **ppBuffer,
  10586. /* [in] */ DWORD dwFlags,
  10587. /* [in] */ QWORD cnsSampleTime,
  10588. /* [in] */ QWORD cnsSampleDuration,
  10589. /* [in] */ void *pvContext) = 0;
  10590. };
  10591. #else /* C style interface */
  10592. typedef struct IWMReaderAllocatorExVtbl
  10593. {
  10594. BEGIN_INTERFACE
  10595. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10596. IWMReaderAllocatorEx * This,
  10597. /* [in] */ REFIID riid,
  10598. /* [iid_is][out] */ void **ppvObject);
  10599. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10600. IWMReaderAllocatorEx * This);
  10601. ULONG ( STDMETHODCALLTYPE *Release )(
  10602. IWMReaderAllocatorEx * This);
  10603. HRESULT ( STDMETHODCALLTYPE *AllocateForStreamEx )(
  10604. IWMReaderAllocatorEx * This,
  10605. /* [in] */ WORD wStreamNum,
  10606. /* [in] */ DWORD cbBuffer,
  10607. /* [out] */ INSSBuffer **ppBuffer,
  10608. /* [in] */ DWORD dwFlags,
  10609. /* [in] */ QWORD cnsSampleTime,
  10610. /* [in] */ QWORD cnsSampleDuration,
  10611. /* [in] */ void *pvContext);
  10612. HRESULT ( STDMETHODCALLTYPE *AllocateForOutputEx )(
  10613. IWMReaderAllocatorEx * This,
  10614. /* [in] */ DWORD dwOutputNum,
  10615. /* [in] */ DWORD cbBuffer,
  10616. /* [out] */ INSSBuffer **ppBuffer,
  10617. /* [in] */ DWORD dwFlags,
  10618. /* [in] */ QWORD cnsSampleTime,
  10619. /* [in] */ QWORD cnsSampleDuration,
  10620. /* [in] */ void *pvContext);
  10621. END_INTERFACE
  10622. } IWMReaderAllocatorExVtbl;
  10623. interface IWMReaderAllocatorEx
  10624. {
  10625. CONST_VTBL struct IWMReaderAllocatorExVtbl *lpVtbl;
  10626. };
  10627. #ifdef COBJMACROS
  10628. #define IWMReaderAllocatorEx_QueryInterface(This,riid,ppvObject) \
  10629. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10630. #define IWMReaderAllocatorEx_AddRef(This) \
  10631. (This)->lpVtbl -> AddRef(This)
  10632. #define IWMReaderAllocatorEx_Release(This) \
  10633. (This)->lpVtbl -> Release(This)
  10634. #define IWMReaderAllocatorEx_AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) \
  10635. (This)->lpVtbl -> AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
  10636. #define IWMReaderAllocatorEx_AllocateForOutputEx(This,dwOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) \
  10637. (This)->lpVtbl -> AllocateForOutputEx(This,dwOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
  10638. #endif /* COBJMACROS */
  10639. #endif /* C style interface */
  10640. HRESULT STDMETHODCALLTYPE IWMReaderAllocatorEx_AllocateForStreamEx_Proxy(
  10641. IWMReaderAllocatorEx * This,
  10642. /* [in] */ WORD wStreamNum,
  10643. /* [in] */ DWORD cbBuffer,
  10644. /* [out] */ INSSBuffer **ppBuffer,
  10645. /* [in] */ DWORD dwFlags,
  10646. /* [in] */ QWORD cnsSampleTime,
  10647. /* [in] */ QWORD cnsSampleDuration,
  10648. /* [in] */ void *pvContext);
  10649. void __RPC_STUB IWMReaderAllocatorEx_AllocateForStreamEx_Stub(
  10650. IRpcStubBuffer *This,
  10651. IRpcChannelBuffer *_pRpcChannelBuffer,
  10652. PRPC_MESSAGE _pRpcMessage,
  10653. DWORD *_pdwStubPhase);
  10654. HRESULT STDMETHODCALLTYPE IWMReaderAllocatorEx_AllocateForOutputEx_Proxy(
  10655. IWMReaderAllocatorEx * This,
  10656. /* [in] */ DWORD dwOutputNum,
  10657. /* [in] */ DWORD cbBuffer,
  10658. /* [out] */ INSSBuffer **ppBuffer,
  10659. /* [in] */ DWORD dwFlags,
  10660. /* [in] */ QWORD cnsSampleTime,
  10661. /* [in] */ QWORD cnsSampleDuration,
  10662. /* [in] */ void *pvContext);
  10663. void __RPC_STUB IWMReaderAllocatorEx_AllocateForOutputEx_Stub(
  10664. IRpcStubBuffer *This,
  10665. IRpcChannelBuffer *_pRpcChannelBuffer,
  10666. PRPC_MESSAGE _pRpcMessage,
  10667. DWORD *_pdwStubPhase);
  10668. #endif /* __IWMReaderAllocatorEx_INTERFACE_DEFINED__ */
  10669. #ifndef __IWMReaderTypeNegotiation_INTERFACE_DEFINED__
  10670. #define __IWMReaderTypeNegotiation_INTERFACE_DEFINED__
  10671. /* interface IWMReaderTypeNegotiation */
  10672. /* [local][unique][helpstring][uuid][object] */
  10673. EXTERN_C const IID IID_IWMReaderTypeNegotiation;
  10674. #if defined(__cplusplus) && !defined(CINTERFACE)
  10675. MIDL_INTERFACE("FDBE5592-81A1-41ea-93BD-735CAD1ADC05")
  10676. IWMReaderTypeNegotiation : public IUnknown
  10677. {
  10678. public:
  10679. virtual HRESULT STDMETHODCALLTYPE TryOutputProps(
  10680. /* [in] */ DWORD dwOutputNum,
  10681. /* [in] */ IWMOutputMediaProps *pOutput) = 0;
  10682. };
  10683. #else /* C style interface */
  10684. typedef struct IWMReaderTypeNegotiationVtbl
  10685. {
  10686. BEGIN_INTERFACE
  10687. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10688. IWMReaderTypeNegotiation * This,
  10689. /* [in] */ REFIID riid,
  10690. /* [iid_is][out] */ void **ppvObject);
  10691. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10692. IWMReaderTypeNegotiation * This);
  10693. ULONG ( STDMETHODCALLTYPE *Release )(
  10694. IWMReaderTypeNegotiation * This);
  10695. HRESULT ( STDMETHODCALLTYPE *TryOutputProps )(
  10696. IWMReaderTypeNegotiation * This,
  10697. /* [in] */ DWORD dwOutputNum,
  10698. /* [in] */ IWMOutputMediaProps *pOutput);
  10699. END_INTERFACE
  10700. } IWMReaderTypeNegotiationVtbl;
  10701. interface IWMReaderTypeNegotiation
  10702. {
  10703. CONST_VTBL struct IWMReaderTypeNegotiationVtbl *lpVtbl;
  10704. };
  10705. #ifdef COBJMACROS
  10706. #define IWMReaderTypeNegotiation_QueryInterface(This,riid,ppvObject) \
  10707. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10708. #define IWMReaderTypeNegotiation_AddRef(This) \
  10709. (This)->lpVtbl -> AddRef(This)
  10710. #define IWMReaderTypeNegotiation_Release(This) \
  10711. (This)->lpVtbl -> Release(This)
  10712. #define IWMReaderTypeNegotiation_TryOutputProps(This,dwOutputNum,pOutput) \
  10713. (This)->lpVtbl -> TryOutputProps(This,dwOutputNum,pOutput)
  10714. #endif /* COBJMACROS */
  10715. #endif /* C style interface */
  10716. HRESULT STDMETHODCALLTYPE IWMReaderTypeNegotiation_TryOutputProps_Proxy(
  10717. IWMReaderTypeNegotiation * This,
  10718. /* [in] */ DWORD dwOutputNum,
  10719. /* [in] */ IWMOutputMediaProps *pOutput);
  10720. void __RPC_STUB IWMReaderTypeNegotiation_TryOutputProps_Stub(
  10721. IRpcStubBuffer *This,
  10722. IRpcChannelBuffer *_pRpcChannelBuffer,
  10723. PRPC_MESSAGE _pRpcMessage,
  10724. DWORD *_pdwStubPhase);
  10725. #endif /* __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ */
  10726. #ifndef __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__
  10727. #define __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__
  10728. /* interface IWMReaderCallbackAdvanced */
  10729. /* [local][unique][helpstring][uuid][object] */
  10730. EXTERN_C const IID IID_IWMReaderCallbackAdvanced;
  10731. #if defined(__cplusplus) && !defined(CINTERFACE)
  10732. MIDL_INTERFACE("96406BEB-2B2B-11d3-B36B-00C04F6108FF")
  10733. IWMReaderCallbackAdvanced : public IUnknown
  10734. {
  10735. public:
  10736. virtual HRESULT STDMETHODCALLTYPE OnStreamSample(
  10737. /* [in] */ WORD wStreamNum,
  10738. /* [in] */ QWORD cnsSampleTime,
  10739. /* [in] */ QWORD cnsSampleDuration,
  10740. /* [in] */ DWORD dwFlags,
  10741. /* [in] */ INSSBuffer *pSample,
  10742. /* [in] */ void *pvContext) = 0;
  10743. virtual HRESULT STDMETHODCALLTYPE OnTime(
  10744. /* [in] */ QWORD cnsCurrentTime,
  10745. /* [in] */ void *pvContext) = 0;
  10746. virtual HRESULT STDMETHODCALLTYPE OnStreamSelection(
  10747. /* [in] */ WORD wStreamCount,
  10748. /* [in] */ WORD *pStreamNumbers,
  10749. /* [in] */ WMT_STREAM_SELECTION *pSelections,
  10750. /* [in] */ void *pvContext) = 0;
  10751. virtual HRESULT STDMETHODCALLTYPE OnOutputPropsChanged(
  10752. /* [in] */ DWORD dwOutputNum,
  10753. /* [in] */ WM_MEDIA_TYPE *pMediaType,
  10754. /* [in] */ void *pvContext) = 0;
  10755. virtual HRESULT STDMETHODCALLTYPE AllocateForStream(
  10756. /* [in] */ WORD wStreamNum,
  10757. /* [in] */ DWORD cbBuffer,
  10758. /* [out] */ INSSBuffer **ppBuffer,
  10759. /* [in] */ void *pvContext) = 0;
  10760. virtual HRESULT STDMETHODCALLTYPE AllocateForOutput(
  10761. /* [in] */ DWORD dwOutputNum,
  10762. /* [in] */ DWORD cbBuffer,
  10763. /* [out] */ INSSBuffer **ppBuffer,
  10764. /* [in] */ void *pvContext) = 0;
  10765. };
  10766. #else /* C style interface */
  10767. typedef struct IWMReaderCallbackAdvancedVtbl
  10768. {
  10769. BEGIN_INTERFACE
  10770. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10771. IWMReaderCallbackAdvanced * This,
  10772. /* [in] */ REFIID riid,
  10773. /* [iid_is][out] */ void **ppvObject);
  10774. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10775. IWMReaderCallbackAdvanced * This);
  10776. ULONG ( STDMETHODCALLTYPE *Release )(
  10777. IWMReaderCallbackAdvanced * This);
  10778. HRESULT ( STDMETHODCALLTYPE *OnStreamSample )(
  10779. IWMReaderCallbackAdvanced * This,
  10780. /* [in] */ WORD wStreamNum,
  10781. /* [in] */ QWORD cnsSampleTime,
  10782. /* [in] */ QWORD cnsSampleDuration,
  10783. /* [in] */ DWORD dwFlags,
  10784. /* [in] */ INSSBuffer *pSample,
  10785. /* [in] */ void *pvContext);
  10786. HRESULT ( STDMETHODCALLTYPE *OnTime )(
  10787. IWMReaderCallbackAdvanced * This,
  10788. /* [in] */ QWORD cnsCurrentTime,
  10789. /* [in] */ void *pvContext);
  10790. HRESULT ( STDMETHODCALLTYPE *OnStreamSelection )(
  10791. IWMReaderCallbackAdvanced * This,
  10792. /* [in] */ WORD wStreamCount,
  10793. /* [in] */ WORD *pStreamNumbers,
  10794. /* [in] */ WMT_STREAM_SELECTION *pSelections,
  10795. /* [in] */ void *pvContext);
  10796. HRESULT ( STDMETHODCALLTYPE *OnOutputPropsChanged )(
  10797. IWMReaderCallbackAdvanced * This,
  10798. /* [in] */ DWORD dwOutputNum,
  10799. /* [in] */ WM_MEDIA_TYPE *pMediaType,
  10800. /* [in] */ void *pvContext);
  10801. HRESULT ( STDMETHODCALLTYPE *AllocateForStream )(
  10802. IWMReaderCallbackAdvanced * This,
  10803. /* [in] */ WORD wStreamNum,
  10804. /* [in] */ DWORD cbBuffer,
  10805. /* [out] */ INSSBuffer **ppBuffer,
  10806. /* [in] */ void *pvContext);
  10807. HRESULT ( STDMETHODCALLTYPE *AllocateForOutput )(
  10808. IWMReaderCallbackAdvanced * This,
  10809. /* [in] */ DWORD dwOutputNum,
  10810. /* [in] */ DWORD cbBuffer,
  10811. /* [out] */ INSSBuffer **ppBuffer,
  10812. /* [in] */ void *pvContext);
  10813. END_INTERFACE
  10814. } IWMReaderCallbackAdvancedVtbl;
  10815. interface IWMReaderCallbackAdvanced
  10816. {
  10817. CONST_VTBL struct IWMReaderCallbackAdvancedVtbl *lpVtbl;
  10818. };
  10819. #ifdef COBJMACROS
  10820. #define IWMReaderCallbackAdvanced_QueryInterface(This,riid,ppvObject) \
  10821. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10822. #define IWMReaderCallbackAdvanced_AddRef(This) \
  10823. (This)->lpVtbl -> AddRef(This)
  10824. #define IWMReaderCallbackAdvanced_Release(This) \
  10825. (This)->lpVtbl -> Release(This)
  10826. #define IWMReaderCallbackAdvanced_OnStreamSample(This,wStreamNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) \
  10827. (This)->lpVtbl -> OnStreamSample(This,wStreamNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  10828. #define IWMReaderCallbackAdvanced_OnTime(This,cnsCurrentTime,pvContext) \
  10829. (This)->lpVtbl -> OnTime(This,cnsCurrentTime,pvContext)
  10830. #define IWMReaderCallbackAdvanced_OnStreamSelection(This,wStreamCount,pStreamNumbers,pSelections,pvContext) \
  10831. (This)->lpVtbl -> OnStreamSelection(This,wStreamCount,pStreamNumbers,pSelections,pvContext)
  10832. #define IWMReaderCallbackAdvanced_OnOutputPropsChanged(This,dwOutputNum,pMediaType,pvContext) \
  10833. (This)->lpVtbl -> OnOutputPropsChanged(This,dwOutputNum,pMediaType,pvContext)
  10834. #define IWMReaderCallbackAdvanced_AllocateForStream(This,wStreamNum,cbBuffer,ppBuffer,pvContext) \
  10835. (This)->lpVtbl -> AllocateForStream(This,wStreamNum,cbBuffer,ppBuffer,pvContext)
  10836. #define IWMReaderCallbackAdvanced_AllocateForOutput(This,dwOutputNum,cbBuffer,ppBuffer,pvContext) \
  10837. (This)->lpVtbl -> AllocateForOutput(This,dwOutputNum,cbBuffer,ppBuffer,pvContext)
  10838. #endif /* COBJMACROS */
  10839. #endif /* C style interface */
  10840. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnStreamSample_Proxy(
  10841. IWMReaderCallbackAdvanced * This,
  10842. /* [in] */ WORD wStreamNum,
  10843. /* [in] */ QWORD cnsSampleTime,
  10844. /* [in] */ QWORD cnsSampleDuration,
  10845. /* [in] */ DWORD dwFlags,
  10846. /* [in] */ INSSBuffer *pSample,
  10847. /* [in] */ void *pvContext);
  10848. void __RPC_STUB IWMReaderCallbackAdvanced_OnStreamSample_Stub(
  10849. IRpcStubBuffer *This,
  10850. IRpcChannelBuffer *_pRpcChannelBuffer,
  10851. PRPC_MESSAGE _pRpcMessage,
  10852. DWORD *_pdwStubPhase);
  10853. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnTime_Proxy(
  10854. IWMReaderCallbackAdvanced * This,
  10855. /* [in] */ QWORD cnsCurrentTime,
  10856. /* [in] */ void *pvContext);
  10857. void __RPC_STUB IWMReaderCallbackAdvanced_OnTime_Stub(
  10858. IRpcStubBuffer *This,
  10859. IRpcChannelBuffer *_pRpcChannelBuffer,
  10860. PRPC_MESSAGE _pRpcMessage,
  10861. DWORD *_pdwStubPhase);
  10862. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnStreamSelection_Proxy(
  10863. IWMReaderCallbackAdvanced * This,
  10864. /* [in] */ WORD wStreamCount,
  10865. /* [in] */ WORD *pStreamNumbers,
  10866. /* [in] */ WMT_STREAM_SELECTION *pSelections,
  10867. /* [in] */ void *pvContext);
  10868. void __RPC_STUB IWMReaderCallbackAdvanced_OnStreamSelection_Stub(
  10869. IRpcStubBuffer *This,
  10870. IRpcChannelBuffer *_pRpcChannelBuffer,
  10871. PRPC_MESSAGE _pRpcMessage,
  10872. DWORD *_pdwStubPhase);
  10873. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnOutputPropsChanged_Proxy(
  10874. IWMReaderCallbackAdvanced * This,
  10875. /* [in] */ DWORD dwOutputNum,
  10876. /* [in] */ WM_MEDIA_TYPE *pMediaType,
  10877. /* [in] */ void *pvContext);
  10878. void __RPC_STUB IWMReaderCallbackAdvanced_OnOutputPropsChanged_Stub(
  10879. IRpcStubBuffer *This,
  10880. IRpcChannelBuffer *_pRpcChannelBuffer,
  10881. PRPC_MESSAGE _pRpcMessage,
  10882. DWORD *_pdwStubPhase);
  10883. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_AllocateForStream_Proxy(
  10884. IWMReaderCallbackAdvanced * This,
  10885. /* [in] */ WORD wStreamNum,
  10886. /* [in] */ DWORD cbBuffer,
  10887. /* [out] */ INSSBuffer **ppBuffer,
  10888. /* [in] */ void *pvContext);
  10889. void __RPC_STUB IWMReaderCallbackAdvanced_AllocateForStream_Stub(
  10890. IRpcStubBuffer *This,
  10891. IRpcChannelBuffer *_pRpcChannelBuffer,
  10892. PRPC_MESSAGE _pRpcMessage,
  10893. DWORD *_pdwStubPhase);
  10894. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_AllocateForOutput_Proxy(
  10895. IWMReaderCallbackAdvanced * This,
  10896. /* [in] */ DWORD dwOutputNum,
  10897. /* [in] */ DWORD cbBuffer,
  10898. /* [out] */ INSSBuffer **ppBuffer,
  10899. /* [in] */ void *pvContext);
  10900. void __RPC_STUB IWMReaderCallbackAdvanced_AllocateForOutput_Stub(
  10901. IRpcStubBuffer *This,
  10902. IRpcChannelBuffer *_pRpcChannelBuffer,
  10903. PRPC_MESSAGE _pRpcMessage,
  10904. DWORD *_pdwStubPhase);
  10905. #endif /* __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ */
  10906. #ifndef __IWMDRMReader_INTERFACE_DEFINED__
  10907. #define __IWMDRMReader_INTERFACE_DEFINED__
  10908. /* interface IWMDRMReader */
  10909. /* [local][unique][helpstring][uuid][object] */
  10910. EXTERN_C const IID IID_IWMDRMReader;
  10911. #if defined(__cplusplus) && !defined(CINTERFACE)
  10912. MIDL_INTERFACE("D2827540-3EE7-432c-B14C-DC17F085D3B3")
  10913. IWMDRMReader : public IUnknown
  10914. {
  10915. public:
  10916. virtual HRESULT STDMETHODCALLTYPE AcquireLicense(
  10917. /* [in] */ DWORD dwFlags) = 0;
  10918. virtual HRESULT STDMETHODCALLTYPE CancelLicenseAcquisition( void) = 0;
  10919. virtual HRESULT STDMETHODCALLTYPE Individualize(
  10920. /* [in] */ DWORD dwFlags) = 0;
  10921. virtual HRESULT STDMETHODCALLTYPE CancelIndividualization( void) = 0;
  10922. virtual HRESULT STDMETHODCALLTYPE MonitorLicenseAcquisition( void) = 0;
  10923. virtual HRESULT STDMETHODCALLTYPE CancelMonitorLicenseAcquisition( void) = 0;
  10924. virtual HRESULT STDMETHODCALLTYPE SetDRMProperty(
  10925. /* [in] */ LPCWSTR pwstrName,
  10926. /* [in] */ WMT_ATTR_DATATYPE dwType,
  10927. /* [size_is][in] */ const BYTE *pValue,
  10928. /* [in] */ WORD cbLength) = 0;
  10929. virtual HRESULT STDMETHODCALLTYPE GetDRMProperty(
  10930. /* [in] */ LPCWSTR pwstrName,
  10931. /* [out] */ WMT_ATTR_DATATYPE *pdwType,
  10932. /* [size_is][out] */ BYTE *pValue,
  10933. /* [out][in] */ WORD *pcbLength) = 0;
  10934. };
  10935. #else /* C style interface */
  10936. typedef struct IWMDRMReaderVtbl
  10937. {
  10938. BEGIN_INTERFACE
  10939. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10940. IWMDRMReader * This,
  10941. /* [in] */ REFIID riid,
  10942. /* [iid_is][out] */ void **ppvObject);
  10943. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10944. IWMDRMReader * This);
  10945. ULONG ( STDMETHODCALLTYPE *Release )(
  10946. IWMDRMReader * This);
  10947. HRESULT ( STDMETHODCALLTYPE *AcquireLicense )(
  10948. IWMDRMReader * This,
  10949. /* [in] */ DWORD dwFlags);
  10950. HRESULT ( STDMETHODCALLTYPE *CancelLicenseAcquisition )(
  10951. IWMDRMReader * This);
  10952. HRESULT ( STDMETHODCALLTYPE *Individualize )(
  10953. IWMDRMReader * This,
  10954. /* [in] */ DWORD dwFlags);
  10955. HRESULT ( STDMETHODCALLTYPE *CancelIndividualization )(
  10956. IWMDRMReader * This);
  10957. HRESULT ( STDMETHODCALLTYPE *MonitorLicenseAcquisition )(
  10958. IWMDRMReader * This);
  10959. HRESULT ( STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition )(
  10960. IWMDRMReader * This);
  10961. HRESULT ( STDMETHODCALLTYPE *SetDRMProperty )(
  10962. IWMDRMReader * This,
  10963. /* [in] */ LPCWSTR pwstrName,
  10964. /* [in] */ WMT_ATTR_DATATYPE dwType,
  10965. /* [size_is][in] */ const BYTE *pValue,
  10966. /* [in] */ WORD cbLength);
  10967. HRESULT ( STDMETHODCALLTYPE *GetDRMProperty )(
  10968. IWMDRMReader * This,
  10969. /* [in] */ LPCWSTR pwstrName,
  10970. /* [out] */ WMT_ATTR_DATATYPE *pdwType,
  10971. /* [size_is][out] */ BYTE *pValue,
  10972. /* [out][in] */ WORD *pcbLength);
  10973. END_INTERFACE
  10974. } IWMDRMReaderVtbl;
  10975. interface IWMDRMReader
  10976. {
  10977. CONST_VTBL struct IWMDRMReaderVtbl *lpVtbl;
  10978. };
  10979. #ifdef COBJMACROS
  10980. #define IWMDRMReader_QueryInterface(This,riid,ppvObject) \
  10981. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10982. #define IWMDRMReader_AddRef(This) \
  10983. (This)->lpVtbl -> AddRef(This)
  10984. #define IWMDRMReader_Release(This) \
  10985. (This)->lpVtbl -> Release(This)
  10986. #define IWMDRMReader_AcquireLicense(This,dwFlags) \
  10987. (This)->lpVtbl -> AcquireLicense(This,dwFlags)
  10988. #define IWMDRMReader_CancelLicenseAcquisition(This) \
  10989. (This)->lpVtbl -> CancelLicenseAcquisition(This)
  10990. #define IWMDRMReader_Individualize(This,dwFlags) \
  10991. (This)->lpVtbl -> Individualize(This,dwFlags)
  10992. #define IWMDRMReader_CancelIndividualization(This) \
  10993. (This)->lpVtbl -> CancelIndividualization(This)
  10994. #define IWMDRMReader_MonitorLicenseAcquisition(This) \
  10995. (This)->lpVtbl -> MonitorLicenseAcquisition(This)
  10996. #define IWMDRMReader_CancelMonitorLicenseAcquisition(This) \
  10997. (This)->lpVtbl -> CancelMonitorLicenseAcquisition(This)
  10998. #define IWMDRMReader_SetDRMProperty(This,pwstrName,dwType,pValue,cbLength) \
  10999. (This)->lpVtbl -> SetDRMProperty(This,pwstrName,dwType,pValue,cbLength)
  11000. #define IWMDRMReader_GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) \
  11001. (This)->lpVtbl -> GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength)
  11002. #endif /* COBJMACROS */
  11003. #endif /* C style interface */
  11004. HRESULT STDMETHODCALLTYPE IWMDRMReader_AcquireLicense_Proxy(
  11005. IWMDRMReader * This,
  11006. /* [in] */ DWORD dwFlags);
  11007. void __RPC_STUB IWMDRMReader_AcquireLicense_Stub(
  11008. IRpcStubBuffer *This,
  11009. IRpcChannelBuffer *_pRpcChannelBuffer,
  11010. PRPC_MESSAGE _pRpcMessage,
  11011. DWORD *_pdwStubPhase);
  11012. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelLicenseAcquisition_Proxy(
  11013. IWMDRMReader * This);
  11014. void __RPC_STUB IWMDRMReader_CancelLicenseAcquisition_Stub(
  11015. IRpcStubBuffer *This,
  11016. IRpcChannelBuffer *_pRpcChannelBuffer,
  11017. PRPC_MESSAGE _pRpcMessage,
  11018. DWORD *_pdwStubPhase);
  11019. HRESULT STDMETHODCALLTYPE IWMDRMReader_Individualize_Proxy(
  11020. IWMDRMReader * This,
  11021. /* [in] */ DWORD dwFlags);
  11022. void __RPC_STUB IWMDRMReader_Individualize_Stub(
  11023. IRpcStubBuffer *This,
  11024. IRpcChannelBuffer *_pRpcChannelBuffer,
  11025. PRPC_MESSAGE _pRpcMessage,
  11026. DWORD *_pdwStubPhase);
  11027. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelIndividualization_Proxy(
  11028. IWMDRMReader * This);
  11029. void __RPC_STUB IWMDRMReader_CancelIndividualization_Stub(
  11030. IRpcStubBuffer *This,
  11031. IRpcChannelBuffer *_pRpcChannelBuffer,
  11032. PRPC_MESSAGE _pRpcMessage,
  11033. DWORD *_pdwStubPhase);
  11034. HRESULT STDMETHODCALLTYPE IWMDRMReader_MonitorLicenseAcquisition_Proxy(
  11035. IWMDRMReader * This);
  11036. void __RPC_STUB IWMDRMReader_MonitorLicenseAcquisition_Stub(
  11037. IRpcStubBuffer *This,
  11038. IRpcChannelBuffer *_pRpcChannelBuffer,
  11039. PRPC_MESSAGE _pRpcMessage,
  11040. DWORD *_pdwStubPhase);
  11041. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelMonitorLicenseAcquisition_Proxy(
  11042. IWMDRMReader * This);
  11043. void __RPC_STUB IWMDRMReader_CancelMonitorLicenseAcquisition_Stub(
  11044. IRpcStubBuffer *This,
  11045. IRpcChannelBuffer *_pRpcChannelBuffer,
  11046. PRPC_MESSAGE _pRpcMessage,
  11047. DWORD *_pdwStubPhase);
  11048. HRESULT STDMETHODCALLTYPE IWMDRMReader_SetDRMProperty_Proxy(
  11049. IWMDRMReader * This,
  11050. /* [in] */ LPCWSTR pwstrName,
  11051. /* [in] */ WMT_ATTR_DATATYPE dwType,
  11052. /* [size_is][in] */ const BYTE *pValue,
  11053. /* [in] */ WORD cbLength);
  11054. void __RPC_STUB IWMDRMReader_SetDRMProperty_Stub(
  11055. IRpcStubBuffer *This,
  11056. IRpcChannelBuffer *_pRpcChannelBuffer,
  11057. PRPC_MESSAGE _pRpcMessage,
  11058. DWORD *_pdwStubPhase);
  11059. HRESULT STDMETHODCALLTYPE IWMDRMReader_GetDRMProperty_Proxy(
  11060. IWMDRMReader * This,
  11061. /* [in] */ LPCWSTR pwstrName,
  11062. /* [out] */ WMT_ATTR_DATATYPE *pdwType,
  11063. /* [size_is][out] */ BYTE *pValue,
  11064. /* [out][in] */ WORD *pcbLength);
  11065. void __RPC_STUB IWMDRMReader_GetDRMProperty_Stub(
  11066. IRpcStubBuffer *This,
  11067. IRpcChannelBuffer *_pRpcChannelBuffer,
  11068. PRPC_MESSAGE _pRpcMessage,
  11069. DWORD *_pdwStubPhase);
  11070. #endif /* __IWMDRMReader_INTERFACE_DEFINED__ */
  11071. #ifndef __IWMReaderNetworkConfig_INTERFACE_DEFINED__
  11072. #define __IWMReaderNetworkConfig_INTERFACE_DEFINED__
  11073. /* interface IWMReaderNetworkConfig */
  11074. /* [local][unique][helpstring][uuid][object] */
  11075. EXTERN_C const IID IID_IWMReaderNetworkConfig;
  11076. #if defined(__cplusplus) && !defined(CINTERFACE)
  11077. MIDL_INTERFACE("96406BEC-2B2B-11d3-B36B-00C04F6108FF")
  11078. IWMReaderNetworkConfig : public IUnknown
  11079. {
  11080. public:
  11081. virtual HRESULT STDMETHODCALLTYPE GetBufferingTime(
  11082. /* [out] */ QWORD *pcnsBufferingTime) = 0;
  11083. virtual HRESULT STDMETHODCALLTYPE SetBufferingTime(
  11084. /* [in] */ QWORD cnsBufferingTime) = 0;
  11085. virtual HRESULT STDMETHODCALLTYPE GetUDPPortRanges(
  11086. /* [size_is][out] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  11087. /* [out][in] */ DWORD *pcRanges) = 0;
  11088. virtual HRESULT STDMETHODCALLTYPE SetUDPPortRanges(
  11089. /* [size_is][in] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  11090. /* [in] */ DWORD cRanges) = 0;
  11091. virtual HRESULT STDMETHODCALLTYPE GetProxySettings(
  11092. /* [in] */ LPCWSTR pwszProtocol,
  11093. /* [out] */ WMT_PROXY_SETTINGS *pProxySetting) = 0;
  11094. virtual HRESULT STDMETHODCALLTYPE SetProxySettings(
  11095. /* [in] */ LPCWSTR pwszProtocol,
  11096. /* [in] */ WMT_PROXY_SETTINGS ProxySetting) = 0;
  11097. virtual HRESULT STDMETHODCALLTYPE GetProxyHostName(
  11098. /* [in] */ LPCWSTR pwszProtocol,
  11099. /* [size_is][out] */ WCHAR *pwszHostName,
  11100. /* [out][in] */ DWORD *pcchHostName) = 0;
  11101. virtual HRESULT STDMETHODCALLTYPE SetProxyHostName(
  11102. /* [in] */ LPCWSTR pwszProtocol,
  11103. /* [in] */ LPCWSTR pwszHostName) = 0;
  11104. virtual HRESULT STDMETHODCALLTYPE GetProxyPort(
  11105. /* [in] */ LPCWSTR pwszProtocol,
  11106. /* [out] */ DWORD *pdwPort) = 0;
  11107. virtual HRESULT STDMETHODCALLTYPE SetProxyPort(
  11108. /* [in] */ LPCWSTR pwszProtocol,
  11109. /* [in] */ DWORD dwPort) = 0;
  11110. virtual HRESULT STDMETHODCALLTYPE GetProxyExceptionList(
  11111. /* [in] */ LPCWSTR pwszProtocol,
  11112. /* [size_is][out] */ WCHAR *pwszExceptionList,
  11113. /* [out][in] */ DWORD *pcchExceptionList) = 0;
  11114. virtual HRESULT STDMETHODCALLTYPE SetProxyExceptionList(
  11115. /* [in] */ LPCWSTR pwszProtocol,
  11116. /* [in] */ LPCWSTR pwszExceptionList) = 0;
  11117. virtual HRESULT STDMETHODCALLTYPE GetProxyBypassForLocal(
  11118. /* [in] */ LPCWSTR pwszProtocol,
  11119. /* [out] */ BOOL *pfBypassForLocal) = 0;
  11120. virtual HRESULT STDMETHODCALLTYPE SetProxyBypassForLocal(
  11121. /* [in] */ LPCWSTR pwszProtocol,
  11122. /* [in] */ BOOL fBypassForLocal) = 0;
  11123. virtual HRESULT STDMETHODCALLTYPE GetForceRerunAutoProxyDetection(
  11124. /* [out] */ BOOL *pfForceRerunDetection) = 0;
  11125. virtual HRESULT STDMETHODCALLTYPE SetForceRerunAutoProxyDetection(
  11126. /* [in] */ BOOL fForceRerunDetection) = 0;
  11127. virtual HRESULT STDMETHODCALLTYPE GetEnableMulticast(
  11128. /* [out] */ BOOL *pfEnableMulticast) = 0;
  11129. virtual HRESULT STDMETHODCALLTYPE SetEnableMulticast(
  11130. /* [in] */ BOOL fEnableMulticast) = 0;
  11131. virtual HRESULT STDMETHODCALLTYPE GetEnableHTTP(
  11132. /* [out] */ BOOL *pfEnableHTTP) = 0;
  11133. virtual HRESULT STDMETHODCALLTYPE SetEnableHTTP(
  11134. /* [in] */ BOOL fEnableHTTP) = 0;
  11135. virtual HRESULT STDMETHODCALLTYPE GetEnableUDP(
  11136. /* [out] */ BOOL *pfEnableUDP) = 0;
  11137. virtual HRESULT STDMETHODCALLTYPE SetEnableUDP(
  11138. /* [in] */ BOOL fEnableUDP) = 0;
  11139. virtual HRESULT STDMETHODCALLTYPE GetEnableTCP(
  11140. /* [out] */ BOOL *pfEnableTCP) = 0;
  11141. virtual HRESULT STDMETHODCALLTYPE SetEnableTCP(
  11142. /* [in] */ BOOL fEnableTCP) = 0;
  11143. virtual HRESULT STDMETHODCALLTYPE ResetProtocolRollover( void) = 0;
  11144. virtual HRESULT STDMETHODCALLTYPE GetConnectionBandwidth(
  11145. /* [out] */ DWORD *pdwConnectionBandwidth) = 0;
  11146. virtual HRESULT STDMETHODCALLTYPE SetConnectionBandwidth(
  11147. /* [in] */ DWORD dwConnectionBandwidth) = 0;
  11148. virtual HRESULT STDMETHODCALLTYPE GetNumProtocolsSupported(
  11149. /* [out] */ DWORD *pcProtocols) = 0;
  11150. virtual HRESULT STDMETHODCALLTYPE GetSupportedProtocolName(
  11151. /* [in] */ DWORD dwProtocolNum,
  11152. /* [size_is][out] */ WCHAR *pwszProtocolName,
  11153. /* [out][in] */ DWORD *pcchProtocolName) = 0;
  11154. virtual HRESULT STDMETHODCALLTYPE AddLoggingUrl(
  11155. /* [in] */ LPCWSTR pwszUrl) = 0;
  11156. virtual HRESULT STDMETHODCALLTYPE GetLoggingUrl(
  11157. /* [in] */ DWORD dwIndex,
  11158. /* [size_is][out] */ LPWSTR pwszUrl,
  11159. /* [out][in] */ DWORD *pcchUrl) = 0;
  11160. virtual HRESULT STDMETHODCALLTYPE GetLoggingUrlCount(
  11161. /* [out] */ DWORD *pdwUrlCount) = 0;
  11162. virtual HRESULT STDMETHODCALLTYPE ResetLoggingUrlList( void) = 0;
  11163. };
  11164. #else /* C style interface */
  11165. typedef struct IWMReaderNetworkConfigVtbl
  11166. {
  11167. BEGIN_INTERFACE
  11168. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11169. IWMReaderNetworkConfig * This,
  11170. /* [in] */ REFIID riid,
  11171. /* [iid_is][out] */ void **ppvObject);
  11172. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11173. IWMReaderNetworkConfig * This);
  11174. ULONG ( STDMETHODCALLTYPE *Release )(
  11175. IWMReaderNetworkConfig * This);
  11176. HRESULT ( STDMETHODCALLTYPE *GetBufferingTime )(
  11177. IWMReaderNetworkConfig * This,
  11178. /* [out] */ QWORD *pcnsBufferingTime);
  11179. HRESULT ( STDMETHODCALLTYPE *SetBufferingTime )(
  11180. IWMReaderNetworkConfig * This,
  11181. /* [in] */ QWORD cnsBufferingTime);
  11182. HRESULT ( STDMETHODCALLTYPE *GetUDPPortRanges )(
  11183. IWMReaderNetworkConfig * This,
  11184. /* [size_is][out] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  11185. /* [out][in] */ DWORD *pcRanges);
  11186. HRESULT ( STDMETHODCALLTYPE *SetUDPPortRanges )(
  11187. IWMReaderNetworkConfig * This,
  11188. /* [size_is][in] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  11189. /* [in] */ DWORD cRanges);
  11190. HRESULT ( STDMETHODCALLTYPE *GetProxySettings )(
  11191. IWMReaderNetworkConfig * This,
  11192. /* [in] */ LPCWSTR pwszProtocol,
  11193. /* [out] */ WMT_PROXY_SETTINGS *pProxySetting);
  11194. HRESULT ( STDMETHODCALLTYPE *SetProxySettings )(
  11195. IWMReaderNetworkConfig * This,
  11196. /* [in] */ LPCWSTR pwszProtocol,
  11197. /* [in] */ WMT_PROXY_SETTINGS ProxySetting);
  11198. HRESULT ( STDMETHODCALLTYPE *GetProxyHostName )(
  11199. IWMReaderNetworkConfig * This,
  11200. /* [in] */ LPCWSTR pwszProtocol,
  11201. /* [size_is][out] */ WCHAR *pwszHostName,
  11202. /* [out][in] */ DWORD *pcchHostName);
  11203. HRESULT ( STDMETHODCALLTYPE *SetProxyHostName )(
  11204. IWMReaderNetworkConfig * This,
  11205. /* [in] */ LPCWSTR pwszProtocol,
  11206. /* [in] */ LPCWSTR pwszHostName);
  11207. HRESULT ( STDMETHODCALLTYPE *GetProxyPort )(
  11208. IWMReaderNetworkConfig * This,
  11209. /* [in] */ LPCWSTR pwszProtocol,
  11210. /* [out] */ DWORD *pdwPort);
  11211. HRESULT ( STDMETHODCALLTYPE *SetProxyPort )(
  11212. IWMReaderNetworkConfig * This,
  11213. /* [in] */ LPCWSTR pwszProtocol,
  11214. /* [in] */ DWORD dwPort);
  11215. HRESULT ( STDMETHODCALLTYPE *GetProxyExceptionList )(
  11216. IWMReaderNetworkConfig * This,
  11217. /* [in] */ LPCWSTR pwszProtocol,
  11218. /* [size_is][out] */ WCHAR *pwszExceptionList,
  11219. /* [out][in] */ DWORD *pcchExceptionList);
  11220. HRESULT ( STDMETHODCALLTYPE *SetProxyExceptionList )(
  11221. IWMReaderNetworkConfig * This,
  11222. /* [in] */ LPCWSTR pwszProtocol,
  11223. /* [in] */ LPCWSTR pwszExceptionList);
  11224. HRESULT ( STDMETHODCALLTYPE *GetProxyBypassForLocal )(
  11225. IWMReaderNetworkConfig * This,
  11226. /* [in] */ LPCWSTR pwszProtocol,
  11227. /* [out] */ BOOL *pfBypassForLocal);
  11228. HRESULT ( STDMETHODCALLTYPE *SetProxyBypassForLocal )(
  11229. IWMReaderNetworkConfig * This,
  11230. /* [in] */ LPCWSTR pwszProtocol,
  11231. /* [in] */ BOOL fBypassForLocal);
  11232. HRESULT ( STDMETHODCALLTYPE *GetForceRerunAutoProxyDetection )(
  11233. IWMReaderNetworkConfig * This,
  11234. /* [out] */ BOOL *pfForceRerunDetection);
  11235. HRESULT ( STDMETHODCALLTYPE *SetForceRerunAutoProxyDetection )(
  11236. IWMReaderNetworkConfig * This,
  11237. /* [in] */ BOOL fForceRerunDetection);
  11238. HRESULT ( STDMETHODCALLTYPE *GetEnableMulticast )(
  11239. IWMReaderNetworkConfig * This,
  11240. /* [out] */ BOOL *pfEnableMulticast);
  11241. HRESULT ( STDMETHODCALLTYPE *SetEnableMulticast )(
  11242. IWMReaderNetworkConfig * This,
  11243. /* [in] */ BOOL fEnableMulticast);
  11244. HRESULT ( STDMETHODCALLTYPE *GetEnableHTTP )(
  11245. IWMReaderNetworkConfig * This,
  11246. /* [out] */ BOOL *pfEnableHTTP);
  11247. HRESULT ( STDMETHODCALLTYPE *SetEnableHTTP )(
  11248. IWMReaderNetworkConfig * This,
  11249. /* [in] */ BOOL fEnableHTTP);
  11250. HRESULT ( STDMETHODCALLTYPE *GetEnableUDP )(
  11251. IWMReaderNetworkConfig * This,
  11252. /* [out] */ BOOL *pfEnableUDP);
  11253. HRESULT ( STDMETHODCALLTYPE *SetEnableUDP )(
  11254. IWMReaderNetworkConfig * This,
  11255. /* [in] */ BOOL fEnableUDP);
  11256. HRESULT ( STDMETHODCALLTYPE *GetEnableTCP )(
  11257. IWMReaderNetworkConfig * This,
  11258. /* [out] */ BOOL *pfEnableTCP);
  11259. HRESULT ( STDMETHODCALLTYPE *SetEnableTCP )(
  11260. IWMReaderNetworkConfig * This,
  11261. /* [in] */ BOOL fEnableTCP);
  11262. HRESULT ( STDMETHODCALLTYPE *ResetProtocolRollover )(
  11263. IWMReaderNetworkConfig * This);
  11264. HRESULT ( STDMETHODCALLTYPE *GetConnectionBandwidth )(
  11265. IWMReaderNetworkConfig * This,
  11266. /* [out] */ DWORD *pdwConnectionBandwidth);
  11267. HRESULT ( STDMETHODCALLTYPE *SetConnectionBandwidth )(
  11268. IWMReaderNetworkConfig * This,
  11269. /* [in] */ DWORD dwConnectionBandwidth);
  11270. HRESULT ( STDMETHODCALLTYPE *GetNumProtocolsSupported )(
  11271. IWMReaderNetworkConfig * This,
  11272. /* [out] */ DWORD *pcProtocols);
  11273. HRESULT ( STDMETHODCALLTYPE *GetSupportedProtocolName )(
  11274. IWMReaderNetworkConfig * This,
  11275. /* [in] */ DWORD dwProtocolNum,
  11276. /* [size_is][out] */ WCHAR *pwszProtocolName,
  11277. /* [out][in] */ DWORD *pcchProtocolName);
  11278. HRESULT ( STDMETHODCALLTYPE *AddLoggingUrl )(
  11279. IWMReaderNetworkConfig * This,
  11280. /* [in] */ LPCWSTR pwszUrl);
  11281. HRESULT ( STDMETHODCALLTYPE *GetLoggingUrl )(
  11282. IWMReaderNetworkConfig * This,
  11283. /* [in] */ DWORD dwIndex,
  11284. /* [size_is][out] */ LPWSTR pwszUrl,
  11285. /* [out][in] */ DWORD *pcchUrl);
  11286. HRESULT ( STDMETHODCALLTYPE *GetLoggingUrlCount )(
  11287. IWMReaderNetworkConfig * This,
  11288. /* [out] */ DWORD *pdwUrlCount);
  11289. HRESULT ( STDMETHODCALLTYPE *ResetLoggingUrlList )(
  11290. IWMReaderNetworkConfig * This);
  11291. END_INTERFACE
  11292. } IWMReaderNetworkConfigVtbl;
  11293. interface IWMReaderNetworkConfig
  11294. {
  11295. CONST_VTBL struct IWMReaderNetworkConfigVtbl *lpVtbl;
  11296. };
  11297. #ifdef COBJMACROS
  11298. #define IWMReaderNetworkConfig_QueryInterface(This,riid,ppvObject) \
  11299. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11300. #define IWMReaderNetworkConfig_AddRef(This) \
  11301. (This)->lpVtbl -> AddRef(This)
  11302. #define IWMReaderNetworkConfig_Release(This) \
  11303. (This)->lpVtbl -> Release(This)
  11304. #define IWMReaderNetworkConfig_GetBufferingTime(This,pcnsBufferingTime) \
  11305. (This)->lpVtbl -> GetBufferingTime(This,pcnsBufferingTime)
  11306. #define IWMReaderNetworkConfig_SetBufferingTime(This,cnsBufferingTime) \
  11307. (This)->lpVtbl -> SetBufferingTime(This,cnsBufferingTime)
  11308. #define IWMReaderNetworkConfig_GetUDPPortRanges(This,pRangeArray,pcRanges) \
  11309. (This)->lpVtbl -> GetUDPPortRanges(This,pRangeArray,pcRanges)
  11310. #define IWMReaderNetworkConfig_SetUDPPortRanges(This,pRangeArray,cRanges) \
  11311. (This)->lpVtbl -> SetUDPPortRanges(This,pRangeArray,cRanges)
  11312. #define IWMReaderNetworkConfig_GetProxySettings(This,pwszProtocol,pProxySetting) \
  11313. (This)->lpVtbl -> GetProxySettings(This,pwszProtocol,pProxySetting)
  11314. #define IWMReaderNetworkConfig_SetProxySettings(This,pwszProtocol,ProxySetting) \
  11315. (This)->lpVtbl -> SetProxySettings(This,pwszProtocol,ProxySetting)
  11316. #define IWMReaderNetworkConfig_GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName) \
  11317. (This)->lpVtbl -> GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName)
  11318. #define IWMReaderNetworkConfig_SetProxyHostName(This,pwszProtocol,pwszHostName) \
  11319. (This)->lpVtbl -> SetProxyHostName(This,pwszProtocol,pwszHostName)
  11320. #define IWMReaderNetworkConfig_GetProxyPort(This,pwszProtocol,pdwPort) \
  11321. (This)->lpVtbl -> GetProxyPort(This,pwszProtocol,pdwPort)
  11322. #define IWMReaderNetworkConfig_SetProxyPort(This,pwszProtocol,dwPort) \
  11323. (This)->lpVtbl -> SetProxyPort(This,pwszProtocol,dwPort)
  11324. #define IWMReaderNetworkConfig_GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList) \
  11325. (This)->lpVtbl -> GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList)
  11326. #define IWMReaderNetworkConfig_SetProxyExceptionList(This,pwszProtocol,pwszExceptionList) \
  11327. (This)->lpVtbl -> SetProxyExceptionList(This,pwszProtocol,pwszExceptionList)
  11328. #define IWMReaderNetworkConfig_GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal) \
  11329. (This)->lpVtbl -> GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal)
  11330. #define IWMReaderNetworkConfig_SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal) \
  11331. (This)->lpVtbl -> SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal)
  11332. #define IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection(This,pfForceRerunDetection) \
  11333. (This)->lpVtbl -> GetForceRerunAutoProxyDetection(This,pfForceRerunDetection)
  11334. #define IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection(This,fForceRerunDetection) \
  11335. (This)->lpVtbl -> SetForceRerunAutoProxyDetection(This,fForceRerunDetection)
  11336. #define IWMReaderNetworkConfig_GetEnableMulticast(This,pfEnableMulticast) \
  11337. (This)->lpVtbl -> GetEnableMulticast(This,pfEnableMulticast)
  11338. #define IWMReaderNetworkConfig_SetEnableMulticast(This,fEnableMulticast) \
  11339. (This)->lpVtbl -> SetEnableMulticast(This,fEnableMulticast)
  11340. #define IWMReaderNetworkConfig_GetEnableHTTP(This,pfEnableHTTP) \
  11341. (This)->lpVtbl -> GetEnableHTTP(This,pfEnableHTTP)
  11342. #define IWMReaderNetworkConfig_SetEnableHTTP(This,fEnableHTTP) \
  11343. (This)->lpVtbl -> SetEnableHTTP(This,fEnableHTTP)
  11344. #define IWMReaderNetworkConfig_GetEnableUDP(This,pfEnableUDP) \
  11345. (This)->lpVtbl -> GetEnableUDP(This,pfEnableUDP)
  11346. #define IWMReaderNetworkConfig_SetEnableUDP(This,fEnableUDP) \
  11347. (This)->lpVtbl -> SetEnableUDP(This,fEnableUDP)
  11348. #define IWMReaderNetworkConfig_GetEnableTCP(This,pfEnableTCP) \
  11349. (This)->lpVtbl -> GetEnableTCP(This,pfEnableTCP)
  11350. #define IWMReaderNetworkConfig_SetEnableTCP(This,fEnableTCP) \
  11351. (This)->lpVtbl -> SetEnableTCP(This,fEnableTCP)
  11352. #define IWMReaderNetworkConfig_ResetProtocolRollover(This) \
  11353. (This)->lpVtbl -> ResetProtocolRollover(This)
  11354. #define IWMReaderNetworkConfig_GetConnectionBandwidth(This,pdwConnectionBandwidth) \
  11355. (This)->lpVtbl -> GetConnectionBandwidth(This,pdwConnectionBandwidth)
  11356. #define IWMReaderNetworkConfig_SetConnectionBandwidth(This,dwConnectionBandwidth) \
  11357. (This)->lpVtbl -> SetConnectionBandwidth(This,dwConnectionBandwidth)
  11358. #define IWMReaderNetworkConfig_GetNumProtocolsSupported(This,pcProtocols) \
  11359. (This)->lpVtbl -> GetNumProtocolsSupported(This,pcProtocols)
  11360. #define IWMReaderNetworkConfig_GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName) \
  11361. (This)->lpVtbl -> GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName)
  11362. #define IWMReaderNetworkConfig_AddLoggingUrl(This,pwszUrl) \
  11363. (This)->lpVtbl -> AddLoggingUrl(This,pwszUrl)
  11364. #define IWMReaderNetworkConfig_GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl) \
  11365. (This)->lpVtbl -> GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl)
  11366. #define IWMReaderNetworkConfig_GetLoggingUrlCount(This,pdwUrlCount) \
  11367. (This)->lpVtbl -> GetLoggingUrlCount(This,pdwUrlCount)
  11368. #define IWMReaderNetworkConfig_ResetLoggingUrlList(This) \
  11369. (This)->lpVtbl -> ResetLoggingUrlList(This)
  11370. #endif /* COBJMACROS */
  11371. #endif /* C style interface */
  11372. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetBufferingTime_Proxy(
  11373. IWMReaderNetworkConfig * This,
  11374. /* [out] */ QWORD *pcnsBufferingTime);
  11375. void __RPC_STUB IWMReaderNetworkConfig_GetBufferingTime_Stub(
  11376. IRpcStubBuffer *This,
  11377. IRpcChannelBuffer *_pRpcChannelBuffer,
  11378. PRPC_MESSAGE _pRpcMessage,
  11379. DWORD *_pdwStubPhase);
  11380. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetBufferingTime_Proxy(
  11381. IWMReaderNetworkConfig * This,
  11382. /* [in] */ QWORD cnsBufferingTime);
  11383. void __RPC_STUB IWMReaderNetworkConfig_SetBufferingTime_Stub(
  11384. IRpcStubBuffer *This,
  11385. IRpcChannelBuffer *_pRpcChannelBuffer,
  11386. PRPC_MESSAGE _pRpcMessage,
  11387. DWORD *_pdwStubPhase);
  11388. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetUDPPortRanges_Proxy(
  11389. IWMReaderNetworkConfig * This,
  11390. /* [size_is][out] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  11391. /* [out][in] */ DWORD *pcRanges);
  11392. void __RPC_STUB IWMReaderNetworkConfig_GetUDPPortRanges_Stub(
  11393. IRpcStubBuffer *This,
  11394. IRpcChannelBuffer *_pRpcChannelBuffer,
  11395. PRPC_MESSAGE _pRpcMessage,
  11396. DWORD *_pdwStubPhase);
  11397. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetUDPPortRanges_Proxy(
  11398. IWMReaderNetworkConfig * This,
  11399. /* [size_is][in] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  11400. /* [in] */ DWORD cRanges);
  11401. void __RPC_STUB IWMReaderNetworkConfig_SetUDPPortRanges_Stub(
  11402. IRpcStubBuffer *This,
  11403. IRpcChannelBuffer *_pRpcChannelBuffer,
  11404. PRPC_MESSAGE _pRpcMessage,
  11405. DWORD *_pdwStubPhase);
  11406. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxySettings_Proxy(
  11407. IWMReaderNetworkConfig * This,
  11408. /* [in] */ LPCWSTR pwszProtocol,
  11409. /* [out] */ WMT_PROXY_SETTINGS *pProxySetting);
  11410. void __RPC_STUB IWMReaderNetworkConfig_GetProxySettings_Stub(
  11411. IRpcStubBuffer *This,
  11412. IRpcChannelBuffer *_pRpcChannelBuffer,
  11413. PRPC_MESSAGE _pRpcMessage,
  11414. DWORD *_pdwStubPhase);
  11415. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxySettings_Proxy(
  11416. IWMReaderNetworkConfig * This,
  11417. /* [in] */ LPCWSTR pwszProtocol,
  11418. /* [in] */ WMT_PROXY_SETTINGS ProxySetting);
  11419. void __RPC_STUB IWMReaderNetworkConfig_SetProxySettings_Stub(
  11420. IRpcStubBuffer *This,
  11421. IRpcChannelBuffer *_pRpcChannelBuffer,
  11422. PRPC_MESSAGE _pRpcMessage,
  11423. DWORD *_pdwStubPhase);
  11424. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyHostName_Proxy(
  11425. IWMReaderNetworkConfig * This,
  11426. /* [in] */ LPCWSTR pwszProtocol,
  11427. /* [size_is][out] */ WCHAR *pwszHostName,
  11428. /* [out][in] */ DWORD *pcchHostName);
  11429. void __RPC_STUB IWMReaderNetworkConfig_GetProxyHostName_Stub(
  11430. IRpcStubBuffer *This,
  11431. IRpcChannelBuffer *_pRpcChannelBuffer,
  11432. PRPC_MESSAGE _pRpcMessage,
  11433. DWORD *_pdwStubPhase);
  11434. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyHostName_Proxy(
  11435. IWMReaderNetworkConfig * This,
  11436. /* [in] */ LPCWSTR pwszProtocol,
  11437. /* [in] */ LPCWSTR pwszHostName);
  11438. void __RPC_STUB IWMReaderNetworkConfig_SetProxyHostName_Stub(
  11439. IRpcStubBuffer *This,
  11440. IRpcChannelBuffer *_pRpcChannelBuffer,
  11441. PRPC_MESSAGE _pRpcMessage,
  11442. DWORD *_pdwStubPhase);
  11443. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyPort_Proxy(
  11444. IWMReaderNetworkConfig * This,
  11445. /* [in] */ LPCWSTR pwszProtocol,
  11446. /* [out] */ DWORD *pdwPort);
  11447. void __RPC_STUB IWMReaderNetworkConfig_GetProxyPort_Stub(
  11448. IRpcStubBuffer *This,
  11449. IRpcChannelBuffer *_pRpcChannelBuffer,
  11450. PRPC_MESSAGE _pRpcMessage,
  11451. DWORD *_pdwStubPhase);
  11452. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyPort_Proxy(
  11453. IWMReaderNetworkConfig * This,
  11454. /* [in] */ LPCWSTR pwszProtocol,
  11455. /* [in] */ DWORD dwPort);
  11456. void __RPC_STUB IWMReaderNetworkConfig_SetProxyPort_Stub(
  11457. IRpcStubBuffer *This,
  11458. IRpcChannelBuffer *_pRpcChannelBuffer,
  11459. PRPC_MESSAGE _pRpcMessage,
  11460. DWORD *_pdwStubPhase);
  11461. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyExceptionList_Proxy(
  11462. IWMReaderNetworkConfig * This,
  11463. /* [in] */ LPCWSTR pwszProtocol,
  11464. /* [size_is][out] */ WCHAR *pwszExceptionList,
  11465. /* [out][in] */ DWORD *pcchExceptionList);
  11466. void __RPC_STUB IWMReaderNetworkConfig_GetProxyExceptionList_Stub(
  11467. IRpcStubBuffer *This,
  11468. IRpcChannelBuffer *_pRpcChannelBuffer,
  11469. PRPC_MESSAGE _pRpcMessage,
  11470. DWORD *_pdwStubPhase);
  11471. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyExceptionList_Proxy(
  11472. IWMReaderNetworkConfig * This,
  11473. /* [in] */ LPCWSTR pwszProtocol,
  11474. /* [in] */ LPCWSTR pwszExceptionList);
  11475. void __RPC_STUB IWMReaderNetworkConfig_SetProxyExceptionList_Stub(
  11476. IRpcStubBuffer *This,
  11477. IRpcChannelBuffer *_pRpcChannelBuffer,
  11478. PRPC_MESSAGE _pRpcMessage,
  11479. DWORD *_pdwStubPhase);
  11480. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyBypassForLocal_Proxy(
  11481. IWMReaderNetworkConfig * This,
  11482. /* [in] */ LPCWSTR pwszProtocol,
  11483. /* [out] */ BOOL *pfBypassForLocal);
  11484. void __RPC_STUB IWMReaderNetworkConfig_GetProxyBypassForLocal_Stub(
  11485. IRpcStubBuffer *This,
  11486. IRpcChannelBuffer *_pRpcChannelBuffer,
  11487. PRPC_MESSAGE _pRpcMessage,
  11488. DWORD *_pdwStubPhase);
  11489. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyBypassForLocal_Proxy(
  11490. IWMReaderNetworkConfig * This,
  11491. /* [in] */ LPCWSTR pwszProtocol,
  11492. /* [in] */ BOOL fBypassForLocal);
  11493. void __RPC_STUB IWMReaderNetworkConfig_SetProxyBypassForLocal_Stub(
  11494. IRpcStubBuffer *This,
  11495. IRpcChannelBuffer *_pRpcChannelBuffer,
  11496. PRPC_MESSAGE _pRpcMessage,
  11497. DWORD *_pdwStubPhase);
  11498. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection_Proxy(
  11499. IWMReaderNetworkConfig * This,
  11500. /* [out] */ BOOL *pfForceRerunDetection);
  11501. void __RPC_STUB IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection_Stub(
  11502. IRpcStubBuffer *This,
  11503. IRpcChannelBuffer *_pRpcChannelBuffer,
  11504. PRPC_MESSAGE _pRpcMessage,
  11505. DWORD *_pdwStubPhase);
  11506. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection_Proxy(
  11507. IWMReaderNetworkConfig * This,
  11508. /* [in] */ BOOL fForceRerunDetection);
  11509. void __RPC_STUB IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection_Stub(
  11510. IRpcStubBuffer *This,
  11511. IRpcChannelBuffer *_pRpcChannelBuffer,
  11512. PRPC_MESSAGE _pRpcMessage,
  11513. DWORD *_pdwStubPhase);
  11514. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableMulticast_Proxy(
  11515. IWMReaderNetworkConfig * This,
  11516. /* [out] */ BOOL *pfEnableMulticast);
  11517. void __RPC_STUB IWMReaderNetworkConfig_GetEnableMulticast_Stub(
  11518. IRpcStubBuffer *This,
  11519. IRpcChannelBuffer *_pRpcChannelBuffer,
  11520. PRPC_MESSAGE _pRpcMessage,
  11521. DWORD *_pdwStubPhase);
  11522. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableMulticast_Proxy(
  11523. IWMReaderNetworkConfig * This,
  11524. /* [in] */ BOOL fEnableMulticast);
  11525. void __RPC_STUB IWMReaderNetworkConfig_SetEnableMulticast_Stub(
  11526. IRpcStubBuffer *This,
  11527. IRpcChannelBuffer *_pRpcChannelBuffer,
  11528. PRPC_MESSAGE _pRpcMessage,
  11529. DWORD *_pdwStubPhase);
  11530. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableHTTP_Proxy(
  11531. IWMReaderNetworkConfig * This,
  11532. /* [out] */ BOOL *pfEnableHTTP);
  11533. void __RPC_STUB IWMReaderNetworkConfig_GetEnableHTTP_Stub(
  11534. IRpcStubBuffer *This,
  11535. IRpcChannelBuffer *_pRpcChannelBuffer,
  11536. PRPC_MESSAGE _pRpcMessage,
  11537. DWORD *_pdwStubPhase);
  11538. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableHTTP_Proxy(
  11539. IWMReaderNetworkConfig * This,
  11540. /* [in] */ BOOL fEnableHTTP);
  11541. void __RPC_STUB IWMReaderNetworkConfig_SetEnableHTTP_Stub(
  11542. IRpcStubBuffer *This,
  11543. IRpcChannelBuffer *_pRpcChannelBuffer,
  11544. PRPC_MESSAGE _pRpcMessage,
  11545. DWORD *_pdwStubPhase);
  11546. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableUDP_Proxy(
  11547. IWMReaderNetworkConfig * This,
  11548. /* [out] */ BOOL *pfEnableUDP);
  11549. void __RPC_STUB IWMReaderNetworkConfig_GetEnableUDP_Stub(
  11550. IRpcStubBuffer *This,
  11551. IRpcChannelBuffer *_pRpcChannelBuffer,
  11552. PRPC_MESSAGE _pRpcMessage,
  11553. DWORD *_pdwStubPhase);
  11554. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableUDP_Proxy(
  11555. IWMReaderNetworkConfig * This,
  11556. /* [in] */ BOOL fEnableUDP);
  11557. void __RPC_STUB IWMReaderNetworkConfig_SetEnableUDP_Stub(
  11558. IRpcStubBuffer *This,
  11559. IRpcChannelBuffer *_pRpcChannelBuffer,
  11560. PRPC_MESSAGE _pRpcMessage,
  11561. DWORD *_pdwStubPhase);
  11562. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableTCP_Proxy(
  11563. IWMReaderNetworkConfig * This,
  11564. /* [out] */ BOOL *pfEnableTCP);
  11565. void __RPC_STUB IWMReaderNetworkConfig_GetEnableTCP_Stub(
  11566. IRpcStubBuffer *This,
  11567. IRpcChannelBuffer *_pRpcChannelBuffer,
  11568. PRPC_MESSAGE _pRpcMessage,
  11569. DWORD *_pdwStubPhase);
  11570. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableTCP_Proxy(
  11571. IWMReaderNetworkConfig * This,
  11572. /* [in] */ BOOL fEnableTCP);
  11573. void __RPC_STUB IWMReaderNetworkConfig_SetEnableTCP_Stub(
  11574. IRpcStubBuffer *This,
  11575. IRpcChannelBuffer *_pRpcChannelBuffer,
  11576. PRPC_MESSAGE _pRpcMessage,
  11577. DWORD *_pdwStubPhase);
  11578. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_ResetProtocolRollover_Proxy(
  11579. IWMReaderNetworkConfig * This);
  11580. void __RPC_STUB IWMReaderNetworkConfig_ResetProtocolRollover_Stub(
  11581. IRpcStubBuffer *This,
  11582. IRpcChannelBuffer *_pRpcChannelBuffer,
  11583. PRPC_MESSAGE _pRpcMessage,
  11584. DWORD *_pdwStubPhase);
  11585. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetConnectionBandwidth_Proxy(
  11586. IWMReaderNetworkConfig * This,
  11587. /* [out] */ DWORD *pdwConnectionBandwidth);
  11588. void __RPC_STUB IWMReaderNetworkConfig_GetConnectionBandwidth_Stub(
  11589. IRpcStubBuffer *This,
  11590. IRpcChannelBuffer *_pRpcChannelBuffer,
  11591. PRPC_MESSAGE _pRpcMessage,
  11592. DWORD *_pdwStubPhase);
  11593. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetConnectionBandwidth_Proxy(
  11594. IWMReaderNetworkConfig * This,
  11595. /* [in] */ DWORD dwConnectionBandwidth);
  11596. void __RPC_STUB IWMReaderNetworkConfig_SetConnectionBandwidth_Stub(
  11597. IRpcStubBuffer *This,
  11598. IRpcChannelBuffer *_pRpcChannelBuffer,
  11599. PRPC_MESSAGE _pRpcMessage,
  11600. DWORD *_pdwStubPhase);
  11601. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetNumProtocolsSupported_Proxy(
  11602. IWMReaderNetworkConfig * This,
  11603. /* [out] */ DWORD *pcProtocols);
  11604. void __RPC_STUB IWMReaderNetworkConfig_GetNumProtocolsSupported_Stub(
  11605. IRpcStubBuffer *This,
  11606. IRpcChannelBuffer *_pRpcChannelBuffer,
  11607. PRPC_MESSAGE _pRpcMessage,
  11608. DWORD *_pdwStubPhase);
  11609. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetSupportedProtocolName_Proxy(
  11610. IWMReaderNetworkConfig * This,
  11611. /* [in] */ DWORD dwProtocolNum,
  11612. /* [size_is][out] */ WCHAR *pwszProtocolName,
  11613. /* [out][in] */ DWORD *pcchProtocolName);
  11614. void __RPC_STUB IWMReaderNetworkConfig_GetSupportedProtocolName_Stub(
  11615. IRpcStubBuffer *This,
  11616. IRpcChannelBuffer *_pRpcChannelBuffer,
  11617. PRPC_MESSAGE _pRpcMessage,
  11618. DWORD *_pdwStubPhase);
  11619. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_AddLoggingUrl_Proxy(
  11620. IWMReaderNetworkConfig * This,
  11621. /* [in] */ LPCWSTR pwszUrl);
  11622. void __RPC_STUB IWMReaderNetworkConfig_AddLoggingUrl_Stub(
  11623. IRpcStubBuffer *This,
  11624. IRpcChannelBuffer *_pRpcChannelBuffer,
  11625. PRPC_MESSAGE _pRpcMessage,
  11626. DWORD *_pdwStubPhase);
  11627. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetLoggingUrl_Proxy(
  11628. IWMReaderNetworkConfig * This,
  11629. /* [in] */ DWORD dwIndex,
  11630. /* [size_is][out] */ LPWSTR pwszUrl,
  11631. /* [out][in] */ DWORD *pcchUrl);
  11632. void __RPC_STUB IWMReaderNetworkConfig_GetLoggingUrl_Stub(
  11633. IRpcStubBuffer *This,
  11634. IRpcChannelBuffer *_pRpcChannelBuffer,
  11635. PRPC_MESSAGE _pRpcMessage,
  11636. DWORD *_pdwStubPhase);
  11637. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetLoggingUrlCount_Proxy(
  11638. IWMReaderNetworkConfig * This,
  11639. /* [out] */ DWORD *pdwUrlCount);
  11640. void __RPC_STUB IWMReaderNetworkConfig_GetLoggingUrlCount_Stub(
  11641. IRpcStubBuffer *This,
  11642. IRpcChannelBuffer *_pRpcChannelBuffer,
  11643. PRPC_MESSAGE _pRpcMessage,
  11644. DWORD *_pdwStubPhase);
  11645. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_ResetLoggingUrlList_Proxy(
  11646. IWMReaderNetworkConfig * This);
  11647. void __RPC_STUB IWMReaderNetworkConfig_ResetLoggingUrlList_Stub(
  11648. IRpcStubBuffer *This,
  11649. IRpcChannelBuffer *_pRpcChannelBuffer,
  11650. PRPC_MESSAGE _pRpcMessage,
  11651. DWORD *_pdwStubPhase);
  11652. #endif /* __IWMReaderNetworkConfig_INTERFACE_DEFINED__ */
  11653. #ifndef __IWMReaderNetworkConfig2_INTERFACE_DEFINED__
  11654. #define __IWMReaderNetworkConfig2_INTERFACE_DEFINED__
  11655. /* interface IWMReaderNetworkConfig2 */
  11656. /* [local][unique][helpstring][uuid][object] */
  11657. EXTERN_C const IID IID_IWMReaderNetworkConfig2;
  11658. #if defined(__cplusplus) && !defined(CINTERFACE)
  11659. MIDL_INTERFACE("d979a853-042b-4050-8387-c939db22013f")
  11660. IWMReaderNetworkConfig2 : public IWMReaderNetworkConfig
  11661. {
  11662. public:
  11663. virtual HRESULT STDMETHODCALLTYPE GetEnableContentCaching(
  11664. /* [out] */ BOOL *pfEnableContentCaching) = 0;
  11665. virtual HRESULT STDMETHODCALLTYPE SetEnableContentCaching(
  11666. /* [in] */ BOOL fEnableContentCaching) = 0;
  11667. virtual HRESULT STDMETHODCALLTYPE GetEnableFastCache(
  11668. /* [out] */ BOOL *pfEnableFastCache) = 0;
  11669. virtual HRESULT STDMETHODCALLTYPE SetEnableFastCache(
  11670. /* [in] */ BOOL fEnableFastCache) = 0;
  11671. virtual HRESULT STDMETHODCALLTYPE GetAcceleratedStreamingDuration(
  11672. /* [out] */ QWORD *pcnsAccelDuration) = 0;
  11673. virtual HRESULT STDMETHODCALLTYPE SetAcceleratedStreamingDuration(
  11674. /* [in] */ QWORD cnsAccelDuration) = 0;
  11675. virtual HRESULT STDMETHODCALLTYPE GetAutoReconnectLimit(
  11676. /* [out] */ DWORD *pdwAutoReconnectLimit) = 0;
  11677. virtual HRESULT STDMETHODCALLTYPE SetAutoReconnectLimit(
  11678. /* [in] */ DWORD dwAutoReconnectLimit) = 0;
  11679. virtual HRESULT STDMETHODCALLTYPE GetEnableResends(
  11680. /* [out] */ BOOL *pfEnableResends) = 0;
  11681. virtual HRESULT STDMETHODCALLTYPE SetEnableResends(
  11682. /* [in] */ BOOL fEnableResends) = 0;
  11683. virtual HRESULT STDMETHODCALLTYPE GetEnableThinning(
  11684. /* [out] */ BOOL *pfEnableThinning) = 0;
  11685. virtual HRESULT STDMETHODCALLTYPE SetEnableThinning(
  11686. /* [in] */ BOOL fEnableThinning) = 0;
  11687. virtual HRESULT STDMETHODCALLTYPE GetMaxNetPacketSize(
  11688. /* [out] */ DWORD *pdwMaxNetPacketSize) = 0;
  11689. };
  11690. #else /* C style interface */
  11691. typedef struct IWMReaderNetworkConfig2Vtbl
  11692. {
  11693. BEGIN_INTERFACE
  11694. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11695. IWMReaderNetworkConfig2 * This,
  11696. /* [in] */ REFIID riid,
  11697. /* [iid_is][out] */ void **ppvObject);
  11698. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11699. IWMReaderNetworkConfig2 * This);
  11700. ULONG ( STDMETHODCALLTYPE *Release )(
  11701. IWMReaderNetworkConfig2 * This);
  11702. HRESULT ( STDMETHODCALLTYPE *GetBufferingTime )(
  11703. IWMReaderNetworkConfig2 * This,
  11704. /* [out] */ QWORD *pcnsBufferingTime);
  11705. HRESULT ( STDMETHODCALLTYPE *SetBufferingTime )(
  11706. IWMReaderNetworkConfig2 * This,
  11707. /* [in] */ QWORD cnsBufferingTime);
  11708. HRESULT ( STDMETHODCALLTYPE *GetUDPPortRanges )(
  11709. IWMReaderNetworkConfig2 * This,
  11710. /* [size_is][out] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  11711. /* [out][in] */ DWORD *pcRanges);
  11712. HRESULT ( STDMETHODCALLTYPE *SetUDPPortRanges )(
  11713. IWMReaderNetworkConfig2 * This,
  11714. /* [size_is][in] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  11715. /* [in] */ DWORD cRanges);
  11716. HRESULT ( STDMETHODCALLTYPE *GetProxySettings )(
  11717. IWMReaderNetworkConfig2 * This,
  11718. /* [in] */ LPCWSTR pwszProtocol,
  11719. /* [out] */ WMT_PROXY_SETTINGS *pProxySetting);
  11720. HRESULT ( STDMETHODCALLTYPE *SetProxySettings )(
  11721. IWMReaderNetworkConfig2 * This,
  11722. /* [in] */ LPCWSTR pwszProtocol,
  11723. /* [in] */ WMT_PROXY_SETTINGS ProxySetting);
  11724. HRESULT ( STDMETHODCALLTYPE *GetProxyHostName )(
  11725. IWMReaderNetworkConfig2 * This,
  11726. /* [in] */ LPCWSTR pwszProtocol,
  11727. /* [size_is][out] */ WCHAR *pwszHostName,
  11728. /* [out][in] */ DWORD *pcchHostName);
  11729. HRESULT ( STDMETHODCALLTYPE *SetProxyHostName )(
  11730. IWMReaderNetworkConfig2 * This,
  11731. /* [in] */ LPCWSTR pwszProtocol,
  11732. /* [in] */ LPCWSTR pwszHostName);
  11733. HRESULT ( STDMETHODCALLTYPE *GetProxyPort )(
  11734. IWMReaderNetworkConfig2 * This,
  11735. /* [in] */ LPCWSTR pwszProtocol,
  11736. /* [out] */ DWORD *pdwPort);
  11737. HRESULT ( STDMETHODCALLTYPE *SetProxyPort )(
  11738. IWMReaderNetworkConfig2 * This,
  11739. /* [in] */ LPCWSTR pwszProtocol,
  11740. /* [in] */ DWORD dwPort);
  11741. HRESULT ( STDMETHODCALLTYPE *GetProxyExceptionList )(
  11742. IWMReaderNetworkConfig2 * This,
  11743. /* [in] */ LPCWSTR pwszProtocol,
  11744. /* [size_is][out] */ WCHAR *pwszExceptionList,
  11745. /* [out][in] */ DWORD *pcchExceptionList);
  11746. HRESULT ( STDMETHODCALLTYPE *SetProxyExceptionList )(
  11747. IWMReaderNetworkConfig2 * This,
  11748. /* [in] */ LPCWSTR pwszProtocol,
  11749. /* [in] */ LPCWSTR pwszExceptionList);
  11750. HRESULT ( STDMETHODCALLTYPE *GetProxyBypassForLocal )(
  11751. IWMReaderNetworkConfig2 * This,
  11752. /* [in] */ LPCWSTR pwszProtocol,
  11753. /* [out] */ BOOL *pfBypassForLocal);
  11754. HRESULT ( STDMETHODCALLTYPE *SetProxyBypassForLocal )(
  11755. IWMReaderNetworkConfig2 * This,
  11756. /* [in] */ LPCWSTR pwszProtocol,
  11757. /* [in] */ BOOL fBypassForLocal);
  11758. HRESULT ( STDMETHODCALLTYPE *GetForceRerunAutoProxyDetection )(
  11759. IWMReaderNetworkConfig2 * This,
  11760. /* [out] */ BOOL *pfForceRerunDetection);
  11761. HRESULT ( STDMETHODCALLTYPE *SetForceRerunAutoProxyDetection )(
  11762. IWMReaderNetworkConfig2 * This,
  11763. /* [in] */ BOOL fForceRerunDetection);
  11764. HRESULT ( STDMETHODCALLTYPE *GetEnableMulticast )(
  11765. IWMReaderNetworkConfig2 * This,
  11766. /* [out] */ BOOL *pfEnableMulticast);
  11767. HRESULT ( STDMETHODCALLTYPE *SetEnableMulticast )(
  11768. IWMReaderNetworkConfig2 * This,
  11769. /* [in] */ BOOL fEnableMulticast);
  11770. HRESULT ( STDMETHODCALLTYPE *GetEnableHTTP )(
  11771. IWMReaderNetworkConfig2 * This,
  11772. /* [out] */ BOOL *pfEnableHTTP);
  11773. HRESULT ( STDMETHODCALLTYPE *SetEnableHTTP )(
  11774. IWMReaderNetworkConfig2 * This,
  11775. /* [in] */ BOOL fEnableHTTP);
  11776. HRESULT ( STDMETHODCALLTYPE *GetEnableUDP )(
  11777. IWMReaderNetworkConfig2 * This,
  11778. /* [out] */ BOOL *pfEnableUDP);
  11779. HRESULT ( STDMETHODCALLTYPE *SetEnableUDP )(
  11780. IWMReaderNetworkConfig2 * This,
  11781. /* [in] */ BOOL fEnableUDP);
  11782. HRESULT ( STDMETHODCALLTYPE *GetEnableTCP )(
  11783. IWMReaderNetworkConfig2 * This,
  11784. /* [out] */ BOOL *pfEnableTCP);
  11785. HRESULT ( STDMETHODCALLTYPE *SetEnableTCP )(
  11786. IWMReaderNetworkConfig2 * This,
  11787. /* [in] */ BOOL fEnableTCP);
  11788. HRESULT ( STDMETHODCALLTYPE *ResetProtocolRollover )(
  11789. IWMReaderNetworkConfig2 * This);
  11790. HRESULT ( STDMETHODCALLTYPE *GetConnectionBandwidth )(
  11791. IWMReaderNetworkConfig2 * This,
  11792. /* [out] */ DWORD *pdwConnectionBandwidth);
  11793. HRESULT ( STDMETHODCALLTYPE *SetConnectionBandwidth )(
  11794. IWMReaderNetworkConfig2 * This,
  11795. /* [in] */ DWORD dwConnectionBandwidth);
  11796. HRESULT ( STDMETHODCALLTYPE *GetNumProtocolsSupported )(
  11797. IWMReaderNetworkConfig2 * This,
  11798. /* [out] */ DWORD *pcProtocols);
  11799. HRESULT ( STDMETHODCALLTYPE *GetSupportedProtocolName )(
  11800. IWMReaderNetworkConfig2 * This,
  11801. /* [in] */ DWORD dwProtocolNum,
  11802. /* [size_is][out] */ WCHAR *pwszProtocolName,
  11803. /* [out][in] */ DWORD *pcchProtocolName);
  11804. HRESULT ( STDMETHODCALLTYPE *AddLoggingUrl )(
  11805. IWMReaderNetworkConfig2 * This,
  11806. /* [in] */ LPCWSTR pwszUrl);
  11807. HRESULT ( STDMETHODCALLTYPE *GetLoggingUrl )(
  11808. IWMReaderNetworkConfig2 * This,
  11809. /* [in] */ DWORD dwIndex,
  11810. /* [size_is][out] */ LPWSTR pwszUrl,
  11811. /* [out][in] */ DWORD *pcchUrl);
  11812. HRESULT ( STDMETHODCALLTYPE *GetLoggingUrlCount )(
  11813. IWMReaderNetworkConfig2 * This,
  11814. /* [out] */ DWORD *pdwUrlCount);
  11815. HRESULT ( STDMETHODCALLTYPE *ResetLoggingUrlList )(
  11816. IWMReaderNetworkConfig2 * This);
  11817. HRESULT ( STDMETHODCALLTYPE *GetEnableContentCaching )(
  11818. IWMReaderNetworkConfig2 * This,
  11819. /* [out] */ BOOL *pfEnableContentCaching);
  11820. HRESULT ( STDMETHODCALLTYPE *SetEnableContentCaching )(
  11821. IWMReaderNetworkConfig2 * This,
  11822. /* [in] */ BOOL fEnableContentCaching);
  11823. HRESULT ( STDMETHODCALLTYPE *GetEnableFastCache )(
  11824. IWMReaderNetworkConfig2 * This,
  11825. /* [out] */ BOOL *pfEnableFastCache);
  11826. HRESULT ( STDMETHODCALLTYPE *SetEnableFastCache )(
  11827. IWMReaderNetworkConfig2 * This,
  11828. /* [in] */ BOOL fEnableFastCache);
  11829. HRESULT ( STDMETHODCALLTYPE *GetAcceleratedStreamingDuration )(
  11830. IWMReaderNetworkConfig2 * This,
  11831. /* [out] */ QWORD *pcnsAccelDuration);
  11832. HRESULT ( STDMETHODCALLTYPE *SetAcceleratedStreamingDuration )(
  11833. IWMReaderNetworkConfig2 * This,
  11834. /* [in] */ QWORD cnsAccelDuration);
  11835. HRESULT ( STDMETHODCALLTYPE *GetAutoReconnectLimit )(
  11836. IWMReaderNetworkConfig2 * This,
  11837. /* [out] */ DWORD *pdwAutoReconnectLimit);
  11838. HRESULT ( STDMETHODCALLTYPE *SetAutoReconnectLimit )(
  11839. IWMReaderNetworkConfig2 * This,
  11840. /* [in] */ DWORD dwAutoReconnectLimit);
  11841. HRESULT ( STDMETHODCALLTYPE *GetEnableResends )(
  11842. IWMReaderNetworkConfig2 * This,
  11843. /* [out] */ BOOL *pfEnableResends);
  11844. HRESULT ( STDMETHODCALLTYPE *SetEnableResends )(
  11845. IWMReaderNetworkConfig2 * This,
  11846. /* [in] */ BOOL fEnableResends);
  11847. HRESULT ( STDMETHODCALLTYPE *GetEnableThinning )(
  11848. IWMReaderNetworkConfig2 * This,
  11849. /* [out] */ BOOL *pfEnableThinning);
  11850. HRESULT ( STDMETHODCALLTYPE *SetEnableThinning )(
  11851. IWMReaderNetworkConfig2 * This,
  11852. /* [in] */ BOOL fEnableThinning);
  11853. HRESULT ( STDMETHODCALLTYPE *GetMaxNetPacketSize )(
  11854. IWMReaderNetworkConfig2 * This,
  11855. /* [out] */ DWORD *pdwMaxNetPacketSize);
  11856. END_INTERFACE
  11857. } IWMReaderNetworkConfig2Vtbl;
  11858. interface IWMReaderNetworkConfig2
  11859. {
  11860. CONST_VTBL struct IWMReaderNetworkConfig2Vtbl *lpVtbl;
  11861. };
  11862. #ifdef COBJMACROS
  11863. #define IWMReaderNetworkConfig2_QueryInterface(This,riid,ppvObject) \
  11864. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11865. #define IWMReaderNetworkConfig2_AddRef(This) \
  11866. (This)->lpVtbl -> AddRef(This)
  11867. #define IWMReaderNetworkConfig2_Release(This) \
  11868. (This)->lpVtbl -> Release(This)
  11869. #define IWMReaderNetworkConfig2_GetBufferingTime(This,pcnsBufferingTime) \
  11870. (This)->lpVtbl -> GetBufferingTime(This,pcnsBufferingTime)
  11871. #define IWMReaderNetworkConfig2_SetBufferingTime(This,cnsBufferingTime) \
  11872. (This)->lpVtbl -> SetBufferingTime(This,cnsBufferingTime)
  11873. #define IWMReaderNetworkConfig2_GetUDPPortRanges(This,pRangeArray,pcRanges) \
  11874. (This)->lpVtbl -> GetUDPPortRanges(This,pRangeArray,pcRanges)
  11875. #define IWMReaderNetworkConfig2_SetUDPPortRanges(This,pRangeArray,cRanges) \
  11876. (This)->lpVtbl -> SetUDPPortRanges(This,pRangeArray,cRanges)
  11877. #define IWMReaderNetworkConfig2_GetProxySettings(This,pwszProtocol,pProxySetting) \
  11878. (This)->lpVtbl -> GetProxySettings(This,pwszProtocol,pProxySetting)
  11879. #define IWMReaderNetworkConfig2_SetProxySettings(This,pwszProtocol,ProxySetting) \
  11880. (This)->lpVtbl -> SetProxySettings(This,pwszProtocol,ProxySetting)
  11881. #define IWMReaderNetworkConfig2_GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName) \
  11882. (This)->lpVtbl -> GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName)
  11883. #define IWMReaderNetworkConfig2_SetProxyHostName(This,pwszProtocol,pwszHostName) \
  11884. (This)->lpVtbl -> SetProxyHostName(This,pwszProtocol,pwszHostName)
  11885. #define IWMReaderNetworkConfig2_GetProxyPort(This,pwszProtocol,pdwPort) \
  11886. (This)->lpVtbl -> GetProxyPort(This,pwszProtocol,pdwPort)
  11887. #define IWMReaderNetworkConfig2_SetProxyPort(This,pwszProtocol,dwPort) \
  11888. (This)->lpVtbl -> SetProxyPort(This,pwszProtocol,dwPort)
  11889. #define IWMReaderNetworkConfig2_GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList) \
  11890. (This)->lpVtbl -> GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList)
  11891. #define IWMReaderNetworkConfig2_SetProxyExceptionList(This,pwszProtocol,pwszExceptionList) \
  11892. (This)->lpVtbl -> SetProxyExceptionList(This,pwszProtocol,pwszExceptionList)
  11893. #define IWMReaderNetworkConfig2_GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal) \
  11894. (This)->lpVtbl -> GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal)
  11895. #define IWMReaderNetworkConfig2_SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal) \
  11896. (This)->lpVtbl -> SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal)
  11897. #define IWMReaderNetworkConfig2_GetForceRerunAutoProxyDetection(This,pfForceRerunDetection) \
  11898. (This)->lpVtbl -> GetForceRerunAutoProxyDetection(This,pfForceRerunDetection)
  11899. #define IWMReaderNetworkConfig2_SetForceRerunAutoProxyDetection(This,fForceRerunDetection) \
  11900. (This)->lpVtbl -> SetForceRerunAutoProxyDetection(This,fForceRerunDetection)
  11901. #define IWMReaderNetworkConfig2_GetEnableMulticast(This,pfEnableMulticast) \
  11902. (This)->lpVtbl -> GetEnableMulticast(This,pfEnableMulticast)
  11903. #define IWMReaderNetworkConfig2_SetEnableMulticast(This,fEnableMulticast) \
  11904. (This)->lpVtbl -> SetEnableMulticast(This,fEnableMulticast)
  11905. #define IWMReaderNetworkConfig2_GetEnableHTTP(This,pfEnableHTTP) \
  11906. (This)->lpVtbl -> GetEnableHTTP(This,pfEnableHTTP)
  11907. #define IWMReaderNetworkConfig2_SetEnableHTTP(This,fEnableHTTP) \
  11908. (This)->lpVtbl -> SetEnableHTTP(This,fEnableHTTP)
  11909. #define IWMReaderNetworkConfig2_GetEnableUDP(This,pfEnableUDP) \
  11910. (This)->lpVtbl -> GetEnableUDP(This,pfEnableUDP)
  11911. #define IWMReaderNetworkConfig2_SetEnableUDP(This,fEnableUDP) \
  11912. (This)->lpVtbl -> SetEnableUDP(This,fEnableUDP)
  11913. #define IWMReaderNetworkConfig2_GetEnableTCP(This,pfEnableTCP) \
  11914. (This)->lpVtbl -> GetEnableTCP(This,pfEnableTCP)
  11915. #define IWMReaderNetworkConfig2_SetEnableTCP(This,fEnableTCP) \
  11916. (This)->lpVtbl -> SetEnableTCP(This,fEnableTCP)
  11917. #define IWMReaderNetworkConfig2_ResetProtocolRollover(This) \
  11918. (This)->lpVtbl -> ResetProtocolRollover(This)
  11919. #define IWMReaderNetworkConfig2_GetConnectionBandwidth(This,pdwConnectionBandwidth) \
  11920. (This)->lpVtbl -> GetConnectionBandwidth(This,pdwConnectionBandwidth)
  11921. #define IWMReaderNetworkConfig2_SetConnectionBandwidth(This,dwConnectionBandwidth) \
  11922. (This)->lpVtbl -> SetConnectionBandwidth(This,dwConnectionBandwidth)
  11923. #define IWMReaderNetworkConfig2_GetNumProtocolsSupported(This,pcProtocols) \
  11924. (This)->lpVtbl -> GetNumProtocolsSupported(This,pcProtocols)
  11925. #define IWMReaderNetworkConfig2_GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName) \
  11926. (This)->lpVtbl -> GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName)
  11927. #define IWMReaderNetworkConfig2_AddLoggingUrl(This,pwszUrl) \
  11928. (This)->lpVtbl -> AddLoggingUrl(This,pwszUrl)
  11929. #define IWMReaderNetworkConfig2_GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl) \
  11930. (This)->lpVtbl -> GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl)
  11931. #define IWMReaderNetworkConfig2_GetLoggingUrlCount(This,pdwUrlCount) \
  11932. (This)->lpVtbl -> GetLoggingUrlCount(This,pdwUrlCount)
  11933. #define IWMReaderNetworkConfig2_ResetLoggingUrlList(This) \
  11934. (This)->lpVtbl -> ResetLoggingUrlList(This)
  11935. #define IWMReaderNetworkConfig2_GetEnableContentCaching(This,pfEnableContentCaching) \
  11936. (This)->lpVtbl -> GetEnableContentCaching(This,pfEnableContentCaching)
  11937. #define IWMReaderNetworkConfig2_SetEnableContentCaching(This,fEnableContentCaching) \
  11938. (This)->lpVtbl -> SetEnableContentCaching(This,fEnableContentCaching)
  11939. #define IWMReaderNetworkConfig2_GetEnableFastCache(This,pfEnableFastCache) \
  11940. (This)->lpVtbl -> GetEnableFastCache(This,pfEnableFastCache)
  11941. #define IWMReaderNetworkConfig2_SetEnableFastCache(This,fEnableFastCache) \
  11942. (This)->lpVtbl -> SetEnableFastCache(This,fEnableFastCache)
  11943. #define IWMReaderNetworkConfig2_GetAcceleratedStreamingDuration(This,pcnsAccelDuration) \
  11944. (This)->lpVtbl -> GetAcceleratedStreamingDuration(This,pcnsAccelDuration)
  11945. #define IWMReaderNetworkConfig2_SetAcceleratedStreamingDuration(This,cnsAccelDuration) \
  11946. (This)->lpVtbl -> SetAcceleratedStreamingDuration(This,cnsAccelDuration)
  11947. #define IWMReaderNetworkConfig2_GetAutoReconnectLimit(This,pdwAutoReconnectLimit) \
  11948. (This)->lpVtbl -> GetAutoReconnectLimit(This,pdwAutoReconnectLimit)
  11949. #define IWMReaderNetworkConfig2_SetAutoReconnectLimit(This,dwAutoReconnectLimit) \
  11950. (This)->lpVtbl -> SetAutoReconnectLimit(This,dwAutoReconnectLimit)
  11951. #define IWMReaderNetworkConfig2_GetEnableResends(This,pfEnableResends) \
  11952. (This)->lpVtbl -> GetEnableResends(This,pfEnableResends)
  11953. #define IWMReaderNetworkConfig2_SetEnableResends(This,fEnableResends) \
  11954. (This)->lpVtbl -> SetEnableResends(This,fEnableResends)
  11955. #define IWMReaderNetworkConfig2_GetEnableThinning(This,pfEnableThinning) \
  11956. (This)->lpVtbl -> GetEnableThinning(This,pfEnableThinning)
  11957. #define IWMReaderNetworkConfig2_SetEnableThinning(This,fEnableThinning) \
  11958. (This)->lpVtbl -> SetEnableThinning(This,fEnableThinning)
  11959. #define IWMReaderNetworkConfig2_GetMaxNetPacketSize(This,pdwMaxNetPacketSize) \
  11960. (This)->lpVtbl -> GetMaxNetPacketSize(This,pdwMaxNetPacketSize)
  11961. #endif /* COBJMACROS */
  11962. #endif /* C style interface */
  11963. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_GetEnableContentCaching_Proxy(
  11964. IWMReaderNetworkConfig2 * This,
  11965. /* [out] */ BOOL *pfEnableContentCaching);
  11966. void __RPC_STUB IWMReaderNetworkConfig2_GetEnableContentCaching_Stub(
  11967. IRpcStubBuffer *This,
  11968. IRpcChannelBuffer *_pRpcChannelBuffer,
  11969. PRPC_MESSAGE _pRpcMessage,
  11970. DWORD *_pdwStubPhase);
  11971. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_SetEnableContentCaching_Proxy(
  11972. IWMReaderNetworkConfig2 * This,
  11973. /* [in] */ BOOL fEnableContentCaching);
  11974. void __RPC_STUB IWMReaderNetworkConfig2_SetEnableContentCaching_Stub(
  11975. IRpcStubBuffer *This,
  11976. IRpcChannelBuffer *_pRpcChannelBuffer,
  11977. PRPC_MESSAGE _pRpcMessage,
  11978. DWORD *_pdwStubPhase);
  11979. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_GetEnableFastCache_Proxy(
  11980. IWMReaderNetworkConfig2 * This,
  11981. /* [out] */ BOOL *pfEnableFastCache);
  11982. void __RPC_STUB IWMReaderNetworkConfig2_GetEnableFastCache_Stub(
  11983. IRpcStubBuffer *This,
  11984. IRpcChannelBuffer *_pRpcChannelBuffer,
  11985. PRPC_MESSAGE _pRpcMessage,
  11986. DWORD *_pdwStubPhase);
  11987. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_SetEnableFastCache_Proxy(
  11988. IWMReaderNetworkConfig2 * This,
  11989. /* [in] */ BOOL fEnableFastCache);
  11990. void __RPC_STUB IWMReaderNetworkConfig2_SetEnableFastCache_Stub(
  11991. IRpcStubBuffer *This,
  11992. IRpcChannelBuffer *_pRpcChannelBuffer,
  11993. PRPC_MESSAGE _pRpcMessage,
  11994. DWORD *_pdwStubPhase);
  11995. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_GetAcceleratedStreamingDuration_Proxy(
  11996. IWMReaderNetworkConfig2 * This,
  11997. /* [out] */ QWORD *pcnsAccelDuration);
  11998. void __RPC_STUB IWMReaderNetworkConfig2_GetAcceleratedStreamingDuration_Stub(
  11999. IRpcStubBuffer *This,
  12000. IRpcChannelBuffer *_pRpcChannelBuffer,
  12001. PRPC_MESSAGE _pRpcMessage,
  12002. DWORD *_pdwStubPhase);
  12003. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_SetAcceleratedStreamingDuration_Proxy(
  12004. IWMReaderNetworkConfig2 * This,
  12005. /* [in] */ QWORD cnsAccelDuration);
  12006. void __RPC_STUB IWMReaderNetworkConfig2_SetAcceleratedStreamingDuration_Stub(
  12007. IRpcStubBuffer *This,
  12008. IRpcChannelBuffer *_pRpcChannelBuffer,
  12009. PRPC_MESSAGE _pRpcMessage,
  12010. DWORD *_pdwStubPhase);
  12011. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_GetAutoReconnectLimit_Proxy(
  12012. IWMReaderNetworkConfig2 * This,
  12013. /* [out] */ DWORD *pdwAutoReconnectLimit);
  12014. void __RPC_STUB IWMReaderNetworkConfig2_GetAutoReconnectLimit_Stub(
  12015. IRpcStubBuffer *This,
  12016. IRpcChannelBuffer *_pRpcChannelBuffer,
  12017. PRPC_MESSAGE _pRpcMessage,
  12018. DWORD *_pdwStubPhase);
  12019. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_SetAutoReconnectLimit_Proxy(
  12020. IWMReaderNetworkConfig2 * This,
  12021. /* [in] */ DWORD dwAutoReconnectLimit);
  12022. void __RPC_STUB IWMReaderNetworkConfig2_SetAutoReconnectLimit_Stub(
  12023. IRpcStubBuffer *This,
  12024. IRpcChannelBuffer *_pRpcChannelBuffer,
  12025. PRPC_MESSAGE _pRpcMessage,
  12026. DWORD *_pdwStubPhase);
  12027. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_GetEnableResends_Proxy(
  12028. IWMReaderNetworkConfig2 * This,
  12029. /* [out] */ BOOL *pfEnableResends);
  12030. void __RPC_STUB IWMReaderNetworkConfig2_GetEnableResends_Stub(
  12031. IRpcStubBuffer *This,
  12032. IRpcChannelBuffer *_pRpcChannelBuffer,
  12033. PRPC_MESSAGE _pRpcMessage,
  12034. DWORD *_pdwStubPhase);
  12035. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_SetEnableResends_Proxy(
  12036. IWMReaderNetworkConfig2 * This,
  12037. /* [in] */ BOOL fEnableResends);
  12038. void __RPC_STUB IWMReaderNetworkConfig2_SetEnableResends_Stub(
  12039. IRpcStubBuffer *This,
  12040. IRpcChannelBuffer *_pRpcChannelBuffer,
  12041. PRPC_MESSAGE _pRpcMessage,
  12042. DWORD *_pdwStubPhase);
  12043. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_GetEnableThinning_Proxy(
  12044. IWMReaderNetworkConfig2 * This,
  12045. /* [out] */ BOOL *pfEnableThinning);
  12046. void __RPC_STUB IWMReaderNetworkConfig2_GetEnableThinning_Stub(
  12047. IRpcStubBuffer *This,
  12048. IRpcChannelBuffer *_pRpcChannelBuffer,
  12049. PRPC_MESSAGE _pRpcMessage,
  12050. DWORD *_pdwStubPhase);
  12051. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_SetEnableThinning_Proxy(
  12052. IWMReaderNetworkConfig2 * This,
  12053. /* [in] */ BOOL fEnableThinning);
  12054. void __RPC_STUB IWMReaderNetworkConfig2_SetEnableThinning_Stub(
  12055. IRpcStubBuffer *This,
  12056. IRpcChannelBuffer *_pRpcChannelBuffer,
  12057. PRPC_MESSAGE _pRpcMessage,
  12058. DWORD *_pdwStubPhase);
  12059. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig2_GetMaxNetPacketSize_Proxy(
  12060. IWMReaderNetworkConfig2 * This,
  12061. /* [out] */ DWORD *pdwMaxNetPacketSize);
  12062. void __RPC_STUB IWMReaderNetworkConfig2_GetMaxNetPacketSize_Stub(
  12063. IRpcStubBuffer *This,
  12064. IRpcChannelBuffer *_pRpcChannelBuffer,
  12065. PRPC_MESSAGE _pRpcMessage,
  12066. DWORD *_pdwStubPhase);
  12067. #endif /* __IWMReaderNetworkConfig2_INTERFACE_DEFINED__ */
  12068. #ifndef __IWMReaderStreamClock_INTERFACE_DEFINED__
  12069. #define __IWMReaderStreamClock_INTERFACE_DEFINED__
  12070. /* interface IWMReaderStreamClock */
  12071. /* [local][unique][helpstring][uuid][object] */
  12072. EXTERN_C const IID IID_IWMReaderStreamClock;
  12073. #if defined(__cplusplus) && !defined(CINTERFACE)
  12074. MIDL_INTERFACE("96406BED-2B2B-11d3-B36B-00C04F6108FF")
  12075. IWMReaderStreamClock : public IUnknown
  12076. {
  12077. public:
  12078. virtual HRESULT STDMETHODCALLTYPE GetTime(
  12079. /* [in] */ QWORD *pcnsNow) = 0;
  12080. virtual HRESULT STDMETHODCALLTYPE SetTimer(
  12081. /* [in] */ QWORD cnsWhen,
  12082. /* [in] */ void *pvParam,
  12083. /* [out] */ DWORD *pdwTimerId) = 0;
  12084. virtual HRESULT STDMETHODCALLTYPE KillTimer(
  12085. /* [in] */ DWORD dwTimerId) = 0;
  12086. };
  12087. #else /* C style interface */
  12088. typedef struct IWMReaderStreamClockVtbl
  12089. {
  12090. BEGIN_INTERFACE
  12091. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12092. IWMReaderStreamClock * This,
  12093. /* [in] */ REFIID riid,
  12094. /* [iid_is][out] */ void **ppvObject);
  12095. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12096. IWMReaderStreamClock * This);
  12097. ULONG ( STDMETHODCALLTYPE *Release )(
  12098. IWMReaderStreamClock * This);
  12099. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  12100. IWMReaderStreamClock * This,
  12101. /* [in] */ QWORD *pcnsNow);
  12102. HRESULT ( STDMETHODCALLTYPE *SetTimer )(
  12103. IWMReaderStreamClock * This,
  12104. /* [in] */ QWORD cnsWhen,
  12105. /* [in] */ void *pvParam,
  12106. /* [out] */ DWORD *pdwTimerId);
  12107. HRESULT ( STDMETHODCALLTYPE *KillTimer )(
  12108. IWMReaderStreamClock * This,
  12109. /* [in] */ DWORD dwTimerId);
  12110. END_INTERFACE
  12111. } IWMReaderStreamClockVtbl;
  12112. interface IWMReaderStreamClock
  12113. {
  12114. CONST_VTBL struct IWMReaderStreamClockVtbl *lpVtbl;
  12115. };
  12116. #ifdef COBJMACROS
  12117. #define IWMReaderStreamClock_QueryInterface(This,riid,ppvObject) \
  12118. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12119. #define IWMReaderStreamClock_AddRef(This) \
  12120. (This)->lpVtbl -> AddRef(This)
  12121. #define IWMReaderStreamClock_Release(This) \
  12122. (This)->lpVtbl -> Release(This)
  12123. #define IWMReaderStreamClock_GetTime(This,pcnsNow) \
  12124. (This)->lpVtbl -> GetTime(This,pcnsNow)
  12125. #define IWMReaderStreamClock_SetTimer(This,cnsWhen,pvParam,pdwTimerId) \
  12126. (This)->lpVtbl -> SetTimer(This,cnsWhen,pvParam,pdwTimerId)
  12127. #define IWMReaderStreamClock_KillTimer(This,dwTimerId) \
  12128. (This)->lpVtbl -> KillTimer(This,dwTimerId)
  12129. #endif /* COBJMACROS */
  12130. #endif /* C style interface */
  12131. HRESULT STDMETHODCALLTYPE IWMReaderStreamClock_GetTime_Proxy(
  12132. IWMReaderStreamClock * This,
  12133. /* [in] */ QWORD *pcnsNow);
  12134. void __RPC_STUB IWMReaderStreamClock_GetTime_Stub(
  12135. IRpcStubBuffer *This,
  12136. IRpcChannelBuffer *_pRpcChannelBuffer,
  12137. PRPC_MESSAGE _pRpcMessage,
  12138. DWORD *_pdwStubPhase);
  12139. HRESULT STDMETHODCALLTYPE IWMReaderStreamClock_SetTimer_Proxy(
  12140. IWMReaderStreamClock * This,
  12141. /* [in] */ QWORD cnsWhen,
  12142. /* [in] */ void *pvParam,
  12143. /* [out] */ DWORD *pdwTimerId);
  12144. void __RPC_STUB IWMReaderStreamClock_SetTimer_Stub(
  12145. IRpcStubBuffer *This,
  12146. IRpcChannelBuffer *_pRpcChannelBuffer,
  12147. PRPC_MESSAGE _pRpcMessage,
  12148. DWORD *_pdwStubPhase);
  12149. HRESULT STDMETHODCALLTYPE IWMReaderStreamClock_KillTimer_Proxy(
  12150. IWMReaderStreamClock * This,
  12151. /* [in] */ DWORD dwTimerId);
  12152. void __RPC_STUB IWMReaderStreamClock_KillTimer_Stub(
  12153. IRpcStubBuffer *This,
  12154. IRpcChannelBuffer *_pRpcChannelBuffer,
  12155. PRPC_MESSAGE _pRpcMessage,
  12156. DWORD *_pdwStubPhase);
  12157. #endif /* __IWMReaderStreamClock_INTERFACE_DEFINED__ */
  12158. #ifndef __IWMIndexer_INTERFACE_DEFINED__
  12159. #define __IWMIndexer_INTERFACE_DEFINED__
  12160. /* interface IWMIndexer */
  12161. /* [local][unique][helpstring][uuid][object] */
  12162. EXTERN_C const IID IID_IWMIndexer;
  12163. #if defined(__cplusplus) && !defined(CINTERFACE)
  12164. MIDL_INTERFACE("6d7cdc71-9888-11d3-8edc-00c04f6109cf")
  12165. IWMIndexer : public IUnknown
  12166. {
  12167. public:
  12168. virtual HRESULT STDMETHODCALLTYPE StartIndexing(
  12169. /* [in] */ const WCHAR *pwszURL,
  12170. /* [in] */ IWMStatusCallback *pCallback,
  12171. /* [in] */ void *pvContext) = 0;
  12172. virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  12173. };
  12174. #else /* C style interface */
  12175. typedef struct IWMIndexerVtbl
  12176. {
  12177. BEGIN_INTERFACE
  12178. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12179. IWMIndexer * This,
  12180. /* [in] */ REFIID riid,
  12181. /* [iid_is][out] */ void **ppvObject);
  12182. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12183. IWMIndexer * This);
  12184. ULONG ( STDMETHODCALLTYPE *Release )(
  12185. IWMIndexer * This);
  12186. HRESULT ( STDMETHODCALLTYPE *StartIndexing )(
  12187. IWMIndexer * This,
  12188. /* [in] */ const WCHAR *pwszURL,
  12189. /* [in] */ IWMStatusCallback *pCallback,
  12190. /* [in] */ void *pvContext);
  12191. HRESULT ( STDMETHODCALLTYPE *Cancel )(
  12192. IWMIndexer * This);
  12193. END_INTERFACE
  12194. } IWMIndexerVtbl;
  12195. interface IWMIndexer
  12196. {
  12197. CONST_VTBL struct IWMIndexerVtbl *lpVtbl;
  12198. };
  12199. #ifdef COBJMACROS
  12200. #define IWMIndexer_QueryInterface(This,riid,ppvObject) \
  12201. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12202. #define IWMIndexer_AddRef(This) \
  12203. (This)->lpVtbl -> AddRef(This)
  12204. #define IWMIndexer_Release(This) \
  12205. (This)->lpVtbl -> Release(This)
  12206. #define IWMIndexer_StartIndexing(This,pwszURL,pCallback,pvContext) \
  12207. (This)->lpVtbl -> StartIndexing(This,pwszURL,pCallback,pvContext)
  12208. #define IWMIndexer_Cancel(This) \
  12209. (This)->lpVtbl -> Cancel(This)
  12210. #endif /* COBJMACROS */
  12211. #endif /* C style interface */
  12212. HRESULT STDMETHODCALLTYPE IWMIndexer_StartIndexing_Proxy(
  12213. IWMIndexer * This,
  12214. /* [in] */ const WCHAR *pwszURL,
  12215. /* [in] */ IWMStatusCallback *pCallback,
  12216. /* [in] */ void *pvContext);
  12217. void __RPC_STUB IWMIndexer_StartIndexing_Stub(
  12218. IRpcStubBuffer *This,
  12219. IRpcChannelBuffer *_pRpcChannelBuffer,
  12220. PRPC_MESSAGE _pRpcMessage,
  12221. DWORD *_pdwStubPhase);
  12222. HRESULT STDMETHODCALLTYPE IWMIndexer_Cancel_Proxy(
  12223. IWMIndexer * This);
  12224. void __RPC_STUB IWMIndexer_Cancel_Stub(
  12225. IRpcStubBuffer *This,
  12226. IRpcChannelBuffer *_pRpcChannelBuffer,
  12227. PRPC_MESSAGE _pRpcMessage,
  12228. DWORD *_pdwStubPhase);
  12229. #endif /* __IWMIndexer_INTERFACE_DEFINED__ */
  12230. #ifndef __IWMIndexer2_INTERFACE_DEFINED__
  12231. #define __IWMIndexer2_INTERFACE_DEFINED__
  12232. /* interface IWMIndexer2 */
  12233. /* [local][unique][helpstring][uuid][object] */
  12234. EXTERN_C const IID IID_IWMIndexer2;
  12235. #if defined(__cplusplus) && !defined(CINTERFACE)
  12236. MIDL_INTERFACE("B70F1E42-6255-4df0-A6B9-02B212D9E2BB")
  12237. IWMIndexer2 : public IWMIndexer
  12238. {
  12239. public:
  12240. virtual HRESULT STDMETHODCALLTYPE Configure(
  12241. /* [in] */ WORD wStreamNum,
  12242. /* [in] */ WMT_INDEXER_TYPE nIndexerType,
  12243. /* [in] */ void *pvInterval,
  12244. /* [in] */ void *pvIndexType) = 0;
  12245. };
  12246. #else /* C style interface */
  12247. typedef struct IWMIndexer2Vtbl
  12248. {
  12249. BEGIN_INTERFACE
  12250. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12251. IWMIndexer2 * This,
  12252. /* [in] */ REFIID riid,
  12253. /* [iid_is][out] */ void **ppvObject);
  12254. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12255. IWMIndexer2 * This);
  12256. ULONG ( STDMETHODCALLTYPE *Release )(
  12257. IWMIndexer2 * This);
  12258. HRESULT ( STDMETHODCALLTYPE *StartIndexing )(
  12259. IWMIndexer2 * This,
  12260. /* [in] */ const WCHAR *pwszURL,
  12261. /* [in] */ IWMStatusCallback *pCallback,
  12262. /* [in] */ void *pvContext);
  12263. HRESULT ( STDMETHODCALLTYPE *Cancel )(
  12264. IWMIndexer2 * This);
  12265. HRESULT ( STDMETHODCALLTYPE *Configure )(
  12266. IWMIndexer2 * This,
  12267. /* [in] */ WORD wStreamNum,
  12268. /* [in] */ WMT_INDEXER_TYPE nIndexerType,
  12269. /* [in] */ void *pvInterval,
  12270. /* [in] */ void *pvIndexType);
  12271. END_INTERFACE
  12272. } IWMIndexer2Vtbl;
  12273. interface IWMIndexer2
  12274. {
  12275. CONST_VTBL struct IWMIndexer2Vtbl *lpVtbl;
  12276. };
  12277. #ifdef COBJMACROS
  12278. #define IWMIndexer2_QueryInterface(This,riid,ppvObject) \
  12279. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12280. #define IWMIndexer2_AddRef(This) \
  12281. (This)->lpVtbl -> AddRef(This)
  12282. #define IWMIndexer2_Release(This) \
  12283. (This)->lpVtbl -> Release(This)
  12284. #define IWMIndexer2_StartIndexing(This,pwszURL,pCallback,pvContext) \
  12285. (This)->lpVtbl -> StartIndexing(This,pwszURL,pCallback,pvContext)
  12286. #define IWMIndexer2_Cancel(This) \
  12287. (This)->lpVtbl -> Cancel(This)
  12288. #define IWMIndexer2_Configure(This,wStreamNum,nIndexerType,pvInterval,pvIndexType) \
  12289. (This)->lpVtbl -> Configure(This,wStreamNum,nIndexerType,pvInterval,pvIndexType)
  12290. #endif /* COBJMACROS */
  12291. #endif /* C style interface */
  12292. HRESULT STDMETHODCALLTYPE IWMIndexer2_Configure_Proxy(
  12293. IWMIndexer2 * This,
  12294. /* [in] */ WORD wStreamNum,
  12295. /* [in] */ WMT_INDEXER_TYPE nIndexerType,
  12296. /* [in] */ void *pvInterval,
  12297. /* [in] */ void *pvIndexType);
  12298. void __RPC_STUB IWMIndexer2_Configure_Stub(
  12299. IRpcStubBuffer *This,
  12300. IRpcChannelBuffer *_pRpcChannelBuffer,
  12301. PRPC_MESSAGE _pRpcMessage,
  12302. DWORD *_pdwStubPhase);
  12303. #endif /* __IWMIndexer2_INTERFACE_DEFINED__ */
  12304. #ifndef __IWMLicenseBackup_INTERFACE_DEFINED__
  12305. #define __IWMLicenseBackup_INTERFACE_DEFINED__
  12306. /* interface IWMLicenseBackup */
  12307. /* [local][unique][helpstring][uuid][object] */
  12308. EXTERN_C const IID IID_IWMLicenseBackup;
  12309. #if defined(__cplusplus) && !defined(CINTERFACE)
  12310. MIDL_INTERFACE("05E5AC9F-3FB6-4508-BB43-A4067BA1EBE8")
  12311. IWMLicenseBackup : public IUnknown
  12312. {
  12313. public:
  12314. virtual HRESULT STDMETHODCALLTYPE BackupLicenses(
  12315. /* [in] */ DWORD dwFlags,
  12316. /* [in] */ IWMStatusCallback *pCallback) = 0;
  12317. virtual HRESULT STDMETHODCALLTYPE CancelLicenseBackup( void) = 0;
  12318. };
  12319. #else /* C style interface */
  12320. typedef struct IWMLicenseBackupVtbl
  12321. {
  12322. BEGIN_INTERFACE
  12323. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12324. IWMLicenseBackup * This,
  12325. /* [in] */ REFIID riid,
  12326. /* [iid_is][out] */ void **ppvObject);
  12327. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12328. IWMLicenseBackup * This);
  12329. ULONG ( STDMETHODCALLTYPE *Release )(
  12330. IWMLicenseBackup * This);
  12331. HRESULT ( STDMETHODCALLTYPE *BackupLicenses )(
  12332. IWMLicenseBackup * This,
  12333. /* [in] */ DWORD dwFlags,
  12334. /* [in] */ IWMStatusCallback *pCallback);
  12335. HRESULT ( STDMETHODCALLTYPE *CancelLicenseBackup )(
  12336. IWMLicenseBackup * This);
  12337. END_INTERFACE
  12338. } IWMLicenseBackupVtbl;
  12339. interface IWMLicenseBackup
  12340. {
  12341. CONST_VTBL struct IWMLicenseBackupVtbl *lpVtbl;
  12342. };
  12343. #ifdef COBJMACROS
  12344. #define IWMLicenseBackup_QueryInterface(This,riid,ppvObject) \
  12345. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12346. #define IWMLicenseBackup_AddRef(This) \
  12347. (This)->lpVtbl -> AddRef(This)
  12348. #define IWMLicenseBackup_Release(This) \
  12349. (This)->lpVtbl -> Release(This)
  12350. #define IWMLicenseBackup_BackupLicenses(This,dwFlags,pCallback) \
  12351. (This)->lpVtbl -> BackupLicenses(This,dwFlags,pCallback)
  12352. #define IWMLicenseBackup_CancelLicenseBackup(This) \
  12353. (This)->lpVtbl -> CancelLicenseBackup(This)
  12354. #endif /* COBJMACROS */
  12355. #endif /* C style interface */
  12356. HRESULT STDMETHODCALLTYPE IWMLicenseBackup_BackupLicenses_Proxy(
  12357. IWMLicenseBackup * This,
  12358. /* [in] */ DWORD dwFlags,
  12359. /* [in] */ IWMStatusCallback *pCallback);
  12360. void __RPC_STUB IWMLicenseBackup_BackupLicenses_Stub(
  12361. IRpcStubBuffer *This,
  12362. IRpcChannelBuffer *_pRpcChannelBuffer,
  12363. PRPC_MESSAGE _pRpcMessage,
  12364. DWORD *_pdwStubPhase);
  12365. HRESULT STDMETHODCALLTYPE IWMLicenseBackup_CancelLicenseBackup_Proxy(
  12366. IWMLicenseBackup * This);
  12367. void __RPC_STUB IWMLicenseBackup_CancelLicenseBackup_Stub(
  12368. IRpcStubBuffer *This,
  12369. IRpcChannelBuffer *_pRpcChannelBuffer,
  12370. PRPC_MESSAGE _pRpcMessage,
  12371. DWORD *_pdwStubPhase);
  12372. #endif /* __IWMLicenseBackup_INTERFACE_DEFINED__ */
  12373. #ifndef __IWMLicenseRestore_INTERFACE_DEFINED__
  12374. #define __IWMLicenseRestore_INTERFACE_DEFINED__
  12375. /* interface IWMLicenseRestore */
  12376. /* [local][unique][helpstring][uuid][object] */
  12377. EXTERN_C const IID IID_IWMLicenseRestore;
  12378. #if defined(__cplusplus) && !defined(CINTERFACE)
  12379. MIDL_INTERFACE("C70B6334-A22E-4efb-A245-15E65A004A13")
  12380. IWMLicenseRestore : public IUnknown
  12381. {
  12382. public:
  12383. virtual HRESULT STDMETHODCALLTYPE RestoreLicenses(
  12384. /* [in] */ DWORD dwFlags,
  12385. /* [in] */ IWMStatusCallback *pCallback) = 0;
  12386. virtual HRESULT STDMETHODCALLTYPE CancelLicenseRestore( void) = 0;
  12387. };
  12388. #else /* C style interface */
  12389. typedef struct IWMLicenseRestoreVtbl
  12390. {
  12391. BEGIN_INTERFACE
  12392. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12393. IWMLicenseRestore * This,
  12394. /* [in] */ REFIID riid,
  12395. /* [iid_is][out] */ void **ppvObject);
  12396. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12397. IWMLicenseRestore * This);
  12398. ULONG ( STDMETHODCALLTYPE *Release )(
  12399. IWMLicenseRestore * This);
  12400. HRESULT ( STDMETHODCALLTYPE *RestoreLicenses )(
  12401. IWMLicenseRestore * This,
  12402. /* [in] */ DWORD dwFlags,
  12403. /* [in] */ IWMStatusCallback *pCallback);
  12404. HRESULT ( STDMETHODCALLTYPE *CancelLicenseRestore )(
  12405. IWMLicenseRestore * This);
  12406. END_INTERFACE
  12407. } IWMLicenseRestoreVtbl;
  12408. interface IWMLicenseRestore
  12409. {
  12410. CONST_VTBL struct IWMLicenseRestoreVtbl *lpVtbl;
  12411. };
  12412. #ifdef COBJMACROS
  12413. #define IWMLicenseRestore_QueryInterface(This,riid,ppvObject) \
  12414. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12415. #define IWMLicenseRestore_AddRef(This) \
  12416. (This)->lpVtbl -> AddRef(This)
  12417. #define IWMLicenseRestore_Release(This) \
  12418. (This)->lpVtbl -> Release(This)
  12419. #define IWMLicenseRestore_RestoreLicenses(This,dwFlags,pCallback) \
  12420. (This)->lpVtbl -> RestoreLicenses(This,dwFlags,pCallback)
  12421. #define IWMLicenseRestore_CancelLicenseRestore(This) \
  12422. (This)->lpVtbl -> CancelLicenseRestore(This)
  12423. #endif /* COBJMACROS */
  12424. #endif /* C style interface */
  12425. HRESULT STDMETHODCALLTYPE IWMLicenseRestore_RestoreLicenses_Proxy(
  12426. IWMLicenseRestore * This,
  12427. /* [in] */ DWORD dwFlags,
  12428. /* [in] */ IWMStatusCallback *pCallback);
  12429. void __RPC_STUB IWMLicenseRestore_RestoreLicenses_Stub(
  12430. IRpcStubBuffer *This,
  12431. IRpcChannelBuffer *_pRpcChannelBuffer,
  12432. PRPC_MESSAGE _pRpcMessage,
  12433. DWORD *_pdwStubPhase);
  12434. HRESULT STDMETHODCALLTYPE IWMLicenseRestore_CancelLicenseRestore_Proxy(
  12435. IWMLicenseRestore * This);
  12436. void __RPC_STUB IWMLicenseRestore_CancelLicenseRestore_Stub(
  12437. IRpcStubBuffer *This,
  12438. IRpcChannelBuffer *_pRpcChannelBuffer,
  12439. PRPC_MESSAGE _pRpcMessage,
  12440. DWORD *_pdwStubPhase);
  12441. #endif /* __IWMLicenseRestore_INTERFACE_DEFINED__ */
  12442. #ifndef __IWMBackupRestoreProps_INTERFACE_DEFINED__
  12443. #define __IWMBackupRestoreProps_INTERFACE_DEFINED__
  12444. /* interface IWMBackupRestoreProps */
  12445. /* [local][unique][helpstring][uuid][object] */
  12446. EXTERN_C const IID IID_IWMBackupRestoreProps;
  12447. #if defined(__cplusplus) && !defined(CINTERFACE)
  12448. MIDL_INTERFACE("3C8E0DA6-996F-4ff3-A1AF-4838F9377E2E")
  12449. IWMBackupRestoreProps : public IUnknown
  12450. {
  12451. public:
  12452. virtual HRESULT STDMETHODCALLTYPE GetPropCount(
  12453. /* [out] */ WORD *pcProps) = 0;
  12454. virtual HRESULT STDMETHODCALLTYPE GetPropByIndex(
  12455. /* [in] */ WORD wIndex,
  12456. /* [size_is][out] */ WCHAR *pwszName,
  12457. /* [out][in] */ WORD *pcchNameLen,
  12458. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12459. /* [size_is][out] */ BYTE *pValue,
  12460. /* [out][in] */ WORD *pcbLength) = 0;
  12461. virtual HRESULT STDMETHODCALLTYPE GetPropByName(
  12462. /* [in] */ LPCWSTR pszName,
  12463. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12464. /* [size_is][out] */ BYTE *pValue,
  12465. /* [out][in] */ WORD *pcbLength) = 0;
  12466. virtual HRESULT STDMETHODCALLTYPE SetProp(
  12467. /* [in] */ LPCWSTR pszName,
  12468. /* [in] */ WMT_ATTR_DATATYPE Type,
  12469. /* [size_is][in] */ const BYTE *pValue,
  12470. /* [in] */ WORD cbLength) = 0;
  12471. virtual HRESULT STDMETHODCALLTYPE RemoveProp(
  12472. /* [in] */ LPCWSTR pcwszName) = 0;
  12473. virtual HRESULT STDMETHODCALLTYPE RemoveAllProps( void) = 0;
  12474. };
  12475. #else /* C style interface */
  12476. typedef struct IWMBackupRestorePropsVtbl
  12477. {
  12478. BEGIN_INTERFACE
  12479. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12480. IWMBackupRestoreProps * This,
  12481. /* [in] */ REFIID riid,
  12482. /* [iid_is][out] */ void **ppvObject);
  12483. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12484. IWMBackupRestoreProps * This);
  12485. ULONG ( STDMETHODCALLTYPE *Release )(
  12486. IWMBackupRestoreProps * This);
  12487. HRESULT ( STDMETHODCALLTYPE *GetPropCount )(
  12488. IWMBackupRestoreProps * This,
  12489. /* [out] */ WORD *pcProps);
  12490. HRESULT ( STDMETHODCALLTYPE *GetPropByIndex )(
  12491. IWMBackupRestoreProps * This,
  12492. /* [in] */ WORD wIndex,
  12493. /* [size_is][out] */ WCHAR *pwszName,
  12494. /* [out][in] */ WORD *pcchNameLen,
  12495. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12496. /* [size_is][out] */ BYTE *pValue,
  12497. /* [out][in] */ WORD *pcbLength);
  12498. HRESULT ( STDMETHODCALLTYPE *GetPropByName )(
  12499. IWMBackupRestoreProps * This,
  12500. /* [in] */ LPCWSTR pszName,
  12501. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12502. /* [size_is][out] */ BYTE *pValue,
  12503. /* [out][in] */ WORD *pcbLength);
  12504. HRESULT ( STDMETHODCALLTYPE *SetProp )(
  12505. IWMBackupRestoreProps * This,
  12506. /* [in] */ LPCWSTR pszName,
  12507. /* [in] */ WMT_ATTR_DATATYPE Type,
  12508. /* [size_is][in] */ const BYTE *pValue,
  12509. /* [in] */ WORD cbLength);
  12510. HRESULT ( STDMETHODCALLTYPE *RemoveProp )(
  12511. IWMBackupRestoreProps * This,
  12512. /* [in] */ LPCWSTR pcwszName);
  12513. HRESULT ( STDMETHODCALLTYPE *RemoveAllProps )(
  12514. IWMBackupRestoreProps * This);
  12515. END_INTERFACE
  12516. } IWMBackupRestorePropsVtbl;
  12517. interface IWMBackupRestoreProps
  12518. {
  12519. CONST_VTBL struct IWMBackupRestorePropsVtbl *lpVtbl;
  12520. };
  12521. #ifdef COBJMACROS
  12522. #define IWMBackupRestoreProps_QueryInterface(This,riid,ppvObject) \
  12523. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12524. #define IWMBackupRestoreProps_AddRef(This) \
  12525. (This)->lpVtbl -> AddRef(This)
  12526. #define IWMBackupRestoreProps_Release(This) \
  12527. (This)->lpVtbl -> Release(This)
  12528. #define IWMBackupRestoreProps_GetPropCount(This,pcProps) \
  12529. (This)->lpVtbl -> GetPropCount(This,pcProps)
  12530. #define IWMBackupRestoreProps_GetPropByIndex(This,wIndex,pwszName,pcchNameLen,pType,pValue,pcbLength) \
  12531. (This)->lpVtbl -> GetPropByIndex(This,wIndex,pwszName,pcchNameLen,pType,pValue,pcbLength)
  12532. #define IWMBackupRestoreProps_GetPropByName(This,pszName,pType,pValue,pcbLength) \
  12533. (This)->lpVtbl -> GetPropByName(This,pszName,pType,pValue,pcbLength)
  12534. #define IWMBackupRestoreProps_SetProp(This,pszName,Type,pValue,cbLength) \
  12535. (This)->lpVtbl -> SetProp(This,pszName,Type,pValue,cbLength)
  12536. #define IWMBackupRestoreProps_RemoveProp(This,pcwszName) \
  12537. (This)->lpVtbl -> RemoveProp(This,pcwszName)
  12538. #define IWMBackupRestoreProps_RemoveAllProps(This) \
  12539. (This)->lpVtbl -> RemoveAllProps(This)
  12540. #endif /* COBJMACROS */
  12541. #endif /* C style interface */
  12542. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_GetPropCount_Proxy(
  12543. IWMBackupRestoreProps * This,
  12544. /* [out] */ WORD *pcProps);
  12545. void __RPC_STUB IWMBackupRestoreProps_GetPropCount_Stub(
  12546. IRpcStubBuffer *This,
  12547. IRpcChannelBuffer *_pRpcChannelBuffer,
  12548. PRPC_MESSAGE _pRpcMessage,
  12549. DWORD *_pdwStubPhase);
  12550. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_GetPropByIndex_Proxy(
  12551. IWMBackupRestoreProps * This,
  12552. /* [in] */ WORD wIndex,
  12553. /* [size_is][out] */ WCHAR *pwszName,
  12554. /* [out][in] */ WORD *pcchNameLen,
  12555. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12556. /* [size_is][out] */ BYTE *pValue,
  12557. /* [out][in] */ WORD *pcbLength);
  12558. void __RPC_STUB IWMBackupRestoreProps_GetPropByIndex_Stub(
  12559. IRpcStubBuffer *This,
  12560. IRpcChannelBuffer *_pRpcChannelBuffer,
  12561. PRPC_MESSAGE _pRpcMessage,
  12562. DWORD *_pdwStubPhase);
  12563. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_GetPropByName_Proxy(
  12564. IWMBackupRestoreProps * This,
  12565. /* [in] */ LPCWSTR pszName,
  12566. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12567. /* [size_is][out] */ BYTE *pValue,
  12568. /* [out][in] */ WORD *pcbLength);
  12569. void __RPC_STUB IWMBackupRestoreProps_GetPropByName_Stub(
  12570. IRpcStubBuffer *This,
  12571. IRpcChannelBuffer *_pRpcChannelBuffer,
  12572. PRPC_MESSAGE _pRpcMessage,
  12573. DWORD *_pdwStubPhase);
  12574. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_SetProp_Proxy(
  12575. IWMBackupRestoreProps * This,
  12576. /* [in] */ LPCWSTR pszName,
  12577. /* [in] */ WMT_ATTR_DATATYPE Type,
  12578. /* [size_is][in] */ const BYTE *pValue,
  12579. /* [in] */ WORD cbLength);
  12580. void __RPC_STUB IWMBackupRestoreProps_SetProp_Stub(
  12581. IRpcStubBuffer *This,
  12582. IRpcChannelBuffer *_pRpcChannelBuffer,
  12583. PRPC_MESSAGE _pRpcMessage,
  12584. DWORD *_pdwStubPhase);
  12585. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_RemoveProp_Proxy(
  12586. IWMBackupRestoreProps * This,
  12587. /* [in] */ LPCWSTR pcwszName);
  12588. void __RPC_STUB IWMBackupRestoreProps_RemoveProp_Stub(
  12589. IRpcStubBuffer *This,
  12590. IRpcChannelBuffer *_pRpcChannelBuffer,
  12591. PRPC_MESSAGE _pRpcMessage,
  12592. DWORD *_pdwStubPhase);
  12593. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_RemoveAllProps_Proxy(
  12594. IWMBackupRestoreProps * This);
  12595. void __RPC_STUB IWMBackupRestoreProps_RemoveAllProps_Stub(
  12596. IRpcStubBuffer *This,
  12597. IRpcChannelBuffer *_pRpcChannelBuffer,
  12598. PRPC_MESSAGE _pRpcMessage,
  12599. DWORD *_pdwStubPhase);
  12600. #endif /* __IWMBackupRestoreProps_INTERFACE_DEFINED__ */
  12601. #ifndef __IWMCodecInfo_INTERFACE_DEFINED__
  12602. #define __IWMCodecInfo_INTERFACE_DEFINED__
  12603. /* interface IWMCodecInfo */
  12604. /* [local][unique][helpstring][uuid][object] */
  12605. EXTERN_C const IID IID_IWMCodecInfo;
  12606. #if defined(__cplusplus) && !defined(CINTERFACE)
  12607. MIDL_INTERFACE("A970F41E-34DE-4a98-B3BA-E4B3CA7528F0")
  12608. IWMCodecInfo : public IUnknown
  12609. {
  12610. public:
  12611. virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount(
  12612. /* [in] */ REFGUID guidType,
  12613. /* [out] */ DWORD *pcCodecs) = 0;
  12614. virtual HRESULT STDMETHODCALLTYPE GetCodecFormatCount(
  12615. /* [in] */ REFGUID guidType,
  12616. /* [in] */ DWORD dwCodecIndex,
  12617. /* [out] */ DWORD *pcFormat) = 0;
  12618. virtual HRESULT STDMETHODCALLTYPE GetCodecFormat(
  12619. /* [in] */ REFGUID guidType,
  12620. /* [in] */ DWORD dwCodecIndex,
  12621. /* [in] */ DWORD dwFormatIndex,
  12622. /* [out] */ IWMStreamConfig **ppIStreamConfig) = 0;
  12623. };
  12624. #else /* C style interface */
  12625. typedef struct IWMCodecInfoVtbl
  12626. {
  12627. BEGIN_INTERFACE
  12628. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12629. IWMCodecInfo * This,
  12630. /* [in] */ REFIID riid,
  12631. /* [iid_is][out] */ void **ppvObject);
  12632. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12633. IWMCodecInfo * This);
  12634. ULONG ( STDMETHODCALLTYPE *Release )(
  12635. IWMCodecInfo * This);
  12636. HRESULT ( STDMETHODCALLTYPE *GetCodecInfoCount )(
  12637. IWMCodecInfo * This,
  12638. /* [in] */ REFGUID guidType,
  12639. /* [out] */ DWORD *pcCodecs);
  12640. HRESULT ( STDMETHODCALLTYPE *GetCodecFormatCount )(
  12641. IWMCodecInfo * This,
  12642. /* [in] */ REFGUID guidType,
  12643. /* [in] */ DWORD dwCodecIndex,
  12644. /* [out] */ DWORD *pcFormat);
  12645. HRESULT ( STDMETHODCALLTYPE *GetCodecFormat )(
  12646. IWMCodecInfo * This,
  12647. /* [in] */ REFGUID guidType,
  12648. /* [in] */ DWORD dwCodecIndex,
  12649. /* [in] */ DWORD dwFormatIndex,
  12650. /* [out] */ IWMStreamConfig **ppIStreamConfig);
  12651. END_INTERFACE
  12652. } IWMCodecInfoVtbl;
  12653. interface IWMCodecInfo
  12654. {
  12655. CONST_VTBL struct IWMCodecInfoVtbl *lpVtbl;
  12656. };
  12657. #ifdef COBJMACROS
  12658. #define IWMCodecInfo_QueryInterface(This,riid,ppvObject) \
  12659. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12660. #define IWMCodecInfo_AddRef(This) \
  12661. (This)->lpVtbl -> AddRef(This)
  12662. #define IWMCodecInfo_Release(This) \
  12663. (This)->lpVtbl -> Release(This)
  12664. #define IWMCodecInfo_GetCodecInfoCount(This,guidType,pcCodecs) \
  12665. (This)->lpVtbl -> GetCodecInfoCount(This,guidType,pcCodecs)
  12666. #define IWMCodecInfo_GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) \
  12667. (This)->lpVtbl -> GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat)
  12668. #define IWMCodecInfo_GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) \
  12669. (This)->lpVtbl -> GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig)
  12670. #endif /* COBJMACROS */
  12671. #endif /* C style interface */
  12672. HRESULT STDMETHODCALLTYPE IWMCodecInfo_GetCodecInfoCount_Proxy(
  12673. IWMCodecInfo * This,
  12674. /* [in] */ REFGUID guidType,
  12675. /* [out] */ DWORD *pcCodecs);
  12676. void __RPC_STUB IWMCodecInfo_GetCodecInfoCount_Stub(
  12677. IRpcStubBuffer *This,
  12678. IRpcChannelBuffer *_pRpcChannelBuffer,
  12679. PRPC_MESSAGE _pRpcMessage,
  12680. DWORD *_pdwStubPhase);
  12681. HRESULT STDMETHODCALLTYPE IWMCodecInfo_GetCodecFormatCount_Proxy(
  12682. IWMCodecInfo * This,
  12683. /* [in] */ REFGUID guidType,
  12684. /* [in] */ DWORD dwCodecIndex,
  12685. /* [out] */ DWORD *pcFormat);
  12686. void __RPC_STUB IWMCodecInfo_GetCodecFormatCount_Stub(
  12687. IRpcStubBuffer *This,
  12688. IRpcChannelBuffer *_pRpcChannelBuffer,
  12689. PRPC_MESSAGE _pRpcMessage,
  12690. DWORD *_pdwStubPhase);
  12691. HRESULT STDMETHODCALLTYPE IWMCodecInfo_GetCodecFormat_Proxy(
  12692. IWMCodecInfo * This,
  12693. /* [in] */ REFGUID guidType,
  12694. /* [in] */ DWORD dwCodecIndex,
  12695. /* [in] */ DWORD dwFormatIndex,
  12696. /* [out] */ IWMStreamConfig **ppIStreamConfig);
  12697. void __RPC_STUB IWMCodecInfo_GetCodecFormat_Stub(
  12698. IRpcStubBuffer *This,
  12699. IRpcChannelBuffer *_pRpcChannelBuffer,
  12700. PRPC_MESSAGE _pRpcMessage,
  12701. DWORD *_pdwStubPhase);
  12702. #endif /* __IWMCodecInfo_INTERFACE_DEFINED__ */
  12703. #ifndef __IWMCodecInfo2_INTERFACE_DEFINED__
  12704. #define __IWMCodecInfo2_INTERFACE_DEFINED__
  12705. /* interface IWMCodecInfo2 */
  12706. /* [local][unique][helpstring][uuid][object] */
  12707. EXTERN_C const IID IID_IWMCodecInfo2;
  12708. #if defined(__cplusplus) && !defined(CINTERFACE)
  12709. MIDL_INTERFACE("AA65E273-B686-4056-91EC-DD768D4DF710")
  12710. IWMCodecInfo2 : public IWMCodecInfo
  12711. {
  12712. public:
  12713. virtual HRESULT STDMETHODCALLTYPE GetCodecName(
  12714. /* [in] */ REFGUID guidType,
  12715. /* [in] */ DWORD dwCodecIndex,
  12716. /* [size_is][out] */ WCHAR *wszName,
  12717. /* [out][in] */ DWORD *pcchName) = 0;
  12718. virtual HRESULT STDMETHODCALLTYPE GetCodecFormatDesc(
  12719. /* [in] */ REFGUID guidType,
  12720. /* [in] */ DWORD dwCodecIndex,
  12721. /* [in] */ DWORD dwFormatIndex,
  12722. /* [out] */ IWMStreamConfig **ppIStreamConfig,
  12723. /* [size_is][out] */ WCHAR *wszDesc,
  12724. /* [out][in] */ DWORD *pcchDesc) = 0;
  12725. };
  12726. #else /* C style interface */
  12727. typedef struct IWMCodecInfo2Vtbl
  12728. {
  12729. BEGIN_INTERFACE
  12730. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12731. IWMCodecInfo2 * This,
  12732. /* [in] */ REFIID riid,
  12733. /* [iid_is][out] */ void **ppvObject);
  12734. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12735. IWMCodecInfo2 * This);
  12736. ULONG ( STDMETHODCALLTYPE *Release )(
  12737. IWMCodecInfo2 * This);
  12738. HRESULT ( STDMETHODCALLTYPE *GetCodecInfoCount )(
  12739. IWMCodecInfo2 * This,
  12740. /* [in] */ REFGUID guidType,
  12741. /* [out] */ DWORD *pcCodecs);
  12742. HRESULT ( STDMETHODCALLTYPE *GetCodecFormatCount )(
  12743. IWMCodecInfo2 * This,
  12744. /* [in] */ REFGUID guidType,
  12745. /* [in] */ DWORD dwCodecIndex,
  12746. /* [out] */ DWORD *pcFormat);
  12747. HRESULT ( STDMETHODCALLTYPE *GetCodecFormat )(
  12748. IWMCodecInfo2 * This,
  12749. /* [in] */ REFGUID guidType,
  12750. /* [in] */ DWORD dwCodecIndex,
  12751. /* [in] */ DWORD dwFormatIndex,
  12752. /* [out] */ IWMStreamConfig **ppIStreamConfig);
  12753. HRESULT ( STDMETHODCALLTYPE *GetCodecName )(
  12754. IWMCodecInfo2 * This,
  12755. /* [in] */ REFGUID guidType,
  12756. /* [in] */ DWORD dwCodecIndex,
  12757. /* [size_is][out] */ WCHAR *wszName,
  12758. /* [out][in] */ DWORD *pcchName);
  12759. HRESULT ( STDMETHODCALLTYPE *GetCodecFormatDesc )(
  12760. IWMCodecInfo2 * This,
  12761. /* [in] */ REFGUID guidType,
  12762. /* [in] */ DWORD dwCodecIndex,
  12763. /* [in] */ DWORD dwFormatIndex,
  12764. /* [out] */ IWMStreamConfig **ppIStreamConfig,
  12765. /* [size_is][out] */ WCHAR *wszDesc,
  12766. /* [out][in] */ DWORD *pcchDesc);
  12767. END_INTERFACE
  12768. } IWMCodecInfo2Vtbl;
  12769. interface IWMCodecInfo2
  12770. {
  12771. CONST_VTBL struct IWMCodecInfo2Vtbl *lpVtbl;
  12772. };
  12773. #ifdef COBJMACROS
  12774. #define IWMCodecInfo2_QueryInterface(This,riid,ppvObject) \
  12775. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12776. #define IWMCodecInfo2_AddRef(This) \
  12777. (This)->lpVtbl -> AddRef(This)
  12778. #define IWMCodecInfo2_Release(This) \
  12779. (This)->lpVtbl -> Release(This)
  12780. #define IWMCodecInfo2_GetCodecInfoCount(This,guidType,pcCodecs) \
  12781. (This)->lpVtbl -> GetCodecInfoCount(This,guidType,pcCodecs)
  12782. #define IWMCodecInfo2_GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) \
  12783. (This)->lpVtbl -> GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat)
  12784. #define IWMCodecInfo2_GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) \
  12785. (This)->lpVtbl -> GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig)
  12786. #define IWMCodecInfo2_GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName) \
  12787. (This)->lpVtbl -> GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName)
  12788. #define IWMCodecInfo2_GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc) \
  12789. (This)->lpVtbl -> GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc)
  12790. #endif /* COBJMACROS */
  12791. #endif /* C style interface */
  12792. HRESULT STDMETHODCALLTYPE IWMCodecInfo2_GetCodecName_Proxy(
  12793. IWMCodecInfo2 * This,
  12794. /* [in] */ REFGUID guidType,
  12795. /* [in] */ DWORD dwCodecIndex,
  12796. /* [size_is][out] */ WCHAR *wszName,
  12797. /* [out][in] */ DWORD *pcchName);
  12798. void __RPC_STUB IWMCodecInfo2_GetCodecName_Stub(
  12799. IRpcStubBuffer *This,
  12800. IRpcChannelBuffer *_pRpcChannelBuffer,
  12801. PRPC_MESSAGE _pRpcMessage,
  12802. DWORD *_pdwStubPhase);
  12803. HRESULT STDMETHODCALLTYPE IWMCodecInfo2_GetCodecFormatDesc_Proxy(
  12804. IWMCodecInfo2 * This,
  12805. /* [in] */ REFGUID guidType,
  12806. /* [in] */ DWORD dwCodecIndex,
  12807. /* [in] */ DWORD dwFormatIndex,
  12808. /* [out] */ IWMStreamConfig **ppIStreamConfig,
  12809. /* [size_is][out] */ WCHAR *wszDesc,
  12810. /* [out][in] */ DWORD *pcchDesc);
  12811. void __RPC_STUB IWMCodecInfo2_GetCodecFormatDesc_Stub(
  12812. IRpcStubBuffer *This,
  12813. IRpcChannelBuffer *_pRpcChannelBuffer,
  12814. PRPC_MESSAGE _pRpcMessage,
  12815. DWORD *_pdwStubPhase);
  12816. #endif /* __IWMCodecInfo2_INTERFACE_DEFINED__ */
  12817. #ifndef __IWMCodecInfo3_INTERFACE_DEFINED__
  12818. #define __IWMCodecInfo3_INTERFACE_DEFINED__
  12819. /* interface IWMCodecInfo3 */
  12820. /* [local][unique][helpstring][uuid][object] */
  12821. EXTERN_C const IID IID_IWMCodecInfo3;
  12822. #if defined(__cplusplus) && !defined(CINTERFACE)
  12823. MIDL_INTERFACE("7e51f487-4d93-4f98-8ab4-27d0565adc51")
  12824. IWMCodecInfo3 : public IWMCodecInfo2
  12825. {
  12826. public:
  12827. virtual HRESULT STDMETHODCALLTYPE GetCodecFormatProp(
  12828. /* [in] */ REFGUID guidType,
  12829. /* [in] */ DWORD dwCodecIndex,
  12830. /* [in] */ DWORD dwFormatIndex,
  12831. /* [in] */ LPCWSTR pszName,
  12832. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12833. /* [size_is][out] */ BYTE *pValue,
  12834. /* [out][in] */ DWORD *pdwSize) = 0;
  12835. virtual HRESULT STDMETHODCALLTYPE GetCodecProp(
  12836. /* [in] */ REFGUID guidType,
  12837. /* [in] */ DWORD dwCodecIndex,
  12838. /* [in] */ LPCWSTR pszName,
  12839. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12840. /* [size_is][out] */ BYTE *pValue,
  12841. /* [out][in] */ DWORD *pdwSize) = 0;
  12842. virtual HRESULT STDMETHODCALLTYPE SetCodecEnumerationSetting(
  12843. /* [in] */ REFGUID guidType,
  12844. /* [in] */ DWORD dwCodecIndex,
  12845. /* [in] */ LPCWSTR pszName,
  12846. /* [in] */ WMT_ATTR_DATATYPE Type,
  12847. /* [size_is][in] */ const BYTE *pValue,
  12848. /* [in] */ DWORD dwSize) = 0;
  12849. virtual HRESULT STDMETHODCALLTYPE GetCodecEnumerationSetting(
  12850. /* [in] */ REFGUID guidType,
  12851. /* [in] */ DWORD dwCodecIndex,
  12852. /* [in] */ LPCWSTR pszName,
  12853. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12854. /* [size_is][out] */ BYTE *pValue,
  12855. /* [out][in] */ DWORD *pdwSize) = 0;
  12856. };
  12857. #else /* C style interface */
  12858. typedef struct IWMCodecInfo3Vtbl
  12859. {
  12860. BEGIN_INTERFACE
  12861. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12862. IWMCodecInfo3 * This,
  12863. /* [in] */ REFIID riid,
  12864. /* [iid_is][out] */ void **ppvObject);
  12865. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12866. IWMCodecInfo3 * This);
  12867. ULONG ( STDMETHODCALLTYPE *Release )(
  12868. IWMCodecInfo3 * This);
  12869. HRESULT ( STDMETHODCALLTYPE *GetCodecInfoCount )(
  12870. IWMCodecInfo3 * This,
  12871. /* [in] */ REFGUID guidType,
  12872. /* [out] */ DWORD *pcCodecs);
  12873. HRESULT ( STDMETHODCALLTYPE *GetCodecFormatCount )(
  12874. IWMCodecInfo3 * This,
  12875. /* [in] */ REFGUID guidType,
  12876. /* [in] */ DWORD dwCodecIndex,
  12877. /* [out] */ DWORD *pcFormat);
  12878. HRESULT ( STDMETHODCALLTYPE *GetCodecFormat )(
  12879. IWMCodecInfo3 * This,
  12880. /* [in] */ REFGUID guidType,
  12881. /* [in] */ DWORD dwCodecIndex,
  12882. /* [in] */ DWORD dwFormatIndex,
  12883. /* [out] */ IWMStreamConfig **ppIStreamConfig);
  12884. HRESULT ( STDMETHODCALLTYPE *GetCodecName )(
  12885. IWMCodecInfo3 * This,
  12886. /* [in] */ REFGUID guidType,
  12887. /* [in] */ DWORD dwCodecIndex,
  12888. /* [size_is][out] */ WCHAR *wszName,
  12889. /* [out][in] */ DWORD *pcchName);
  12890. HRESULT ( STDMETHODCALLTYPE *GetCodecFormatDesc )(
  12891. IWMCodecInfo3 * This,
  12892. /* [in] */ REFGUID guidType,
  12893. /* [in] */ DWORD dwCodecIndex,
  12894. /* [in] */ DWORD dwFormatIndex,
  12895. /* [out] */ IWMStreamConfig **ppIStreamConfig,
  12896. /* [size_is][out] */ WCHAR *wszDesc,
  12897. /* [out][in] */ DWORD *pcchDesc);
  12898. HRESULT ( STDMETHODCALLTYPE *GetCodecFormatProp )(
  12899. IWMCodecInfo3 * This,
  12900. /* [in] */ REFGUID guidType,
  12901. /* [in] */ DWORD dwCodecIndex,
  12902. /* [in] */ DWORD dwFormatIndex,
  12903. /* [in] */ LPCWSTR pszName,
  12904. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12905. /* [size_is][out] */ BYTE *pValue,
  12906. /* [out][in] */ DWORD *pdwSize);
  12907. HRESULT ( STDMETHODCALLTYPE *GetCodecProp )(
  12908. IWMCodecInfo3 * This,
  12909. /* [in] */ REFGUID guidType,
  12910. /* [in] */ DWORD dwCodecIndex,
  12911. /* [in] */ LPCWSTR pszName,
  12912. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12913. /* [size_is][out] */ BYTE *pValue,
  12914. /* [out][in] */ DWORD *pdwSize);
  12915. HRESULT ( STDMETHODCALLTYPE *SetCodecEnumerationSetting )(
  12916. IWMCodecInfo3 * This,
  12917. /* [in] */ REFGUID guidType,
  12918. /* [in] */ DWORD dwCodecIndex,
  12919. /* [in] */ LPCWSTR pszName,
  12920. /* [in] */ WMT_ATTR_DATATYPE Type,
  12921. /* [size_is][in] */ const BYTE *pValue,
  12922. /* [in] */ DWORD dwSize);
  12923. HRESULT ( STDMETHODCALLTYPE *GetCodecEnumerationSetting )(
  12924. IWMCodecInfo3 * This,
  12925. /* [in] */ REFGUID guidType,
  12926. /* [in] */ DWORD dwCodecIndex,
  12927. /* [in] */ LPCWSTR pszName,
  12928. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12929. /* [size_is][out] */ BYTE *pValue,
  12930. /* [out][in] */ DWORD *pdwSize);
  12931. END_INTERFACE
  12932. } IWMCodecInfo3Vtbl;
  12933. interface IWMCodecInfo3
  12934. {
  12935. CONST_VTBL struct IWMCodecInfo3Vtbl *lpVtbl;
  12936. };
  12937. #ifdef COBJMACROS
  12938. #define IWMCodecInfo3_QueryInterface(This,riid,ppvObject) \
  12939. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12940. #define IWMCodecInfo3_AddRef(This) \
  12941. (This)->lpVtbl -> AddRef(This)
  12942. #define IWMCodecInfo3_Release(This) \
  12943. (This)->lpVtbl -> Release(This)
  12944. #define IWMCodecInfo3_GetCodecInfoCount(This,guidType,pcCodecs) \
  12945. (This)->lpVtbl -> GetCodecInfoCount(This,guidType,pcCodecs)
  12946. #define IWMCodecInfo3_GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) \
  12947. (This)->lpVtbl -> GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat)
  12948. #define IWMCodecInfo3_GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) \
  12949. (This)->lpVtbl -> GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig)
  12950. #define IWMCodecInfo3_GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName) \
  12951. (This)->lpVtbl -> GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName)
  12952. #define IWMCodecInfo3_GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc) \
  12953. (This)->lpVtbl -> GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc)
  12954. #define IWMCodecInfo3_GetCodecFormatProp(This,guidType,dwCodecIndex,dwFormatIndex,pszName,pType,pValue,pdwSize) \
  12955. (This)->lpVtbl -> GetCodecFormatProp(This,guidType,dwCodecIndex,dwFormatIndex,pszName,pType,pValue,pdwSize)
  12956. #define IWMCodecInfo3_GetCodecProp(This,guidType,dwCodecIndex,pszName,pType,pValue,pdwSize) \
  12957. (This)->lpVtbl -> GetCodecProp(This,guidType,dwCodecIndex,pszName,pType,pValue,pdwSize)
  12958. #define IWMCodecInfo3_SetCodecEnumerationSetting(This,guidType,dwCodecIndex,pszName,Type,pValue,dwSize) \
  12959. (This)->lpVtbl -> SetCodecEnumerationSetting(This,guidType,dwCodecIndex,pszName,Type,pValue,dwSize)
  12960. #define IWMCodecInfo3_GetCodecEnumerationSetting(This,guidType,dwCodecIndex,pszName,pType,pValue,pdwSize) \
  12961. (This)->lpVtbl -> GetCodecEnumerationSetting(This,guidType,dwCodecIndex,pszName,pType,pValue,pdwSize)
  12962. #endif /* COBJMACROS */
  12963. #endif /* C style interface */
  12964. HRESULT STDMETHODCALLTYPE IWMCodecInfo3_GetCodecFormatProp_Proxy(
  12965. IWMCodecInfo3 * This,
  12966. /* [in] */ REFGUID guidType,
  12967. /* [in] */ DWORD dwCodecIndex,
  12968. /* [in] */ DWORD dwFormatIndex,
  12969. /* [in] */ LPCWSTR pszName,
  12970. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12971. /* [size_is][out] */ BYTE *pValue,
  12972. /* [out][in] */ DWORD *pdwSize);
  12973. void __RPC_STUB IWMCodecInfo3_GetCodecFormatProp_Stub(
  12974. IRpcStubBuffer *This,
  12975. IRpcChannelBuffer *_pRpcChannelBuffer,
  12976. PRPC_MESSAGE _pRpcMessage,
  12977. DWORD *_pdwStubPhase);
  12978. HRESULT STDMETHODCALLTYPE IWMCodecInfo3_GetCodecProp_Proxy(
  12979. IWMCodecInfo3 * This,
  12980. /* [in] */ REFGUID guidType,
  12981. /* [in] */ DWORD dwCodecIndex,
  12982. /* [in] */ LPCWSTR pszName,
  12983. /* [out] */ WMT_ATTR_DATATYPE *pType,
  12984. /* [size_is][out] */ BYTE *pValue,
  12985. /* [out][in] */ DWORD *pdwSize);
  12986. void __RPC_STUB IWMCodecInfo3_GetCodecProp_Stub(
  12987. IRpcStubBuffer *This,
  12988. IRpcChannelBuffer *_pRpcChannelBuffer,
  12989. PRPC_MESSAGE _pRpcMessage,
  12990. DWORD *_pdwStubPhase);
  12991. HRESULT STDMETHODCALLTYPE IWMCodecInfo3_SetCodecEnumerationSetting_Proxy(
  12992. IWMCodecInfo3 * This,
  12993. /* [in] */ REFGUID guidType,
  12994. /* [in] */ DWORD dwCodecIndex,
  12995. /* [in] */ LPCWSTR pszName,
  12996. /* [in] */ WMT_ATTR_DATATYPE Type,
  12997. /* [size_is][in] */ const BYTE *pValue,
  12998. /* [in] */ DWORD dwSize);
  12999. void __RPC_STUB IWMCodecInfo3_SetCodecEnumerationSetting_Stub(
  13000. IRpcStubBuffer *This,
  13001. IRpcChannelBuffer *_pRpcChannelBuffer,
  13002. PRPC_MESSAGE _pRpcMessage,
  13003. DWORD *_pdwStubPhase);
  13004. HRESULT STDMETHODCALLTYPE IWMCodecInfo3_GetCodecEnumerationSetting_Proxy(
  13005. IWMCodecInfo3 * This,
  13006. /* [in] */ REFGUID guidType,
  13007. /* [in] */ DWORD dwCodecIndex,
  13008. /* [in] */ LPCWSTR pszName,
  13009. /* [out] */ WMT_ATTR_DATATYPE *pType,
  13010. /* [size_is][out] */ BYTE *pValue,
  13011. /* [out][in] */ DWORD *pdwSize);
  13012. void __RPC_STUB IWMCodecInfo3_GetCodecEnumerationSetting_Stub(
  13013. IRpcStubBuffer *This,
  13014. IRpcChannelBuffer *_pRpcChannelBuffer,
  13015. PRPC_MESSAGE _pRpcMessage,
  13016. DWORD *_pdwStubPhase);
  13017. #endif /* __IWMCodecInfo3_INTERFACE_DEFINED__ */
  13018. #ifndef __IWMLanguageList_INTERFACE_DEFINED__
  13019. #define __IWMLanguageList_INTERFACE_DEFINED__
  13020. /* interface IWMLanguageList */
  13021. /* [local][unique][helpstring][uuid][object] */
  13022. EXTERN_C const IID IID_IWMLanguageList;
  13023. #if defined(__cplusplus) && !defined(CINTERFACE)
  13024. MIDL_INTERFACE("DF683F00-2D49-4d8e-92B7-FB19F6A0DC57")
  13025. IWMLanguageList : public IUnknown
  13026. {
  13027. public:
  13028. virtual HRESULT STDMETHODCALLTYPE GetLanguageCount(
  13029. /* [out] */ WORD *pwCount) = 0;
  13030. virtual HRESULT STDMETHODCALLTYPE GetLanguageDetails(
  13031. /* [in] */ WORD wIndex,
  13032. /* [size_is][out] */ WCHAR *pwszLanguageString,
  13033. /* [out][in] */ WORD *pcchLanguageStringLength) = 0;
  13034. virtual HRESULT STDMETHODCALLTYPE AddLanguageByRFC1766String(
  13035. /* [in] */ LPWSTR pwszLanguageString,
  13036. /* [out] */ WORD *pwIndex) = 0;
  13037. };
  13038. #else /* C style interface */
  13039. typedef struct IWMLanguageListVtbl
  13040. {
  13041. BEGIN_INTERFACE
  13042. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13043. IWMLanguageList * This,
  13044. /* [in] */ REFIID riid,
  13045. /* [iid_is][out] */ void **ppvObject);
  13046. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13047. IWMLanguageList * This);
  13048. ULONG ( STDMETHODCALLTYPE *Release )(
  13049. IWMLanguageList * This);
  13050. HRESULT ( STDMETHODCALLTYPE *GetLanguageCount )(
  13051. IWMLanguageList * This,
  13052. /* [out] */ WORD *pwCount);
  13053. HRESULT ( STDMETHODCALLTYPE *GetLanguageDetails )(
  13054. IWMLanguageList * This,
  13055. /* [in] */ WORD wIndex,
  13056. /* [size_is][out] */ WCHAR *pwszLanguageString,
  13057. /* [out][in] */ WORD *pcchLanguageStringLength);
  13058. HRESULT ( STDMETHODCALLTYPE *AddLanguageByRFC1766String )(
  13059. IWMLanguageList * This,
  13060. /* [in] */ LPWSTR pwszLanguageString,
  13061. /* [out] */ WORD *pwIndex);
  13062. END_INTERFACE
  13063. } IWMLanguageListVtbl;
  13064. interface IWMLanguageList
  13065. {
  13066. CONST_VTBL struct IWMLanguageListVtbl *lpVtbl;
  13067. };
  13068. #ifdef COBJMACROS
  13069. #define IWMLanguageList_QueryInterface(This,riid,ppvObject) \
  13070. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13071. #define IWMLanguageList_AddRef(This) \
  13072. (This)->lpVtbl -> AddRef(This)
  13073. #define IWMLanguageList_Release(This) \
  13074. (This)->lpVtbl -> Release(This)
  13075. #define IWMLanguageList_GetLanguageCount(This,pwCount) \
  13076. (This)->lpVtbl -> GetLanguageCount(This,pwCount)
  13077. #define IWMLanguageList_GetLanguageDetails(This,wIndex,pwszLanguageString,pcchLanguageStringLength) \
  13078. (This)->lpVtbl -> GetLanguageDetails(This,wIndex,pwszLanguageString,pcchLanguageStringLength)
  13079. #define IWMLanguageList_AddLanguageByRFC1766String(This,pwszLanguageString,pwIndex) \
  13080. (This)->lpVtbl -> AddLanguageByRFC1766String(This,pwszLanguageString,pwIndex)
  13081. #endif /* COBJMACROS */
  13082. #endif /* C style interface */
  13083. HRESULT STDMETHODCALLTYPE IWMLanguageList_GetLanguageCount_Proxy(
  13084. IWMLanguageList * This,
  13085. /* [out] */ WORD *pwCount);
  13086. void __RPC_STUB IWMLanguageList_GetLanguageCount_Stub(
  13087. IRpcStubBuffer *This,
  13088. IRpcChannelBuffer *_pRpcChannelBuffer,
  13089. PRPC_MESSAGE _pRpcMessage,
  13090. DWORD *_pdwStubPhase);
  13091. HRESULT STDMETHODCALLTYPE IWMLanguageList_GetLanguageDetails_Proxy(
  13092. IWMLanguageList * This,
  13093. /* [in] */ WORD wIndex,
  13094. /* [size_is][out] */ WCHAR *pwszLanguageString,
  13095. /* [out][in] */ WORD *pcchLanguageStringLength);
  13096. void __RPC_STUB IWMLanguageList_GetLanguageDetails_Stub(
  13097. IRpcStubBuffer *This,
  13098. IRpcChannelBuffer *_pRpcChannelBuffer,
  13099. PRPC_MESSAGE _pRpcMessage,
  13100. DWORD *_pdwStubPhase);
  13101. HRESULT STDMETHODCALLTYPE IWMLanguageList_AddLanguageByRFC1766String_Proxy(
  13102. IWMLanguageList * This,
  13103. /* [in] */ LPWSTR pwszLanguageString,
  13104. /* [out] */ WORD *pwIndex);
  13105. void __RPC_STUB IWMLanguageList_AddLanguageByRFC1766String_Stub(
  13106. IRpcStubBuffer *This,
  13107. IRpcChannelBuffer *_pRpcChannelBuffer,
  13108. PRPC_MESSAGE _pRpcMessage,
  13109. DWORD *_pdwStubPhase);
  13110. #endif /* __IWMLanguageList_INTERFACE_DEFINED__ */
  13111. #ifndef __IWMWriterPushSink_INTERFACE_DEFINED__
  13112. #define __IWMWriterPushSink_INTERFACE_DEFINED__
  13113. /* interface IWMWriterPushSink */
  13114. /* [local][unique][helpstring][uuid][object] */
  13115. EXTERN_C const IID IID_IWMWriterPushSink;
  13116. #if defined(__cplusplus) && !defined(CINTERFACE)
  13117. MIDL_INTERFACE("dc10e6a5-072c-467d-bf57-6330a9dde12a")
  13118. IWMWriterPushSink : public IWMWriterSink
  13119. {
  13120. public:
  13121. virtual HRESULT STDMETHODCALLTYPE Connect(
  13122. /* [in] */ LPCWSTR pwszURL,
  13123. /* [in] */ LPCWSTR pwszTemplateURL,
  13124. /* [in] */ BOOL fAutoDestroy) = 0;
  13125. virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  13126. virtual HRESULT STDMETHODCALLTYPE EndSession( void) = 0;
  13127. };
  13128. #else /* C style interface */
  13129. typedef struct IWMWriterPushSinkVtbl
  13130. {
  13131. BEGIN_INTERFACE
  13132. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13133. IWMWriterPushSink * This,
  13134. /* [in] */ REFIID riid,
  13135. /* [iid_is][out] */ void **ppvObject);
  13136. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13137. IWMWriterPushSink * This);
  13138. ULONG ( STDMETHODCALLTYPE *Release )(
  13139. IWMWriterPushSink * This);
  13140. HRESULT ( STDMETHODCALLTYPE *OnHeader )(
  13141. IWMWriterPushSink * This,
  13142. /* [in] */ INSSBuffer *pHeader);
  13143. HRESULT ( STDMETHODCALLTYPE *IsRealTime )(
  13144. IWMWriterPushSink * This,
  13145. /* [out] */ BOOL *pfRealTime);
  13146. HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )(
  13147. IWMWriterPushSink * This,
  13148. /* [in] */ DWORD cbDataUnit,
  13149. /* [out] */ INSSBuffer **ppDataUnit);
  13150. HRESULT ( STDMETHODCALLTYPE *OnDataUnit )(
  13151. IWMWriterPushSink * This,
  13152. /* [in] */ INSSBuffer *pDataUnit);
  13153. HRESULT ( STDMETHODCALLTYPE *OnEndWriting )(
  13154. IWMWriterPushSink * This);
  13155. HRESULT ( STDMETHODCALLTYPE *Connect )(
  13156. IWMWriterPushSink * This,
  13157. /* [in] */ LPCWSTR pwszURL,
  13158. /* [in] */ LPCWSTR pwszTemplateURL,
  13159. /* [in] */ BOOL fAutoDestroy);
  13160. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  13161. IWMWriterPushSink * This);
  13162. HRESULT ( STDMETHODCALLTYPE *EndSession )(
  13163. IWMWriterPushSink * This);
  13164. END_INTERFACE
  13165. } IWMWriterPushSinkVtbl;
  13166. interface IWMWriterPushSink
  13167. {
  13168. CONST_VTBL struct IWMWriterPushSinkVtbl *lpVtbl;
  13169. };
  13170. #ifdef COBJMACROS
  13171. #define IWMWriterPushSink_QueryInterface(This,riid,ppvObject) \
  13172. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13173. #define IWMWriterPushSink_AddRef(This) \
  13174. (This)->lpVtbl -> AddRef(This)
  13175. #define IWMWriterPushSink_Release(This) \
  13176. (This)->lpVtbl -> Release(This)
  13177. #define IWMWriterPushSink_OnHeader(This,pHeader) \
  13178. (This)->lpVtbl -> OnHeader(This,pHeader)
  13179. #define IWMWriterPushSink_IsRealTime(This,pfRealTime) \
  13180. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  13181. #define IWMWriterPushSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \
  13182. (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  13183. #define IWMWriterPushSink_OnDataUnit(This,pDataUnit) \
  13184. (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  13185. #define IWMWriterPushSink_OnEndWriting(This) \
  13186. (This)->lpVtbl -> OnEndWriting(This)
  13187. #define IWMWriterPushSink_Connect(This,pwszURL,pwszTemplateURL,fAutoDestroy) \
  13188. (This)->lpVtbl -> Connect(This,pwszURL,pwszTemplateURL,fAutoDestroy)
  13189. #define IWMWriterPushSink_Disconnect(This) \
  13190. (This)->lpVtbl -> Disconnect(This)
  13191. #define IWMWriterPushSink_EndSession(This) \
  13192. (This)->lpVtbl -> EndSession(This)
  13193. #endif /* COBJMACROS */
  13194. #endif /* C style interface */
  13195. HRESULT STDMETHODCALLTYPE IWMWriterPushSink_Connect_Proxy(
  13196. IWMWriterPushSink * This,
  13197. /* [in] */ LPCWSTR pwszURL,
  13198. /* [in] */ LPCWSTR pwszTemplateURL,
  13199. /* [in] */ BOOL fAutoDestroy);
  13200. void __RPC_STUB IWMWriterPushSink_Connect_Stub(
  13201. IRpcStubBuffer *This,
  13202. IRpcChannelBuffer *_pRpcChannelBuffer,
  13203. PRPC_MESSAGE _pRpcMessage,
  13204. DWORD *_pdwStubPhase);
  13205. HRESULT STDMETHODCALLTYPE IWMWriterPushSink_Disconnect_Proxy(
  13206. IWMWriterPushSink * This);
  13207. void __RPC_STUB IWMWriterPushSink_Disconnect_Stub(
  13208. IRpcStubBuffer *This,
  13209. IRpcChannelBuffer *_pRpcChannelBuffer,
  13210. PRPC_MESSAGE _pRpcMessage,
  13211. DWORD *_pdwStubPhase);
  13212. HRESULT STDMETHODCALLTYPE IWMWriterPushSink_EndSession_Proxy(
  13213. IWMWriterPushSink * This);
  13214. void __RPC_STUB IWMWriterPushSink_EndSession_Stub(
  13215. IRpcStubBuffer *This,
  13216. IRpcChannelBuffer *_pRpcChannelBuffer,
  13217. PRPC_MESSAGE _pRpcMessage,
  13218. DWORD *_pdwStubPhase);
  13219. #endif /* __IWMWriterPushSink_INTERFACE_DEFINED__ */
  13220. #ifndef __IWMWatermarkInfo_INTERFACE_DEFINED__
  13221. #define __IWMWatermarkInfo_INTERFACE_DEFINED__
  13222. /* interface IWMWatermarkInfo */
  13223. /* [local][unique][helpstring][uuid][object] */
  13224. EXTERN_C const IID IID_IWMWatermarkInfo;
  13225. #if defined(__cplusplus) && !defined(CINTERFACE)
  13226. MIDL_INTERFACE("6f497062-f2e2-4624-8ea7-9dd40d81fc8d")
  13227. IWMWatermarkInfo : public IUnknown
  13228. {
  13229. public:
  13230. virtual HRESULT STDMETHODCALLTYPE GetWatermarkEntryCount(
  13231. /* [in] */ WMT_WATERMARK_ENTRY_TYPE wmetType,
  13232. /* [out] */ DWORD *pdwCount) = 0;
  13233. virtual HRESULT STDMETHODCALLTYPE GetWatermarkEntry(
  13234. /* [in] */ WMT_WATERMARK_ENTRY_TYPE wmetType,
  13235. /* [in] */ DWORD dwEntryNum,
  13236. /* [out] */ WMT_WATERMARK_ENTRY *pEntry) = 0;
  13237. };
  13238. #else /* C style interface */
  13239. typedef struct IWMWatermarkInfoVtbl
  13240. {
  13241. BEGIN_INTERFACE
  13242. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13243. IWMWatermarkInfo * This,
  13244. /* [in] */ REFIID riid,
  13245. /* [iid_is][out] */ void **ppvObject);
  13246. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13247. IWMWatermarkInfo * This);
  13248. ULONG ( STDMETHODCALLTYPE *Release )(
  13249. IWMWatermarkInfo * This);
  13250. HRESULT ( STDMETHODCALLTYPE *GetWatermarkEntryCount )(
  13251. IWMWatermarkInfo * This,
  13252. /* [in] */ WMT_WATERMARK_ENTRY_TYPE wmetType,
  13253. /* [out] */ DWORD *pdwCount);
  13254. HRESULT ( STDMETHODCALLTYPE *GetWatermarkEntry )(
  13255. IWMWatermarkInfo * This,
  13256. /* [in] */ WMT_WATERMARK_ENTRY_TYPE wmetType,
  13257. /* [in] */ DWORD dwEntryNum,
  13258. /* [out] */ WMT_WATERMARK_ENTRY *pEntry);
  13259. END_INTERFACE
  13260. } IWMWatermarkInfoVtbl;
  13261. interface IWMWatermarkInfo
  13262. {
  13263. CONST_VTBL struct IWMWatermarkInfoVtbl *lpVtbl;
  13264. };
  13265. #ifdef COBJMACROS
  13266. #define IWMWatermarkInfo_QueryInterface(This,riid,ppvObject) \
  13267. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13268. #define IWMWatermarkInfo_AddRef(This) \
  13269. (This)->lpVtbl -> AddRef(This)
  13270. #define IWMWatermarkInfo_Release(This) \
  13271. (This)->lpVtbl -> Release(This)
  13272. #define IWMWatermarkInfo_GetWatermarkEntryCount(This,wmetType,pdwCount) \
  13273. (This)->lpVtbl -> GetWatermarkEntryCount(This,wmetType,pdwCount)
  13274. #define IWMWatermarkInfo_GetWatermarkEntry(This,wmetType,dwEntryNum,pEntry) \
  13275. (This)->lpVtbl -> GetWatermarkEntry(This,wmetType,dwEntryNum,pEntry)
  13276. #endif /* COBJMACROS */
  13277. #endif /* C style interface */
  13278. HRESULT STDMETHODCALLTYPE IWMWatermarkInfo_GetWatermarkEntryCount_Proxy(
  13279. IWMWatermarkInfo * This,
  13280. /* [in] */ WMT_WATERMARK_ENTRY_TYPE wmetType,
  13281. /* [out] */ DWORD *pdwCount);
  13282. void __RPC_STUB IWMWatermarkInfo_GetWatermarkEntryCount_Stub(
  13283. IRpcStubBuffer *This,
  13284. IRpcChannelBuffer *_pRpcChannelBuffer,
  13285. PRPC_MESSAGE _pRpcMessage,
  13286. DWORD *_pdwStubPhase);
  13287. HRESULT STDMETHODCALLTYPE IWMWatermarkInfo_GetWatermarkEntry_Proxy(
  13288. IWMWatermarkInfo * This,
  13289. /* [in] */ WMT_WATERMARK_ENTRY_TYPE wmetType,
  13290. /* [in] */ DWORD dwEntryNum,
  13291. /* [out] */ WMT_WATERMARK_ENTRY *pEntry);
  13292. void __RPC_STUB IWMWatermarkInfo_GetWatermarkEntry_Stub(
  13293. IRpcStubBuffer *This,
  13294. IRpcChannelBuffer *_pRpcChannelBuffer,
  13295. PRPC_MESSAGE _pRpcMessage,
  13296. DWORD *_pdwStubPhase);
  13297. #endif /* __IWMWatermarkInfo_INTERFACE_DEFINED__ */
  13298. #ifndef __IWMReaderAccelerator_INTERFACE_DEFINED__
  13299. #define __IWMReaderAccelerator_INTERFACE_DEFINED__
  13300. /* interface IWMReaderAccelerator */
  13301. /* [local][unique][helpstring][uuid][object] */
  13302. EXTERN_C const IID IID_IWMReaderAccelerator;
  13303. #if defined(__cplusplus) && !defined(CINTERFACE)
  13304. MIDL_INTERFACE("BDDC4D08-944D-4d52-A612-46C3FDA07DD4")
  13305. IWMReaderAccelerator : public IUnknown
  13306. {
  13307. public:
  13308. virtual HRESULT STDMETHODCALLTYPE GetCodecInterface(
  13309. /* [in] */ DWORD dwOutputNum,
  13310. /* [in] */ REFIID riid,
  13311. /* [out] */ void **ppvCodecInterface) = 0;
  13312. virtual HRESULT STDMETHODCALLTYPE Notify(
  13313. /* [in] */ DWORD dwOutputNum,
  13314. /* [in] */ WM_MEDIA_TYPE *pSubtype) = 0;
  13315. };
  13316. #else /* C style interface */
  13317. typedef struct IWMReaderAcceleratorVtbl
  13318. {
  13319. BEGIN_INTERFACE
  13320. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13321. IWMReaderAccelerator * This,
  13322. /* [in] */ REFIID riid,
  13323. /* [iid_is][out] */ void **ppvObject);
  13324. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13325. IWMReaderAccelerator * This);
  13326. ULONG ( STDMETHODCALLTYPE *Release )(
  13327. IWMReaderAccelerator * This);
  13328. HRESULT ( STDMETHODCALLTYPE *GetCodecInterface )(
  13329. IWMReaderAccelerator * This,
  13330. /* [in] */ DWORD dwOutputNum,
  13331. /* [in] */ REFIID riid,
  13332. /* [out] */ void **ppvCodecInterface);
  13333. HRESULT ( STDMETHODCALLTYPE *Notify )(
  13334. IWMReaderAccelerator * This,
  13335. /* [in] */ DWORD dwOutputNum,
  13336. /* [in] */ WM_MEDIA_TYPE *pSubtype);
  13337. END_INTERFACE
  13338. } IWMReaderAcceleratorVtbl;
  13339. interface IWMReaderAccelerator
  13340. {
  13341. CONST_VTBL struct IWMReaderAcceleratorVtbl *lpVtbl;
  13342. };
  13343. #ifdef COBJMACROS
  13344. #define IWMReaderAccelerator_QueryInterface(This,riid,ppvObject) \
  13345. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13346. #define IWMReaderAccelerator_AddRef(This) \
  13347. (This)->lpVtbl -> AddRef(This)
  13348. #define IWMReaderAccelerator_Release(This) \
  13349. (This)->lpVtbl -> Release(This)
  13350. #define IWMReaderAccelerator_GetCodecInterface(This,dwOutputNum,riid,ppvCodecInterface) \
  13351. (This)->lpVtbl -> GetCodecInterface(This,dwOutputNum,riid,ppvCodecInterface)
  13352. #define IWMReaderAccelerator_Notify(This,dwOutputNum,pSubtype) \
  13353. (This)->lpVtbl -> Notify(This,dwOutputNum,pSubtype)
  13354. #endif /* COBJMACROS */
  13355. #endif /* C style interface */
  13356. HRESULT STDMETHODCALLTYPE IWMReaderAccelerator_GetCodecInterface_Proxy(
  13357. IWMReaderAccelerator * This,
  13358. /* [in] */ DWORD dwOutputNum,
  13359. /* [in] */ REFIID riid,
  13360. /* [out] */ void **ppvCodecInterface);
  13361. void __RPC_STUB IWMReaderAccelerator_GetCodecInterface_Stub(
  13362. IRpcStubBuffer *This,
  13363. IRpcChannelBuffer *_pRpcChannelBuffer,
  13364. PRPC_MESSAGE _pRpcMessage,
  13365. DWORD *_pdwStubPhase);
  13366. HRESULT STDMETHODCALLTYPE IWMReaderAccelerator_Notify_Proxy(
  13367. IWMReaderAccelerator * This,
  13368. /* [in] */ DWORD dwOutputNum,
  13369. /* [in] */ WM_MEDIA_TYPE *pSubtype);
  13370. void __RPC_STUB IWMReaderAccelerator_Notify_Stub(
  13371. IRpcStubBuffer *This,
  13372. IRpcChannelBuffer *_pRpcChannelBuffer,
  13373. PRPC_MESSAGE _pRpcMessage,
  13374. DWORD *_pdwStubPhase);
  13375. #endif /* __IWMReaderAccelerator_INTERFACE_DEFINED__ */
  13376. #ifndef __IWMReaderTimecode_INTERFACE_DEFINED__
  13377. #define __IWMReaderTimecode_INTERFACE_DEFINED__
  13378. /* interface IWMReaderTimecode */
  13379. /* [local][unique][helpstring][uuid][object] */
  13380. EXTERN_C const IID IID_IWMReaderTimecode;
  13381. #if defined(__cplusplus) && !defined(CINTERFACE)
  13382. MIDL_INTERFACE("f369e2f0-e081-4fe6-8450-b810b2f410d1")
  13383. IWMReaderTimecode : public IUnknown
  13384. {
  13385. public:
  13386. virtual HRESULT STDMETHODCALLTYPE GetTimecodeRangeCount(
  13387. /* [in] */ WORD wStreamNum,
  13388. /* [out] */ WORD *pwRangeCount) = 0;
  13389. virtual HRESULT STDMETHODCALLTYPE GetTimecodeRangeBounds(
  13390. /* [in] */ WORD wStreamNum,
  13391. /* [in] */ WORD wRangeNum,
  13392. /* [out] */ DWORD *pStartTimecode,
  13393. /* [out] */ DWORD *pEndTimecode) = 0;
  13394. };
  13395. #else /* C style interface */
  13396. typedef struct IWMReaderTimecodeVtbl
  13397. {
  13398. BEGIN_INTERFACE
  13399. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13400. IWMReaderTimecode * This,
  13401. /* [in] */ REFIID riid,
  13402. /* [iid_is][out] */ void **ppvObject);
  13403. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13404. IWMReaderTimecode * This);
  13405. ULONG ( STDMETHODCALLTYPE *Release )(
  13406. IWMReaderTimecode * This);
  13407. HRESULT ( STDMETHODCALLTYPE *GetTimecodeRangeCount )(
  13408. IWMReaderTimecode * This,
  13409. /* [in] */ WORD wStreamNum,
  13410. /* [out] */ WORD *pwRangeCount);
  13411. HRESULT ( STDMETHODCALLTYPE *GetTimecodeRangeBounds )(
  13412. IWMReaderTimecode * This,
  13413. /* [in] */ WORD wStreamNum,
  13414. /* [in] */ WORD wRangeNum,
  13415. /* [out] */ DWORD *pStartTimecode,
  13416. /* [out] */ DWORD *pEndTimecode);
  13417. END_INTERFACE
  13418. } IWMReaderTimecodeVtbl;
  13419. interface IWMReaderTimecode
  13420. {
  13421. CONST_VTBL struct IWMReaderTimecodeVtbl *lpVtbl;
  13422. };
  13423. #ifdef COBJMACROS
  13424. #define IWMReaderTimecode_QueryInterface(This,riid,ppvObject) \
  13425. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13426. #define IWMReaderTimecode_AddRef(This) \
  13427. (This)->lpVtbl -> AddRef(This)
  13428. #define IWMReaderTimecode_Release(This) \
  13429. (This)->lpVtbl -> Release(This)
  13430. #define IWMReaderTimecode_GetTimecodeRangeCount(This,wStreamNum,pwRangeCount) \
  13431. (This)->lpVtbl -> GetTimecodeRangeCount(This,wStreamNum,pwRangeCount)
  13432. #define IWMReaderTimecode_GetTimecodeRangeBounds(This,wStreamNum,wRangeNum,pStartTimecode,pEndTimecode) \
  13433. (This)->lpVtbl -> GetTimecodeRangeBounds(This,wStreamNum,wRangeNum,pStartTimecode,pEndTimecode)
  13434. #endif /* COBJMACROS */
  13435. #endif /* C style interface */
  13436. HRESULT STDMETHODCALLTYPE IWMReaderTimecode_GetTimecodeRangeCount_Proxy(
  13437. IWMReaderTimecode * This,
  13438. /* [in] */ WORD wStreamNum,
  13439. /* [out] */ WORD *pwRangeCount);
  13440. void __RPC_STUB IWMReaderTimecode_GetTimecodeRangeCount_Stub(
  13441. IRpcStubBuffer *This,
  13442. IRpcChannelBuffer *_pRpcChannelBuffer,
  13443. PRPC_MESSAGE _pRpcMessage,
  13444. DWORD *_pdwStubPhase);
  13445. HRESULT STDMETHODCALLTYPE IWMReaderTimecode_GetTimecodeRangeBounds_Proxy(
  13446. IWMReaderTimecode * This,
  13447. /* [in] */ WORD wStreamNum,
  13448. /* [in] */ WORD wRangeNum,
  13449. /* [out] */ DWORD *pStartTimecode,
  13450. /* [out] */ DWORD *pEndTimecode);
  13451. void __RPC_STUB IWMReaderTimecode_GetTimecodeRangeBounds_Stub(
  13452. IRpcStubBuffer *This,
  13453. IRpcChannelBuffer *_pRpcChannelBuffer,
  13454. PRPC_MESSAGE _pRpcMessage,
  13455. DWORD *_pdwStubPhase);
  13456. #endif /* __IWMReaderTimecode_INTERFACE_DEFINED__ */
  13457. #ifndef __IWMAddressAccess_INTERFACE_DEFINED__
  13458. #define __IWMAddressAccess_INTERFACE_DEFINED__
  13459. /* interface IWMAddressAccess */
  13460. /* [local][unique][helpstring][uuid][object] */
  13461. EXTERN_C const IID IID_IWMAddressAccess;
  13462. #if defined(__cplusplus) && !defined(CINTERFACE)
  13463. MIDL_INTERFACE("BB3C6389-1633-4e92-AF14-9F3173BA39D0")
  13464. IWMAddressAccess : public IUnknown
  13465. {
  13466. public:
  13467. virtual HRESULT STDMETHODCALLTYPE GetAccessEntryCount(
  13468. /* [in] */ WM_AETYPE aeType,
  13469. /* [out] */ DWORD *pcEntries) = 0;
  13470. virtual HRESULT STDMETHODCALLTYPE GetAccessEntry(
  13471. /* [in] */ WM_AETYPE aeType,
  13472. /* [in] */ DWORD dwEntryNum,
  13473. /* [out] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry) = 0;
  13474. virtual HRESULT STDMETHODCALLTYPE AddAccessEntry(
  13475. /* [in] */ WM_AETYPE aeType,
  13476. /* [in] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry) = 0;
  13477. virtual HRESULT STDMETHODCALLTYPE RemoveAccessEntry(
  13478. /* [in] */ WM_AETYPE aeType,
  13479. /* [in] */ DWORD dwEntryNum) = 0;
  13480. };
  13481. #else /* C style interface */
  13482. typedef struct IWMAddressAccessVtbl
  13483. {
  13484. BEGIN_INTERFACE
  13485. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13486. IWMAddressAccess * This,
  13487. /* [in] */ REFIID riid,
  13488. /* [iid_is][out] */ void **ppvObject);
  13489. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13490. IWMAddressAccess * This);
  13491. ULONG ( STDMETHODCALLTYPE *Release )(
  13492. IWMAddressAccess * This);
  13493. HRESULT ( STDMETHODCALLTYPE *GetAccessEntryCount )(
  13494. IWMAddressAccess * This,
  13495. /* [in] */ WM_AETYPE aeType,
  13496. /* [out] */ DWORD *pcEntries);
  13497. HRESULT ( STDMETHODCALLTYPE *GetAccessEntry )(
  13498. IWMAddressAccess * This,
  13499. /* [in] */ WM_AETYPE aeType,
  13500. /* [in] */ DWORD dwEntryNum,
  13501. /* [out] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry);
  13502. HRESULT ( STDMETHODCALLTYPE *AddAccessEntry )(
  13503. IWMAddressAccess * This,
  13504. /* [in] */ WM_AETYPE aeType,
  13505. /* [in] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry);
  13506. HRESULT ( STDMETHODCALLTYPE *RemoveAccessEntry )(
  13507. IWMAddressAccess * This,
  13508. /* [in] */ WM_AETYPE aeType,
  13509. /* [in] */ DWORD dwEntryNum);
  13510. END_INTERFACE
  13511. } IWMAddressAccessVtbl;
  13512. interface IWMAddressAccess
  13513. {
  13514. CONST_VTBL struct IWMAddressAccessVtbl *lpVtbl;
  13515. };
  13516. #ifdef COBJMACROS
  13517. #define IWMAddressAccess_QueryInterface(This,riid,ppvObject) \
  13518. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13519. #define IWMAddressAccess_AddRef(This) \
  13520. (This)->lpVtbl -> AddRef(This)
  13521. #define IWMAddressAccess_Release(This) \
  13522. (This)->lpVtbl -> Release(This)
  13523. #define IWMAddressAccess_GetAccessEntryCount(This,aeType,pcEntries) \
  13524. (This)->lpVtbl -> GetAccessEntryCount(This,aeType,pcEntries)
  13525. #define IWMAddressAccess_GetAccessEntry(This,aeType,dwEntryNum,pAddrAccessEntry) \
  13526. (This)->lpVtbl -> GetAccessEntry(This,aeType,dwEntryNum,pAddrAccessEntry)
  13527. #define IWMAddressAccess_AddAccessEntry(This,aeType,pAddrAccessEntry) \
  13528. (This)->lpVtbl -> AddAccessEntry(This,aeType,pAddrAccessEntry)
  13529. #define IWMAddressAccess_RemoveAccessEntry(This,aeType,dwEntryNum) \
  13530. (This)->lpVtbl -> RemoveAccessEntry(This,aeType,dwEntryNum)
  13531. #endif /* COBJMACROS */
  13532. #endif /* C style interface */
  13533. HRESULT STDMETHODCALLTYPE IWMAddressAccess_GetAccessEntryCount_Proxy(
  13534. IWMAddressAccess * This,
  13535. /* [in] */ WM_AETYPE aeType,
  13536. /* [out] */ DWORD *pcEntries);
  13537. void __RPC_STUB IWMAddressAccess_GetAccessEntryCount_Stub(
  13538. IRpcStubBuffer *This,
  13539. IRpcChannelBuffer *_pRpcChannelBuffer,
  13540. PRPC_MESSAGE _pRpcMessage,
  13541. DWORD *_pdwStubPhase);
  13542. HRESULT STDMETHODCALLTYPE IWMAddressAccess_GetAccessEntry_Proxy(
  13543. IWMAddressAccess * This,
  13544. /* [in] */ WM_AETYPE aeType,
  13545. /* [in] */ DWORD dwEntryNum,
  13546. /* [out] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry);
  13547. void __RPC_STUB IWMAddressAccess_GetAccessEntry_Stub(
  13548. IRpcStubBuffer *This,
  13549. IRpcChannelBuffer *_pRpcChannelBuffer,
  13550. PRPC_MESSAGE _pRpcMessage,
  13551. DWORD *_pdwStubPhase);
  13552. HRESULT STDMETHODCALLTYPE IWMAddressAccess_AddAccessEntry_Proxy(
  13553. IWMAddressAccess * This,
  13554. /* [in] */ WM_AETYPE aeType,
  13555. /* [in] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry);
  13556. void __RPC_STUB IWMAddressAccess_AddAccessEntry_Stub(
  13557. IRpcStubBuffer *This,
  13558. IRpcChannelBuffer *_pRpcChannelBuffer,
  13559. PRPC_MESSAGE _pRpcMessage,
  13560. DWORD *_pdwStubPhase);
  13561. HRESULT STDMETHODCALLTYPE IWMAddressAccess_RemoveAccessEntry_Proxy(
  13562. IWMAddressAccess * This,
  13563. /* [in] */ WM_AETYPE aeType,
  13564. /* [in] */ DWORD dwEntryNum);
  13565. void __RPC_STUB IWMAddressAccess_RemoveAccessEntry_Stub(
  13566. IRpcStubBuffer *This,
  13567. IRpcChannelBuffer *_pRpcChannelBuffer,
  13568. PRPC_MESSAGE _pRpcMessage,
  13569. DWORD *_pdwStubPhase);
  13570. #endif /* __IWMAddressAccess_INTERFACE_DEFINED__ */
  13571. #ifndef __IWMAddressAccess2_INTERFACE_DEFINED__
  13572. #define __IWMAddressAccess2_INTERFACE_DEFINED__
  13573. /* interface IWMAddressAccess2 */
  13574. /* [local][unique][helpstring][uuid][object] */
  13575. EXTERN_C const IID IID_IWMAddressAccess2;
  13576. #if defined(__cplusplus) && !defined(CINTERFACE)
  13577. MIDL_INTERFACE("65a83fc2-3e98-4d4d-81b5-2a742886b33d")
  13578. IWMAddressAccess2 : public IWMAddressAccess
  13579. {
  13580. public:
  13581. virtual HRESULT STDMETHODCALLTYPE GetAccessEntryEx(
  13582. /* [in] */ WM_AETYPE aeType,
  13583. /* [in] */ DWORD dwEntryNum,
  13584. /* [out] */ BSTR *pbstrAddress,
  13585. /* [out] */ BSTR *pbstrMask) = 0;
  13586. virtual HRESULT STDMETHODCALLTYPE AddAccessEntryEx(
  13587. /* [in] */ WM_AETYPE aeType,
  13588. /* [in] */ BSTR bstrAddress,
  13589. /* [in] */ BSTR bstrMask) = 0;
  13590. };
  13591. #else /* C style interface */
  13592. typedef struct IWMAddressAccess2Vtbl
  13593. {
  13594. BEGIN_INTERFACE
  13595. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13596. IWMAddressAccess2 * This,
  13597. /* [in] */ REFIID riid,
  13598. /* [iid_is][out] */ void **ppvObject);
  13599. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13600. IWMAddressAccess2 * This);
  13601. ULONG ( STDMETHODCALLTYPE *Release )(
  13602. IWMAddressAccess2 * This);
  13603. HRESULT ( STDMETHODCALLTYPE *GetAccessEntryCount )(
  13604. IWMAddressAccess2 * This,
  13605. /* [in] */ WM_AETYPE aeType,
  13606. /* [out] */ DWORD *pcEntries);
  13607. HRESULT ( STDMETHODCALLTYPE *GetAccessEntry )(
  13608. IWMAddressAccess2 * This,
  13609. /* [in] */ WM_AETYPE aeType,
  13610. /* [in] */ DWORD dwEntryNum,
  13611. /* [out] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry);
  13612. HRESULT ( STDMETHODCALLTYPE *AddAccessEntry )(
  13613. IWMAddressAccess2 * This,
  13614. /* [in] */ WM_AETYPE aeType,
  13615. /* [in] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry);
  13616. HRESULT ( STDMETHODCALLTYPE *RemoveAccessEntry )(
  13617. IWMAddressAccess2 * This,
  13618. /* [in] */ WM_AETYPE aeType,
  13619. /* [in] */ DWORD dwEntryNum);
  13620. HRESULT ( STDMETHODCALLTYPE *GetAccessEntryEx )(
  13621. IWMAddressAccess2 * This,
  13622. /* [in] */ WM_AETYPE aeType,
  13623. /* [in] */ DWORD dwEntryNum,
  13624. /* [out] */ BSTR *pbstrAddress,
  13625. /* [out] */ BSTR *pbstrMask);
  13626. HRESULT ( STDMETHODCALLTYPE *AddAccessEntryEx )(
  13627. IWMAddressAccess2 * This,
  13628. /* [in] */ WM_AETYPE aeType,
  13629. /* [in] */ BSTR bstrAddress,
  13630. /* [in] */ BSTR bstrMask);
  13631. END_INTERFACE
  13632. } IWMAddressAccess2Vtbl;
  13633. interface IWMAddressAccess2
  13634. {
  13635. CONST_VTBL struct IWMAddressAccess2Vtbl *lpVtbl;
  13636. };
  13637. #ifdef COBJMACROS
  13638. #define IWMAddressAccess2_QueryInterface(This,riid,ppvObject) \
  13639. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13640. #define IWMAddressAccess2_AddRef(This) \
  13641. (This)->lpVtbl -> AddRef(This)
  13642. #define IWMAddressAccess2_Release(This) \
  13643. (This)->lpVtbl -> Release(This)
  13644. #define IWMAddressAccess2_GetAccessEntryCount(This,aeType,pcEntries) \
  13645. (This)->lpVtbl -> GetAccessEntryCount(This,aeType,pcEntries)
  13646. #define IWMAddressAccess2_GetAccessEntry(This,aeType,dwEntryNum,pAddrAccessEntry) \
  13647. (This)->lpVtbl -> GetAccessEntry(This,aeType,dwEntryNum,pAddrAccessEntry)
  13648. #define IWMAddressAccess2_AddAccessEntry(This,aeType,pAddrAccessEntry) \
  13649. (This)->lpVtbl -> AddAccessEntry(This,aeType,pAddrAccessEntry)
  13650. #define IWMAddressAccess2_RemoveAccessEntry(This,aeType,dwEntryNum) \
  13651. (This)->lpVtbl -> RemoveAccessEntry(This,aeType,dwEntryNum)
  13652. #define IWMAddressAccess2_GetAccessEntryEx(This,aeType,dwEntryNum,pbstrAddress,pbstrMask) \
  13653. (This)->lpVtbl -> GetAccessEntryEx(This,aeType,dwEntryNum,pbstrAddress,pbstrMask)
  13654. #define IWMAddressAccess2_AddAccessEntryEx(This,aeType,bstrAddress,bstrMask) \
  13655. (This)->lpVtbl -> AddAccessEntryEx(This,aeType,bstrAddress,bstrMask)
  13656. #endif /* COBJMACROS */
  13657. #endif /* C style interface */
  13658. HRESULT STDMETHODCALLTYPE IWMAddressAccess2_GetAccessEntryEx_Proxy(
  13659. IWMAddressAccess2 * This,
  13660. /* [in] */ WM_AETYPE aeType,
  13661. /* [in] */ DWORD dwEntryNum,
  13662. /* [out] */ BSTR *pbstrAddress,
  13663. /* [out] */ BSTR *pbstrMask);
  13664. void __RPC_STUB IWMAddressAccess2_GetAccessEntryEx_Stub(
  13665. IRpcStubBuffer *This,
  13666. IRpcChannelBuffer *_pRpcChannelBuffer,
  13667. PRPC_MESSAGE _pRpcMessage,
  13668. DWORD *_pdwStubPhase);
  13669. HRESULT STDMETHODCALLTYPE IWMAddressAccess2_AddAccessEntryEx_Proxy(
  13670. IWMAddressAccess2 * This,
  13671. /* [in] */ WM_AETYPE aeType,
  13672. /* [in] */ BSTR bstrAddress,
  13673. /* [in] */ BSTR bstrMask);
  13674. void __RPC_STUB IWMAddressAccess2_AddAccessEntryEx_Stub(
  13675. IRpcStubBuffer *This,
  13676. IRpcChannelBuffer *_pRpcChannelBuffer,
  13677. PRPC_MESSAGE _pRpcMessage,
  13678. DWORD *_pdwStubPhase);
  13679. #endif /* __IWMAddressAccess2_INTERFACE_DEFINED__ */
  13680. #ifndef __IWMImageInfo_INTERFACE_DEFINED__
  13681. #define __IWMImageInfo_INTERFACE_DEFINED__
  13682. /* interface IWMImageInfo */
  13683. /* [local][unique][helpstring][uuid][object] */
  13684. EXTERN_C const IID IID_IWMImageInfo;
  13685. #if defined(__cplusplus) && !defined(CINTERFACE)
  13686. MIDL_INTERFACE("9F0AA3B6-7267-4d89-88F2-BA915AA5C4C6")
  13687. IWMImageInfo : public IUnknown
  13688. {
  13689. public:
  13690. virtual HRESULT STDMETHODCALLTYPE GetImageCount(
  13691. /* [out] */ DWORD *pcImages) = 0;
  13692. virtual HRESULT STDMETHODCALLTYPE GetImage(
  13693. /* [in] */ DWORD wIndex,
  13694. /* [out][in] */ WORD *pcchMIMEType,
  13695. /* [size_is][out] */ WCHAR *pwszMIMEType,
  13696. /* [out][in] */ WORD *pcchDescription,
  13697. /* [size_is][out] */ WCHAR *pwszDescription,
  13698. /* [out] */ WORD *pImageType,
  13699. /* [out][in] */ DWORD *pcbImageData,
  13700. /* [size_is][out] */ BYTE *pbImageData) = 0;
  13701. };
  13702. #else /* C style interface */
  13703. typedef struct IWMImageInfoVtbl
  13704. {
  13705. BEGIN_INTERFACE
  13706. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13707. IWMImageInfo * This,
  13708. /* [in] */ REFIID riid,
  13709. /* [iid_is][out] */ void **ppvObject);
  13710. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13711. IWMImageInfo * This);
  13712. ULONG ( STDMETHODCALLTYPE *Release )(
  13713. IWMImageInfo * This);
  13714. HRESULT ( STDMETHODCALLTYPE *GetImageCount )(
  13715. IWMImageInfo * This,
  13716. /* [out] */ DWORD *pcImages);
  13717. HRESULT ( STDMETHODCALLTYPE *GetImage )(
  13718. IWMImageInfo * This,
  13719. /* [in] */ DWORD wIndex,
  13720. /* [out][in] */ WORD *pcchMIMEType,
  13721. /* [size_is][out] */ WCHAR *pwszMIMEType,
  13722. /* [out][in] */ WORD *pcchDescription,
  13723. /* [size_is][out] */ WCHAR *pwszDescription,
  13724. /* [out] */ WORD *pImageType,
  13725. /* [out][in] */ DWORD *pcbImageData,
  13726. /* [size_is][out] */ BYTE *pbImageData);
  13727. END_INTERFACE
  13728. } IWMImageInfoVtbl;
  13729. interface IWMImageInfo
  13730. {
  13731. CONST_VTBL struct IWMImageInfoVtbl *lpVtbl;
  13732. };
  13733. #ifdef COBJMACROS
  13734. #define IWMImageInfo_QueryInterface(This,riid,ppvObject) \
  13735. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13736. #define IWMImageInfo_AddRef(This) \
  13737. (This)->lpVtbl -> AddRef(This)
  13738. #define IWMImageInfo_Release(This) \
  13739. (This)->lpVtbl -> Release(This)
  13740. #define IWMImageInfo_GetImageCount(This,pcImages) \
  13741. (This)->lpVtbl -> GetImageCount(This,pcImages)
  13742. #define IWMImageInfo_GetImage(This,wIndex,pcchMIMEType,pwszMIMEType,pcchDescription,pwszDescription,pImageType,pcbImageData,pbImageData) \
  13743. (This)->lpVtbl -> GetImage(This,wIndex,pcchMIMEType,pwszMIMEType,pcchDescription,pwszDescription,pImageType,pcbImageData,pbImageData)
  13744. #endif /* COBJMACROS */
  13745. #endif /* C style interface */
  13746. HRESULT STDMETHODCALLTYPE IWMImageInfo_GetImageCount_Proxy(
  13747. IWMImageInfo * This,
  13748. /* [out] */ DWORD *pcImages);
  13749. void __RPC_STUB IWMImageInfo_GetImageCount_Stub(
  13750. IRpcStubBuffer *This,
  13751. IRpcChannelBuffer *_pRpcChannelBuffer,
  13752. PRPC_MESSAGE _pRpcMessage,
  13753. DWORD *_pdwStubPhase);
  13754. HRESULT STDMETHODCALLTYPE IWMImageInfo_GetImage_Proxy(
  13755. IWMImageInfo * This,
  13756. /* [in] */ DWORD wIndex,
  13757. /* [out][in] */ WORD *pcchMIMEType,
  13758. /* [size_is][out] */ WCHAR *pwszMIMEType,
  13759. /* [out][in] */ WORD *pcchDescription,
  13760. /* [size_is][out] */ WCHAR *pwszDescription,
  13761. /* [out] */ WORD *pImageType,
  13762. /* [out][in] */ DWORD *pcbImageData,
  13763. /* [size_is][out] */ BYTE *pbImageData);
  13764. void __RPC_STUB IWMImageInfo_GetImage_Stub(
  13765. IRpcStubBuffer *This,
  13766. IRpcChannelBuffer *_pRpcChannelBuffer,
  13767. PRPC_MESSAGE _pRpcMessage,
  13768. DWORD *_pdwStubPhase);
  13769. #endif /* __IWMImageInfo_INTERFACE_DEFINED__ */
  13770. /* Additional Prototypes for ALL interfaces */
  13771. /* end of Additional Prototypes */
  13772. #ifdef __cplusplus
  13773. }
  13774. #endif
  13775. #endif