objidlbase.h 210 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535
  1. /*** Autogenerated by WIDL 7.7 from include/objidlbase.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __objidlbase_h__
  14. #define __objidlbase_h__
  15. /* Forward declarations */
  16. #ifndef __IMarshal_FWD_DEFINED__
  17. #define __IMarshal_FWD_DEFINED__
  18. typedef interface IMarshal IMarshal;
  19. #ifdef __cplusplus
  20. interface IMarshal;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __INoMarshal_FWD_DEFINED__
  24. #define __INoMarshal_FWD_DEFINED__
  25. typedef interface INoMarshal INoMarshal;
  26. #ifdef __cplusplus
  27. interface INoMarshal;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IAgileObject_FWD_DEFINED__
  31. #define __IAgileObject_FWD_DEFINED__
  32. typedef interface IAgileObject IAgileObject;
  33. #ifdef __cplusplus
  34. interface IAgileObject;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IAgileReference_FWD_DEFINED__
  38. #define __IAgileReference_FWD_DEFINED__
  39. typedef interface IAgileReference IAgileReference;
  40. #ifdef __cplusplus
  41. interface IAgileReference;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __IMarshal2_FWD_DEFINED__
  45. #define __IMarshal2_FWD_DEFINED__
  46. typedef interface IMarshal2 IMarshal2;
  47. #ifdef __cplusplus
  48. interface IMarshal2;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __IMalloc_FWD_DEFINED__
  52. #define __IMalloc_FWD_DEFINED__
  53. typedef interface IMalloc IMalloc;
  54. #ifdef __cplusplus
  55. interface IMalloc;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __IStdMarshalInfo_FWD_DEFINED__
  59. #define __IStdMarshalInfo_FWD_DEFINED__
  60. typedef interface IStdMarshalInfo IStdMarshalInfo;
  61. #ifdef __cplusplus
  62. interface IStdMarshalInfo;
  63. #endif /* __cplusplus */
  64. #endif
  65. #ifndef __IExternalConnection_FWD_DEFINED__
  66. #define __IExternalConnection_FWD_DEFINED__
  67. typedef interface IExternalConnection IExternalConnection;
  68. #ifdef __cplusplus
  69. interface IExternalConnection;
  70. #endif /* __cplusplus */
  71. #endif
  72. #ifndef __IMultiQI_FWD_DEFINED__
  73. #define __IMultiQI_FWD_DEFINED__
  74. typedef interface IMultiQI IMultiQI;
  75. #ifdef __cplusplus
  76. interface IMultiQI;
  77. #endif /* __cplusplus */
  78. #endif
  79. #ifndef __AsyncIMultiQI_FWD_DEFINED__
  80. #define __AsyncIMultiQI_FWD_DEFINED__
  81. typedef interface AsyncIMultiQI AsyncIMultiQI;
  82. #ifdef __cplusplus
  83. interface AsyncIMultiQI;
  84. #endif /* __cplusplus */
  85. #endif
  86. #ifndef __IInternalUnknown_FWD_DEFINED__
  87. #define __IInternalUnknown_FWD_DEFINED__
  88. typedef interface IInternalUnknown IInternalUnknown;
  89. #ifdef __cplusplus
  90. interface IInternalUnknown;
  91. #endif /* __cplusplus */
  92. #endif
  93. #ifndef __IEnumUnknown_FWD_DEFINED__
  94. #define __IEnumUnknown_FWD_DEFINED__
  95. typedef interface IEnumUnknown IEnumUnknown;
  96. #ifdef __cplusplus
  97. interface IEnumUnknown;
  98. #endif /* __cplusplus */
  99. #endif
  100. #ifndef __IEnumString_FWD_DEFINED__
  101. #define __IEnumString_FWD_DEFINED__
  102. typedef interface IEnumString IEnumString;
  103. #ifdef __cplusplus
  104. interface IEnumString;
  105. #endif /* __cplusplus */
  106. #endif
  107. #ifndef __ISequentialStream_FWD_DEFINED__
  108. #define __ISequentialStream_FWD_DEFINED__
  109. typedef interface ISequentialStream ISequentialStream;
  110. #ifdef __cplusplus
  111. interface ISequentialStream;
  112. #endif /* __cplusplus */
  113. #endif
  114. #ifndef __IStream_FWD_DEFINED__
  115. #define __IStream_FWD_DEFINED__
  116. typedef interface IStream IStream;
  117. #ifdef __cplusplus
  118. interface IStream;
  119. #endif /* __cplusplus */
  120. #endif
  121. #ifndef __IRpcChannelBuffer_FWD_DEFINED__
  122. #define __IRpcChannelBuffer_FWD_DEFINED__
  123. typedef interface IRpcChannelBuffer IRpcChannelBuffer;
  124. #ifdef __cplusplus
  125. interface IRpcChannelBuffer;
  126. #endif /* __cplusplus */
  127. #endif
  128. #ifndef __IRpcChannelBuffer2_FWD_DEFINED__
  129. #define __IRpcChannelBuffer2_FWD_DEFINED__
  130. typedef interface IRpcChannelBuffer2 IRpcChannelBuffer2;
  131. #ifdef __cplusplus
  132. interface IRpcChannelBuffer2;
  133. #endif /* __cplusplus */
  134. #endif
  135. #ifndef __IAsyncRpcChannelBuffer_FWD_DEFINED__
  136. #define __IAsyncRpcChannelBuffer_FWD_DEFINED__
  137. typedef interface IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;
  138. #ifdef __cplusplus
  139. interface IAsyncRpcChannelBuffer;
  140. #endif /* __cplusplus */
  141. #endif
  142. #ifndef __IRpcChannelBuffer3_FWD_DEFINED__
  143. #define __IRpcChannelBuffer3_FWD_DEFINED__
  144. typedef interface IRpcChannelBuffer3 IRpcChannelBuffer3;
  145. #ifdef __cplusplus
  146. interface IRpcChannelBuffer3;
  147. #endif /* __cplusplus */
  148. #endif
  149. #ifndef __IRpcSyntaxNegotiate_FWD_DEFINED__
  150. #define __IRpcSyntaxNegotiate_FWD_DEFINED__
  151. typedef interface IRpcSyntaxNegotiate IRpcSyntaxNegotiate;
  152. #ifdef __cplusplus
  153. interface IRpcSyntaxNegotiate;
  154. #endif /* __cplusplus */
  155. #endif
  156. #ifndef __IRpcProxyBuffer_FWD_DEFINED__
  157. #define __IRpcProxyBuffer_FWD_DEFINED__
  158. typedef interface IRpcProxyBuffer IRpcProxyBuffer;
  159. #ifdef __cplusplus
  160. interface IRpcProxyBuffer;
  161. #endif /* __cplusplus */
  162. #endif
  163. #ifndef __IRpcStubBuffer_FWD_DEFINED__
  164. #define __IRpcStubBuffer_FWD_DEFINED__
  165. typedef interface IRpcStubBuffer IRpcStubBuffer;
  166. #ifdef __cplusplus
  167. interface IRpcStubBuffer;
  168. #endif /* __cplusplus */
  169. #endif
  170. #ifndef __IPSFactoryBuffer_FWD_DEFINED__
  171. #define __IPSFactoryBuffer_FWD_DEFINED__
  172. typedef interface IPSFactoryBuffer IPSFactoryBuffer;
  173. #ifdef __cplusplus
  174. interface IPSFactoryBuffer;
  175. #endif /* __cplusplus */
  176. #endif
  177. #ifndef __IChannelHook_FWD_DEFINED__
  178. #define __IChannelHook_FWD_DEFINED__
  179. typedef interface IChannelHook IChannelHook;
  180. #ifdef __cplusplus
  181. interface IChannelHook;
  182. #endif /* __cplusplus */
  183. #endif
  184. #ifndef __IClientSecurity_FWD_DEFINED__
  185. #define __IClientSecurity_FWD_DEFINED__
  186. typedef interface IClientSecurity IClientSecurity;
  187. #ifdef __cplusplus
  188. interface IClientSecurity;
  189. #endif /* __cplusplus */
  190. #endif
  191. #ifndef __IServerSecurity_FWD_DEFINED__
  192. #define __IServerSecurity_FWD_DEFINED__
  193. typedef interface IServerSecurity IServerSecurity;
  194. #ifdef __cplusplus
  195. interface IServerSecurity;
  196. #endif /* __cplusplus */
  197. #endif
  198. #ifndef __IRpcOptions_FWD_DEFINED__
  199. #define __IRpcOptions_FWD_DEFINED__
  200. typedef interface IRpcOptions IRpcOptions;
  201. #ifdef __cplusplus
  202. interface IRpcOptions;
  203. #endif /* __cplusplus */
  204. #endif
  205. #ifndef __IGlobalOptions_FWD_DEFINED__
  206. #define __IGlobalOptions_FWD_DEFINED__
  207. typedef interface IGlobalOptions IGlobalOptions;
  208. #ifdef __cplusplus
  209. interface IGlobalOptions;
  210. #endif /* __cplusplus */
  211. #endif
  212. #ifndef __ISurrogate_FWD_DEFINED__
  213. #define __ISurrogate_FWD_DEFINED__
  214. typedef interface ISurrogate ISurrogate;
  215. #ifdef __cplusplus
  216. interface ISurrogate;
  217. #endif /* __cplusplus */
  218. #endif
  219. #ifndef __IGlobalInterfaceTable_FWD_DEFINED__
  220. #define __IGlobalInterfaceTable_FWD_DEFINED__
  221. typedef interface IGlobalInterfaceTable IGlobalInterfaceTable;
  222. #ifdef __cplusplus
  223. interface IGlobalInterfaceTable;
  224. #endif /* __cplusplus */
  225. #endif
  226. #ifndef __ISynchronize_FWD_DEFINED__
  227. #define __ISynchronize_FWD_DEFINED__
  228. typedef interface ISynchronize ISynchronize;
  229. #ifdef __cplusplus
  230. interface ISynchronize;
  231. #endif /* __cplusplus */
  232. #endif
  233. #ifndef __ISynchronizeHandle_FWD_DEFINED__
  234. #define __ISynchronizeHandle_FWD_DEFINED__
  235. typedef interface ISynchronizeHandle ISynchronizeHandle;
  236. #ifdef __cplusplus
  237. interface ISynchronizeHandle;
  238. #endif /* __cplusplus */
  239. #endif
  240. #ifndef __ISynchronizeEvent_FWD_DEFINED__
  241. #define __ISynchronizeEvent_FWD_DEFINED__
  242. typedef interface ISynchronizeEvent ISynchronizeEvent;
  243. #ifdef __cplusplus
  244. interface ISynchronizeEvent;
  245. #endif /* __cplusplus */
  246. #endif
  247. #ifndef __ISynchronizeContainer_FWD_DEFINED__
  248. #define __ISynchronizeContainer_FWD_DEFINED__
  249. typedef interface ISynchronizeContainer ISynchronizeContainer;
  250. #ifdef __cplusplus
  251. interface ISynchronizeContainer;
  252. #endif /* __cplusplus */
  253. #endif
  254. #ifndef __ISynchronizeMutex_FWD_DEFINED__
  255. #define __ISynchronizeMutex_FWD_DEFINED__
  256. typedef interface ISynchronizeMutex ISynchronizeMutex;
  257. #ifdef __cplusplus
  258. interface ISynchronizeMutex;
  259. #endif /* __cplusplus */
  260. #endif
  261. #ifndef __ICancelMethodCalls_FWD_DEFINED__
  262. #define __ICancelMethodCalls_FWD_DEFINED__
  263. typedef interface ICancelMethodCalls ICancelMethodCalls;
  264. #ifdef __cplusplus
  265. interface ICancelMethodCalls;
  266. #endif /* __cplusplus */
  267. #endif
  268. #ifndef __IAsyncManager_FWD_DEFINED__
  269. #define __IAsyncManager_FWD_DEFINED__
  270. typedef interface IAsyncManager IAsyncManager;
  271. #ifdef __cplusplus
  272. interface IAsyncManager;
  273. #endif /* __cplusplus */
  274. #endif
  275. #ifndef __ICallFactory_FWD_DEFINED__
  276. #define __ICallFactory_FWD_DEFINED__
  277. typedef interface ICallFactory ICallFactory;
  278. #ifdef __cplusplus
  279. interface ICallFactory;
  280. #endif /* __cplusplus */
  281. #endif
  282. #ifndef __IRpcHelper_FWD_DEFINED__
  283. #define __IRpcHelper_FWD_DEFINED__
  284. typedef interface IRpcHelper IRpcHelper;
  285. #ifdef __cplusplus
  286. interface IRpcHelper;
  287. #endif /* __cplusplus */
  288. #endif
  289. #ifndef __IReleaseMarshalBuffers_FWD_DEFINED__
  290. #define __IReleaseMarshalBuffers_FWD_DEFINED__
  291. typedef interface IReleaseMarshalBuffers IReleaseMarshalBuffers;
  292. #ifdef __cplusplus
  293. interface IReleaseMarshalBuffers;
  294. #endif /* __cplusplus */
  295. #endif
  296. #ifndef __IWaitMultiple_FWD_DEFINED__
  297. #define __IWaitMultiple_FWD_DEFINED__
  298. typedef interface IWaitMultiple IWaitMultiple;
  299. #ifdef __cplusplus
  300. interface IWaitMultiple;
  301. #endif /* __cplusplus */
  302. #endif
  303. #ifndef __IAddrTrackingControl_FWD_DEFINED__
  304. #define __IAddrTrackingControl_FWD_DEFINED__
  305. typedef interface IAddrTrackingControl IAddrTrackingControl;
  306. #ifdef __cplusplus
  307. interface IAddrTrackingControl;
  308. #endif /* __cplusplus */
  309. #endif
  310. #ifndef __IAddrExclusionControl_FWD_DEFINED__
  311. #define __IAddrExclusionControl_FWD_DEFINED__
  312. typedef interface IAddrExclusionControl IAddrExclusionControl;
  313. #ifdef __cplusplus
  314. interface IAddrExclusionControl;
  315. #endif /* __cplusplus */
  316. #endif
  317. #ifndef __IPipeByte_FWD_DEFINED__
  318. #define __IPipeByte_FWD_DEFINED__
  319. typedef interface IPipeByte IPipeByte;
  320. #ifdef __cplusplus
  321. interface IPipeByte;
  322. #endif /* __cplusplus */
  323. #endif
  324. #ifndef __IPipeLong_FWD_DEFINED__
  325. #define __IPipeLong_FWD_DEFINED__
  326. typedef interface IPipeLong IPipeLong;
  327. #ifdef __cplusplus
  328. interface IPipeLong;
  329. #endif /* __cplusplus */
  330. #endif
  331. #ifndef __IPipeDouble_FWD_DEFINED__
  332. #define __IPipeDouble_FWD_DEFINED__
  333. typedef interface IPipeDouble IPipeDouble;
  334. #ifdef __cplusplus
  335. interface IPipeDouble;
  336. #endif /* __cplusplus */
  337. #endif
  338. #ifndef __IEnumContextProps_FWD_DEFINED__
  339. #define __IEnumContextProps_FWD_DEFINED__
  340. typedef interface IEnumContextProps IEnumContextProps;
  341. #ifdef __cplusplus
  342. interface IEnumContextProps;
  343. #endif /* __cplusplus */
  344. #endif
  345. #ifndef __IContext_FWD_DEFINED__
  346. #define __IContext_FWD_DEFINED__
  347. typedef interface IContext IContext;
  348. #ifdef __cplusplus
  349. interface IContext;
  350. #endif /* __cplusplus */
  351. #endif
  352. #ifndef __IComThreadingInfo_FWD_DEFINED__
  353. #define __IComThreadingInfo_FWD_DEFINED__
  354. typedef interface IComThreadingInfo IComThreadingInfo;
  355. #ifdef __cplusplus
  356. interface IComThreadingInfo;
  357. #endif /* __cplusplus */
  358. #endif
  359. #ifndef __IProcessInitControl_FWD_DEFINED__
  360. #define __IProcessInitControl_FWD_DEFINED__
  361. typedef interface IProcessInitControl IProcessInitControl;
  362. #ifdef __cplusplus
  363. interface IProcessInitControl;
  364. #endif /* __cplusplus */
  365. #endif
  366. #ifndef __IFastRundown_FWD_DEFINED__
  367. #define __IFastRundown_FWD_DEFINED__
  368. typedef interface IFastRundown IFastRundown;
  369. #ifdef __cplusplus
  370. interface IFastRundown;
  371. #endif /* __cplusplus */
  372. #endif
  373. #ifndef __IMarshalingStream_FWD_DEFINED__
  374. #define __IMarshalingStream_FWD_DEFINED__
  375. typedef interface IMarshalingStream IMarshalingStream;
  376. #ifdef __cplusplus
  377. interface IMarshalingStream;
  378. #endif /* __cplusplus */
  379. #endif
  380. /* Headers for imported files */
  381. #include <unknwnbase.h>
  382. #include <wtypesbase.h>
  383. #ifdef __cplusplus
  384. extern "C" {
  385. #endif
  386. /**
  387. * This file is part of the mingw-w64 runtime package.
  388. * No warranty is given; refer to the file DISCLAIMER within this package.
  389. */
  390. #include <winapifamily.h>
  391. #if (NTDDI_VERSION >= NTDDI_VISTA && !defined(_WIN32_WINNT))
  392. #define _WIN32_WINNT 0x0600
  393. #endif
  394. #if (NTDDI_VERSION >= NTDDI_WS03 && !defined(_WIN32_WINNT))
  395. #define _WIN32_WINNT 0x0502
  396. #endif
  397. #if (NTDDI_VERSION >= NTDDI_WINXP && !defined(_WIN32_WINNT))
  398. #define _WIN32_WINNT 0x0501
  399. #endif
  400. #ifndef _OBJIDLBASE_
  401. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  402. #ifndef __IStream_FWD_DEFINED__
  403. #define __IStream_FWD_DEFINED__
  404. typedef interface IStream IStream;
  405. #ifdef __cplusplus
  406. interface IStream;
  407. #endif /* __cplusplus */
  408. #endif
  409. #ifndef __IEnumString_FWD_DEFINED__
  410. #define __IEnumString_FWD_DEFINED__
  411. typedef interface IEnumString IEnumString;
  412. #ifdef __cplusplus
  413. interface IEnumString;
  414. #endif /* __cplusplus */
  415. #endif
  416. #ifndef __IMultiQI_FWD_DEFINED__
  417. #define __IMultiQI_FWD_DEFINED__
  418. typedef interface IMultiQI IMultiQI;
  419. #ifdef __cplusplus
  420. interface IMultiQI;
  421. #endif /* __cplusplus */
  422. #endif
  423. #endif
  424. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  425. #ifndef __IAsyncManager_FWD_DEFINED__
  426. #define __IAsyncManager_FWD_DEFINED__
  427. typedef interface IAsyncManager IAsyncManager;
  428. #ifdef __cplusplus
  429. interface IAsyncManager;
  430. #endif /* __cplusplus */
  431. #endif
  432. #ifndef __ICallFactory_FWD_DEFINED__
  433. #define __ICallFactory_FWD_DEFINED__
  434. typedef interface ICallFactory ICallFactory;
  435. #ifdef __cplusplus
  436. interface ICallFactory;
  437. #endif /* __cplusplus */
  438. #endif
  439. #ifndef __ISynchronize_FWD_DEFINED__
  440. #define __ISynchronize_FWD_DEFINED__
  441. typedef interface ISynchronize ISynchronize;
  442. #ifdef __cplusplus
  443. interface ISynchronize;
  444. #endif /* __cplusplus */
  445. #endif
  446. #endif
  447. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  448. typedef struct _COSERVERINFO {
  449. DWORD dwReserved1;
  450. LPWSTR pwszName;
  451. COAUTHINFO *pAuthInfo;
  452. DWORD dwReserved2;
  453. } COSERVERINFO;
  454. /*****************************************************************************
  455. * IMarshal interface
  456. */
  457. #ifndef __IMarshal_INTERFACE_DEFINED__
  458. #define __IMarshal_INTERFACE_DEFINED__
  459. typedef IMarshal *LPMARSHAL;
  460. DEFINE_GUID(IID_IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  461. #if defined(__cplusplus) && !defined(CINTERFACE)
  462. MIDL_INTERFACE("00000003-0000-0000-c000-000000000046")
  463. IMarshal : public IUnknown
  464. {
  465. virtual HRESULT STDMETHODCALLTYPE GetUnmarshalClass(
  466. REFIID riid,
  467. void *pv,
  468. DWORD dwDestContext,
  469. void *pvDestContext,
  470. DWORD mshlflags,
  471. CLSID *pCid) = 0;
  472. virtual HRESULT STDMETHODCALLTYPE GetMarshalSizeMax(
  473. REFIID riid,
  474. void *pv,
  475. DWORD dwDestContext,
  476. void *pvDestContext,
  477. DWORD mshlflags,
  478. DWORD *pSize) = 0;
  479. virtual HRESULT STDMETHODCALLTYPE MarshalInterface(
  480. IStream *pStm,
  481. REFIID riid,
  482. void *pv,
  483. DWORD dwDestContext,
  484. void *pvDestContext,
  485. DWORD mshlflags) = 0;
  486. virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface(
  487. IStream *pStm,
  488. REFIID riid,
  489. void **ppv) = 0;
  490. virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalData(
  491. IStream *pStm) = 0;
  492. virtual HRESULT STDMETHODCALLTYPE DisconnectObject(
  493. DWORD dwReserved) = 0;
  494. };
  495. #ifdef __CRT_UUID_DECL
  496. __CRT_UUID_DECL(IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  497. #endif
  498. #else
  499. typedef struct IMarshalVtbl {
  500. BEGIN_INTERFACE
  501. /*** IUnknown methods ***/
  502. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  503. IMarshal *This,
  504. REFIID riid,
  505. void **ppvObject);
  506. ULONG (STDMETHODCALLTYPE *AddRef)(
  507. IMarshal *This);
  508. ULONG (STDMETHODCALLTYPE *Release)(
  509. IMarshal *This);
  510. /*** IMarshal methods ***/
  511. HRESULT (STDMETHODCALLTYPE *GetUnmarshalClass)(
  512. IMarshal *This,
  513. REFIID riid,
  514. void *pv,
  515. DWORD dwDestContext,
  516. void *pvDestContext,
  517. DWORD mshlflags,
  518. CLSID *pCid);
  519. HRESULT (STDMETHODCALLTYPE *GetMarshalSizeMax)(
  520. IMarshal *This,
  521. REFIID riid,
  522. void *pv,
  523. DWORD dwDestContext,
  524. void *pvDestContext,
  525. DWORD mshlflags,
  526. DWORD *pSize);
  527. HRESULT (STDMETHODCALLTYPE *MarshalInterface)(
  528. IMarshal *This,
  529. IStream *pStm,
  530. REFIID riid,
  531. void *pv,
  532. DWORD dwDestContext,
  533. void *pvDestContext,
  534. DWORD mshlflags);
  535. HRESULT (STDMETHODCALLTYPE *UnmarshalInterface)(
  536. IMarshal *This,
  537. IStream *pStm,
  538. REFIID riid,
  539. void **ppv);
  540. HRESULT (STDMETHODCALLTYPE *ReleaseMarshalData)(
  541. IMarshal *This,
  542. IStream *pStm);
  543. HRESULT (STDMETHODCALLTYPE *DisconnectObject)(
  544. IMarshal *This,
  545. DWORD dwReserved);
  546. END_INTERFACE
  547. } IMarshalVtbl;
  548. interface IMarshal {
  549. CONST_VTBL IMarshalVtbl* lpVtbl;
  550. };
  551. #ifdef COBJMACROS
  552. #ifndef WIDL_C_INLINE_WRAPPERS
  553. /*** IUnknown methods ***/
  554. #define IMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  555. #define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)
  556. #define IMarshal_Release(This) (This)->lpVtbl->Release(This)
  557. /*** IMarshal methods ***/
  558. #define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  559. #define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  560. #define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  561. #define IMarshal_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)
  562. #define IMarshal_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)
  563. #define IMarshal_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)
  564. #else
  565. /*** IUnknown methods ***/
  566. static FORCEINLINE HRESULT IMarshal_QueryInterface(IMarshal* This,REFIID riid,void **ppvObject) {
  567. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  568. }
  569. static FORCEINLINE ULONG IMarshal_AddRef(IMarshal* This) {
  570. return This->lpVtbl->AddRef(This);
  571. }
  572. static FORCEINLINE ULONG IMarshal_Release(IMarshal* This) {
  573. return This->lpVtbl->Release(This);
  574. }
  575. /*** IMarshal methods ***/
  576. static FORCEINLINE HRESULT IMarshal_GetUnmarshalClass(IMarshal* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) {
  577. return This->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid);
  578. }
  579. static FORCEINLINE HRESULT IMarshal_GetMarshalSizeMax(IMarshal* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) {
  580. return This->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize);
  581. }
  582. static FORCEINLINE HRESULT IMarshal_MarshalInterface(IMarshal* This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) {
  583. return This->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags);
  584. }
  585. static FORCEINLINE HRESULT IMarshal_UnmarshalInterface(IMarshal* This,IStream *pStm,REFIID riid,void **ppv) {
  586. return This->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv);
  587. }
  588. static FORCEINLINE HRESULT IMarshal_ReleaseMarshalData(IMarshal* This,IStream *pStm) {
  589. return This->lpVtbl->ReleaseMarshalData(This,pStm);
  590. }
  591. static FORCEINLINE HRESULT IMarshal_DisconnectObject(IMarshal* This,DWORD dwReserved) {
  592. return This->lpVtbl->DisconnectObject(This,dwReserved);
  593. }
  594. #endif
  595. #endif
  596. #endif
  597. #endif /* __IMarshal_INTERFACE_DEFINED__ */
  598. /*****************************************************************************
  599. * INoMarshal interface
  600. */
  601. #ifndef __INoMarshal_INTERFACE_DEFINED__
  602. #define __INoMarshal_INTERFACE_DEFINED__
  603. DEFINE_GUID(IID_INoMarshal, 0xecc8691b, 0xc1db, 0x4dc0, 0x85,0x5e, 0x65,0xf6,0xc5,0x51,0xaf,0x49);
  604. #if defined(__cplusplus) && !defined(CINTERFACE)
  605. MIDL_INTERFACE("ecc8691b-c1db-4dc0-855e-65f6c551af49")
  606. INoMarshal : public IUnknown
  607. {
  608. };
  609. #ifdef __CRT_UUID_DECL
  610. __CRT_UUID_DECL(INoMarshal, 0xecc8691b, 0xc1db, 0x4dc0, 0x85,0x5e, 0x65,0xf6,0xc5,0x51,0xaf,0x49)
  611. #endif
  612. #else
  613. typedef struct INoMarshalVtbl {
  614. BEGIN_INTERFACE
  615. /*** IUnknown methods ***/
  616. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  617. INoMarshal *This,
  618. REFIID riid,
  619. void **ppvObject);
  620. ULONG (STDMETHODCALLTYPE *AddRef)(
  621. INoMarshal *This);
  622. ULONG (STDMETHODCALLTYPE *Release)(
  623. INoMarshal *This);
  624. END_INTERFACE
  625. } INoMarshalVtbl;
  626. interface INoMarshal {
  627. CONST_VTBL INoMarshalVtbl* lpVtbl;
  628. };
  629. #ifdef COBJMACROS
  630. #ifndef WIDL_C_INLINE_WRAPPERS
  631. /*** IUnknown methods ***/
  632. #define INoMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  633. #define INoMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)
  634. #define INoMarshal_Release(This) (This)->lpVtbl->Release(This)
  635. #else
  636. /*** IUnknown methods ***/
  637. static FORCEINLINE HRESULT INoMarshal_QueryInterface(INoMarshal* This,REFIID riid,void **ppvObject) {
  638. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  639. }
  640. static FORCEINLINE ULONG INoMarshal_AddRef(INoMarshal* This) {
  641. return This->lpVtbl->AddRef(This);
  642. }
  643. static FORCEINLINE ULONG INoMarshal_Release(INoMarshal* This) {
  644. return This->lpVtbl->Release(This);
  645. }
  646. #endif
  647. #endif
  648. #endif
  649. #endif /* __INoMarshal_INTERFACE_DEFINED__ */
  650. /*****************************************************************************
  651. * IAgileObject interface
  652. */
  653. #ifndef __IAgileObject_INTERFACE_DEFINED__
  654. #define __IAgileObject_INTERFACE_DEFINED__
  655. DEFINE_GUID(IID_IAgileObject, 0x94ea2b94, 0xe9cc, 0x49e0, 0xc0,0xff, 0xee,0x64,0xca,0x8f,0x5b,0x90);
  656. #if defined(__cplusplus) && !defined(CINTERFACE)
  657. MIDL_INTERFACE("94ea2b94-e9cc-49e0-c0ff-ee64ca8f5b90")
  658. IAgileObject : public IUnknown
  659. {
  660. };
  661. #ifdef __CRT_UUID_DECL
  662. __CRT_UUID_DECL(IAgileObject, 0x94ea2b94, 0xe9cc, 0x49e0, 0xc0,0xff, 0xee,0x64,0xca,0x8f,0x5b,0x90)
  663. #endif
  664. #else
  665. typedef struct IAgileObjectVtbl {
  666. BEGIN_INTERFACE
  667. /*** IUnknown methods ***/
  668. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  669. IAgileObject *This,
  670. REFIID riid,
  671. void **ppvObject);
  672. ULONG (STDMETHODCALLTYPE *AddRef)(
  673. IAgileObject *This);
  674. ULONG (STDMETHODCALLTYPE *Release)(
  675. IAgileObject *This);
  676. END_INTERFACE
  677. } IAgileObjectVtbl;
  678. interface IAgileObject {
  679. CONST_VTBL IAgileObjectVtbl* lpVtbl;
  680. };
  681. #ifdef COBJMACROS
  682. #ifndef WIDL_C_INLINE_WRAPPERS
  683. /*** IUnknown methods ***/
  684. #define IAgileObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  685. #define IAgileObject_AddRef(This) (This)->lpVtbl->AddRef(This)
  686. #define IAgileObject_Release(This) (This)->lpVtbl->Release(This)
  687. #else
  688. /*** IUnknown methods ***/
  689. static FORCEINLINE HRESULT IAgileObject_QueryInterface(IAgileObject* This,REFIID riid,void **ppvObject) {
  690. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  691. }
  692. static FORCEINLINE ULONG IAgileObject_AddRef(IAgileObject* This) {
  693. return This->lpVtbl->AddRef(This);
  694. }
  695. static FORCEINLINE ULONG IAgileObject_Release(IAgileObject* This) {
  696. return This->lpVtbl->Release(This);
  697. }
  698. #endif
  699. #endif
  700. #endif
  701. #endif /* __IAgileObject_INTERFACE_DEFINED__ */
  702. /*****************************************************************************
  703. * IAgileReference interface
  704. */
  705. #ifndef __IAgileReference_INTERFACE_DEFINED__
  706. #define __IAgileReference_INTERFACE_DEFINED__
  707. DEFINE_GUID(IID_IAgileReference, 0xc03f6a43, 0x65a4, 0x9818, 0x98,0x7e, 0xe0,0xb8,0x10,0xd2,0xa6,0xf2);
  708. #if defined(__cplusplus) && !defined(CINTERFACE)
  709. MIDL_INTERFACE("c03f6a43-65a4-9818-987e-e0b810d2a6f2")
  710. IAgileReference : public IUnknown
  711. {
  712. virtual HRESULT STDMETHODCALLTYPE Resolve(
  713. REFIID riid,
  714. void **ppv) = 0;
  715. };
  716. #ifdef __CRT_UUID_DECL
  717. __CRT_UUID_DECL(IAgileReference, 0xc03f6a43, 0x65a4, 0x9818, 0x98,0x7e, 0xe0,0xb8,0x10,0xd2,0xa6,0xf2)
  718. #endif
  719. #else
  720. typedef struct IAgileReferenceVtbl {
  721. BEGIN_INTERFACE
  722. /*** IUnknown methods ***/
  723. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  724. IAgileReference *This,
  725. REFIID riid,
  726. void **ppvObject);
  727. ULONG (STDMETHODCALLTYPE *AddRef)(
  728. IAgileReference *This);
  729. ULONG (STDMETHODCALLTYPE *Release)(
  730. IAgileReference *This);
  731. /*** IAgileReference methods ***/
  732. HRESULT (STDMETHODCALLTYPE *Resolve)(
  733. IAgileReference *This,
  734. REFIID riid,
  735. void **ppv);
  736. END_INTERFACE
  737. } IAgileReferenceVtbl;
  738. interface IAgileReference {
  739. CONST_VTBL IAgileReferenceVtbl* lpVtbl;
  740. };
  741. #ifdef COBJMACROS
  742. #ifndef WIDL_C_INLINE_WRAPPERS
  743. /*** IUnknown methods ***/
  744. #define IAgileReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  745. #define IAgileReference_AddRef(This) (This)->lpVtbl->AddRef(This)
  746. #define IAgileReference_Release(This) (This)->lpVtbl->Release(This)
  747. /*** IAgileReference methods ***/
  748. #define IAgileReference_Resolve(This,riid,ppv) (This)->lpVtbl->Resolve(This,riid,ppv)
  749. #else
  750. /*** IUnknown methods ***/
  751. static FORCEINLINE HRESULT IAgileReference_QueryInterface(IAgileReference* This,REFIID riid,void **ppvObject) {
  752. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  753. }
  754. static FORCEINLINE ULONG IAgileReference_AddRef(IAgileReference* This) {
  755. return This->lpVtbl->AddRef(This);
  756. }
  757. static FORCEINLINE ULONG IAgileReference_Release(IAgileReference* This) {
  758. return This->lpVtbl->Release(This);
  759. }
  760. /*** IAgileReference methods ***/
  761. static FORCEINLINE HRESULT IAgileReference_Resolve(IAgileReference* This,REFIID riid,void **ppv) {
  762. return This->lpVtbl->Resolve(This,riid,ppv);
  763. }
  764. #endif
  765. #endif
  766. #endif
  767. #endif /* __IAgileReference_INTERFACE_DEFINED__ */
  768. #endif
  769. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  770. /*****************************************************************************
  771. * IMarshal2 interface
  772. */
  773. #ifndef __IMarshal2_INTERFACE_DEFINED__
  774. #define __IMarshal2_INTERFACE_DEFINED__
  775. typedef IMarshal2 *LPMARSHAL2;
  776. DEFINE_GUID(IID_IMarshal2, 0x000001cf, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  777. #if defined(__cplusplus) && !defined(CINTERFACE)
  778. MIDL_INTERFACE("000001cf-0000-0000-c000-000000000046")
  779. IMarshal2 : public IMarshal
  780. {
  781. };
  782. #ifdef __CRT_UUID_DECL
  783. __CRT_UUID_DECL(IMarshal2, 0x000001cf, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  784. #endif
  785. #else
  786. typedef struct IMarshal2Vtbl {
  787. BEGIN_INTERFACE
  788. /*** IUnknown methods ***/
  789. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  790. IMarshal2 *This,
  791. REFIID riid,
  792. void **ppvObject);
  793. ULONG (STDMETHODCALLTYPE *AddRef)(
  794. IMarshal2 *This);
  795. ULONG (STDMETHODCALLTYPE *Release)(
  796. IMarshal2 *This);
  797. /*** IMarshal methods ***/
  798. HRESULT (STDMETHODCALLTYPE *GetUnmarshalClass)(
  799. IMarshal2 *This,
  800. REFIID riid,
  801. void *pv,
  802. DWORD dwDestContext,
  803. void *pvDestContext,
  804. DWORD mshlflags,
  805. CLSID *pCid);
  806. HRESULT (STDMETHODCALLTYPE *GetMarshalSizeMax)(
  807. IMarshal2 *This,
  808. REFIID riid,
  809. void *pv,
  810. DWORD dwDestContext,
  811. void *pvDestContext,
  812. DWORD mshlflags,
  813. DWORD *pSize);
  814. HRESULT (STDMETHODCALLTYPE *MarshalInterface)(
  815. IMarshal2 *This,
  816. IStream *pStm,
  817. REFIID riid,
  818. void *pv,
  819. DWORD dwDestContext,
  820. void *pvDestContext,
  821. DWORD mshlflags);
  822. HRESULT (STDMETHODCALLTYPE *UnmarshalInterface)(
  823. IMarshal2 *This,
  824. IStream *pStm,
  825. REFIID riid,
  826. void **ppv);
  827. HRESULT (STDMETHODCALLTYPE *ReleaseMarshalData)(
  828. IMarshal2 *This,
  829. IStream *pStm);
  830. HRESULT (STDMETHODCALLTYPE *DisconnectObject)(
  831. IMarshal2 *This,
  832. DWORD dwReserved);
  833. END_INTERFACE
  834. } IMarshal2Vtbl;
  835. interface IMarshal2 {
  836. CONST_VTBL IMarshal2Vtbl* lpVtbl;
  837. };
  838. #ifdef COBJMACROS
  839. #ifndef WIDL_C_INLINE_WRAPPERS
  840. /*** IUnknown methods ***/
  841. #define IMarshal2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  842. #define IMarshal2_AddRef(This) (This)->lpVtbl->AddRef(This)
  843. #define IMarshal2_Release(This) (This)->lpVtbl->Release(This)
  844. /*** IMarshal methods ***/
  845. #define IMarshal2_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  846. #define IMarshal2_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  847. #define IMarshal2_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  848. #define IMarshal2_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)
  849. #define IMarshal2_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)
  850. #define IMarshal2_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)
  851. #else
  852. /*** IUnknown methods ***/
  853. static FORCEINLINE HRESULT IMarshal2_QueryInterface(IMarshal2* This,REFIID riid,void **ppvObject) {
  854. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  855. }
  856. static FORCEINLINE ULONG IMarshal2_AddRef(IMarshal2* This) {
  857. return This->lpVtbl->AddRef(This);
  858. }
  859. static FORCEINLINE ULONG IMarshal2_Release(IMarshal2* This) {
  860. return This->lpVtbl->Release(This);
  861. }
  862. /*** IMarshal methods ***/
  863. static FORCEINLINE HRESULT IMarshal2_GetUnmarshalClass(IMarshal2* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) {
  864. return This->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid);
  865. }
  866. static FORCEINLINE HRESULT IMarshal2_GetMarshalSizeMax(IMarshal2* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) {
  867. return This->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize);
  868. }
  869. static FORCEINLINE HRESULT IMarshal2_MarshalInterface(IMarshal2* This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) {
  870. return This->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags);
  871. }
  872. static FORCEINLINE HRESULT IMarshal2_UnmarshalInterface(IMarshal2* This,IStream *pStm,REFIID riid,void **ppv) {
  873. return This->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv);
  874. }
  875. static FORCEINLINE HRESULT IMarshal2_ReleaseMarshalData(IMarshal2* This,IStream *pStm) {
  876. return This->lpVtbl->ReleaseMarshalData(This,pStm);
  877. }
  878. static FORCEINLINE HRESULT IMarshal2_DisconnectObject(IMarshal2* This,DWORD dwReserved) {
  879. return This->lpVtbl->DisconnectObject(This,dwReserved);
  880. }
  881. #endif
  882. #endif
  883. #endif
  884. #endif /* __IMarshal2_INTERFACE_DEFINED__ */
  885. /*****************************************************************************
  886. * IMalloc interface
  887. */
  888. #ifndef __IMalloc_INTERFACE_DEFINED__
  889. #define __IMalloc_INTERFACE_DEFINED__
  890. typedef IMalloc *LPMALLOC;
  891. DEFINE_GUID(IID_IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  892. #if defined(__cplusplus) && !defined(CINTERFACE)
  893. MIDL_INTERFACE("00000002-0000-0000-c000-000000000046")
  894. IMalloc : public IUnknown
  895. {
  896. virtual void * STDMETHODCALLTYPE Alloc(
  897. SIZE_T cb) = 0;
  898. virtual void * STDMETHODCALLTYPE Realloc(
  899. void *pv,
  900. SIZE_T cb) = 0;
  901. virtual void STDMETHODCALLTYPE Free(
  902. void *pv) = 0;
  903. virtual SIZE_T STDMETHODCALLTYPE GetSize(
  904. void *pv) = 0;
  905. virtual int STDMETHODCALLTYPE DidAlloc(
  906. void *pv) = 0;
  907. virtual void STDMETHODCALLTYPE HeapMinimize(
  908. ) = 0;
  909. };
  910. #ifdef __CRT_UUID_DECL
  911. __CRT_UUID_DECL(IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  912. #endif
  913. #else
  914. typedef struct IMallocVtbl {
  915. BEGIN_INTERFACE
  916. /*** IUnknown methods ***/
  917. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  918. IMalloc *This,
  919. REFIID riid,
  920. void **ppvObject);
  921. ULONG (STDMETHODCALLTYPE *AddRef)(
  922. IMalloc *This);
  923. ULONG (STDMETHODCALLTYPE *Release)(
  924. IMalloc *This);
  925. /*** IMalloc methods ***/
  926. void * (STDMETHODCALLTYPE *Alloc)(
  927. IMalloc *This,
  928. SIZE_T cb);
  929. void * (STDMETHODCALLTYPE *Realloc)(
  930. IMalloc *This,
  931. void *pv,
  932. SIZE_T cb);
  933. void (STDMETHODCALLTYPE *Free)(
  934. IMalloc *This,
  935. void *pv);
  936. SIZE_T (STDMETHODCALLTYPE *GetSize)(
  937. IMalloc *This,
  938. void *pv);
  939. int (STDMETHODCALLTYPE *DidAlloc)(
  940. IMalloc *This,
  941. void *pv);
  942. void (STDMETHODCALLTYPE *HeapMinimize)(
  943. IMalloc *This);
  944. END_INTERFACE
  945. } IMallocVtbl;
  946. interface IMalloc {
  947. CONST_VTBL IMallocVtbl* lpVtbl;
  948. };
  949. #ifdef COBJMACROS
  950. #ifndef WIDL_C_INLINE_WRAPPERS
  951. /*** IUnknown methods ***/
  952. #define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  953. #define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This)
  954. #define IMalloc_Release(This) (This)->lpVtbl->Release(This)
  955. /*** IMalloc methods ***/
  956. #define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb)
  957. #define IMalloc_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb)
  958. #define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv)
  959. #define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv)
  960. #define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv)
  961. #define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This)
  962. #else
  963. /*** IUnknown methods ***/
  964. static FORCEINLINE HRESULT IMalloc_QueryInterface(IMalloc* This,REFIID riid,void **ppvObject) {
  965. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  966. }
  967. static FORCEINLINE ULONG IMalloc_AddRef(IMalloc* This) {
  968. return This->lpVtbl->AddRef(This);
  969. }
  970. static FORCEINLINE ULONG IMalloc_Release(IMalloc* This) {
  971. return This->lpVtbl->Release(This);
  972. }
  973. /*** IMalloc methods ***/
  974. static FORCEINLINE void * IMalloc_Alloc(IMalloc* This,SIZE_T cb) {
  975. return This->lpVtbl->Alloc(This,cb);
  976. }
  977. static FORCEINLINE void * IMalloc_Realloc(IMalloc* This,void *pv,SIZE_T cb) {
  978. return This->lpVtbl->Realloc(This,pv,cb);
  979. }
  980. static FORCEINLINE void IMalloc_Free(IMalloc* This,void *pv) {
  981. This->lpVtbl->Free(This,pv);
  982. }
  983. static FORCEINLINE SIZE_T IMalloc_GetSize(IMalloc* This,void *pv) {
  984. return This->lpVtbl->GetSize(This,pv);
  985. }
  986. static FORCEINLINE int IMalloc_DidAlloc(IMalloc* This,void *pv) {
  987. return This->lpVtbl->DidAlloc(This,pv);
  988. }
  989. static FORCEINLINE void IMalloc_HeapMinimize(IMalloc* This) {
  990. This->lpVtbl->HeapMinimize(This);
  991. }
  992. #endif
  993. #endif
  994. #endif
  995. #endif /* __IMalloc_INTERFACE_DEFINED__ */
  996. /*****************************************************************************
  997. * IStdMarshalInfo interface
  998. */
  999. #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
  1000. #define __IStdMarshalInfo_INTERFACE_DEFINED__
  1001. typedef IStdMarshalInfo *LPSTDMARSHALINFO;
  1002. DEFINE_GUID(IID_IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1003. #if defined(__cplusplus) && !defined(CINTERFACE)
  1004. MIDL_INTERFACE("00000018-0000-0000-c000-000000000046")
  1005. IStdMarshalInfo : public IUnknown
  1006. {
  1007. virtual HRESULT STDMETHODCALLTYPE GetClassForHandler(
  1008. DWORD dwDestContext,
  1009. void *pvDestContext,
  1010. CLSID *pClsid) = 0;
  1011. };
  1012. #ifdef __CRT_UUID_DECL
  1013. __CRT_UUID_DECL(IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1014. #endif
  1015. #else
  1016. typedef struct IStdMarshalInfoVtbl {
  1017. BEGIN_INTERFACE
  1018. /*** IUnknown methods ***/
  1019. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1020. IStdMarshalInfo *This,
  1021. REFIID riid,
  1022. void **ppvObject);
  1023. ULONG (STDMETHODCALLTYPE *AddRef)(
  1024. IStdMarshalInfo *This);
  1025. ULONG (STDMETHODCALLTYPE *Release)(
  1026. IStdMarshalInfo *This);
  1027. /*** IStdMarshalInfo methods ***/
  1028. HRESULT (STDMETHODCALLTYPE *GetClassForHandler)(
  1029. IStdMarshalInfo *This,
  1030. DWORD dwDestContext,
  1031. void *pvDestContext,
  1032. CLSID *pClsid);
  1033. END_INTERFACE
  1034. } IStdMarshalInfoVtbl;
  1035. interface IStdMarshalInfo {
  1036. CONST_VTBL IStdMarshalInfoVtbl* lpVtbl;
  1037. };
  1038. #ifdef COBJMACROS
  1039. #ifndef WIDL_C_INLINE_WRAPPERS
  1040. /*** IUnknown methods ***/
  1041. #define IStdMarshalInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1042. #define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
  1043. #define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This)
  1044. /*** IStdMarshalInfo methods ***/
  1045. #define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid) (This)->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)
  1046. #else
  1047. /*** IUnknown methods ***/
  1048. static FORCEINLINE HRESULT IStdMarshalInfo_QueryInterface(IStdMarshalInfo* This,REFIID riid,void **ppvObject) {
  1049. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1050. }
  1051. static FORCEINLINE ULONG IStdMarshalInfo_AddRef(IStdMarshalInfo* This) {
  1052. return This->lpVtbl->AddRef(This);
  1053. }
  1054. static FORCEINLINE ULONG IStdMarshalInfo_Release(IStdMarshalInfo* This) {
  1055. return This->lpVtbl->Release(This);
  1056. }
  1057. /*** IStdMarshalInfo methods ***/
  1058. static FORCEINLINE HRESULT IStdMarshalInfo_GetClassForHandler(IStdMarshalInfo* This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid) {
  1059. return This->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid);
  1060. }
  1061. #endif
  1062. #endif
  1063. #endif
  1064. #endif /* __IStdMarshalInfo_INTERFACE_DEFINED__ */
  1065. /*****************************************************************************
  1066. * IExternalConnection interface
  1067. */
  1068. #ifndef __IExternalConnection_INTERFACE_DEFINED__
  1069. #define __IExternalConnection_INTERFACE_DEFINED__
  1070. typedef IExternalConnection *LPEXTERNALCONNECTION;
  1071. typedef enum tagEXTCONN {
  1072. EXTCONN_STRONG = 0x1,
  1073. EXTCONN_WEAK = 0x2,
  1074. EXTCONN_CALLABLE = 0x4
  1075. } EXTCONN;
  1076. DEFINE_GUID(IID_IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1077. #if defined(__cplusplus) && !defined(CINTERFACE)
  1078. MIDL_INTERFACE("00000019-0000-0000-c000-000000000046")
  1079. IExternalConnection : public IUnknown
  1080. {
  1081. virtual DWORD STDMETHODCALLTYPE AddConnection(
  1082. DWORD extconn,
  1083. DWORD reserved) = 0;
  1084. virtual DWORD STDMETHODCALLTYPE ReleaseConnection(
  1085. DWORD extconn,
  1086. DWORD reserved,
  1087. WINBOOL fLastReleaseCloses) = 0;
  1088. };
  1089. #ifdef __CRT_UUID_DECL
  1090. __CRT_UUID_DECL(IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1091. #endif
  1092. #else
  1093. typedef struct IExternalConnectionVtbl {
  1094. BEGIN_INTERFACE
  1095. /*** IUnknown methods ***/
  1096. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1097. IExternalConnection *This,
  1098. REFIID riid,
  1099. void **ppvObject);
  1100. ULONG (STDMETHODCALLTYPE *AddRef)(
  1101. IExternalConnection *This);
  1102. ULONG (STDMETHODCALLTYPE *Release)(
  1103. IExternalConnection *This);
  1104. /*** IExternalConnection methods ***/
  1105. DWORD (STDMETHODCALLTYPE *AddConnection)(
  1106. IExternalConnection *This,
  1107. DWORD extconn,
  1108. DWORD reserved);
  1109. DWORD (STDMETHODCALLTYPE *ReleaseConnection)(
  1110. IExternalConnection *This,
  1111. DWORD extconn,
  1112. DWORD reserved,
  1113. WINBOOL fLastReleaseCloses);
  1114. END_INTERFACE
  1115. } IExternalConnectionVtbl;
  1116. interface IExternalConnection {
  1117. CONST_VTBL IExternalConnectionVtbl* lpVtbl;
  1118. };
  1119. #ifdef COBJMACROS
  1120. #ifndef WIDL_C_INLINE_WRAPPERS
  1121. /*** IUnknown methods ***/
  1122. #define IExternalConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1123. #define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
  1124. #define IExternalConnection_Release(This) (This)->lpVtbl->Release(This)
  1125. /*** IExternalConnection methods ***/
  1126. #define IExternalConnection_AddConnection(This,extconn,reserved) (This)->lpVtbl->AddConnection(This,extconn,reserved)
  1127. #define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) (This)->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)
  1128. #else
  1129. /*** IUnknown methods ***/
  1130. static FORCEINLINE HRESULT IExternalConnection_QueryInterface(IExternalConnection* This,REFIID riid,void **ppvObject) {
  1131. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1132. }
  1133. static FORCEINLINE ULONG IExternalConnection_AddRef(IExternalConnection* This) {
  1134. return This->lpVtbl->AddRef(This);
  1135. }
  1136. static FORCEINLINE ULONG IExternalConnection_Release(IExternalConnection* This) {
  1137. return This->lpVtbl->Release(This);
  1138. }
  1139. /*** IExternalConnection methods ***/
  1140. static FORCEINLINE DWORD IExternalConnection_AddConnection(IExternalConnection* This,DWORD extconn,DWORD reserved) {
  1141. return This->lpVtbl->AddConnection(This,extconn,reserved);
  1142. }
  1143. static FORCEINLINE DWORD IExternalConnection_ReleaseConnection(IExternalConnection* This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses) {
  1144. return This->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses);
  1145. }
  1146. #endif
  1147. #endif
  1148. #endif
  1149. #endif /* __IExternalConnection_INTERFACE_DEFINED__ */
  1150. typedef IMultiQI *LPMULTIQI;
  1151. #endif
  1152. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  1153. typedef struct tagMULTI_QI {
  1154. const IID *pIID;
  1155. IUnknown *pItf;
  1156. HRESULT hr;
  1157. } MULTI_QI;
  1158. /*****************************************************************************
  1159. * IMultiQI interface
  1160. */
  1161. #ifndef __IMultiQI_INTERFACE_DEFINED__
  1162. #define __IMultiQI_INTERFACE_DEFINED__
  1163. DEFINE_GUID(IID_IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1164. #if defined(__cplusplus) && !defined(CINTERFACE)
  1165. MIDL_INTERFACE("00000020-0000-0000-c000-000000000046")
  1166. IMultiQI : public IUnknown
  1167. {
  1168. virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces(
  1169. ULONG cMQIs,
  1170. MULTI_QI *pMQIs) = 0;
  1171. };
  1172. #ifdef __CRT_UUID_DECL
  1173. __CRT_UUID_DECL(IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1174. #endif
  1175. #else
  1176. typedef struct IMultiQIVtbl {
  1177. BEGIN_INTERFACE
  1178. /*** IUnknown methods ***/
  1179. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1180. IMultiQI *This,
  1181. REFIID riid,
  1182. void **ppvObject);
  1183. ULONG (STDMETHODCALLTYPE *AddRef)(
  1184. IMultiQI *This);
  1185. ULONG (STDMETHODCALLTYPE *Release)(
  1186. IMultiQI *This);
  1187. /*** IMultiQI methods ***/
  1188. HRESULT (STDMETHODCALLTYPE *QueryMultipleInterfaces)(
  1189. IMultiQI *This,
  1190. ULONG cMQIs,
  1191. MULTI_QI *pMQIs);
  1192. END_INTERFACE
  1193. } IMultiQIVtbl;
  1194. interface IMultiQI {
  1195. CONST_VTBL IMultiQIVtbl* lpVtbl;
  1196. };
  1197. #ifdef COBJMACROS
  1198. #ifndef WIDL_C_INLINE_WRAPPERS
  1199. /*** IUnknown methods ***/
  1200. #define IMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1201. #define IMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)
  1202. #define IMultiQI_Release(This) (This)->lpVtbl->Release(This)
  1203. /*** IMultiQI methods ***/
  1204. #define IMultiQI_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs)
  1205. #else
  1206. /*** IUnknown methods ***/
  1207. static FORCEINLINE HRESULT IMultiQI_QueryInterface(IMultiQI* This,REFIID riid,void **ppvObject) {
  1208. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1209. }
  1210. static FORCEINLINE ULONG IMultiQI_AddRef(IMultiQI* This) {
  1211. return This->lpVtbl->AddRef(This);
  1212. }
  1213. static FORCEINLINE ULONG IMultiQI_Release(IMultiQI* This) {
  1214. return This->lpVtbl->Release(This);
  1215. }
  1216. /*** IMultiQI methods ***/
  1217. static FORCEINLINE HRESULT IMultiQI_QueryMultipleInterfaces(IMultiQI* This,ULONG cMQIs,MULTI_QI *pMQIs) {
  1218. return This->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs);
  1219. }
  1220. #endif
  1221. #endif
  1222. #endif
  1223. #endif /* __IMultiQI_INTERFACE_DEFINED__ */
  1224. /*****************************************************************************
  1225. * AsyncIMultiQI interface
  1226. */
  1227. #ifndef __AsyncIMultiQI_INTERFACE_DEFINED__
  1228. #define __AsyncIMultiQI_INTERFACE_DEFINED__
  1229. DEFINE_GUID(IID_AsyncIMultiQI, 0x000e0020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1230. #if defined(__cplusplus) && !defined(CINTERFACE)
  1231. MIDL_INTERFACE("000e0020-0000-0000-c000-000000000046")
  1232. AsyncIMultiQI : public IUnknown
  1233. {
  1234. virtual HRESULT STDMETHODCALLTYPE Begin_QueryMultipleInterfaces(
  1235. ULONG cMQIs,
  1236. MULTI_QI *pMQIs) = 0;
  1237. virtual HRESULT STDMETHODCALLTYPE Finish_QueryMultipleInterfaces(
  1238. MULTI_QI *pMQIs) = 0;
  1239. };
  1240. #ifdef __CRT_UUID_DECL
  1241. __CRT_UUID_DECL(AsyncIMultiQI, 0x000e0020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1242. #endif
  1243. #else
  1244. typedef struct AsyncIMultiQIVtbl {
  1245. BEGIN_INTERFACE
  1246. /*** IUnknown methods ***/
  1247. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1248. AsyncIMultiQI *This,
  1249. REFIID riid,
  1250. void **ppvObject);
  1251. ULONG (STDMETHODCALLTYPE *AddRef)(
  1252. AsyncIMultiQI *This);
  1253. ULONG (STDMETHODCALLTYPE *Release)(
  1254. AsyncIMultiQI *This);
  1255. /*** AsyncIMultiQI methods ***/
  1256. HRESULT (STDMETHODCALLTYPE *Begin_QueryMultipleInterfaces)(
  1257. AsyncIMultiQI *This,
  1258. ULONG cMQIs,
  1259. MULTI_QI *pMQIs);
  1260. HRESULT (STDMETHODCALLTYPE *Finish_QueryMultipleInterfaces)(
  1261. AsyncIMultiQI *This,
  1262. MULTI_QI *pMQIs);
  1263. END_INTERFACE
  1264. } AsyncIMultiQIVtbl;
  1265. interface AsyncIMultiQI {
  1266. CONST_VTBL AsyncIMultiQIVtbl* lpVtbl;
  1267. };
  1268. #ifdef COBJMACROS
  1269. #ifndef WIDL_C_INLINE_WRAPPERS
  1270. /*** IUnknown methods ***/
  1271. #define AsyncIMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1272. #define AsyncIMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)
  1273. #define AsyncIMultiQI_Release(This) (This)->lpVtbl->Release(This)
  1274. /*** AsyncIMultiQI methods ***/
  1275. #define AsyncIMultiQI_Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs)
  1276. #define AsyncIMultiQI_Finish_QueryMultipleInterfaces(This,pMQIs) (This)->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs)
  1277. #else
  1278. /*** IUnknown methods ***/
  1279. static FORCEINLINE HRESULT AsyncIMultiQI_QueryInterface(AsyncIMultiQI* This,REFIID riid,void **ppvObject) {
  1280. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1281. }
  1282. static FORCEINLINE ULONG AsyncIMultiQI_AddRef(AsyncIMultiQI* This) {
  1283. return This->lpVtbl->AddRef(This);
  1284. }
  1285. static FORCEINLINE ULONG AsyncIMultiQI_Release(AsyncIMultiQI* This) {
  1286. return This->lpVtbl->Release(This);
  1287. }
  1288. /*** AsyncIMultiQI methods ***/
  1289. static FORCEINLINE HRESULT AsyncIMultiQI_Begin_QueryMultipleInterfaces(AsyncIMultiQI* This,ULONG cMQIs,MULTI_QI *pMQIs) {
  1290. return This->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs);
  1291. }
  1292. static FORCEINLINE HRESULT AsyncIMultiQI_Finish_QueryMultipleInterfaces(AsyncIMultiQI* This,MULTI_QI *pMQIs) {
  1293. return This->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs);
  1294. }
  1295. #endif
  1296. #endif
  1297. #endif
  1298. #endif /* __AsyncIMultiQI_INTERFACE_DEFINED__ */
  1299. #endif
  1300. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  1301. /*****************************************************************************
  1302. * IInternalUnknown interface
  1303. */
  1304. #ifndef __IInternalUnknown_INTERFACE_DEFINED__
  1305. #define __IInternalUnknown_INTERFACE_DEFINED__
  1306. DEFINE_GUID(IID_IInternalUnknown, 0x00000021, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1307. #if defined(__cplusplus) && !defined(CINTERFACE)
  1308. MIDL_INTERFACE("00000021-0000-0000-c000-000000000046")
  1309. IInternalUnknown : public IUnknown
  1310. {
  1311. virtual HRESULT STDMETHODCALLTYPE QueryInternalInterface(
  1312. REFIID riid,
  1313. void **ppv) = 0;
  1314. };
  1315. #ifdef __CRT_UUID_DECL
  1316. __CRT_UUID_DECL(IInternalUnknown, 0x00000021, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1317. #endif
  1318. #else
  1319. typedef struct IInternalUnknownVtbl {
  1320. BEGIN_INTERFACE
  1321. /*** IUnknown methods ***/
  1322. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1323. IInternalUnknown *This,
  1324. REFIID riid,
  1325. void **ppvObject);
  1326. ULONG (STDMETHODCALLTYPE *AddRef)(
  1327. IInternalUnknown *This);
  1328. ULONG (STDMETHODCALLTYPE *Release)(
  1329. IInternalUnknown *This);
  1330. /*** IInternalUnknown methods ***/
  1331. HRESULT (STDMETHODCALLTYPE *QueryInternalInterface)(
  1332. IInternalUnknown *This,
  1333. REFIID riid,
  1334. void **ppv);
  1335. END_INTERFACE
  1336. } IInternalUnknownVtbl;
  1337. interface IInternalUnknown {
  1338. CONST_VTBL IInternalUnknownVtbl* lpVtbl;
  1339. };
  1340. #ifdef COBJMACROS
  1341. #ifndef WIDL_C_INLINE_WRAPPERS
  1342. /*** IUnknown methods ***/
  1343. #define IInternalUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1344. #define IInternalUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
  1345. #define IInternalUnknown_Release(This) (This)->lpVtbl->Release(This)
  1346. /*** IInternalUnknown methods ***/
  1347. #define IInternalUnknown_QueryInternalInterface(This,riid,ppv) (This)->lpVtbl->QueryInternalInterface(This,riid,ppv)
  1348. #else
  1349. /*** IUnknown methods ***/
  1350. static FORCEINLINE HRESULT IInternalUnknown_QueryInterface(IInternalUnknown* This,REFIID riid,void **ppvObject) {
  1351. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1352. }
  1353. static FORCEINLINE ULONG IInternalUnknown_AddRef(IInternalUnknown* This) {
  1354. return This->lpVtbl->AddRef(This);
  1355. }
  1356. static FORCEINLINE ULONG IInternalUnknown_Release(IInternalUnknown* This) {
  1357. return This->lpVtbl->Release(This);
  1358. }
  1359. /*** IInternalUnknown methods ***/
  1360. static FORCEINLINE HRESULT IInternalUnknown_QueryInternalInterface(IInternalUnknown* This,REFIID riid,void **ppv) {
  1361. return This->lpVtbl->QueryInternalInterface(This,riid,ppv);
  1362. }
  1363. #endif
  1364. #endif
  1365. #endif
  1366. #endif /* __IInternalUnknown_INTERFACE_DEFINED__ */
  1367. #endif
  1368. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  1369. /*****************************************************************************
  1370. * IEnumUnknown interface
  1371. */
  1372. #ifndef __IEnumUnknown_INTERFACE_DEFINED__
  1373. #define __IEnumUnknown_INTERFACE_DEFINED__
  1374. typedef IEnumUnknown *LPENUMUNKNOWN;
  1375. DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1376. #if defined(__cplusplus) && !defined(CINTERFACE)
  1377. MIDL_INTERFACE("00000100-0000-0000-c000-000000000046")
  1378. IEnumUnknown : public IUnknown
  1379. {
  1380. virtual HRESULT STDMETHODCALLTYPE Next(
  1381. ULONG celt,
  1382. IUnknown **rgelt,
  1383. ULONG *pceltFetched) = 0;
  1384. virtual HRESULT STDMETHODCALLTYPE Skip(
  1385. ULONG celt) = 0;
  1386. virtual HRESULT STDMETHODCALLTYPE Reset(
  1387. ) = 0;
  1388. virtual HRESULT STDMETHODCALLTYPE Clone(
  1389. IEnumUnknown **ppenum) = 0;
  1390. };
  1391. #ifdef __CRT_UUID_DECL
  1392. __CRT_UUID_DECL(IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1393. #endif
  1394. #else
  1395. typedef struct IEnumUnknownVtbl {
  1396. BEGIN_INTERFACE
  1397. /*** IUnknown methods ***/
  1398. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1399. IEnumUnknown *This,
  1400. REFIID riid,
  1401. void **ppvObject);
  1402. ULONG (STDMETHODCALLTYPE *AddRef)(
  1403. IEnumUnknown *This);
  1404. ULONG (STDMETHODCALLTYPE *Release)(
  1405. IEnumUnknown *This);
  1406. /*** IEnumUnknown methods ***/
  1407. HRESULT (STDMETHODCALLTYPE *Next)(
  1408. IEnumUnknown *This,
  1409. ULONG celt,
  1410. IUnknown **rgelt,
  1411. ULONG *pceltFetched);
  1412. HRESULT (STDMETHODCALLTYPE *Skip)(
  1413. IEnumUnknown *This,
  1414. ULONG celt);
  1415. HRESULT (STDMETHODCALLTYPE *Reset)(
  1416. IEnumUnknown *This);
  1417. HRESULT (STDMETHODCALLTYPE *Clone)(
  1418. IEnumUnknown *This,
  1419. IEnumUnknown **ppenum);
  1420. END_INTERFACE
  1421. } IEnumUnknownVtbl;
  1422. interface IEnumUnknown {
  1423. CONST_VTBL IEnumUnknownVtbl* lpVtbl;
  1424. };
  1425. #ifdef COBJMACROS
  1426. #ifndef WIDL_C_INLINE_WRAPPERS
  1427. /*** IUnknown methods ***/
  1428. #define IEnumUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1429. #define IEnumUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
  1430. #define IEnumUnknown_Release(This) (This)->lpVtbl->Release(This)
  1431. /*** IEnumUnknown methods ***/
  1432. #define IEnumUnknown_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  1433. #define IEnumUnknown_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  1434. #define IEnumUnknown_Reset(This) (This)->lpVtbl->Reset(This)
  1435. #define IEnumUnknown_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  1436. #else
  1437. /*** IUnknown methods ***/
  1438. static FORCEINLINE HRESULT IEnumUnknown_QueryInterface(IEnumUnknown* This,REFIID riid,void **ppvObject) {
  1439. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1440. }
  1441. static FORCEINLINE ULONG IEnumUnknown_AddRef(IEnumUnknown* This) {
  1442. return This->lpVtbl->AddRef(This);
  1443. }
  1444. static FORCEINLINE ULONG IEnumUnknown_Release(IEnumUnknown* This) {
  1445. return This->lpVtbl->Release(This);
  1446. }
  1447. /*** IEnumUnknown methods ***/
  1448. static FORCEINLINE HRESULT IEnumUnknown_Next(IEnumUnknown* This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched) {
  1449. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  1450. }
  1451. static FORCEINLINE HRESULT IEnumUnknown_Skip(IEnumUnknown* This,ULONG celt) {
  1452. return This->lpVtbl->Skip(This,celt);
  1453. }
  1454. static FORCEINLINE HRESULT IEnumUnknown_Reset(IEnumUnknown* This) {
  1455. return This->lpVtbl->Reset(This);
  1456. }
  1457. static FORCEINLINE HRESULT IEnumUnknown_Clone(IEnumUnknown* This,IEnumUnknown **ppenum) {
  1458. return This->lpVtbl->Clone(This,ppenum);
  1459. }
  1460. #endif
  1461. #endif
  1462. #endif
  1463. HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy(
  1464. IEnumUnknown* This,
  1465. ULONG celt,
  1466. IUnknown **rgelt,
  1467. ULONG *pceltFetched);
  1468. void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
  1469. IRpcStubBuffer* This,
  1470. IRpcChannelBuffer* pRpcChannelBuffer,
  1471. PRPC_MESSAGE pRpcMessage,
  1472. DWORD* pdwStubPhase);
  1473. HRESULT CALLBACK IEnumUnknown_Next_Proxy(
  1474. IEnumUnknown* This,
  1475. ULONG celt,
  1476. IUnknown **rgelt,
  1477. ULONG *pceltFetched);
  1478. HRESULT __RPC_STUB IEnumUnknown_Next_Stub(
  1479. IEnumUnknown* This,
  1480. ULONG celt,
  1481. IUnknown **rgelt,
  1482. ULONG *pceltFetched);
  1483. #endif /* __IEnumUnknown_INTERFACE_DEFINED__ */
  1484. /*****************************************************************************
  1485. * IEnumString interface
  1486. */
  1487. #ifndef __IEnumString_INTERFACE_DEFINED__
  1488. #define __IEnumString_INTERFACE_DEFINED__
  1489. typedef IEnumString *LPENUMSTRING;
  1490. DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1491. #if defined(__cplusplus) && !defined(CINTERFACE)
  1492. MIDL_INTERFACE("00000101-0000-0000-c000-000000000046")
  1493. IEnumString : public IUnknown
  1494. {
  1495. virtual HRESULT STDMETHODCALLTYPE Next(
  1496. ULONG celt,
  1497. LPOLESTR *rgelt,
  1498. ULONG *pceltFetched) = 0;
  1499. virtual HRESULT STDMETHODCALLTYPE Skip(
  1500. ULONG celt) = 0;
  1501. virtual HRESULT STDMETHODCALLTYPE Reset(
  1502. ) = 0;
  1503. virtual HRESULT STDMETHODCALLTYPE Clone(
  1504. IEnumString **ppenum) = 0;
  1505. };
  1506. #ifdef __CRT_UUID_DECL
  1507. __CRT_UUID_DECL(IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1508. #endif
  1509. #else
  1510. typedef struct IEnumStringVtbl {
  1511. BEGIN_INTERFACE
  1512. /*** IUnknown methods ***/
  1513. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1514. IEnumString *This,
  1515. REFIID riid,
  1516. void **ppvObject);
  1517. ULONG (STDMETHODCALLTYPE *AddRef)(
  1518. IEnumString *This);
  1519. ULONG (STDMETHODCALLTYPE *Release)(
  1520. IEnumString *This);
  1521. /*** IEnumString methods ***/
  1522. HRESULT (STDMETHODCALLTYPE *Next)(
  1523. IEnumString *This,
  1524. ULONG celt,
  1525. LPOLESTR *rgelt,
  1526. ULONG *pceltFetched);
  1527. HRESULT (STDMETHODCALLTYPE *Skip)(
  1528. IEnumString *This,
  1529. ULONG celt);
  1530. HRESULT (STDMETHODCALLTYPE *Reset)(
  1531. IEnumString *This);
  1532. HRESULT (STDMETHODCALLTYPE *Clone)(
  1533. IEnumString *This,
  1534. IEnumString **ppenum);
  1535. END_INTERFACE
  1536. } IEnumStringVtbl;
  1537. interface IEnumString {
  1538. CONST_VTBL IEnumStringVtbl* lpVtbl;
  1539. };
  1540. #ifdef COBJMACROS
  1541. #ifndef WIDL_C_INLINE_WRAPPERS
  1542. /*** IUnknown methods ***/
  1543. #define IEnumString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1544. #define IEnumString_AddRef(This) (This)->lpVtbl->AddRef(This)
  1545. #define IEnumString_Release(This) (This)->lpVtbl->Release(This)
  1546. /*** IEnumString methods ***/
  1547. #define IEnumString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  1548. #define IEnumString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  1549. #define IEnumString_Reset(This) (This)->lpVtbl->Reset(This)
  1550. #define IEnumString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  1551. #else
  1552. /*** IUnknown methods ***/
  1553. static FORCEINLINE HRESULT IEnumString_QueryInterface(IEnumString* This,REFIID riid,void **ppvObject) {
  1554. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1555. }
  1556. static FORCEINLINE ULONG IEnumString_AddRef(IEnumString* This) {
  1557. return This->lpVtbl->AddRef(This);
  1558. }
  1559. static FORCEINLINE ULONG IEnumString_Release(IEnumString* This) {
  1560. return This->lpVtbl->Release(This);
  1561. }
  1562. /*** IEnumString methods ***/
  1563. static FORCEINLINE HRESULT IEnumString_Next(IEnumString* This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched) {
  1564. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  1565. }
  1566. static FORCEINLINE HRESULT IEnumString_Skip(IEnumString* This,ULONG celt) {
  1567. return This->lpVtbl->Skip(This,celt);
  1568. }
  1569. static FORCEINLINE HRESULT IEnumString_Reset(IEnumString* This) {
  1570. return This->lpVtbl->Reset(This);
  1571. }
  1572. static FORCEINLINE HRESULT IEnumString_Clone(IEnumString* This,IEnumString **ppenum) {
  1573. return This->lpVtbl->Clone(This,ppenum);
  1574. }
  1575. #endif
  1576. #endif
  1577. #endif
  1578. HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy(
  1579. IEnumString* This,
  1580. ULONG celt,
  1581. LPOLESTR *rgelt,
  1582. ULONG *pceltFetched);
  1583. void __RPC_STUB IEnumString_RemoteNext_Stub(
  1584. IRpcStubBuffer* This,
  1585. IRpcChannelBuffer* pRpcChannelBuffer,
  1586. PRPC_MESSAGE pRpcMessage,
  1587. DWORD* pdwStubPhase);
  1588. HRESULT CALLBACK IEnumString_Next_Proxy(
  1589. IEnumString* This,
  1590. ULONG celt,
  1591. LPOLESTR *rgelt,
  1592. ULONG *pceltFetched);
  1593. HRESULT __RPC_STUB IEnumString_Next_Stub(
  1594. IEnumString* This,
  1595. ULONG celt,
  1596. LPOLESTR *rgelt,
  1597. ULONG *pceltFetched);
  1598. #endif /* __IEnumString_INTERFACE_DEFINED__ */
  1599. /*****************************************************************************
  1600. * ISequentialStream interface
  1601. */
  1602. #ifndef __ISequentialStream_INTERFACE_DEFINED__
  1603. #define __ISequentialStream_INTERFACE_DEFINED__
  1604. DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
  1605. #if defined(__cplusplus) && !defined(CINTERFACE)
  1606. MIDL_INTERFACE("0c733a30-2a1c-11ce-ade5-00aa0044773d")
  1607. ISequentialStream : public IUnknown
  1608. {
  1609. virtual HRESULT STDMETHODCALLTYPE Read(
  1610. void *pv,
  1611. ULONG cb,
  1612. ULONG *pcbRead) = 0;
  1613. virtual HRESULT STDMETHODCALLTYPE Write(
  1614. const void *pv,
  1615. ULONG cb,
  1616. ULONG *pcbWritten) = 0;
  1617. };
  1618. #ifdef __CRT_UUID_DECL
  1619. __CRT_UUID_DECL(ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d)
  1620. #endif
  1621. #else
  1622. typedef struct ISequentialStreamVtbl {
  1623. BEGIN_INTERFACE
  1624. /*** IUnknown methods ***/
  1625. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1626. ISequentialStream *This,
  1627. REFIID riid,
  1628. void **ppvObject);
  1629. ULONG (STDMETHODCALLTYPE *AddRef)(
  1630. ISequentialStream *This);
  1631. ULONG (STDMETHODCALLTYPE *Release)(
  1632. ISequentialStream *This);
  1633. /*** ISequentialStream methods ***/
  1634. HRESULT (STDMETHODCALLTYPE *Read)(
  1635. ISequentialStream *This,
  1636. void *pv,
  1637. ULONG cb,
  1638. ULONG *pcbRead);
  1639. HRESULT (STDMETHODCALLTYPE *Write)(
  1640. ISequentialStream *This,
  1641. const void *pv,
  1642. ULONG cb,
  1643. ULONG *pcbWritten);
  1644. END_INTERFACE
  1645. } ISequentialStreamVtbl;
  1646. interface ISequentialStream {
  1647. CONST_VTBL ISequentialStreamVtbl* lpVtbl;
  1648. };
  1649. #ifdef COBJMACROS
  1650. #ifndef WIDL_C_INLINE_WRAPPERS
  1651. /*** IUnknown methods ***/
  1652. #define ISequentialStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1653. #define ISequentialStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  1654. #define ISequentialStream_Release(This) (This)->lpVtbl->Release(This)
  1655. /*** ISequentialStream methods ***/
  1656. #define ISequentialStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
  1657. #define ISequentialStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
  1658. #else
  1659. /*** IUnknown methods ***/
  1660. static FORCEINLINE HRESULT ISequentialStream_QueryInterface(ISequentialStream* This,REFIID riid,void **ppvObject) {
  1661. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1662. }
  1663. static FORCEINLINE ULONG ISequentialStream_AddRef(ISequentialStream* This) {
  1664. return This->lpVtbl->AddRef(This);
  1665. }
  1666. static FORCEINLINE ULONG ISequentialStream_Release(ISequentialStream* This) {
  1667. return This->lpVtbl->Release(This);
  1668. }
  1669. /*** ISequentialStream methods ***/
  1670. static FORCEINLINE HRESULT ISequentialStream_Read(ISequentialStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
  1671. return This->lpVtbl->Read(This,pv,cb,pcbRead);
  1672. }
  1673. static FORCEINLINE HRESULT ISequentialStream_Write(ISequentialStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
  1674. return This->lpVtbl->Write(This,pv,cb,pcbWritten);
  1675. }
  1676. #endif
  1677. #endif
  1678. #endif
  1679. HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteRead_Proxy(
  1680. ISequentialStream* This,
  1681. byte *pv,
  1682. ULONG cb,
  1683. ULONG *pcbRead);
  1684. void __RPC_STUB ISequentialStream_RemoteRead_Stub(
  1685. IRpcStubBuffer* This,
  1686. IRpcChannelBuffer* pRpcChannelBuffer,
  1687. PRPC_MESSAGE pRpcMessage,
  1688. DWORD* pdwStubPhase);
  1689. HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteWrite_Proxy(
  1690. ISequentialStream* This,
  1691. const byte *pv,
  1692. ULONG cb,
  1693. ULONG *pcbWritten);
  1694. void __RPC_STUB ISequentialStream_RemoteWrite_Stub(
  1695. IRpcStubBuffer* This,
  1696. IRpcChannelBuffer* pRpcChannelBuffer,
  1697. PRPC_MESSAGE pRpcMessage,
  1698. DWORD* pdwStubPhase);
  1699. HRESULT CALLBACK ISequentialStream_Read_Proxy(
  1700. ISequentialStream* This,
  1701. void *pv,
  1702. ULONG cb,
  1703. ULONG *pcbRead);
  1704. HRESULT __RPC_STUB ISequentialStream_Read_Stub(
  1705. ISequentialStream* This,
  1706. byte *pv,
  1707. ULONG cb,
  1708. ULONG *pcbRead);
  1709. HRESULT CALLBACK ISequentialStream_Write_Proxy(
  1710. ISequentialStream* This,
  1711. const void *pv,
  1712. ULONG cb,
  1713. ULONG *pcbWritten);
  1714. HRESULT __RPC_STUB ISequentialStream_Write_Stub(
  1715. ISequentialStream* This,
  1716. const byte *pv,
  1717. ULONG cb,
  1718. ULONG *pcbWritten);
  1719. #endif /* __ISequentialStream_INTERFACE_DEFINED__ */
  1720. /*****************************************************************************
  1721. * IStream interface
  1722. */
  1723. #ifndef __IStream_INTERFACE_DEFINED__
  1724. #define __IStream_INTERFACE_DEFINED__
  1725. typedef IStream *LPSTREAM;
  1726. typedef struct tagSTATSTG {
  1727. LPOLESTR pwcsName;
  1728. DWORD type;
  1729. ULARGE_INTEGER cbSize;
  1730. FILETIME mtime;
  1731. FILETIME ctime;
  1732. FILETIME atime;
  1733. DWORD grfMode;
  1734. DWORD grfLocksSupported;
  1735. CLSID clsid;
  1736. DWORD grfStateBits;
  1737. DWORD reserved;
  1738. } STATSTG;
  1739. typedef enum tagSTGTY {
  1740. STGTY_STORAGE = 1,
  1741. STGTY_STREAM = 2,
  1742. STGTY_LOCKBYTES = 3,
  1743. STGTY_PROPERTY = 4
  1744. } STGTY;
  1745. typedef enum tagSTREAM_SEEK {
  1746. STREAM_SEEK_SET = 0,
  1747. STREAM_SEEK_CUR = 1,
  1748. STREAM_SEEK_END = 2
  1749. } STREAM_SEEK;
  1750. typedef enum tagLOCKTYPE {
  1751. LOCK_WRITE = 1,
  1752. LOCK_EXCLUSIVE = 2,
  1753. LOCK_ONLYONCE = 4
  1754. } LOCKTYPE;
  1755. DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1756. #if defined(__cplusplus) && !defined(CINTERFACE)
  1757. MIDL_INTERFACE("0000000c-0000-0000-c000-000000000046")
  1758. IStream : public ISequentialStream
  1759. {
  1760. virtual HRESULT STDMETHODCALLTYPE Seek(
  1761. LARGE_INTEGER dlibMove,
  1762. DWORD dwOrigin,
  1763. ULARGE_INTEGER *plibNewPosition) = 0;
  1764. virtual HRESULT STDMETHODCALLTYPE SetSize(
  1765. ULARGE_INTEGER libNewSize) = 0;
  1766. virtual HRESULT STDMETHODCALLTYPE CopyTo(
  1767. IStream *pstm,
  1768. ULARGE_INTEGER cb,
  1769. ULARGE_INTEGER *pcbRead,
  1770. ULARGE_INTEGER *pcbWritten) = 0;
  1771. virtual HRESULT STDMETHODCALLTYPE Commit(
  1772. DWORD grfCommitFlags) = 0;
  1773. virtual HRESULT STDMETHODCALLTYPE Revert(
  1774. ) = 0;
  1775. virtual HRESULT STDMETHODCALLTYPE LockRegion(
  1776. ULARGE_INTEGER libOffset,
  1777. ULARGE_INTEGER cb,
  1778. DWORD dwLockType) = 0;
  1779. virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
  1780. ULARGE_INTEGER libOffset,
  1781. ULARGE_INTEGER cb,
  1782. DWORD dwLockType) = 0;
  1783. virtual HRESULT STDMETHODCALLTYPE Stat(
  1784. STATSTG *pstatstg,
  1785. DWORD grfStatFlag) = 0;
  1786. virtual HRESULT STDMETHODCALLTYPE Clone(
  1787. IStream **ppstm) = 0;
  1788. };
  1789. #ifdef __CRT_UUID_DECL
  1790. __CRT_UUID_DECL(IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1791. #endif
  1792. #else
  1793. typedef struct IStreamVtbl {
  1794. BEGIN_INTERFACE
  1795. /*** IUnknown methods ***/
  1796. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1797. IStream *This,
  1798. REFIID riid,
  1799. void **ppvObject);
  1800. ULONG (STDMETHODCALLTYPE *AddRef)(
  1801. IStream *This);
  1802. ULONG (STDMETHODCALLTYPE *Release)(
  1803. IStream *This);
  1804. /*** ISequentialStream methods ***/
  1805. HRESULT (STDMETHODCALLTYPE *Read)(
  1806. IStream *This,
  1807. void *pv,
  1808. ULONG cb,
  1809. ULONG *pcbRead);
  1810. HRESULT (STDMETHODCALLTYPE *Write)(
  1811. IStream *This,
  1812. const void *pv,
  1813. ULONG cb,
  1814. ULONG *pcbWritten);
  1815. /*** IStream methods ***/
  1816. HRESULT (STDMETHODCALLTYPE *Seek)(
  1817. IStream *This,
  1818. LARGE_INTEGER dlibMove,
  1819. DWORD dwOrigin,
  1820. ULARGE_INTEGER *plibNewPosition);
  1821. HRESULT (STDMETHODCALLTYPE *SetSize)(
  1822. IStream *This,
  1823. ULARGE_INTEGER libNewSize);
  1824. HRESULT (STDMETHODCALLTYPE *CopyTo)(
  1825. IStream *This,
  1826. IStream *pstm,
  1827. ULARGE_INTEGER cb,
  1828. ULARGE_INTEGER *pcbRead,
  1829. ULARGE_INTEGER *pcbWritten);
  1830. HRESULT (STDMETHODCALLTYPE *Commit)(
  1831. IStream *This,
  1832. DWORD grfCommitFlags);
  1833. HRESULT (STDMETHODCALLTYPE *Revert)(
  1834. IStream *This);
  1835. HRESULT (STDMETHODCALLTYPE *LockRegion)(
  1836. IStream *This,
  1837. ULARGE_INTEGER libOffset,
  1838. ULARGE_INTEGER cb,
  1839. DWORD dwLockType);
  1840. HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
  1841. IStream *This,
  1842. ULARGE_INTEGER libOffset,
  1843. ULARGE_INTEGER cb,
  1844. DWORD dwLockType);
  1845. HRESULT (STDMETHODCALLTYPE *Stat)(
  1846. IStream *This,
  1847. STATSTG *pstatstg,
  1848. DWORD grfStatFlag);
  1849. HRESULT (STDMETHODCALLTYPE *Clone)(
  1850. IStream *This,
  1851. IStream **ppstm);
  1852. END_INTERFACE
  1853. } IStreamVtbl;
  1854. interface IStream {
  1855. CONST_VTBL IStreamVtbl* lpVtbl;
  1856. };
  1857. #ifdef COBJMACROS
  1858. #ifndef WIDL_C_INLINE_WRAPPERS
  1859. /*** IUnknown methods ***/
  1860. #define IStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1861. #define IStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  1862. #define IStream_Release(This) (This)->lpVtbl->Release(This)
  1863. /*** ISequentialStream methods ***/
  1864. #define IStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
  1865. #define IStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
  1866. /*** IStream methods ***/
  1867. #define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
  1868. #define IStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
  1869. #define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  1870. #define IStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
  1871. #define IStream_Revert(This) (This)->lpVtbl->Revert(This)
  1872. #define IStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
  1873. #define IStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
  1874. #define IStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
  1875. #define IStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
  1876. #else
  1877. /*** IUnknown methods ***/
  1878. static FORCEINLINE HRESULT IStream_QueryInterface(IStream* This,REFIID riid,void **ppvObject) {
  1879. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1880. }
  1881. static FORCEINLINE ULONG IStream_AddRef(IStream* This) {
  1882. return This->lpVtbl->AddRef(This);
  1883. }
  1884. static FORCEINLINE ULONG IStream_Release(IStream* This) {
  1885. return This->lpVtbl->Release(This);
  1886. }
  1887. /*** ISequentialStream methods ***/
  1888. static FORCEINLINE HRESULT IStream_Read(IStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
  1889. return This->lpVtbl->Read(This,pv,cb,pcbRead);
  1890. }
  1891. static FORCEINLINE HRESULT IStream_Write(IStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
  1892. return This->lpVtbl->Write(This,pv,cb,pcbWritten);
  1893. }
  1894. /*** IStream methods ***/
  1895. static FORCEINLINE HRESULT IStream_Seek(IStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
  1896. return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
  1897. }
  1898. static FORCEINLINE HRESULT IStream_SetSize(IStream* This,ULARGE_INTEGER libNewSize) {
  1899. return This->lpVtbl->SetSize(This,libNewSize);
  1900. }
  1901. static FORCEINLINE HRESULT IStream_CopyTo(IStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
  1902. return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
  1903. }
  1904. static FORCEINLINE HRESULT IStream_Commit(IStream* This,DWORD grfCommitFlags) {
  1905. return This->lpVtbl->Commit(This,grfCommitFlags);
  1906. }
  1907. static FORCEINLINE HRESULT IStream_Revert(IStream* This) {
  1908. return This->lpVtbl->Revert(This);
  1909. }
  1910. static FORCEINLINE HRESULT IStream_LockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  1911. return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
  1912. }
  1913. static FORCEINLINE HRESULT IStream_UnlockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  1914. return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
  1915. }
  1916. static FORCEINLINE HRESULT IStream_Stat(IStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
  1917. return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
  1918. }
  1919. static FORCEINLINE HRESULT IStream_Clone(IStream* This,IStream **ppstm) {
  1920. return This->lpVtbl->Clone(This,ppstm);
  1921. }
  1922. #endif
  1923. #endif
  1924. #endif
  1925. HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy(
  1926. IStream* This,
  1927. LARGE_INTEGER dlibMove,
  1928. DWORD dwOrigin,
  1929. ULARGE_INTEGER *plibNewPosition);
  1930. void __RPC_STUB IStream_RemoteSeek_Stub(
  1931. IRpcStubBuffer* This,
  1932. IRpcChannelBuffer* pRpcChannelBuffer,
  1933. PRPC_MESSAGE pRpcMessage,
  1934. DWORD* pdwStubPhase);
  1935. HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy(
  1936. IStream* This,
  1937. IStream *pstm,
  1938. ULARGE_INTEGER cb,
  1939. ULARGE_INTEGER *pcbRead,
  1940. ULARGE_INTEGER *pcbWritten);
  1941. void __RPC_STUB IStream_RemoteCopyTo_Stub(
  1942. IRpcStubBuffer* This,
  1943. IRpcChannelBuffer* pRpcChannelBuffer,
  1944. PRPC_MESSAGE pRpcMessage,
  1945. DWORD* pdwStubPhase);
  1946. HRESULT CALLBACK IStream_Seek_Proxy(
  1947. IStream* This,
  1948. LARGE_INTEGER dlibMove,
  1949. DWORD dwOrigin,
  1950. ULARGE_INTEGER *plibNewPosition);
  1951. HRESULT __RPC_STUB IStream_Seek_Stub(
  1952. IStream* This,
  1953. LARGE_INTEGER dlibMove,
  1954. DWORD dwOrigin,
  1955. ULARGE_INTEGER *plibNewPosition);
  1956. HRESULT CALLBACK IStream_CopyTo_Proxy(
  1957. IStream* This,
  1958. IStream *pstm,
  1959. ULARGE_INTEGER cb,
  1960. ULARGE_INTEGER *pcbRead,
  1961. ULARGE_INTEGER *pcbWritten);
  1962. HRESULT __RPC_STUB IStream_CopyTo_Stub(
  1963. IStream* This,
  1964. IStream *pstm,
  1965. ULARGE_INTEGER cb,
  1966. ULARGE_INTEGER *pcbRead,
  1967. ULARGE_INTEGER *pcbWritten);
  1968. #endif /* __IStream_INTERFACE_DEFINED__ */
  1969. /*****************************************************************************
  1970. * IRpcChannelBuffer interface
  1971. */
  1972. #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
  1973. #define __IRpcChannelBuffer_INTERFACE_DEFINED__
  1974. typedef ULONG RPCOLEDATAREP;
  1975. typedef struct tagRPCOLEMESSAGE {
  1976. void *reserved1;
  1977. RPCOLEDATAREP dataRepresentation;
  1978. void *Buffer;
  1979. ULONG cbBuffer;
  1980. ULONG iMethod;
  1981. void * reserved2[5];
  1982. ULONG rpcFlags;
  1983. } RPCOLEMESSAGE;
  1984. typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
  1985. DEFINE_GUID(IID_IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
  1986. #if defined(__cplusplus) && !defined(CINTERFACE)
  1987. MIDL_INTERFACE("d5f56b60-593b-101a-b569-08002b2dbf7a")
  1988. IRpcChannelBuffer : public IUnknown
  1989. {
  1990. virtual HRESULT STDMETHODCALLTYPE GetBuffer(
  1991. RPCOLEMESSAGE *pMessage,
  1992. REFIID riid) = 0;
  1993. virtual HRESULT STDMETHODCALLTYPE SendReceive(
  1994. RPCOLEMESSAGE *pMessage,
  1995. ULONG *pStatus) = 0;
  1996. virtual HRESULT STDMETHODCALLTYPE FreeBuffer(
  1997. RPCOLEMESSAGE *pMessage) = 0;
  1998. virtual HRESULT STDMETHODCALLTYPE GetDestCtx(
  1999. DWORD *pdwDestContext,
  2000. void **ppvDestContext) = 0;
  2001. virtual HRESULT STDMETHODCALLTYPE IsConnected(
  2002. ) = 0;
  2003. };
  2004. #ifdef __CRT_UUID_DECL
  2005. __CRT_UUID_DECL(IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a)
  2006. #endif
  2007. #else
  2008. typedef struct IRpcChannelBufferVtbl {
  2009. BEGIN_INTERFACE
  2010. /*** IUnknown methods ***/
  2011. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2012. IRpcChannelBuffer *This,
  2013. REFIID riid,
  2014. void **ppvObject);
  2015. ULONG (STDMETHODCALLTYPE *AddRef)(
  2016. IRpcChannelBuffer *This);
  2017. ULONG (STDMETHODCALLTYPE *Release)(
  2018. IRpcChannelBuffer *This);
  2019. /*** IRpcChannelBuffer methods ***/
  2020. HRESULT (STDMETHODCALLTYPE *GetBuffer)(
  2021. IRpcChannelBuffer *This,
  2022. RPCOLEMESSAGE *pMessage,
  2023. REFIID riid);
  2024. HRESULT (STDMETHODCALLTYPE *SendReceive)(
  2025. IRpcChannelBuffer *This,
  2026. RPCOLEMESSAGE *pMessage,
  2027. ULONG *pStatus);
  2028. HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
  2029. IRpcChannelBuffer *This,
  2030. RPCOLEMESSAGE *pMessage);
  2031. HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
  2032. IRpcChannelBuffer *This,
  2033. DWORD *pdwDestContext,
  2034. void **ppvDestContext);
  2035. HRESULT (STDMETHODCALLTYPE *IsConnected)(
  2036. IRpcChannelBuffer *This);
  2037. END_INTERFACE
  2038. } IRpcChannelBufferVtbl;
  2039. interface IRpcChannelBuffer {
  2040. CONST_VTBL IRpcChannelBufferVtbl* lpVtbl;
  2041. };
  2042. #ifdef COBJMACROS
  2043. #ifndef WIDL_C_INLINE_WRAPPERS
  2044. /*** IUnknown methods ***/
  2045. #define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2046. #define IRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  2047. #define IRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
  2048. /*** IRpcChannelBuffer methods ***/
  2049. #define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
  2050. #define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
  2051. #define IRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
  2052. #define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
  2053. #define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
  2054. #else
  2055. /*** IUnknown methods ***/
  2056. static FORCEINLINE HRESULT IRpcChannelBuffer_QueryInterface(IRpcChannelBuffer* This,REFIID riid,void **ppvObject) {
  2057. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2058. }
  2059. static FORCEINLINE ULONG IRpcChannelBuffer_AddRef(IRpcChannelBuffer* This) {
  2060. return This->lpVtbl->AddRef(This);
  2061. }
  2062. static FORCEINLINE ULONG IRpcChannelBuffer_Release(IRpcChannelBuffer* This) {
  2063. return This->lpVtbl->Release(This);
  2064. }
  2065. /*** IRpcChannelBuffer methods ***/
  2066. static FORCEINLINE HRESULT IRpcChannelBuffer_GetBuffer(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,REFIID riid) {
  2067. return This->lpVtbl->GetBuffer(This,pMessage,riid);
  2068. }
  2069. static FORCEINLINE HRESULT IRpcChannelBuffer_SendReceive(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) {
  2070. return This->lpVtbl->SendReceive(This,pMessage,pStatus);
  2071. }
  2072. static FORCEINLINE HRESULT IRpcChannelBuffer_FreeBuffer(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage) {
  2073. return This->lpVtbl->FreeBuffer(This,pMessage);
  2074. }
  2075. static FORCEINLINE HRESULT IRpcChannelBuffer_GetDestCtx(IRpcChannelBuffer* This,DWORD *pdwDestContext,void **ppvDestContext) {
  2076. return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext);
  2077. }
  2078. static FORCEINLINE HRESULT IRpcChannelBuffer_IsConnected(IRpcChannelBuffer* This) {
  2079. return This->lpVtbl->IsConnected(This);
  2080. }
  2081. #endif
  2082. #endif
  2083. #endif
  2084. #endif /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */
  2085. #endif
  2086. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  2087. /*****************************************************************************
  2088. * IRpcChannelBuffer2 interface
  2089. */
  2090. #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__
  2091. #define __IRpcChannelBuffer2_INTERFACE_DEFINED__
  2092. DEFINE_GUID(IID_IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf);
  2093. #if defined(__cplusplus) && !defined(CINTERFACE)
  2094. MIDL_INTERFACE("594f31d0-7f19-11d0-b194-00a0c90dc8bf")
  2095. IRpcChannelBuffer2 : public IRpcChannelBuffer
  2096. {
  2097. virtual HRESULT STDMETHODCALLTYPE GetProtocolVersion(
  2098. DWORD *pdwVersion) = 0;
  2099. };
  2100. #ifdef __CRT_UUID_DECL
  2101. __CRT_UUID_DECL(IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf)
  2102. #endif
  2103. #else
  2104. typedef struct IRpcChannelBuffer2Vtbl {
  2105. BEGIN_INTERFACE
  2106. /*** IUnknown methods ***/
  2107. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2108. IRpcChannelBuffer2 *This,
  2109. REFIID riid,
  2110. void **ppvObject);
  2111. ULONG (STDMETHODCALLTYPE *AddRef)(
  2112. IRpcChannelBuffer2 *This);
  2113. ULONG (STDMETHODCALLTYPE *Release)(
  2114. IRpcChannelBuffer2 *This);
  2115. /*** IRpcChannelBuffer methods ***/
  2116. HRESULT (STDMETHODCALLTYPE *GetBuffer)(
  2117. IRpcChannelBuffer2 *This,
  2118. RPCOLEMESSAGE *pMessage,
  2119. REFIID riid);
  2120. HRESULT (STDMETHODCALLTYPE *SendReceive)(
  2121. IRpcChannelBuffer2 *This,
  2122. RPCOLEMESSAGE *pMessage,
  2123. ULONG *pStatus);
  2124. HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
  2125. IRpcChannelBuffer2 *This,
  2126. RPCOLEMESSAGE *pMessage);
  2127. HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
  2128. IRpcChannelBuffer2 *This,
  2129. DWORD *pdwDestContext,
  2130. void **ppvDestContext);
  2131. HRESULT (STDMETHODCALLTYPE *IsConnected)(
  2132. IRpcChannelBuffer2 *This);
  2133. /*** IRpcChannelBuffer2 methods ***/
  2134. HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)(
  2135. IRpcChannelBuffer2 *This,
  2136. DWORD *pdwVersion);
  2137. END_INTERFACE
  2138. } IRpcChannelBuffer2Vtbl;
  2139. interface IRpcChannelBuffer2 {
  2140. CONST_VTBL IRpcChannelBuffer2Vtbl* lpVtbl;
  2141. };
  2142. #ifdef COBJMACROS
  2143. #ifndef WIDL_C_INLINE_WRAPPERS
  2144. /*** IUnknown methods ***/
  2145. #define IRpcChannelBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2146. #define IRpcChannelBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This)
  2147. #define IRpcChannelBuffer2_Release(This) (This)->lpVtbl->Release(This)
  2148. /*** IRpcChannelBuffer methods ***/
  2149. #define IRpcChannelBuffer2_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
  2150. #define IRpcChannelBuffer2_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
  2151. #define IRpcChannelBuffer2_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
  2152. #define IRpcChannelBuffer2_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
  2153. #define IRpcChannelBuffer2_IsConnected(This) (This)->lpVtbl->IsConnected(This)
  2154. /*** IRpcChannelBuffer2 methods ***/
  2155. #define IRpcChannelBuffer2_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
  2156. #else
  2157. /*** IUnknown methods ***/
  2158. static FORCEINLINE HRESULT IRpcChannelBuffer2_QueryInterface(IRpcChannelBuffer2* This,REFIID riid,void **ppvObject) {
  2159. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2160. }
  2161. static FORCEINLINE ULONG IRpcChannelBuffer2_AddRef(IRpcChannelBuffer2* This) {
  2162. return This->lpVtbl->AddRef(This);
  2163. }
  2164. static FORCEINLINE ULONG IRpcChannelBuffer2_Release(IRpcChannelBuffer2* This) {
  2165. return This->lpVtbl->Release(This);
  2166. }
  2167. /*** IRpcChannelBuffer methods ***/
  2168. static FORCEINLINE HRESULT IRpcChannelBuffer2_GetBuffer(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage,REFIID riid) {
  2169. return This->lpVtbl->GetBuffer(This,pMessage,riid);
  2170. }
  2171. static FORCEINLINE HRESULT IRpcChannelBuffer2_SendReceive(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) {
  2172. return This->lpVtbl->SendReceive(This,pMessage,pStatus);
  2173. }
  2174. static FORCEINLINE HRESULT IRpcChannelBuffer2_FreeBuffer(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage) {
  2175. return This->lpVtbl->FreeBuffer(This,pMessage);
  2176. }
  2177. static FORCEINLINE HRESULT IRpcChannelBuffer2_GetDestCtx(IRpcChannelBuffer2* This,DWORD *pdwDestContext,void **ppvDestContext) {
  2178. return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext);
  2179. }
  2180. static FORCEINLINE HRESULT IRpcChannelBuffer2_IsConnected(IRpcChannelBuffer2* This) {
  2181. return This->lpVtbl->IsConnected(This);
  2182. }
  2183. /*** IRpcChannelBuffer2 methods ***/
  2184. static FORCEINLINE HRESULT IRpcChannelBuffer2_GetProtocolVersion(IRpcChannelBuffer2* This,DWORD *pdwVersion) {
  2185. return This->lpVtbl->GetProtocolVersion(This,pdwVersion);
  2186. }
  2187. #endif
  2188. #endif
  2189. #endif
  2190. #endif /* __IRpcChannelBuffer2_INTERFACE_DEFINED__ */
  2191. /*****************************************************************************
  2192. * IAsyncRpcChannelBuffer interface
  2193. */
  2194. #ifndef __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
  2195. #define __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
  2196. DEFINE_GUID(IID_IAsyncRpcChannelBuffer, 0xa5029fb6, 0x3c34, 0x11d1, 0x9c,0x99, 0x00,0xc0,0x4f,0xb9,0x98,0xaa);
  2197. #if defined(__cplusplus) && !defined(CINTERFACE)
  2198. MIDL_INTERFACE("a5029fb6-3c34-11d1-9c99-00c04fb998aa")
  2199. IAsyncRpcChannelBuffer : public IRpcChannelBuffer2
  2200. {
  2201. virtual HRESULT STDMETHODCALLTYPE Send(
  2202. RPCOLEMESSAGE *pMsg,
  2203. ISynchronize *pSync,
  2204. ULONG *pulStatus) = 0;
  2205. virtual HRESULT STDMETHODCALLTYPE Receive(
  2206. RPCOLEMESSAGE *pMsg,
  2207. ULONG *pulStatus) = 0;
  2208. virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx(
  2209. RPCOLEMESSAGE *pMsg,
  2210. DWORD *pdwDestContext,
  2211. void **ppvDestContext) = 0;
  2212. };
  2213. #ifdef __CRT_UUID_DECL
  2214. __CRT_UUID_DECL(IAsyncRpcChannelBuffer, 0xa5029fb6, 0x3c34, 0x11d1, 0x9c,0x99, 0x00,0xc0,0x4f,0xb9,0x98,0xaa)
  2215. #endif
  2216. #else
  2217. typedef struct IAsyncRpcChannelBufferVtbl {
  2218. BEGIN_INTERFACE
  2219. /*** IUnknown methods ***/
  2220. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2221. IAsyncRpcChannelBuffer *This,
  2222. REFIID riid,
  2223. void **ppvObject);
  2224. ULONG (STDMETHODCALLTYPE *AddRef)(
  2225. IAsyncRpcChannelBuffer *This);
  2226. ULONG (STDMETHODCALLTYPE *Release)(
  2227. IAsyncRpcChannelBuffer *This);
  2228. /*** IRpcChannelBuffer methods ***/
  2229. HRESULT (STDMETHODCALLTYPE *GetBuffer)(
  2230. IAsyncRpcChannelBuffer *This,
  2231. RPCOLEMESSAGE *pMessage,
  2232. REFIID riid);
  2233. HRESULT (STDMETHODCALLTYPE *SendReceive)(
  2234. IAsyncRpcChannelBuffer *This,
  2235. RPCOLEMESSAGE *pMessage,
  2236. ULONG *pStatus);
  2237. HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
  2238. IAsyncRpcChannelBuffer *This,
  2239. RPCOLEMESSAGE *pMessage);
  2240. HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
  2241. IAsyncRpcChannelBuffer *This,
  2242. DWORD *pdwDestContext,
  2243. void **ppvDestContext);
  2244. HRESULT (STDMETHODCALLTYPE *IsConnected)(
  2245. IAsyncRpcChannelBuffer *This);
  2246. /*** IRpcChannelBuffer2 methods ***/
  2247. HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)(
  2248. IAsyncRpcChannelBuffer *This,
  2249. DWORD *pdwVersion);
  2250. /*** IAsyncRpcChannelBuffer methods ***/
  2251. HRESULT (STDMETHODCALLTYPE *Send)(
  2252. IAsyncRpcChannelBuffer *This,
  2253. RPCOLEMESSAGE *pMsg,
  2254. ISynchronize *pSync,
  2255. ULONG *pulStatus);
  2256. HRESULT (STDMETHODCALLTYPE *Receive)(
  2257. IAsyncRpcChannelBuffer *This,
  2258. RPCOLEMESSAGE *pMsg,
  2259. ULONG *pulStatus);
  2260. HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)(
  2261. IAsyncRpcChannelBuffer *This,
  2262. RPCOLEMESSAGE *pMsg,
  2263. DWORD *pdwDestContext,
  2264. void **ppvDestContext);
  2265. END_INTERFACE
  2266. } IAsyncRpcChannelBufferVtbl;
  2267. interface IAsyncRpcChannelBuffer {
  2268. CONST_VTBL IAsyncRpcChannelBufferVtbl* lpVtbl;
  2269. };
  2270. #ifdef COBJMACROS
  2271. #ifndef WIDL_C_INLINE_WRAPPERS
  2272. /*** IUnknown methods ***/
  2273. #define IAsyncRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2274. #define IAsyncRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  2275. #define IAsyncRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
  2276. /*** IRpcChannelBuffer methods ***/
  2277. #define IAsyncRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
  2278. #define IAsyncRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
  2279. #define IAsyncRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
  2280. #define IAsyncRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
  2281. #define IAsyncRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
  2282. /*** IRpcChannelBuffer2 methods ***/
  2283. #define IAsyncRpcChannelBuffer_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
  2284. /*** IAsyncRpcChannelBuffer methods ***/
  2285. #define IAsyncRpcChannelBuffer_Send(This,pMsg,pSync,pulStatus) (This)->lpVtbl->Send(This,pMsg,pSync,pulStatus)
  2286. #define IAsyncRpcChannelBuffer_Receive(This,pMsg,pulStatus) (This)->lpVtbl->Receive(This,pMsg,pulStatus)
  2287. #define IAsyncRpcChannelBuffer_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
  2288. #else
  2289. /*** IUnknown methods ***/
  2290. static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_QueryInterface(IAsyncRpcChannelBuffer* This,REFIID riid,void **ppvObject) {
  2291. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2292. }
  2293. static FORCEINLINE ULONG IAsyncRpcChannelBuffer_AddRef(IAsyncRpcChannelBuffer* This) {
  2294. return This->lpVtbl->AddRef(This);
  2295. }
  2296. static FORCEINLINE ULONG IAsyncRpcChannelBuffer_Release(IAsyncRpcChannelBuffer* This) {
  2297. return This->lpVtbl->Release(This);
  2298. }
  2299. /*** IRpcChannelBuffer methods ***/
  2300. static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetBuffer(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,REFIID riid) {
  2301. return This->lpVtbl->GetBuffer(This,pMessage,riid);
  2302. }
  2303. static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_SendReceive(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) {
  2304. return This->lpVtbl->SendReceive(This,pMessage,pStatus);
  2305. }
  2306. static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_FreeBuffer(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage) {
  2307. return This->lpVtbl->FreeBuffer(This,pMessage);
  2308. }
  2309. static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetDestCtx(IAsyncRpcChannelBuffer* This,DWORD *pdwDestContext,void **ppvDestContext) {
  2310. return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext);
  2311. }
  2312. static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_IsConnected(IAsyncRpcChannelBuffer* This) {
  2313. return This->lpVtbl->IsConnected(This);
  2314. }
  2315. /*** IRpcChannelBuffer2 methods ***/
  2316. static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetProtocolVersion(IAsyncRpcChannelBuffer* This,DWORD *pdwVersion) {
  2317. return This->lpVtbl->GetProtocolVersion(This,pdwVersion);
  2318. }
  2319. /*** IAsyncRpcChannelBuffer methods ***/
  2320. static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_Send(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus) {
  2321. return This->lpVtbl->Send(This,pMsg,pSync,pulStatus);
  2322. }
  2323. static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_Receive(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus) {
  2324. return This->lpVtbl->Receive(This,pMsg,pulStatus);
  2325. }
  2326. static FORCEINLINE HRESULT IAsyncRpcChannelBuffer_GetDestCtxEx(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) {
  2327. return This->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext);
  2328. }
  2329. #endif
  2330. #endif
  2331. #endif
  2332. #endif /* __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__ */
  2333. /*****************************************************************************
  2334. * IRpcChannelBuffer3 interface
  2335. */
  2336. #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__
  2337. #define __IRpcChannelBuffer3_INTERFACE_DEFINED__
  2338. DEFINE_GUID(IID_IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2);
  2339. #if defined(__cplusplus) && !defined(CINTERFACE)
  2340. MIDL_INTERFACE("25b15600-0115-11d0-bf0d-00aa00b8dfd2")
  2341. IRpcChannelBuffer3 : public IRpcChannelBuffer2
  2342. {
  2343. virtual HRESULT STDMETHODCALLTYPE Send(
  2344. RPCOLEMESSAGE *pMsg,
  2345. ULONG *pulStatus) = 0;
  2346. virtual HRESULT STDMETHODCALLTYPE Receive(
  2347. RPCOLEMESSAGE *pMsg,
  2348. ULONG ulSize,
  2349. ULONG *pulStatus) = 0;
  2350. virtual HRESULT STDMETHODCALLTYPE Cancel(
  2351. RPCOLEMESSAGE *pMsg) = 0;
  2352. virtual HRESULT STDMETHODCALLTYPE GetCallContext(
  2353. RPCOLEMESSAGE *pMsg,
  2354. REFIID riid,
  2355. void **pInterface) = 0;
  2356. virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx(
  2357. RPCOLEMESSAGE *pMsg,
  2358. DWORD *pdwDestContext,
  2359. void **ppvDestContext) = 0;
  2360. virtual HRESULT STDMETHODCALLTYPE GetState(
  2361. RPCOLEMESSAGE *pMsg,
  2362. DWORD *pState) = 0;
  2363. virtual HRESULT STDMETHODCALLTYPE RegisterAsync(
  2364. RPCOLEMESSAGE *pMsg,
  2365. IAsyncManager *pAsyncMgr) = 0;
  2366. };
  2367. #ifdef __CRT_UUID_DECL
  2368. __CRT_UUID_DECL(IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2)
  2369. #endif
  2370. #else
  2371. typedef struct IRpcChannelBuffer3Vtbl {
  2372. BEGIN_INTERFACE
  2373. /*** IUnknown methods ***/
  2374. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2375. IRpcChannelBuffer3 *This,
  2376. REFIID riid,
  2377. void **ppvObject);
  2378. ULONG (STDMETHODCALLTYPE *AddRef)(
  2379. IRpcChannelBuffer3 *This);
  2380. ULONG (STDMETHODCALLTYPE *Release)(
  2381. IRpcChannelBuffer3 *This);
  2382. /*** IRpcChannelBuffer methods ***/
  2383. HRESULT (STDMETHODCALLTYPE *GetBuffer)(
  2384. IRpcChannelBuffer3 *This,
  2385. RPCOLEMESSAGE *pMessage,
  2386. REFIID riid);
  2387. HRESULT (STDMETHODCALLTYPE *SendReceive)(
  2388. IRpcChannelBuffer3 *This,
  2389. RPCOLEMESSAGE *pMessage,
  2390. ULONG *pStatus);
  2391. HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
  2392. IRpcChannelBuffer3 *This,
  2393. RPCOLEMESSAGE *pMessage);
  2394. HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
  2395. IRpcChannelBuffer3 *This,
  2396. DWORD *pdwDestContext,
  2397. void **ppvDestContext);
  2398. HRESULT (STDMETHODCALLTYPE *IsConnected)(
  2399. IRpcChannelBuffer3 *This);
  2400. /*** IRpcChannelBuffer2 methods ***/
  2401. HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)(
  2402. IRpcChannelBuffer3 *This,
  2403. DWORD *pdwVersion);
  2404. /*** IRpcChannelBuffer3 methods ***/
  2405. HRESULT (STDMETHODCALLTYPE *Send)(
  2406. IRpcChannelBuffer3 *This,
  2407. RPCOLEMESSAGE *pMsg,
  2408. ULONG *pulStatus);
  2409. HRESULT (STDMETHODCALLTYPE *Receive)(
  2410. IRpcChannelBuffer3 *This,
  2411. RPCOLEMESSAGE *pMsg,
  2412. ULONG ulSize,
  2413. ULONG *pulStatus);
  2414. HRESULT (STDMETHODCALLTYPE *Cancel)(
  2415. IRpcChannelBuffer3 *This,
  2416. RPCOLEMESSAGE *pMsg);
  2417. HRESULT (STDMETHODCALLTYPE *GetCallContext)(
  2418. IRpcChannelBuffer3 *This,
  2419. RPCOLEMESSAGE *pMsg,
  2420. REFIID riid,
  2421. void **pInterface);
  2422. HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)(
  2423. IRpcChannelBuffer3 *This,
  2424. RPCOLEMESSAGE *pMsg,
  2425. DWORD *pdwDestContext,
  2426. void **ppvDestContext);
  2427. HRESULT (STDMETHODCALLTYPE *GetState)(
  2428. IRpcChannelBuffer3 *This,
  2429. RPCOLEMESSAGE *pMsg,
  2430. DWORD *pState);
  2431. HRESULT (STDMETHODCALLTYPE *RegisterAsync)(
  2432. IRpcChannelBuffer3 *This,
  2433. RPCOLEMESSAGE *pMsg,
  2434. IAsyncManager *pAsyncMgr);
  2435. END_INTERFACE
  2436. } IRpcChannelBuffer3Vtbl;
  2437. interface IRpcChannelBuffer3 {
  2438. CONST_VTBL IRpcChannelBuffer3Vtbl* lpVtbl;
  2439. };
  2440. #ifdef COBJMACROS
  2441. #ifndef WIDL_C_INLINE_WRAPPERS
  2442. /*** IUnknown methods ***/
  2443. #define IRpcChannelBuffer3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2444. #define IRpcChannelBuffer3_AddRef(This) (This)->lpVtbl->AddRef(This)
  2445. #define IRpcChannelBuffer3_Release(This) (This)->lpVtbl->Release(This)
  2446. /*** IRpcChannelBuffer methods ***/
  2447. #define IRpcChannelBuffer3_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
  2448. #define IRpcChannelBuffer3_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
  2449. #define IRpcChannelBuffer3_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
  2450. #define IRpcChannelBuffer3_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
  2451. #define IRpcChannelBuffer3_IsConnected(This) (This)->lpVtbl->IsConnected(This)
  2452. /*** IRpcChannelBuffer2 methods ***/
  2453. #define IRpcChannelBuffer3_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
  2454. /*** IRpcChannelBuffer3 methods ***/
  2455. #define IRpcChannelBuffer3_Send(This,pMsg,pulStatus) (This)->lpVtbl->Send(This,pMsg,pulStatus)
  2456. #define IRpcChannelBuffer3_Receive(This,pMsg,ulSize,pulStatus) (This)->lpVtbl->Receive(This,pMsg,ulSize,pulStatus)
  2457. #define IRpcChannelBuffer3_Cancel(This,pMsg) (This)->lpVtbl->Cancel(This,pMsg)
  2458. #define IRpcChannelBuffer3_GetCallContext(This,pMsg,riid,pInterface) (This)->lpVtbl->GetCallContext(This,pMsg,riid,pInterface)
  2459. #define IRpcChannelBuffer3_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
  2460. #define IRpcChannelBuffer3_GetState(This,pMsg,pState) (This)->lpVtbl->GetState(This,pMsg,pState)
  2461. #define IRpcChannelBuffer3_RegisterAsync(This,pMsg,pAsyncMgr) (This)->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr)
  2462. #else
  2463. /*** IUnknown methods ***/
  2464. static FORCEINLINE HRESULT IRpcChannelBuffer3_QueryInterface(IRpcChannelBuffer3* This,REFIID riid,void **ppvObject) {
  2465. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2466. }
  2467. static FORCEINLINE ULONG IRpcChannelBuffer3_AddRef(IRpcChannelBuffer3* This) {
  2468. return This->lpVtbl->AddRef(This);
  2469. }
  2470. static FORCEINLINE ULONG IRpcChannelBuffer3_Release(IRpcChannelBuffer3* This) {
  2471. return This->lpVtbl->Release(This);
  2472. }
  2473. /*** IRpcChannelBuffer methods ***/
  2474. static FORCEINLINE HRESULT IRpcChannelBuffer3_GetBuffer(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage,REFIID riid) {
  2475. return This->lpVtbl->GetBuffer(This,pMessage,riid);
  2476. }
  2477. static FORCEINLINE HRESULT IRpcChannelBuffer3_SendReceive(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) {
  2478. return This->lpVtbl->SendReceive(This,pMessage,pStatus);
  2479. }
  2480. static FORCEINLINE HRESULT IRpcChannelBuffer3_FreeBuffer(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage) {
  2481. return This->lpVtbl->FreeBuffer(This,pMessage);
  2482. }
  2483. static FORCEINLINE HRESULT IRpcChannelBuffer3_GetDestCtx(IRpcChannelBuffer3* This,DWORD *pdwDestContext,void **ppvDestContext) {
  2484. return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext);
  2485. }
  2486. static FORCEINLINE HRESULT IRpcChannelBuffer3_IsConnected(IRpcChannelBuffer3* This) {
  2487. return This->lpVtbl->IsConnected(This);
  2488. }
  2489. /*** IRpcChannelBuffer2 methods ***/
  2490. static FORCEINLINE HRESULT IRpcChannelBuffer3_GetProtocolVersion(IRpcChannelBuffer3* This,DWORD *pdwVersion) {
  2491. return This->lpVtbl->GetProtocolVersion(This,pdwVersion);
  2492. }
  2493. /*** IRpcChannelBuffer3 methods ***/
  2494. static FORCEINLINE HRESULT IRpcChannelBuffer3_Send(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus) {
  2495. return This->lpVtbl->Send(This,pMsg,pulStatus);
  2496. }
  2497. static FORCEINLINE HRESULT IRpcChannelBuffer3_Receive(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus) {
  2498. return This->lpVtbl->Receive(This,pMsg,ulSize,pulStatus);
  2499. }
  2500. static FORCEINLINE HRESULT IRpcChannelBuffer3_Cancel(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg) {
  2501. return This->lpVtbl->Cancel(This,pMsg);
  2502. }
  2503. static FORCEINLINE HRESULT IRpcChannelBuffer3_GetCallContext(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface) {
  2504. return This->lpVtbl->GetCallContext(This,pMsg,riid,pInterface);
  2505. }
  2506. static FORCEINLINE HRESULT IRpcChannelBuffer3_GetDestCtxEx(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) {
  2507. return This->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext);
  2508. }
  2509. static FORCEINLINE HRESULT IRpcChannelBuffer3_GetState(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,DWORD *pState) {
  2510. return This->lpVtbl->GetState(This,pMsg,pState);
  2511. }
  2512. static FORCEINLINE HRESULT IRpcChannelBuffer3_RegisterAsync(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr) {
  2513. return This->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr);
  2514. }
  2515. #endif
  2516. #endif
  2517. #endif
  2518. #endif /* __IRpcChannelBuffer3_INTERFACE_DEFINED__ */
  2519. /*****************************************************************************
  2520. * IRpcSyntaxNegotiate interface
  2521. */
  2522. #ifndef __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
  2523. #define __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
  2524. DEFINE_GUID(IID_IRpcSyntaxNegotiate, 0x58a08519, 0x24c8, 0x4935, 0xb4,0x82, 0x3f,0xd8,0x23,0x33,0x3a,0x4f);
  2525. #if defined(__cplusplus) && !defined(CINTERFACE)
  2526. MIDL_INTERFACE("58a08519-24c8-4935-b482-3fd823333a4f")
  2527. IRpcSyntaxNegotiate : public IUnknown
  2528. {
  2529. virtual HRESULT STDMETHODCALLTYPE NegotiateSyntax(
  2530. RPCOLEMESSAGE *pMsg) = 0;
  2531. };
  2532. #ifdef __CRT_UUID_DECL
  2533. __CRT_UUID_DECL(IRpcSyntaxNegotiate, 0x58a08519, 0x24c8, 0x4935, 0xb4,0x82, 0x3f,0xd8,0x23,0x33,0x3a,0x4f)
  2534. #endif
  2535. #else
  2536. typedef struct IRpcSyntaxNegotiateVtbl {
  2537. BEGIN_INTERFACE
  2538. /*** IUnknown methods ***/
  2539. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2540. IRpcSyntaxNegotiate *This,
  2541. REFIID riid,
  2542. void **ppvObject);
  2543. ULONG (STDMETHODCALLTYPE *AddRef)(
  2544. IRpcSyntaxNegotiate *This);
  2545. ULONG (STDMETHODCALLTYPE *Release)(
  2546. IRpcSyntaxNegotiate *This);
  2547. /*** IRpcSyntaxNegotiate methods ***/
  2548. HRESULT (STDMETHODCALLTYPE *NegotiateSyntax)(
  2549. IRpcSyntaxNegotiate *This,
  2550. RPCOLEMESSAGE *pMsg);
  2551. END_INTERFACE
  2552. } IRpcSyntaxNegotiateVtbl;
  2553. interface IRpcSyntaxNegotiate {
  2554. CONST_VTBL IRpcSyntaxNegotiateVtbl* lpVtbl;
  2555. };
  2556. #ifdef COBJMACROS
  2557. #ifndef WIDL_C_INLINE_WRAPPERS
  2558. /*** IUnknown methods ***/
  2559. #define IRpcSyntaxNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2560. #define IRpcSyntaxNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This)
  2561. #define IRpcSyntaxNegotiate_Release(This) (This)->lpVtbl->Release(This)
  2562. /*** IRpcSyntaxNegotiate methods ***/
  2563. #define IRpcSyntaxNegotiate_NegotiateSyntax(This,pMsg) (This)->lpVtbl->NegotiateSyntax(This,pMsg)
  2564. #else
  2565. /*** IUnknown methods ***/
  2566. static FORCEINLINE HRESULT IRpcSyntaxNegotiate_QueryInterface(IRpcSyntaxNegotiate* This,REFIID riid,void **ppvObject) {
  2567. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2568. }
  2569. static FORCEINLINE ULONG IRpcSyntaxNegotiate_AddRef(IRpcSyntaxNegotiate* This) {
  2570. return This->lpVtbl->AddRef(This);
  2571. }
  2572. static FORCEINLINE ULONG IRpcSyntaxNegotiate_Release(IRpcSyntaxNegotiate* This) {
  2573. return This->lpVtbl->Release(This);
  2574. }
  2575. /*** IRpcSyntaxNegotiate methods ***/
  2576. static FORCEINLINE HRESULT IRpcSyntaxNegotiate_NegotiateSyntax(IRpcSyntaxNegotiate* This,RPCOLEMESSAGE *pMsg) {
  2577. return This->lpVtbl->NegotiateSyntax(This,pMsg);
  2578. }
  2579. #endif
  2580. #endif
  2581. #endif
  2582. #endif /* __IRpcSyntaxNegotiate_INTERFACE_DEFINED__ */
  2583. /*****************************************************************************
  2584. * IRpcProxyBuffer interface
  2585. */
  2586. #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
  2587. #define __IRpcProxyBuffer_INTERFACE_DEFINED__
  2588. DEFINE_GUID(IID_IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
  2589. #if defined(__cplusplus) && !defined(CINTERFACE)
  2590. MIDL_INTERFACE("d5f56a34-593b-101a-b569-08002b2dbf7a")
  2591. IRpcProxyBuffer : public IUnknown
  2592. {
  2593. virtual HRESULT STDMETHODCALLTYPE Connect(
  2594. IRpcChannelBuffer *pRpcChannelBuffer) = 0;
  2595. virtual void STDMETHODCALLTYPE Disconnect(
  2596. ) = 0;
  2597. };
  2598. #ifdef __CRT_UUID_DECL
  2599. __CRT_UUID_DECL(IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a)
  2600. #endif
  2601. #else
  2602. typedef struct IRpcProxyBufferVtbl {
  2603. BEGIN_INTERFACE
  2604. /*** IUnknown methods ***/
  2605. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2606. IRpcProxyBuffer *This,
  2607. REFIID riid,
  2608. void **ppvObject);
  2609. ULONG (STDMETHODCALLTYPE *AddRef)(
  2610. IRpcProxyBuffer *This);
  2611. ULONG (STDMETHODCALLTYPE *Release)(
  2612. IRpcProxyBuffer *This);
  2613. /*** IRpcProxyBuffer methods ***/
  2614. HRESULT (STDMETHODCALLTYPE *Connect)(
  2615. IRpcProxyBuffer *This,
  2616. IRpcChannelBuffer *pRpcChannelBuffer);
  2617. void (STDMETHODCALLTYPE *Disconnect)(
  2618. IRpcProxyBuffer *This);
  2619. END_INTERFACE
  2620. } IRpcProxyBufferVtbl;
  2621. interface IRpcProxyBuffer {
  2622. CONST_VTBL IRpcProxyBufferVtbl* lpVtbl;
  2623. };
  2624. #ifdef COBJMACROS
  2625. #ifndef WIDL_C_INLINE_WRAPPERS
  2626. /*** IUnknown methods ***/
  2627. #define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2628. #define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  2629. #define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This)
  2630. /*** IRpcProxyBuffer methods ***/
  2631. #define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) (This)->lpVtbl->Connect(This,pRpcChannelBuffer)
  2632. #define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
  2633. #else
  2634. /*** IUnknown methods ***/
  2635. static FORCEINLINE HRESULT IRpcProxyBuffer_QueryInterface(IRpcProxyBuffer* This,REFIID riid,void **ppvObject) {
  2636. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2637. }
  2638. static FORCEINLINE ULONG IRpcProxyBuffer_AddRef(IRpcProxyBuffer* This) {
  2639. return This->lpVtbl->AddRef(This);
  2640. }
  2641. static FORCEINLINE ULONG IRpcProxyBuffer_Release(IRpcProxyBuffer* This) {
  2642. return This->lpVtbl->Release(This);
  2643. }
  2644. /*** IRpcProxyBuffer methods ***/
  2645. static FORCEINLINE HRESULT IRpcProxyBuffer_Connect(IRpcProxyBuffer* This,IRpcChannelBuffer *pRpcChannelBuffer) {
  2646. return This->lpVtbl->Connect(This,pRpcChannelBuffer);
  2647. }
  2648. static FORCEINLINE void IRpcProxyBuffer_Disconnect(IRpcProxyBuffer* This) {
  2649. This->lpVtbl->Disconnect(This);
  2650. }
  2651. #endif
  2652. #endif
  2653. #endif
  2654. #endif /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */
  2655. #endif
  2656. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  2657. /*****************************************************************************
  2658. * IRpcStubBuffer interface
  2659. */
  2660. #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
  2661. #define __IRpcStubBuffer_INTERFACE_DEFINED__
  2662. DEFINE_GUID(IID_IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
  2663. #if defined(__cplusplus) && !defined(CINTERFACE)
  2664. MIDL_INTERFACE("d5f56afc-593b-101a-b569-08002b2dbf7a")
  2665. IRpcStubBuffer : public IUnknown
  2666. {
  2667. virtual HRESULT STDMETHODCALLTYPE Connect(
  2668. IUnknown *pUnkServer) = 0;
  2669. virtual void STDMETHODCALLTYPE Disconnect(
  2670. ) = 0;
  2671. virtual HRESULT STDMETHODCALLTYPE Invoke(
  2672. RPCOLEMESSAGE *_prpcmsg,
  2673. IRpcChannelBuffer *_pRpcChannelBuffer) = 0;
  2674. virtual IRpcStubBuffer * STDMETHODCALLTYPE IsIIDSupported(
  2675. REFIID riid) = 0;
  2676. virtual ULONG STDMETHODCALLTYPE CountRefs(
  2677. ) = 0;
  2678. virtual HRESULT STDMETHODCALLTYPE DebugServerQueryInterface(
  2679. void **ppv) = 0;
  2680. virtual void STDMETHODCALLTYPE DebugServerRelease(
  2681. void *pv) = 0;
  2682. };
  2683. #ifdef __CRT_UUID_DECL
  2684. __CRT_UUID_DECL(IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a)
  2685. #endif
  2686. #else
  2687. typedef struct IRpcStubBufferVtbl {
  2688. BEGIN_INTERFACE
  2689. /*** IUnknown methods ***/
  2690. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2691. IRpcStubBuffer *This,
  2692. REFIID riid,
  2693. void **ppvObject);
  2694. ULONG (STDMETHODCALLTYPE *AddRef)(
  2695. IRpcStubBuffer *This);
  2696. ULONG (STDMETHODCALLTYPE *Release)(
  2697. IRpcStubBuffer *This);
  2698. /*** IRpcStubBuffer methods ***/
  2699. HRESULT (STDMETHODCALLTYPE *Connect)(
  2700. IRpcStubBuffer *This,
  2701. IUnknown *pUnkServer);
  2702. void (STDMETHODCALLTYPE *Disconnect)(
  2703. IRpcStubBuffer *This);
  2704. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2705. IRpcStubBuffer *This,
  2706. RPCOLEMESSAGE *_prpcmsg,
  2707. IRpcChannelBuffer *_pRpcChannelBuffer);
  2708. IRpcStubBuffer * (STDMETHODCALLTYPE *IsIIDSupported)(
  2709. IRpcStubBuffer *This,
  2710. REFIID riid);
  2711. ULONG (STDMETHODCALLTYPE *CountRefs)(
  2712. IRpcStubBuffer *This);
  2713. HRESULT (STDMETHODCALLTYPE *DebugServerQueryInterface)(
  2714. IRpcStubBuffer *This,
  2715. void **ppv);
  2716. void (STDMETHODCALLTYPE *DebugServerRelease)(
  2717. IRpcStubBuffer *This,
  2718. void *pv);
  2719. END_INTERFACE
  2720. } IRpcStubBufferVtbl;
  2721. interface IRpcStubBuffer {
  2722. CONST_VTBL IRpcStubBufferVtbl* lpVtbl;
  2723. };
  2724. #ifdef COBJMACROS
  2725. #ifndef WIDL_C_INLINE_WRAPPERS
  2726. /*** IUnknown methods ***/
  2727. #define IRpcStubBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2728. #define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  2729. #define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This)
  2730. /*** IRpcStubBuffer methods ***/
  2731. #define IRpcStubBuffer_Connect(This,pUnkServer) (This)->lpVtbl->Connect(This,pUnkServer)
  2732. #define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
  2733. #define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer) (This)->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer)
  2734. #define IRpcStubBuffer_IsIIDSupported(This,riid) (This)->lpVtbl->IsIIDSupported(This,riid)
  2735. #define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This)
  2736. #define IRpcStubBuffer_DebugServerQueryInterface(This,ppv) (This)->lpVtbl->DebugServerQueryInterface(This,ppv)
  2737. #define IRpcStubBuffer_DebugServerRelease(This,pv) (This)->lpVtbl->DebugServerRelease(This,pv)
  2738. #else
  2739. /*** IUnknown methods ***/
  2740. static FORCEINLINE HRESULT IRpcStubBuffer_QueryInterface(IRpcStubBuffer* This,REFIID riid,void **ppvObject) {
  2741. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2742. }
  2743. static FORCEINLINE ULONG IRpcStubBuffer_AddRef(IRpcStubBuffer* This) {
  2744. return This->lpVtbl->AddRef(This);
  2745. }
  2746. static FORCEINLINE ULONG IRpcStubBuffer_Release(IRpcStubBuffer* This) {
  2747. return This->lpVtbl->Release(This);
  2748. }
  2749. /*** IRpcStubBuffer methods ***/
  2750. static FORCEINLINE HRESULT IRpcStubBuffer_Connect(IRpcStubBuffer* This,IUnknown *pUnkServer) {
  2751. return This->lpVtbl->Connect(This,pUnkServer);
  2752. }
  2753. static FORCEINLINE void IRpcStubBuffer_Disconnect(IRpcStubBuffer* This) {
  2754. This->lpVtbl->Disconnect(This);
  2755. }
  2756. static FORCEINLINE HRESULT IRpcStubBuffer_Invoke(IRpcStubBuffer* This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer) {
  2757. return This->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer);
  2758. }
  2759. static FORCEINLINE IRpcStubBuffer * IRpcStubBuffer_IsIIDSupported(IRpcStubBuffer* This,REFIID riid) {
  2760. return This->lpVtbl->IsIIDSupported(This,riid);
  2761. }
  2762. static FORCEINLINE ULONG IRpcStubBuffer_CountRefs(IRpcStubBuffer* This) {
  2763. return This->lpVtbl->CountRefs(This);
  2764. }
  2765. static FORCEINLINE HRESULT IRpcStubBuffer_DebugServerQueryInterface(IRpcStubBuffer* This,void **ppv) {
  2766. return This->lpVtbl->DebugServerQueryInterface(This,ppv);
  2767. }
  2768. static FORCEINLINE void IRpcStubBuffer_DebugServerRelease(IRpcStubBuffer* This,void *pv) {
  2769. This->lpVtbl->DebugServerRelease(This,pv);
  2770. }
  2771. #endif
  2772. #endif
  2773. #endif
  2774. #endif /* __IRpcStubBuffer_INTERFACE_DEFINED__ */
  2775. /*****************************************************************************
  2776. * IPSFactoryBuffer interface
  2777. */
  2778. #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
  2779. #define __IPSFactoryBuffer_INTERFACE_DEFINED__
  2780. DEFINE_GUID(IID_IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
  2781. #if defined(__cplusplus) && !defined(CINTERFACE)
  2782. MIDL_INTERFACE("d5f569d0-593b-101a-b569-08002b2dbf7a")
  2783. IPSFactoryBuffer : public IUnknown
  2784. {
  2785. virtual HRESULT STDMETHODCALLTYPE CreateProxy(
  2786. IUnknown *pUnkOuter,
  2787. REFIID riid,
  2788. IRpcProxyBuffer **ppProxy,
  2789. void **ppv) = 0;
  2790. virtual HRESULT STDMETHODCALLTYPE CreateStub(
  2791. REFIID riid,
  2792. IUnknown *pUnkServer,
  2793. IRpcStubBuffer **ppStub) = 0;
  2794. };
  2795. #ifdef __CRT_UUID_DECL
  2796. __CRT_UUID_DECL(IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a)
  2797. #endif
  2798. #else
  2799. typedef struct IPSFactoryBufferVtbl {
  2800. BEGIN_INTERFACE
  2801. /*** IUnknown methods ***/
  2802. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2803. IPSFactoryBuffer *This,
  2804. REFIID riid,
  2805. void **ppvObject);
  2806. ULONG (STDMETHODCALLTYPE *AddRef)(
  2807. IPSFactoryBuffer *This);
  2808. ULONG (STDMETHODCALLTYPE *Release)(
  2809. IPSFactoryBuffer *This);
  2810. /*** IPSFactoryBuffer methods ***/
  2811. HRESULT (STDMETHODCALLTYPE *CreateProxy)(
  2812. IPSFactoryBuffer *This,
  2813. IUnknown *pUnkOuter,
  2814. REFIID riid,
  2815. IRpcProxyBuffer **ppProxy,
  2816. void **ppv);
  2817. HRESULT (STDMETHODCALLTYPE *CreateStub)(
  2818. IPSFactoryBuffer *This,
  2819. REFIID riid,
  2820. IUnknown *pUnkServer,
  2821. IRpcStubBuffer **ppStub);
  2822. END_INTERFACE
  2823. } IPSFactoryBufferVtbl;
  2824. interface IPSFactoryBuffer {
  2825. CONST_VTBL IPSFactoryBufferVtbl* lpVtbl;
  2826. };
  2827. #ifdef COBJMACROS
  2828. #ifndef WIDL_C_INLINE_WRAPPERS
  2829. /*** IUnknown methods ***/
  2830. #define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2831. #define IPSFactoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  2832. #define IPSFactoryBuffer_Release(This) (This)->lpVtbl->Release(This)
  2833. /*** IPSFactoryBuffer methods ***/
  2834. #define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv) (This)->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)
  2835. #define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub) (This)->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub)
  2836. #else
  2837. /*** IUnknown methods ***/
  2838. static FORCEINLINE HRESULT IPSFactoryBuffer_QueryInterface(IPSFactoryBuffer* This,REFIID riid,void **ppvObject) {
  2839. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2840. }
  2841. static FORCEINLINE ULONG IPSFactoryBuffer_AddRef(IPSFactoryBuffer* This) {
  2842. return This->lpVtbl->AddRef(This);
  2843. }
  2844. static FORCEINLINE ULONG IPSFactoryBuffer_Release(IPSFactoryBuffer* This) {
  2845. return This->lpVtbl->Release(This);
  2846. }
  2847. /*** IPSFactoryBuffer methods ***/
  2848. static FORCEINLINE HRESULT IPSFactoryBuffer_CreateProxy(IPSFactoryBuffer* This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv) {
  2849. return This->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv);
  2850. }
  2851. static FORCEINLINE HRESULT IPSFactoryBuffer_CreateStub(IPSFactoryBuffer* This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub) {
  2852. return This->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub);
  2853. }
  2854. #endif
  2855. #endif
  2856. #endif
  2857. #endif /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */
  2858. #endif
  2859. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  2860. #if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)
  2861. typedef struct SChannelHookCallInfo {
  2862. IID iid;
  2863. DWORD cbSize;
  2864. GUID uCausality;
  2865. DWORD dwServerPid;
  2866. DWORD iMethod;
  2867. void *pObject;
  2868. } SChannelHookCallInfo;
  2869. /*****************************************************************************
  2870. * IChannelHook interface
  2871. */
  2872. #ifndef __IChannelHook_INTERFACE_DEFINED__
  2873. #define __IChannelHook_INTERFACE_DEFINED__
  2874. DEFINE_GUID(IID_IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4);
  2875. #if defined(__cplusplus) && !defined(CINTERFACE)
  2876. MIDL_INTERFACE("1008c4a0-7613-11cf-9af1-0020af6e72f4")
  2877. IChannelHook : public IUnknown
  2878. {
  2879. virtual void STDMETHODCALLTYPE ClientGetSize(
  2880. REFGUID uExtent,
  2881. REFIID riid,
  2882. ULONG *pDataSize) = 0;
  2883. virtual void STDMETHODCALLTYPE ClientFillBuffer(
  2884. REFGUID uExtent,
  2885. REFIID riid,
  2886. ULONG *pDataSize,
  2887. void *pDataBuffer) = 0;
  2888. virtual void STDMETHODCALLTYPE ClientNotify(
  2889. REFGUID uExtent,
  2890. REFIID riid,
  2891. ULONG cbDataSize,
  2892. void *pDataBuffer,
  2893. DWORD lDataRep,
  2894. HRESULT hrFault) = 0;
  2895. virtual void STDMETHODCALLTYPE ServerNotify(
  2896. REFGUID uExtent,
  2897. REFIID riid,
  2898. ULONG cbDataSize,
  2899. void *pDataBuffer,
  2900. DWORD lDataRep) = 0;
  2901. virtual void STDMETHODCALLTYPE ServerGetSize(
  2902. REFGUID uExtent,
  2903. REFIID riid,
  2904. HRESULT hrFault,
  2905. ULONG *pDataSize) = 0;
  2906. virtual void STDMETHODCALLTYPE ServerFillBuffer(
  2907. REFGUID uExtent,
  2908. REFIID riid,
  2909. ULONG *pDataSize,
  2910. void *pDataBuffer,
  2911. HRESULT hrFault) = 0;
  2912. };
  2913. #ifdef __CRT_UUID_DECL
  2914. __CRT_UUID_DECL(IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4)
  2915. #endif
  2916. #else
  2917. typedef struct IChannelHookVtbl {
  2918. BEGIN_INTERFACE
  2919. /*** IUnknown methods ***/
  2920. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2921. IChannelHook *This,
  2922. REFIID riid,
  2923. void **ppvObject);
  2924. ULONG (STDMETHODCALLTYPE *AddRef)(
  2925. IChannelHook *This);
  2926. ULONG (STDMETHODCALLTYPE *Release)(
  2927. IChannelHook *This);
  2928. /*** IChannelHook methods ***/
  2929. void (STDMETHODCALLTYPE *ClientGetSize)(
  2930. IChannelHook *This,
  2931. REFGUID uExtent,
  2932. REFIID riid,
  2933. ULONG *pDataSize);
  2934. void (STDMETHODCALLTYPE *ClientFillBuffer)(
  2935. IChannelHook *This,
  2936. REFGUID uExtent,
  2937. REFIID riid,
  2938. ULONG *pDataSize,
  2939. void *pDataBuffer);
  2940. void (STDMETHODCALLTYPE *ClientNotify)(
  2941. IChannelHook *This,
  2942. REFGUID uExtent,
  2943. REFIID riid,
  2944. ULONG cbDataSize,
  2945. void *pDataBuffer,
  2946. DWORD lDataRep,
  2947. HRESULT hrFault);
  2948. void (STDMETHODCALLTYPE *ServerNotify)(
  2949. IChannelHook *This,
  2950. REFGUID uExtent,
  2951. REFIID riid,
  2952. ULONG cbDataSize,
  2953. void *pDataBuffer,
  2954. DWORD lDataRep);
  2955. void (STDMETHODCALLTYPE *ServerGetSize)(
  2956. IChannelHook *This,
  2957. REFGUID uExtent,
  2958. REFIID riid,
  2959. HRESULT hrFault,
  2960. ULONG *pDataSize);
  2961. void (STDMETHODCALLTYPE *ServerFillBuffer)(
  2962. IChannelHook *This,
  2963. REFGUID uExtent,
  2964. REFIID riid,
  2965. ULONG *pDataSize,
  2966. void *pDataBuffer,
  2967. HRESULT hrFault);
  2968. END_INTERFACE
  2969. } IChannelHookVtbl;
  2970. interface IChannelHook {
  2971. CONST_VTBL IChannelHookVtbl* lpVtbl;
  2972. };
  2973. #ifdef COBJMACROS
  2974. #ifndef WIDL_C_INLINE_WRAPPERS
  2975. /*** IUnknown methods ***/
  2976. #define IChannelHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2977. #define IChannelHook_AddRef(This) (This)->lpVtbl->AddRef(This)
  2978. #define IChannelHook_Release(This) (This)->lpVtbl->Release(This)
  2979. /*** IChannelHook methods ***/
  2980. #define IChannelHook_ClientGetSize(This,uExtent,riid,pDataSize) (This)->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize)
  2981. #define IChannelHook_ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer) (This)->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer)
  2982. #define IChannelHook_ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault) (This)->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault)
  2983. #define IChannelHook_ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep) (This)->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep)
  2984. #define IChannelHook_ServerGetSize(This,uExtent,riid,hrFault,pDataSize) (This)->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize)
  2985. #define IChannelHook_ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault) (This)->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault)
  2986. #else
  2987. /*** IUnknown methods ***/
  2988. static FORCEINLINE HRESULT IChannelHook_QueryInterface(IChannelHook* This,REFIID riid,void **ppvObject) {
  2989. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2990. }
  2991. static FORCEINLINE ULONG IChannelHook_AddRef(IChannelHook* This) {
  2992. return This->lpVtbl->AddRef(This);
  2993. }
  2994. static FORCEINLINE ULONG IChannelHook_Release(IChannelHook* This) {
  2995. return This->lpVtbl->Release(This);
  2996. }
  2997. /*** IChannelHook methods ***/
  2998. static FORCEINLINE void IChannelHook_ClientGetSize(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize) {
  2999. This->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize);
  3000. }
  3001. static FORCEINLINE void IChannelHook_ClientFillBuffer(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer) {
  3002. This->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer);
  3003. }
  3004. static FORCEINLINE void IChannelHook_ClientNotify(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault) {
  3005. This->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault);
  3006. }
  3007. static FORCEINLINE void IChannelHook_ServerNotify(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep) {
  3008. This->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep);
  3009. }
  3010. static FORCEINLINE void IChannelHook_ServerGetSize(IChannelHook* This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize) {
  3011. This->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize);
  3012. }
  3013. static FORCEINLINE void IChannelHook_ServerFillBuffer(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault) {
  3014. This->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault);
  3015. }
  3016. #endif
  3017. #endif
  3018. #endif
  3019. #endif /* __IChannelHook_INTERFACE_DEFINED__ */
  3020. #endif
  3021. #endif
  3022. #if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)
  3023. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  3024. /*****************************************************************************
  3025. * IClientSecurity interface
  3026. */
  3027. #ifndef __IClientSecurity_INTERFACE_DEFINED__
  3028. #define __IClientSecurity_INTERFACE_DEFINED__
  3029. typedef struct tagSOLE_AUTHENTICATION_SERVICE {
  3030. DWORD dwAuthnSvc;
  3031. DWORD dwAuthzSvc;
  3032. OLECHAR *pPrincipalName;
  3033. HRESULT hr;
  3034. } SOLE_AUTHENTICATION_SERVICE;
  3035. typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
  3036. typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
  3037. EOAC_NONE = 0x0,
  3038. EOAC_MUTUAL_AUTH = 0x1,
  3039. EOAC_STATIC_CLOAKING = 0x20,
  3040. EOAC_DYNAMIC_CLOAKING = 0x40,
  3041. EOAC_ANY_AUTHORITY = 0x80,
  3042. EOAC_MAKE_FULLSIC = 0x100,
  3043. EOAC_DEFAULT = 0x800,
  3044. EOAC_SECURE_REFS = 0x2,
  3045. EOAC_ACCESS_CONTROL = 0x4,
  3046. EOAC_APPID = 0x8,
  3047. EOAC_DYNAMIC = 0x10,
  3048. EOAC_REQUIRE_FULLSIC = 0x200,
  3049. EOAC_AUTO_IMPERSONATE = 0x400,
  3050. EOAC_NO_CUSTOM_MARSHAL = 0x2000,
  3051. EOAC_DISABLE_AAA = 0x1000
  3052. } EOLE_AUTHENTICATION_CAPABILITIES;
  3053. #define COLE_DEFAULT_PRINCIPAL ((OLECHAR *)(INT_PTR)-1)
  3054. #define COLE_DEFAULT_AUTHINFO ((void *)(INT_PTR)-1)
  3055. typedef struct tagSOLE_AUTHENTICATION_INFO {
  3056. DWORD dwAuthnSvc;
  3057. DWORD dwAuthzSvc;
  3058. void *pAuthInfo;
  3059. } SOLE_AUTHENTICATION_INFO;
  3060. typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO;
  3061. typedef struct tagSOLE_AUTHENTICATION_LIST {
  3062. DWORD cAuthInfo;
  3063. SOLE_AUTHENTICATION_INFO *aAuthInfo;
  3064. } SOLE_AUTHENTICATION_LIST;
  3065. typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST;
  3066. DEFINE_GUID(IID_IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3067. #if defined(__cplusplus) && !defined(CINTERFACE)
  3068. MIDL_INTERFACE("0000013d-0000-0000-c000-000000000046")
  3069. IClientSecurity : public IUnknown
  3070. {
  3071. virtual HRESULT STDMETHODCALLTYPE QueryBlanket(
  3072. IUnknown *pProxy,
  3073. DWORD *pAuthnSvc,
  3074. DWORD *pAuthzSvc,
  3075. OLECHAR **pServerPrincName,
  3076. DWORD *pAuthnLevel,
  3077. DWORD *pImpLevel,
  3078. void **pAuthInfo,
  3079. DWORD *pCapabilites) = 0;
  3080. virtual HRESULT STDMETHODCALLTYPE SetBlanket(
  3081. IUnknown *pProxy,
  3082. DWORD dwAuthnSvc,
  3083. DWORD dwAuthzSvc,
  3084. OLECHAR *pServerPrincName,
  3085. DWORD dwAuthnLevel,
  3086. DWORD dwImpLevel,
  3087. void *pAuthInfo,
  3088. DWORD dwCapabilities) = 0;
  3089. virtual HRESULT STDMETHODCALLTYPE CopyProxy(
  3090. IUnknown *pProxy,
  3091. IUnknown **ppCopy) = 0;
  3092. };
  3093. #ifdef __CRT_UUID_DECL
  3094. __CRT_UUID_DECL(IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3095. #endif
  3096. #else
  3097. typedef struct IClientSecurityVtbl {
  3098. BEGIN_INTERFACE
  3099. /*** IUnknown methods ***/
  3100. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3101. IClientSecurity *This,
  3102. REFIID riid,
  3103. void **ppvObject);
  3104. ULONG (STDMETHODCALLTYPE *AddRef)(
  3105. IClientSecurity *This);
  3106. ULONG (STDMETHODCALLTYPE *Release)(
  3107. IClientSecurity *This);
  3108. /*** IClientSecurity methods ***/
  3109. HRESULT (STDMETHODCALLTYPE *QueryBlanket)(
  3110. IClientSecurity *This,
  3111. IUnknown *pProxy,
  3112. DWORD *pAuthnSvc,
  3113. DWORD *pAuthzSvc,
  3114. OLECHAR **pServerPrincName,
  3115. DWORD *pAuthnLevel,
  3116. DWORD *pImpLevel,
  3117. void **pAuthInfo,
  3118. DWORD *pCapabilites);
  3119. HRESULT (STDMETHODCALLTYPE *SetBlanket)(
  3120. IClientSecurity *This,
  3121. IUnknown *pProxy,
  3122. DWORD dwAuthnSvc,
  3123. DWORD dwAuthzSvc,
  3124. OLECHAR *pServerPrincName,
  3125. DWORD dwAuthnLevel,
  3126. DWORD dwImpLevel,
  3127. void *pAuthInfo,
  3128. DWORD dwCapabilities);
  3129. HRESULT (STDMETHODCALLTYPE *CopyProxy)(
  3130. IClientSecurity *This,
  3131. IUnknown *pProxy,
  3132. IUnknown **ppCopy);
  3133. END_INTERFACE
  3134. } IClientSecurityVtbl;
  3135. interface IClientSecurity {
  3136. CONST_VTBL IClientSecurityVtbl* lpVtbl;
  3137. };
  3138. #ifdef COBJMACROS
  3139. #ifndef WIDL_C_INLINE_WRAPPERS
  3140. /*** IUnknown methods ***/
  3141. #define IClientSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3142. #define IClientSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
  3143. #define IClientSecurity_Release(This) (This)->lpVtbl->Release(This)
  3144. /*** IClientSecurity methods ***/
  3145. #define IClientSecurity_QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites) (This)->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites)
  3146. #define IClientSecurity_SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities) (This)->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities)
  3147. #define IClientSecurity_CopyProxy(This,pProxy,ppCopy) (This)->lpVtbl->CopyProxy(This,pProxy,ppCopy)
  3148. #else
  3149. /*** IUnknown methods ***/
  3150. static FORCEINLINE HRESULT IClientSecurity_QueryInterface(IClientSecurity* This,REFIID riid,void **ppvObject) {
  3151. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3152. }
  3153. static FORCEINLINE ULONG IClientSecurity_AddRef(IClientSecurity* This) {
  3154. return This->lpVtbl->AddRef(This);
  3155. }
  3156. static FORCEINLINE ULONG IClientSecurity_Release(IClientSecurity* This) {
  3157. return This->lpVtbl->Release(This);
  3158. }
  3159. /*** IClientSecurity methods ***/
  3160. static FORCEINLINE HRESULT IClientSecurity_QueryBlanket(IClientSecurity* This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites) {
  3161. return This->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites);
  3162. }
  3163. static FORCEINLINE HRESULT IClientSecurity_SetBlanket(IClientSecurity* This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities) {
  3164. return This->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities);
  3165. }
  3166. static FORCEINLINE HRESULT IClientSecurity_CopyProxy(IClientSecurity* This,IUnknown *pProxy,IUnknown **ppCopy) {
  3167. return This->lpVtbl->CopyProxy(This,pProxy,ppCopy);
  3168. }
  3169. #endif
  3170. #endif
  3171. #endif
  3172. #endif /* __IClientSecurity_INTERFACE_DEFINED__ */
  3173. #endif
  3174. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  3175. /*****************************************************************************
  3176. * IServerSecurity interface
  3177. */
  3178. #ifndef __IServerSecurity_INTERFACE_DEFINED__
  3179. #define __IServerSecurity_INTERFACE_DEFINED__
  3180. DEFINE_GUID(IID_IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3181. #if defined(__cplusplus) && !defined(CINTERFACE)
  3182. MIDL_INTERFACE("0000013e-0000-0000-c000-000000000046")
  3183. IServerSecurity : public IUnknown
  3184. {
  3185. virtual HRESULT STDMETHODCALLTYPE QueryBlanket(
  3186. DWORD *pAuthnSvc,
  3187. DWORD *pAuthzSvc,
  3188. OLECHAR **pServerPrincName,
  3189. DWORD *pAuthnLevel,
  3190. DWORD *pImpLevel,
  3191. void **pPrivs,
  3192. DWORD *pCapabilities) = 0;
  3193. virtual HRESULT STDMETHODCALLTYPE ImpersonateClient(
  3194. ) = 0;
  3195. virtual HRESULT STDMETHODCALLTYPE RevertToSelf(
  3196. ) = 0;
  3197. virtual WINBOOL STDMETHODCALLTYPE IsImpersonating(
  3198. ) = 0;
  3199. };
  3200. #ifdef __CRT_UUID_DECL
  3201. __CRT_UUID_DECL(IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3202. #endif
  3203. #else
  3204. typedef struct IServerSecurityVtbl {
  3205. BEGIN_INTERFACE
  3206. /*** IUnknown methods ***/
  3207. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3208. IServerSecurity *This,
  3209. REFIID riid,
  3210. void **ppvObject);
  3211. ULONG (STDMETHODCALLTYPE *AddRef)(
  3212. IServerSecurity *This);
  3213. ULONG (STDMETHODCALLTYPE *Release)(
  3214. IServerSecurity *This);
  3215. /*** IServerSecurity methods ***/
  3216. HRESULT (STDMETHODCALLTYPE *QueryBlanket)(
  3217. IServerSecurity *This,
  3218. DWORD *pAuthnSvc,
  3219. DWORD *pAuthzSvc,
  3220. OLECHAR **pServerPrincName,
  3221. DWORD *pAuthnLevel,
  3222. DWORD *pImpLevel,
  3223. void **pPrivs,
  3224. DWORD *pCapabilities);
  3225. HRESULT (STDMETHODCALLTYPE *ImpersonateClient)(
  3226. IServerSecurity *This);
  3227. HRESULT (STDMETHODCALLTYPE *RevertToSelf)(
  3228. IServerSecurity *This);
  3229. WINBOOL (STDMETHODCALLTYPE *IsImpersonating)(
  3230. IServerSecurity *This);
  3231. END_INTERFACE
  3232. } IServerSecurityVtbl;
  3233. interface IServerSecurity {
  3234. CONST_VTBL IServerSecurityVtbl* lpVtbl;
  3235. };
  3236. #ifdef COBJMACROS
  3237. #ifndef WIDL_C_INLINE_WRAPPERS
  3238. /*** IUnknown methods ***/
  3239. #define IServerSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3240. #define IServerSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
  3241. #define IServerSecurity_Release(This) (This)->lpVtbl->Release(This)
  3242. /*** IServerSecurity methods ***/
  3243. #define IServerSecurity_QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities) (This)->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities)
  3244. #define IServerSecurity_ImpersonateClient(This) (This)->lpVtbl->ImpersonateClient(This)
  3245. #define IServerSecurity_RevertToSelf(This) (This)->lpVtbl->RevertToSelf(This)
  3246. #define IServerSecurity_IsImpersonating(This) (This)->lpVtbl->IsImpersonating(This)
  3247. #else
  3248. /*** IUnknown methods ***/
  3249. static FORCEINLINE HRESULT IServerSecurity_QueryInterface(IServerSecurity* This,REFIID riid,void **ppvObject) {
  3250. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3251. }
  3252. static FORCEINLINE ULONG IServerSecurity_AddRef(IServerSecurity* This) {
  3253. return This->lpVtbl->AddRef(This);
  3254. }
  3255. static FORCEINLINE ULONG IServerSecurity_Release(IServerSecurity* This) {
  3256. return This->lpVtbl->Release(This);
  3257. }
  3258. /*** IServerSecurity methods ***/
  3259. static FORCEINLINE HRESULT IServerSecurity_QueryBlanket(IServerSecurity* This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities) {
  3260. return This->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities);
  3261. }
  3262. static FORCEINLINE HRESULT IServerSecurity_ImpersonateClient(IServerSecurity* This) {
  3263. return This->lpVtbl->ImpersonateClient(This);
  3264. }
  3265. static FORCEINLINE HRESULT IServerSecurity_RevertToSelf(IServerSecurity* This) {
  3266. return This->lpVtbl->RevertToSelf(This);
  3267. }
  3268. static FORCEINLINE WINBOOL IServerSecurity_IsImpersonating(IServerSecurity* This) {
  3269. return This->lpVtbl->IsImpersonating(This);
  3270. }
  3271. #endif
  3272. #endif
  3273. #endif
  3274. #endif /* __IServerSecurity_INTERFACE_DEFINED__ */
  3275. typedef enum tagRPCOPT_PROPERTIES {
  3276. COMBND_RPCTIMEOUT = 0x1,
  3277. COMBND_SERVER_LOCALITY = 0x2,
  3278. COMBND_RESERVED1 = 0x4
  3279. } RPCOPT_PROPERTIES;
  3280. typedef enum tagRPCOPT_SERVER_LOCALITY_VALUES {
  3281. SERVER_LOCALITY_PROCESS_LOCAL = 0,
  3282. SERVER_LOCALITY_MACHINE_LOCAL = 1,
  3283. SERVER_LOCALITY_REMOTE = 2
  3284. } RPCOPT_SERVER_LOCALITY_VALUES;
  3285. /*****************************************************************************
  3286. * IRpcOptions interface
  3287. */
  3288. #ifndef __IRpcOptions_INTERFACE_DEFINED__
  3289. #define __IRpcOptions_INTERFACE_DEFINED__
  3290. DEFINE_GUID(IID_IRpcOptions, 0x00000144, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3291. #if defined(__cplusplus) && !defined(CINTERFACE)
  3292. MIDL_INTERFACE("00000144-0000-0000-c000-000000000046")
  3293. IRpcOptions : public IUnknown
  3294. {
  3295. virtual HRESULT STDMETHODCALLTYPE Set(
  3296. IUnknown *pPrx,
  3297. RPCOPT_PROPERTIES dwProperty,
  3298. ULONG_PTR dwValue) = 0;
  3299. virtual HRESULT STDMETHODCALLTYPE Query(
  3300. IUnknown *pPrx,
  3301. RPCOPT_PROPERTIES dwProperty,
  3302. ULONG_PTR *pdwValue) = 0;
  3303. };
  3304. #ifdef __CRT_UUID_DECL
  3305. __CRT_UUID_DECL(IRpcOptions, 0x00000144, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3306. #endif
  3307. #else
  3308. typedef struct IRpcOptionsVtbl {
  3309. BEGIN_INTERFACE
  3310. /*** IUnknown methods ***/
  3311. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3312. IRpcOptions *This,
  3313. REFIID riid,
  3314. void **ppvObject);
  3315. ULONG (STDMETHODCALLTYPE *AddRef)(
  3316. IRpcOptions *This);
  3317. ULONG (STDMETHODCALLTYPE *Release)(
  3318. IRpcOptions *This);
  3319. /*** IRpcOptions methods ***/
  3320. HRESULT (STDMETHODCALLTYPE *Set)(
  3321. IRpcOptions *This,
  3322. IUnknown *pPrx,
  3323. RPCOPT_PROPERTIES dwProperty,
  3324. ULONG_PTR dwValue);
  3325. HRESULT (STDMETHODCALLTYPE *Query)(
  3326. IRpcOptions *This,
  3327. IUnknown *pPrx,
  3328. RPCOPT_PROPERTIES dwProperty,
  3329. ULONG_PTR *pdwValue);
  3330. END_INTERFACE
  3331. } IRpcOptionsVtbl;
  3332. interface IRpcOptions {
  3333. CONST_VTBL IRpcOptionsVtbl* lpVtbl;
  3334. };
  3335. #ifdef COBJMACROS
  3336. #ifndef WIDL_C_INLINE_WRAPPERS
  3337. /*** IUnknown methods ***/
  3338. #define IRpcOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3339. #define IRpcOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
  3340. #define IRpcOptions_Release(This) (This)->lpVtbl->Release(This)
  3341. /*** IRpcOptions methods ***/
  3342. #define IRpcOptions_Set(This,pPrx,dwProperty,dwValue) (This)->lpVtbl->Set(This,pPrx,dwProperty,dwValue)
  3343. #define IRpcOptions_Query(This,pPrx,dwProperty,pdwValue) (This)->lpVtbl->Query(This,pPrx,dwProperty,pdwValue)
  3344. #else
  3345. /*** IUnknown methods ***/
  3346. static FORCEINLINE HRESULT IRpcOptions_QueryInterface(IRpcOptions* This,REFIID riid,void **ppvObject) {
  3347. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3348. }
  3349. static FORCEINLINE ULONG IRpcOptions_AddRef(IRpcOptions* This) {
  3350. return This->lpVtbl->AddRef(This);
  3351. }
  3352. static FORCEINLINE ULONG IRpcOptions_Release(IRpcOptions* This) {
  3353. return This->lpVtbl->Release(This);
  3354. }
  3355. /*** IRpcOptions methods ***/
  3356. static FORCEINLINE HRESULT IRpcOptions_Set(IRpcOptions* This,IUnknown *pPrx,RPCOPT_PROPERTIES dwProperty,ULONG_PTR dwValue) {
  3357. return This->lpVtbl->Set(This,pPrx,dwProperty,dwValue);
  3358. }
  3359. static FORCEINLINE HRESULT IRpcOptions_Query(IRpcOptions* This,IUnknown *pPrx,RPCOPT_PROPERTIES dwProperty,ULONG_PTR *pdwValue) {
  3360. return This->lpVtbl->Query(This,pPrx,dwProperty,pdwValue);
  3361. }
  3362. #endif
  3363. #endif
  3364. #endif
  3365. #endif /* __IRpcOptions_INTERFACE_DEFINED__ */
  3366. #endif
  3367. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  3368. typedef enum tagGLOBALOPT_PROPERTIES {
  3369. COMGLB_EXCEPTION_HANDLING = 1,
  3370. COMGLB_APPID = 2,
  3371. COMGLB_RPC_THREADPOOL_SETTING = 3,
  3372. COMGLB_RO_SETTINGS = 4,
  3373. COMGLB_UNMARSHALING_POLICY = 5
  3374. } GLOBALOPT_PROPERTIES;
  3375. typedef enum tagGLOBALOPT_EH_VALUES {
  3376. COMGLB_EXCEPTION_HANDLE = 0,
  3377. COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1,
  3378. COMGLB_EXCEPTION_DONOT_HANDLE = COMGLB_EXCEPTION_DONOT_HANDLE_FATAL,
  3379. COMGLB_EXCEPTION_DONOT_HANDLE_ANY = 2
  3380. } GLOBALOPT_EH_VALUES;
  3381. typedef enum tagGLOBALOPT_RPCTP_VALUES {
  3382. COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0,
  3383. COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1
  3384. } GLOBALOPT_RPCTP_VALUES;
  3385. typedef enum tagGLOBALOPT_RO_FLAGS {
  3386. COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES = 0x1,
  3387. COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES = 0x2,
  3388. COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 0x4,
  3389. COMGLB_FAST_RUNDOWN = 0x8,
  3390. COMGLB_RESERVED1 = 0x10,
  3391. COMGLB_RESERVED2 = 0x20,
  3392. COMGLB_RESERVED3 = 0x40,
  3393. COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES = 0x80
  3394. } GLOBALOPT_RO_FLAGS;
  3395. typedef enum tagGLOBALOPT_UNMARSHALING_POLICY_VALUES {
  3396. COMGLB_UNMARSHALING_POLICY_NORMAL = 0,
  3397. COMGLB_UNMARSHALING_POLICY_STRONG = 1,
  3398. COMGLB_UNMARSHALING_POLICY_HYBRID = 2
  3399. } GLOBALOPT_UNMARSHALING_POLICY_VALUES;
  3400. /*****************************************************************************
  3401. * IGlobalOptions interface
  3402. */
  3403. #ifndef __IGlobalOptions_INTERFACE_DEFINED__
  3404. #define __IGlobalOptions_INTERFACE_DEFINED__
  3405. DEFINE_GUID(IID_IGlobalOptions, 0x0000015b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3406. #if defined(__cplusplus) && !defined(CINTERFACE)
  3407. MIDL_INTERFACE("0000015b-0000-0000-c000-000000000046")
  3408. IGlobalOptions : public IUnknown
  3409. {
  3410. virtual HRESULT STDMETHODCALLTYPE Set(
  3411. GLOBALOPT_PROPERTIES dwProperty,
  3412. ULONG_PTR dwValue) = 0;
  3413. virtual HRESULT STDMETHODCALLTYPE Query(
  3414. GLOBALOPT_PROPERTIES dwProperty,
  3415. ULONG_PTR *pdwValue) = 0;
  3416. };
  3417. #ifdef __CRT_UUID_DECL
  3418. __CRT_UUID_DECL(IGlobalOptions, 0x0000015b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3419. #endif
  3420. #else
  3421. typedef struct IGlobalOptionsVtbl {
  3422. BEGIN_INTERFACE
  3423. /*** IUnknown methods ***/
  3424. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3425. IGlobalOptions *This,
  3426. REFIID riid,
  3427. void **ppvObject);
  3428. ULONG (STDMETHODCALLTYPE *AddRef)(
  3429. IGlobalOptions *This);
  3430. ULONG (STDMETHODCALLTYPE *Release)(
  3431. IGlobalOptions *This);
  3432. /*** IGlobalOptions methods ***/
  3433. HRESULT (STDMETHODCALLTYPE *Set)(
  3434. IGlobalOptions *This,
  3435. GLOBALOPT_PROPERTIES dwProperty,
  3436. ULONG_PTR dwValue);
  3437. HRESULT (STDMETHODCALLTYPE *Query)(
  3438. IGlobalOptions *This,
  3439. GLOBALOPT_PROPERTIES dwProperty,
  3440. ULONG_PTR *pdwValue);
  3441. END_INTERFACE
  3442. } IGlobalOptionsVtbl;
  3443. interface IGlobalOptions {
  3444. CONST_VTBL IGlobalOptionsVtbl* lpVtbl;
  3445. };
  3446. #ifdef COBJMACROS
  3447. #ifndef WIDL_C_INLINE_WRAPPERS
  3448. /*** IUnknown methods ***/
  3449. #define IGlobalOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3450. #define IGlobalOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
  3451. #define IGlobalOptions_Release(This) (This)->lpVtbl->Release(This)
  3452. /*** IGlobalOptions methods ***/
  3453. #define IGlobalOptions_Set(This,dwProperty,dwValue) (This)->lpVtbl->Set(This,dwProperty,dwValue)
  3454. #define IGlobalOptions_Query(This,dwProperty,pdwValue) (This)->lpVtbl->Query(This,dwProperty,pdwValue)
  3455. #else
  3456. /*** IUnknown methods ***/
  3457. static FORCEINLINE HRESULT IGlobalOptions_QueryInterface(IGlobalOptions* This,REFIID riid,void **ppvObject) {
  3458. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3459. }
  3460. static FORCEINLINE ULONG IGlobalOptions_AddRef(IGlobalOptions* This) {
  3461. return This->lpVtbl->AddRef(This);
  3462. }
  3463. static FORCEINLINE ULONG IGlobalOptions_Release(IGlobalOptions* This) {
  3464. return This->lpVtbl->Release(This);
  3465. }
  3466. /*** IGlobalOptions methods ***/
  3467. static FORCEINLINE HRESULT IGlobalOptions_Set(IGlobalOptions* This,GLOBALOPT_PROPERTIES dwProperty,ULONG_PTR dwValue) {
  3468. return This->lpVtbl->Set(This,dwProperty,dwValue);
  3469. }
  3470. static FORCEINLINE HRESULT IGlobalOptions_Query(IGlobalOptions* This,GLOBALOPT_PROPERTIES dwProperty,ULONG_PTR *pdwValue) {
  3471. return This->lpVtbl->Query(This,dwProperty,pdwValue);
  3472. }
  3473. #endif
  3474. #endif
  3475. #endif
  3476. #endif /* __IGlobalOptions_INTERFACE_DEFINED__ */
  3477. #endif
  3478. #endif
  3479. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  3480. /*****************************************************************************
  3481. * ISurrogate interface
  3482. */
  3483. #ifndef __ISurrogate_INTERFACE_DEFINED__
  3484. #define __ISurrogate_INTERFACE_DEFINED__
  3485. typedef ISurrogate *LPSURROGATE;
  3486. DEFINE_GUID(IID_ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3487. #if defined(__cplusplus) && !defined(CINTERFACE)
  3488. MIDL_INTERFACE("00000022-0000-0000-c000-000000000046")
  3489. ISurrogate : public IUnknown
  3490. {
  3491. virtual HRESULT STDMETHODCALLTYPE LoadDllServer(
  3492. REFCLSID Clsid) = 0;
  3493. virtual HRESULT STDMETHODCALLTYPE FreeSurrogate(
  3494. ) = 0;
  3495. };
  3496. #ifdef __CRT_UUID_DECL
  3497. __CRT_UUID_DECL(ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3498. #endif
  3499. #else
  3500. typedef struct ISurrogateVtbl {
  3501. BEGIN_INTERFACE
  3502. /*** IUnknown methods ***/
  3503. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3504. ISurrogate *This,
  3505. REFIID riid,
  3506. void **ppvObject);
  3507. ULONG (STDMETHODCALLTYPE *AddRef)(
  3508. ISurrogate *This);
  3509. ULONG (STDMETHODCALLTYPE *Release)(
  3510. ISurrogate *This);
  3511. /*** ISurrogate methods ***/
  3512. HRESULT (STDMETHODCALLTYPE *LoadDllServer)(
  3513. ISurrogate *This,
  3514. REFCLSID Clsid);
  3515. HRESULT (STDMETHODCALLTYPE *FreeSurrogate)(
  3516. ISurrogate *This);
  3517. END_INTERFACE
  3518. } ISurrogateVtbl;
  3519. interface ISurrogate {
  3520. CONST_VTBL ISurrogateVtbl* lpVtbl;
  3521. };
  3522. #ifdef COBJMACROS
  3523. #ifndef WIDL_C_INLINE_WRAPPERS
  3524. /*** IUnknown methods ***/
  3525. #define ISurrogate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3526. #define ISurrogate_AddRef(This) (This)->lpVtbl->AddRef(This)
  3527. #define ISurrogate_Release(This) (This)->lpVtbl->Release(This)
  3528. /*** ISurrogate methods ***/
  3529. #define ISurrogate_LoadDllServer(This,Clsid) (This)->lpVtbl->LoadDllServer(This,Clsid)
  3530. #define ISurrogate_FreeSurrogate(This) (This)->lpVtbl->FreeSurrogate(This)
  3531. #else
  3532. /*** IUnknown methods ***/
  3533. static FORCEINLINE HRESULT ISurrogate_QueryInterface(ISurrogate* This,REFIID riid,void **ppvObject) {
  3534. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3535. }
  3536. static FORCEINLINE ULONG ISurrogate_AddRef(ISurrogate* This) {
  3537. return This->lpVtbl->AddRef(This);
  3538. }
  3539. static FORCEINLINE ULONG ISurrogate_Release(ISurrogate* This) {
  3540. return This->lpVtbl->Release(This);
  3541. }
  3542. /*** ISurrogate methods ***/
  3543. static FORCEINLINE HRESULT ISurrogate_LoadDllServer(ISurrogate* This,REFCLSID Clsid) {
  3544. return This->lpVtbl->LoadDllServer(This,Clsid);
  3545. }
  3546. static FORCEINLINE HRESULT ISurrogate_FreeSurrogate(ISurrogate* This) {
  3547. return This->lpVtbl->FreeSurrogate(This);
  3548. }
  3549. #endif
  3550. #endif
  3551. #endif
  3552. #endif /* __ISurrogate_INTERFACE_DEFINED__ */
  3553. /*****************************************************************************
  3554. * IGlobalInterfaceTable interface
  3555. */
  3556. #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__
  3557. #define __IGlobalInterfaceTable_INTERFACE_DEFINED__
  3558. typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
  3559. DEFINE_GUID(IID_IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3560. #if defined(__cplusplus) && !defined(CINTERFACE)
  3561. MIDL_INTERFACE("00000146-0000-0000-c000-000000000046")
  3562. IGlobalInterfaceTable : public IUnknown
  3563. {
  3564. virtual HRESULT STDMETHODCALLTYPE RegisterInterfaceInGlobal(
  3565. IUnknown *pUnk,
  3566. REFIID riid,
  3567. DWORD *pdwCookie) = 0;
  3568. virtual HRESULT STDMETHODCALLTYPE RevokeInterfaceFromGlobal(
  3569. DWORD dwCookie) = 0;
  3570. virtual HRESULT STDMETHODCALLTYPE GetInterfaceFromGlobal(
  3571. DWORD dwCookie,
  3572. REFIID riid,
  3573. void **ppv) = 0;
  3574. };
  3575. #ifdef __CRT_UUID_DECL
  3576. __CRT_UUID_DECL(IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3577. #endif
  3578. #else
  3579. typedef struct IGlobalInterfaceTableVtbl {
  3580. BEGIN_INTERFACE
  3581. /*** IUnknown methods ***/
  3582. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3583. IGlobalInterfaceTable *This,
  3584. REFIID riid,
  3585. void **ppvObject);
  3586. ULONG (STDMETHODCALLTYPE *AddRef)(
  3587. IGlobalInterfaceTable *This);
  3588. ULONG (STDMETHODCALLTYPE *Release)(
  3589. IGlobalInterfaceTable *This);
  3590. /*** IGlobalInterfaceTable methods ***/
  3591. HRESULT (STDMETHODCALLTYPE *RegisterInterfaceInGlobal)(
  3592. IGlobalInterfaceTable *This,
  3593. IUnknown *pUnk,
  3594. REFIID riid,
  3595. DWORD *pdwCookie);
  3596. HRESULT (STDMETHODCALLTYPE *RevokeInterfaceFromGlobal)(
  3597. IGlobalInterfaceTable *This,
  3598. DWORD dwCookie);
  3599. HRESULT (STDMETHODCALLTYPE *GetInterfaceFromGlobal)(
  3600. IGlobalInterfaceTable *This,
  3601. DWORD dwCookie,
  3602. REFIID riid,
  3603. void **ppv);
  3604. END_INTERFACE
  3605. } IGlobalInterfaceTableVtbl;
  3606. interface IGlobalInterfaceTable {
  3607. CONST_VTBL IGlobalInterfaceTableVtbl* lpVtbl;
  3608. };
  3609. #ifdef COBJMACROS
  3610. #ifndef WIDL_C_INLINE_WRAPPERS
  3611. /*** IUnknown methods ***/
  3612. #define IGlobalInterfaceTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3613. #define IGlobalInterfaceTable_AddRef(This) (This)->lpVtbl->AddRef(This)
  3614. #define IGlobalInterfaceTable_Release(This) (This)->lpVtbl->Release(This)
  3615. /*** IGlobalInterfaceTable methods ***/
  3616. #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie) (This)->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie)
  3617. #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(This,dwCookie) (This)->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie)
  3618. #define IGlobalInterfaceTable_GetInterfaceFromGlobal(This,dwCookie,riid,ppv) (This)->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv)
  3619. #else
  3620. /*** IUnknown methods ***/
  3621. static FORCEINLINE HRESULT IGlobalInterfaceTable_QueryInterface(IGlobalInterfaceTable* This,REFIID riid,void **ppvObject) {
  3622. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3623. }
  3624. static FORCEINLINE ULONG IGlobalInterfaceTable_AddRef(IGlobalInterfaceTable* This) {
  3625. return This->lpVtbl->AddRef(This);
  3626. }
  3627. static FORCEINLINE ULONG IGlobalInterfaceTable_Release(IGlobalInterfaceTable* This) {
  3628. return This->lpVtbl->Release(This);
  3629. }
  3630. /*** IGlobalInterfaceTable methods ***/
  3631. static FORCEINLINE HRESULT IGlobalInterfaceTable_RegisterInterfaceInGlobal(IGlobalInterfaceTable* This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie) {
  3632. return This->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie);
  3633. }
  3634. static FORCEINLINE HRESULT IGlobalInterfaceTable_RevokeInterfaceFromGlobal(IGlobalInterfaceTable* This,DWORD dwCookie) {
  3635. return This->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie);
  3636. }
  3637. static FORCEINLINE HRESULT IGlobalInterfaceTable_GetInterfaceFromGlobal(IGlobalInterfaceTable* This,DWORD dwCookie,REFIID riid,void **ppv) {
  3638. return This->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv);
  3639. }
  3640. #endif
  3641. #endif
  3642. #endif
  3643. #endif /* __IGlobalInterfaceTable_INTERFACE_DEFINED__ */
  3644. #endif
  3645. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  3646. /*****************************************************************************
  3647. * ISynchronize interface
  3648. */
  3649. #ifndef __ISynchronize_INTERFACE_DEFINED__
  3650. #define __ISynchronize_INTERFACE_DEFINED__
  3651. DEFINE_GUID(IID_ISynchronize, 0x00000030, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3652. #if defined(__cplusplus) && !defined(CINTERFACE)
  3653. MIDL_INTERFACE("00000030-0000-0000-c000-000000000046")
  3654. ISynchronize : public IUnknown
  3655. {
  3656. virtual HRESULT STDMETHODCALLTYPE Wait(
  3657. DWORD dwFlags,
  3658. DWORD dwMilliseconds) = 0;
  3659. virtual HRESULT STDMETHODCALLTYPE Signal(
  3660. ) = 0;
  3661. virtual HRESULT STDMETHODCALLTYPE Reset(
  3662. ) = 0;
  3663. };
  3664. #ifdef __CRT_UUID_DECL
  3665. __CRT_UUID_DECL(ISynchronize, 0x00000030, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3666. #endif
  3667. #else
  3668. typedef struct ISynchronizeVtbl {
  3669. BEGIN_INTERFACE
  3670. /*** IUnknown methods ***/
  3671. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3672. ISynchronize *This,
  3673. REFIID riid,
  3674. void **ppvObject);
  3675. ULONG (STDMETHODCALLTYPE *AddRef)(
  3676. ISynchronize *This);
  3677. ULONG (STDMETHODCALLTYPE *Release)(
  3678. ISynchronize *This);
  3679. /*** ISynchronize methods ***/
  3680. HRESULT (STDMETHODCALLTYPE *Wait)(
  3681. ISynchronize *This,
  3682. DWORD dwFlags,
  3683. DWORD dwMilliseconds);
  3684. HRESULT (STDMETHODCALLTYPE *Signal)(
  3685. ISynchronize *This);
  3686. HRESULT (STDMETHODCALLTYPE *Reset)(
  3687. ISynchronize *This);
  3688. END_INTERFACE
  3689. } ISynchronizeVtbl;
  3690. interface ISynchronize {
  3691. CONST_VTBL ISynchronizeVtbl* lpVtbl;
  3692. };
  3693. #ifdef COBJMACROS
  3694. #ifndef WIDL_C_INLINE_WRAPPERS
  3695. /*** IUnknown methods ***/
  3696. #define ISynchronize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3697. #define ISynchronize_AddRef(This) (This)->lpVtbl->AddRef(This)
  3698. #define ISynchronize_Release(This) (This)->lpVtbl->Release(This)
  3699. /*** ISynchronize methods ***/
  3700. #define ISynchronize_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)
  3701. #define ISynchronize_Signal(This) (This)->lpVtbl->Signal(This)
  3702. #define ISynchronize_Reset(This) (This)->lpVtbl->Reset(This)
  3703. #else
  3704. /*** IUnknown methods ***/
  3705. static FORCEINLINE HRESULT ISynchronize_QueryInterface(ISynchronize* This,REFIID riid,void **ppvObject) {
  3706. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3707. }
  3708. static FORCEINLINE ULONG ISynchronize_AddRef(ISynchronize* This) {
  3709. return This->lpVtbl->AddRef(This);
  3710. }
  3711. static FORCEINLINE ULONG ISynchronize_Release(ISynchronize* This) {
  3712. return This->lpVtbl->Release(This);
  3713. }
  3714. /*** ISynchronize methods ***/
  3715. static FORCEINLINE HRESULT ISynchronize_Wait(ISynchronize* This,DWORD dwFlags,DWORD dwMilliseconds) {
  3716. return This->lpVtbl->Wait(This,dwFlags,dwMilliseconds);
  3717. }
  3718. static FORCEINLINE HRESULT ISynchronize_Signal(ISynchronize* This) {
  3719. return This->lpVtbl->Signal(This);
  3720. }
  3721. static FORCEINLINE HRESULT ISynchronize_Reset(ISynchronize* This) {
  3722. return This->lpVtbl->Reset(This);
  3723. }
  3724. #endif
  3725. #endif
  3726. #endif
  3727. #endif /* __ISynchronize_INTERFACE_DEFINED__ */
  3728. /*****************************************************************************
  3729. * ISynchronizeHandle interface
  3730. */
  3731. #ifndef __ISynchronizeHandle_INTERFACE_DEFINED__
  3732. #define __ISynchronizeHandle_INTERFACE_DEFINED__
  3733. DEFINE_GUID(IID_ISynchronizeHandle, 0x00000031, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3734. #if defined(__cplusplus) && !defined(CINTERFACE)
  3735. MIDL_INTERFACE("00000031-0000-0000-c000-000000000046")
  3736. ISynchronizeHandle : public IUnknown
  3737. {
  3738. virtual HRESULT STDMETHODCALLTYPE GetHandle(
  3739. HANDLE *ph) = 0;
  3740. };
  3741. #ifdef __CRT_UUID_DECL
  3742. __CRT_UUID_DECL(ISynchronizeHandle, 0x00000031, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3743. #endif
  3744. #else
  3745. typedef struct ISynchronizeHandleVtbl {
  3746. BEGIN_INTERFACE
  3747. /*** IUnknown methods ***/
  3748. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3749. ISynchronizeHandle *This,
  3750. REFIID riid,
  3751. void **ppvObject);
  3752. ULONG (STDMETHODCALLTYPE *AddRef)(
  3753. ISynchronizeHandle *This);
  3754. ULONG (STDMETHODCALLTYPE *Release)(
  3755. ISynchronizeHandle *This);
  3756. /*** ISynchronizeHandle methods ***/
  3757. HRESULT (STDMETHODCALLTYPE *GetHandle)(
  3758. ISynchronizeHandle *This,
  3759. HANDLE *ph);
  3760. END_INTERFACE
  3761. } ISynchronizeHandleVtbl;
  3762. interface ISynchronizeHandle {
  3763. CONST_VTBL ISynchronizeHandleVtbl* lpVtbl;
  3764. };
  3765. #ifdef COBJMACROS
  3766. #ifndef WIDL_C_INLINE_WRAPPERS
  3767. /*** IUnknown methods ***/
  3768. #define ISynchronizeHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3769. #define ISynchronizeHandle_AddRef(This) (This)->lpVtbl->AddRef(This)
  3770. #define ISynchronizeHandle_Release(This) (This)->lpVtbl->Release(This)
  3771. /*** ISynchronizeHandle methods ***/
  3772. #define ISynchronizeHandle_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)
  3773. #else
  3774. /*** IUnknown methods ***/
  3775. static FORCEINLINE HRESULT ISynchronizeHandle_QueryInterface(ISynchronizeHandle* This,REFIID riid,void **ppvObject) {
  3776. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3777. }
  3778. static FORCEINLINE ULONG ISynchronizeHandle_AddRef(ISynchronizeHandle* This) {
  3779. return This->lpVtbl->AddRef(This);
  3780. }
  3781. static FORCEINLINE ULONG ISynchronizeHandle_Release(ISynchronizeHandle* This) {
  3782. return This->lpVtbl->Release(This);
  3783. }
  3784. /*** ISynchronizeHandle methods ***/
  3785. static FORCEINLINE HRESULT ISynchronizeHandle_GetHandle(ISynchronizeHandle* This,HANDLE *ph) {
  3786. return This->lpVtbl->GetHandle(This,ph);
  3787. }
  3788. #endif
  3789. #endif
  3790. #endif
  3791. #endif /* __ISynchronizeHandle_INTERFACE_DEFINED__ */
  3792. /*****************************************************************************
  3793. * ISynchronizeEvent interface
  3794. */
  3795. #ifndef __ISynchronizeEvent_INTERFACE_DEFINED__
  3796. #define __ISynchronizeEvent_INTERFACE_DEFINED__
  3797. DEFINE_GUID(IID_ISynchronizeEvent, 0x00000032, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3798. #if defined(__cplusplus) && !defined(CINTERFACE)
  3799. MIDL_INTERFACE("00000032-0000-0000-c000-000000000046")
  3800. ISynchronizeEvent : public ISynchronizeHandle
  3801. {
  3802. virtual HRESULT STDMETHODCALLTYPE SetEventHandle(
  3803. HANDLE *ph) = 0;
  3804. };
  3805. #ifdef __CRT_UUID_DECL
  3806. __CRT_UUID_DECL(ISynchronizeEvent, 0x00000032, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3807. #endif
  3808. #else
  3809. typedef struct ISynchronizeEventVtbl {
  3810. BEGIN_INTERFACE
  3811. /*** IUnknown methods ***/
  3812. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3813. ISynchronizeEvent *This,
  3814. REFIID riid,
  3815. void **ppvObject);
  3816. ULONG (STDMETHODCALLTYPE *AddRef)(
  3817. ISynchronizeEvent *This);
  3818. ULONG (STDMETHODCALLTYPE *Release)(
  3819. ISynchronizeEvent *This);
  3820. /*** ISynchronizeHandle methods ***/
  3821. HRESULT (STDMETHODCALLTYPE *GetHandle)(
  3822. ISynchronizeEvent *This,
  3823. HANDLE *ph);
  3824. /*** ISynchronizeEvent methods ***/
  3825. HRESULT (STDMETHODCALLTYPE *SetEventHandle)(
  3826. ISynchronizeEvent *This,
  3827. HANDLE *ph);
  3828. END_INTERFACE
  3829. } ISynchronizeEventVtbl;
  3830. interface ISynchronizeEvent {
  3831. CONST_VTBL ISynchronizeEventVtbl* lpVtbl;
  3832. };
  3833. #ifdef COBJMACROS
  3834. #ifndef WIDL_C_INLINE_WRAPPERS
  3835. /*** IUnknown methods ***/
  3836. #define ISynchronizeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3837. #define ISynchronizeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
  3838. #define ISynchronizeEvent_Release(This) (This)->lpVtbl->Release(This)
  3839. /*** ISynchronizeHandle methods ***/
  3840. #define ISynchronizeEvent_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)
  3841. /*** ISynchronizeEvent methods ***/
  3842. #define ISynchronizeEvent_SetEventHandle(This,ph) (This)->lpVtbl->SetEventHandle(This,ph)
  3843. #else
  3844. /*** IUnknown methods ***/
  3845. static FORCEINLINE HRESULT ISynchronizeEvent_QueryInterface(ISynchronizeEvent* This,REFIID riid,void **ppvObject) {
  3846. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3847. }
  3848. static FORCEINLINE ULONG ISynchronizeEvent_AddRef(ISynchronizeEvent* This) {
  3849. return This->lpVtbl->AddRef(This);
  3850. }
  3851. static FORCEINLINE ULONG ISynchronizeEvent_Release(ISynchronizeEvent* This) {
  3852. return This->lpVtbl->Release(This);
  3853. }
  3854. /*** ISynchronizeHandle methods ***/
  3855. static FORCEINLINE HRESULT ISynchronizeEvent_GetHandle(ISynchronizeEvent* This,HANDLE *ph) {
  3856. return This->lpVtbl->GetHandle(This,ph);
  3857. }
  3858. /*** ISynchronizeEvent methods ***/
  3859. static FORCEINLINE HRESULT ISynchronizeEvent_SetEventHandle(ISynchronizeEvent* This,HANDLE *ph) {
  3860. return This->lpVtbl->SetEventHandle(This,ph);
  3861. }
  3862. #endif
  3863. #endif
  3864. #endif
  3865. #endif /* __ISynchronizeEvent_INTERFACE_DEFINED__ */
  3866. /*****************************************************************************
  3867. * ISynchronizeContainer interface
  3868. */
  3869. #ifndef __ISynchronizeContainer_INTERFACE_DEFINED__
  3870. #define __ISynchronizeContainer_INTERFACE_DEFINED__
  3871. DEFINE_GUID(IID_ISynchronizeContainer, 0x00000033, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3872. #if defined(__cplusplus) && !defined(CINTERFACE)
  3873. MIDL_INTERFACE("00000033-0000-0000-c000-000000000046")
  3874. ISynchronizeContainer : public IUnknown
  3875. {
  3876. virtual HRESULT STDMETHODCALLTYPE AddSynchronize(
  3877. ISynchronize *pSync) = 0;
  3878. virtual HRESULT STDMETHODCALLTYPE WaitMultiple(
  3879. DWORD dwFlags,
  3880. DWORD dwTimeOut,
  3881. ISynchronize **ppSync) = 0;
  3882. };
  3883. #ifdef __CRT_UUID_DECL
  3884. __CRT_UUID_DECL(ISynchronizeContainer, 0x00000033, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3885. #endif
  3886. #else
  3887. typedef struct ISynchronizeContainerVtbl {
  3888. BEGIN_INTERFACE
  3889. /*** IUnknown methods ***/
  3890. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3891. ISynchronizeContainer *This,
  3892. REFIID riid,
  3893. void **ppvObject);
  3894. ULONG (STDMETHODCALLTYPE *AddRef)(
  3895. ISynchronizeContainer *This);
  3896. ULONG (STDMETHODCALLTYPE *Release)(
  3897. ISynchronizeContainer *This);
  3898. /*** ISynchronizeContainer methods ***/
  3899. HRESULT (STDMETHODCALLTYPE *AddSynchronize)(
  3900. ISynchronizeContainer *This,
  3901. ISynchronize *pSync);
  3902. HRESULT (STDMETHODCALLTYPE *WaitMultiple)(
  3903. ISynchronizeContainer *This,
  3904. DWORD dwFlags,
  3905. DWORD dwTimeOut,
  3906. ISynchronize **ppSync);
  3907. END_INTERFACE
  3908. } ISynchronizeContainerVtbl;
  3909. interface ISynchronizeContainer {
  3910. CONST_VTBL ISynchronizeContainerVtbl* lpVtbl;
  3911. };
  3912. #ifdef COBJMACROS
  3913. #ifndef WIDL_C_INLINE_WRAPPERS
  3914. /*** IUnknown methods ***/
  3915. #define ISynchronizeContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3916. #define ISynchronizeContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
  3917. #define ISynchronizeContainer_Release(This) (This)->lpVtbl->Release(This)
  3918. /*** ISynchronizeContainer methods ***/
  3919. #define ISynchronizeContainer_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)
  3920. #define ISynchronizeContainer_WaitMultiple(This,dwFlags,dwTimeOut,ppSync) (This)->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync)
  3921. #else
  3922. /*** IUnknown methods ***/
  3923. static FORCEINLINE HRESULT ISynchronizeContainer_QueryInterface(ISynchronizeContainer* This,REFIID riid,void **ppvObject) {
  3924. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3925. }
  3926. static FORCEINLINE ULONG ISynchronizeContainer_AddRef(ISynchronizeContainer* This) {
  3927. return This->lpVtbl->AddRef(This);
  3928. }
  3929. static FORCEINLINE ULONG ISynchronizeContainer_Release(ISynchronizeContainer* This) {
  3930. return This->lpVtbl->Release(This);
  3931. }
  3932. /*** ISynchronizeContainer methods ***/
  3933. static FORCEINLINE HRESULT ISynchronizeContainer_AddSynchronize(ISynchronizeContainer* This,ISynchronize *pSync) {
  3934. return This->lpVtbl->AddSynchronize(This,pSync);
  3935. }
  3936. static FORCEINLINE HRESULT ISynchronizeContainer_WaitMultiple(ISynchronizeContainer* This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync) {
  3937. return This->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync);
  3938. }
  3939. #endif
  3940. #endif
  3941. #endif
  3942. #endif /* __ISynchronizeContainer_INTERFACE_DEFINED__ */
  3943. /*****************************************************************************
  3944. * ISynchronizeMutex interface
  3945. */
  3946. #ifndef __ISynchronizeMutex_INTERFACE_DEFINED__
  3947. #define __ISynchronizeMutex_INTERFACE_DEFINED__
  3948. DEFINE_GUID(IID_ISynchronizeMutex, 0x00000025, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3949. #if defined(__cplusplus) && !defined(CINTERFACE)
  3950. MIDL_INTERFACE("00000025-0000-0000-c000-000000000046")
  3951. ISynchronizeMutex : public ISynchronize
  3952. {
  3953. virtual HRESULT STDMETHODCALLTYPE ReleaseMutex(
  3954. ) = 0;
  3955. };
  3956. #ifdef __CRT_UUID_DECL
  3957. __CRT_UUID_DECL(ISynchronizeMutex, 0x00000025, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3958. #endif
  3959. #else
  3960. typedef struct ISynchronizeMutexVtbl {
  3961. BEGIN_INTERFACE
  3962. /*** IUnknown methods ***/
  3963. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3964. ISynchronizeMutex *This,
  3965. REFIID riid,
  3966. void **ppvObject);
  3967. ULONG (STDMETHODCALLTYPE *AddRef)(
  3968. ISynchronizeMutex *This);
  3969. ULONG (STDMETHODCALLTYPE *Release)(
  3970. ISynchronizeMutex *This);
  3971. /*** ISynchronize methods ***/
  3972. HRESULT (STDMETHODCALLTYPE *Wait)(
  3973. ISynchronizeMutex *This,
  3974. DWORD dwFlags,
  3975. DWORD dwMilliseconds);
  3976. HRESULT (STDMETHODCALLTYPE *Signal)(
  3977. ISynchronizeMutex *This);
  3978. HRESULT (STDMETHODCALLTYPE *Reset)(
  3979. ISynchronizeMutex *This);
  3980. /*** ISynchronizeMutex methods ***/
  3981. HRESULT (STDMETHODCALLTYPE *ReleaseMutex)(
  3982. ISynchronizeMutex *This);
  3983. END_INTERFACE
  3984. } ISynchronizeMutexVtbl;
  3985. interface ISynchronizeMutex {
  3986. CONST_VTBL ISynchronizeMutexVtbl* lpVtbl;
  3987. };
  3988. #ifdef COBJMACROS
  3989. #ifndef WIDL_C_INLINE_WRAPPERS
  3990. /*** IUnknown methods ***/
  3991. #define ISynchronizeMutex_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3992. #define ISynchronizeMutex_AddRef(This) (This)->lpVtbl->AddRef(This)
  3993. #define ISynchronizeMutex_Release(This) (This)->lpVtbl->Release(This)
  3994. /*** ISynchronize methods ***/
  3995. #define ISynchronizeMutex_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)
  3996. #define ISynchronizeMutex_Signal(This) (This)->lpVtbl->Signal(This)
  3997. #define ISynchronizeMutex_Reset(This) (This)->lpVtbl->Reset(This)
  3998. /*** ISynchronizeMutex methods ***/
  3999. #define ISynchronizeMutex_ReleaseMutex(This) (This)->lpVtbl->ReleaseMutex(This)
  4000. #else
  4001. /*** IUnknown methods ***/
  4002. static FORCEINLINE HRESULT ISynchronizeMutex_QueryInterface(ISynchronizeMutex* This,REFIID riid,void **ppvObject) {
  4003. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4004. }
  4005. static FORCEINLINE ULONG ISynchronizeMutex_AddRef(ISynchronizeMutex* This) {
  4006. return This->lpVtbl->AddRef(This);
  4007. }
  4008. static FORCEINLINE ULONG ISynchronizeMutex_Release(ISynchronizeMutex* This) {
  4009. return This->lpVtbl->Release(This);
  4010. }
  4011. /*** ISynchronize methods ***/
  4012. static FORCEINLINE HRESULT ISynchronizeMutex_Wait(ISynchronizeMutex* This,DWORD dwFlags,DWORD dwMilliseconds) {
  4013. return This->lpVtbl->Wait(This,dwFlags,dwMilliseconds);
  4014. }
  4015. static FORCEINLINE HRESULT ISynchronizeMutex_Signal(ISynchronizeMutex* This) {
  4016. return This->lpVtbl->Signal(This);
  4017. }
  4018. static FORCEINLINE HRESULT ISynchronizeMutex_Reset(ISynchronizeMutex* This) {
  4019. return This->lpVtbl->Reset(This);
  4020. }
  4021. /*** ISynchronizeMutex methods ***/
  4022. static FORCEINLINE HRESULT ISynchronizeMutex_ReleaseMutex(ISynchronizeMutex* This) {
  4023. return This->lpVtbl->ReleaseMutex(This);
  4024. }
  4025. #endif
  4026. #endif
  4027. #endif
  4028. #endif /* __ISynchronizeMutex_INTERFACE_DEFINED__ */
  4029. /*****************************************************************************
  4030. * ICancelMethodCalls interface
  4031. */
  4032. #ifndef __ICancelMethodCalls_INTERFACE_DEFINED__
  4033. #define __ICancelMethodCalls_INTERFACE_DEFINED__
  4034. typedef ICancelMethodCalls *LPCANCELMETHODCALLS;
  4035. DEFINE_GUID(IID_ICancelMethodCalls, 0x00000029, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4036. #if defined(__cplusplus) && !defined(CINTERFACE)
  4037. MIDL_INTERFACE("00000029-0000-0000-c000-000000000046")
  4038. ICancelMethodCalls : public IUnknown
  4039. {
  4040. virtual HRESULT STDMETHODCALLTYPE Cancel(
  4041. ULONG ulSeconds) = 0;
  4042. virtual HRESULT STDMETHODCALLTYPE TestCancel(
  4043. ) = 0;
  4044. };
  4045. #ifdef __CRT_UUID_DECL
  4046. __CRT_UUID_DECL(ICancelMethodCalls, 0x00000029, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4047. #endif
  4048. #else
  4049. typedef struct ICancelMethodCallsVtbl {
  4050. BEGIN_INTERFACE
  4051. /*** IUnknown methods ***/
  4052. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4053. ICancelMethodCalls *This,
  4054. REFIID riid,
  4055. void **ppvObject);
  4056. ULONG (STDMETHODCALLTYPE *AddRef)(
  4057. ICancelMethodCalls *This);
  4058. ULONG (STDMETHODCALLTYPE *Release)(
  4059. ICancelMethodCalls *This);
  4060. /*** ICancelMethodCalls methods ***/
  4061. HRESULT (STDMETHODCALLTYPE *Cancel)(
  4062. ICancelMethodCalls *This,
  4063. ULONG ulSeconds);
  4064. HRESULT (STDMETHODCALLTYPE *TestCancel)(
  4065. ICancelMethodCalls *This);
  4066. END_INTERFACE
  4067. } ICancelMethodCallsVtbl;
  4068. interface ICancelMethodCalls {
  4069. CONST_VTBL ICancelMethodCallsVtbl* lpVtbl;
  4070. };
  4071. #ifdef COBJMACROS
  4072. #ifndef WIDL_C_INLINE_WRAPPERS
  4073. /*** IUnknown methods ***/
  4074. #define ICancelMethodCalls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4075. #define ICancelMethodCalls_AddRef(This) (This)->lpVtbl->AddRef(This)
  4076. #define ICancelMethodCalls_Release(This) (This)->lpVtbl->Release(This)
  4077. /*** ICancelMethodCalls methods ***/
  4078. #define ICancelMethodCalls_Cancel(This,ulSeconds) (This)->lpVtbl->Cancel(This,ulSeconds)
  4079. #define ICancelMethodCalls_TestCancel(This) (This)->lpVtbl->TestCancel(This)
  4080. #else
  4081. /*** IUnknown methods ***/
  4082. static FORCEINLINE HRESULT ICancelMethodCalls_QueryInterface(ICancelMethodCalls* This,REFIID riid,void **ppvObject) {
  4083. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4084. }
  4085. static FORCEINLINE ULONG ICancelMethodCalls_AddRef(ICancelMethodCalls* This) {
  4086. return This->lpVtbl->AddRef(This);
  4087. }
  4088. static FORCEINLINE ULONG ICancelMethodCalls_Release(ICancelMethodCalls* This) {
  4089. return This->lpVtbl->Release(This);
  4090. }
  4091. /*** ICancelMethodCalls methods ***/
  4092. static FORCEINLINE HRESULT ICancelMethodCalls_Cancel(ICancelMethodCalls* This,ULONG ulSeconds) {
  4093. return This->lpVtbl->Cancel(This,ulSeconds);
  4094. }
  4095. static FORCEINLINE HRESULT ICancelMethodCalls_TestCancel(ICancelMethodCalls* This) {
  4096. return This->lpVtbl->TestCancel(This);
  4097. }
  4098. #endif
  4099. #endif
  4100. #endif
  4101. #endif /* __ICancelMethodCalls_INTERFACE_DEFINED__ */
  4102. /*****************************************************************************
  4103. * IAsyncManager interface
  4104. */
  4105. #ifndef __IAsyncManager_INTERFACE_DEFINED__
  4106. #define __IAsyncManager_INTERFACE_DEFINED__
  4107. typedef enum tagDCOM_CALL_STATE {
  4108. DCOM_NONE = 0x0,
  4109. DCOM_CALL_COMPLETE = 0x1,
  4110. DCOM_CALL_CANCELED = 0x2
  4111. } DCOM_CALL_STATE;
  4112. DEFINE_GUID(IID_IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4113. #if defined(__cplusplus) && !defined(CINTERFACE)
  4114. MIDL_INTERFACE("0000002a-0000-0000-c000-000000000046")
  4115. IAsyncManager : public IUnknown
  4116. {
  4117. virtual HRESULT STDMETHODCALLTYPE CompleteCall(
  4118. HRESULT Result) = 0;
  4119. virtual HRESULT STDMETHODCALLTYPE GetCallContext(
  4120. REFIID riid,
  4121. void **pInterface) = 0;
  4122. virtual HRESULT STDMETHODCALLTYPE GetState(
  4123. ULONG *pulStateFlags) = 0;
  4124. };
  4125. #ifdef __CRT_UUID_DECL
  4126. __CRT_UUID_DECL(IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4127. #endif
  4128. #else
  4129. typedef struct IAsyncManagerVtbl {
  4130. BEGIN_INTERFACE
  4131. /*** IUnknown methods ***/
  4132. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4133. IAsyncManager *This,
  4134. REFIID riid,
  4135. void **ppvObject);
  4136. ULONG (STDMETHODCALLTYPE *AddRef)(
  4137. IAsyncManager *This);
  4138. ULONG (STDMETHODCALLTYPE *Release)(
  4139. IAsyncManager *This);
  4140. /*** IAsyncManager methods ***/
  4141. HRESULT (STDMETHODCALLTYPE *CompleteCall)(
  4142. IAsyncManager *This,
  4143. HRESULT Result);
  4144. HRESULT (STDMETHODCALLTYPE *GetCallContext)(
  4145. IAsyncManager *This,
  4146. REFIID riid,
  4147. void **pInterface);
  4148. HRESULT (STDMETHODCALLTYPE *GetState)(
  4149. IAsyncManager *This,
  4150. ULONG *pulStateFlags);
  4151. END_INTERFACE
  4152. } IAsyncManagerVtbl;
  4153. interface IAsyncManager {
  4154. CONST_VTBL IAsyncManagerVtbl* lpVtbl;
  4155. };
  4156. #ifdef COBJMACROS
  4157. #ifndef WIDL_C_INLINE_WRAPPERS
  4158. /*** IUnknown methods ***/
  4159. #define IAsyncManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4160. #define IAsyncManager_AddRef(This) (This)->lpVtbl->AddRef(This)
  4161. #define IAsyncManager_Release(This) (This)->lpVtbl->Release(This)
  4162. /*** IAsyncManager methods ***/
  4163. #define IAsyncManager_CompleteCall(This,Result) (This)->lpVtbl->CompleteCall(This,Result)
  4164. #define IAsyncManager_GetCallContext(This,riid,pInterface) (This)->lpVtbl->GetCallContext(This,riid,pInterface)
  4165. #define IAsyncManager_GetState(This,pulStateFlags) (This)->lpVtbl->GetState(This,pulStateFlags)
  4166. #else
  4167. /*** IUnknown methods ***/
  4168. static FORCEINLINE HRESULT IAsyncManager_QueryInterface(IAsyncManager* This,REFIID riid,void **ppvObject) {
  4169. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4170. }
  4171. static FORCEINLINE ULONG IAsyncManager_AddRef(IAsyncManager* This) {
  4172. return This->lpVtbl->AddRef(This);
  4173. }
  4174. static FORCEINLINE ULONG IAsyncManager_Release(IAsyncManager* This) {
  4175. return This->lpVtbl->Release(This);
  4176. }
  4177. /*** IAsyncManager methods ***/
  4178. static FORCEINLINE HRESULT IAsyncManager_CompleteCall(IAsyncManager* This,HRESULT Result) {
  4179. return This->lpVtbl->CompleteCall(This,Result);
  4180. }
  4181. static FORCEINLINE HRESULT IAsyncManager_GetCallContext(IAsyncManager* This,REFIID riid,void **pInterface) {
  4182. return This->lpVtbl->GetCallContext(This,riid,pInterface);
  4183. }
  4184. static FORCEINLINE HRESULT IAsyncManager_GetState(IAsyncManager* This,ULONG *pulStateFlags) {
  4185. return This->lpVtbl->GetState(This,pulStateFlags);
  4186. }
  4187. #endif
  4188. #endif
  4189. #endif
  4190. #endif /* __IAsyncManager_INTERFACE_DEFINED__ */
  4191. /*****************************************************************************
  4192. * ICallFactory interface
  4193. */
  4194. #ifndef __ICallFactory_INTERFACE_DEFINED__
  4195. #define __ICallFactory_INTERFACE_DEFINED__
  4196. DEFINE_GUID(IID_ICallFactory, 0x1c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
  4197. #if defined(__cplusplus) && !defined(CINTERFACE)
  4198. MIDL_INTERFACE("1c733a30-2a1c-11ce-ade5-00aa0044773d")
  4199. ICallFactory : public IUnknown
  4200. {
  4201. virtual HRESULT STDMETHODCALLTYPE CreateCall(
  4202. REFIID riid,
  4203. IUnknown *pCtrlUnk,
  4204. REFIID riid2,
  4205. IUnknown **ppv) = 0;
  4206. };
  4207. #ifdef __CRT_UUID_DECL
  4208. __CRT_UUID_DECL(ICallFactory, 0x1c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d)
  4209. #endif
  4210. #else
  4211. typedef struct ICallFactoryVtbl {
  4212. BEGIN_INTERFACE
  4213. /*** IUnknown methods ***/
  4214. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4215. ICallFactory *This,
  4216. REFIID riid,
  4217. void **ppvObject);
  4218. ULONG (STDMETHODCALLTYPE *AddRef)(
  4219. ICallFactory *This);
  4220. ULONG (STDMETHODCALLTYPE *Release)(
  4221. ICallFactory *This);
  4222. /*** ICallFactory methods ***/
  4223. HRESULT (STDMETHODCALLTYPE *CreateCall)(
  4224. ICallFactory *This,
  4225. REFIID riid,
  4226. IUnknown *pCtrlUnk,
  4227. REFIID riid2,
  4228. IUnknown **ppv);
  4229. END_INTERFACE
  4230. } ICallFactoryVtbl;
  4231. interface ICallFactory {
  4232. CONST_VTBL ICallFactoryVtbl* lpVtbl;
  4233. };
  4234. #ifdef COBJMACROS
  4235. #ifndef WIDL_C_INLINE_WRAPPERS
  4236. /*** IUnknown methods ***/
  4237. #define ICallFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4238. #define ICallFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
  4239. #define ICallFactory_Release(This) (This)->lpVtbl->Release(This)
  4240. /*** ICallFactory methods ***/
  4241. #define ICallFactory_CreateCall(This,riid,pCtrlUnk,riid2,ppv) (This)->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv)
  4242. #else
  4243. /*** IUnknown methods ***/
  4244. static FORCEINLINE HRESULT ICallFactory_QueryInterface(ICallFactory* This,REFIID riid,void **ppvObject) {
  4245. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4246. }
  4247. static FORCEINLINE ULONG ICallFactory_AddRef(ICallFactory* This) {
  4248. return This->lpVtbl->AddRef(This);
  4249. }
  4250. static FORCEINLINE ULONG ICallFactory_Release(ICallFactory* This) {
  4251. return This->lpVtbl->Release(This);
  4252. }
  4253. /*** ICallFactory methods ***/
  4254. static FORCEINLINE HRESULT ICallFactory_CreateCall(ICallFactory* This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv) {
  4255. return This->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv);
  4256. }
  4257. #endif
  4258. #endif
  4259. #endif
  4260. #endif /* __ICallFactory_INTERFACE_DEFINED__ */
  4261. /*****************************************************************************
  4262. * IRpcHelper interface
  4263. */
  4264. #ifndef __IRpcHelper_INTERFACE_DEFINED__
  4265. #define __IRpcHelper_INTERFACE_DEFINED__
  4266. DEFINE_GUID(IID_IRpcHelper, 0x00000149, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4267. #if defined(__cplusplus) && !defined(CINTERFACE)
  4268. MIDL_INTERFACE("00000149-0000-0000-c000-000000000046")
  4269. IRpcHelper : public IUnknown
  4270. {
  4271. virtual HRESULT STDMETHODCALLTYPE GetDCOMProtocolVersion(
  4272. DWORD *pComVersion) = 0;
  4273. virtual HRESULT STDMETHODCALLTYPE GetIIDFromOBJREF(
  4274. void *pObjRef,
  4275. IID **piid) = 0;
  4276. };
  4277. #ifdef __CRT_UUID_DECL
  4278. __CRT_UUID_DECL(IRpcHelper, 0x00000149, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4279. #endif
  4280. #else
  4281. typedef struct IRpcHelperVtbl {
  4282. BEGIN_INTERFACE
  4283. /*** IUnknown methods ***/
  4284. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4285. IRpcHelper *This,
  4286. REFIID riid,
  4287. void **ppvObject);
  4288. ULONG (STDMETHODCALLTYPE *AddRef)(
  4289. IRpcHelper *This);
  4290. ULONG (STDMETHODCALLTYPE *Release)(
  4291. IRpcHelper *This);
  4292. /*** IRpcHelper methods ***/
  4293. HRESULT (STDMETHODCALLTYPE *GetDCOMProtocolVersion)(
  4294. IRpcHelper *This,
  4295. DWORD *pComVersion);
  4296. HRESULT (STDMETHODCALLTYPE *GetIIDFromOBJREF)(
  4297. IRpcHelper *This,
  4298. void *pObjRef,
  4299. IID **piid);
  4300. END_INTERFACE
  4301. } IRpcHelperVtbl;
  4302. interface IRpcHelper {
  4303. CONST_VTBL IRpcHelperVtbl* lpVtbl;
  4304. };
  4305. #ifdef COBJMACROS
  4306. #ifndef WIDL_C_INLINE_WRAPPERS
  4307. /*** IUnknown methods ***/
  4308. #define IRpcHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4309. #define IRpcHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
  4310. #define IRpcHelper_Release(This) (This)->lpVtbl->Release(This)
  4311. /*** IRpcHelper methods ***/
  4312. #define IRpcHelper_GetDCOMProtocolVersion(This,pComVersion) (This)->lpVtbl->GetDCOMProtocolVersion(This,pComVersion)
  4313. #define IRpcHelper_GetIIDFromOBJREF(This,pObjRef,piid) (This)->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid)
  4314. #else
  4315. /*** IUnknown methods ***/
  4316. static FORCEINLINE HRESULT IRpcHelper_QueryInterface(IRpcHelper* This,REFIID riid,void **ppvObject) {
  4317. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4318. }
  4319. static FORCEINLINE ULONG IRpcHelper_AddRef(IRpcHelper* This) {
  4320. return This->lpVtbl->AddRef(This);
  4321. }
  4322. static FORCEINLINE ULONG IRpcHelper_Release(IRpcHelper* This) {
  4323. return This->lpVtbl->Release(This);
  4324. }
  4325. /*** IRpcHelper methods ***/
  4326. static FORCEINLINE HRESULT IRpcHelper_GetDCOMProtocolVersion(IRpcHelper* This,DWORD *pComVersion) {
  4327. return This->lpVtbl->GetDCOMProtocolVersion(This,pComVersion);
  4328. }
  4329. static FORCEINLINE HRESULT IRpcHelper_GetIIDFromOBJREF(IRpcHelper* This,void *pObjRef,IID **piid) {
  4330. return This->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid);
  4331. }
  4332. #endif
  4333. #endif
  4334. #endif
  4335. #endif /* __IRpcHelper_INTERFACE_DEFINED__ */
  4336. /*****************************************************************************
  4337. * IReleaseMarshalBuffers interface
  4338. */
  4339. #ifndef __IReleaseMarshalBuffers_INTERFACE_DEFINED__
  4340. #define __IReleaseMarshalBuffers_INTERFACE_DEFINED__
  4341. DEFINE_GUID(IID_IReleaseMarshalBuffers, 0xeb0cb9e8, 0x7996, 0x11d2, 0x87,0x2e, 0x00,0x00,0xf8,0x08,0x08,0x59);
  4342. #if defined(__cplusplus) && !defined(CINTERFACE)
  4343. MIDL_INTERFACE("eb0cb9e8-7996-11d2-872e-0000f8080859")
  4344. IReleaseMarshalBuffers : public IUnknown
  4345. {
  4346. virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalBuffer(
  4347. RPCOLEMESSAGE *pMsg,
  4348. DWORD dwFlags,
  4349. IUnknown *pChnl) = 0;
  4350. };
  4351. #ifdef __CRT_UUID_DECL
  4352. __CRT_UUID_DECL(IReleaseMarshalBuffers, 0xeb0cb9e8, 0x7996, 0x11d2, 0x87,0x2e, 0x00,0x00,0xf8,0x08,0x08,0x59)
  4353. #endif
  4354. #else
  4355. typedef struct IReleaseMarshalBuffersVtbl {
  4356. BEGIN_INTERFACE
  4357. /*** IUnknown methods ***/
  4358. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4359. IReleaseMarshalBuffers *This,
  4360. REFIID riid,
  4361. void **ppvObject);
  4362. ULONG (STDMETHODCALLTYPE *AddRef)(
  4363. IReleaseMarshalBuffers *This);
  4364. ULONG (STDMETHODCALLTYPE *Release)(
  4365. IReleaseMarshalBuffers *This);
  4366. /*** IReleaseMarshalBuffers methods ***/
  4367. HRESULT (STDMETHODCALLTYPE *ReleaseMarshalBuffer)(
  4368. IReleaseMarshalBuffers *This,
  4369. RPCOLEMESSAGE *pMsg,
  4370. DWORD dwFlags,
  4371. IUnknown *pChnl);
  4372. END_INTERFACE
  4373. } IReleaseMarshalBuffersVtbl;
  4374. interface IReleaseMarshalBuffers {
  4375. CONST_VTBL IReleaseMarshalBuffersVtbl* lpVtbl;
  4376. };
  4377. #ifdef COBJMACROS
  4378. #ifndef WIDL_C_INLINE_WRAPPERS
  4379. /*** IUnknown methods ***/
  4380. #define IReleaseMarshalBuffers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4381. #define IReleaseMarshalBuffers_AddRef(This) (This)->lpVtbl->AddRef(This)
  4382. #define IReleaseMarshalBuffers_Release(This) (This)->lpVtbl->Release(This)
  4383. /*** IReleaseMarshalBuffers methods ***/
  4384. #define IReleaseMarshalBuffers_ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl) (This)->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl)
  4385. #else
  4386. /*** IUnknown methods ***/
  4387. static FORCEINLINE HRESULT IReleaseMarshalBuffers_QueryInterface(IReleaseMarshalBuffers* This,REFIID riid,void **ppvObject) {
  4388. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4389. }
  4390. static FORCEINLINE ULONG IReleaseMarshalBuffers_AddRef(IReleaseMarshalBuffers* This) {
  4391. return This->lpVtbl->AddRef(This);
  4392. }
  4393. static FORCEINLINE ULONG IReleaseMarshalBuffers_Release(IReleaseMarshalBuffers* This) {
  4394. return This->lpVtbl->Release(This);
  4395. }
  4396. /*** IReleaseMarshalBuffers methods ***/
  4397. static FORCEINLINE HRESULT IReleaseMarshalBuffers_ReleaseMarshalBuffer(IReleaseMarshalBuffers* This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl) {
  4398. return This->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl);
  4399. }
  4400. #endif
  4401. #endif
  4402. #endif
  4403. #endif /* __IReleaseMarshalBuffers_INTERFACE_DEFINED__ */
  4404. /*****************************************************************************
  4405. * IWaitMultiple interface
  4406. */
  4407. #ifndef __IWaitMultiple_INTERFACE_DEFINED__
  4408. #define __IWaitMultiple_INTERFACE_DEFINED__
  4409. DEFINE_GUID(IID_IWaitMultiple, 0x0000002b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4410. #if defined(__cplusplus) && !defined(CINTERFACE)
  4411. MIDL_INTERFACE("0000002b-0000-0000-c000-000000000046")
  4412. IWaitMultiple : public IUnknown
  4413. {
  4414. virtual HRESULT STDMETHODCALLTYPE WaitMultiple(
  4415. DWORD timeout,
  4416. ISynchronize **pSync) = 0;
  4417. virtual HRESULT STDMETHODCALLTYPE AddSynchronize(
  4418. ISynchronize *pSync) = 0;
  4419. };
  4420. #ifdef __CRT_UUID_DECL
  4421. __CRT_UUID_DECL(IWaitMultiple, 0x0000002b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4422. #endif
  4423. #else
  4424. typedef struct IWaitMultipleVtbl {
  4425. BEGIN_INTERFACE
  4426. /*** IUnknown methods ***/
  4427. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4428. IWaitMultiple *This,
  4429. REFIID riid,
  4430. void **ppvObject);
  4431. ULONG (STDMETHODCALLTYPE *AddRef)(
  4432. IWaitMultiple *This);
  4433. ULONG (STDMETHODCALLTYPE *Release)(
  4434. IWaitMultiple *This);
  4435. /*** IWaitMultiple methods ***/
  4436. HRESULT (STDMETHODCALLTYPE *WaitMultiple)(
  4437. IWaitMultiple *This,
  4438. DWORD timeout,
  4439. ISynchronize **pSync);
  4440. HRESULT (STDMETHODCALLTYPE *AddSynchronize)(
  4441. IWaitMultiple *This,
  4442. ISynchronize *pSync);
  4443. END_INTERFACE
  4444. } IWaitMultipleVtbl;
  4445. interface IWaitMultiple {
  4446. CONST_VTBL IWaitMultipleVtbl* lpVtbl;
  4447. };
  4448. #ifdef COBJMACROS
  4449. #ifndef WIDL_C_INLINE_WRAPPERS
  4450. /*** IUnknown methods ***/
  4451. #define IWaitMultiple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4452. #define IWaitMultiple_AddRef(This) (This)->lpVtbl->AddRef(This)
  4453. #define IWaitMultiple_Release(This) (This)->lpVtbl->Release(This)
  4454. /*** IWaitMultiple methods ***/
  4455. #define IWaitMultiple_WaitMultiple(This,timeout,pSync) (This)->lpVtbl->WaitMultiple(This,timeout,pSync)
  4456. #define IWaitMultiple_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)
  4457. #else
  4458. /*** IUnknown methods ***/
  4459. static FORCEINLINE HRESULT IWaitMultiple_QueryInterface(IWaitMultiple* This,REFIID riid,void **ppvObject) {
  4460. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4461. }
  4462. static FORCEINLINE ULONG IWaitMultiple_AddRef(IWaitMultiple* This) {
  4463. return This->lpVtbl->AddRef(This);
  4464. }
  4465. static FORCEINLINE ULONG IWaitMultiple_Release(IWaitMultiple* This) {
  4466. return This->lpVtbl->Release(This);
  4467. }
  4468. /*** IWaitMultiple methods ***/
  4469. static FORCEINLINE HRESULT IWaitMultiple_WaitMultiple(IWaitMultiple* This,DWORD timeout,ISynchronize **pSync) {
  4470. return This->lpVtbl->WaitMultiple(This,timeout,pSync);
  4471. }
  4472. static FORCEINLINE HRESULT IWaitMultiple_AddSynchronize(IWaitMultiple* This,ISynchronize *pSync) {
  4473. return This->lpVtbl->AddSynchronize(This,pSync);
  4474. }
  4475. #endif
  4476. #endif
  4477. #endif
  4478. #endif /* __IWaitMultiple_INTERFACE_DEFINED__ */
  4479. /*****************************************************************************
  4480. * IAddrTrackingControl interface
  4481. */
  4482. #ifndef __IAddrTrackingControl_INTERFACE_DEFINED__
  4483. #define __IAddrTrackingControl_INTERFACE_DEFINED__
  4484. typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL;
  4485. DEFINE_GUID(IID_IAddrTrackingControl, 0x00000147, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4486. #if defined(__cplusplus) && !defined(CINTERFACE)
  4487. MIDL_INTERFACE("00000147-0000-0000-c000-000000000046")
  4488. IAddrTrackingControl : public IUnknown
  4489. {
  4490. virtual HRESULT STDMETHODCALLTYPE EnableCOMDynamicAddrTracking(
  4491. ) = 0;
  4492. virtual HRESULT STDMETHODCALLTYPE DisableCOMDynamicAddrTracking(
  4493. ) = 0;
  4494. };
  4495. #ifdef __CRT_UUID_DECL
  4496. __CRT_UUID_DECL(IAddrTrackingControl, 0x00000147, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4497. #endif
  4498. #else
  4499. typedef struct IAddrTrackingControlVtbl {
  4500. BEGIN_INTERFACE
  4501. /*** IUnknown methods ***/
  4502. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4503. IAddrTrackingControl *This,
  4504. REFIID riid,
  4505. void **ppvObject);
  4506. ULONG (STDMETHODCALLTYPE *AddRef)(
  4507. IAddrTrackingControl *This);
  4508. ULONG (STDMETHODCALLTYPE *Release)(
  4509. IAddrTrackingControl *This);
  4510. /*** IAddrTrackingControl methods ***/
  4511. HRESULT (STDMETHODCALLTYPE *EnableCOMDynamicAddrTracking)(
  4512. IAddrTrackingControl *This);
  4513. HRESULT (STDMETHODCALLTYPE *DisableCOMDynamicAddrTracking)(
  4514. IAddrTrackingControl *This);
  4515. END_INTERFACE
  4516. } IAddrTrackingControlVtbl;
  4517. interface IAddrTrackingControl {
  4518. CONST_VTBL IAddrTrackingControlVtbl* lpVtbl;
  4519. };
  4520. #ifdef COBJMACROS
  4521. #ifndef WIDL_C_INLINE_WRAPPERS
  4522. /*** IUnknown methods ***/
  4523. #define IAddrTrackingControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4524. #define IAddrTrackingControl_AddRef(This) (This)->lpVtbl->AddRef(This)
  4525. #define IAddrTrackingControl_Release(This) (This)->lpVtbl->Release(This)
  4526. /*** IAddrTrackingControl methods ***/
  4527. #define IAddrTrackingControl_EnableCOMDynamicAddrTracking(This) (This)->lpVtbl->EnableCOMDynamicAddrTracking(This)
  4528. #define IAddrTrackingControl_DisableCOMDynamicAddrTracking(This) (This)->lpVtbl->DisableCOMDynamicAddrTracking(This)
  4529. #else
  4530. /*** IUnknown methods ***/
  4531. static FORCEINLINE HRESULT IAddrTrackingControl_QueryInterface(IAddrTrackingControl* This,REFIID riid,void **ppvObject) {
  4532. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4533. }
  4534. static FORCEINLINE ULONG IAddrTrackingControl_AddRef(IAddrTrackingControl* This) {
  4535. return This->lpVtbl->AddRef(This);
  4536. }
  4537. static FORCEINLINE ULONG IAddrTrackingControl_Release(IAddrTrackingControl* This) {
  4538. return This->lpVtbl->Release(This);
  4539. }
  4540. /*** IAddrTrackingControl methods ***/
  4541. static FORCEINLINE HRESULT IAddrTrackingControl_EnableCOMDynamicAddrTracking(IAddrTrackingControl* This) {
  4542. return This->lpVtbl->EnableCOMDynamicAddrTracking(This);
  4543. }
  4544. static FORCEINLINE HRESULT IAddrTrackingControl_DisableCOMDynamicAddrTracking(IAddrTrackingControl* This) {
  4545. return This->lpVtbl->DisableCOMDynamicAddrTracking(This);
  4546. }
  4547. #endif
  4548. #endif
  4549. #endif
  4550. #endif /* __IAddrTrackingControl_INTERFACE_DEFINED__ */
  4551. /*****************************************************************************
  4552. * IAddrExclusionControl interface
  4553. */
  4554. #ifndef __IAddrExclusionControl_INTERFACE_DEFINED__
  4555. #define __IAddrExclusionControl_INTERFACE_DEFINED__
  4556. typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL;
  4557. DEFINE_GUID(IID_IAddrExclusionControl, 0x00000148, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4558. #if defined(__cplusplus) && !defined(CINTERFACE)
  4559. MIDL_INTERFACE("00000148-0000-0000-c000-000000000046")
  4560. IAddrExclusionControl : public IUnknown
  4561. {
  4562. virtual HRESULT STDMETHODCALLTYPE GetCurrentAddrExclusionList(
  4563. REFIID riid,
  4564. void **ppEnumerator) = 0;
  4565. virtual HRESULT STDMETHODCALLTYPE UpdateAddrExclusionList(
  4566. IUnknown *pEnumerator) = 0;
  4567. };
  4568. #ifdef __CRT_UUID_DECL
  4569. __CRT_UUID_DECL(IAddrExclusionControl, 0x00000148, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4570. #endif
  4571. #else
  4572. typedef struct IAddrExclusionControlVtbl {
  4573. BEGIN_INTERFACE
  4574. /*** IUnknown methods ***/
  4575. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4576. IAddrExclusionControl *This,
  4577. REFIID riid,
  4578. void **ppvObject);
  4579. ULONG (STDMETHODCALLTYPE *AddRef)(
  4580. IAddrExclusionControl *This);
  4581. ULONG (STDMETHODCALLTYPE *Release)(
  4582. IAddrExclusionControl *This);
  4583. /*** IAddrExclusionControl methods ***/
  4584. HRESULT (STDMETHODCALLTYPE *GetCurrentAddrExclusionList)(
  4585. IAddrExclusionControl *This,
  4586. REFIID riid,
  4587. void **ppEnumerator);
  4588. HRESULT (STDMETHODCALLTYPE *UpdateAddrExclusionList)(
  4589. IAddrExclusionControl *This,
  4590. IUnknown *pEnumerator);
  4591. END_INTERFACE
  4592. } IAddrExclusionControlVtbl;
  4593. interface IAddrExclusionControl {
  4594. CONST_VTBL IAddrExclusionControlVtbl* lpVtbl;
  4595. };
  4596. #ifdef COBJMACROS
  4597. #ifndef WIDL_C_INLINE_WRAPPERS
  4598. /*** IUnknown methods ***/
  4599. #define IAddrExclusionControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4600. #define IAddrExclusionControl_AddRef(This) (This)->lpVtbl->AddRef(This)
  4601. #define IAddrExclusionControl_Release(This) (This)->lpVtbl->Release(This)
  4602. /*** IAddrExclusionControl methods ***/
  4603. #define IAddrExclusionControl_GetCurrentAddrExclusionList(This,riid,ppEnumerator) (This)->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator)
  4604. #define IAddrExclusionControl_UpdateAddrExclusionList(This,pEnumerator) (This)->lpVtbl->UpdateAddrExclusionList(This,pEnumerator)
  4605. #else
  4606. /*** IUnknown methods ***/
  4607. static FORCEINLINE HRESULT IAddrExclusionControl_QueryInterface(IAddrExclusionControl* This,REFIID riid,void **ppvObject) {
  4608. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4609. }
  4610. static FORCEINLINE ULONG IAddrExclusionControl_AddRef(IAddrExclusionControl* This) {
  4611. return This->lpVtbl->AddRef(This);
  4612. }
  4613. static FORCEINLINE ULONG IAddrExclusionControl_Release(IAddrExclusionControl* This) {
  4614. return This->lpVtbl->Release(This);
  4615. }
  4616. /*** IAddrExclusionControl methods ***/
  4617. static FORCEINLINE HRESULT IAddrExclusionControl_GetCurrentAddrExclusionList(IAddrExclusionControl* This,REFIID riid,void **ppEnumerator) {
  4618. return This->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator);
  4619. }
  4620. static FORCEINLINE HRESULT IAddrExclusionControl_UpdateAddrExclusionList(IAddrExclusionControl* This,IUnknown *pEnumerator) {
  4621. return This->lpVtbl->UpdateAddrExclusionList(This,pEnumerator);
  4622. }
  4623. #endif
  4624. #endif
  4625. #endif
  4626. #endif /* __IAddrExclusionControl_INTERFACE_DEFINED__ */
  4627. /*****************************************************************************
  4628. * IPipeByte interface
  4629. */
  4630. #ifndef __IPipeByte_INTERFACE_DEFINED__
  4631. #define __IPipeByte_INTERFACE_DEFINED__
  4632. DEFINE_GUID(IID_IPipeByte, 0xdb2f3aca, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a);
  4633. #if defined(__cplusplus) && !defined(CINTERFACE)
  4634. MIDL_INTERFACE("db2f3aca-2f86-11d1-8e04-00c04fb9989a")
  4635. IPipeByte : public IUnknown
  4636. {
  4637. virtual HRESULT STDMETHODCALLTYPE Pull(
  4638. BYTE *buf,
  4639. ULONG cRequest,
  4640. ULONG *pcReturned) = 0;
  4641. virtual HRESULT STDMETHODCALLTYPE Push(
  4642. BYTE *buf,
  4643. ULONG cSent) = 0;
  4644. };
  4645. #ifdef __CRT_UUID_DECL
  4646. __CRT_UUID_DECL(IPipeByte, 0xdb2f3aca, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a)
  4647. #endif
  4648. #else
  4649. typedef struct IPipeByteVtbl {
  4650. BEGIN_INTERFACE
  4651. /*** IUnknown methods ***/
  4652. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4653. IPipeByte *This,
  4654. REFIID riid,
  4655. void **ppvObject);
  4656. ULONG (STDMETHODCALLTYPE *AddRef)(
  4657. IPipeByte *This);
  4658. ULONG (STDMETHODCALLTYPE *Release)(
  4659. IPipeByte *This);
  4660. /*** IPipeByte methods ***/
  4661. HRESULT (STDMETHODCALLTYPE *Pull)(
  4662. IPipeByte *This,
  4663. BYTE *buf,
  4664. ULONG cRequest,
  4665. ULONG *pcReturned);
  4666. HRESULT (STDMETHODCALLTYPE *Push)(
  4667. IPipeByte *This,
  4668. BYTE *buf,
  4669. ULONG cSent);
  4670. END_INTERFACE
  4671. } IPipeByteVtbl;
  4672. interface IPipeByte {
  4673. CONST_VTBL IPipeByteVtbl* lpVtbl;
  4674. };
  4675. #ifdef COBJMACROS
  4676. #ifndef WIDL_C_INLINE_WRAPPERS
  4677. /*** IUnknown methods ***/
  4678. #define IPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4679. #define IPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This)
  4680. #define IPipeByte_Release(This) (This)->lpVtbl->Release(This)
  4681. /*** IPipeByte methods ***/
  4682. #define IPipeByte_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
  4683. #define IPipeByte_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
  4684. #else
  4685. /*** IUnknown methods ***/
  4686. static FORCEINLINE HRESULT IPipeByte_QueryInterface(IPipeByte* This,REFIID riid,void **ppvObject) {
  4687. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4688. }
  4689. static FORCEINLINE ULONG IPipeByte_AddRef(IPipeByte* This) {
  4690. return This->lpVtbl->AddRef(This);
  4691. }
  4692. static FORCEINLINE ULONG IPipeByte_Release(IPipeByte* This) {
  4693. return This->lpVtbl->Release(This);
  4694. }
  4695. /*** IPipeByte methods ***/
  4696. static FORCEINLINE HRESULT IPipeByte_Pull(IPipeByte* This,BYTE *buf,ULONG cRequest,ULONG *pcReturned) {
  4697. return This->lpVtbl->Pull(This,buf,cRequest,pcReturned);
  4698. }
  4699. static FORCEINLINE HRESULT IPipeByte_Push(IPipeByte* This,BYTE *buf,ULONG cSent) {
  4700. return This->lpVtbl->Push(This,buf,cSent);
  4701. }
  4702. #endif
  4703. #endif
  4704. #endif
  4705. #endif /* __IPipeByte_INTERFACE_DEFINED__ */
  4706. /*****************************************************************************
  4707. * IPipeLong interface
  4708. */
  4709. #ifndef __IPipeLong_INTERFACE_DEFINED__
  4710. #define __IPipeLong_INTERFACE_DEFINED__
  4711. DEFINE_GUID(IID_IPipeLong, 0xdb2f3acc, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a);
  4712. #if defined(__cplusplus) && !defined(CINTERFACE)
  4713. MIDL_INTERFACE("db2f3acc-2f86-11d1-8e04-00c04fb9989a")
  4714. IPipeLong : public IUnknown
  4715. {
  4716. virtual HRESULT STDMETHODCALLTYPE Pull(
  4717. LONG *buf,
  4718. ULONG cRequest,
  4719. ULONG *pcReturned) = 0;
  4720. virtual HRESULT STDMETHODCALLTYPE Push(
  4721. LONG *buf,
  4722. ULONG cSent) = 0;
  4723. };
  4724. #ifdef __CRT_UUID_DECL
  4725. __CRT_UUID_DECL(IPipeLong, 0xdb2f3acc, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a)
  4726. #endif
  4727. #else
  4728. typedef struct IPipeLongVtbl {
  4729. BEGIN_INTERFACE
  4730. /*** IUnknown methods ***/
  4731. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4732. IPipeLong *This,
  4733. REFIID riid,
  4734. void **ppvObject);
  4735. ULONG (STDMETHODCALLTYPE *AddRef)(
  4736. IPipeLong *This);
  4737. ULONG (STDMETHODCALLTYPE *Release)(
  4738. IPipeLong *This);
  4739. /*** IPipeLong methods ***/
  4740. HRESULT (STDMETHODCALLTYPE *Pull)(
  4741. IPipeLong *This,
  4742. LONG *buf,
  4743. ULONG cRequest,
  4744. ULONG *pcReturned);
  4745. HRESULT (STDMETHODCALLTYPE *Push)(
  4746. IPipeLong *This,
  4747. LONG *buf,
  4748. ULONG cSent);
  4749. END_INTERFACE
  4750. } IPipeLongVtbl;
  4751. interface IPipeLong {
  4752. CONST_VTBL IPipeLongVtbl* lpVtbl;
  4753. };
  4754. #ifdef COBJMACROS
  4755. #ifndef WIDL_C_INLINE_WRAPPERS
  4756. /*** IUnknown methods ***/
  4757. #define IPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4758. #define IPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This)
  4759. #define IPipeLong_Release(This) (This)->lpVtbl->Release(This)
  4760. /*** IPipeLong methods ***/
  4761. #define IPipeLong_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
  4762. #define IPipeLong_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
  4763. #else
  4764. /*** IUnknown methods ***/
  4765. static FORCEINLINE HRESULT IPipeLong_QueryInterface(IPipeLong* This,REFIID riid,void **ppvObject) {
  4766. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4767. }
  4768. static FORCEINLINE ULONG IPipeLong_AddRef(IPipeLong* This) {
  4769. return This->lpVtbl->AddRef(This);
  4770. }
  4771. static FORCEINLINE ULONG IPipeLong_Release(IPipeLong* This) {
  4772. return This->lpVtbl->Release(This);
  4773. }
  4774. /*** IPipeLong methods ***/
  4775. static FORCEINLINE HRESULT IPipeLong_Pull(IPipeLong* This,LONG *buf,ULONG cRequest,ULONG *pcReturned) {
  4776. return This->lpVtbl->Pull(This,buf,cRequest,pcReturned);
  4777. }
  4778. static FORCEINLINE HRESULT IPipeLong_Push(IPipeLong* This,LONG *buf,ULONG cSent) {
  4779. return This->lpVtbl->Push(This,buf,cSent);
  4780. }
  4781. #endif
  4782. #endif
  4783. #endif
  4784. #endif /* __IPipeLong_INTERFACE_DEFINED__ */
  4785. /*****************************************************************************
  4786. * IPipeDouble interface
  4787. */
  4788. #ifndef __IPipeDouble_INTERFACE_DEFINED__
  4789. #define __IPipeDouble_INTERFACE_DEFINED__
  4790. DEFINE_GUID(IID_IPipeDouble, 0xdb2f3ace, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a);
  4791. #if defined(__cplusplus) && !defined(CINTERFACE)
  4792. MIDL_INTERFACE("db2f3ace-2f86-11d1-8e04-00c04fb9989a")
  4793. IPipeDouble : public IUnknown
  4794. {
  4795. virtual HRESULT STDMETHODCALLTYPE Pull(
  4796. DOUBLE *buf,
  4797. ULONG cRequest,
  4798. ULONG *pcReturned) = 0;
  4799. virtual HRESULT STDMETHODCALLTYPE Push(
  4800. DOUBLE *buf,
  4801. ULONG cSent) = 0;
  4802. };
  4803. #ifdef __CRT_UUID_DECL
  4804. __CRT_UUID_DECL(IPipeDouble, 0xdb2f3ace, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a)
  4805. #endif
  4806. #else
  4807. typedef struct IPipeDoubleVtbl {
  4808. BEGIN_INTERFACE
  4809. /*** IUnknown methods ***/
  4810. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4811. IPipeDouble *This,
  4812. REFIID riid,
  4813. void **ppvObject);
  4814. ULONG (STDMETHODCALLTYPE *AddRef)(
  4815. IPipeDouble *This);
  4816. ULONG (STDMETHODCALLTYPE *Release)(
  4817. IPipeDouble *This);
  4818. /*** IPipeDouble methods ***/
  4819. HRESULT (STDMETHODCALLTYPE *Pull)(
  4820. IPipeDouble *This,
  4821. DOUBLE *buf,
  4822. ULONG cRequest,
  4823. ULONG *pcReturned);
  4824. HRESULT (STDMETHODCALLTYPE *Push)(
  4825. IPipeDouble *This,
  4826. DOUBLE *buf,
  4827. ULONG cSent);
  4828. END_INTERFACE
  4829. } IPipeDoubleVtbl;
  4830. interface IPipeDouble {
  4831. CONST_VTBL IPipeDoubleVtbl* lpVtbl;
  4832. };
  4833. #ifdef COBJMACROS
  4834. #ifndef WIDL_C_INLINE_WRAPPERS
  4835. /*** IUnknown methods ***/
  4836. #define IPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4837. #define IPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This)
  4838. #define IPipeDouble_Release(This) (This)->lpVtbl->Release(This)
  4839. /*** IPipeDouble methods ***/
  4840. #define IPipeDouble_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
  4841. #define IPipeDouble_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
  4842. #else
  4843. /*** IUnknown methods ***/
  4844. static FORCEINLINE HRESULT IPipeDouble_QueryInterface(IPipeDouble* This,REFIID riid,void **ppvObject) {
  4845. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4846. }
  4847. static FORCEINLINE ULONG IPipeDouble_AddRef(IPipeDouble* This) {
  4848. return This->lpVtbl->AddRef(This);
  4849. }
  4850. static FORCEINLINE ULONG IPipeDouble_Release(IPipeDouble* This) {
  4851. return This->lpVtbl->Release(This);
  4852. }
  4853. /*** IPipeDouble methods ***/
  4854. static FORCEINLINE HRESULT IPipeDouble_Pull(IPipeDouble* This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned) {
  4855. return This->lpVtbl->Pull(This,buf,cRequest,pcReturned);
  4856. }
  4857. static FORCEINLINE HRESULT IPipeDouble_Push(IPipeDouble* This,DOUBLE *buf,ULONG cSent) {
  4858. return This->lpVtbl->Push(This,buf,cSent);
  4859. }
  4860. #endif
  4861. #endif
  4862. #endif
  4863. #endif /* __IPipeDouble_INTERFACE_DEFINED__ */
  4864. #if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS || defined _COMBASEAPI_ || defined _OLE32_
  4865. typedef DWORD CPFLAGS;
  4866. typedef struct tagContextProperty {
  4867. GUID policyId;
  4868. CPFLAGS flags;
  4869. IUnknown *pUnk;
  4870. } ContextProperty;
  4871. /*****************************************************************************
  4872. * IEnumContextProps interface
  4873. */
  4874. #ifndef __IEnumContextProps_INTERFACE_DEFINED__
  4875. #define __IEnumContextProps_INTERFACE_DEFINED__
  4876. typedef IEnumContextProps *LPENUMCONTEXTPROPS;
  4877. DEFINE_GUID(IID_IEnumContextProps, 0x000001c1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4878. #if defined(__cplusplus) && !defined(CINTERFACE)
  4879. MIDL_INTERFACE("000001c1-0000-0000-c000-000000000046")
  4880. IEnumContextProps : public IUnknown
  4881. {
  4882. virtual HRESULT STDMETHODCALLTYPE Next(
  4883. ULONG celt,
  4884. ContextProperty *pContextProperties,
  4885. ULONG *pceltFetched) = 0;
  4886. virtual HRESULT STDMETHODCALLTYPE Skip(
  4887. ULONG celt) = 0;
  4888. virtual HRESULT STDMETHODCALLTYPE Reset(
  4889. ) = 0;
  4890. virtual HRESULT STDMETHODCALLTYPE Clone(
  4891. IEnumContextProps **ppEnumContextProps) = 0;
  4892. virtual HRESULT STDMETHODCALLTYPE Count(
  4893. ULONG *pcelt) = 0;
  4894. };
  4895. #ifdef __CRT_UUID_DECL
  4896. __CRT_UUID_DECL(IEnumContextProps, 0x000001c1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4897. #endif
  4898. #else
  4899. typedef struct IEnumContextPropsVtbl {
  4900. BEGIN_INTERFACE
  4901. /*** IUnknown methods ***/
  4902. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4903. IEnumContextProps *This,
  4904. REFIID riid,
  4905. void **ppvObject);
  4906. ULONG (STDMETHODCALLTYPE *AddRef)(
  4907. IEnumContextProps *This);
  4908. ULONG (STDMETHODCALLTYPE *Release)(
  4909. IEnumContextProps *This);
  4910. /*** IEnumContextProps methods ***/
  4911. HRESULT (STDMETHODCALLTYPE *Next)(
  4912. IEnumContextProps *This,
  4913. ULONG celt,
  4914. ContextProperty *pContextProperties,
  4915. ULONG *pceltFetched);
  4916. HRESULT (STDMETHODCALLTYPE *Skip)(
  4917. IEnumContextProps *This,
  4918. ULONG celt);
  4919. HRESULT (STDMETHODCALLTYPE *Reset)(
  4920. IEnumContextProps *This);
  4921. HRESULT (STDMETHODCALLTYPE *Clone)(
  4922. IEnumContextProps *This,
  4923. IEnumContextProps **ppEnumContextProps);
  4924. HRESULT (STDMETHODCALLTYPE *Count)(
  4925. IEnumContextProps *This,
  4926. ULONG *pcelt);
  4927. END_INTERFACE
  4928. } IEnumContextPropsVtbl;
  4929. interface IEnumContextProps {
  4930. CONST_VTBL IEnumContextPropsVtbl* lpVtbl;
  4931. };
  4932. #ifdef COBJMACROS
  4933. #ifndef WIDL_C_INLINE_WRAPPERS
  4934. /*** IUnknown methods ***/
  4935. #define IEnumContextProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4936. #define IEnumContextProps_AddRef(This) (This)->lpVtbl->AddRef(This)
  4937. #define IEnumContextProps_Release(This) (This)->lpVtbl->Release(This)
  4938. /*** IEnumContextProps methods ***/
  4939. #define IEnumContextProps_Next(This,celt,pContextProperties,pceltFetched) (This)->lpVtbl->Next(This,celt,pContextProperties,pceltFetched)
  4940. #define IEnumContextProps_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  4941. #define IEnumContextProps_Reset(This) (This)->lpVtbl->Reset(This)
  4942. #define IEnumContextProps_Clone(This,ppEnumContextProps) (This)->lpVtbl->Clone(This,ppEnumContextProps)
  4943. #define IEnumContextProps_Count(This,pcelt) (This)->lpVtbl->Count(This,pcelt)
  4944. #else
  4945. /*** IUnknown methods ***/
  4946. static FORCEINLINE HRESULT IEnumContextProps_QueryInterface(IEnumContextProps* This,REFIID riid,void **ppvObject) {
  4947. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4948. }
  4949. static FORCEINLINE ULONG IEnumContextProps_AddRef(IEnumContextProps* This) {
  4950. return This->lpVtbl->AddRef(This);
  4951. }
  4952. static FORCEINLINE ULONG IEnumContextProps_Release(IEnumContextProps* This) {
  4953. return This->lpVtbl->Release(This);
  4954. }
  4955. /*** IEnumContextProps methods ***/
  4956. static FORCEINLINE HRESULT IEnumContextProps_Next(IEnumContextProps* This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched) {
  4957. return This->lpVtbl->Next(This,celt,pContextProperties,pceltFetched);
  4958. }
  4959. static FORCEINLINE HRESULT IEnumContextProps_Skip(IEnumContextProps* This,ULONG celt) {
  4960. return This->lpVtbl->Skip(This,celt);
  4961. }
  4962. static FORCEINLINE HRESULT IEnumContextProps_Reset(IEnumContextProps* This) {
  4963. return This->lpVtbl->Reset(This);
  4964. }
  4965. static FORCEINLINE HRESULT IEnumContextProps_Clone(IEnumContextProps* This,IEnumContextProps **ppEnumContextProps) {
  4966. return This->lpVtbl->Clone(This,ppEnumContextProps);
  4967. }
  4968. static FORCEINLINE HRESULT IEnumContextProps_Count(IEnumContextProps* This,ULONG *pcelt) {
  4969. return This->lpVtbl->Count(This,pcelt);
  4970. }
  4971. #endif
  4972. #endif
  4973. #endif
  4974. #endif /* __IEnumContextProps_INTERFACE_DEFINED__ */
  4975. /*****************************************************************************
  4976. * IContext interface
  4977. */
  4978. #ifndef __IContext_INTERFACE_DEFINED__
  4979. #define __IContext_INTERFACE_DEFINED__
  4980. DEFINE_GUID(IID_IContext, 0x000001c0, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4981. #if defined(__cplusplus) && !defined(CINTERFACE)
  4982. MIDL_INTERFACE("000001c0-0000-0000-c000-000000000046")
  4983. IContext : public IUnknown
  4984. {
  4985. virtual HRESULT STDMETHODCALLTYPE SetProperty(
  4986. REFGUID rpolicyId,
  4987. CPFLAGS flags,
  4988. IUnknown *pUnk) = 0;
  4989. virtual HRESULT STDMETHODCALLTYPE RemoveProperty(
  4990. REFGUID rPolicyId) = 0;
  4991. virtual HRESULT STDMETHODCALLTYPE GetProperty(
  4992. REFGUID rGuid,
  4993. CPFLAGS *pFlags,
  4994. IUnknown **ppUnk) = 0;
  4995. virtual HRESULT STDMETHODCALLTYPE EnumContextProps(
  4996. IEnumContextProps **ppEnumContextProps) = 0;
  4997. };
  4998. #ifdef __CRT_UUID_DECL
  4999. __CRT_UUID_DECL(IContext, 0x000001c0, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  5000. #endif
  5001. #else
  5002. typedef struct IContextVtbl {
  5003. BEGIN_INTERFACE
  5004. /*** IUnknown methods ***/
  5005. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5006. IContext *This,
  5007. REFIID riid,
  5008. void **ppvObject);
  5009. ULONG (STDMETHODCALLTYPE *AddRef)(
  5010. IContext *This);
  5011. ULONG (STDMETHODCALLTYPE *Release)(
  5012. IContext *This);
  5013. /*** IContext methods ***/
  5014. HRESULT (STDMETHODCALLTYPE *SetProperty)(
  5015. IContext *This,
  5016. REFGUID rpolicyId,
  5017. CPFLAGS flags,
  5018. IUnknown *pUnk);
  5019. HRESULT (STDMETHODCALLTYPE *RemoveProperty)(
  5020. IContext *This,
  5021. REFGUID rPolicyId);
  5022. HRESULT (STDMETHODCALLTYPE *GetProperty)(
  5023. IContext *This,
  5024. REFGUID rGuid,
  5025. CPFLAGS *pFlags,
  5026. IUnknown **ppUnk);
  5027. HRESULT (STDMETHODCALLTYPE *EnumContextProps)(
  5028. IContext *This,
  5029. IEnumContextProps **ppEnumContextProps);
  5030. END_INTERFACE
  5031. } IContextVtbl;
  5032. interface IContext {
  5033. CONST_VTBL IContextVtbl* lpVtbl;
  5034. };
  5035. #ifdef COBJMACROS
  5036. #ifndef WIDL_C_INLINE_WRAPPERS
  5037. /*** IUnknown methods ***/
  5038. #define IContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5039. #define IContext_AddRef(This) (This)->lpVtbl->AddRef(This)
  5040. #define IContext_Release(This) (This)->lpVtbl->Release(This)
  5041. /*** IContext methods ***/
  5042. #define IContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk)
  5043. #define IContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId)
  5044. #define IContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk)
  5045. #define IContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps)
  5046. #else
  5047. /*** IUnknown methods ***/
  5048. static FORCEINLINE HRESULT IContext_QueryInterface(IContext* This,REFIID riid,void **ppvObject) {
  5049. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5050. }
  5051. static FORCEINLINE ULONG IContext_AddRef(IContext* This) {
  5052. return This->lpVtbl->AddRef(This);
  5053. }
  5054. static FORCEINLINE ULONG IContext_Release(IContext* This) {
  5055. return This->lpVtbl->Release(This);
  5056. }
  5057. /*** IContext methods ***/
  5058. static FORCEINLINE HRESULT IContext_SetProperty(IContext* This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk) {
  5059. return This->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk);
  5060. }
  5061. static FORCEINLINE HRESULT IContext_RemoveProperty(IContext* This,REFGUID rPolicyId) {
  5062. return This->lpVtbl->RemoveProperty(This,rPolicyId);
  5063. }
  5064. static FORCEINLINE HRESULT IContext_GetProperty(IContext* This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk) {
  5065. return This->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk);
  5066. }
  5067. static FORCEINLINE HRESULT IContext_EnumContextProps(IContext* This,IEnumContextProps **ppEnumContextProps) {
  5068. return This->lpVtbl->EnumContextProps(This,ppEnumContextProps);
  5069. }
  5070. #endif
  5071. #endif
  5072. #endif
  5073. #endif /* __IContext_INTERFACE_DEFINED__ */
  5074. #endif
  5075. #endif
  5076. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  5077. typedef enum _APTTYPEQUALIFIER {
  5078. APTTYPEQUALIFIER_NONE = 0,
  5079. APTTYPEQUALIFIER_IMPLICIT_MTA = 1,
  5080. APTTYPEQUALIFIER_NA_ON_MTA = 2,
  5081. APTTYPEQUALIFIER_NA_ON_STA = 3,
  5082. APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4,
  5083. APTTYPEQUALIFIER_NA_ON_MAINSTA = 5,
  5084. APTTYPEQUALIFIER_APPLICATION_STA = 6
  5085. } APTTYPEQUALIFIER;
  5086. typedef enum _APTTYPE {
  5087. APTTYPE_CURRENT = -1,
  5088. APTTYPE_STA = 0,
  5089. APTTYPE_MTA = 1,
  5090. APTTYPE_NA = 2,
  5091. APTTYPE_MAINSTA = 3
  5092. } APTTYPE;
  5093. #endif
  5094. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  5095. typedef enum _THDTYPE {
  5096. THDTYPE_BLOCKMESSAGES = 0,
  5097. THDTYPE_PROCESSMESSAGES = 1
  5098. } THDTYPE;
  5099. typedef DWORD APARTMENTID;
  5100. /*****************************************************************************
  5101. * IComThreadingInfo interface
  5102. */
  5103. #ifndef __IComThreadingInfo_INTERFACE_DEFINED__
  5104. #define __IComThreadingInfo_INTERFACE_DEFINED__
  5105. DEFINE_GUID(IID_IComThreadingInfo, 0x000001ce, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  5106. #if defined(__cplusplus) && !defined(CINTERFACE)
  5107. MIDL_INTERFACE("000001ce-0000-0000-c000-000000000046")
  5108. IComThreadingInfo : public IUnknown
  5109. {
  5110. virtual HRESULT STDMETHODCALLTYPE GetCurrentApartmentType(
  5111. APTTYPE *pAptType) = 0;
  5112. virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadType(
  5113. THDTYPE *pThreadType) = 0;
  5114. virtual HRESULT STDMETHODCALLTYPE GetCurrentLogicalThreadId(
  5115. GUID *pguidLogicalThreadId) = 0;
  5116. virtual HRESULT STDMETHODCALLTYPE SetCurrentLogicalThreadId(
  5117. REFGUID rguid) = 0;
  5118. };
  5119. #ifdef __CRT_UUID_DECL
  5120. __CRT_UUID_DECL(IComThreadingInfo, 0x000001ce, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  5121. #endif
  5122. #else
  5123. typedef struct IComThreadingInfoVtbl {
  5124. BEGIN_INTERFACE
  5125. /*** IUnknown methods ***/
  5126. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5127. IComThreadingInfo *This,
  5128. REFIID riid,
  5129. void **ppvObject);
  5130. ULONG (STDMETHODCALLTYPE *AddRef)(
  5131. IComThreadingInfo *This);
  5132. ULONG (STDMETHODCALLTYPE *Release)(
  5133. IComThreadingInfo *This);
  5134. /*** IComThreadingInfo methods ***/
  5135. HRESULT (STDMETHODCALLTYPE *GetCurrentApartmentType)(
  5136. IComThreadingInfo *This,
  5137. APTTYPE *pAptType);
  5138. HRESULT (STDMETHODCALLTYPE *GetCurrentThreadType)(
  5139. IComThreadingInfo *This,
  5140. THDTYPE *pThreadType);
  5141. HRESULT (STDMETHODCALLTYPE *GetCurrentLogicalThreadId)(
  5142. IComThreadingInfo *This,
  5143. GUID *pguidLogicalThreadId);
  5144. HRESULT (STDMETHODCALLTYPE *SetCurrentLogicalThreadId)(
  5145. IComThreadingInfo *This,
  5146. REFGUID rguid);
  5147. END_INTERFACE
  5148. } IComThreadingInfoVtbl;
  5149. interface IComThreadingInfo {
  5150. CONST_VTBL IComThreadingInfoVtbl* lpVtbl;
  5151. };
  5152. #ifdef COBJMACROS
  5153. #ifndef WIDL_C_INLINE_WRAPPERS
  5154. /*** IUnknown methods ***/
  5155. #define IComThreadingInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5156. #define IComThreadingInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
  5157. #define IComThreadingInfo_Release(This) (This)->lpVtbl->Release(This)
  5158. /*** IComThreadingInfo methods ***/
  5159. #define IComThreadingInfo_GetCurrentApartmentType(This,pAptType) (This)->lpVtbl->GetCurrentApartmentType(This,pAptType)
  5160. #define IComThreadingInfo_GetCurrentThreadType(This,pThreadType) (This)->lpVtbl->GetCurrentThreadType(This,pThreadType)
  5161. #define IComThreadingInfo_GetCurrentLogicalThreadId(This,pguidLogicalThreadId) (This)->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId)
  5162. #define IComThreadingInfo_SetCurrentLogicalThreadId(This,rguid) (This)->lpVtbl->SetCurrentLogicalThreadId(This,rguid)
  5163. #else
  5164. /*** IUnknown methods ***/
  5165. static FORCEINLINE HRESULT IComThreadingInfo_QueryInterface(IComThreadingInfo* This,REFIID riid,void **ppvObject) {
  5166. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5167. }
  5168. static FORCEINLINE ULONG IComThreadingInfo_AddRef(IComThreadingInfo* This) {
  5169. return This->lpVtbl->AddRef(This);
  5170. }
  5171. static FORCEINLINE ULONG IComThreadingInfo_Release(IComThreadingInfo* This) {
  5172. return This->lpVtbl->Release(This);
  5173. }
  5174. /*** IComThreadingInfo methods ***/
  5175. static FORCEINLINE HRESULT IComThreadingInfo_GetCurrentApartmentType(IComThreadingInfo* This,APTTYPE *pAptType) {
  5176. return This->lpVtbl->GetCurrentApartmentType(This,pAptType);
  5177. }
  5178. static FORCEINLINE HRESULT IComThreadingInfo_GetCurrentThreadType(IComThreadingInfo* This,THDTYPE *pThreadType) {
  5179. return This->lpVtbl->GetCurrentThreadType(This,pThreadType);
  5180. }
  5181. static FORCEINLINE HRESULT IComThreadingInfo_GetCurrentLogicalThreadId(IComThreadingInfo* This,GUID *pguidLogicalThreadId) {
  5182. return This->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId);
  5183. }
  5184. static FORCEINLINE HRESULT IComThreadingInfo_SetCurrentLogicalThreadId(IComThreadingInfo* This,REFGUID rguid) {
  5185. return This->lpVtbl->SetCurrentLogicalThreadId(This,rguid);
  5186. }
  5187. #endif
  5188. #endif
  5189. #endif
  5190. #endif /* __IComThreadingInfo_INTERFACE_DEFINED__ */
  5191. /*****************************************************************************
  5192. * IProcessInitControl interface
  5193. */
  5194. #ifndef __IProcessInitControl_INTERFACE_DEFINED__
  5195. #define __IProcessInitControl_INTERFACE_DEFINED__
  5196. DEFINE_GUID(IID_IProcessInitControl, 0x72380d55, 0x8d2b, 0x43a3, 0x85,0x13, 0x2b,0x6e,0xf3,0x14,0x34,0xe9);
  5197. #if defined(__cplusplus) && !defined(CINTERFACE)
  5198. MIDL_INTERFACE("72380d55-8d2b-43a3-8513-2b6ef31434e9")
  5199. IProcessInitControl : public IUnknown
  5200. {
  5201. virtual HRESULT STDMETHODCALLTYPE ResetInitializerTimeout(
  5202. DWORD dwSecondsRemaining) = 0;
  5203. };
  5204. #ifdef __CRT_UUID_DECL
  5205. __CRT_UUID_DECL(IProcessInitControl, 0x72380d55, 0x8d2b, 0x43a3, 0x85,0x13, 0x2b,0x6e,0xf3,0x14,0x34,0xe9)
  5206. #endif
  5207. #else
  5208. typedef struct IProcessInitControlVtbl {
  5209. BEGIN_INTERFACE
  5210. /*** IUnknown methods ***/
  5211. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5212. IProcessInitControl *This,
  5213. REFIID riid,
  5214. void **ppvObject);
  5215. ULONG (STDMETHODCALLTYPE *AddRef)(
  5216. IProcessInitControl *This);
  5217. ULONG (STDMETHODCALLTYPE *Release)(
  5218. IProcessInitControl *This);
  5219. /*** IProcessInitControl methods ***/
  5220. HRESULT (STDMETHODCALLTYPE *ResetInitializerTimeout)(
  5221. IProcessInitControl *This,
  5222. DWORD dwSecondsRemaining);
  5223. END_INTERFACE
  5224. } IProcessInitControlVtbl;
  5225. interface IProcessInitControl {
  5226. CONST_VTBL IProcessInitControlVtbl* lpVtbl;
  5227. };
  5228. #ifdef COBJMACROS
  5229. #ifndef WIDL_C_INLINE_WRAPPERS
  5230. /*** IUnknown methods ***/
  5231. #define IProcessInitControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5232. #define IProcessInitControl_AddRef(This) (This)->lpVtbl->AddRef(This)
  5233. #define IProcessInitControl_Release(This) (This)->lpVtbl->Release(This)
  5234. /*** IProcessInitControl methods ***/
  5235. #define IProcessInitControl_ResetInitializerTimeout(This,dwSecondsRemaining) (This)->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining)
  5236. #else
  5237. /*** IUnknown methods ***/
  5238. static FORCEINLINE HRESULT IProcessInitControl_QueryInterface(IProcessInitControl* This,REFIID riid,void **ppvObject) {
  5239. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5240. }
  5241. static FORCEINLINE ULONG IProcessInitControl_AddRef(IProcessInitControl* This) {
  5242. return This->lpVtbl->AddRef(This);
  5243. }
  5244. static FORCEINLINE ULONG IProcessInitControl_Release(IProcessInitControl* This) {
  5245. return This->lpVtbl->Release(This);
  5246. }
  5247. /*** IProcessInitControl methods ***/
  5248. static FORCEINLINE HRESULT IProcessInitControl_ResetInitializerTimeout(IProcessInitControl* This,DWORD dwSecondsRemaining) {
  5249. return This->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining);
  5250. }
  5251. #endif
  5252. #endif
  5253. #endif
  5254. #endif /* __IProcessInitControl_INTERFACE_DEFINED__ */
  5255. /*****************************************************************************
  5256. * IFastRundown interface
  5257. */
  5258. #ifndef __IFastRundown_INTERFACE_DEFINED__
  5259. #define __IFastRundown_INTERFACE_DEFINED__
  5260. DEFINE_GUID(IID_IFastRundown, 0x00000040, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  5261. #if defined(__cplusplus) && !defined(CINTERFACE)
  5262. MIDL_INTERFACE("00000040-0000-0000-c000-000000000046")
  5263. IFastRundown : public IUnknown
  5264. {
  5265. };
  5266. #ifdef __CRT_UUID_DECL
  5267. __CRT_UUID_DECL(IFastRundown, 0x00000040, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  5268. #endif
  5269. #else
  5270. typedef struct IFastRundownVtbl {
  5271. BEGIN_INTERFACE
  5272. /*** IUnknown methods ***/
  5273. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5274. IFastRundown *This,
  5275. REFIID riid,
  5276. void **ppvObject);
  5277. ULONG (STDMETHODCALLTYPE *AddRef)(
  5278. IFastRundown *This);
  5279. ULONG (STDMETHODCALLTYPE *Release)(
  5280. IFastRundown *This);
  5281. END_INTERFACE
  5282. } IFastRundownVtbl;
  5283. interface IFastRundown {
  5284. CONST_VTBL IFastRundownVtbl* lpVtbl;
  5285. };
  5286. #ifdef COBJMACROS
  5287. #ifndef WIDL_C_INLINE_WRAPPERS
  5288. /*** IUnknown methods ***/
  5289. #define IFastRundown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5290. #define IFastRundown_AddRef(This) (This)->lpVtbl->AddRef(This)
  5291. #define IFastRundown_Release(This) (This)->lpVtbl->Release(This)
  5292. #else
  5293. /*** IUnknown methods ***/
  5294. static FORCEINLINE HRESULT IFastRundown_QueryInterface(IFastRundown* This,REFIID riid,void **ppvObject) {
  5295. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5296. }
  5297. static FORCEINLINE ULONG IFastRundown_AddRef(IFastRundown* This) {
  5298. return This->lpVtbl->AddRef(This);
  5299. }
  5300. static FORCEINLINE ULONG IFastRundown_Release(IFastRundown* This) {
  5301. return This->lpVtbl->Release(This);
  5302. }
  5303. #endif
  5304. #endif
  5305. #endif
  5306. #endif /* __IFastRundown_INTERFACE_DEFINED__ */
  5307. typedef enum CO_MARSHALING_CONTEXT_ATTRIBUTES {
  5308. CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0
  5309. } CO_MARSHALING_CONTEXT_ATTRIBUTES;
  5310. /*****************************************************************************
  5311. * IMarshalingStream interface
  5312. */
  5313. #ifndef __IMarshalingStream_INTERFACE_DEFINED__
  5314. #define __IMarshalingStream_INTERFACE_DEFINED__
  5315. DEFINE_GUID(IID_IMarshalingStream, 0xd8f2f5e6, 0x6102, 0x4863, 0x9f,0x26, 0x38,0x9a,0x46,0x76,0xef,0xde);
  5316. #if defined(__cplusplus) && !defined(CINTERFACE)
  5317. MIDL_INTERFACE("d8f2f5e6-6102-4863-9f26-389a4676efde")
  5318. IMarshalingStream : public IStream
  5319. {
  5320. virtual HRESULT STDMETHODCALLTYPE GetMarshalingContextAttribute(
  5321. CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,
  5322. ULONG_PTR *pAttributeValue) = 0;
  5323. };
  5324. #ifdef __CRT_UUID_DECL
  5325. __CRT_UUID_DECL(IMarshalingStream, 0xd8f2f5e6, 0x6102, 0x4863, 0x9f,0x26, 0x38,0x9a,0x46,0x76,0xef,0xde)
  5326. #endif
  5327. #else
  5328. typedef struct IMarshalingStreamVtbl {
  5329. BEGIN_INTERFACE
  5330. /*** IUnknown methods ***/
  5331. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5332. IMarshalingStream *This,
  5333. REFIID riid,
  5334. void **ppvObject);
  5335. ULONG (STDMETHODCALLTYPE *AddRef)(
  5336. IMarshalingStream *This);
  5337. ULONG (STDMETHODCALLTYPE *Release)(
  5338. IMarshalingStream *This);
  5339. /*** ISequentialStream methods ***/
  5340. HRESULT (STDMETHODCALLTYPE *Read)(
  5341. IMarshalingStream *This,
  5342. void *pv,
  5343. ULONG cb,
  5344. ULONG *pcbRead);
  5345. HRESULT (STDMETHODCALLTYPE *Write)(
  5346. IMarshalingStream *This,
  5347. const void *pv,
  5348. ULONG cb,
  5349. ULONG *pcbWritten);
  5350. /*** IStream methods ***/
  5351. HRESULT (STDMETHODCALLTYPE *Seek)(
  5352. IMarshalingStream *This,
  5353. LARGE_INTEGER dlibMove,
  5354. DWORD dwOrigin,
  5355. ULARGE_INTEGER *plibNewPosition);
  5356. HRESULT (STDMETHODCALLTYPE *SetSize)(
  5357. IMarshalingStream *This,
  5358. ULARGE_INTEGER libNewSize);
  5359. HRESULT (STDMETHODCALLTYPE *CopyTo)(
  5360. IMarshalingStream *This,
  5361. IStream *pstm,
  5362. ULARGE_INTEGER cb,
  5363. ULARGE_INTEGER *pcbRead,
  5364. ULARGE_INTEGER *pcbWritten);
  5365. HRESULT (STDMETHODCALLTYPE *Commit)(
  5366. IMarshalingStream *This,
  5367. DWORD grfCommitFlags);
  5368. HRESULT (STDMETHODCALLTYPE *Revert)(
  5369. IMarshalingStream *This);
  5370. HRESULT (STDMETHODCALLTYPE *LockRegion)(
  5371. IMarshalingStream *This,
  5372. ULARGE_INTEGER libOffset,
  5373. ULARGE_INTEGER cb,
  5374. DWORD dwLockType);
  5375. HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
  5376. IMarshalingStream *This,
  5377. ULARGE_INTEGER libOffset,
  5378. ULARGE_INTEGER cb,
  5379. DWORD dwLockType);
  5380. HRESULT (STDMETHODCALLTYPE *Stat)(
  5381. IMarshalingStream *This,
  5382. STATSTG *pstatstg,
  5383. DWORD grfStatFlag);
  5384. HRESULT (STDMETHODCALLTYPE *Clone)(
  5385. IMarshalingStream *This,
  5386. IStream **ppstm);
  5387. /*** IMarshalingStream methods ***/
  5388. HRESULT (STDMETHODCALLTYPE *GetMarshalingContextAttribute)(
  5389. IMarshalingStream *This,
  5390. CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,
  5391. ULONG_PTR *pAttributeValue);
  5392. END_INTERFACE
  5393. } IMarshalingStreamVtbl;
  5394. interface IMarshalingStream {
  5395. CONST_VTBL IMarshalingStreamVtbl* lpVtbl;
  5396. };
  5397. #ifdef COBJMACROS
  5398. #ifndef WIDL_C_INLINE_WRAPPERS
  5399. /*** IUnknown methods ***/
  5400. #define IMarshalingStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5401. #define IMarshalingStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  5402. #define IMarshalingStream_Release(This) (This)->lpVtbl->Release(This)
  5403. /*** ISequentialStream methods ***/
  5404. #define IMarshalingStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
  5405. #define IMarshalingStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
  5406. /*** IStream methods ***/
  5407. #define IMarshalingStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
  5408. #define IMarshalingStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
  5409. #define IMarshalingStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  5410. #define IMarshalingStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
  5411. #define IMarshalingStream_Revert(This) (This)->lpVtbl->Revert(This)
  5412. #define IMarshalingStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
  5413. #define IMarshalingStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
  5414. #define IMarshalingStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
  5415. #define IMarshalingStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
  5416. /*** IMarshalingStream methods ***/
  5417. #define IMarshalingStream_GetMarshalingContextAttribute(This,attribute,pAttributeValue) (This)->lpVtbl->GetMarshalingContextAttribute(This,attribute,pAttributeValue)
  5418. #else
  5419. /*** IUnknown methods ***/
  5420. static FORCEINLINE HRESULT IMarshalingStream_QueryInterface(IMarshalingStream* This,REFIID riid,void **ppvObject) {
  5421. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5422. }
  5423. static FORCEINLINE ULONG IMarshalingStream_AddRef(IMarshalingStream* This) {
  5424. return This->lpVtbl->AddRef(This);
  5425. }
  5426. static FORCEINLINE ULONG IMarshalingStream_Release(IMarshalingStream* This) {
  5427. return This->lpVtbl->Release(This);
  5428. }
  5429. /*** ISequentialStream methods ***/
  5430. static FORCEINLINE HRESULT IMarshalingStream_Read(IMarshalingStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
  5431. return This->lpVtbl->Read(This,pv,cb,pcbRead);
  5432. }
  5433. static FORCEINLINE HRESULT IMarshalingStream_Write(IMarshalingStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
  5434. return This->lpVtbl->Write(This,pv,cb,pcbWritten);
  5435. }
  5436. /*** IStream methods ***/
  5437. static FORCEINLINE HRESULT IMarshalingStream_Seek(IMarshalingStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
  5438. return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
  5439. }
  5440. static FORCEINLINE HRESULT IMarshalingStream_SetSize(IMarshalingStream* This,ULARGE_INTEGER libNewSize) {
  5441. return This->lpVtbl->SetSize(This,libNewSize);
  5442. }
  5443. static FORCEINLINE HRESULT IMarshalingStream_CopyTo(IMarshalingStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
  5444. return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
  5445. }
  5446. static FORCEINLINE HRESULT IMarshalingStream_Commit(IMarshalingStream* This,DWORD grfCommitFlags) {
  5447. return This->lpVtbl->Commit(This,grfCommitFlags);
  5448. }
  5449. static FORCEINLINE HRESULT IMarshalingStream_Revert(IMarshalingStream* This) {
  5450. return This->lpVtbl->Revert(This);
  5451. }
  5452. static FORCEINLINE HRESULT IMarshalingStream_LockRegion(IMarshalingStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  5453. return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
  5454. }
  5455. static FORCEINLINE HRESULT IMarshalingStream_UnlockRegion(IMarshalingStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  5456. return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
  5457. }
  5458. static FORCEINLINE HRESULT IMarshalingStream_Stat(IMarshalingStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
  5459. return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
  5460. }
  5461. static FORCEINLINE HRESULT IMarshalingStream_Clone(IMarshalingStream* This,IStream **ppstm) {
  5462. return This->lpVtbl->Clone(This,ppstm);
  5463. }
  5464. /*** IMarshalingStream methods ***/
  5465. static FORCEINLINE HRESULT IMarshalingStream_GetMarshalingContextAttribute(IMarshalingStream* This,CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,ULONG_PTR *pAttributeValue) {
  5466. return This->lpVtbl->GetMarshalingContextAttribute(This,attribute,pAttributeValue);
  5467. }
  5468. #endif
  5469. #endif
  5470. #endif
  5471. #endif /* __IMarshalingStream_INTERFACE_DEFINED__ */
  5472. #endif
  5473. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  5474. EXTERN_C const GUID IID_ICallbackWithNoReentrancyToApplicationSTA;
  5475. #endif
  5476. #define _OBJIDLBASE_
  5477. #endif
  5478. /* Begin additional prototypes for all interfaces */
  5479. /* End additional prototypes */
  5480. #ifdef __cplusplus
  5481. }
  5482. #endif
  5483. #endif /* __objidlbase_h__ */