1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913 |
- /* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 7.00.0498 */
- /* Compiler settings for mswmdm.idl:
- Oicf, W1, Zp8, env=Win32 (32b run)
- protocol : dce , ms_ext, c_ext, robust
- error checks: allocation ref bounds_check enum stub_data
- VC __declspec() decoration level:
- __declspec(uuid()), __declspec(selectany), __declspec(novtable)
- DECLSPEC_UUID(), MIDL_INTERFACE()
- */
- //@@MIDL_FILE_HEADING( )
- #pragma warning( disable: 4049 ) /* more than 64k source lines */
- /* verify that the <rpcndr.h> version is high enough to compile this file*/
- #ifndef __REQUIRED_RPCNDR_H_VERSION__
- #define __REQUIRED_RPCNDR_H_VERSION__ 475
- #endif
- /* verify that the <rpcsal.h> version is high enough to compile this file*/
- #ifndef __REQUIRED_RPCSAL_H_VERSION__
- #define __REQUIRED_RPCSAL_H_VERSION__ 100
- #endif
- #include "rpc.h"
- #include "rpcndr.h"
- #ifndef __RPCNDR_H_VERSION__
- #error this stub requires an updated version of <rpcndr.h>
- #endif // __RPCNDR_H_VERSION__
- #ifndef COM_NO_WINDOWS_H
- #include "windows.h"
- #include "ole2.h"
- #endif /*COM_NO_WINDOWS_H*/
- #ifndef __mswmdm_h__
- #define __mswmdm_h__
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- #pragma once
- #endif
- /* Forward Declarations */
- #ifndef __IWMDMMetaData_FWD_DEFINED__
- #define __IWMDMMetaData_FWD_DEFINED__
- typedef interface IWMDMMetaData IWMDMMetaData;
- #endif /* __IWMDMMetaData_FWD_DEFINED__ */
- #ifndef __IWMDeviceManager_FWD_DEFINED__
- #define __IWMDeviceManager_FWD_DEFINED__
- typedef interface IWMDeviceManager IWMDeviceManager;
- #endif /* __IWMDeviceManager_FWD_DEFINED__ */
- #ifndef __IWMDeviceManager2_FWD_DEFINED__
- #define __IWMDeviceManager2_FWD_DEFINED__
- typedef interface IWMDeviceManager2 IWMDeviceManager2;
- #endif /* __IWMDeviceManager2_FWD_DEFINED__ */
- #ifndef __IWMDeviceManager3_FWD_DEFINED__
- #define __IWMDeviceManager3_FWD_DEFINED__
- typedef interface IWMDeviceManager3 IWMDeviceManager3;
- #endif /* __IWMDeviceManager3_FWD_DEFINED__ */
- #ifndef __IWMDMStorageGlobals_FWD_DEFINED__
- #define __IWMDMStorageGlobals_FWD_DEFINED__
- typedef interface IWMDMStorageGlobals IWMDMStorageGlobals;
- #endif /* __IWMDMStorageGlobals_FWD_DEFINED__ */
- #ifndef __IWMDMStorage_FWD_DEFINED__
- #define __IWMDMStorage_FWD_DEFINED__
- typedef interface IWMDMStorage IWMDMStorage;
- #endif /* __IWMDMStorage_FWD_DEFINED__ */
- #ifndef __IWMDMStorage2_FWD_DEFINED__
- #define __IWMDMStorage2_FWD_DEFINED__
- typedef interface IWMDMStorage2 IWMDMStorage2;
- #endif /* __IWMDMStorage2_FWD_DEFINED__ */
- #ifndef __IWMDMStorage3_FWD_DEFINED__
- #define __IWMDMStorage3_FWD_DEFINED__
- typedef interface IWMDMStorage3 IWMDMStorage3;
- #endif /* __IWMDMStorage3_FWD_DEFINED__ */
- #ifndef __IWMDMStorage4_FWD_DEFINED__
- #define __IWMDMStorage4_FWD_DEFINED__
- typedef interface IWMDMStorage4 IWMDMStorage4;
- #endif /* __IWMDMStorage4_FWD_DEFINED__ */
- #ifndef __IWMDMOperation_FWD_DEFINED__
- #define __IWMDMOperation_FWD_DEFINED__
- typedef interface IWMDMOperation IWMDMOperation;
- #endif /* __IWMDMOperation_FWD_DEFINED__ */
- #ifndef __IWMDMOperation2_FWD_DEFINED__
- #define __IWMDMOperation2_FWD_DEFINED__
- typedef interface IWMDMOperation2 IWMDMOperation2;
- #endif /* __IWMDMOperation2_FWD_DEFINED__ */
- #ifndef __IWMDMOperation3_FWD_DEFINED__
- #define __IWMDMOperation3_FWD_DEFINED__
- typedef interface IWMDMOperation3 IWMDMOperation3;
- #endif /* __IWMDMOperation3_FWD_DEFINED__ */
- #ifndef __IWMDMProgress_FWD_DEFINED__
- #define __IWMDMProgress_FWD_DEFINED__
- typedef interface IWMDMProgress IWMDMProgress;
- #endif /* __IWMDMProgress_FWD_DEFINED__ */
- #ifndef __IWMDMProgress2_FWD_DEFINED__
- #define __IWMDMProgress2_FWD_DEFINED__
- typedef interface IWMDMProgress2 IWMDMProgress2;
- #endif /* __IWMDMProgress2_FWD_DEFINED__ */
- #ifndef __IWMDMProgress3_FWD_DEFINED__
- #define __IWMDMProgress3_FWD_DEFINED__
- typedef interface IWMDMProgress3 IWMDMProgress3;
- #endif /* __IWMDMProgress3_FWD_DEFINED__ */
- #ifndef __IWMDMDevice_FWD_DEFINED__
- #define __IWMDMDevice_FWD_DEFINED__
- typedef interface IWMDMDevice IWMDMDevice;
- #endif /* __IWMDMDevice_FWD_DEFINED__ */
- #ifndef __IWMDMDevice2_FWD_DEFINED__
- #define __IWMDMDevice2_FWD_DEFINED__
- typedef interface IWMDMDevice2 IWMDMDevice2;
- #endif /* __IWMDMDevice2_FWD_DEFINED__ */
- #ifndef __IWMDMDevice3_FWD_DEFINED__
- #define __IWMDMDevice3_FWD_DEFINED__
- typedef interface IWMDMDevice3 IWMDMDevice3;
- #endif /* __IWMDMDevice3_FWD_DEFINED__ */
- #ifndef __IWMDMDeviceSession_FWD_DEFINED__
- #define __IWMDMDeviceSession_FWD_DEFINED__
- typedef interface IWMDMDeviceSession IWMDMDeviceSession;
- #endif /* __IWMDMDeviceSession_FWD_DEFINED__ */
- #ifndef __IWMDMEnumDevice_FWD_DEFINED__
- #define __IWMDMEnumDevice_FWD_DEFINED__
- typedef interface IWMDMEnumDevice IWMDMEnumDevice;
- #endif /* __IWMDMEnumDevice_FWD_DEFINED__ */
- #ifndef __IWMDMDeviceControl_FWD_DEFINED__
- #define __IWMDMDeviceControl_FWD_DEFINED__
- typedef interface IWMDMDeviceControl IWMDMDeviceControl;
- #endif /* __IWMDMDeviceControl_FWD_DEFINED__ */
- #ifndef __IWMDMEnumStorage_FWD_DEFINED__
- #define __IWMDMEnumStorage_FWD_DEFINED__
- typedef interface IWMDMEnumStorage IWMDMEnumStorage;
- #endif /* __IWMDMEnumStorage_FWD_DEFINED__ */
- #ifndef __IWMDMStorageControl_FWD_DEFINED__
- #define __IWMDMStorageControl_FWD_DEFINED__
- typedef interface IWMDMStorageControl IWMDMStorageControl;
- #endif /* __IWMDMStorageControl_FWD_DEFINED__ */
- #ifndef __IWMDMStorageControl2_FWD_DEFINED__
- #define __IWMDMStorageControl2_FWD_DEFINED__
- typedef interface IWMDMStorageControl2 IWMDMStorageControl2;
- #endif /* __IWMDMStorageControl2_FWD_DEFINED__ */
- #ifndef __IWMDMStorageControl3_FWD_DEFINED__
- #define __IWMDMStorageControl3_FWD_DEFINED__
- typedef interface IWMDMStorageControl3 IWMDMStorageControl3;
- #endif /* __IWMDMStorageControl3_FWD_DEFINED__ */
- #ifndef __IWMDMObjectInfo_FWD_DEFINED__
- #define __IWMDMObjectInfo_FWD_DEFINED__
- typedef interface IWMDMObjectInfo IWMDMObjectInfo;
- #endif /* __IWMDMObjectInfo_FWD_DEFINED__ */
- #ifndef __IWMDMRevoked_FWD_DEFINED__
- #define __IWMDMRevoked_FWD_DEFINED__
- typedef interface IWMDMRevoked IWMDMRevoked;
- #endif /* __IWMDMRevoked_FWD_DEFINED__ */
- #ifndef __IWMDMNotification_FWD_DEFINED__
- #define __IWMDMNotification_FWD_DEFINED__
- typedef interface IWMDMNotification IWMDMNotification;
- #endif /* __IWMDMNotification_FWD_DEFINED__ */
- #ifndef __IMDServiceProvider_FWD_DEFINED__
- #define __IMDServiceProvider_FWD_DEFINED__
- typedef interface IMDServiceProvider IMDServiceProvider;
- #endif /* __IMDServiceProvider_FWD_DEFINED__ */
- #ifndef __IMDServiceProvider2_FWD_DEFINED__
- #define __IMDServiceProvider2_FWD_DEFINED__
- typedef interface IMDServiceProvider2 IMDServiceProvider2;
- #endif /* __IMDServiceProvider2_FWD_DEFINED__ */
- #ifndef __IMDServiceProvider3_FWD_DEFINED__
- #define __IMDServiceProvider3_FWD_DEFINED__
- typedef interface IMDServiceProvider3 IMDServiceProvider3;
- #endif /* __IMDServiceProvider3_FWD_DEFINED__ */
- #ifndef __IMDSPEnumDevice_FWD_DEFINED__
- #define __IMDSPEnumDevice_FWD_DEFINED__
- typedef interface IMDSPEnumDevice IMDSPEnumDevice;
- #endif /* __IMDSPEnumDevice_FWD_DEFINED__ */
- #ifndef __IMDSPDevice_FWD_DEFINED__
- #define __IMDSPDevice_FWD_DEFINED__
- typedef interface IMDSPDevice IMDSPDevice;
- #endif /* __IMDSPDevice_FWD_DEFINED__ */
- #ifndef __IMDSPDevice2_FWD_DEFINED__
- #define __IMDSPDevice2_FWD_DEFINED__
- typedef interface IMDSPDevice2 IMDSPDevice2;
- #endif /* __IMDSPDevice2_FWD_DEFINED__ */
- #ifndef __IMDSPDevice3_FWD_DEFINED__
- #define __IMDSPDevice3_FWD_DEFINED__
- typedef interface IMDSPDevice3 IMDSPDevice3;
- #endif /* __IMDSPDevice3_FWD_DEFINED__ */
- #ifndef __IMDSPDeviceControl_FWD_DEFINED__
- #define __IMDSPDeviceControl_FWD_DEFINED__
- typedef interface IMDSPDeviceControl IMDSPDeviceControl;
- #endif /* __IMDSPDeviceControl_FWD_DEFINED__ */
- #ifndef __IMDSPEnumStorage_FWD_DEFINED__
- #define __IMDSPEnumStorage_FWD_DEFINED__
- typedef interface IMDSPEnumStorage IMDSPEnumStorage;
- #endif /* __IMDSPEnumStorage_FWD_DEFINED__ */
- #ifndef __IMDSPStorage_FWD_DEFINED__
- #define __IMDSPStorage_FWD_DEFINED__
- typedef interface IMDSPStorage IMDSPStorage;
- #endif /* __IMDSPStorage_FWD_DEFINED__ */
- #ifndef __IMDSPStorage2_FWD_DEFINED__
- #define __IMDSPStorage2_FWD_DEFINED__
- typedef interface IMDSPStorage2 IMDSPStorage2;
- #endif /* __IMDSPStorage2_FWD_DEFINED__ */
- #ifndef __IMDSPStorage3_FWD_DEFINED__
- #define __IMDSPStorage3_FWD_DEFINED__
- typedef interface IMDSPStorage3 IMDSPStorage3;
- #endif /* __IMDSPStorage3_FWD_DEFINED__ */
- #ifndef __IMDSPStorage4_FWD_DEFINED__
- #define __IMDSPStorage4_FWD_DEFINED__
- typedef interface IMDSPStorage4 IMDSPStorage4;
- #endif /* __IMDSPStorage4_FWD_DEFINED__ */
- #ifndef __IMDSPStorageGlobals_FWD_DEFINED__
- #define __IMDSPStorageGlobals_FWD_DEFINED__
- typedef interface IMDSPStorageGlobals IMDSPStorageGlobals;
- #endif /* __IMDSPStorageGlobals_FWD_DEFINED__ */
- #ifndef __IMDSPObjectInfo_FWD_DEFINED__
- #define __IMDSPObjectInfo_FWD_DEFINED__
- typedef interface IMDSPObjectInfo IMDSPObjectInfo;
- #endif /* __IMDSPObjectInfo_FWD_DEFINED__ */
- #ifndef __IMDSPObject_FWD_DEFINED__
- #define __IMDSPObject_FWD_DEFINED__
- typedef interface IMDSPObject IMDSPObject;
- #endif /* __IMDSPObject_FWD_DEFINED__ */
- #ifndef __IMDSPObject2_FWD_DEFINED__
- #define __IMDSPObject2_FWD_DEFINED__
- typedef interface IMDSPObject2 IMDSPObject2;
- #endif /* __IMDSPObject2_FWD_DEFINED__ */
- #ifndef __IMDSPDirectTransfer_FWD_DEFINED__
- #define __IMDSPDirectTransfer_FWD_DEFINED__
- typedef interface IMDSPDirectTransfer IMDSPDirectTransfer;
- #endif /* __IMDSPDirectTransfer_FWD_DEFINED__ */
- #ifndef __IMDSPRevoked_FWD_DEFINED__
- #define __IMDSPRevoked_FWD_DEFINED__
- typedef interface IMDSPRevoked IMDSPRevoked;
- #endif /* __IMDSPRevoked_FWD_DEFINED__ */
- #ifndef __ISCPSecureAuthenticate_FWD_DEFINED__
- #define __ISCPSecureAuthenticate_FWD_DEFINED__
- typedef interface ISCPSecureAuthenticate ISCPSecureAuthenticate;
- #endif /* __ISCPSecureAuthenticate_FWD_DEFINED__ */
- #ifndef __ISCPSecureAuthenticate2_FWD_DEFINED__
- #define __ISCPSecureAuthenticate2_FWD_DEFINED__
- typedef interface ISCPSecureAuthenticate2 ISCPSecureAuthenticate2;
- #endif /* __ISCPSecureAuthenticate2_FWD_DEFINED__ */
- #ifndef __ISCPSecureQuery_FWD_DEFINED__
- #define __ISCPSecureQuery_FWD_DEFINED__
- typedef interface ISCPSecureQuery ISCPSecureQuery;
- #endif /* __ISCPSecureQuery_FWD_DEFINED__ */
- #ifndef __ISCPSecureQuery2_FWD_DEFINED__
- #define __ISCPSecureQuery2_FWD_DEFINED__
- typedef interface ISCPSecureQuery2 ISCPSecureQuery2;
- #endif /* __ISCPSecureQuery2_FWD_DEFINED__ */
- #ifndef __ISCPSecureExchange_FWD_DEFINED__
- #define __ISCPSecureExchange_FWD_DEFINED__
- typedef interface ISCPSecureExchange ISCPSecureExchange;
- #endif /* __ISCPSecureExchange_FWD_DEFINED__ */
- #ifndef __ISCPSecureExchange2_FWD_DEFINED__
- #define __ISCPSecureExchange2_FWD_DEFINED__
- typedef interface ISCPSecureExchange2 ISCPSecureExchange2;
- #endif /* __ISCPSecureExchange2_FWD_DEFINED__ */
- #ifndef __ISCPSecureExchange3_FWD_DEFINED__
- #define __ISCPSecureExchange3_FWD_DEFINED__
- typedef interface ISCPSecureExchange3 ISCPSecureExchange3;
- #endif /* __ISCPSecureExchange3_FWD_DEFINED__ */
- #ifndef __ISCPSession_FWD_DEFINED__
- #define __ISCPSession_FWD_DEFINED__
- typedef interface ISCPSession ISCPSession;
- #endif /* __ISCPSession_FWD_DEFINED__ */
- #ifndef __ISCPSecureQuery3_FWD_DEFINED__
- #define __ISCPSecureQuery3_FWD_DEFINED__
- typedef interface ISCPSecureQuery3 ISCPSecureQuery3;
- #endif /* __ISCPSecureQuery3_FWD_DEFINED__ */
- #ifndef __IComponentAuthenticate_FWD_DEFINED__
- #define __IComponentAuthenticate_FWD_DEFINED__
- typedef interface IComponentAuthenticate IComponentAuthenticate;
- #endif /* __IComponentAuthenticate_FWD_DEFINED__ */
- #ifndef __MediaDevMgrClassFactory_FWD_DEFINED__
- #define __MediaDevMgrClassFactory_FWD_DEFINED__
- #ifdef __cplusplus
- typedef class MediaDevMgrClassFactory MediaDevMgrClassFactory;
- #else
- typedef struct MediaDevMgrClassFactory MediaDevMgrClassFactory;
- #endif /* __cplusplus */
- #endif /* __MediaDevMgrClassFactory_FWD_DEFINED__ */
- #ifndef __MediaDevMgr_FWD_DEFINED__
- #define __MediaDevMgr_FWD_DEFINED__
- #ifdef __cplusplus
- typedef class MediaDevMgr MediaDevMgr;
- #else
- typedef struct MediaDevMgr MediaDevMgr;
- #endif /* __cplusplus */
- #endif /* __MediaDevMgr_FWD_DEFINED__ */
- #ifndef __WMDMDevice_FWD_DEFINED__
- #define __WMDMDevice_FWD_DEFINED__
- #ifdef __cplusplus
- typedef class WMDMDevice WMDMDevice;
- #else
- typedef struct WMDMDevice WMDMDevice;
- #endif /* __cplusplus */
- #endif /* __WMDMDevice_FWD_DEFINED__ */
- #ifndef __WMDMStorage_FWD_DEFINED__
- #define __WMDMStorage_FWD_DEFINED__
- #ifdef __cplusplus
- typedef class WMDMStorage WMDMStorage;
- #else
- typedef struct WMDMStorage WMDMStorage;
- #endif /* __cplusplus */
- #endif /* __WMDMStorage_FWD_DEFINED__ */
- #ifndef __WMDMStorageGlobal_FWD_DEFINED__
- #define __WMDMStorageGlobal_FWD_DEFINED__
- #ifdef __cplusplus
- typedef class WMDMStorageGlobal WMDMStorageGlobal;
- #else
- typedef struct WMDMStorageGlobal WMDMStorageGlobal;
- #endif /* __cplusplus */
- #endif /* __WMDMStorageGlobal_FWD_DEFINED__ */
- #ifndef __WMDMDeviceEnum_FWD_DEFINED__
- #define __WMDMDeviceEnum_FWD_DEFINED__
- #ifdef __cplusplus
- typedef class WMDMDeviceEnum WMDMDeviceEnum;
- #else
- typedef struct WMDMDeviceEnum WMDMDeviceEnum;
- #endif /* __cplusplus */
- #endif /* __WMDMDeviceEnum_FWD_DEFINED__ */
- #ifndef __WMDMStorageEnum_FWD_DEFINED__
- #define __WMDMStorageEnum_FWD_DEFINED__
- #ifdef __cplusplus
- typedef class WMDMStorageEnum WMDMStorageEnum;
- #else
- typedef struct WMDMStorageEnum WMDMStorageEnum;
- #endif /* __cplusplus */
- #endif /* __WMDMStorageEnum_FWD_DEFINED__ */
- /* header files for imported files */
- #include "oaidl.h"
- #include "ocidl.h"
- #include "propidl.h"
- #ifdef __cplusplus
- extern "C"{
- #endif
- /* interface __MIDL_itf_mswmdm_0000_0000 */
- /* [local] */
- #ifndef _DEFINE_WMDM_DEVICE_PROTOCOL_MTP
- #define _DEFINE_WMDM_DEVICE_PROTOCOL_MTP
- // {979E54E5-0AFC-4604-8D93-DC798A4BCF45}
- DEFINE_GUID(WMDM_DEVICE_PROTOCOL_MTP,
- 0x979e54e5, 0xafc, 0x4604, 0x8d, 0x93, 0xdc, 0x79, 0x8a, 0x4b, 0xcf, 0x45);
- #endif
- #ifndef _DEFINE_WMDM_DEVICE_PROTOCOL_RAPI
- #define _DEFINE_WMDM_DEVICE_PROTOCOL_RAPI
- // {2A11ED91-8C8F-41e4-82D1-8386E003561C}
- DEFINE_GUID(WMDM_DEVICE_PROTOCOL_RAPI,
- 0x2a11ed91, 0x8c8f, 0x41e4, 0x82, 0xd1, 0x83, 0x86, 0xe0, 0x3, 0x56, 0x1c);
- #endif
- #ifndef _DEFINE_WMDM_DEVICE_PROTOCOL_MSC
- #define _DEFINE_WMDM_DEVICE_PROTOCOL_MSC
- // {A4D2C26C-A881-44bb-BD5D-1F703C71F7A9}
- DEFINE_GUID(WMDM_DEVICE_PROTOCOL_MSC,
- 0xa4d2c26c, 0xa881, 0x44bb, 0xbd, 0x5d, 0x1f, 0x70, 0x3c, 0x71, 0xf7, 0xa9);
- #endif
- #ifndef _DEFINE_WMDM_SERVICE_PROVIDER_VENDOR_MICROSOFT
- #define _DEFINE_WMDM_SERVICE_PROVIDER_VENDOR_MICROSOFT
- // {7DE8686D-78EE-43ea-A496-C625AC91CC5D}
- DEFINE_GUID(WMDM_SERVICE_PROVIDER_VENDOR_MICROSOFT,
- 0x7de8686d, 0x78ee, 0x43ea, 0xa4, 0x96, 0xc6, 0x25, 0xac, 0x91, 0xcc, 0x5d);
- #endif
- typedef
- enum tagWMDM_TAG_DATATYPE
- { WMDM_TYPE_DWORD = 0,
- WMDM_TYPE_STRING = 1,
- WMDM_TYPE_BINARY = 2,
- WMDM_TYPE_BOOL = 3,
- WMDM_TYPE_QWORD = 4,
- WMDM_TYPE_WORD = 5,
- WMDM_TYPE_GUID = 6,
- WMDM_TYPE_DATE = 7
- } WMDM_TAG_DATATYPE;
- typedef
- enum tagWMDM_SESSION_TYPE
- { WMDM_SESSION_NONE = 0,
- WMDM_SESSION_TRANSFER_TO_DEVICE = 0x1,
- WMDM_SESSION_TRANSFER_FROM_DEVICE = 0x10,
- WMDM_SESSION_DELETE = 0x100,
- WMDM_SESSION_CUSTOM = 0x1000
- } WMDM_SESSION_TYPE;
- typedef struct _tWAVEFORMATEX
- {
- WORD wFormatTag;
- WORD nChannels;
- DWORD nSamplesPerSec;
- DWORD nAvgBytesPerSec;
- WORD nBlockAlign;
- WORD wBitsPerSample;
- WORD cbSize;
- } _WAVEFORMATEX;
- typedef struct _tagBITMAPINFOHEADER
- {
- DWORD biSize;
- LONG biWidth;
- LONG biHeight;
- WORD biPlanes;
- WORD biBitCount;
- DWORD biCompression;
- DWORD biSizeImage;
- LONG biXPelsPerMeter;
- LONG biYPelsPerMeter;
- DWORD biClrUsed;
- DWORD biClrImportant;
- } _BITMAPINFOHEADER;
- typedef struct _tagVIDEOINFOHEADER
- {
- RECT rcSource;
- RECT rcTarget;
- DWORD dwBitRate;
- DWORD dwBitErrorRate;
- LONGLONG AvgTimePerFrame;
- _BITMAPINFOHEADER bmiHeader;
- } _VIDEOINFOHEADER;
- typedef struct _tagWMFILECAPABILITIES
- {
- LPWSTR pwszMimeType;
- DWORD dwReserved;
- } WMFILECAPABILITIES;
- typedef struct __OPAQUECOMMAND
- {
- GUID guidCommand;
- DWORD dwDataLen;
- BYTE *pData;
- BYTE abMAC[ 20 ];
- } OPAQUECOMMAND;
- #define WMDMID_LENGTH ( 128 )
- typedef struct __WMDMID
- {
- UINT cbSize;
- DWORD dwVendorID;
- BYTE pID[ 128 ];
- UINT SerialNumberLength;
- } WMDMID;
- typedef struct __WMDMID *PWMDMID;
- typedef struct _WMDMDATETIME
- {
- WORD wYear;
- WORD wMonth;
- WORD wDay;
- WORD wHour;
- WORD wMinute;
- WORD wSecond;
- } WMDMDATETIME;
- typedef struct _WMDMDATETIME *PWMDMDATETIME;
- typedef struct __WMDMRIGHTS
- {
- UINT cbSize;
- DWORD dwContentType;
- DWORD fuFlags;
- DWORD fuRights;
- DWORD dwAppSec;
- DWORD dwPlaybackCount;
- WMDMDATETIME ExpirationDate;
- } WMDMRIGHTS;
- typedef struct __WMDMRIGHTS *PWMDMRIGHTS;
- typedef struct __WMDMMetadataView
- {
- WCHAR *pwszViewName;
- UINT nDepth;
- WCHAR **ppwszTags;
- } WMDMMetadataView;
- typedef
- enum tagWMDM_STORAGE_ENUM_MODE
- { ENUM_MODE_RAW = 0,
- ENUM_MODE_USE_DEVICE_PREF = ( ENUM_MODE_RAW + 1 ) ,
- ENUM_MODE_METADATA_VIEWS = ( ENUM_MODE_USE_DEVICE_PREF + 1 )
- } WMDM_STORAGE_ENUM_MODE;
- typedef /* [v1_enum] */
- enum tagWMDM_FORMATCODE
- { WMDM_FORMATCODE_NOTUSED = 0,
- WMDM_FORMATCODE_ALLIMAGES = 0xffffffff,
- WMDM_FORMATCODE_UNDEFINED = 0x3000,
- WMDM_FORMATCODE_ASSOCIATION = 0x3001,
- WMDM_FORMATCODE_SCRIPT = 0x3002,
- WMDM_FORMATCODE_EXECUTABLE = 0x3003,
- WMDM_FORMATCODE_TEXT = 0x3004,
- WMDM_FORMATCODE_HTML = 0x3005,
- WMDM_FORMATCODE_DPOF = 0x3006,
- WMDM_FORMATCODE_AIFF = 0x3007,
- WMDM_FORMATCODE_WAVE = 0x3008,
- WMDM_FORMATCODE_MP3 = 0x3009,
- WMDM_FORMATCODE_AVI = 0x300a,
- WMDM_FORMATCODE_MPEG = 0x300b,
- WMDM_FORMATCODE_ASF = 0x300c,
- WMDM_FORMATCODE_RESERVED_FIRST = 0x300d,
- WMDM_FORMATCODE_RESERVED_LAST = 0x37ff,
- WMDM_FORMATCODE_IMAGE_UNDEFINED = 0x3800,
- WMDM_FORMATCODE_IMAGE_EXIF = 0x3801,
- WMDM_FORMATCODE_IMAGE_TIFFEP = 0x3802,
- WMDM_FORMATCODE_IMAGE_FLASHPIX = 0x3803,
- WMDM_FORMATCODE_IMAGE_BMP = 0x3804,
- WMDM_FORMATCODE_IMAGE_CIFF = 0x3805,
- WMDM_FORMATCODE_IMAGE_GIF = 0x3807,
- WMDM_FORMATCODE_IMAGE_JFIF = 0x3808,
- WMDM_FORMATCODE_IMAGE_PCD = 0x3809,
- WMDM_FORMATCODE_IMAGE_PICT = 0x380a,
- WMDM_FORMATCODE_IMAGE_PNG = 0x380b,
- WMDM_FORMATCODE_IMAGE_TIFF = 0x380d,
- WMDM_FORMATCODE_IMAGE_TIFFIT = 0x380e,
- WMDM_FORMATCODE_IMAGE_JP2 = 0x380f,
- WMDM_FORMATCODE_IMAGE_JPX = 0x3810,
- WMDM_FORMATCODE_IMAGE_RESERVED_FIRST = 0x3811,
- WMDM_FORMATCODE_IMAGE_RESERVED_LAST = 0x3fff,
- WMDM_FORMATCODE_UNDEFINEDFIRMWARE = 0xb802,
- WMDM_FORMATCODE_WINDOWSIMAGEFORMAT = 0xb881,
- WMDM_FORMATCODE_UNDEFINEDAUDIO = 0xb900,
- WMDM_FORMATCODE_WMA = 0xb901,
- WMDM_FORMATCODE_OGG = 0xb902,
- WMDM_FORMATCODE_AAC = 0xb903,
- WMDM_FORMATCODE_AUDIBLE = 0xb904,
- WMDM_FORMATCODE_FLAC = 0xb906,
- WMDM_FORMATCODE_UNDEFINEDVIDEO = 0xb980,
- WMDM_FORMATCODE_WMV = 0xb981,
- WMDM_FORMATCODE_MP4 = 0xb982,
- WMDM_FORMATCODE_MP2 = 0xb983,
- WMDM_FORMATCODE_3GP = 0xb984,
- WMDM_FORMATCODE_UNDEFINEDCOLLECTION = 0xba00,
- WMDM_FORMATCODE_ABSTRACTMULTIMEDIAALBUM = 0xba01,
- WMDM_FORMATCODE_ABSTRACTIMAGEALBUM = 0xba02,
- WMDM_FORMATCODE_ABSTRACTAUDIOALBUM = 0xba03,
- WMDM_FORMATCODE_ABSTRACTVIDEOALBUM = 0xba04,
- WMDM_FORMATCODE_ABSTRACTAUDIOVIDEOPLAYLIST = 0xba05,
- WMDM_FORMATCODE_ABSTRACTCONTACTGROUP = 0xba06,
- WMDM_FORMATCODE_ABSTRACTMESSAGEFOLDER = 0xba07,
- WMDM_FORMATCODE_ABSTRACTCHAPTEREDPRODUCTION = 0xba08,
- WMDM_FORMATCODE_MEDIA_CAST = 0xba0b,
- WMDM_FORMATCODE_WPLPLAYLIST = 0xba10,
- WMDM_FORMATCODE_M3UPLAYLIST = 0xba11,
- WMDM_FORMATCODE_MPLPLAYLIST = 0xba12,
- WMDM_FORMATCODE_ASXPLAYLIST = 0xba13,
- WMDM_FORMATCODE_PLSPLAYLIST = 0xba14,
- WMDM_FORMATCODE_UNDEFINEDDOCUMENT = 0xba80,
- WMDM_FORMATCODE_ABSTRACTDOCUMENT = 0xba81,
- WMDM_FORMATCODE_XMLDOCUMENT = 0xba82,
- WMDM_FORMATCODE_MICROSOFTWORDDOCUMENT = 0xba83,
- WMDM_FORMATCODE_MHTCOMPILEDHTMLDOCUMENT = 0xba84,
- WMDM_FORMATCODE_MICROSOFTEXCELSPREADSHEET = 0xba85,
- WMDM_FORMATCODE_MICROSOFTPOWERPOINTDOCUMENT = 0xba86,
- WMDM_FORMATCODE_UNDEFINEDMESSAGE = 0xbb00,
- WMDM_FORMATCODE_ABSTRACTMESSAGE = 0xbb01,
- WMDM_FORMATCODE_UNDEFINEDCONTACT = 0xbb80,
- WMDM_FORMATCODE_ABSTRACTCONTACT = 0xbb81,
- WMDM_FORMATCODE_VCARD2 = 0xbb82,
- WMDM_FORMATCODE_VCARD3 = 0xbb83,
- WMDM_FORMATCODE_UNDEFINEDCALENDARITEM = 0xbe00,
- WMDM_FORMATCODE_ABSTRACTCALENDARITEM = 0xbe01,
- WMDM_FORMATCODE_VCALENDAR1 = 0xbe02,
- WMDM_FORMATCODE_VCALENDAR2 = 0xbe03,
- WMDM_FORMATCODE_UNDEFINEDWINDOWSEXECUTABLE = 0xbe80,
- WMDM_FORMATCODE_SECTION = 0xbe82
- } WMDM_FORMATCODE;
- typedef /* [v1_enum] */
- enum _WMDM_ENUM_PROP_VALID_VALUES_FORM
- { WMDM_ENUM_PROP_VALID_VALUES_ANY = 0,
- WMDM_ENUM_PROP_VALID_VALUES_RANGE = ( WMDM_ENUM_PROP_VALID_VALUES_ANY + 1 ) ,
- WMDM_ENUM_PROP_VALID_VALUES_ENUM = ( WMDM_ENUM_PROP_VALID_VALUES_RANGE + 1 )
- } WMDM_ENUM_PROP_VALID_VALUES_FORM;
- typedef struct _WMDM_PROP_VALUES_RANGE
- {
- PROPVARIANT rangeMin;
- PROPVARIANT rangeMax;
- PROPVARIANT rangeStep;
- } WMDM_PROP_VALUES_RANGE;
- typedef struct _WMDM_PROP_VALUES_ENUM
- {
- UINT cEnumValues;
- PROPVARIANT *pValues;
- } WMDM_PROP_VALUES_ENUM;
- typedef struct _WMDM_PROP_DESC
- {
- LPWSTR pwszPropName;
- WMDM_ENUM_PROP_VALID_VALUES_FORM ValidValuesForm;
- union
- {
- /* Empty union arm */
- WMDM_PROP_VALUES_RANGE ValidValuesRange;
- WMDM_PROP_VALUES_ENUM EnumeratedValidValues;
- } ValidValues;
- } WMDM_PROP_DESC;
- typedef struct _WMDM_PROP_CONFIG
- {
- UINT nPreference;
- UINT nPropDesc;
- WMDM_PROP_DESC *pPropDesc;
- } WMDM_PROP_CONFIG;
- typedef struct _WMDM_FORMAT_CAPABILITY
- {
- UINT nPropConfig;
- WMDM_PROP_CONFIG *pConfigs;
- } WMDM_FORMAT_CAPABILITY;
- #define WMDM_MAC_LENGTH ( 8 )
- typedef
- enum tagWMDM_FIND_SCOPE
- { WMDM_FIND_SCOPE_GLOBAL = 0,
- WMDM_FIND_SCOPE_IMMEDIATE_CHILDREN = ( WMDM_FIND_SCOPE_GLOBAL + 1 )
- } WMDM_FIND_SCOPE;
- // WMDM HRESULTS
- //
- //Success codes
- //
- #define WMDM_S_NOT_ALL_PROPERTIES_APPLIED 0x00045001L
- #define WMDM_S_NOT_ALL_PROPERTIES_RETRIEVED 0x00045002L
- //
- //Error codes
- //
- #define WMDM_E_BUSY 0x80045000L
- #define WMDM_E_INTERFACEDEAD 0x80045001L
- #define WMDM_E_INVALIDTYPE 0x80045002L
- #define WMDM_E_PROCESSFAILED 0x80045003L
- #define WMDM_E_NOTSUPPORTED 0x80045004L
- #define WMDM_E_NOTCERTIFIED 0x80045005L
- #define WMDM_E_NORIGHTS 0x80045006L
- #define WMDM_E_CALL_OUT_OF_SEQUENCE 0x80045007L
- #define WMDM_E_BUFFERTOOSMALL 0x80045008L
- #define WMDM_E_MOREDATA 0x80045009L
- #define WMDM_E_MAC_CHECK_FAILED 0x8004500AL
- #define WMDM_E_USER_CANCELLED 0x8004500BL
- #define WMDM_E_SDMI_TRIGGER 0x8004500CL
- #define WMDM_E_SDMI_NOMORECOPIES 0x8004500DL
- #define WMDM_E_REVOKED 0x8004500EL
- #define WMDM_E_LICENSE_NOTEXIST 0x8004500FL
- #define WMDM_E_INCORRECT_APPSEC 0x80045010L
- #define WMDM_E_INCORRECT_RIGHTS 0x80045011L
- #define WMDM_E_LICENSE_EXPIRED 0x80045012L
- #define WMDM_E_CANTOPEN_PMSN_SERVICE_PIPE 0x80045013L
- #define WMDM_E_TOO_MANY_SESSIONS 0x80045013L
- // Revocation Flags
- #define WMDM_WMDM_REVOKED 0x00000001
- #define WMDM_APP_REVOKED 0x00000002
- #define WMDM_SP_REVOKED 0x00000004
- #define WMDM_SCP_REVOKED 0x00000008
- // GetFormatSupport2 Flags
- #define WMDM_GET_FORMAT_SUPPORT_AUDIO 0x00000001
- #define WMDM_GET_FORMAT_SUPPORT_VIDEO 0x00000002
- #define WMDM_GET_FORMAT_SUPPORT_FILE 0x00000004
- // MDMRIGHTS Flags
- #define WMDM_RIGHTS_PLAYBACKCOUNT 0x00000001
- #define WMDM_RIGHTS_EXPIRATIONDATE 0x00000002
- #define WMDM_RIGHTS_GROUPID 0x00000004
- #define WMDM_RIGHTS_FREESERIALIDS 0x00000008
- #define WMDM_RIGHTS_NAMEDSERIALIDS 0x00000010
- // Device Type Flags
- #define WMDM_DEVICE_TYPE_PLAYBACK 0x00000001
- #define WMDM_DEVICE_TYPE_RECORD 0x00000002
- #define WMDM_DEVICE_TYPE_DECODE 0x00000004
- #define WMDM_DEVICE_TYPE_ENCODE 0x00000008
- #define WMDM_DEVICE_TYPE_STORAGE 0x00000010
- #define WMDM_DEVICE_TYPE_VIRTUAL 0x00000020
- #define WMDM_DEVICE_TYPE_SDMI 0x00000040
- #define WMDM_DEVICE_TYPE_NONSDMI 0x00000080
- #define WMDM_DEVICE_TYPE_NONREENTRANT 0x00000100
- #define WMDM_DEVICE_TYPE_FILELISTRESYNC 0x00000200
- #define WMDM_DEVICE_TYPE_VIEW_PREF_METADATAVIEW 0x00000400
- // Device Power Source Flags
- #define WMDM_POWER_CAP_BATTERY 0x00000001
- #define WMDM_POWER_CAP_EXTERNAL 0x00000002
- #define WMDM_POWER_IS_BATTERY 0x00000004
- #define WMDM_POWER_IS_EXTERNAL 0x00000008
- #define WMDM_POWER_PERCENT_AVAILABLE 0x00000010
- // Device Status Flags
- #define WMDM_STATUS_READY 0x00000001
- #define WMDM_STATUS_BUSY 0x00000002
- #define WMDM_STATUS_DEVICE_NOTPRESENT 0x00000004
- #define WMDM_STATUS_DEVICECONTROL_PLAYING 0x00000008
- #define WMDM_STATUS_DEVICECONTROL_RECORDING 0x00000010
- #define WMDM_STATUS_DEVICECONTROL_PAUSED 0x00000020
- #define WMDM_STATUS_DEVICECONTROL_REMOTE 0x00000040
- #define WMDM_STATUS_DEVICECONTROL_STREAM 0x00000080
- #define WMDM_STATUS_STORAGE_NOTPRESENT 0x00000100
- #define WMDM_STATUS_STORAGE_INITIALIZING 0x00000200
- #define WMDM_STATUS_STORAGE_BROKEN 0x00000400
- #define WMDM_STATUS_STORAGE_NOTSUPPORTED 0x00000800
- #define WMDM_STATUS_STORAGE_UNFORMATTED 0x00001000
- #define WMDM_STATUS_STORAGECONTROL_INSERTING 0x00002000
- #define WMDM_STATUS_STORAGECONTROL_DELETING 0x00004000
- #define WMDM_STATUS_STORAGECONTROL_APPENDING 0x00008000
- #define WMDM_STATUS_STORAGECONTROL_MOVING 0x00010000
- #define WMDM_STATUS_STORAGECONTROL_READING 0x00020000
- // Device Capabilities Flags
- #define WMDM_DEVICECAP_CANPLAY 0x00000001
- #define WMDM_DEVICECAP_CANSTREAMPLAY 0x00000002
- #define WMDM_DEVICECAP_CANRECORD 0x00000004
- #define WMDM_DEVICECAP_CANSTREAMRECORD 0x00000008
- #define WMDM_DEVICECAP_CANPAUSE 0x00000010
- #define WMDM_DEVICECAP_CANRESUME 0x00000020
- #define WMDM_DEVICECAP_CANSTOP 0x00000040
- #define WMDM_DEVICECAP_CANSEEK 0x00000080
- #define WMDM_DEVICECAP_HASSECURECLOCK 0x00000100
- // WMDM Seek Flags
- #define WMDM_SEEK_REMOTECONTROL 0x00000001
- #define WMDM_SEEK_STREAMINGAUDIO 0x00000002
- // Storage Attributes Flags
- #define WMDM_STORAGE_ATTR_FILESYSTEM 0x00000001
- #define WMDM_STORAGE_ATTR_REMOVABLE 0x00000002
- #define WMDM_STORAGE_ATTR_NONREMOVABLE 0x00000004
- #define WMDM_FILE_ATTR_FOLDER 0x00000008
- #define WMDM_FILE_ATTR_LINK 0x00000010
- #define WMDM_FILE_ATTR_FILE 0x00000020
- #define WMDM_FILE_ATTR_VIDEO 0x00000040
- #define WMDM_STORAGE_ATTR_CANEDITMETADATA 0x00000080
- #define WMDM_STORAGE_ATTR_FOLDERS 0x00000100
- #define WMDM_FILE_ATTR_AUDIO 0x00001000
- #define WMDM_FILE_ATTR_DATA 0x00002000
- #define WMDM_FILE_ATTR_CANPLAY 0x00004000
- #define WMDM_FILE_ATTR_CANDELETE 0x00008000
- #define WMDM_FILE_ATTR_CANMOVE 0x00010000
- #define WMDM_FILE_ATTR_CANRENAME 0x00020000
- #define WMDM_FILE_ATTR_CANREAD 0x00040000
- #define WMDM_FILE_ATTR_MUSIC 0x00080000
- #define WMDM_FILE_CREATE_OVERWRITE 0x00100000
- #define WMDM_FILE_ATTR_AUDIOBOOK 0x00200000
- #define WMDM_FILE_ATTR_HIDDEN 0x00400000
- #define WMDM_FILE_ATTR_SYSTEM 0x00800000
- #define WMDM_FILE_ATTR_READONLY 0x01000000
- #define WMDM_STORAGE_ATTR_HAS_FOLDERS 0x02000000
- #define WMDM_STORAGE_ATTR_HAS_FILES 0x04000000
- #define WMDM_STORAGE_IS_DEFAULT 0x08000000
- #define WMDM_STORAGE_CONTAINS_DEFAULT 0x10000000
- #define WMDM_STORAGE_ATTR_VIRTUAL 0x20000000
- // Storage Capabilities Flags
- #define WMDM_STORAGECAP_FOLDERSINROOT 0x00000001
- #define WMDM_STORAGECAP_FILESINROOT 0x00000002
- #define WMDM_STORAGECAP_FOLDERSINFOLDERS 0x00000004
- #define WMDM_STORAGECAP_FILESINFOLDERS 0x00000008
- #define WMDM_STORAGECAP_FOLDERLIMITEXISTS 0x00000010
- #define WMDM_STORAGECAP_FILELIMITEXISTS 0x00000020
- #define WMDM_STORAGECAP_NOT_INITIALIZABLE 0x00000040
- // WMDM Mode Flags
- #define WMDM_MODE_BLOCK 0x00000001
- #define WMDM_MODE_THREAD 0x00000002
- #define WMDM_CONTENT_FILE 0x00000004
- #define WMDM_CONTENT_FOLDER 0x00000008
- #define WMDM_CONTENT_OPERATIONINTERFACE 0x00000010
- #define WMDM_MODE_QUERY 0x00000020
- #define WMDM_MODE_PROGRESS 0x00000040
- #define WMDM_MODE_TRANSFER_PROTECTED 0x00000080
- #define WMDM_MODE_TRANSFER_UNPROTECTED 0x00000100
- #define WMDM_STORAGECONTROL_INSERTBEFORE 0x00000200
- #define WMDM_STORAGECONTROL_INSERTAFTER 0x00000400
- #define WMDM_STORAGECONTROL_INSERTINTO 0x00000800
- #define WMDM_MODE_RECURSIVE 0x00001000
- // WMDM Rights Flags
- // NON_SDMI = !SDMI_PROTECTED
- // SDMI = SDMI_VALIDATED
- #define WMDM_RIGHTS_PLAY_ON_PC 0x00000001
- #define WMDM_RIGHTS_COPY_TO_NON_SDMI_DEVICE 0x00000002
- #define WMDM_RIGHTS_COPY_TO_CD 0x00000008
- #define WMDM_RIGHTS_COPY_TO_SDMI_DEVICE 0x00000010
- // WMDM Seek Flags
- #define WMDM_SEEK_BEGIN 0x00000001
- #define WMDM_SEEK_CURRENT 0x00000002
- #define WMDM_SEEK_END 0x00000008
- // WMDM Device Enumeration Flags
- #define DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES 0x00000001
- #define ALLOW_OUTOFBAND_NOTIFICATION 0x00000002
- enum WMDMMessage
- { WMDM_MSG_DEVICE_ARRIVAL = 0,
- WMDM_MSG_DEVICE_REMOVAL = ( WMDM_MSG_DEVICE_ARRIVAL + 1 ) ,
- WMDM_MSG_MEDIA_ARRIVAL = ( WMDM_MSG_DEVICE_REMOVAL + 1 ) ,
- WMDM_MSG_MEDIA_REMOVAL = ( WMDM_MSG_MEDIA_ARRIVAL + 1 )
- } ;
- extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0000_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0000_v0_0_s_ifspec;
- #ifndef __IWMDMMetaData_INTERFACE_DEFINED__
- #define __IWMDMMetaData_INTERFACE_DEFINED__
- /* interface IWMDMMetaData */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMMetaData;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("EC3B0663-0951-460a-9A80-0DCEED3C043C")
- IWMDMMetaData : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE AddItem(
- /* [in] */ WMDM_TAG_DATATYPE Type,
- /* [string][in] */ __RPC__in LPCWSTR pwszTagName,
- /* [unique][size_is][in] */ __RPC__in_ecount_full_opt(iLength) BYTE *pValue,
- /* [in] */ UINT iLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE QueryByName(
- /* [string][in] */ __RPC__in LPCWSTR pwszTagName,
- /* [out] */ __RPC__out WMDM_TAG_DATATYPE *pType,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbLength) BYTE **pValue,
- /* [out] */ __RPC__out UINT *pcbLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE QueryByIndex(
- /* [in] */ UINT iIndex,
- /* [string][out] */ __RPC__deref_out_opt_string WCHAR **ppwszName,
- /* [out] */ __RPC__out WMDM_TAG_DATATYPE *pType,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbLength) BYTE **ppValue,
- /* [out] */ __RPC__out UINT *pcbLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetItemCount(
- /* [out] */ __RPC__out UINT *iCount) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMMetaDataVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMMetaData * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMMetaData * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMMetaData * This);
-
- HRESULT ( STDMETHODCALLTYPE *AddItem )(
- IWMDMMetaData * This,
- /* [in] */ WMDM_TAG_DATATYPE Type,
- /* [string][in] */ __RPC__in LPCWSTR pwszTagName,
- /* [unique][size_is][in] */ __RPC__in_ecount_full_opt(iLength) BYTE *pValue,
- /* [in] */ UINT iLength);
-
- HRESULT ( STDMETHODCALLTYPE *QueryByName )(
- IWMDMMetaData * This,
- /* [string][in] */ __RPC__in LPCWSTR pwszTagName,
- /* [out] */ __RPC__out WMDM_TAG_DATATYPE *pType,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbLength) BYTE **pValue,
- /* [out] */ __RPC__out UINT *pcbLength);
-
- HRESULT ( STDMETHODCALLTYPE *QueryByIndex )(
- IWMDMMetaData * This,
- /* [in] */ UINT iIndex,
- /* [string][out] */ __RPC__deref_out_opt_string WCHAR **ppwszName,
- /* [out] */ __RPC__out WMDM_TAG_DATATYPE *pType,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbLength) BYTE **ppValue,
- /* [out] */ __RPC__out UINT *pcbLength);
-
- HRESULT ( STDMETHODCALLTYPE *GetItemCount )(
- IWMDMMetaData * This,
- /* [out] */ __RPC__out UINT *iCount);
-
- END_INTERFACE
- } IWMDMMetaDataVtbl;
- interface IWMDMMetaData
- {
- CONST_VTBL struct IWMDMMetaDataVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMMetaData_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMMetaData_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMMetaData_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMMetaData_AddItem(This,Type,pwszTagName,pValue,iLength) \
- ( (This)->lpVtbl -> AddItem(This,Type,pwszTagName,pValue,iLength) )
- #define IWMDMMetaData_QueryByName(This,pwszTagName,pType,pValue,pcbLength) \
- ( (This)->lpVtbl -> QueryByName(This,pwszTagName,pType,pValue,pcbLength) )
- #define IWMDMMetaData_QueryByIndex(This,iIndex,ppwszName,pType,ppValue,pcbLength) \
- ( (This)->lpVtbl -> QueryByIndex(This,iIndex,ppwszName,pType,ppValue,pcbLength) )
- #define IWMDMMetaData_GetItemCount(This,iCount) \
- ( (This)->lpVtbl -> GetItemCount(This,iCount) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMMetaData_INTERFACE_DEFINED__ */
- #ifndef __IWMDeviceManager_INTERFACE_DEFINED__
- #define __IWMDeviceManager_INTERFACE_DEFINED__
- /* interface IWMDeviceManager */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDeviceManager;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A00-33ED-11d3-8470-00C04F79DBC0")
- IWMDeviceManager : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetRevision(
- /* [out] */ __RPC__out DWORD *pdwRevision) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDeviceCount(
- /* [out] */ __RPC__out DWORD *pdwCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumDevices(
- /* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDeviceManagerVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDeviceManager * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDeviceManager * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDeviceManager * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetRevision )(
- IWMDeviceManager * This,
- /* [out] */ __RPC__out DWORD *pdwRevision);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
- IWMDeviceManager * This,
- /* [out] */ __RPC__out DWORD *pdwCount);
-
- HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
- IWMDeviceManager * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
-
- END_INTERFACE
- } IWMDeviceManagerVtbl;
- interface IWMDeviceManager
- {
- CONST_VTBL struct IWMDeviceManagerVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDeviceManager_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDeviceManager_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDeviceManager_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDeviceManager_GetRevision(This,pdwRevision) \
- ( (This)->lpVtbl -> GetRevision(This,pdwRevision) )
- #define IWMDeviceManager_GetDeviceCount(This,pdwCount) \
- ( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
- #define IWMDeviceManager_EnumDevices(This,ppEnumDevice) \
- ( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDeviceManager_INTERFACE_DEFINED__ */
- #ifndef __IWMDeviceManager2_INTERFACE_DEFINED__
- #define __IWMDeviceManager2_INTERFACE_DEFINED__
- /* interface IWMDeviceManager2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDeviceManager2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("923E5249-8731-4c5b-9B1C-B8B60B6E46AF")
- IWMDeviceManager2 : public IWMDeviceManager
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetDeviceFromCanonicalName(
- /* [string][in] */ __RPC__in LPCWSTR pwszCanonicalName,
- /* [out] */ __RPC__deref_out_opt IWMDMDevice **ppDevice) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumDevices2(
- /* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reinitialize( void) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDeviceManager2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDeviceManager2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDeviceManager2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDeviceManager2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetRevision )(
- IWMDeviceManager2 * This,
- /* [out] */ __RPC__out DWORD *pdwRevision);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
- IWMDeviceManager2 * This,
- /* [out] */ __RPC__out DWORD *pdwCount);
-
- HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
- IWMDeviceManager2 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceFromCanonicalName )(
- IWMDeviceManager2 * This,
- /* [string][in] */ __RPC__in LPCWSTR pwszCanonicalName,
- /* [out] */ __RPC__deref_out_opt IWMDMDevice **ppDevice);
-
- HRESULT ( STDMETHODCALLTYPE *EnumDevices2 )(
- IWMDeviceManager2 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
-
- HRESULT ( STDMETHODCALLTYPE *Reinitialize )(
- IWMDeviceManager2 * This);
-
- END_INTERFACE
- } IWMDeviceManager2Vtbl;
- interface IWMDeviceManager2
- {
- CONST_VTBL struct IWMDeviceManager2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDeviceManager2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDeviceManager2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDeviceManager2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDeviceManager2_GetRevision(This,pdwRevision) \
- ( (This)->lpVtbl -> GetRevision(This,pdwRevision) )
- #define IWMDeviceManager2_GetDeviceCount(This,pdwCount) \
- ( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
- #define IWMDeviceManager2_EnumDevices(This,ppEnumDevice) \
- ( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
- #define IWMDeviceManager2_GetDeviceFromCanonicalName(This,pwszCanonicalName,ppDevice) \
- ( (This)->lpVtbl -> GetDeviceFromCanonicalName(This,pwszCanonicalName,ppDevice) )
- #define IWMDeviceManager2_EnumDevices2(This,ppEnumDevice) \
- ( (This)->lpVtbl -> EnumDevices2(This,ppEnumDevice) )
- #define IWMDeviceManager2_Reinitialize(This) \
- ( (This)->lpVtbl -> Reinitialize(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDeviceManager2_INTERFACE_DEFINED__ */
- #ifndef __IWMDeviceManager3_INTERFACE_DEFINED__
- #define __IWMDeviceManager3_INTERFACE_DEFINED__
- /* interface IWMDeviceManager3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDeviceManager3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("af185c41-100d-46ed-be2e-9ce8c44594ef")
- IWMDeviceManager3 : public IWMDeviceManager2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetDeviceEnumPreference(
- /* [in] */ DWORD dwEnumPref) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDeviceManager3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDeviceManager3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDeviceManager3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDeviceManager3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetRevision )(
- IWMDeviceManager3 * This,
- /* [out] */ __RPC__out DWORD *pdwRevision);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
- IWMDeviceManager3 * This,
- /* [out] */ __RPC__out DWORD *pdwCount);
-
- HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
- IWMDeviceManager3 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceFromCanonicalName )(
- IWMDeviceManager3 * This,
- /* [string][in] */ __RPC__in LPCWSTR pwszCanonicalName,
- /* [out] */ __RPC__deref_out_opt IWMDMDevice **ppDevice);
-
- HRESULT ( STDMETHODCALLTYPE *EnumDevices2 )(
- IWMDeviceManager3 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
-
- HRESULT ( STDMETHODCALLTYPE *Reinitialize )(
- IWMDeviceManager3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetDeviceEnumPreference )(
- IWMDeviceManager3 * This,
- /* [in] */ DWORD dwEnumPref);
-
- END_INTERFACE
- } IWMDeviceManager3Vtbl;
- interface IWMDeviceManager3
- {
- CONST_VTBL struct IWMDeviceManager3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDeviceManager3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDeviceManager3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDeviceManager3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDeviceManager3_GetRevision(This,pdwRevision) \
- ( (This)->lpVtbl -> GetRevision(This,pdwRevision) )
- #define IWMDeviceManager3_GetDeviceCount(This,pdwCount) \
- ( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
- #define IWMDeviceManager3_EnumDevices(This,ppEnumDevice) \
- ( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
- #define IWMDeviceManager3_GetDeviceFromCanonicalName(This,pwszCanonicalName,ppDevice) \
- ( (This)->lpVtbl -> GetDeviceFromCanonicalName(This,pwszCanonicalName,ppDevice) )
- #define IWMDeviceManager3_EnumDevices2(This,ppEnumDevice) \
- ( (This)->lpVtbl -> EnumDevices2(This,ppEnumDevice) )
- #define IWMDeviceManager3_Reinitialize(This) \
- ( (This)->lpVtbl -> Reinitialize(This) )
- #define IWMDeviceManager3_SetDeviceEnumPreference(This,dwEnumPref) \
- ( (This)->lpVtbl -> SetDeviceEnumPreference(This,dwEnumPref) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDeviceManager3_INTERFACE_DEFINED__ */
- #ifndef __IWMDMStorageGlobals_INTERFACE_DEFINED__
- #define __IWMDMStorageGlobals_INTERFACE_DEFINED__
- /* interface IWMDMStorageGlobals */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMStorageGlobals;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A07-33ED-11d3-8470-00C04F79DBC0")
- IWMDMStorageGlobals : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
- /* [out] */ __RPC__out DWORD *pdwCapabilities) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
- /* [out] */ __RPC__out PWMDMID pSerialNum,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalSize(
- /* [out] */ __RPC__out DWORD *pdwTotalSizeLow,
- /* [out] */ __RPC__out DWORD *pdwTotalSizeHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalFree(
- /* [out] */ __RPC__out DWORD *pdwFreeLow,
- /* [out] */ __RPC__out DWORD *pdwFreeHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalBad(
- /* [out] */ __RPC__out DWORD *pdwBadLow,
- /* [out] */ __RPC__out DWORD *pdwBadHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetStatus(
- /* [out] */ __RPC__out DWORD *pdwStatus) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Initialize(
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMStorageGlobalsVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMStorageGlobals * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMStorageGlobals * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMStorageGlobals * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
- IWMDMStorageGlobals * This,
- /* [out] */ __RPC__out DWORD *pdwCapabilities);
-
- HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
- IWMDMStorageGlobals * This,
- /* [out] */ __RPC__out PWMDMID pSerialNum,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalSize )(
- IWMDMStorageGlobals * This,
- /* [out] */ __RPC__out DWORD *pdwTotalSizeLow,
- /* [out] */ __RPC__out DWORD *pdwTotalSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalFree )(
- IWMDMStorageGlobals * This,
- /* [out] */ __RPC__out DWORD *pdwFreeLow,
- /* [out] */ __RPC__out DWORD *pdwFreeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalBad )(
- IWMDMStorageGlobals * This,
- /* [out] */ __RPC__out DWORD *pdwBadLow,
- /* [out] */ __RPC__out DWORD *pdwBadHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetStatus )(
- IWMDMStorageGlobals * This,
- /* [out] */ __RPC__out DWORD *pdwStatus);
-
- HRESULT ( STDMETHODCALLTYPE *Initialize )(
- IWMDMStorageGlobals * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- END_INTERFACE
- } IWMDMStorageGlobalsVtbl;
- interface IWMDMStorageGlobals
- {
- CONST_VTBL struct IWMDMStorageGlobalsVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMStorageGlobals_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMStorageGlobals_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMStorageGlobals_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMStorageGlobals_GetCapabilities(This,pdwCapabilities) \
- ( (This)->lpVtbl -> GetCapabilities(This,pdwCapabilities) )
- #define IWMDMStorageGlobals_GetSerialNumber(This,pSerialNum,abMac) \
- ( (This)->lpVtbl -> GetSerialNumber(This,pSerialNum,abMac) )
- #define IWMDMStorageGlobals_GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh) \
- ( (This)->lpVtbl -> GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh) )
- #define IWMDMStorageGlobals_GetTotalFree(This,pdwFreeLow,pdwFreeHigh) \
- ( (This)->lpVtbl -> GetTotalFree(This,pdwFreeLow,pdwFreeHigh) )
- #define IWMDMStorageGlobals_GetTotalBad(This,pdwBadLow,pdwBadHigh) \
- ( (This)->lpVtbl -> GetTotalBad(This,pdwBadLow,pdwBadHigh) )
- #define IWMDMStorageGlobals_GetStatus(This,pdwStatus) \
- ( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
- #define IWMDMStorageGlobals_Initialize(This,fuMode,pProgress) \
- ( (This)->lpVtbl -> Initialize(This,fuMode,pProgress) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMStorageGlobals_INTERFACE_DEFINED__ */
- #ifndef __IWMDMStorage_INTERFACE_DEFINED__
- #define __IWMDMStorage_INTERFACE_DEFINED__
- /* interface IWMDMStorage */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMStorage;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A06-33ED-11d3-8470-00C04F79DBC0")
- IWMDMStorage : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetAttributes(
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetStorageGlobals(
- /* [out] */ __RPC__deref_out_opt IWMDMStorageGlobals **ppStorageGlobals) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetAttributes(
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetName(
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDate(
- /* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSize(
- /* [out] */ __RPC__out DWORD *pdwSizeLow,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetRights(
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumStorage(
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **pEnumStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMStorageVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMStorage * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMStorage * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMStorage * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
- IWMDMStorage * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
- IWMDMStorage * This,
- /* [out] */ __RPC__deref_out_opt IWMDMStorageGlobals **ppStorageGlobals);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
- IWMDMStorage * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IWMDMStorage * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetDate )(
- IWMDMStorage * This,
- /* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
-
- HRESULT ( STDMETHODCALLTYPE *GetSize )(
- IWMDMStorage * This,
- /* [out] */ __RPC__out DWORD *pdwSizeLow,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- IWMDMStorage * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IWMDMStorage * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **pEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IWMDMStorage * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- END_INTERFACE
- } IWMDMStorageVtbl;
- interface IWMDMStorage
- {
- CONST_VTBL struct IWMDMStorageVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMStorage_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMStorage_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMStorage_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMStorage_SetAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
- #define IWMDMStorage_GetStorageGlobals(This,ppStorageGlobals) \
- ( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
- #define IWMDMStorage_GetAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
- #define IWMDMStorage_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IWMDMStorage_GetDate(This,pDateTimeUTC) \
- ( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
- #define IWMDMStorage_GetSize(This,pdwSizeLow,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
- #define IWMDMStorage_GetRights(This,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
- #define IWMDMStorage_EnumStorage(This,pEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,pEnumStorage) )
- #define IWMDMStorage_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMStorage_INTERFACE_DEFINED__ */
- #ifndef __IWMDMStorage2_INTERFACE_DEFINED__
- #define __IWMDMStorage2_INTERFACE_DEFINED__
- /* interface IWMDMStorage2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMStorage2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1ED5A144-5CD5-4683-9EFF-72CBDB2D9533")
- IWMDMStorage2 : public IWMDMStorage
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetStorage(
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetAttributes2(
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetAttributes2(
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [out] */ __RPC__out DWORD *pdwAttributesEx,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMStorage2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMStorage2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMStorage2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMStorage2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
- IWMDMStorage2 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
- IWMDMStorage2 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMStorageGlobals **ppStorageGlobals);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
- IWMDMStorage2 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IWMDMStorage2 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetDate )(
- IWMDMStorage2 * This,
- /* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
-
- HRESULT ( STDMETHODCALLTYPE *GetSize )(
- IWMDMStorage2 * This,
- /* [out] */ __RPC__out DWORD *pdwSizeLow,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- IWMDMStorage2 * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IWMDMStorage2 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **pEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IWMDMStorage2 * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorage )(
- IWMDMStorage2 * This,
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
- IWMDMStorage2 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
- IWMDMStorage2 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [out] */ __RPC__out DWORD *pdwAttributesEx,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
-
- END_INTERFACE
- } IWMDMStorage2Vtbl;
- interface IWMDMStorage2
- {
- CONST_VTBL struct IWMDMStorage2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMStorage2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMStorage2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMStorage2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMStorage2_SetAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
- #define IWMDMStorage2_GetStorageGlobals(This,ppStorageGlobals) \
- ( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
- #define IWMDMStorage2_GetAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
- #define IWMDMStorage2_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IWMDMStorage2_GetDate(This,pDateTimeUTC) \
- ( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
- #define IWMDMStorage2_GetSize(This,pdwSizeLow,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
- #define IWMDMStorage2_GetRights(This,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
- #define IWMDMStorage2_EnumStorage(This,pEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,pEnumStorage) )
- #define IWMDMStorage2_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #define IWMDMStorage2_GetStorage(This,pszStorageName,ppStorage) \
- ( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
- #define IWMDMStorage2_SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) \
- ( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) )
- #define IWMDMStorage2_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
- ( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMStorage2_INTERFACE_DEFINED__ */
- #ifndef __IWMDMStorage3_INTERFACE_DEFINED__
- #define __IWMDMStorage3_INTERFACE_DEFINED__
- /* interface IWMDMStorage3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMStorage3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("97717EEA-926A-464e-96A4-247B0216026E")
- IWMDMStorage3 : public IWMDMStorage2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetMetadata(
- /* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetMetadata(
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateEmptyMetadataObject(
- /* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetEnumPreference(
- /* [out][in] */ __RPC__inout WMDM_STORAGE_ENUM_MODE *pMode,
- /* [in] */ DWORD nViews,
- /* [unique][size_is][in] */ __RPC__in_ecount_full_opt(nViews) WMDMMetadataView *pViews) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMStorage3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMStorage3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMStorage3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMStorage3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
- IWMDMStorage3 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
- IWMDMStorage3 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMStorageGlobals **ppStorageGlobals);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
- IWMDMStorage3 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IWMDMStorage3 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetDate )(
- IWMDMStorage3 * This,
- /* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
-
- HRESULT ( STDMETHODCALLTYPE *GetSize )(
- IWMDMStorage3 * This,
- /* [out] */ __RPC__out DWORD *pdwSizeLow,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- IWMDMStorage3 * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IWMDMStorage3 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **pEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IWMDMStorage3 * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorage )(
- IWMDMStorage3 * This,
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
- IWMDMStorage3 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
- IWMDMStorage3 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [out] */ __RPC__out DWORD *pdwAttributesEx,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetMetadata )(
- IWMDMStorage3 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *SetMetadata )(
- IWMDMStorage3 * This,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *CreateEmptyMetadataObject )(
- IWMDMStorage3 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *SetEnumPreference )(
- IWMDMStorage3 * This,
- /* [out][in] */ __RPC__inout WMDM_STORAGE_ENUM_MODE *pMode,
- /* [in] */ DWORD nViews,
- /* [unique][size_is][in] */ __RPC__in_ecount_full_opt(nViews) WMDMMetadataView *pViews);
-
- END_INTERFACE
- } IWMDMStorage3Vtbl;
- interface IWMDMStorage3
- {
- CONST_VTBL struct IWMDMStorage3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMStorage3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMStorage3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMStorage3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMStorage3_SetAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
- #define IWMDMStorage3_GetStorageGlobals(This,ppStorageGlobals) \
- ( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
- #define IWMDMStorage3_GetAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
- #define IWMDMStorage3_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IWMDMStorage3_GetDate(This,pDateTimeUTC) \
- ( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
- #define IWMDMStorage3_GetSize(This,pdwSizeLow,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
- #define IWMDMStorage3_GetRights(This,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
- #define IWMDMStorage3_EnumStorage(This,pEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,pEnumStorage) )
- #define IWMDMStorage3_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #define IWMDMStorage3_GetStorage(This,pszStorageName,ppStorage) \
- ( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
- #define IWMDMStorage3_SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) \
- ( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) )
- #define IWMDMStorage3_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
- ( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
- #define IWMDMStorage3_GetMetadata(This,ppMetadata) \
- ( (This)->lpVtbl -> GetMetadata(This,ppMetadata) )
- #define IWMDMStorage3_SetMetadata(This,pMetadata) \
- ( (This)->lpVtbl -> SetMetadata(This,pMetadata) )
- #define IWMDMStorage3_CreateEmptyMetadataObject(This,ppMetadata) \
- ( (This)->lpVtbl -> CreateEmptyMetadataObject(This,ppMetadata) )
- #define IWMDMStorage3_SetEnumPreference(This,pMode,nViews,pViews) \
- ( (This)->lpVtbl -> SetEnumPreference(This,pMode,nViews,pViews) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMStorage3_INTERFACE_DEFINED__ */
- #ifndef __IWMDMStorage4_INTERFACE_DEFINED__
- #define __IWMDMStorage4_INTERFACE_DEFINED__
- /* interface IWMDMStorage4 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMStorage4;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c225bac5-a03a-40b8-9a23-91cf478c64a6")
- IWMDMStorage4 : public IWMDMStorage3
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetReferences(
- /* [in] */ DWORD dwRefs,
- /* [size_is][unique][in] */ __RPC__in_ecount_full_opt(dwRefs) IWMDMStorage **ppIWMDMStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetReferences(
- /* [out] */ __RPC__out DWORD *pdwRefs,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwRefs) IWMDMStorage ***pppIWMDMStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetRightsWithProgress(
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pIProgressCallback,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSpecifiedMetadata(
- /* [in] */ DWORD cProperties,
- /* [size_is][in] */ __RPC__in_ecount_full(cProperties) LPCWSTR *ppwszPropNames,
- /* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE FindStorage(
- /* [in] */ WMDM_FIND_SCOPE findScope,
- /* [in] */ __RPC__in LPCWSTR pwszUniqueID,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetParent(
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMStorage4Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMStorage4 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMStorage4 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMStorage4 * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
- IWMDMStorage4 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
- IWMDMStorage4 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMStorageGlobals **ppStorageGlobals);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
- IWMDMStorage4 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IWMDMStorage4 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetDate )(
- IWMDMStorage4 * This,
- /* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
-
- HRESULT ( STDMETHODCALLTYPE *GetSize )(
- IWMDMStorage4 * This,
- /* [out] */ __RPC__out DWORD *pdwSizeLow,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- IWMDMStorage4 * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IWMDMStorage4 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **pEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IWMDMStorage4 * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorage )(
- IWMDMStorage4 * This,
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
- IWMDMStorage4 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
- IWMDMStorage4 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [out] */ __RPC__out DWORD *pdwAttributesEx,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetMetadata )(
- IWMDMStorage4 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *SetMetadata )(
- IWMDMStorage4 * This,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *CreateEmptyMetadataObject )(
- IWMDMStorage4 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *SetEnumPreference )(
- IWMDMStorage4 * This,
- /* [out][in] */ __RPC__inout WMDM_STORAGE_ENUM_MODE *pMode,
- /* [in] */ DWORD nViews,
- /* [unique][size_is][in] */ __RPC__in_ecount_full_opt(nViews) WMDMMetadataView *pViews);
-
- HRESULT ( STDMETHODCALLTYPE *SetReferences )(
- IWMDMStorage4 * This,
- /* [in] */ DWORD dwRefs,
- /* [size_is][unique][in] */ __RPC__in_ecount_full_opt(dwRefs) IWMDMStorage **ppIWMDMStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetReferences )(
- IWMDMStorage4 * This,
- /* [out] */ __RPC__out DWORD *pdwRefs,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwRefs) IWMDMStorage ***pppIWMDMStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetRightsWithProgress )(
- IWMDMStorage4 * This,
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pIProgressCallback,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount);
-
- HRESULT ( STDMETHODCALLTYPE *GetSpecifiedMetadata )(
- IWMDMStorage4 * This,
- /* [in] */ DWORD cProperties,
- /* [size_is][in] */ __RPC__in_ecount_full(cProperties) LPCWSTR *ppwszPropNames,
- /* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *FindStorage )(
- IWMDMStorage4 * This,
- /* [in] */ WMDM_FIND_SCOPE findScope,
- /* [in] */ __RPC__in LPCWSTR pwszUniqueID,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetParent )(
- IWMDMStorage4 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
-
- END_INTERFACE
- } IWMDMStorage4Vtbl;
- interface IWMDMStorage4
- {
- CONST_VTBL struct IWMDMStorage4Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMStorage4_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMStorage4_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMStorage4_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMStorage4_SetAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
- #define IWMDMStorage4_GetStorageGlobals(This,ppStorageGlobals) \
- ( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
- #define IWMDMStorage4_GetAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
- #define IWMDMStorage4_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IWMDMStorage4_GetDate(This,pDateTimeUTC) \
- ( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
- #define IWMDMStorage4_GetSize(This,pdwSizeLow,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
- #define IWMDMStorage4_GetRights(This,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
- #define IWMDMStorage4_EnumStorage(This,pEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,pEnumStorage) )
- #define IWMDMStorage4_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #define IWMDMStorage4_GetStorage(This,pszStorageName,ppStorage) \
- ( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
- #define IWMDMStorage4_SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) \
- ( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) )
- #define IWMDMStorage4_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
- ( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
- #define IWMDMStorage4_GetMetadata(This,ppMetadata) \
- ( (This)->lpVtbl -> GetMetadata(This,ppMetadata) )
- #define IWMDMStorage4_SetMetadata(This,pMetadata) \
- ( (This)->lpVtbl -> SetMetadata(This,pMetadata) )
- #define IWMDMStorage4_CreateEmptyMetadataObject(This,ppMetadata) \
- ( (This)->lpVtbl -> CreateEmptyMetadataObject(This,ppMetadata) )
- #define IWMDMStorage4_SetEnumPreference(This,pMode,nViews,pViews) \
- ( (This)->lpVtbl -> SetEnumPreference(This,pMode,nViews,pViews) )
- #define IWMDMStorage4_SetReferences(This,dwRefs,ppIWMDMStorage) \
- ( (This)->lpVtbl -> SetReferences(This,dwRefs,ppIWMDMStorage) )
- #define IWMDMStorage4_GetReferences(This,pdwRefs,pppIWMDMStorage) \
- ( (This)->lpVtbl -> GetReferences(This,pdwRefs,pppIWMDMStorage) )
- #define IWMDMStorage4_GetRightsWithProgress(This,pIProgressCallback,ppRights,pnRightsCount) \
- ( (This)->lpVtbl -> GetRightsWithProgress(This,pIProgressCallback,ppRights,pnRightsCount) )
- #define IWMDMStorage4_GetSpecifiedMetadata(This,cProperties,ppwszPropNames,ppMetadata) \
- ( (This)->lpVtbl -> GetSpecifiedMetadata(This,cProperties,ppwszPropNames,ppMetadata) )
- #define IWMDMStorage4_FindStorage(This,findScope,pwszUniqueID,ppStorage) \
- ( (This)->lpVtbl -> FindStorage(This,findScope,pwszUniqueID,ppStorage) )
- #define IWMDMStorage4_GetParent(This,ppStorage) \
- ( (This)->lpVtbl -> GetParent(This,ppStorage) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMStorage4_INTERFACE_DEFINED__ */
- #ifndef __IWMDMOperation_INTERFACE_DEFINED__
- #define __IWMDMOperation_INTERFACE_DEFINED__
- /* interface IWMDMOperation */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMOperation;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A0B-33ED-11d3-8470-00C04F79DBC0")
- IWMDMOperation : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE BeginRead( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE BeginWrite( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetObjectName(
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetObjectName(
- /* [size_is][string][in] */ __RPC__in_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetObjectAttributes(
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetObjectAttributes(
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetObjectTotalSize(
- /* [out] */ __RPC__out DWORD *pdwSize,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetObjectTotalSize(
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwSizeHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE TransferObjectData(
- /* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE End(
- /* [in] */ __RPC__in HRESULT *phCompletionCode,
- /* [in] */ __RPC__in_opt IUnknown *pNewObject) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMOperationVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMOperation * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMOperation * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMOperation * This);
-
- HRESULT ( STDMETHODCALLTYPE *BeginRead )(
- IWMDMOperation * This);
-
- HRESULT ( STDMETHODCALLTYPE *BeginWrite )(
- IWMDMOperation * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectName )(
- IWMDMOperation * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *SetObjectName )(
- IWMDMOperation * This,
- /* [size_is][string][in] */ __RPC__in_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectAttributes )(
- IWMDMOperation * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *SetObjectAttributes )(
- IWMDMOperation * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectTotalSize )(
- IWMDMOperation * This,
- /* [out] */ __RPC__out DWORD *pdwSize,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *SetObjectTotalSize )(
- IWMDMOperation * This,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *TransferObjectData )(
- IWMDMOperation * This,
- /* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *End )(
- IWMDMOperation * This,
- /* [in] */ __RPC__in HRESULT *phCompletionCode,
- /* [in] */ __RPC__in_opt IUnknown *pNewObject);
-
- END_INTERFACE
- } IWMDMOperationVtbl;
- interface IWMDMOperation
- {
- CONST_VTBL struct IWMDMOperationVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMOperation_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMOperation_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMOperation_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMOperation_BeginRead(This) \
- ( (This)->lpVtbl -> BeginRead(This) )
- #define IWMDMOperation_BeginWrite(This) \
- ( (This)->lpVtbl -> BeginWrite(This) )
- #define IWMDMOperation_GetObjectName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetObjectName(This,pwszName,nMaxChars) )
- #define IWMDMOperation_SetObjectName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> SetObjectName(This,pwszName,nMaxChars) )
- #define IWMDMOperation_GetObjectAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetObjectAttributes(This,pdwAttributes,pFormat) )
- #define IWMDMOperation_SetObjectAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetObjectAttributes(This,dwAttributes,pFormat) )
- #define IWMDMOperation_GetObjectTotalSize(This,pdwSize,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetObjectTotalSize(This,pdwSize,pdwSizeHigh) )
- #define IWMDMOperation_SetObjectTotalSize(This,dwSize,dwSizeHigh) \
- ( (This)->lpVtbl -> SetObjectTotalSize(This,dwSize,dwSizeHigh) )
- #define IWMDMOperation_TransferObjectData(This,pData,pdwSize,abMac) \
- ( (This)->lpVtbl -> TransferObjectData(This,pData,pdwSize,abMac) )
- #define IWMDMOperation_End(This,phCompletionCode,pNewObject) \
- ( (This)->lpVtbl -> End(This,phCompletionCode,pNewObject) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMOperation_INTERFACE_DEFINED__ */
- #ifndef __IWMDMOperation2_INTERFACE_DEFINED__
- #define __IWMDMOperation2_INTERFACE_DEFINED__
- /* interface IWMDMOperation2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMOperation2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("33445B48-7DF7-425c-AD8F-0FC6D82F9F75")
- IWMDMOperation2 : public IWMDMOperation
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetObjectAttributes2(
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetObjectAttributes2(
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [out] */ __RPC__out DWORD *pdwAttributesEx,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMOperation2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMOperation2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMOperation2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMOperation2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *BeginRead )(
- IWMDMOperation2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *BeginWrite )(
- IWMDMOperation2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectName )(
- IWMDMOperation2 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *SetObjectName )(
- IWMDMOperation2 * This,
- /* [size_is][string][in] */ __RPC__in_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectAttributes )(
- IWMDMOperation2 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *SetObjectAttributes )(
- IWMDMOperation2 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectTotalSize )(
- IWMDMOperation2 * This,
- /* [out] */ __RPC__out DWORD *pdwSize,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *SetObjectTotalSize )(
- IWMDMOperation2 * This,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *TransferObjectData )(
- IWMDMOperation2 * This,
- /* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *End )(
- IWMDMOperation2 * This,
- /* [in] */ __RPC__in HRESULT *phCompletionCode,
- /* [in] */ __RPC__in_opt IUnknown *pNewObject);
-
- HRESULT ( STDMETHODCALLTYPE *SetObjectAttributes2 )(
- IWMDMOperation2 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectAttributes2 )(
- IWMDMOperation2 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [out] */ __RPC__out DWORD *pdwAttributesEx,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
-
- END_INTERFACE
- } IWMDMOperation2Vtbl;
- interface IWMDMOperation2
- {
- CONST_VTBL struct IWMDMOperation2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMOperation2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMOperation2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMOperation2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMOperation2_BeginRead(This) \
- ( (This)->lpVtbl -> BeginRead(This) )
- #define IWMDMOperation2_BeginWrite(This) \
- ( (This)->lpVtbl -> BeginWrite(This) )
- #define IWMDMOperation2_GetObjectName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetObjectName(This,pwszName,nMaxChars) )
- #define IWMDMOperation2_SetObjectName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> SetObjectName(This,pwszName,nMaxChars) )
- #define IWMDMOperation2_GetObjectAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetObjectAttributes(This,pdwAttributes,pFormat) )
- #define IWMDMOperation2_SetObjectAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetObjectAttributes(This,dwAttributes,pFormat) )
- #define IWMDMOperation2_GetObjectTotalSize(This,pdwSize,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetObjectTotalSize(This,pdwSize,pdwSizeHigh) )
- #define IWMDMOperation2_SetObjectTotalSize(This,dwSize,dwSizeHigh) \
- ( (This)->lpVtbl -> SetObjectTotalSize(This,dwSize,dwSizeHigh) )
- #define IWMDMOperation2_TransferObjectData(This,pData,pdwSize,abMac) \
- ( (This)->lpVtbl -> TransferObjectData(This,pData,pdwSize,abMac) )
- #define IWMDMOperation2_End(This,phCompletionCode,pNewObject) \
- ( (This)->lpVtbl -> End(This,phCompletionCode,pNewObject) )
- #define IWMDMOperation2_SetObjectAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) \
- ( (This)->lpVtbl -> SetObjectAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) )
- #define IWMDMOperation2_GetObjectAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
- ( (This)->lpVtbl -> GetObjectAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMOperation2_INTERFACE_DEFINED__ */
- #ifndef __IWMDMOperation3_INTERFACE_DEFINED__
- #define __IWMDMOperation3_INTERFACE_DEFINED__
- /* interface IWMDMOperation3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMOperation3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("d1f9b46a-9ca8-46d8-9d0f-1ec9bae54919")
- IWMDMOperation3 : public IWMDMOperation
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE TransferObjectDataOnClearChannel(
- /* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMOperation3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMOperation3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMOperation3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMOperation3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *BeginRead )(
- IWMDMOperation3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *BeginWrite )(
- IWMDMOperation3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectName )(
- IWMDMOperation3 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *SetObjectName )(
- IWMDMOperation3 * This,
- /* [size_is][string][in] */ __RPC__in_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectAttributes )(
- IWMDMOperation3 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *SetObjectAttributes )(
- IWMDMOperation3 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectTotalSize )(
- IWMDMOperation3 * This,
- /* [out] */ __RPC__out DWORD *pdwSize,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *SetObjectTotalSize )(
- IWMDMOperation3 * This,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *TransferObjectData )(
- IWMDMOperation3 * This,
- /* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *End )(
- IWMDMOperation3 * This,
- /* [in] */ __RPC__in HRESULT *phCompletionCode,
- /* [in] */ __RPC__in_opt IUnknown *pNewObject);
-
- HRESULT ( STDMETHODCALLTYPE *TransferObjectDataOnClearChannel )(
- IWMDMOperation3 * This,
- /* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize);
-
- END_INTERFACE
- } IWMDMOperation3Vtbl;
- interface IWMDMOperation3
- {
- CONST_VTBL struct IWMDMOperation3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMOperation3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMOperation3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMOperation3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMOperation3_BeginRead(This) \
- ( (This)->lpVtbl -> BeginRead(This) )
- #define IWMDMOperation3_BeginWrite(This) \
- ( (This)->lpVtbl -> BeginWrite(This) )
- #define IWMDMOperation3_GetObjectName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetObjectName(This,pwszName,nMaxChars) )
- #define IWMDMOperation3_SetObjectName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> SetObjectName(This,pwszName,nMaxChars) )
- #define IWMDMOperation3_GetObjectAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetObjectAttributes(This,pdwAttributes,pFormat) )
- #define IWMDMOperation3_SetObjectAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetObjectAttributes(This,dwAttributes,pFormat) )
- #define IWMDMOperation3_GetObjectTotalSize(This,pdwSize,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetObjectTotalSize(This,pdwSize,pdwSizeHigh) )
- #define IWMDMOperation3_SetObjectTotalSize(This,dwSize,dwSizeHigh) \
- ( (This)->lpVtbl -> SetObjectTotalSize(This,dwSize,dwSizeHigh) )
- #define IWMDMOperation3_TransferObjectData(This,pData,pdwSize,abMac) \
- ( (This)->lpVtbl -> TransferObjectData(This,pData,pdwSize,abMac) )
- #define IWMDMOperation3_End(This,phCompletionCode,pNewObject) \
- ( (This)->lpVtbl -> End(This,phCompletionCode,pNewObject) )
- #define IWMDMOperation3_TransferObjectDataOnClearChannel(This,pData,pdwSize) \
- ( (This)->lpVtbl -> TransferObjectDataOnClearChannel(This,pData,pdwSize) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMOperation3_INTERFACE_DEFINED__ */
- #ifndef __IWMDMProgress_INTERFACE_DEFINED__
- #define __IWMDMProgress_INTERFACE_DEFINED__
- /* interface IWMDMProgress */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMProgress;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A0C-33ED-11d3-8470-00C04F79DBC0")
- IWMDMProgress : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Begin(
- /* [in] */ DWORD dwEstimatedTicks) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Progress(
- /* [in] */ DWORD dwTranspiredTicks) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE End( void) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMProgressVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMProgress * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMProgress * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMProgress * This);
-
- HRESULT ( STDMETHODCALLTYPE *Begin )(
- IWMDMProgress * This,
- /* [in] */ DWORD dwEstimatedTicks);
-
- HRESULT ( STDMETHODCALLTYPE *Progress )(
- IWMDMProgress * This,
- /* [in] */ DWORD dwTranspiredTicks);
-
- HRESULT ( STDMETHODCALLTYPE *End )(
- IWMDMProgress * This);
-
- END_INTERFACE
- } IWMDMProgressVtbl;
- interface IWMDMProgress
- {
- CONST_VTBL struct IWMDMProgressVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMProgress_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMProgress_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMProgress_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMProgress_Begin(This,dwEstimatedTicks) \
- ( (This)->lpVtbl -> Begin(This,dwEstimatedTicks) )
- #define IWMDMProgress_Progress(This,dwTranspiredTicks) \
- ( (This)->lpVtbl -> Progress(This,dwTranspiredTicks) )
- #define IWMDMProgress_End(This) \
- ( (This)->lpVtbl -> End(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMProgress_INTERFACE_DEFINED__ */
- #ifndef __IWMDMProgress2_INTERFACE_DEFINED__
- #define __IWMDMProgress2_INTERFACE_DEFINED__
- /* interface IWMDMProgress2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMProgress2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("3A43F550-B383-4e92-B04A-E6BBC660FEFC")
- IWMDMProgress2 : public IWMDMProgress
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE End2(
- /* [in] */ HRESULT hrCompletionCode) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMProgress2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMProgress2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMProgress2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMProgress2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *Begin )(
- IWMDMProgress2 * This,
- /* [in] */ DWORD dwEstimatedTicks);
-
- HRESULT ( STDMETHODCALLTYPE *Progress )(
- IWMDMProgress2 * This,
- /* [in] */ DWORD dwTranspiredTicks);
-
- HRESULT ( STDMETHODCALLTYPE *End )(
- IWMDMProgress2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *End2 )(
- IWMDMProgress2 * This,
- /* [in] */ HRESULT hrCompletionCode);
-
- END_INTERFACE
- } IWMDMProgress2Vtbl;
- interface IWMDMProgress2
- {
- CONST_VTBL struct IWMDMProgress2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMProgress2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMProgress2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMProgress2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMProgress2_Begin(This,dwEstimatedTicks) \
- ( (This)->lpVtbl -> Begin(This,dwEstimatedTicks) )
- #define IWMDMProgress2_Progress(This,dwTranspiredTicks) \
- ( (This)->lpVtbl -> Progress(This,dwTranspiredTicks) )
- #define IWMDMProgress2_End(This) \
- ( (This)->lpVtbl -> End(This) )
- #define IWMDMProgress2_End2(This,hrCompletionCode) \
- ( (This)->lpVtbl -> End2(This,hrCompletionCode) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMProgress2_INTERFACE_DEFINED__ */
- #ifndef __IWMDMProgress3_INTERFACE_DEFINED__
- #define __IWMDMProgress3_INTERFACE_DEFINED__
- /* interface IWMDMProgress3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMProgress3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("21DE01CB-3BB4-4929-B21A-17AF3F80F658")
- IWMDMProgress3 : public IWMDMProgress2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Begin3(
- /* [in] */ GUID EventId,
- /* [in] */ DWORD dwEstimatedTicks,
- /* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Progress3(
- /* [in] */ GUID EventId,
- /* [in] */ DWORD dwTranspiredTicks,
- /* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE End3(
- /* [in] */ GUID EventId,
- /* [in] */ HRESULT hrCompletionCode,
- /* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMProgress3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMProgress3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMProgress3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMProgress3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *Begin )(
- IWMDMProgress3 * This,
- /* [in] */ DWORD dwEstimatedTicks);
-
- HRESULT ( STDMETHODCALLTYPE *Progress )(
- IWMDMProgress3 * This,
- /* [in] */ DWORD dwTranspiredTicks);
-
- HRESULT ( STDMETHODCALLTYPE *End )(
- IWMDMProgress3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *End2 )(
- IWMDMProgress3 * This,
- /* [in] */ HRESULT hrCompletionCode);
-
- HRESULT ( STDMETHODCALLTYPE *Begin3 )(
- IWMDMProgress3 * This,
- /* [in] */ GUID EventId,
- /* [in] */ DWORD dwEstimatedTicks,
- /* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext);
-
- HRESULT ( STDMETHODCALLTYPE *Progress3 )(
- IWMDMProgress3 * This,
- /* [in] */ GUID EventId,
- /* [in] */ DWORD dwTranspiredTicks,
- /* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext);
-
- HRESULT ( STDMETHODCALLTYPE *End3 )(
- IWMDMProgress3 * This,
- /* [in] */ GUID EventId,
- /* [in] */ HRESULT hrCompletionCode,
- /* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext);
-
- END_INTERFACE
- } IWMDMProgress3Vtbl;
- interface IWMDMProgress3
- {
- CONST_VTBL struct IWMDMProgress3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMProgress3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMProgress3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMProgress3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMProgress3_Begin(This,dwEstimatedTicks) \
- ( (This)->lpVtbl -> Begin(This,dwEstimatedTicks) )
- #define IWMDMProgress3_Progress(This,dwTranspiredTicks) \
- ( (This)->lpVtbl -> Progress(This,dwTranspiredTicks) )
- #define IWMDMProgress3_End(This) \
- ( (This)->lpVtbl -> End(This) )
- #define IWMDMProgress3_End2(This,hrCompletionCode) \
- ( (This)->lpVtbl -> End2(This,hrCompletionCode) )
- #define IWMDMProgress3_Begin3(This,EventId,dwEstimatedTicks,pContext) \
- ( (This)->lpVtbl -> Begin3(This,EventId,dwEstimatedTicks,pContext) )
- #define IWMDMProgress3_Progress3(This,EventId,dwTranspiredTicks,pContext) \
- ( (This)->lpVtbl -> Progress3(This,EventId,dwTranspiredTicks,pContext) )
- #define IWMDMProgress3_End3(This,EventId,hrCompletionCode,pContext) \
- ( (This)->lpVtbl -> End3(This,EventId,hrCompletionCode,pContext) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMProgress3_INTERFACE_DEFINED__ */
- #ifndef __IWMDMDevice_INTERFACE_DEFINED__
- #define __IWMDMDevice_INTERFACE_DEFINED__
- /* interface IWMDMDevice */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMDevice;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A02-33ED-11d3-8470-00C04F79DBC0")
- IWMDMDevice : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetName(
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetManufacturer(
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetVersion(
- /* [out] */ __RPC__out DWORD *pdwVersion) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetType(
- /* [out] */ __RPC__out DWORD *pdwType) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
- /* [out] */ __RPC__out PWMDMID pSerialNumber,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPowerSource(
- /* [out] */ __RPC__out DWORD *pdwPowerSource,
- /* [out] */ __RPC__out DWORD *pdwPercentRemaining) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetStatus(
- /* [out] */ __RPC__out DWORD *pdwStatus) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDeviceIcon(
- /* [out] */ __RPC__out ULONG *hIcon) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumStorage(
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetFormatSupport(
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **ppFormatEx,
- /* [out] */ __RPC__out UINT *pnFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
- /* [out] */ __RPC__out UINT *pnMimeTypeCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMDeviceVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMDevice * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMDevice * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMDevice * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IWMDMDevice * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
- IWMDMDevice * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetVersion )(
- IWMDMDevice * This,
- /* [out] */ __RPC__out DWORD *pdwVersion);
-
- HRESULT ( STDMETHODCALLTYPE *GetType )(
- IWMDMDevice * This,
- /* [out] */ __RPC__out DWORD *pdwType);
-
- HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
- IWMDMDevice * This,
- /* [out] */ __RPC__out PWMDMID pSerialNumber,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
- IWMDMDevice * This,
- /* [out] */ __RPC__out DWORD *pdwPowerSource,
- /* [out] */ __RPC__out DWORD *pdwPercentRemaining);
-
- HRESULT ( STDMETHODCALLTYPE *GetStatus )(
- IWMDMDevice * This,
- /* [out] */ __RPC__out DWORD *pdwStatus);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
- IWMDMDevice * This,
- /* [out] */ __RPC__out ULONG *hIcon);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IWMDMDevice * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
- IWMDMDevice * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **ppFormatEx,
- /* [out] */ __RPC__out UINT *pnFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
- /* [out] */ __RPC__out UINT *pnMimeTypeCount);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IWMDMDevice * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- END_INTERFACE
- } IWMDMDeviceVtbl;
- interface IWMDMDevice
- {
- CONST_VTBL struct IWMDMDeviceVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMDevice_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMDevice_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMDevice_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMDevice_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IWMDMDevice_GetManufacturer(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
- #define IWMDMDevice_GetVersion(This,pdwVersion) \
- ( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
- #define IWMDMDevice_GetType(This,pdwType) \
- ( (This)->lpVtbl -> GetType(This,pdwType) )
- #define IWMDMDevice_GetSerialNumber(This,pSerialNumber,abMac) \
- ( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
- #define IWMDMDevice_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
- ( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
- #define IWMDMDevice_GetStatus(This,pdwStatus) \
- ( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
- #define IWMDMDevice_GetDeviceIcon(This,hIcon) \
- ( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
- #define IWMDMDevice_EnumStorage(This,ppEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
- #define IWMDMDevice_GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
- ( (This)->lpVtbl -> GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
- #define IWMDMDevice_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMDevice_INTERFACE_DEFINED__ */
- #ifndef __IWMDMDevice2_INTERFACE_DEFINED__
- #define __IWMDMDevice2_INTERFACE_DEFINED__
- /* interface IWMDMDevice2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMDevice2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("E34F3D37-9D67-4fc1-9252-62D28B2F8B55")
- IWMDMDevice2 : public IWMDMDevice
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetStorage(
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetFormatSupport2(
- /* [in] */ DWORD dwFlags,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
- /* [ref][out] */ __RPC__out UINT *pnFileTypeCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSpecifyPropertyPages(
- /* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
- /* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
- /* [ref][out] */ __RPC__out ULONG *pcUnks) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCanonicalName(
- /* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
- /* [in] */ UINT nMaxChars) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMDevice2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMDevice2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMDevice2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMDevice2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IWMDMDevice2 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
- IWMDMDevice2 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetVersion )(
- IWMDMDevice2 * This,
- /* [out] */ __RPC__out DWORD *pdwVersion);
-
- HRESULT ( STDMETHODCALLTYPE *GetType )(
- IWMDMDevice2 * This,
- /* [out] */ __RPC__out DWORD *pdwType);
-
- HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
- IWMDMDevice2 * This,
- /* [out] */ __RPC__out PWMDMID pSerialNumber,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
- IWMDMDevice2 * This,
- /* [out] */ __RPC__out DWORD *pdwPowerSource,
- /* [out] */ __RPC__out DWORD *pdwPercentRemaining);
-
- HRESULT ( STDMETHODCALLTYPE *GetStatus )(
- IWMDMDevice2 * This,
- /* [out] */ __RPC__out DWORD *pdwStatus);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
- IWMDMDevice2 * This,
- /* [out] */ __RPC__out ULONG *hIcon);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IWMDMDevice2 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
- IWMDMDevice2 * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **ppFormatEx,
- /* [out] */ __RPC__out UINT *pnFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
- /* [out] */ __RPC__out UINT *pnMimeTypeCount);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IWMDMDevice2 * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorage )(
- IWMDMDevice2 * This,
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatSupport2 )(
- IWMDMDevice2 * This,
- /* [in] */ DWORD dwFlags,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
- /* [ref][out] */ __RPC__out UINT *pnFileTypeCount);
-
- HRESULT ( STDMETHODCALLTYPE *GetSpecifyPropertyPages )(
- IWMDMDevice2 * This,
- /* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
- /* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
- /* [ref][out] */ __RPC__out ULONG *pcUnks);
-
- HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
- IWMDMDevice2 * This,
- /* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
- /* [in] */ UINT nMaxChars);
-
- END_INTERFACE
- } IWMDMDevice2Vtbl;
- interface IWMDMDevice2
- {
- CONST_VTBL struct IWMDMDevice2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMDevice2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMDevice2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMDevice2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMDevice2_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IWMDMDevice2_GetManufacturer(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
- #define IWMDMDevice2_GetVersion(This,pdwVersion) \
- ( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
- #define IWMDMDevice2_GetType(This,pdwType) \
- ( (This)->lpVtbl -> GetType(This,pdwType) )
- #define IWMDMDevice2_GetSerialNumber(This,pSerialNumber,abMac) \
- ( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
- #define IWMDMDevice2_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
- ( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
- #define IWMDMDevice2_GetStatus(This,pdwStatus) \
- ( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
- #define IWMDMDevice2_GetDeviceIcon(This,hIcon) \
- ( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
- #define IWMDMDevice2_EnumStorage(This,ppEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
- #define IWMDMDevice2_GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
- ( (This)->lpVtbl -> GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
- #define IWMDMDevice2_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #define IWMDMDevice2_GetStorage(This,pszStorageName,ppStorage) \
- ( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
- #define IWMDMDevice2_GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) \
- ( (This)->lpVtbl -> GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) )
- #define IWMDMDevice2_GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) \
- ( (This)->lpVtbl -> GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) )
- #define IWMDMDevice2_GetCanonicalName(This,pwszPnPName,nMaxChars) \
- ( (This)->lpVtbl -> GetCanonicalName(This,pwszPnPName,nMaxChars) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMDevice2_INTERFACE_DEFINED__ */
- #ifndef __IWMDMDevice3_INTERFACE_DEFINED__
- #define __IWMDMDevice3_INTERFACE_DEFINED__
- /* interface IWMDMDevice3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMDevice3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6c03e4fe-05db-4dda-9e3c-06233a6d5d65")
- IWMDMDevice3 : public IWMDMDevice2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetProperty(
- /* [in] */ __RPC__in LPCWSTR pwszPropName,
- /* [out] */ __RPC__out PROPVARIANT *pValue) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetProperty(
- /* [in] */ __RPC__in LPCWSTR pwszPropName,
- /* [in] */ __RPC__in const PROPVARIANT *pValue) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetFormatCapability(
- /* [in] */ WMDM_FORMATCODE format,
- /* [out] */ __RPC__out WMDM_FORMAT_CAPABILITY *pFormatSupport) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE DeviceIoControl(
- /* [in] */ DWORD dwIoControlCode,
- /* [size_is][in] */ __RPC__in_ecount_full(nInBufferSize) BYTE *lpInBuffer,
- /* [in] */ DWORD nInBufferSize,
- /* [size_is][out] */ __RPC__out_ecount_full(*pnOutBufferSize) BYTE *lpOutBuffer,
- /* [out][in] */ __RPC__inout LPDWORD pnOutBufferSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE FindStorage(
- /* [in] */ WMDM_FIND_SCOPE findScope,
- /* [in] */ __RPC__in LPCWSTR pwszUniqueID,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMDevice3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMDevice3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMDevice3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMDevice3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IWMDMDevice3 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
- IWMDMDevice3 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetVersion )(
- IWMDMDevice3 * This,
- /* [out] */ __RPC__out DWORD *pdwVersion);
-
- HRESULT ( STDMETHODCALLTYPE *GetType )(
- IWMDMDevice3 * This,
- /* [out] */ __RPC__out DWORD *pdwType);
-
- HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
- IWMDMDevice3 * This,
- /* [out] */ __RPC__out PWMDMID pSerialNumber,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
- IWMDMDevice3 * This,
- /* [out] */ __RPC__out DWORD *pdwPowerSource,
- /* [out] */ __RPC__out DWORD *pdwPercentRemaining);
-
- HRESULT ( STDMETHODCALLTYPE *GetStatus )(
- IWMDMDevice3 * This,
- /* [out] */ __RPC__out DWORD *pdwStatus);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
- IWMDMDevice3 * This,
- /* [out] */ __RPC__out ULONG *hIcon);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IWMDMDevice3 * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
- IWMDMDevice3 * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **ppFormatEx,
- /* [out] */ __RPC__out UINT *pnFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
- /* [out] */ __RPC__out UINT *pnMimeTypeCount);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IWMDMDevice3 * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorage )(
- IWMDMDevice3 * This,
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatSupport2 )(
- IWMDMDevice3 * This,
- /* [in] */ DWORD dwFlags,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
- /* [ref][out] */ __RPC__out UINT *pnFileTypeCount);
-
- HRESULT ( STDMETHODCALLTYPE *GetSpecifyPropertyPages )(
- IWMDMDevice3 * This,
- /* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
- /* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
- /* [ref][out] */ __RPC__out ULONG *pcUnks);
-
- HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
- IWMDMDevice3 * This,
- /* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetProperty )(
- IWMDMDevice3 * This,
- /* [in] */ __RPC__in LPCWSTR pwszPropName,
- /* [out] */ __RPC__out PROPVARIANT *pValue);
-
- HRESULT ( STDMETHODCALLTYPE *SetProperty )(
- IWMDMDevice3 * This,
- /* [in] */ __RPC__in LPCWSTR pwszPropName,
- /* [in] */ __RPC__in const PROPVARIANT *pValue);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatCapability )(
- IWMDMDevice3 * This,
- /* [in] */ WMDM_FORMATCODE format,
- /* [out] */ __RPC__out WMDM_FORMAT_CAPABILITY *pFormatSupport);
-
- HRESULT ( STDMETHODCALLTYPE *DeviceIoControl )(
- IWMDMDevice3 * This,
- /* [in] */ DWORD dwIoControlCode,
- /* [size_is][in] */ __RPC__in_ecount_full(nInBufferSize) BYTE *lpInBuffer,
- /* [in] */ DWORD nInBufferSize,
- /* [size_is][out] */ __RPC__out_ecount_full(*pnOutBufferSize) BYTE *lpOutBuffer,
- /* [out][in] */ __RPC__inout LPDWORD pnOutBufferSize);
-
- HRESULT ( STDMETHODCALLTYPE *FindStorage )(
- IWMDMDevice3 * This,
- /* [in] */ WMDM_FIND_SCOPE findScope,
- /* [in] */ __RPC__in LPCWSTR pwszUniqueID,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
-
- END_INTERFACE
- } IWMDMDevice3Vtbl;
- interface IWMDMDevice3
- {
- CONST_VTBL struct IWMDMDevice3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMDevice3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMDevice3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMDevice3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMDevice3_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IWMDMDevice3_GetManufacturer(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
- #define IWMDMDevice3_GetVersion(This,pdwVersion) \
- ( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
- #define IWMDMDevice3_GetType(This,pdwType) \
- ( (This)->lpVtbl -> GetType(This,pdwType) )
- #define IWMDMDevice3_GetSerialNumber(This,pSerialNumber,abMac) \
- ( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
- #define IWMDMDevice3_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
- ( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
- #define IWMDMDevice3_GetStatus(This,pdwStatus) \
- ( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
- #define IWMDMDevice3_GetDeviceIcon(This,hIcon) \
- ( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
- #define IWMDMDevice3_EnumStorage(This,ppEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
- #define IWMDMDevice3_GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
- ( (This)->lpVtbl -> GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
- #define IWMDMDevice3_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #define IWMDMDevice3_GetStorage(This,pszStorageName,ppStorage) \
- ( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
- #define IWMDMDevice3_GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) \
- ( (This)->lpVtbl -> GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) )
- #define IWMDMDevice3_GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) \
- ( (This)->lpVtbl -> GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) )
- #define IWMDMDevice3_GetCanonicalName(This,pwszPnPName,nMaxChars) \
- ( (This)->lpVtbl -> GetCanonicalName(This,pwszPnPName,nMaxChars) )
- #define IWMDMDevice3_GetProperty(This,pwszPropName,pValue) \
- ( (This)->lpVtbl -> GetProperty(This,pwszPropName,pValue) )
- #define IWMDMDevice3_SetProperty(This,pwszPropName,pValue) \
- ( (This)->lpVtbl -> SetProperty(This,pwszPropName,pValue) )
- #define IWMDMDevice3_GetFormatCapability(This,format,pFormatSupport) \
- ( (This)->lpVtbl -> GetFormatCapability(This,format,pFormatSupport) )
- #define IWMDMDevice3_DeviceIoControl(This,dwIoControlCode,lpInBuffer,nInBufferSize,lpOutBuffer,pnOutBufferSize) \
- ( (This)->lpVtbl -> DeviceIoControl(This,dwIoControlCode,lpInBuffer,nInBufferSize,lpOutBuffer,pnOutBufferSize) )
- #define IWMDMDevice3_FindStorage(This,findScope,pwszUniqueID,ppStorage) \
- ( (This)->lpVtbl -> FindStorage(This,findScope,pwszUniqueID,ppStorage) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMDevice3_INTERFACE_DEFINED__ */
- #ifndef __IWMDMDeviceSession_INTERFACE_DEFINED__
- #define __IWMDMDeviceSession_INTERFACE_DEFINED__
- /* interface IWMDMDeviceSession */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMDeviceSession;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("82af0a65-9d96-412c-83e5-3c43e4b06cc7")
- IWMDMDeviceSession : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE BeginSession(
- /* [in] */ WMDM_SESSION_TYPE type,
- /* [unique][size_is][in] */ __RPC__in_ecount_full_opt(dwSizeCtx) BYTE *pCtx,
- /* [in] */ DWORD dwSizeCtx) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EndSession(
- /* [in] */ WMDM_SESSION_TYPE type,
- /* [unique][size_is][in] */ __RPC__in_ecount_full_opt(dwSizeCtx) BYTE *pCtx,
- /* [in] */ DWORD dwSizeCtx) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMDeviceSessionVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMDeviceSession * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMDeviceSession * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMDeviceSession * This);
-
- HRESULT ( STDMETHODCALLTYPE *BeginSession )(
- IWMDMDeviceSession * This,
- /* [in] */ WMDM_SESSION_TYPE type,
- /* [unique][size_is][in] */ __RPC__in_ecount_full_opt(dwSizeCtx) BYTE *pCtx,
- /* [in] */ DWORD dwSizeCtx);
-
- HRESULT ( STDMETHODCALLTYPE *EndSession )(
- IWMDMDeviceSession * This,
- /* [in] */ WMDM_SESSION_TYPE type,
- /* [unique][size_is][in] */ __RPC__in_ecount_full_opt(dwSizeCtx) BYTE *pCtx,
- /* [in] */ DWORD dwSizeCtx);
-
- END_INTERFACE
- } IWMDMDeviceSessionVtbl;
- interface IWMDMDeviceSession
- {
- CONST_VTBL struct IWMDMDeviceSessionVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMDeviceSession_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMDeviceSession_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMDeviceSession_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMDeviceSession_BeginSession(This,type,pCtx,dwSizeCtx) \
- ( (This)->lpVtbl -> BeginSession(This,type,pCtx,dwSizeCtx) )
- #define IWMDMDeviceSession_EndSession(This,type,pCtx,dwSizeCtx) \
- ( (This)->lpVtbl -> EndSession(This,type,pCtx,dwSizeCtx) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMDeviceSession_INTERFACE_DEFINED__ */
- #ifndef __IWMDMEnumDevice_INTERFACE_DEFINED__
- #define __IWMDMEnumDevice_INTERFACE_DEFINED__
- /* interface IWMDMEnumDevice */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMEnumDevice;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A01-33ED-11d3-8470-00C04F79DBC0")
- IWMDMEnumDevice : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IWMDMDevice **ppDevice,
- /* [out] */ __RPC__out ULONG *pceltFetched) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt,
- /* [out] */ __RPC__out ULONG *pceltFetched) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMEnumDeviceVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMEnumDevice * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMEnumDevice * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMEnumDevice * This);
-
- HRESULT ( STDMETHODCALLTYPE *Next )(
- IWMDMEnumDevice * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IWMDMDevice **ppDevice,
- /* [out] */ __RPC__out ULONG *pceltFetched);
-
- HRESULT ( STDMETHODCALLTYPE *Skip )(
- IWMDMEnumDevice * This,
- /* [in] */ ULONG celt,
- /* [out] */ __RPC__out ULONG *pceltFetched);
-
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- IWMDMEnumDevice * This);
-
- HRESULT ( STDMETHODCALLTYPE *Clone )(
- IWMDMEnumDevice * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
-
- END_INTERFACE
- } IWMDMEnumDeviceVtbl;
- interface IWMDMEnumDevice
- {
- CONST_VTBL struct IWMDMEnumDeviceVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMEnumDevice_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMEnumDevice_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMEnumDevice_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMEnumDevice_Next(This,celt,ppDevice,pceltFetched) \
- ( (This)->lpVtbl -> Next(This,celt,ppDevice,pceltFetched) )
- #define IWMDMEnumDevice_Skip(This,celt,pceltFetched) \
- ( (This)->lpVtbl -> Skip(This,celt,pceltFetched) )
- #define IWMDMEnumDevice_Reset(This) \
- ( (This)->lpVtbl -> Reset(This) )
- #define IWMDMEnumDevice_Clone(This,ppEnumDevice) \
- ( (This)->lpVtbl -> Clone(This,ppEnumDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMEnumDevice_INTERFACE_DEFINED__ */
- #ifndef __IWMDMDeviceControl_INTERFACE_DEFINED__
- #define __IWMDMDeviceControl_INTERFACE_DEFINED__
- /* interface IWMDMDeviceControl */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMDeviceControl;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A04-33ED-11d3-8470-00C04F79DBC0")
- IWMDMDeviceControl : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetStatus(
- /* [out] */ __RPC__out DWORD *pdwStatus) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
- /* [out] */ __RPC__out DWORD *pdwCapabilitiesMask) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Play( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Record(
- /* [in] */ __RPC__in _WAVEFORMATEX *pFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Seek(
- /* [in] */ UINT fuMode,
- /* [in] */ int nOffset) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMDeviceControlVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMDeviceControl * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMDeviceControl * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMDeviceControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetStatus )(
- IWMDMDeviceControl * This,
- /* [out] */ __RPC__out DWORD *pdwStatus);
-
- HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
- IWMDMDeviceControl * This,
- /* [out] */ __RPC__out DWORD *pdwCapabilitiesMask);
-
- HRESULT ( STDMETHODCALLTYPE *Play )(
- IWMDMDeviceControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *Record )(
- IWMDMDeviceControl * This,
- /* [in] */ __RPC__in _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *Pause )(
- IWMDMDeviceControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *Resume )(
- IWMDMDeviceControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *Stop )(
- IWMDMDeviceControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *Seek )(
- IWMDMDeviceControl * This,
- /* [in] */ UINT fuMode,
- /* [in] */ int nOffset);
-
- END_INTERFACE
- } IWMDMDeviceControlVtbl;
- interface IWMDMDeviceControl
- {
- CONST_VTBL struct IWMDMDeviceControlVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMDeviceControl_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMDeviceControl_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMDeviceControl_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMDeviceControl_GetStatus(This,pdwStatus) \
- ( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
- #define IWMDMDeviceControl_GetCapabilities(This,pdwCapabilitiesMask) \
- ( (This)->lpVtbl -> GetCapabilities(This,pdwCapabilitiesMask) )
- #define IWMDMDeviceControl_Play(This) \
- ( (This)->lpVtbl -> Play(This) )
- #define IWMDMDeviceControl_Record(This,pFormat) \
- ( (This)->lpVtbl -> Record(This,pFormat) )
- #define IWMDMDeviceControl_Pause(This) \
- ( (This)->lpVtbl -> Pause(This) )
- #define IWMDMDeviceControl_Resume(This) \
- ( (This)->lpVtbl -> Resume(This) )
- #define IWMDMDeviceControl_Stop(This) \
- ( (This)->lpVtbl -> Stop(This) )
- #define IWMDMDeviceControl_Seek(This,fuMode,nOffset) \
- ( (This)->lpVtbl -> Seek(This,fuMode,nOffset) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMDeviceControl_INTERFACE_DEFINED__ */
- #ifndef __IWMDMEnumStorage_INTERFACE_DEFINED__
- #define __IWMDMEnumStorage_INTERFACE_DEFINED__
- /* interface IWMDMEnumStorage */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMEnumStorage;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A05-33ED-11d3-8470-00C04F79DBC0")
- IWMDMEnumStorage : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IWMDMStorage **ppStorage,
- /* [out] */ __RPC__out ULONG *pceltFetched) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt,
- /* [out] */ __RPC__out ULONG *pceltFetched) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMEnumStorageVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMEnumStorage * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMEnumStorage * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMEnumStorage * This);
-
- HRESULT ( STDMETHODCALLTYPE *Next )(
- IWMDMEnumStorage * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IWMDMStorage **ppStorage,
- /* [out] */ __RPC__out ULONG *pceltFetched);
-
- HRESULT ( STDMETHODCALLTYPE *Skip )(
- IWMDMEnumStorage * This,
- /* [in] */ ULONG celt,
- /* [out] */ __RPC__out ULONG *pceltFetched);
-
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- IWMDMEnumStorage * This);
-
- HRESULT ( STDMETHODCALLTYPE *Clone )(
- IWMDMEnumStorage * This,
- /* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage);
-
- END_INTERFACE
- } IWMDMEnumStorageVtbl;
- interface IWMDMEnumStorage
- {
- CONST_VTBL struct IWMDMEnumStorageVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMEnumStorage_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMEnumStorage_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMEnumStorage_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMEnumStorage_Next(This,celt,ppStorage,pceltFetched) \
- ( (This)->lpVtbl -> Next(This,celt,ppStorage,pceltFetched) )
- #define IWMDMEnumStorage_Skip(This,celt,pceltFetched) \
- ( (This)->lpVtbl -> Skip(This,celt,pceltFetched) )
- #define IWMDMEnumStorage_Reset(This) \
- ( (This)->lpVtbl -> Reset(This) )
- #define IWMDMEnumStorage_Clone(This,ppEnumStorage) \
- ( (This)->lpVtbl -> Clone(This,ppEnumStorage) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMEnumStorage_INTERFACE_DEFINED__ */
- #ifndef __IWMDMStorageControl_INTERFACE_DEFINED__
- #define __IWMDMStorageControl_INTERFACE_DEFINED__
- /* interface IWMDMStorageControl */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMStorageControl;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A08-33ED-11d3-8470-00C04F79DBC0")
- IWMDMStorageControl : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Insert(
- /* [in] */ UINT fuMode,
- /* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
- /* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
- /* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppNewObject) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Delete(
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Rename(
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in LPWSTR pwszNewName,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Read(
- /* [in] */ UINT fuMode,
- /* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [in] */ __RPC__in_opt IWMDMOperation *pOperation) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Move(
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMStorage *pTargetObject,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMStorageControlVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMStorageControl * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMStorageControl * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMStorageControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *Insert )(
- IWMDMStorageControl * This,
- /* [in] */ UINT fuMode,
- /* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
- /* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
- /* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppNewObject);
-
- HRESULT ( STDMETHODCALLTYPE *Delete )(
- IWMDMStorageControl * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Rename )(
- IWMDMStorageControl * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in LPWSTR pwszNewName,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Read )(
- IWMDMStorageControl * This,
- /* [in] */ UINT fuMode,
- /* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [in] */ __RPC__in_opt IWMDMOperation *pOperation);
-
- HRESULT ( STDMETHODCALLTYPE *Move )(
- IWMDMStorageControl * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMStorage *pTargetObject,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- END_INTERFACE
- } IWMDMStorageControlVtbl;
- interface IWMDMStorageControl
- {
- CONST_VTBL struct IWMDMStorageControlVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMStorageControl_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMStorageControl_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMStorageControl_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMStorageControl_Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) \
- ( (This)->lpVtbl -> Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) )
- #define IWMDMStorageControl_Delete(This,fuMode,pProgress) \
- ( (This)->lpVtbl -> Delete(This,fuMode,pProgress) )
- #define IWMDMStorageControl_Rename(This,fuMode,pwszNewName,pProgress) \
- ( (This)->lpVtbl -> Rename(This,fuMode,pwszNewName,pProgress) )
- #define IWMDMStorageControl_Read(This,fuMode,pwszFile,pProgress,pOperation) \
- ( (This)->lpVtbl -> Read(This,fuMode,pwszFile,pProgress,pOperation) )
- #define IWMDMStorageControl_Move(This,fuMode,pTargetObject,pProgress) \
- ( (This)->lpVtbl -> Move(This,fuMode,pTargetObject,pProgress) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMStorageControl_INTERFACE_DEFINED__ */
- #ifndef __IWMDMStorageControl2_INTERFACE_DEFINED__
- #define __IWMDMStorageControl2_INTERFACE_DEFINED__
- /* interface IWMDMStorageControl2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMStorageControl2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("972C2E88-BD6C-4125-8E09-84F837E637B6")
- IWMDMStorageControl2 : public IWMDMStorageControl
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Insert2(
- /* [in] */ UINT fuMode,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileSource,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileDest,
- /* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
- /* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [in] */ __RPC__in_opt IUnknown *pUnknown,
- /* [unique][out][in] */ __RPC__deref_opt_inout_opt IWMDMStorage **ppNewObject) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMStorageControl2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMStorageControl2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMStorageControl2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMStorageControl2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *Insert )(
- IWMDMStorageControl2 * This,
- /* [in] */ UINT fuMode,
- /* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
- /* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
- /* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppNewObject);
-
- HRESULT ( STDMETHODCALLTYPE *Delete )(
- IWMDMStorageControl2 * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Rename )(
- IWMDMStorageControl2 * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in LPWSTR pwszNewName,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Read )(
- IWMDMStorageControl2 * This,
- /* [in] */ UINT fuMode,
- /* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [in] */ __RPC__in_opt IWMDMOperation *pOperation);
-
- HRESULT ( STDMETHODCALLTYPE *Move )(
- IWMDMStorageControl2 * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMStorage *pTargetObject,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Insert2 )(
- IWMDMStorageControl2 * This,
- /* [in] */ UINT fuMode,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileSource,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileDest,
- /* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
- /* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [in] */ __RPC__in_opt IUnknown *pUnknown,
- /* [unique][out][in] */ __RPC__deref_opt_inout_opt IWMDMStorage **ppNewObject);
-
- END_INTERFACE
- } IWMDMStorageControl2Vtbl;
- interface IWMDMStorageControl2
- {
- CONST_VTBL struct IWMDMStorageControl2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMStorageControl2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMStorageControl2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMStorageControl2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMStorageControl2_Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) \
- ( (This)->lpVtbl -> Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) )
- #define IWMDMStorageControl2_Delete(This,fuMode,pProgress) \
- ( (This)->lpVtbl -> Delete(This,fuMode,pProgress) )
- #define IWMDMStorageControl2_Rename(This,fuMode,pwszNewName,pProgress) \
- ( (This)->lpVtbl -> Rename(This,fuMode,pwszNewName,pProgress) )
- #define IWMDMStorageControl2_Read(This,fuMode,pwszFile,pProgress,pOperation) \
- ( (This)->lpVtbl -> Read(This,fuMode,pwszFile,pProgress,pOperation) )
- #define IWMDMStorageControl2_Move(This,fuMode,pTargetObject,pProgress) \
- ( (This)->lpVtbl -> Move(This,fuMode,pTargetObject,pProgress) )
- #define IWMDMStorageControl2_Insert2(This,fuMode,pwszFileSource,pwszFileDest,pOperation,pProgress,pUnknown,ppNewObject) \
- ( (This)->lpVtbl -> Insert2(This,fuMode,pwszFileSource,pwszFileDest,pOperation,pProgress,pUnknown,ppNewObject) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMStorageControl2_INTERFACE_DEFINED__ */
- #ifndef __IWMDMStorageControl3_INTERFACE_DEFINED__
- #define __IWMDMStorageControl3_INTERFACE_DEFINED__
- /* interface IWMDMStorageControl3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMStorageControl3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("B3266365-D4F3-4696-8D53-BD27EC60993A")
- IWMDMStorageControl3 : public IWMDMStorageControl2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Insert3(
- /* [in] */ UINT fuMode,
- /* [in] */ UINT fuType,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileSource,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileDest,
- /* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
- /* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [unique][in] */ __RPC__in_opt IWMDMMetaData *pMetaData,
- /* [in] */ __RPC__in_opt IUnknown *pUnknown,
- /* [unique][out][in] */ __RPC__deref_opt_inout_opt IWMDMStorage **ppNewObject) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMStorageControl3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMStorageControl3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMStorageControl3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMStorageControl3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *Insert )(
- IWMDMStorageControl3 * This,
- /* [in] */ UINT fuMode,
- /* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
- /* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
- /* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [out] */ __RPC__deref_out_opt IWMDMStorage **ppNewObject);
-
- HRESULT ( STDMETHODCALLTYPE *Delete )(
- IWMDMStorageControl3 * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Rename )(
- IWMDMStorageControl3 * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in LPWSTR pwszNewName,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Read )(
- IWMDMStorageControl3 * This,
- /* [in] */ UINT fuMode,
- /* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [in] */ __RPC__in_opt IWMDMOperation *pOperation);
-
- HRESULT ( STDMETHODCALLTYPE *Move )(
- IWMDMStorageControl3 * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMStorage *pTargetObject,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Insert2 )(
- IWMDMStorageControl3 * This,
- /* [in] */ UINT fuMode,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileSource,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileDest,
- /* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
- /* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [in] */ __RPC__in_opt IUnknown *pUnknown,
- /* [unique][out][in] */ __RPC__deref_opt_inout_opt IWMDMStorage **ppNewObject);
-
- HRESULT ( STDMETHODCALLTYPE *Insert3 )(
- IWMDMStorageControl3 * This,
- /* [in] */ UINT fuMode,
- /* [in] */ UINT fuType,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileSource,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileDest,
- /* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
- /* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [unique][in] */ __RPC__in_opt IWMDMMetaData *pMetaData,
- /* [in] */ __RPC__in_opt IUnknown *pUnknown,
- /* [unique][out][in] */ __RPC__deref_opt_inout_opt IWMDMStorage **ppNewObject);
-
- END_INTERFACE
- } IWMDMStorageControl3Vtbl;
- interface IWMDMStorageControl3
- {
- CONST_VTBL struct IWMDMStorageControl3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMStorageControl3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMStorageControl3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMStorageControl3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMStorageControl3_Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) \
- ( (This)->lpVtbl -> Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) )
- #define IWMDMStorageControl3_Delete(This,fuMode,pProgress) \
- ( (This)->lpVtbl -> Delete(This,fuMode,pProgress) )
- #define IWMDMStorageControl3_Rename(This,fuMode,pwszNewName,pProgress) \
- ( (This)->lpVtbl -> Rename(This,fuMode,pwszNewName,pProgress) )
- #define IWMDMStorageControl3_Read(This,fuMode,pwszFile,pProgress,pOperation) \
- ( (This)->lpVtbl -> Read(This,fuMode,pwszFile,pProgress,pOperation) )
- #define IWMDMStorageControl3_Move(This,fuMode,pTargetObject,pProgress) \
- ( (This)->lpVtbl -> Move(This,fuMode,pTargetObject,pProgress) )
- #define IWMDMStorageControl3_Insert2(This,fuMode,pwszFileSource,pwszFileDest,pOperation,pProgress,pUnknown,ppNewObject) \
- ( (This)->lpVtbl -> Insert2(This,fuMode,pwszFileSource,pwszFileDest,pOperation,pProgress,pUnknown,ppNewObject) )
- #define IWMDMStorageControl3_Insert3(This,fuMode,fuType,pwszFileSource,pwszFileDest,pOperation,pProgress,pMetaData,pUnknown,ppNewObject) \
- ( (This)->lpVtbl -> Insert3(This,fuMode,fuType,pwszFileSource,pwszFileDest,pOperation,pProgress,pMetaData,pUnknown,ppNewObject) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMStorageControl3_INTERFACE_DEFINED__ */
- #ifndef __IWMDMObjectInfo_INTERFACE_DEFINED__
- #define __IWMDMObjectInfo_INTERFACE_DEFINED__
- /* interface IWMDMObjectInfo */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMObjectInfo;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A09-33ED-11d3-8470-00C04F79DBC0")
- IWMDMObjectInfo : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetPlayLength(
- /* [out] */ __RPC__out DWORD *pdwLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPlayLength(
- /* [in] */ DWORD dwLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPlayOffset(
- /* [out] */ __RPC__out DWORD *pdwOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPlayOffset(
- /* [in] */ DWORD dwOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalLength(
- /* [out] */ __RPC__out DWORD *pdwLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetLastPlayPosition(
- /* [out] */ __RPC__out DWORD *pdwLastPos) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetLongestPlayPosition(
- /* [out] */ __RPC__out DWORD *pdwLongestPos) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMObjectInfoVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMObjectInfo * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMObjectInfo * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMObjectInfo * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPlayLength )(
- IWMDMObjectInfo * This,
- /* [out] */ __RPC__out DWORD *pdwLength);
-
- HRESULT ( STDMETHODCALLTYPE *SetPlayLength )(
- IWMDMObjectInfo * This,
- /* [in] */ DWORD dwLength);
-
- HRESULT ( STDMETHODCALLTYPE *GetPlayOffset )(
- IWMDMObjectInfo * This,
- /* [out] */ __RPC__out DWORD *pdwOffset);
-
- HRESULT ( STDMETHODCALLTYPE *SetPlayOffset )(
- IWMDMObjectInfo * This,
- /* [in] */ DWORD dwOffset);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalLength )(
- IWMDMObjectInfo * This,
- /* [out] */ __RPC__out DWORD *pdwLength);
-
- HRESULT ( STDMETHODCALLTYPE *GetLastPlayPosition )(
- IWMDMObjectInfo * This,
- /* [out] */ __RPC__out DWORD *pdwLastPos);
-
- HRESULT ( STDMETHODCALLTYPE *GetLongestPlayPosition )(
- IWMDMObjectInfo * This,
- /* [out] */ __RPC__out DWORD *pdwLongestPos);
-
- END_INTERFACE
- } IWMDMObjectInfoVtbl;
- interface IWMDMObjectInfo
- {
- CONST_VTBL struct IWMDMObjectInfoVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMObjectInfo_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMObjectInfo_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMObjectInfo_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMObjectInfo_GetPlayLength(This,pdwLength) \
- ( (This)->lpVtbl -> GetPlayLength(This,pdwLength) )
- #define IWMDMObjectInfo_SetPlayLength(This,dwLength) \
- ( (This)->lpVtbl -> SetPlayLength(This,dwLength) )
- #define IWMDMObjectInfo_GetPlayOffset(This,pdwOffset) \
- ( (This)->lpVtbl -> GetPlayOffset(This,pdwOffset) )
- #define IWMDMObjectInfo_SetPlayOffset(This,dwOffset) \
- ( (This)->lpVtbl -> SetPlayOffset(This,dwOffset) )
- #define IWMDMObjectInfo_GetTotalLength(This,pdwLength) \
- ( (This)->lpVtbl -> GetTotalLength(This,pdwLength) )
- #define IWMDMObjectInfo_GetLastPlayPosition(This,pdwLastPos) \
- ( (This)->lpVtbl -> GetLastPlayPosition(This,pdwLastPos) )
- #define IWMDMObjectInfo_GetLongestPlayPosition(This,pdwLongestPos) \
- ( (This)->lpVtbl -> GetLongestPlayPosition(This,pdwLongestPos) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMObjectInfo_INTERFACE_DEFINED__ */
- #ifndef __IWMDMRevoked_INTERFACE_DEFINED__
- #define __IWMDMRevoked_INTERFACE_DEFINED__
- /* interface IWMDMRevoked */
- /* [ref][uuid][object] */
- EXTERN_C const IID IID_IWMDMRevoked;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("EBECCEDB-88EE-4e55-B6A4-8D9F07D696AA")
- IWMDMRevoked : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetRevocationURL(
- /* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwBufferLen) LPWSTR *ppwszRevocationURL,
- /* [out][in] */ __RPC__inout DWORD *pdwBufferLen,
- /* [out] */ __RPC__out DWORD *pdwRevokedBitFlag) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMRevokedVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMRevoked * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMRevoked * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMRevoked * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetRevocationURL )(
- IWMDMRevoked * This,
- /* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwBufferLen) LPWSTR *ppwszRevocationURL,
- /* [out][in] */ __RPC__inout DWORD *pdwBufferLen,
- /* [out] */ __RPC__out DWORD *pdwRevokedBitFlag);
-
- END_INTERFACE
- } IWMDMRevokedVtbl;
- interface IWMDMRevoked
- {
- CONST_VTBL struct IWMDMRevokedVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMRevoked_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMRevoked_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMRevoked_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMRevoked_GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen,pdwRevokedBitFlag) \
- ( (This)->lpVtbl -> GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen,pdwRevokedBitFlag) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMRevoked_INTERFACE_DEFINED__ */
- #ifndef __IWMDMNotification_INTERFACE_DEFINED__
- #define __IWMDMNotification_INTERFACE_DEFINED__
- /* interface IWMDMNotification */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IWMDMNotification;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("3F5E95C0-0F43-4ed4-93D2-C89A45D59B81")
- IWMDMNotification : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE WMDMMessage(
- /* [in] */ DWORD dwMessageType,
- /* [string][in] */ __RPC__in LPCWSTR pwszCanonicalName) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IWMDMNotificationVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IWMDMNotification * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IWMDMNotification * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IWMDMNotification * This);
-
- HRESULT ( STDMETHODCALLTYPE *WMDMMessage )(
- IWMDMNotification * This,
- /* [in] */ DWORD dwMessageType,
- /* [string][in] */ __RPC__in LPCWSTR pwszCanonicalName);
-
- END_INTERFACE
- } IWMDMNotificationVtbl;
- interface IWMDMNotification
- {
- CONST_VTBL struct IWMDMNotificationVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IWMDMNotification_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IWMDMNotification_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IWMDMNotification_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IWMDMNotification_WMDMMessage(This,dwMessageType,pwszCanonicalName) \
- ( (This)->lpVtbl -> WMDMMessage(This,dwMessageType,pwszCanonicalName) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IWMDMNotification_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_mswmdm_0000_0028 */
- /* [local] */
- // WMDM constants for wellknown meta-data tags
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMFileName = L"WMDM/FileName";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMFormatCode = L"WMDM/FormatCode";
- //Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
- static const WCHAR *g_wszWMDMLastModifiedDate = L"WMDM/LastModifiedDate";
- //Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
- static const WCHAR *g_wszWMDMFileCreationDate = L"WMDM/FileCreationDate";
- //Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
- static const WCHAR *g_wszWMDMFileSize = L"WMDM/FileSize";
- //Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
- static const WCHAR *g_wszWMDMFileAttributes = L"WMDM/FileAttributes";
- //Format code: WAVE Format
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszAudioWAVECodec = L"WMDM/AudioWAVECodec";
- //Format code: FOURCC code
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszVideoFourCCCodec = L"WMDM/VideoFourCCCodec";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMTitle = L"WMDM/Title";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMAuthor = L"WMDM/Author";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMDescription = L"WMDM/Description";
- //Type: BOOL, WMDM_TAG_DATATYPE: WMDM_TYPE_BOOL
- static const WCHAR *g_wszWMDMIsProtected = L"WMDM/IsProtected";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMAlbumTitle = L"WMDM/AlbumTitle";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMAlbumArtist = L"WMDM/AlbumArtist";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMTrack = L"WMDM/Track";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMGenre = L"WMDM/Genre";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMTrackMood = L"WMDM/TrackMood";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMAlbumCoverFormat = L"WMDM/AlbumCoverFormat";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMAlbumCoverSize = L"WMDM/AlbumCoverSize";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMAlbumCoverHeight = L"WMDM/AlbumCoverHeight";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMAlbumCoverWidth = L"WMDM/AlbumCoverWidth";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMAlbumCoverDuration = L"WMDM/AlbumCoverDuration";
- //Type: BYTE*, WMDM_TAG_DATATYPE: WMDM_TYPE_BINARY
- static const WCHAR *g_wszWMDMAlbumCoverData = L"WMDM/AlbumCoverData";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMYear = L"WMDM/Year";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMComposer = L"WMDM/Composer";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMCodec = L"WMDM/Codec";
- static const WCHAR *g_wszWMDMDRMId = L"WMDM/DRMId";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMBitrate = L"WMDM/Bitrate";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMBitRateType = L"WMDM/BitRateType";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMSampleRate = L"WMDM/SampleRate";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMNumChannels = L"WMDM/NumChannels";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMBlockAlignment = L"WMDM/BlockAlignment";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMAudioBitDepth = L"WMDM/AudioBitDepth";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMTotalBitrate = L"WMDM/TotalBitrate";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMVideoBitrate = L"WMDM/VideoBitrate";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMFrameRate = L"WMDM/FrameRate";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMScanType = L"WMDM/ScanType";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMKeyFrameDistance = L"WMDM/KeyFrameDistance";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMBufferSize = L"WMDM/BufferSize";
- //Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
- static const WCHAR *g_wszWMDMQualitySetting = L"WMDM/QualitySetting";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMEncodingProfile = L"WMDM/EncodingProfile";
- //Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
- static const WCHAR *g_wszWMDMDuration = L"WMDM/Duration";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMAlbumArt = L"WMDM/AlbumArt";
- //Type: BOOL, WMDM_TAG_DATATYPE: WMDM_TYPE_BOOL
- static const WCHAR *g_wszWMDMBuyNow = L"WMDM/BuyNow";
- //Type: BOOL, WMDM_TAG_DATATYPE: WMDM_TYPE_BOOL
- static const WCHAR *g_wszWMDMNonConsumable = L"WMDM/NonConsumable";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMediaClassPrimaryID = L"WMDM/MediaClassPrimaryID";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMMediaClassSecondaryID = L"WMDM/MediaClassSecondaryID";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMUserEffectiveRating = L"WMDM/UserEffectiveRating";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMUserRating = L"WMDM/UserRating";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMUserRatingOnDevice = L"WMDM/UserRatingOnDevice";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMPlayCount = L"WMDM/PlayCount";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMDevicePlayCount = L"WMDM/DevicePlayCount";
- //Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
- static const WCHAR *g_wszWMDMAuthorDate = L"WMDM/AuthorDate";
- //Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
- static const WCHAR *g_wszWMDMUserLastPlayTime = L"WMDM/UserLastPlayTime";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMSubTitle = L"WMDM/SubTitle";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMSubTitleDescription = L"WMDM/SubTitleDescription";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMMediaCredits = L"WMDM/MediaCredits";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMMediaStationName = L"WMDM/MediaStationName";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMMediaOriginalChannel = L"WMDM/MediaOriginalChannel";
- //Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
- static const WCHAR *g_wszWMDMMediaOriginalBroadcastDateTime = L"WMDM/MediaOriginalBroadcastDateTime";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMProviderCopyright = L"WMDM/ProviderCopyright";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMSyncID = L"WMDM/SyncID";
- //Type: GUID, WMDM_TAG_DATATYPE: WMDM_TYPE_GUID
- static const WCHAR *g_wszWMDMPersistentUniqueID = L"WMDM/PersistentUniqueID";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMWidth = L"WMDM/Width";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMHeight = L"WMDM/Height";
- //Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
- static const WCHAR *g_wszWMDMSyncTime = L"WMDM/SyncTime";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMParentalRating = L"WMDM/ParentalRating";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMMetaGenre = L"WMDM/MetaGenre";
- //Type: BOOL, WMDM_TAG_DATATYPE: WMDM_TYPE_BOOL
- static const WCHAR *g_wszWMDMIsRepeat = L"WMDM/IsRepeat";
- // Device properties
- //PROPVARIANT vt = VT_BSTR | VT_ARRAY
- static const WCHAR *g_wszWMDMSupportedDeviceProperties = L"WMDM/SupportedDeviceProperties";
- //PROPVARIANT vt = VT_BSTR
- static const WCHAR *g_wszWMDMDeviceFriendlyName = L"WMDM/DeviceFriendlyName";
- //PROPVARIANT vt = VT_UI4 | VT_ARRAY
- static const WCHAR *g_wszWMDMFormatsSupported = L"WMDM/FormatsSupported";
- //PROPVARIANT vt = VT_BOOL
- static const WCHAR *g_wszWMDMFormatsSupportedAreOrdered = L"WMDM/FormatsSupportedAreOrdered";
- //PROPVARIANT vt = VT_BSTR
- static const WCHAR *g_wszWMDMSyncRelationshipID = L"WMDM/SyncRelationshipID";
- //PROPVARIANT vt = VT_BSTR
- static const WCHAR *g_wszWMDMDeviceModelName = L"WMDM/DeviceModelName";
- //PROPVARIANT vt = VT_BSTR
- static const WCHAR *g_wszWMDMDeviceFirmwareVersion = L"WMDM/DeviceFirmwareVersion";
- //PROPVARIANT vt = VT_BSTR
- static const WCHAR *g_wszWMDMDeviceVendorExtension = L"WMDM/DeviceVendorExtension";
- //PROPVARIANT vt = VT_CLSID
- static const WCHAR *g_wszWMDMDeviceProtocol = L"WMDM/DeviceProtocol";
- //PROPVARIANT vt = VT_CLSID
- static const WCHAR *g_wszWMDMDeviceServiceProviderVendor = L"WMDM/DeviceServiceProviderVendor";
- //PROPVARIANT vt = VT_BSTR
- static const WCHAR *g_wszWMDMDeviceRevocationInfo = L"WMDM/DeviceRevocationInfo";
- //PROPVARIANT vt = VT_BSTR
- static const WCHAR *g_wszWMDMCollectionID = L"WMDM/CollectionID";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMOwner = L"WMDM/Owner";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMEditor = L"WMDM/Editor";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMWebmaster = L"WMDM/Webmaster";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMSourceURL = L"WMDM/SourceURL";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMDestinationURL = L"WMDM/DestinationURL";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMCategory = L"WMDM/Category";
- //Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
- static const WCHAR *g_wszWMDMTimeBookmark = L"WMDM/TimeBookmark";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMObjectBookmark = L"WMDM/ObjectBookmark";
- //Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
- static const WCHAR *g_wszWMDMByteBookmark = L"WMDM/ByteBookmark";
- //Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
- static const WCHAR *g_wszWMDMDataOffset = L"WMDM/DataOffset";
- //Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
- static const WCHAR *g_wszWMDMDataLength = L"WMDM/DataLength";
- //Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
- static const WCHAR *g_wszWMDMDataUnits = L"WMDM/DataUnits";
- //Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
- static const WCHAR *g_wszWMDMTimeToLive = L"WMDM/TimeToLive";
- //Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
- static const WCHAR *g_wszWMDMMediaGuid = L"WMDM/MediaGuid";
- //Type: BYTE*, WMDM_TAG_DATATYPE: WMDM_TYPE_BINARY
- static const WCHAR *g_wszWPDPassthroughPropertyValues = L"WPD/PassthroughPropertyValues";
- #define CCH_WMDM_PROPNAME(sz) (sizeof(sz)/sizeof(sz[0]))
- union WMDMDetermineMaxPropStringLen {
- WCHAR sz001[CCH_WMDM_PROPNAME(L"WMDM/DeviceFirmwareVersion")];
- WCHAR sz002[CCH_WMDM_PROPNAME(L"WMDM/SupportedDeviceProperties")];
- WCHAR sz003[CCH_WMDM_PROPNAME(L"WMDM/FileName")];
- WCHAR sz004[CCH_WMDM_PROPNAME(L"WMDM/FormatCode")];
- WCHAR sz005[CCH_WMDM_PROPNAME(L"WMDM/LastModifiedDate")];
- WCHAR sz006[CCH_WMDM_PROPNAME(L"WMDM/FileSize")];
- WCHAR sz007[CCH_WMDM_PROPNAME(L"WMDM/FileAttributes")];
- WCHAR sz008[CCH_WMDM_PROPNAME(L"WMDM/AudioWAVECodec")];
- WCHAR sz009[CCH_WMDM_PROPNAME(L"WMDM/VideoFourCCCodec")];
- WCHAR sz010[CCH_WMDM_PROPNAME(L"WMDM/Title")];
- WCHAR sz011[CCH_WMDM_PROPNAME(L"WMDM/Author")];
- WCHAR sz012[CCH_WMDM_PROPNAME(L"WMDM/Description")];
- WCHAR sz013[CCH_WMDM_PROPNAME(L"WMDM/IsProtected")];
- WCHAR sz014[CCH_WMDM_PROPNAME(L"WMDM/AlbumTitle")];
- WCHAR sz015[CCH_WMDM_PROPNAME(L"WMDM/AlbumArtist")];
- WCHAR sz016[CCH_WMDM_PROPNAME(L"WMDM/Track")];
- WCHAR sz017[CCH_WMDM_PROPNAME(L"WMDM/Genre")];
- WCHAR sz018[CCH_WMDM_PROPNAME(L"WMDM/TrackMood")];
- WCHAR sz019[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverFormat")];
- WCHAR sz020[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverSize")];
- WCHAR sz021[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverHeight")];
- WCHAR sz022[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverWidth")];
- WCHAR sz023[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverDuration")];
- WCHAR sz024[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverData")];
- WCHAR sz025[CCH_WMDM_PROPNAME(L"WMDM/Year")];
- WCHAR sz026[CCH_WMDM_PROPNAME(L"WMDM/Composer")];
- WCHAR sz027[CCH_WMDM_PROPNAME(L"WMDM/Codec")];
- WCHAR sz028[CCH_WMDM_PROPNAME(L"WMDM/DRMId")];
- WCHAR sz029[CCH_WMDM_PROPNAME(L"WMDM/Bitrate")];
- WCHAR sz030[CCH_WMDM_PROPNAME(L"WMDM/BitRateType")];
- WCHAR sz031[CCH_WMDM_PROPNAME(L"WMDM/SampleRate")];
- WCHAR sz032[CCH_WMDM_PROPNAME(L"WMDM/NumChannels")];
- WCHAR sz033[CCH_WMDM_PROPNAME(L"WMDM/BlockAlignment")];
- WCHAR sz034[CCH_WMDM_PROPNAME(L"WMDM/AudioBitDepth")];
- WCHAR sz035[CCH_WMDM_PROPNAME(L"WMDM/TotalBitrate")];
- WCHAR sz036[CCH_WMDM_PROPNAME(L"WMDM/VideoBitrate")];
- WCHAR sz037[CCH_WMDM_PROPNAME(L"WMDM/FrameRate")];
- WCHAR sz041[CCH_WMDM_PROPNAME(L"WMDM/ScanType")];
- WCHAR sz043[CCH_WMDM_PROPNAME(L"WMDM/KeyFrameDistance")];
- WCHAR sz044[CCH_WMDM_PROPNAME(L"WMDM/BufferSize")];
- WCHAR sz045[CCH_WMDM_PROPNAME(L"WMDM/QualitySetting")];
- WCHAR sz046[CCH_WMDM_PROPNAME(L"WMDM/Duration")];
- WCHAR sz047[CCH_WMDM_PROPNAME(L"WMDM/AlbumArt")];
- WCHAR sz048[CCH_WMDM_PROPNAME(L"WMDM/BuyNow")];
- WCHAR sz049[CCH_WMDM_PROPNAME(L"WMDM/MediaClassPrimaryID")];
- WCHAR sz050[CCH_WMDM_PROPNAME(L"WMDM/MediaClassSecondayID")];
- WCHAR sz051[CCH_WMDM_PROPNAME(L"WMDM/UserEffectiveRating")];
- WCHAR sz052[CCH_WMDM_PROPNAME(L"WMDM/UserRating")];
- WCHAR sz053[CCH_WMDM_PROPNAME(L"WMDM/UserRatingOnDevice")];
- WCHAR sz054[CCH_WMDM_PROPNAME(L"WMDM/PlayCount")];
- WCHAR sz055[CCH_WMDM_PROPNAME(L"WMDM/DevicePlayCount")];
- WCHAR sz056[CCH_WMDM_PROPNAME(L"WMDM/AuthorDate")];
- WCHAR sz057[CCH_WMDM_PROPNAME(L"WMDM/UserLastPlayTime")];
- WCHAR sz058[CCH_WMDM_PROPNAME(L"WMDM/SubTitle")];
- WCHAR sz059[CCH_WMDM_PROPNAME(L"WMDM/SubTitleDescription")];
- WCHAR sz060[CCH_WMDM_PROPNAME(L"WMDM/MediaCredits")];
- WCHAR sz061[CCH_WMDM_PROPNAME(L"WMDM/MediaStationName")];
- WCHAR sz062[CCH_WMDM_PROPNAME(L"WMDM/MediaOriginalChannel")];
- WCHAR sz063[CCH_WMDM_PROPNAME(L"WMDM/MediaOriginalBroadcastDateTime")];
- WCHAR sz064[CCH_WMDM_PROPNAME(L"WMDM/ProviderCopyright")];
- WCHAR sz065[CCH_WMDM_PROPNAME(L"WMDM/SyncID")];
- WCHAR sz066[CCH_WMDM_PROPNAME(L"WMDM/PersistentUniqueID")];
- WCHAR sz067[CCH_WMDM_PROPNAME(L"WMDM/Width")];
- WCHAR sz068[CCH_WMDM_PROPNAME(L"WMDM/Height")];
- WCHAR sz069[CCH_WMDM_PROPNAME(L"WMDM/SyncTime")];
- WCHAR sz070[CCH_WMDM_PROPNAME(L"WMDM/ParentalRating")];
- WCHAR sz071[CCH_WMDM_PROPNAME(L"WMDM/MetaGenre")];
- WCHAR sz072[CCH_WMDM_PROPNAME(L"WMDM/IsRepeat")];
- WCHAR sz073[CCH_WMDM_PROPNAME(L"WMDM/SupportedDeviceProperties")];
- WCHAR sz074[CCH_WMDM_PROPNAME(L"WMDM/DeviceFriendlyName")];
- WCHAR sz075[CCH_WMDM_PROPNAME(L"WMDM/FormatsSupported")];
- WCHAR sz076[CCH_WMDM_PROPNAME(L"WMDM/SyncRelationshipID")];
- WCHAR sz077[CCH_WMDM_PROPNAME(L"WMDM/DeviceModelName")];
- WCHAR sz078[CCH_WMDM_PROPNAME(L"WMDM/DeviceFirmwareVersion")];
- WCHAR sz079[CCH_WMDM_PROPNAME(L"WMDM/DeviceVendorExtension")];
- WCHAR sz080[CCH_WMDM_PROPNAME(L"WMDM/DeviceProtocol")];
- WCHAR sz081[CCH_WMDM_PROPNAME(L"WMDM/DeviceServiceProviderVendor")];
- WCHAR sz082[CCH_WMDM_PROPNAME(L"WMDM/EncodingProfile")];
- WCHAR sz083[CCH_WMDM_PROPNAME(L"WMDM/FormatsSupportedAreOrdered")];
- WCHAR sz084[CCH_WMDM_PROPNAME(L"WMDM/DeviceRevocationInfo")];
- WCHAR sz085[CCH_WMDM_PROPNAME(L"WMDM/CollectionID")];
- WCHAR sz086[CCH_WMDM_PROPNAME(L"WPD/PassthroughPropertyValues")];
- };
- #define WMDM_MAXLEN_PROPERTYNAME (sizeof(WMDMDetermineMaxPropStringLen)/sizeof(WCHAR))
- // Open Mode Flags
- #define MDSP_READ 0x00000001
- #define MDSP_WRITE 0x00000002
- // Seek Flags
- #define MDSP_SEEK_BOF 0x00000001
- #define MDSP_SEEK_CUR 0x00000002
- #define MDSP_SEEK_EOF 0x00000004
- extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0028_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0028_v0_0_s_ifspec;
- #ifndef __IMDServiceProvider_INTERFACE_DEFINED__
- #define __IMDServiceProvider_INTERFACE_DEFINED__
- /* interface IMDServiceProvider */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDServiceProvider;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A10-33ED-11d3-8470-00C04F79DBC0")
- IMDServiceProvider : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetDeviceCount(
- /* [out] */ __RPC__out DWORD *pdwCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumDevices(
- /* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDServiceProviderVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDServiceProvider * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDServiceProvider * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDServiceProvider * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
- IMDServiceProvider * This,
- /* [out] */ __RPC__out DWORD *pdwCount);
-
- HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
- IMDServiceProvider * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice);
-
- END_INTERFACE
- } IMDServiceProviderVtbl;
- interface IMDServiceProvider
- {
- CONST_VTBL struct IMDServiceProviderVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDServiceProvider_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDServiceProvider_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDServiceProvider_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDServiceProvider_GetDeviceCount(This,pdwCount) \
- ( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
- #define IMDServiceProvider_EnumDevices(This,ppEnumDevice) \
- ( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDServiceProvider_INTERFACE_DEFINED__ */
- #ifndef __IMDServiceProvider2_INTERFACE_DEFINED__
- #define __IMDServiceProvider2_INTERFACE_DEFINED__
- /* interface IMDServiceProvider2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDServiceProvider2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("B2FA24B7-CDA3-4694-9862-413AE1A34819")
- IMDServiceProvider2 : public IMDServiceProvider
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE CreateDevice(
- /* [string][in] */ __RPC__in LPCWSTR pwszDevicePath,
- /* [out] */ __RPC__out DWORD *pdwCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwCount) IMDSPDevice ***pppDeviceArray) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDServiceProvider2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDServiceProvider2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDServiceProvider2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDServiceProvider2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
- IMDServiceProvider2 * This,
- /* [out] */ __RPC__out DWORD *pdwCount);
-
- HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
- IMDServiceProvider2 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice);
-
- HRESULT ( STDMETHODCALLTYPE *CreateDevice )(
- IMDServiceProvider2 * This,
- /* [string][in] */ __RPC__in LPCWSTR pwszDevicePath,
- /* [out] */ __RPC__out DWORD *pdwCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwCount) IMDSPDevice ***pppDeviceArray);
-
- END_INTERFACE
- } IMDServiceProvider2Vtbl;
- interface IMDServiceProvider2
- {
- CONST_VTBL struct IMDServiceProvider2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDServiceProvider2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDServiceProvider2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDServiceProvider2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDServiceProvider2_GetDeviceCount(This,pdwCount) \
- ( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
- #define IMDServiceProvider2_EnumDevices(This,ppEnumDevice) \
- ( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
- #define IMDServiceProvider2_CreateDevice(This,pwszDevicePath,pdwCount,pppDeviceArray) \
- ( (This)->lpVtbl -> CreateDevice(This,pwszDevicePath,pdwCount,pppDeviceArray) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDServiceProvider2_INTERFACE_DEFINED__ */
- #ifndef __IMDServiceProvider3_INTERFACE_DEFINED__
- #define __IMDServiceProvider3_INTERFACE_DEFINED__
- /* interface IMDServiceProvider3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDServiceProvider3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("4ed13ef3-a971-4d19-9f51-0e1826b2da57")
- IMDServiceProvider3 : public IMDServiceProvider2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetDeviceEnumPreference(
- /* [in] */ DWORD dwEnumPref) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDServiceProvider3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDServiceProvider3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDServiceProvider3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDServiceProvider3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
- IMDServiceProvider3 * This,
- /* [out] */ __RPC__out DWORD *pdwCount);
-
- HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
- IMDServiceProvider3 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice);
-
- HRESULT ( STDMETHODCALLTYPE *CreateDevice )(
- IMDServiceProvider3 * This,
- /* [string][in] */ __RPC__in LPCWSTR pwszDevicePath,
- /* [out] */ __RPC__out DWORD *pdwCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwCount) IMDSPDevice ***pppDeviceArray);
-
- HRESULT ( STDMETHODCALLTYPE *SetDeviceEnumPreference )(
- IMDServiceProvider3 * This,
- /* [in] */ DWORD dwEnumPref);
-
- END_INTERFACE
- } IMDServiceProvider3Vtbl;
- interface IMDServiceProvider3
- {
- CONST_VTBL struct IMDServiceProvider3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDServiceProvider3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDServiceProvider3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDServiceProvider3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDServiceProvider3_GetDeviceCount(This,pdwCount) \
- ( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
- #define IMDServiceProvider3_EnumDevices(This,ppEnumDevice) \
- ( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
- #define IMDServiceProvider3_CreateDevice(This,pwszDevicePath,pdwCount,pppDeviceArray) \
- ( (This)->lpVtbl -> CreateDevice(This,pwszDevicePath,pdwCount,pppDeviceArray) )
- #define IMDServiceProvider3_SetDeviceEnumPreference(This,dwEnumPref) \
- ( (This)->lpVtbl -> SetDeviceEnumPreference(This,dwEnumPref) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDServiceProvider3_INTERFACE_DEFINED__ */
- #ifndef __IMDSPEnumDevice_INTERFACE_DEFINED__
- #define __IMDSPEnumDevice_INTERFACE_DEFINED__
- /* interface IMDSPEnumDevice */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPEnumDevice;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A11-33ED-11d3-8470-00C04F79DBC0")
- IMDSPEnumDevice : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IMDSPDevice **ppDevice,
- /* [out] */ __RPC__out ULONG *pceltFetched) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt,
- /* [out] */ __RPC__out ULONG *pceltFetched) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPEnumDeviceVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPEnumDevice * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPEnumDevice * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPEnumDevice * This);
-
- HRESULT ( STDMETHODCALLTYPE *Next )(
- IMDSPEnumDevice * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IMDSPDevice **ppDevice,
- /* [out] */ __RPC__out ULONG *pceltFetched);
-
- HRESULT ( STDMETHODCALLTYPE *Skip )(
- IMDSPEnumDevice * This,
- /* [in] */ ULONG celt,
- /* [out] */ __RPC__out ULONG *pceltFetched);
-
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- IMDSPEnumDevice * This);
-
- HRESULT ( STDMETHODCALLTYPE *Clone )(
- IMDSPEnumDevice * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice);
-
- END_INTERFACE
- } IMDSPEnumDeviceVtbl;
- interface IMDSPEnumDevice
- {
- CONST_VTBL struct IMDSPEnumDeviceVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPEnumDevice_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPEnumDevice_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPEnumDevice_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPEnumDevice_Next(This,celt,ppDevice,pceltFetched) \
- ( (This)->lpVtbl -> Next(This,celt,ppDevice,pceltFetched) )
- #define IMDSPEnumDevice_Skip(This,celt,pceltFetched) \
- ( (This)->lpVtbl -> Skip(This,celt,pceltFetched) )
- #define IMDSPEnumDevice_Reset(This) \
- ( (This)->lpVtbl -> Reset(This) )
- #define IMDSPEnumDevice_Clone(This,ppEnumDevice) \
- ( (This)->lpVtbl -> Clone(This,ppEnumDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPEnumDevice_INTERFACE_DEFINED__ */
- #ifndef __IMDSPDevice_INTERFACE_DEFINED__
- #define __IMDSPDevice_INTERFACE_DEFINED__
- /* interface IMDSPDevice */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPDevice;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A12-33ED-11d3-8470-00C04F79DBC0")
- IMDSPDevice : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetName(
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetManufacturer(
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetVersion(
- /* [out] */ __RPC__out DWORD *pdwVersion) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetType(
- /* [out] */ __RPC__out DWORD *pdwType) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
- /* [out] */ __RPC__out PWMDMID pSerialNumber,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPowerSource(
- /* [out] */ __RPC__out DWORD *pdwPowerSource,
- /* [out] */ __RPC__out DWORD *pdwPercentRemaining) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetStatus(
- /* [out] */ __RPC__out DWORD *pdwStatus) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDeviceIcon(
- /* [out] */ __RPC__out ULONG *hIcon) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumStorage(
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetFormatSupport(
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **pFormatEx,
- /* [out] */ __RPC__out UINT *pnFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
- /* [out] */ __RPC__out UINT *pnMimeTypeCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPDeviceVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPDevice * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPDevice * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPDevice * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IMDSPDevice * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
- IMDSPDevice * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetVersion )(
- IMDSPDevice * This,
- /* [out] */ __RPC__out DWORD *pdwVersion);
-
- HRESULT ( STDMETHODCALLTYPE *GetType )(
- IMDSPDevice * This,
- /* [out] */ __RPC__out DWORD *pdwType);
-
- HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
- IMDSPDevice * This,
- /* [out] */ __RPC__out PWMDMID pSerialNumber,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
- IMDSPDevice * This,
- /* [out] */ __RPC__out DWORD *pdwPowerSource,
- /* [out] */ __RPC__out DWORD *pdwPercentRemaining);
-
- HRESULT ( STDMETHODCALLTYPE *GetStatus )(
- IMDSPDevice * This,
- /* [out] */ __RPC__out DWORD *pdwStatus);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
- IMDSPDevice * This,
- /* [out] */ __RPC__out ULONG *hIcon);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IMDSPDevice * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
- IMDSPDevice * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **pFormatEx,
- /* [out] */ __RPC__out UINT *pnFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
- /* [out] */ __RPC__out UINT *pnMimeTypeCount);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IMDSPDevice * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- END_INTERFACE
- } IMDSPDeviceVtbl;
- interface IMDSPDevice
- {
- CONST_VTBL struct IMDSPDeviceVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPDevice_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPDevice_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPDevice_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPDevice_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IMDSPDevice_GetManufacturer(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
- #define IMDSPDevice_GetVersion(This,pdwVersion) \
- ( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
- #define IMDSPDevice_GetType(This,pdwType) \
- ( (This)->lpVtbl -> GetType(This,pdwType) )
- #define IMDSPDevice_GetSerialNumber(This,pSerialNumber,abMac) \
- ( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
- #define IMDSPDevice_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
- ( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
- #define IMDSPDevice_GetStatus(This,pdwStatus) \
- ( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
- #define IMDSPDevice_GetDeviceIcon(This,hIcon) \
- ( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
- #define IMDSPDevice_EnumStorage(This,ppEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
- #define IMDSPDevice_GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
- ( (This)->lpVtbl -> GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
- #define IMDSPDevice_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPDevice_INTERFACE_DEFINED__ */
- #ifndef __IMDSPDevice2_INTERFACE_DEFINED__
- #define __IMDSPDevice2_INTERFACE_DEFINED__
- /* interface IMDSPDevice2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPDevice2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("420D16AD-C97D-4e00-82AA-00E9F4335DDD")
- IMDSPDevice2 : public IMDSPDevice
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetStorage(
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetFormatSupport2(
- /* [in] */ DWORD dwFlags,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
- /* [ref][out] */ __RPC__out UINT *pnFileTypeCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSpecifyPropertyPages(
- /* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
- /* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
- /* [ref][out] */ __RPC__out ULONG *pcUnks) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCanonicalName(
- /* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
- /* [in] */ UINT nMaxChars) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPDevice2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPDevice2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPDevice2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPDevice2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IMDSPDevice2 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
- IMDSPDevice2 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetVersion )(
- IMDSPDevice2 * This,
- /* [out] */ __RPC__out DWORD *pdwVersion);
-
- HRESULT ( STDMETHODCALLTYPE *GetType )(
- IMDSPDevice2 * This,
- /* [out] */ __RPC__out DWORD *pdwType);
-
- HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
- IMDSPDevice2 * This,
- /* [out] */ __RPC__out PWMDMID pSerialNumber,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
- IMDSPDevice2 * This,
- /* [out] */ __RPC__out DWORD *pdwPowerSource,
- /* [out] */ __RPC__out DWORD *pdwPercentRemaining);
-
- HRESULT ( STDMETHODCALLTYPE *GetStatus )(
- IMDSPDevice2 * This,
- /* [out] */ __RPC__out DWORD *pdwStatus);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
- IMDSPDevice2 * This,
- /* [out] */ __RPC__out ULONG *hIcon);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IMDSPDevice2 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
- IMDSPDevice2 * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **pFormatEx,
- /* [out] */ __RPC__out UINT *pnFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
- /* [out] */ __RPC__out UINT *pnMimeTypeCount);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IMDSPDevice2 * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorage )(
- IMDSPDevice2 * This,
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatSupport2 )(
- IMDSPDevice2 * This,
- /* [in] */ DWORD dwFlags,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
- /* [ref][out] */ __RPC__out UINT *pnFileTypeCount);
-
- HRESULT ( STDMETHODCALLTYPE *GetSpecifyPropertyPages )(
- IMDSPDevice2 * This,
- /* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
- /* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
- /* [ref][out] */ __RPC__out ULONG *pcUnks);
-
- HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
- IMDSPDevice2 * This,
- /* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
- /* [in] */ UINT nMaxChars);
-
- END_INTERFACE
- } IMDSPDevice2Vtbl;
- interface IMDSPDevice2
- {
- CONST_VTBL struct IMDSPDevice2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPDevice2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPDevice2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPDevice2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPDevice2_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IMDSPDevice2_GetManufacturer(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
- #define IMDSPDevice2_GetVersion(This,pdwVersion) \
- ( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
- #define IMDSPDevice2_GetType(This,pdwType) \
- ( (This)->lpVtbl -> GetType(This,pdwType) )
- #define IMDSPDevice2_GetSerialNumber(This,pSerialNumber,abMac) \
- ( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
- #define IMDSPDevice2_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
- ( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
- #define IMDSPDevice2_GetStatus(This,pdwStatus) \
- ( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
- #define IMDSPDevice2_GetDeviceIcon(This,hIcon) \
- ( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
- #define IMDSPDevice2_EnumStorage(This,ppEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
- #define IMDSPDevice2_GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
- ( (This)->lpVtbl -> GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
- #define IMDSPDevice2_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #define IMDSPDevice2_GetStorage(This,pszStorageName,ppStorage) \
- ( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
- #define IMDSPDevice2_GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) \
- ( (This)->lpVtbl -> GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) )
- #define IMDSPDevice2_GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) \
- ( (This)->lpVtbl -> GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) )
- #define IMDSPDevice2_GetCanonicalName(This,pwszPnPName,nMaxChars) \
- ( (This)->lpVtbl -> GetCanonicalName(This,pwszPnPName,nMaxChars) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPDevice2_INTERFACE_DEFINED__ */
- #ifndef __IMDSPDevice3_INTERFACE_DEFINED__
- #define __IMDSPDevice3_INTERFACE_DEFINED__
- /* interface IMDSPDevice3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPDevice3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1a839845-fc55-487c-976f-ee38ac0e8c4e")
- IMDSPDevice3 : public IMDSPDevice2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetProperty(
- /* [in] */ __RPC__in LPCWSTR pwszPropName,
- /* [out] */ __RPC__out PROPVARIANT *pValue) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetProperty(
- /* [in] */ __RPC__in LPCWSTR pwszPropName,
- /* [in] */ __RPC__in const PROPVARIANT *pValue) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetFormatCapability(
- /* [in] */ WMDM_FORMATCODE format,
- /* [out] */ __RPC__out WMDM_FORMAT_CAPABILITY *pFormatSupport) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE DeviceIoControl(
- /* [in] */ DWORD dwIoControlCode,
- /* [size_is][in] */ __RPC__in_ecount_full(nInBufferSize) BYTE *lpInBuffer,
- /* [in] */ DWORD nInBufferSize,
- /* [size_is][out] */ __RPC__out_ecount_full(*pnOutBufferSize) BYTE *lpOutBuffer,
- /* [out][in] */ __RPC__inout LPDWORD pnOutBufferSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE FindStorage(
- /* [in] */ WMDM_FIND_SCOPE findScope,
- /* [in] */ __RPC__in LPCWSTR pwszUniqueID,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPDevice3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPDevice3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPDevice3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPDevice3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IMDSPDevice3 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
- IMDSPDevice3 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetVersion )(
- IMDSPDevice3 * This,
- /* [out] */ __RPC__out DWORD *pdwVersion);
-
- HRESULT ( STDMETHODCALLTYPE *GetType )(
- IMDSPDevice3 * This,
- /* [out] */ __RPC__out DWORD *pdwType);
-
- HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
- IMDSPDevice3 * This,
- /* [out] */ __RPC__out PWMDMID pSerialNumber,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
- IMDSPDevice3 * This,
- /* [out] */ __RPC__out DWORD *pdwPowerSource,
- /* [out] */ __RPC__out DWORD *pdwPercentRemaining);
-
- HRESULT ( STDMETHODCALLTYPE *GetStatus )(
- IMDSPDevice3 * This,
- /* [out] */ __RPC__out DWORD *pdwStatus);
-
- HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
- IMDSPDevice3 * This,
- /* [out] */ __RPC__out ULONG *hIcon);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IMDSPDevice3 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
- IMDSPDevice3 * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **pFormatEx,
- /* [out] */ __RPC__out UINT *pnFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
- /* [out] */ __RPC__out UINT *pnMimeTypeCount);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IMDSPDevice3 * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorage )(
- IMDSPDevice3 * This,
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatSupport2 )(
- IMDSPDevice3 * This,
- /* [in] */ DWORD dwFlags,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
- /* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
- /* [ref][out] */ __RPC__out UINT *pnFileTypeCount);
-
- HRESULT ( STDMETHODCALLTYPE *GetSpecifyPropertyPages )(
- IMDSPDevice3 * This,
- /* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
- /* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
- /* [ref][out] */ __RPC__out ULONG *pcUnks);
-
- HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
- IMDSPDevice3 * This,
- /* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetProperty )(
- IMDSPDevice3 * This,
- /* [in] */ __RPC__in LPCWSTR pwszPropName,
- /* [out] */ __RPC__out PROPVARIANT *pValue);
-
- HRESULT ( STDMETHODCALLTYPE *SetProperty )(
- IMDSPDevice3 * This,
- /* [in] */ __RPC__in LPCWSTR pwszPropName,
- /* [in] */ __RPC__in const PROPVARIANT *pValue);
-
- HRESULT ( STDMETHODCALLTYPE *GetFormatCapability )(
- IMDSPDevice3 * This,
- /* [in] */ WMDM_FORMATCODE format,
- /* [out] */ __RPC__out WMDM_FORMAT_CAPABILITY *pFormatSupport);
-
- HRESULT ( STDMETHODCALLTYPE *DeviceIoControl )(
- IMDSPDevice3 * This,
- /* [in] */ DWORD dwIoControlCode,
- /* [size_is][in] */ __RPC__in_ecount_full(nInBufferSize) BYTE *lpInBuffer,
- /* [in] */ DWORD nInBufferSize,
- /* [size_is][out] */ __RPC__out_ecount_full(*pnOutBufferSize) BYTE *lpOutBuffer,
- /* [out][in] */ __RPC__inout LPDWORD pnOutBufferSize);
-
- HRESULT ( STDMETHODCALLTYPE *FindStorage )(
- IMDSPDevice3 * This,
- /* [in] */ WMDM_FIND_SCOPE findScope,
- /* [in] */ __RPC__in LPCWSTR pwszUniqueID,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
-
- END_INTERFACE
- } IMDSPDevice3Vtbl;
- interface IMDSPDevice3
- {
- CONST_VTBL struct IMDSPDevice3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPDevice3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPDevice3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPDevice3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPDevice3_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IMDSPDevice3_GetManufacturer(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
- #define IMDSPDevice3_GetVersion(This,pdwVersion) \
- ( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
- #define IMDSPDevice3_GetType(This,pdwType) \
- ( (This)->lpVtbl -> GetType(This,pdwType) )
- #define IMDSPDevice3_GetSerialNumber(This,pSerialNumber,abMac) \
- ( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
- #define IMDSPDevice3_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
- ( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
- #define IMDSPDevice3_GetStatus(This,pdwStatus) \
- ( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
- #define IMDSPDevice3_GetDeviceIcon(This,hIcon) \
- ( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
- #define IMDSPDevice3_EnumStorage(This,ppEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
- #define IMDSPDevice3_GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
- ( (This)->lpVtbl -> GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
- #define IMDSPDevice3_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #define IMDSPDevice3_GetStorage(This,pszStorageName,ppStorage) \
- ( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
- #define IMDSPDevice3_GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) \
- ( (This)->lpVtbl -> GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) )
- #define IMDSPDevice3_GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) \
- ( (This)->lpVtbl -> GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) )
- #define IMDSPDevice3_GetCanonicalName(This,pwszPnPName,nMaxChars) \
- ( (This)->lpVtbl -> GetCanonicalName(This,pwszPnPName,nMaxChars) )
- #define IMDSPDevice3_GetProperty(This,pwszPropName,pValue) \
- ( (This)->lpVtbl -> GetProperty(This,pwszPropName,pValue) )
- #define IMDSPDevice3_SetProperty(This,pwszPropName,pValue) \
- ( (This)->lpVtbl -> SetProperty(This,pwszPropName,pValue) )
- #define IMDSPDevice3_GetFormatCapability(This,format,pFormatSupport) \
- ( (This)->lpVtbl -> GetFormatCapability(This,format,pFormatSupport) )
- #define IMDSPDevice3_DeviceIoControl(This,dwIoControlCode,lpInBuffer,nInBufferSize,lpOutBuffer,pnOutBufferSize) \
- ( (This)->lpVtbl -> DeviceIoControl(This,dwIoControlCode,lpInBuffer,nInBufferSize,lpOutBuffer,pnOutBufferSize) )
- #define IMDSPDevice3_FindStorage(This,findScope,pwszUniqueID,ppStorage) \
- ( (This)->lpVtbl -> FindStorage(This,findScope,pwszUniqueID,ppStorage) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPDevice3_INTERFACE_DEFINED__ */
- #ifndef __IMDSPDeviceControl_INTERFACE_DEFINED__
- #define __IMDSPDeviceControl_INTERFACE_DEFINED__
- /* interface IMDSPDeviceControl */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPDeviceControl;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A14-33ED-11d3-8470-00C04F79DBC0")
- IMDSPDeviceControl : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetDCStatus(
- /* [out] */ __RPC__out DWORD *pdwStatus) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
- /* [out] */ __RPC__out DWORD *pdwCapabilitiesMask) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Play( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Record(
- /* [in] */ __RPC__in _WAVEFORMATEX *pFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Seek(
- /* [in] */ UINT fuMode,
- /* [in] */ int nOffset) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPDeviceControlVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPDeviceControl * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPDeviceControl * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPDeviceControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetDCStatus )(
- IMDSPDeviceControl * This,
- /* [out] */ __RPC__out DWORD *pdwStatus);
-
- HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
- IMDSPDeviceControl * This,
- /* [out] */ __RPC__out DWORD *pdwCapabilitiesMask);
-
- HRESULT ( STDMETHODCALLTYPE *Play )(
- IMDSPDeviceControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *Record )(
- IMDSPDeviceControl * This,
- /* [in] */ __RPC__in _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *Pause )(
- IMDSPDeviceControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *Resume )(
- IMDSPDeviceControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *Stop )(
- IMDSPDeviceControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *Seek )(
- IMDSPDeviceControl * This,
- /* [in] */ UINT fuMode,
- /* [in] */ int nOffset);
-
- END_INTERFACE
- } IMDSPDeviceControlVtbl;
- interface IMDSPDeviceControl
- {
- CONST_VTBL struct IMDSPDeviceControlVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPDeviceControl_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPDeviceControl_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPDeviceControl_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPDeviceControl_GetDCStatus(This,pdwStatus) \
- ( (This)->lpVtbl -> GetDCStatus(This,pdwStatus) )
- #define IMDSPDeviceControl_GetCapabilities(This,pdwCapabilitiesMask) \
- ( (This)->lpVtbl -> GetCapabilities(This,pdwCapabilitiesMask) )
- #define IMDSPDeviceControl_Play(This) \
- ( (This)->lpVtbl -> Play(This) )
- #define IMDSPDeviceControl_Record(This,pFormat) \
- ( (This)->lpVtbl -> Record(This,pFormat) )
- #define IMDSPDeviceControl_Pause(This) \
- ( (This)->lpVtbl -> Pause(This) )
- #define IMDSPDeviceControl_Resume(This) \
- ( (This)->lpVtbl -> Resume(This) )
- #define IMDSPDeviceControl_Stop(This) \
- ( (This)->lpVtbl -> Stop(This) )
- #define IMDSPDeviceControl_Seek(This,fuMode,nOffset) \
- ( (This)->lpVtbl -> Seek(This,fuMode,nOffset) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPDeviceControl_INTERFACE_DEFINED__ */
- #ifndef __IMDSPEnumStorage_INTERFACE_DEFINED__
- #define __IMDSPEnumStorage_INTERFACE_DEFINED__
- /* interface IMDSPEnumStorage */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPEnumStorage;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A15-33ED-11d3-8470-00C04F79DBC0")
- IMDSPEnumStorage : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IMDSPStorage **ppStorage,
- /* [out] */ __RPC__out ULONG *pceltFetched) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt,
- /* [out] */ __RPC__out ULONG *pceltFetched) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPEnumStorageVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPEnumStorage * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPEnumStorage * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPEnumStorage * This);
-
- HRESULT ( STDMETHODCALLTYPE *Next )(
- IMDSPEnumStorage * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IMDSPStorage **ppStorage,
- /* [out] */ __RPC__out ULONG *pceltFetched);
-
- HRESULT ( STDMETHODCALLTYPE *Skip )(
- IMDSPEnumStorage * This,
- /* [in] */ ULONG celt,
- /* [out] */ __RPC__out ULONG *pceltFetched);
-
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- IMDSPEnumStorage * This);
-
- HRESULT ( STDMETHODCALLTYPE *Clone )(
- IMDSPEnumStorage * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
-
- END_INTERFACE
- } IMDSPEnumStorageVtbl;
- interface IMDSPEnumStorage
- {
- CONST_VTBL struct IMDSPEnumStorageVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPEnumStorage_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPEnumStorage_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPEnumStorage_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPEnumStorage_Next(This,celt,ppStorage,pceltFetched) \
- ( (This)->lpVtbl -> Next(This,celt,ppStorage,pceltFetched) )
- #define IMDSPEnumStorage_Skip(This,celt,pceltFetched) \
- ( (This)->lpVtbl -> Skip(This,celt,pceltFetched) )
- #define IMDSPEnumStorage_Reset(This) \
- ( (This)->lpVtbl -> Reset(This) )
- #define IMDSPEnumStorage_Clone(This,ppEnumStorage) \
- ( (This)->lpVtbl -> Clone(This,ppEnumStorage) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPEnumStorage_INTERFACE_DEFINED__ */
- #ifndef __IMDSPStorage_INTERFACE_DEFINED__
- #define __IMDSPStorage_INTERFACE_DEFINED__
- /* interface IMDSPStorage */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPStorage;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A16-33ED-11d3-8470-00C04F79DBC0")
- IMDSPStorage : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetAttributes(
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetStorageGlobals(
- /* [out] */ __RPC__deref_out_opt IMDSPStorageGlobals **ppStorageGlobals) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetAttributes(
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetName(
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDate(
- /* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSize(
- /* [out] */ __RPC__out DWORD *pdwSizeLow,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetRights(
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateStorage(
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [in] */ __RPC__in LPWSTR pwszName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumStorage(
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPStorageVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPStorage * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPStorage * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPStorage * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
- IMDSPStorage * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
- IMDSPStorage * This,
- /* [out] */ __RPC__deref_out_opt IMDSPStorageGlobals **ppStorageGlobals);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
- IMDSPStorage * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IMDSPStorage * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetDate )(
- IMDSPStorage * This,
- /* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
-
- HRESULT ( STDMETHODCALLTYPE *GetSize )(
- IMDSPStorage * This,
- /* [out] */ __RPC__out DWORD *pdwSizeLow,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- IMDSPStorage * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *CreateStorage )(
- IMDSPStorage * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [in] */ __RPC__in LPWSTR pwszName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IMDSPStorage * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IMDSPStorage * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- END_INTERFACE
- } IMDSPStorageVtbl;
- interface IMDSPStorage
- {
- CONST_VTBL struct IMDSPStorageVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPStorage_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPStorage_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPStorage_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPStorage_SetAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
- #define IMDSPStorage_GetStorageGlobals(This,ppStorageGlobals) \
- ( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
- #define IMDSPStorage_GetAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
- #define IMDSPStorage_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IMDSPStorage_GetDate(This,pDateTimeUTC) \
- ( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
- #define IMDSPStorage_GetSize(This,pdwSizeLow,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
- #define IMDSPStorage_GetRights(This,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
- #define IMDSPStorage_CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) \
- ( (This)->lpVtbl -> CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) )
- #define IMDSPStorage_EnumStorage(This,ppEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
- #define IMDSPStorage_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPStorage_INTERFACE_DEFINED__ */
- #ifndef __IMDSPStorage2_INTERFACE_DEFINED__
- #define __IMDSPStorage2_INTERFACE_DEFINED__
- /* interface IMDSPStorage2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPStorage2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("0A5E07A5-6454-4451-9C36-1C6AE7E2B1D6")
- IMDSPStorage2 : public IMDSPStorage
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetStorage(
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateStorage2(
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat,
- /* [in] */ __RPC__in LPWSTR pwszName,
- /* [in] */ ULONGLONG qwFileSize,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetAttributes2(
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetAttributes2(
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [out] */ __RPC__out DWORD *pdwAttributesEx,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPStorage2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPStorage2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPStorage2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPStorage2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
- IMDSPStorage2 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
- IMDSPStorage2 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPStorageGlobals **ppStorageGlobals);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
- IMDSPStorage2 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IMDSPStorage2 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetDate )(
- IMDSPStorage2 * This,
- /* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
-
- HRESULT ( STDMETHODCALLTYPE *GetSize )(
- IMDSPStorage2 * This,
- /* [out] */ __RPC__out DWORD *pdwSizeLow,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- IMDSPStorage2 * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *CreateStorage )(
- IMDSPStorage2 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [in] */ __RPC__in LPWSTR pwszName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IMDSPStorage2 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IMDSPStorage2 * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorage )(
- IMDSPStorage2 * This,
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *CreateStorage2 )(
- IMDSPStorage2 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat,
- /* [in] */ __RPC__in LPWSTR pwszName,
- /* [in] */ ULONGLONG qwFileSize,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
- IMDSPStorage2 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
- IMDSPStorage2 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [out] */ __RPC__out DWORD *pdwAttributesEx,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
-
- END_INTERFACE
- } IMDSPStorage2Vtbl;
- interface IMDSPStorage2
- {
- CONST_VTBL struct IMDSPStorage2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPStorage2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPStorage2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPStorage2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPStorage2_SetAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
- #define IMDSPStorage2_GetStorageGlobals(This,ppStorageGlobals) \
- ( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
- #define IMDSPStorage2_GetAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
- #define IMDSPStorage2_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IMDSPStorage2_GetDate(This,pDateTimeUTC) \
- ( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
- #define IMDSPStorage2_GetSize(This,pdwSizeLow,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
- #define IMDSPStorage2_GetRights(This,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
- #define IMDSPStorage2_CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) \
- ( (This)->lpVtbl -> CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) )
- #define IMDSPStorage2_EnumStorage(This,ppEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
- #define IMDSPStorage2_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #define IMDSPStorage2_GetStorage(This,pszStorageName,ppStorage) \
- ( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
- #define IMDSPStorage2_CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) \
- ( (This)->lpVtbl -> CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) )
- #define IMDSPStorage2_SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) \
- ( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) )
- #define IMDSPStorage2_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
- ( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPStorage2_INTERFACE_DEFINED__ */
- #ifndef __IMDSPStorage3_INTERFACE_DEFINED__
- #define __IMDSPStorage3_INTERFACE_DEFINED__
- /* interface IMDSPStorage3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPStorage3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6C669867-97ED-4a67-9706-1C5529D2A414")
- IMDSPStorage3 : public IMDSPStorage2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetMetadata(
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetMetadata(
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPStorage3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPStorage3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPStorage3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPStorage3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
- IMDSPStorage3 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
- IMDSPStorage3 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPStorageGlobals **ppStorageGlobals);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
- IMDSPStorage3 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IMDSPStorage3 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetDate )(
- IMDSPStorage3 * This,
- /* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
-
- HRESULT ( STDMETHODCALLTYPE *GetSize )(
- IMDSPStorage3 * This,
- /* [out] */ __RPC__out DWORD *pdwSizeLow,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- IMDSPStorage3 * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *CreateStorage )(
- IMDSPStorage3 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [in] */ __RPC__in LPWSTR pwszName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IMDSPStorage3 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IMDSPStorage3 * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorage )(
- IMDSPStorage3 * This,
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *CreateStorage2 )(
- IMDSPStorage3 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat,
- /* [in] */ __RPC__in LPWSTR pwszName,
- /* [in] */ ULONGLONG qwFileSize,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
- IMDSPStorage3 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
- IMDSPStorage3 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [out] */ __RPC__out DWORD *pdwAttributesEx,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetMetadata )(
- IMDSPStorage3 * This,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *SetMetadata )(
- IMDSPStorage3 * This,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
-
- END_INTERFACE
- } IMDSPStorage3Vtbl;
- interface IMDSPStorage3
- {
- CONST_VTBL struct IMDSPStorage3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPStorage3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPStorage3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPStorage3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPStorage3_SetAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
- #define IMDSPStorage3_GetStorageGlobals(This,ppStorageGlobals) \
- ( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
- #define IMDSPStorage3_GetAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
- #define IMDSPStorage3_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IMDSPStorage3_GetDate(This,pDateTimeUTC) \
- ( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
- #define IMDSPStorage3_GetSize(This,pdwSizeLow,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
- #define IMDSPStorage3_GetRights(This,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
- #define IMDSPStorage3_CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) \
- ( (This)->lpVtbl -> CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) )
- #define IMDSPStorage3_EnumStorage(This,ppEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
- #define IMDSPStorage3_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #define IMDSPStorage3_GetStorage(This,pszStorageName,ppStorage) \
- ( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
- #define IMDSPStorage3_CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) \
- ( (This)->lpVtbl -> CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) )
- #define IMDSPStorage3_SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) \
- ( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) )
- #define IMDSPStorage3_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
- ( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
- #define IMDSPStorage3_GetMetadata(This,pMetadata) \
- ( (This)->lpVtbl -> GetMetadata(This,pMetadata) )
- #define IMDSPStorage3_SetMetadata(This,pMetadata) \
- ( (This)->lpVtbl -> SetMetadata(This,pMetadata) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPStorage3_INTERFACE_DEFINED__ */
- #ifndef __IMDSPStorage4_INTERFACE_DEFINED__
- #define __IMDSPStorage4_INTERFACE_DEFINED__
- /* interface IMDSPStorage4 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPStorage4;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("3133b2c4-515c-481b-b1ce-39327ecb4f74")
- IMDSPStorage4 : public IMDSPStorage3
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetReferences(
- /* [in] */ DWORD dwRefs,
- /* [size_is][unique][in] */ __RPC__in_ecount_full_opt(dwRefs) IMDSPStorage **ppISPStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetReferences(
- /* [out] */ __RPC__out DWORD *pdwRefs,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwRefs) IMDSPStorage ***pppISPStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE CreateStorageWithMetadata(
- /* [in] */ DWORD dwAttributes,
- /* [in] */ __RPC__in LPCWSTR pwszName,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata,
- /* [in] */ ULONGLONG qwFileSize,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSpecifiedMetadata(
- /* [in] */ DWORD cProperties,
- /* [size_is][in] */ __RPC__in_ecount_full(cProperties) LPCWSTR *ppwszPropNames,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE FindStorage(
- /* [in] */ WMDM_FIND_SCOPE findScope,
- /* [in] */ __RPC__in LPCWSTR pwszUniqueID,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetParent(
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPStorage4Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPStorage4 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPStorage4 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPStorage4 * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
- IMDSPStorage4 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
- IMDSPStorage4 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPStorageGlobals **ppStorageGlobals);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
- IMDSPStorage4 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetName )(
- IMDSPStorage4 * This,
- /* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
- /* [in] */ UINT nMaxChars);
-
- HRESULT ( STDMETHODCALLTYPE *GetDate )(
- IMDSPStorage4 * This,
- /* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
-
- HRESULT ( STDMETHODCALLTYPE *GetSize )(
- IMDSPStorage4 * This,
- /* [out] */ __RPC__out DWORD *pdwSizeLow,
- /* [out] */ __RPC__out DWORD *pdwSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- IMDSPStorage4 * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *CreateStorage )(
- IMDSPStorage4 * This,
- /* [in] */ DWORD dwAttributes,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
- /* [in] */ __RPC__in LPWSTR pwszName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
-
- HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
- IMDSPStorage4 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
- IMDSPStorage4 * This,
- /* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
-
- HRESULT ( STDMETHODCALLTYPE *GetStorage )(
- IMDSPStorage4 * This,
- /* [string][in] */ __RPC__in LPCWSTR pszStorageName,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *CreateStorage2 )(
- IMDSPStorage4 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat,
- /* [in] */ __RPC__in LPWSTR pwszName,
- /* [in] */ ULONGLONG qwFileSize,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
-
- HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
- IMDSPStorage4 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ DWORD dwAttributesEx,
- /* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
- IMDSPStorage4 * This,
- /* [out] */ __RPC__out DWORD *pdwAttributes,
- /* [out] */ __RPC__out DWORD *pdwAttributesEx,
- /* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
- /* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
-
- HRESULT ( STDMETHODCALLTYPE *GetMetadata )(
- IMDSPStorage4 * This,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *SetMetadata )(
- IMDSPStorage4 * This,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *SetReferences )(
- IMDSPStorage4 * This,
- /* [in] */ DWORD dwRefs,
- /* [size_is][unique][in] */ __RPC__in_ecount_full_opt(dwRefs) IMDSPStorage **ppISPStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetReferences )(
- IMDSPStorage4 * This,
- /* [out] */ __RPC__out DWORD *pdwRefs,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwRefs) IMDSPStorage ***pppISPStorage);
-
- HRESULT ( STDMETHODCALLTYPE *CreateStorageWithMetadata )(
- IMDSPStorage4 * This,
- /* [in] */ DWORD dwAttributes,
- /* [in] */ __RPC__in LPCWSTR pwszName,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata,
- /* [in] */ ULONGLONG qwFileSize,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetSpecifiedMetadata )(
- IMDSPStorage4 * This,
- /* [in] */ DWORD cProperties,
- /* [size_is][in] */ __RPC__in_ecount_full(cProperties) LPCWSTR *ppwszPropNames,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
-
- HRESULT ( STDMETHODCALLTYPE *FindStorage )(
- IMDSPStorage4 * This,
- /* [in] */ WMDM_FIND_SCOPE findScope,
- /* [in] */ __RPC__in LPCWSTR pwszUniqueID,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
-
- HRESULT ( STDMETHODCALLTYPE *GetParent )(
- IMDSPStorage4 * This,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
-
- END_INTERFACE
- } IMDSPStorage4Vtbl;
- interface IMDSPStorage4
- {
- CONST_VTBL struct IMDSPStorage4Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPStorage4_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPStorage4_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPStorage4_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPStorage4_SetAttributes(This,dwAttributes,pFormat) \
- ( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
- #define IMDSPStorage4_GetStorageGlobals(This,ppStorageGlobals) \
- ( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
- #define IMDSPStorage4_GetAttributes(This,pdwAttributes,pFormat) \
- ( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
- #define IMDSPStorage4_GetName(This,pwszName,nMaxChars) \
- ( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
- #define IMDSPStorage4_GetDate(This,pDateTimeUTC) \
- ( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
- #define IMDSPStorage4_GetSize(This,pdwSizeLow,pdwSizeHigh) \
- ( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
- #define IMDSPStorage4_GetRights(This,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
- #define IMDSPStorage4_CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) \
- ( (This)->lpVtbl -> CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) )
- #define IMDSPStorage4_EnumStorage(This,ppEnumStorage) \
- ( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
- #define IMDSPStorage4_SendOpaqueCommand(This,pCommand) \
- ( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
- #define IMDSPStorage4_GetStorage(This,pszStorageName,ppStorage) \
- ( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
- #define IMDSPStorage4_CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) \
- ( (This)->lpVtbl -> CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) )
- #define IMDSPStorage4_SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) \
- ( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) )
- #define IMDSPStorage4_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
- ( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
- #define IMDSPStorage4_GetMetadata(This,pMetadata) \
- ( (This)->lpVtbl -> GetMetadata(This,pMetadata) )
- #define IMDSPStorage4_SetMetadata(This,pMetadata) \
- ( (This)->lpVtbl -> SetMetadata(This,pMetadata) )
- #define IMDSPStorage4_SetReferences(This,dwRefs,ppISPStorage) \
- ( (This)->lpVtbl -> SetReferences(This,dwRefs,ppISPStorage) )
- #define IMDSPStorage4_GetReferences(This,pdwRefs,pppISPStorage) \
- ( (This)->lpVtbl -> GetReferences(This,pdwRefs,pppISPStorage) )
- #define IMDSPStorage4_CreateStorageWithMetadata(This,dwAttributes,pwszName,pMetadata,qwFileSize,ppNewStorage) \
- ( (This)->lpVtbl -> CreateStorageWithMetadata(This,dwAttributes,pwszName,pMetadata,qwFileSize,ppNewStorage) )
- #define IMDSPStorage4_GetSpecifiedMetadata(This,cProperties,ppwszPropNames,pMetadata) \
- ( (This)->lpVtbl -> GetSpecifiedMetadata(This,cProperties,ppwszPropNames,pMetadata) )
- #define IMDSPStorage4_FindStorage(This,findScope,pwszUniqueID,ppStorage) \
- ( (This)->lpVtbl -> FindStorage(This,findScope,pwszUniqueID,ppStorage) )
- #define IMDSPStorage4_GetParent(This,ppStorage) \
- ( (This)->lpVtbl -> GetParent(This,ppStorage) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPStorage4_INTERFACE_DEFINED__ */
- #ifndef __IMDSPStorageGlobals_INTERFACE_DEFINED__
- #define __IMDSPStorageGlobals_INTERFACE_DEFINED__
- /* interface IMDSPStorageGlobals */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPStorageGlobals;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A17-33ED-11d3-8470-00C04F79DBC0")
- IMDSPStorageGlobals : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
- /* [out] */ __RPC__out DWORD *pdwCapabilities) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
- /* [out] */ __RPC__out PWMDMID pSerialNum,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalSize(
- /* [out] */ __RPC__out DWORD *pdwTotalSizeLow,
- /* [out] */ __RPC__out DWORD *pdwTotalSizeHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalFree(
- /* [out] */ __RPC__out DWORD *pdwFreeLow,
- /* [out] */ __RPC__out DWORD *pdwFreeHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalBad(
- /* [out] */ __RPC__out DWORD *pdwBadLow,
- /* [out] */ __RPC__out DWORD *pdwBadHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetStatus(
- /* [out] */ __RPC__out DWORD *pdwStatus) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Initialize(
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetDevice(
- /* [out] */ __RPC__deref_out_opt IMDSPDevice **ppDevice) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetRootStorage(
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppRoot) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPStorageGlobalsVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPStorageGlobals * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPStorageGlobals * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPStorageGlobals * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
- IMDSPStorageGlobals * This,
- /* [out] */ __RPC__out DWORD *pdwCapabilities);
-
- HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
- IMDSPStorageGlobals * This,
- /* [out] */ __RPC__out PWMDMID pSerialNum,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalSize )(
- IMDSPStorageGlobals * This,
- /* [out] */ __RPC__out DWORD *pdwTotalSizeLow,
- /* [out] */ __RPC__out DWORD *pdwTotalSizeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalFree )(
- IMDSPStorageGlobals * This,
- /* [out] */ __RPC__out DWORD *pdwFreeLow,
- /* [out] */ __RPC__out DWORD *pdwFreeHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalBad )(
- IMDSPStorageGlobals * This,
- /* [out] */ __RPC__out DWORD *pdwBadLow,
- /* [out] */ __RPC__out DWORD *pdwBadHigh);
-
- HRESULT ( STDMETHODCALLTYPE *GetStatus )(
- IMDSPStorageGlobals * This,
- /* [out] */ __RPC__out DWORD *pdwStatus);
-
- HRESULT ( STDMETHODCALLTYPE *Initialize )(
- IMDSPStorageGlobals * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- IMDSPStorageGlobals * This,
- /* [out] */ __RPC__deref_out_opt IMDSPDevice **ppDevice);
-
- HRESULT ( STDMETHODCALLTYPE *GetRootStorage )(
- IMDSPStorageGlobals * This,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppRoot);
-
- END_INTERFACE
- } IMDSPStorageGlobalsVtbl;
- interface IMDSPStorageGlobals
- {
- CONST_VTBL struct IMDSPStorageGlobalsVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPStorageGlobals_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPStorageGlobals_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPStorageGlobals_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPStorageGlobals_GetCapabilities(This,pdwCapabilities) \
- ( (This)->lpVtbl -> GetCapabilities(This,pdwCapabilities) )
- #define IMDSPStorageGlobals_GetSerialNumber(This,pSerialNum,abMac) \
- ( (This)->lpVtbl -> GetSerialNumber(This,pSerialNum,abMac) )
- #define IMDSPStorageGlobals_GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh) \
- ( (This)->lpVtbl -> GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh) )
- #define IMDSPStorageGlobals_GetTotalFree(This,pdwFreeLow,pdwFreeHigh) \
- ( (This)->lpVtbl -> GetTotalFree(This,pdwFreeLow,pdwFreeHigh) )
- #define IMDSPStorageGlobals_GetTotalBad(This,pdwBadLow,pdwBadHigh) \
- ( (This)->lpVtbl -> GetTotalBad(This,pdwBadLow,pdwBadHigh) )
- #define IMDSPStorageGlobals_GetStatus(This,pdwStatus) \
- ( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
- #define IMDSPStorageGlobals_Initialize(This,fuMode,pProgress) \
- ( (This)->lpVtbl -> Initialize(This,fuMode,pProgress) )
- #define IMDSPStorageGlobals_GetDevice(This,ppDevice) \
- ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
- #define IMDSPStorageGlobals_GetRootStorage(This,ppRoot) \
- ( (This)->lpVtbl -> GetRootStorage(This,ppRoot) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPStorageGlobals_INTERFACE_DEFINED__ */
- #ifndef __IMDSPObjectInfo_INTERFACE_DEFINED__
- #define __IMDSPObjectInfo_INTERFACE_DEFINED__
- /* interface IMDSPObjectInfo */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPObjectInfo;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A19-33ED-11d3-8470-00C04F79DBC0")
- IMDSPObjectInfo : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetPlayLength(
- /* [out] */ __RPC__out DWORD *pdwLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPlayLength(
- /* [in] */ DWORD dwLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetPlayOffset(
- /* [out] */ __RPC__out DWORD *pdwOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetPlayOffset(
- /* [in] */ DWORD dwOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalLength(
- /* [out] */ __RPC__out DWORD *pdwLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetLastPlayPosition(
- /* [out] */ __RPC__out DWORD *pdwLastPos) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetLongestPlayPosition(
- /* [out] */ __RPC__out DWORD *pdwLongestPos) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPObjectInfoVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPObjectInfo * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPObjectInfo * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPObjectInfo * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetPlayLength )(
- IMDSPObjectInfo * This,
- /* [out] */ __RPC__out DWORD *pdwLength);
-
- HRESULT ( STDMETHODCALLTYPE *SetPlayLength )(
- IMDSPObjectInfo * This,
- /* [in] */ DWORD dwLength);
-
- HRESULT ( STDMETHODCALLTYPE *GetPlayOffset )(
- IMDSPObjectInfo * This,
- /* [out] */ __RPC__out DWORD *pdwOffset);
-
- HRESULT ( STDMETHODCALLTYPE *SetPlayOffset )(
- IMDSPObjectInfo * This,
- /* [in] */ DWORD dwOffset);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalLength )(
- IMDSPObjectInfo * This,
- /* [out] */ __RPC__out DWORD *pdwLength);
-
- HRESULT ( STDMETHODCALLTYPE *GetLastPlayPosition )(
- IMDSPObjectInfo * This,
- /* [out] */ __RPC__out DWORD *pdwLastPos);
-
- HRESULT ( STDMETHODCALLTYPE *GetLongestPlayPosition )(
- IMDSPObjectInfo * This,
- /* [out] */ __RPC__out DWORD *pdwLongestPos);
-
- END_INTERFACE
- } IMDSPObjectInfoVtbl;
- interface IMDSPObjectInfo
- {
- CONST_VTBL struct IMDSPObjectInfoVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPObjectInfo_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPObjectInfo_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPObjectInfo_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPObjectInfo_GetPlayLength(This,pdwLength) \
- ( (This)->lpVtbl -> GetPlayLength(This,pdwLength) )
- #define IMDSPObjectInfo_SetPlayLength(This,dwLength) \
- ( (This)->lpVtbl -> SetPlayLength(This,dwLength) )
- #define IMDSPObjectInfo_GetPlayOffset(This,pdwOffset) \
- ( (This)->lpVtbl -> GetPlayOffset(This,pdwOffset) )
- #define IMDSPObjectInfo_SetPlayOffset(This,dwOffset) \
- ( (This)->lpVtbl -> SetPlayOffset(This,dwOffset) )
- #define IMDSPObjectInfo_GetTotalLength(This,pdwLength) \
- ( (This)->lpVtbl -> GetTotalLength(This,pdwLength) )
- #define IMDSPObjectInfo_GetLastPlayPosition(This,pdwLastPos) \
- ( (This)->lpVtbl -> GetLastPlayPosition(This,pdwLastPos) )
- #define IMDSPObjectInfo_GetLongestPlayPosition(This,pdwLongestPos) \
- ( (This)->lpVtbl -> GetLongestPlayPosition(This,pdwLongestPos) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPObjectInfo_INTERFACE_DEFINED__ */
- #ifndef __IMDSPObject_INTERFACE_DEFINED__
- #define __IMDSPObject_INTERFACE_DEFINED__
- /* interface IMDSPObject */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPObject;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A18-33ED-11d3-8470-00C04F79DBC0")
- IMDSPObject : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Open(
- /* [in] */ UINT fuMode) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Read(
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Write(
- /* [size_is][in] */ __RPC__in_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Delete(
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Seek(
- /* [in] */ UINT fuFlags,
- /* [in] */ DWORD dwOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Rename(
- /* [in] */ __RPC__in LPWSTR pwszNewName,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Move(
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [in] */ __RPC__in_opt IMDSPStorage *pTarget) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPObjectVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPObject * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPObject * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPObject * This);
-
- HRESULT ( STDMETHODCALLTYPE *Open )(
- IMDSPObject * This,
- /* [in] */ UINT fuMode);
-
- HRESULT ( STDMETHODCALLTYPE *Read )(
- IMDSPObject * This,
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *Write )(
- IMDSPObject * This,
- /* [size_is][in] */ __RPC__in_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *Delete )(
- IMDSPObject * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Seek )(
- IMDSPObject * This,
- /* [in] */ UINT fuFlags,
- /* [in] */ DWORD dwOffset);
-
- HRESULT ( STDMETHODCALLTYPE *Rename )(
- IMDSPObject * This,
- /* [in] */ __RPC__in LPWSTR pwszNewName,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Move )(
- IMDSPObject * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [in] */ __RPC__in_opt IMDSPStorage *pTarget);
-
- HRESULT ( STDMETHODCALLTYPE *Close )(
- IMDSPObject * This);
-
- END_INTERFACE
- } IMDSPObjectVtbl;
- interface IMDSPObject
- {
- CONST_VTBL struct IMDSPObjectVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPObject_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPObject_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPObject_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPObject_Open(This,fuMode) \
- ( (This)->lpVtbl -> Open(This,fuMode) )
- #define IMDSPObject_Read(This,pData,pdwSize,abMac) \
- ( (This)->lpVtbl -> Read(This,pData,pdwSize,abMac) )
- #define IMDSPObject_Write(This,pData,pdwSize,abMac) \
- ( (This)->lpVtbl -> Write(This,pData,pdwSize,abMac) )
- #define IMDSPObject_Delete(This,fuMode,pProgress) \
- ( (This)->lpVtbl -> Delete(This,fuMode,pProgress) )
- #define IMDSPObject_Seek(This,fuFlags,dwOffset) \
- ( (This)->lpVtbl -> Seek(This,fuFlags,dwOffset) )
- #define IMDSPObject_Rename(This,pwszNewName,pProgress) \
- ( (This)->lpVtbl -> Rename(This,pwszNewName,pProgress) )
- #define IMDSPObject_Move(This,fuMode,pProgress,pTarget) \
- ( (This)->lpVtbl -> Move(This,fuMode,pProgress,pTarget) )
- #define IMDSPObject_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPObject_INTERFACE_DEFINED__ */
- #ifndef __IMDSPObject2_INTERFACE_DEFINED__
- #define __IMDSPObject2_INTERFACE_DEFINED__
- /* interface IMDSPObject2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPObject2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("3f34cd3e-5907-4341-9af9-97f4187c3aa5")
- IMDSPObject2 : public IMDSPObject
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE ReadOnClearChannel(
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE WriteOnClearChannel(
- /* [size_is][in] */ __RPC__in_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPObject2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPObject2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPObject2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPObject2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *Open )(
- IMDSPObject2 * This,
- /* [in] */ UINT fuMode);
-
- HRESULT ( STDMETHODCALLTYPE *Read )(
- IMDSPObject2 * This,
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *Write )(
- IMDSPObject2 * This,
- /* [size_is][in] */ __RPC__in_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *Delete )(
- IMDSPObject2 * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Seek )(
- IMDSPObject2 * This,
- /* [in] */ UINT fuFlags,
- /* [in] */ DWORD dwOffset);
-
- HRESULT ( STDMETHODCALLTYPE *Rename )(
- IMDSPObject2 * This,
- /* [in] */ __RPC__in LPWSTR pwszNewName,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
-
- HRESULT ( STDMETHODCALLTYPE *Move )(
- IMDSPObject2 * This,
- /* [in] */ UINT fuMode,
- /* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
- /* [in] */ __RPC__in_opt IMDSPStorage *pTarget);
-
- HRESULT ( STDMETHODCALLTYPE *Close )(
- IMDSPObject2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *ReadOnClearChannel )(
- IMDSPObject2 * This,
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize);
-
- HRESULT ( STDMETHODCALLTYPE *WriteOnClearChannel )(
- IMDSPObject2 * This,
- /* [size_is][in] */ __RPC__in_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize);
-
- END_INTERFACE
- } IMDSPObject2Vtbl;
- interface IMDSPObject2
- {
- CONST_VTBL struct IMDSPObject2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPObject2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPObject2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPObject2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPObject2_Open(This,fuMode) \
- ( (This)->lpVtbl -> Open(This,fuMode) )
- #define IMDSPObject2_Read(This,pData,pdwSize,abMac) \
- ( (This)->lpVtbl -> Read(This,pData,pdwSize,abMac) )
- #define IMDSPObject2_Write(This,pData,pdwSize,abMac) \
- ( (This)->lpVtbl -> Write(This,pData,pdwSize,abMac) )
- #define IMDSPObject2_Delete(This,fuMode,pProgress) \
- ( (This)->lpVtbl -> Delete(This,fuMode,pProgress) )
- #define IMDSPObject2_Seek(This,fuFlags,dwOffset) \
- ( (This)->lpVtbl -> Seek(This,fuFlags,dwOffset) )
- #define IMDSPObject2_Rename(This,pwszNewName,pProgress) \
- ( (This)->lpVtbl -> Rename(This,pwszNewName,pProgress) )
- #define IMDSPObject2_Move(This,fuMode,pProgress,pTarget) \
- ( (This)->lpVtbl -> Move(This,fuMode,pProgress,pTarget) )
- #define IMDSPObject2_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define IMDSPObject2_ReadOnClearChannel(This,pData,pdwSize) \
- ( (This)->lpVtbl -> ReadOnClearChannel(This,pData,pdwSize) )
- #define IMDSPObject2_WriteOnClearChannel(This,pData,pdwSize) \
- ( (This)->lpVtbl -> WriteOnClearChannel(This,pData,pdwSize) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPObject2_INTERFACE_DEFINED__ */
- #ifndef __IMDSPDirectTransfer_INTERFACE_DEFINED__
- #define __IMDSPDirectTransfer_INTERFACE_DEFINED__
- /* interface IMDSPDirectTransfer */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPDirectTransfer;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("c2fe57a8-9304-478c-9ee4-47e397b912d7")
- IMDSPDirectTransfer : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE TransferToDevice(
- /* [string][unique][in] */ __RPC__in_opt LPCWSTR pwszSourceFilePath,
- /* [in] */ __RPC__in_opt IWMDMOperation *pSourceOperation,
- /* [in] */ UINT fuFlags,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszDestinationName,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pSourceMetaData,
- /* [in] */ __RPC__in_opt IWMDMProgress *pTransferProgress,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewObject) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPDirectTransferVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPDirectTransfer * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPDirectTransfer * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPDirectTransfer * This);
-
- HRESULT ( STDMETHODCALLTYPE *TransferToDevice )(
- IMDSPDirectTransfer * This,
- /* [string][unique][in] */ __RPC__in_opt LPCWSTR pwszSourceFilePath,
- /* [in] */ __RPC__in_opt IWMDMOperation *pSourceOperation,
- /* [in] */ UINT fuFlags,
- /* [string][unique][in] */ __RPC__in_opt LPWSTR pwszDestinationName,
- /* [in] */ __RPC__in_opt IWMDMMetaData *pSourceMetaData,
- /* [in] */ __RPC__in_opt IWMDMProgress *pTransferProgress,
- /* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewObject);
-
- END_INTERFACE
- } IMDSPDirectTransferVtbl;
- interface IMDSPDirectTransfer
- {
- CONST_VTBL struct IMDSPDirectTransferVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPDirectTransfer_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPDirectTransfer_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPDirectTransfer_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPDirectTransfer_TransferToDevice(This,pwszSourceFilePath,pSourceOperation,fuFlags,pwszDestinationName,pSourceMetaData,pTransferProgress,ppNewObject) \
- ( (This)->lpVtbl -> TransferToDevice(This,pwszSourceFilePath,pSourceOperation,fuFlags,pwszDestinationName,pSourceMetaData,pTransferProgress,ppNewObject) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPDirectTransfer_INTERFACE_DEFINED__ */
- #ifndef __IMDSPRevoked_INTERFACE_DEFINED__
- #define __IMDSPRevoked_INTERFACE_DEFINED__
- /* interface IMDSPRevoked */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IMDSPRevoked;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("A4E8F2D4-3F31-464d-B53D-4FC335998184")
- IMDSPRevoked : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetRevocationURL(
- /* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwBufferLen) LPWSTR *ppwszRevocationURL,
- /* [out][in] */ __RPC__inout DWORD *pdwBufferLen) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IMDSPRevokedVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMDSPRevoked * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMDSPRevoked * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMDSPRevoked * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetRevocationURL )(
- IMDSPRevoked * This,
- /* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwBufferLen) LPWSTR *ppwszRevocationURL,
- /* [out][in] */ __RPC__inout DWORD *pdwBufferLen);
-
- END_INTERFACE
- } IMDSPRevokedVtbl;
- interface IMDSPRevoked
- {
- CONST_VTBL struct IMDSPRevokedVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IMDSPRevoked_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IMDSPRevoked_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IMDSPRevoked_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IMDSPRevoked_GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen) \
- ( (This)->lpVtbl -> GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IMDSPRevoked_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_mswmdm_0000_0047 */
- /* [local] */
- // SCP Data Flags
- #define WMDM_SCP_EXAMINE_EXTENSION 0x00000001L
- #define WMDM_SCP_EXAMINE_DATA 0x00000002L
- #define WMDM_SCP_DECIDE_DATA 0x00000008L
- #define WMDM_SCP_PROTECTED_OUTPUT 0x00000010L
- #define WMDM_SCP_UNPROTECTED_OUTPUT 0x00000020L
- #define WMDM_SCP_RIGHTS_DATA 0x00000040L
- // SCP Transfer Flags
- #define WMDM_SCP_TRANSFER_OBJECTDATA 0x00000020L
- #define WMDM_SCP_NO_MORE_CHANGES 0x00000040L
- // SCP DRMINFO Flags
- #define WMDM_SCP_DRMINFO_NOT_DRMPROTECTED 0x00000000L
- #define WMDM_SCP_DRMINFO_V1HEADER 0x00000001L
- #define WMDM_SCP_DRMINFO_V2HEADER 0x00000002L
- #ifndef _DEFINE_SCP_EVENTID
- #define _DEFINE_SCP_EVENTID
- // {86248CC9-4A59-43e2-9146-48A7F3F4140C}
- // this event ID is used when SCP is acquiring secure clock from server
- DEFINE_GUID(SCP_EVENTID_ACQSECURECLOCK,
- 0x86248cc9, 0x4a59, 0x43e2, 0x91, 0x46, 0x48, 0xa7, 0xf3, 0xf4, 0x14, 0xc);
- //
- // {87A507C7-B469-4386-B976-D5D1CE538A6F}
- DEFINE_GUID(SCP_EVENTID_NEEDTOINDIV,
- 0x87a507c7, 0xb469, 0x4386, 0xb9, 0x76, 0xd5, 0xd1, 0xce, 0x53, 0x8a, 0x6f);
- // this event ID is used to notify the player the version DRM header found in the content
- // {213DD287-41D2-432b-9E3F-3B4F7B3581DD}
- DEFINE_GUID(SCP_EVENTID_DRMINFO,
- 0x213dd287, 0x41d2, 0x432b, 0x9e, 0x3f, 0x3b, 0x4f, 0x7b, 0x35, 0x81, 0xdd);
- // this parameter ID is used when notifying SCP_EVENTID_DRMINFO message
- // {41D0155D-7CC7-4217-ADA9-005074624DA4}
- DEFINE_GUID(SCP_PARAMID_DRMVERSION,
- 0x41d0155d, 0x7cc7, 0x4217, 0xad, 0xa9, 0x00, 0x50, 0x74, 0x62, 0x4d, 0xa4);
- #endif
- extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0047_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0047_v0_0_s_ifspec;
- #ifndef __ISCPSecureAuthenticate_INTERFACE_DEFINED__
- #define __ISCPSecureAuthenticate_INTERFACE_DEFINED__
- /* interface ISCPSecureAuthenticate */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_ISCPSecureAuthenticate;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A0F-33ED-11d3-8470-00C04F79DBC0")
- ISCPSecureAuthenticate : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetSecureQuery(
- /* [out] */ __RPC__deref_out_opt ISCPSecureQuery **ppSecureQuery) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct ISCPSecureAuthenticateVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ISCPSecureAuthenticate * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ISCPSecureAuthenticate * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ISCPSecureAuthenticate * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetSecureQuery )(
- ISCPSecureAuthenticate * This,
- /* [out] */ __RPC__deref_out_opt ISCPSecureQuery **ppSecureQuery);
-
- END_INTERFACE
- } ISCPSecureAuthenticateVtbl;
- interface ISCPSecureAuthenticate
- {
- CONST_VTBL struct ISCPSecureAuthenticateVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ISCPSecureAuthenticate_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ISCPSecureAuthenticate_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ISCPSecureAuthenticate_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ISCPSecureAuthenticate_GetSecureQuery(This,ppSecureQuery) \
- ( (This)->lpVtbl -> GetSecureQuery(This,ppSecureQuery) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ISCPSecureAuthenticate_INTERFACE_DEFINED__ */
- #ifndef __ISCPSecureAuthenticate2_INTERFACE_DEFINED__
- #define __ISCPSecureAuthenticate2_INTERFACE_DEFINED__
- /* interface ISCPSecureAuthenticate2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_ISCPSecureAuthenticate2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("B580CFAE-1672-47e2-ACAA-44BBECBCAE5B")
- ISCPSecureAuthenticate2 : public ISCPSecureAuthenticate
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetSCPSession(
- /* [out] */ __RPC__deref_out_opt ISCPSession **ppSCPSession) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct ISCPSecureAuthenticate2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ISCPSecureAuthenticate2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ISCPSecureAuthenticate2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ISCPSecureAuthenticate2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetSecureQuery )(
- ISCPSecureAuthenticate2 * This,
- /* [out] */ __RPC__deref_out_opt ISCPSecureQuery **ppSecureQuery);
-
- HRESULT ( STDMETHODCALLTYPE *GetSCPSession )(
- ISCPSecureAuthenticate2 * This,
- /* [out] */ __RPC__deref_out_opt ISCPSession **ppSCPSession);
-
- END_INTERFACE
- } ISCPSecureAuthenticate2Vtbl;
- interface ISCPSecureAuthenticate2
- {
- CONST_VTBL struct ISCPSecureAuthenticate2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ISCPSecureAuthenticate2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ISCPSecureAuthenticate2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ISCPSecureAuthenticate2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ISCPSecureAuthenticate2_GetSecureQuery(This,ppSecureQuery) \
- ( (This)->lpVtbl -> GetSecureQuery(This,ppSecureQuery) )
- #define ISCPSecureAuthenticate2_GetSCPSession(This,ppSCPSession) \
- ( (This)->lpVtbl -> GetSCPSession(This,ppSCPSession) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ISCPSecureAuthenticate2_INTERFACE_DEFINED__ */
- #ifndef __ISCPSecureQuery_INTERFACE_DEFINED__
- #define __ISCPSecureQuery_INTERFACE_DEFINED__
- /* interface ISCPSecureQuery */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_ISCPSecureQuery;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A0D-33ED-11d3-8470-00C04F79DBC0")
- ISCPSecureQuery : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetDataDemands(
- /* [out] */ __RPC__out UINT *pfuFlags,
- /* [out] */ __RPC__out DWORD *pdwMinRightsData,
- /* [out] */ __RPC__out DWORD *pdwMinExamineData,
- /* [out] */ __RPC__out DWORD *pdwMinDecideData,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ExamineData(
- /* [in] */ UINT fuFlags,
- /* [unique][string][in] */ __RPC__in_opt LPWSTR pwszExtension,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE MakeDecision(
- /* [in] */ UINT fuFlags,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwAppSec,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
- /* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetRights(
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct ISCPSecureQueryVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ISCPSecureQuery * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ISCPSecureQuery * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ISCPSecureQuery * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetDataDemands )(
- ISCPSecureQuery * This,
- /* [out] */ __RPC__out UINT *pfuFlags,
- /* [out] */ __RPC__out DWORD *pdwMinRightsData,
- /* [out] */ __RPC__out DWORD *pdwMinExamineData,
- /* [out] */ __RPC__out DWORD *pdwMinDecideData,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *ExamineData )(
- ISCPSecureQuery * This,
- /* [in] */ UINT fuFlags,
- /* [unique][string][in] */ __RPC__in_opt LPWSTR pwszExtension,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *MakeDecision )(
- ISCPSecureQuery * This,
- /* [in] */ UINT fuFlags,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwAppSec,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
- /* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- ISCPSecureQuery * This,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- END_INTERFACE
- } ISCPSecureQueryVtbl;
- interface ISCPSecureQuery
- {
- CONST_VTBL struct ISCPSecureQueryVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ISCPSecureQuery_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ISCPSecureQuery_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ISCPSecureQuery_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ISCPSecureQuery_GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) \
- ( (This)->lpVtbl -> GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) )
- #define ISCPSecureQuery_ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) \
- ( (This)->lpVtbl -> ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) )
- #define ISCPSecureQuery_MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) \
- ( (This)->lpVtbl -> MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) )
- #define ISCPSecureQuery_GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ISCPSecureQuery_INTERFACE_DEFINED__ */
- #ifndef __ISCPSecureQuery2_INTERFACE_DEFINED__
- #define __ISCPSecureQuery2_INTERFACE_DEFINED__
- /* interface ISCPSecureQuery2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_ISCPSecureQuery2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("EBE17E25-4FD7-4632-AF46-6D93D4FCC72E")
- ISCPSecureQuery2 : public ISCPSecureQuery
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE MakeDecision2(
- /* [in] */ UINT fuFlags,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwAppSec,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
- /* [size_is][in] */ __RPC__in_ecount_full(dwAppCertAppLen) BYTE *pAppCertApp,
- /* [in] */ DWORD dwAppCertAppLen,
- /* [size_is][in] */ __RPC__in_ecount_full(dwAppCertSPLen) BYTE *pAppCertSP,
- /* [in] */ DWORD dwAppCertSPLen,
- /* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwRevocationURLLen) LPWSTR *pszRevocationURL,
- /* [ref][out][in] */ __RPC__inout DWORD *pdwRevocationURLLen,
- /* [out] */ __RPC__out DWORD *pdwRevocationBitFlag,
- /* [unique][out][in] */ __RPC__inout_opt ULONGLONG *pqwFileSize,
- /* [in] */ __RPC__in_opt IUnknown *pUnknown,
- /* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct ISCPSecureQuery2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ISCPSecureQuery2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ISCPSecureQuery2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ISCPSecureQuery2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetDataDemands )(
- ISCPSecureQuery2 * This,
- /* [out] */ __RPC__out UINT *pfuFlags,
- /* [out] */ __RPC__out DWORD *pdwMinRightsData,
- /* [out] */ __RPC__out DWORD *pdwMinExamineData,
- /* [out] */ __RPC__out DWORD *pdwMinDecideData,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *ExamineData )(
- ISCPSecureQuery2 * This,
- /* [in] */ UINT fuFlags,
- /* [unique][string][in] */ __RPC__in_opt LPWSTR pwszExtension,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *MakeDecision )(
- ISCPSecureQuery2 * This,
- /* [in] */ UINT fuFlags,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwAppSec,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
- /* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- ISCPSecureQuery2 * This,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *MakeDecision2 )(
- ISCPSecureQuery2 * This,
- /* [in] */ UINT fuFlags,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwAppSec,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
- /* [size_is][in] */ __RPC__in_ecount_full(dwAppCertAppLen) BYTE *pAppCertApp,
- /* [in] */ DWORD dwAppCertAppLen,
- /* [size_is][in] */ __RPC__in_ecount_full(dwAppCertSPLen) BYTE *pAppCertSP,
- /* [in] */ DWORD dwAppCertSPLen,
- /* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwRevocationURLLen) LPWSTR *pszRevocationURL,
- /* [ref][out][in] */ __RPC__inout DWORD *pdwRevocationURLLen,
- /* [out] */ __RPC__out DWORD *pdwRevocationBitFlag,
- /* [unique][out][in] */ __RPC__inout_opt ULONGLONG *pqwFileSize,
- /* [in] */ __RPC__in_opt IUnknown *pUnknown,
- /* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- END_INTERFACE
- } ISCPSecureQuery2Vtbl;
- interface ISCPSecureQuery2
- {
- CONST_VTBL struct ISCPSecureQuery2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ISCPSecureQuery2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ISCPSecureQuery2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ISCPSecureQuery2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ISCPSecureQuery2_GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) \
- ( (This)->lpVtbl -> GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) )
- #define ISCPSecureQuery2_ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) \
- ( (This)->lpVtbl -> ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) )
- #define ISCPSecureQuery2_MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) \
- ( (This)->lpVtbl -> MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) )
- #define ISCPSecureQuery2_GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) )
- #define ISCPSecureQuery2_MakeDecision2(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange,abMac) \
- ( (This)->lpVtbl -> MakeDecision2(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange,abMac) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ISCPSecureQuery2_INTERFACE_DEFINED__ */
- #ifndef __ISCPSecureExchange_INTERFACE_DEFINED__
- #define __ISCPSecureExchange_INTERFACE_DEFINED__
- /* interface ISCPSecureExchange */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_ISCPSecureExchange;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("1DCB3A0E-33ED-11d3-8470-00C04F79DBC0")
- ISCPSecureExchange : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE TransferContainerData(
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [out] */ __RPC__out UINT *pfuReadyFlags,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE ObjectData(
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE TransferComplete( void) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct ISCPSecureExchangeVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ISCPSecureExchange * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ISCPSecureExchange * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ISCPSecureExchange * This);
-
- HRESULT ( STDMETHODCALLTYPE *TransferContainerData )(
- ISCPSecureExchange * This,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [out] */ __RPC__out UINT *pfuReadyFlags,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *ObjectData )(
- ISCPSecureExchange * This,
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *TransferComplete )(
- ISCPSecureExchange * This);
-
- END_INTERFACE
- } ISCPSecureExchangeVtbl;
- interface ISCPSecureExchange
- {
- CONST_VTBL struct ISCPSecureExchangeVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ISCPSecureExchange_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ISCPSecureExchange_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ISCPSecureExchange_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ISCPSecureExchange_TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) \
- ( (This)->lpVtbl -> TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) )
- #define ISCPSecureExchange_ObjectData(This,pData,pdwSize,abMac) \
- ( (This)->lpVtbl -> ObjectData(This,pData,pdwSize,abMac) )
- #define ISCPSecureExchange_TransferComplete(This) \
- ( (This)->lpVtbl -> TransferComplete(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ISCPSecureExchange_INTERFACE_DEFINED__ */
- #ifndef __ISCPSecureExchange2_INTERFACE_DEFINED__
- #define __ISCPSecureExchange2_INTERFACE_DEFINED__
- /* interface ISCPSecureExchange2 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_ISCPSecureExchange2;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("6C62FC7B-2690-483F-9D44-0A20CB35577C")
- ISCPSecureExchange2 : public ISCPSecureExchange
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE TransferContainerData2(
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
- /* [out] */ __RPC__out UINT *pfuReadyFlags,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct ISCPSecureExchange2Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ISCPSecureExchange2 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ISCPSecureExchange2 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ISCPSecureExchange2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *TransferContainerData )(
- ISCPSecureExchange2 * This,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [out] */ __RPC__out UINT *pfuReadyFlags,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *ObjectData )(
- ISCPSecureExchange2 * This,
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *TransferComplete )(
- ISCPSecureExchange2 * This);
-
- HRESULT ( STDMETHODCALLTYPE *TransferContainerData2 )(
- ISCPSecureExchange2 * This,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
- /* [out] */ __RPC__out UINT *pfuReadyFlags,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- END_INTERFACE
- } ISCPSecureExchange2Vtbl;
- interface ISCPSecureExchange2
- {
- CONST_VTBL struct ISCPSecureExchange2Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ISCPSecureExchange2_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ISCPSecureExchange2_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ISCPSecureExchange2_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ISCPSecureExchange2_TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) \
- ( (This)->lpVtbl -> TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) )
- #define ISCPSecureExchange2_ObjectData(This,pData,pdwSize,abMac) \
- ( (This)->lpVtbl -> ObjectData(This,pData,pdwSize,abMac) )
- #define ISCPSecureExchange2_TransferComplete(This) \
- ( (This)->lpVtbl -> TransferComplete(This) )
- #define ISCPSecureExchange2_TransferContainerData2(This,pData,dwSize,pProgressCallback,pfuReadyFlags,abMac) \
- ( (This)->lpVtbl -> TransferContainerData2(This,pData,dwSize,pProgressCallback,pfuReadyFlags,abMac) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ISCPSecureExchange2_INTERFACE_DEFINED__ */
- #ifndef __ISCPSecureExchange3_INTERFACE_DEFINED__
- #define __ISCPSecureExchange3_INTERFACE_DEFINED__
- /* interface ISCPSecureExchange3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_ISCPSecureExchange3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("ab4e77e4-8908-4b17-bd2a-b1dbe6dd69e1")
- ISCPSecureExchange3 : public ISCPSecureExchange2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE TransferContainerDataOnClearChannel(
- /* [in] */ __RPC__in_opt IMDSPDevice *pDevice,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
- /* [out] */ __RPC__out UINT *pfuReadyFlags) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetObjectDataOnClearChannel(
- /* [in] */ __RPC__in_opt IMDSPDevice *pDevice,
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE TransferCompleteForDevice(
- /* [in] */ __RPC__in_opt IMDSPDevice *pDevice) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct ISCPSecureExchange3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ISCPSecureExchange3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ISCPSecureExchange3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ISCPSecureExchange3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *TransferContainerData )(
- ISCPSecureExchange3 * This,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [out] */ __RPC__out UINT *pfuReadyFlags,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *ObjectData )(
- ISCPSecureExchange3 * This,
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *TransferComplete )(
- ISCPSecureExchange3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *TransferContainerData2 )(
- ISCPSecureExchange3 * This,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
- /* [out] */ __RPC__out UINT *pfuReadyFlags,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *TransferContainerDataOnClearChannel )(
- ISCPSecureExchange3 * This,
- /* [in] */ __RPC__in_opt IMDSPDevice *pDevice,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
- /* [out] */ __RPC__out UINT *pfuReadyFlags);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectDataOnClearChannel )(
- ISCPSecureExchange3 * This,
- /* [in] */ __RPC__in_opt IMDSPDevice *pDevice,
- /* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
- /* [out][in] */ __RPC__inout DWORD *pdwSize);
-
- HRESULT ( STDMETHODCALLTYPE *TransferCompleteForDevice )(
- ISCPSecureExchange3 * This,
- /* [in] */ __RPC__in_opt IMDSPDevice *pDevice);
-
- END_INTERFACE
- } ISCPSecureExchange3Vtbl;
- interface ISCPSecureExchange3
- {
- CONST_VTBL struct ISCPSecureExchange3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ISCPSecureExchange3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ISCPSecureExchange3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ISCPSecureExchange3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ISCPSecureExchange3_TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) \
- ( (This)->lpVtbl -> TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) )
- #define ISCPSecureExchange3_ObjectData(This,pData,pdwSize,abMac) \
- ( (This)->lpVtbl -> ObjectData(This,pData,pdwSize,abMac) )
- #define ISCPSecureExchange3_TransferComplete(This) \
- ( (This)->lpVtbl -> TransferComplete(This) )
- #define ISCPSecureExchange3_TransferContainerData2(This,pData,dwSize,pProgressCallback,pfuReadyFlags,abMac) \
- ( (This)->lpVtbl -> TransferContainerData2(This,pData,dwSize,pProgressCallback,pfuReadyFlags,abMac) )
- #define ISCPSecureExchange3_TransferContainerDataOnClearChannel(This,pDevice,pData,dwSize,pProgressCallback,pfuReadyFlags) \
- ( (This)->lpVtbl -> TransferContainerDataOnClearChannel(This,pDevice,pData,dwSize,pProgressCallback,pfuReadyFlags) )
- #define ISCPSecureExchange3_GetObjectDataOnClearChannel(This,pDevice,pData,pdwSize) \
- ( (This)->lpVtbl -> GetObjectDataOnClearChannel(This,pDevice,pData,pdwSize) )
- #define ISCPSecureExchange3_TransferCompleteForDevice(This,pDevice) \
- ( (This)->lpVtbl -> TransferCompleteForDevice(This,pDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ISCPSecureExchange3_INTERFACE_DEFINED__ */
- #ifndef __ISCPSession_INTERFACE_DEFINED__
- #define __ISCPSession_INTERFACE_DEFINED__
- /* interface ISCPSession */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_ISCPSession;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("88a3e6ed-eee4-4619-bbb3-fd4fb62715d1")
- ISCPSession : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE BeginSession(
- /* [in] */ __RPC__in_opt IMDSPDevice *pIDevice,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSizeCtx) BYTE *pCtx,
- /* [in] */ DWORD dwSizeCtx) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EndSession(
- /* [size_is][in] */ __RPC__in_ecount_full(dwSizeCtx) BYTE *pCtx,
- /* [in] */ DWORD dwSizeCtx) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetSecureQuery(
- /* [out] */ __RPC__deref_out_opt ISCPSecureQuery **ppSecureQuery) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct ISCPSessionVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ISCPSession * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ISCPSession * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ISCPSession * This);
-
- HRESULT ( STDMETHODCALLTYPE *BeginSession )(
- ISCPSession * This,
- /* [in] */ __RPC__in_opt IMDSPDevice *pIDevice,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSizeCtx) BYTE *pCtx,
- /* [in] */ DWORD dwSizeCtx);
-
- HRESULT ( STDMETHODCALLTYPE *EndSession )(
- ISCPSession * This,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSizeCtx) BYTE *pCtx,
- /* [in] */ DWORD dwSizeCtx);
-
- HRESULT ( STDMETHODCALLTYPE *GetSecureQuery )(
- ISCPSession * This,
- /* [out] */ __RPC__deref_out_opt ISCPSecureQuery **ppSecureQuery);
-
- END_INTERFACE
- } ISCPSessionVtbl;
- interface ISCPSession
- {
- CONST_VTBL struct ISCPSessionVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ISCPSession_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ISCPSession_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ISCPSession_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ISCPSession_BeginSession(This,pIDevice,pCtx,dwSizeCtx) \
- ( (This)->lpVtbl -> BeginSession(This,pIDevice,pCtx,dwSizeCtx) )
- #define ISCPSession_EndSession(This,pCtx,dwSizeCtx) \
- ( (This)->lpVtbl -> EndSession(This,pCtx,dwSizeCtx) )
- #define ISCPSession_GetSecureQuery(This,ppSecureQuery) \
- ( (This)->lpVtbl -> GetSecureQuery(This,ppSecureQuery) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ISCPSession_INTERFACE_DEFINED__ */
- #ifndef __ISCPSecureQuery3_INTERFACE_DEFINED__
- #define __ISCPSecureQuery3_INTERFACE_DEFINED__
- /* interface ISCPSecureQuery3 */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_ISCPSecureQuery3;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("B7EDD1A2-4DAB-484b-B3C5-AD39B8B4C0B1")
- ISCPSecureQuery3 : public ISCPSecureQuery2
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetRightsOnClearChannel(
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE MakeDecisionOnClearChannel(
- /* [in] */ UINT fuFlags,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwAppSec,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
- /* [size_is][in] */ __RPC__in_ecount_full(dwAppCertAppLen) BYTE *pAppCertApp,
- /* [in] */ DWORD dwAppCertAppLen,
- /* [size_is][in] */ __RPC__in_ecount_full(dwAppCertSPLen) BYTE *pAppCertSP,
- /* [in] */ DWORD dwAppCertSPLen,
- /* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwRevocationURLLen) LPWSTR *pszRevocationURL,
- /* [ref][out][in] */ __RPC__inout DWORD *pdwRevocationURLLen,
- /* [out] */ __RPC__out DWORD *pdwRevocationBitFlag,
- /* [unique][out][in] */ __RPC__inout_opt ULONGLONG *pqwFileSize,
- /* [in] */ __RPC__in_opt IUnknown *pUnknown,
- /* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct ISCPSecureQuery3Vtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ISCPSecureQuery3 * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ISCPSecureQuery3 * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ISCPSecureQuery3 * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetDataDemands )(
- ISCPSecureQuery3 * This,
- /* [out] */ __RPC__out UINT *pfuFlags,
- /* [out] */ __RPC__out DWORD *pdwMinRightsData,
- /* [out] */ __RPC__out DWORD *pdwMinExamineData,
- /* [out] */ __RPC__out DWORD *pdwMinDecideData,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *ExamineData )(
- ISCPSecureQuery3 * This,
- /* [in] */ UINT fuFlags,
- /* [unique][string][in] */ __RPC__in_opt LPWSTR pwszExtension,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *MakeDecision )(
- ISCPSecureQuery3 * This,
- /* [in] */ UINT fuFlags,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwAppSec,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
- /* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetRights )(
- ISCPSecureQuery3 * This,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *MakeDecision2 )(
- ISCPSecureQuery3 * This,
- /* [in] */ UINT fuFlags,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwAppSec,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
- /* [size_is][in] */ __RPC__in_ecount_full(dwAppCertAppLen) BYTE *pAppCertApp,
- /* [in] */ DWORD dwAppCertAppLen,
- /* [size_is][in] */ __RPC__in_ecount_full(dwAppCertSPLen) BYTE *pAppCertSP,
- /* [in] */ DWORD dwAppCertSPLen,
- /* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwRevocationURLLen) LPWSTR *pszRevocationURL,
- /* [ref][out][in] */ __RPC__inout DWORD *pdwRevocationURLLen,
- /* [out] */ __RPC__out DWORD *pdwRevocationBitFlag,
- /* [unique][out][in] */ __RPC__inout_opt ULONGLONG *pqwFileSize,
- /* [in] */ __RPC__in_opt IUnknown *pUnknown,
- /* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
- /* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetRightsOnClearChannel )(
- ISCPSecureQuery3 * This,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
- /* [out] */ __RPC__out UINT *pnRightsCount);
-
- HRESULT ( STDMETHODCALLTYPE *MakeDecisionOnClearChannel )(
- ISCPSecureQuery3 * This,
- /* [in] */ UINT fuFlags,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
- /* [in] */ DWORD dwSize,
- /* [in] */ DWORD dwAppSec,
- /* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
- /* [in] */ DWORD dwSessionKeyLen,
- /* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
- /* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
- /* [size_is][in] */ __RPC__in_ecount_full(dwAppCertAppLen) BYTE *pAppCertApp,
- /* [in] */ DWORD dwAppCertAppLen,
- /* [size_is][in] */ __RPC__in_ecount_full(dwAppCertSPLen) BYTE *pAppCertSP,
- /* [in] */ DWORD dwAppCertSPLen,
- /* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwRevocationURLLen) LPWSTR *pszRevocationURL,
- /* [ref][out][in] */ __RPC__inout DWORD *pdwRevocationURLLen,
- /* [out] */ __RPC__out DWORD *pdwRevocationBitFlag,
- /* [unique][out][in] */ __RPC__inout_opt ULONGLONG *pqwFileSize,
- /* [in] */ __RPC__in_opt IUnknown *pUnknown,
- /* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange);
-
- END_INTERFACE
- } ISCPSecureQuery3Vtbl;
- interface ISCPSecureQuery3
- {
- CONST_VTBL struct ISCPSecureQuery3Vtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define ISCPSecureQuery3_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ISCPSecureQuery3_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ISCPSecureQuery3_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ISCPSecureQuery3_GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) \
- ( (This)->lpVtbl -> GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) )
- #define ISCPSecureQuery3_ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) \
- ( (This)->lpVtbl -> ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) )
- #define ISCPSecureQuery3_MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) \
- ( (This)->lpVtbl -> MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) )
- #define ISCPSecureQuery3_GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) \
- ( (This)->lpVtbl -> GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) )
- #define ISCPSecureQuery3_MakeDecision2(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange,abMac) \
- ( (This)->lpVtbl -> MakeDecision2(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange,abMac) )
- #define ISCPSecureQuery3_GetRightsOnClearChannel(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,pProgressCallback,ppRights,pnRightsCount) \
- ( (This)->lpVtbl -> GetRightsOnClearChannel(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,pProgressCallback,ppRights,pnRightsCount) )
- #define ISCPSecureQuery3_MakeDecisionOnClearChannel(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pProgressCallback,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange) \
- ( (This)->lpVtbl -> MakeDecisionOnClearChannel(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pProgressCallback,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ISCPSecureQuery3_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_mswmdm_0000_0056 */
- /* [local] */
- #define SAC_MAC_LEN 8
- extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0056_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0056_v0_0_s_ifspec;
- #ifndef __IComponentAuthenticate_INTERFACE_DEFINED__
- #define __IComponentAuthenticate_INTERFACE_DEFINED__
- /* interface IComponentAuthenticate */
- /* [unique][uuid][object] */
- EXTERN_C const IID IID_IComponentAuthenticate;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("A9889C00-6D2B-11d3-8496-00C04F79DBC0")
- IComponentAuthenticate : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SACAuth(
- /* [in] */ DWORD dwProtocolID,
- /* [in] */ DWORD dwPass,
- /* [size_is][in] */ __RPC__in_ecount_full(dwDataInLen) BYTE *pbDataIn,
- /* [in] */ DWORD dwDataInLen,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwDataOutLen) BYTE **ppbDataOut,
- /* [out] */ __RPC__out DWORD *pdwDataOutLen) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SACGetProtocols(
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwProtocolCount) DWORD **ppdwProtocols,
- /* [out] */ __RPC__out DWORD *pdwProtocolCount) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IComponentAuthenticateVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IComponentAuthenticate * This,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */
- __RPC__deref_out void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IComponentAuthenticate * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IComponentAuthenticate * This);
-
- HRESULT ( STDMETHODCALLTYPE *SACAuth )(
- IComponentAuthenticate * This,
- /* [in] */ DWORD dwProtocolID,
- /* [in] */ DWORD dwPass,
- /* [size_is][in] */ __RPC__in_ecount_full(dwDataInLen) BYTE *pbDataIn,
- /* [in] */ DWORD dwDataInLen,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwDataOutLen) BYTE **ppbDataOut,
- /* [out] */ __RPC__out DWORD *pdwDataOutLen);
-
- HRESULT ( STDMETHODCALLTYPE *SACGetProtocols )(
- IComponentAuthenticate * This,
- /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwProtocolCount) DWORD **ppdwProtocols,
- /* [out] */ __RPC__out DWORD *pdwProtocolCount);
-
- END_INTERFACE
- } IComponentAuthenticateVtbl;
- interface IComponentAuthenticate
- {
- CONST_VTBL struct IComponentAuthenticateVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IComponentAuthenticate_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define IComponentAuthenticate_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define IComponentAuthenticate_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define IComponentAuthenticate_SACAuth(This,dwProtocolID,dwPass,pbDataIn,dwDataInLen,ppbDataOut,pdwDataOutLen) \
- ( (This)->lpVtbl -> SACAuth(This,dwProtocolID,dwPass,pbDataIn,dwDataInLen,ppbDataOut,pdwDataOutLen) )
- #define IComponentAuthenticate_SACGetProtocols(This,ppdwProtocols,pdwProtocolCount) \
- ( (This)->lpVtbl -> SACGetProtocols(This,ppdwProtocols,pdwProtocolCount) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __IComponentAuthenticate_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_mswmdm_0000_0057 */
- /* [local] */
- const GUID EVENT_WMDM_CONTENT_TRANSFER = { 0x339C9BF4, 0xBCFE, 0x4ED8, { 0x94, 0xDF, 0xEA, 0xF8, 0xC2, 0x6A, 0xB6, 0x1B } };
- extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0057_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0057_v0_0_s_ifspec;
- #ifndef __MSWMDMLib_LIBRARY_DEFINED__
- #define __MSWMDMLib_LIBRARY_DEFINED__
- /* library MSWMDMLib */
- /* [helpstring][version][uuid] */
- EXTERN_C const IID LIBID_MSWMDMLib;
- EXTERN_C const CLSID CLSID_MediaDevMgrClassFactory;
- #ifdef __cplusplus
- class DECLSPEC_UUID("50040C1D-BDBF-4924-B873-F14D6C5BFD66")
- MediaDevMgrClassFactory;
- #endif
- EXTERN_C const CLSID CLSID_MediaDevMgr;
- #ifdef __cplusplus
- class DECLSPEC_UUID("25BAAD81-3560-11D3-8471-00C04F79DBC0")
- MediaDevMgr;
- #endif
- EXTERN_C const CLSID CLSID_WMDMDevice;
- #ifdef __cplusplus
- class DECLSPEC_UUID("807B3CDF-357A-11d3-8471-00C04F79DBC0")
- WMDMDevice;
- #endif
- EXTERN_C const CLSID CLSID_WMDMStorage;
- #ifdef __cplusplus
- class DECLSPEC_UUID("807B3CE0-357A-11d3-8471-00C04F79DBC0")
- WMDMStorage;
- #endif
- EXTERN_C const CLSID CLSID_WMDMStorageGlobal;
- #ifdef __cplusplus
- class DECLSPEC_UUID("807B3CE1-357A-11d3-8471-00C04F79DBC0")
- WMDMStorageGlobal;
- #endif
- EXTERN_C const CLSID CLSID_WMDMDeviceEnum;
- #ifdef __cplusplus
- class DECLSPEC_UUID("430E35AF-3971-11D3-8474-00C04F79DBC0")
- WMDMDeviceEnum;
- #endif
- EXTERN_C const CLSID CLSID_WMDMStorageEnum;
- #ifdef __cplusplus
- class DECLSPEC_UUID("EB401A3B-3AF7-11d3-8474-00C04F79DBC0")
- WMDMStorageEnum;
- #endif
- #endif /* __MSWMDMLib_LIBRARY_DEFINED__ */
- /* Additional Prototypes for ALL interfaces */
- unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
- unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
- unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
- void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
- unsigned long __RPC_USER LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * );
- unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * );
- unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
- void __RPC_USER LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * );
- /* end of Additional Prototypes */
- #ifdef __cplusplus
- }
- #endif
- #endif
|