sapi51.h 766 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704
  1. /*** Autogenerated by WIDL 7.7 from include/sapi51.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 __sapi51_h__
  14. #define __sapi51_h__
  15. /* Forward declarations */
  16. #ifndef __ISpNotifySource_FWD_DEFINED__
  17. #define __ISpNotifySource_FWD_DEFINED__
  18. typedef interface ISpNotifySource ISpNotifySource;
  19. #ifdef __cplusplus
  20. interface ISpNotifySource;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __ISpNotifySink_FWD_DEFINED__
  24. #define __ISpNotifySink_FWD_DEFINED__
  25. typedef interface ISpNotifySink ISpNotifySink;
  26. #ifdef __cplusplus
  27. interface ISpNotifySink;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __ISpNotifyTranslator_FWD_DEFINED__
  31. #define __ISpNotifyTranslator_FWD_DEFINED__
  32. typedef interface ISpNotifyTranslator ISpNotifyTranslator;
  33. #ifdef __cplusplus
  34. interface ISpNotifyTranslator;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __ISpDataKey_FWD_DEFINED__
  38. #define __ISpDataKey_FWD_DEFINED__
  39. typedef interface ISpDataKey ISpDataKey;
  40. #ifdef __cplusplus
  41. interface ISpDataKey;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __ISpObjectWithToken_FWD_DEFINED__
  45. #define __ISpObjectWithToken_FWD_DEFINED__
  46. typedef interface ISpObjectWithToken ISpObjectWithToken;
  47. #ifdef __cplusplus
  48. interface ISpObjectWithToken;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __IEnumSpObjectTokens_FWD_DEFINED__
  52. #define __IEnumSpObjectTokens_FWD_DEFINED__
  53. typedef interface IEnumSpObjectTokens IEnumSpObjectTokens;
  54. #ifdef __cplusplus
  55. interface IEnumSpObjectTokens;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __ISpRegDataKey_FWD_DEFINED__
  59. #define __ISpRegDataKey_FWD_DEFINED__
  60. typedef interface ISpRegDataKey ISpRegDataKey;
  61. #ifdef __cplusplus
  62. interface ISpRegDataKey;
  63. #endif /* __cplusplus */
  64. #endif
  65. #ifndef __ISpObjectTokenCategory_FWD_DEFINED__
  66. #define __ISpObjectTokenCategory_FWD_DEFINED__
  67. typedef interface ISpObjectTokenCategory ISpObjectTokenCategory;
  68. #ifdef __cplusplus
  69. interface ISpObjectTokenCategory;
  70. #endif /* __cplusplus */
  71. #endif
  72. #ifndef __ISpObjectToken_FWD_DEFINED__
  73. #define __ISpObjectToken_FWD_DEFINED__
  74. typedef interface ISpObjectToken ISpObjectToken;
  75. #ifdef __cplusplus
  76. interface ISpObjectToken;
  77. #endif /* __cplusplus */
  78. #endif
  79. #ifndef __ISpObjectTokenInit_FWD_DEFINED__
  80. #define __ISpObjectTokenInit_FWD_DEFINED__
  81. typedef interface ISpObjectTokenInit ISpObjectTokenInit;
  82. #ifdef __cplusplus
  83. interface ISpObjectTokenInit;
  84. #endif /* __cplusplus */
  85. #endif
  86. #ifndef __ISpResourceManager_FWD_DEFINED__
  87. #define __ISpResourceManager_FWD_DEFINED__
  88. typedef interface ISpResourceManager ISpResourceManager;
  89. #ifdef __cplusplus
  90. interface ISpResourceManager;
  91. #endif /* __cplusplus */
  92. #endif
  93. #ifndef __ISpEventSource_FWD_DEFINED__
  94. #define __ISpEventSource_FWD_DEFINED__
  95. typedef interface ISpEventSource ISpEventSource;
  96. #ifdef __cplusplus
  97. interface ISpEventSource;
  98. #endif /* __cplusplus */
  99. #endif
  100. #ifndef __ISpEventSink_FWD_DEFINED__
  101. #define __ISpEventSink_FWD_DEFINED__
  102. typedef interface ISpEventSink ISpEventSink;
  103. #ifdef __cplusplus
  104. interface ISpEventSink;
  105. #endif /* __cplusplus */
  106. #endif
  107. #ifndef __ISpStreamFormat_FWD_DEFINED__
  108. #define __ISpStreamFormat_FWD_DEFINED__
  109. typedef interface ISpStreamFormat ISpStreamFormat;
  110. #ifdef __cplusplus
  111. interface ISpStreamFormat;
  112. #endif /* __cplusplus */
  113. #endif
  114. #ifndef __ISpStream_FWD_DEFINED__
  115. #define __ISpStream_FWD_DEFINED__
  116. typedef interface ISpStream ISpStream;
  117. #ifdef __cplusplus
  118. interface ISpStream;
  119. #endif /* __cplusplus */
  120. #endif
  121. #ifndef __ISpStreamFormatConverter_FWD_DEFINED__
  122. #define __ISpStreamFormatConverter_FWD_DEFINED__
  123. typedef interface ISpStreamFormatConverter ISpStreamFormatConverter;
  124. #ifdef __cplusplus
  125. interface ISpStreamFormatConverter;
  126. #endif /* __cplusplus */
  127. #endif
  128. #ifndef __ISpAudio_FWD_DEFINED__
  129. #define __ISpAudio_FWD_DEFINED__
  130. typedef interface ISpAudio ISpAudio;
  131. #ifdef __cplusplus
  132. interface ISpAudio;
  133. #endif /* __cplusplus */
  134. #endif
  135. #ifndef __ISpMMSysAudio_FWD_DEFINED__
  136. #define __ISpMMSysAudio_FWD_DEFINED__
  137. typedef interface ISpMMSysAudio ISpMMSysAudio;
  138. #ifdef __cplusplus
  139. interface ISpMMSysAudio;
  140. #endif /* __cplusplus */
  141. #endif
  142. #ifndef __ISpTranscript_FWD_DEFINED__
  143. #define __ISpTranscript_FWD_DEFINED__
  144. typedef interface ISpTranscript ISpTranscript;
  145. #ifdef __cplusplus
  146. interface ISpTranscript;
  147. #endif /* __cplusplus */
  148. #endif
  149. #ifndef __ISpLexicon_FWD_DEFINED__
  150. #define __ISpLexicon_FWD_DEFINED__
  151. typedef interface ISpLexicon ISpLexicon;
  152. #ifdef __cplusplus
  153. interface ISpLexicon;
  154. #endif /* __cplusplus */
  155. #endif
  156. #ifndef __ISpContainerLexicon_FWD_DEFINED__
  157. #define __ISpContainerLexicon_FWD_DEFINED__
  158. typedef interface ISpContainerLexicon ISpContainerLexicon;
  159. #ifdef __cplusplus
  160. interface ISpContainerLexicon;
  161. #endif /* __cplusplus */
  162. #endif
  163. #ifndef __ISpPhoneConverter_FWD_DEFINED__
  164. #define __ISpPhoneConverter_FWD_DEFINED__
  165. typedef interface ISpPhoneConverter ISpPhoneConverter;
  166. #ifdef __cplusplus
  167. interface ISpPhoneConverter;
  168. #endif /* __cplusplus */
  169. #endif
  170. #ifndef __ISpVoice_FWD_DEFINED__
  171. #define __ISpVoice_FWD_DEFINED__
  172. typedef interface ISpVoice ISpVoice;
  173. #ifdef __cplusplus
  174. interface ISpVoice;
  175. #endif /* __cplusplus */
  176. #endif
  177. #ifndef __ISpPhrase_FWD_DEFINED__
  178. #define __ISpPhrase_FWD_DEFINED__
  179. typedef interface ISpPhrase ISpPhrase;
  180. #ifdef __cplusplus
  181. interface ISpPhrase;
  182. #endif /* __cplusplus */
  183. #endif
  184. #ifndef __ISpPhraseAlt_FWD_DEFINED__
  185. #define __ISpPhraseAlt_FWD_DEFINED__
  186. typedef interface ISpPhraseAlt ISpPhraseAlt;
  187. #ifdef __cplusplus
  188. interface ISpPhraseAlt;
  189. #endif /* __cplusplus */
  190. #endif
  191. #ifndef __ISpRecoResult_FWD_DEFINED__
  192. #define __ISpRecoResult_FWD_DEFINED__
  193. typedef interface ISpRecoResult ISpRecoResult;
  194. #ifdef __cplusplus
  195. interface ISpRecoResult;
  196. #endif /* __cplusplus */
  197. #endif
  198. #ifndef __ISpGrammarBuilder_FWD_DEFINED__
  199. #define __ISpGrammarBuilder_FWD_DEFINED__
  200. typedef interface ISpGrammarBuilder ISpGrammarBuilder;
  201. #ifdef __cplusplus
  202. interface ISpGrammarBuilder;
  203. #endif /* __cplusplus */
  204. #endif
  205. #ifndef __ISpRecoGrammar_FWD_DEFINED__
  206. #define __ISpRecoGrammar_FWD_DEFINED__
  207. typedef interface ISpRecoGrammar ISpRecoGrammar;
  208. #ifdef __cplusplus
  209. interface ISpRecoGrammar;
  210. #endif /* __cplusplus */
  211. #endif
  212. #ifndef __ISpRecoContext_FWD_DEFINED__
  213. #define __ISpRecoContext_FWD_DEFINED__
  214. typedef interface ISpRecoContext ISpRecoContext;
  215. #ifdef __cplusplus
  216. interface ISpRecoContext;
  217. #endif /* __cplusplus */
  218. #endif
  219. #ifndef __ISpProperties_FWD_DEFINED__
  220. #define __ISpProperties_FWD_DEFINED__
  221. typedef interface ISpProperties ISpProperties;
  222. #ifdef __cplusplus
  223. interface ISpProperties;
  224. #endif /* __cplusplus */
  225. #endif
  226. #ifndef __ISpRecognizer_FWD_DEFINED__
  227. #define __ISpRecognizer_FWD_DEFINED__
  228. typedef interface ISpRecognizer ISpRecognizer;
  229. #ifdef __cplusplus
  230. interface ISpRecognizer;
  231. #endif /* __cplusplus */
  232. #endif
  233. #ifndef __ISpeechDataKey_FWD_DEFINED__
  234. #define __ISpeechDataKey_FWD_DEFINED__
  235. typedef interface ISpeechDataKey ISpeechDataKey;
  236. #ifdef __cplusplus
  237. interface ISpeechDataKey;
  238. #endif /* __cplusplus */
  239. #endif
  240. #ifndef __ISpeechObjectToken_FWD_DEFINED__
  241. #define __ISpeechObjectToken_FWD_DEFINED__
  242. typedef interface ISpeechObjectToken ISpeechObjectToken;
  243. #ifdef __cplusplus
  244. interface ISpeechObjectToken;
  245. #endif /* __cplusplus */
  246. #endif
  247. #ifndef __ISpeechObjectTokens_FWD_DEFINED__
  248. #define __ISpeechObjectTokens_FWD_DEFINED__
  249. typedef interface ISpeechObjectTokens ISpeechObjectTokens;
  250. #ifdef __cplusplus
  251. interface ISpeechObjectTokens;
  252. #endif /* __cplusplus */
  253. #endif
  254. #ifndef __ISpeechObjectTokenCategory_FWD_DEFINED__
  255. #define __ISpeechObjectTokenCategory_FWD_DEFINED__
  256. typedef interface ISpeechObjectTokenCategory ISpeechObjectTokenCategory;
  257. #ifdef __cplusplus
  258. interface ISpeechObjectTokenCategory;
  259. #endif /* __cplusplus */
  260. #endif
  261. #ifndef __ISpeechAudioFormat_FWD_DEFINED__
  262. #define __ISpeechAudioFormat_FWD_DEFINED__
  263. typedef interface ISpeechAudioFormat ISpeechAudioFormat;
  264. #ifdef __cplusplus
  265. interface ISpeechAudioFormat;
  266. #endif /* __cplusplus */
  267. #endif
  268. #ifndef __ISpeechBaseStream_FWD_DEFINED__
  269. #define __ISpeechBaseStream_FWD_DEFINED__
  270. typedef interface ISpeechBaseStream ISpeechBaseStream;
  271. #ifdef __cplusplus
  272. interface ISpeechBaseStream;
  273. #endif /* __cplusplus */
  274. #endif
  275. #ifndef __ISpeechAudio_FWD_DEFINED__
  276. #define __ISpeechAudio_FWD_DEFINED__
  277. typedef interface ISpeechAudio ISpeechAudio;
  278. #ifdef __cplusplus
  279. interface ISpeechAudio;
  280. #endif /* __cplusplus */
  281. #endif
  282. #ifndef __ISpeechMMSysAudio_FWD_DEFINED__
  283. #define __ISpeechMMSysAudio_FWD_DEFINED__
  284. typedef interface ISpeechMMSysAudio ISpeechMMSysAudio;
  285. #ifdef __cplusplus
  286. interface ISpeechMMSysAudio;
  287. #endif /* __cplusplus */
  288. #endif
  289. #ifndef __ISpeechFileStream_FWD_DEFINED__
  290. #define __ISpeechFileStream_FWD_DEFINED__
  291. typedef interface ISpeechFileStream ISpeechFileStream;
  292. #ifdef __cplusplus
  293. interface ISpeechFileStream;
  294. #endif /* __cplusplus */
  295. #endif
  296. #ifndef __ISpeechCustomStream_FWD_DEFINED__
  297. #define __ISpeechCustomStream_FWD_DEFINED__
  298. typedef interface ISpeechCustomStream ISpeechCustomStream;
  299. #ifdef __cplusplus
  300. interface ISpeechCustomStream;
  301. #endif /* __cplusplus */
  302. #endif
  303. #ifndef __ISpeechMemoryStream_FWD_DEFINED__
  304. #define __ISpeechMemoryStream_FWD_DEFINED__
  305. typedef interface ISpeechMemoryStream ISpeechMemoryStream;
  306. #ifdef __cplusplus
  307. interface ISpeechMemoryStream;
  308. #endif /* __cplusplus */
  309. #endif
  310. #ifndef __ISpeechAudioStatus_FWD_DEFINED__
  311. #define __ISpeechAudioStatus_FWD_DEFINED__
  312. typedef interface ISpeechAudioStatus ISpeechAudioStatus;
  313. #ifdef __cplusplus
  314. interface ISpeechAudioStatus;
  315. #endif /* __cplusplus */
  316. #endif
  317. #ifndef __ISpeechAudioBufferInfo_FWD_DEFINED__
  318. #define __ISpeechAudioBufferInfo_FWD_DEFINED__
  319. typedef interface ISpeechAudioBufferInfo ISpeechAudioBufferInfo;
  320. #ifdef __cplusplus
  321. interface ISpeechAudioBufferInfo;
  322. #endif /* __cplusplus */
  323. #endif
  324. #ifndef __ISpeechWaveFormatEx_FWD_DEFINED__
  325. #define __ISpeechWaveFormatEx_FWD_DEFINED__
  326. typedef interface ISpeechWaveFormatEx ISpeechWaveFormatEx;
  327. #ifdef __cplusplus
  328. interface ISpeechWaveFormatEx;
  329. #endif /* __cplusplus */
  330. #endif
  331. #ifndef __ISpeechVoice_FWD_DEFINED__
  332. #define __ISpeechVoice_FWD_DEFINED__
  333. typedef interface ISpeechVoice ISpeechVoice;
  334. #ifdef __cplusplus
  335. interface ISpeechVoice;
  336. #endif /* __cplusplus */
  337. #endif
  338. #ifndef __ISpeechVoiceStatus_FWD_DEFINED__
  339. #define __ISpeechVoiceStatus_FWD_DEFINED__
  340. typedef interface ISpeechVoiceStatus ISpeechVoiceStatus;
  341. #ifdef __cplusplus
  342. interface ISpeechVoiceStatus;
  343. #endif /* __cplusplus */
  344. #endif
  345. #ifndef ___ISpeechVoiceEvents_FWD_DEFINED__
  346. #define ___ISpeechVoiceEvents_FWD_DEFINED__
  347. typedef interface _ISpeechVoiceEvents _ISpeechVoiceEvents;
  348. #ifdef __cplusplus
  349. interface _ISpeechVoiceEvents;
  350. #endif /* __cplusplus */
  351. #endif
  352. #ifndef __ISpeechRecognizer_FWD_DEFINED__
  353. #define __ISpeechRecognizer_FWD_DEFINED__
  354. typedef interface ISpeechRecognizer ISpeechRecognizer;
  355. #ifdef __cplusplus
  356. interface ISpeechRecognizer;
  357. #endif /* __cplusplus */
  358. #endif
  359. #ifndef __ISpeechRecognizerStatus_FWD_DEFINED__
  360. #define __ISpeechRecognizerStatus_FWD_DEFINED__
  361. typedef interface ISpeechRecognizerStatus ISpeechRecognizerStatus;
  362. #ifdef __cplusplus
  363. interface ISpeechRecognizerStatus;
  364. #endif /* __cplusplus */
  365. #endif
  366. #ifndef __ISpeechRecoContext_FWD_DEFINED__
  367. #define __ISpeechRecoContext_FWD_DEFINED__
  368. typedef interface ISpeechRecoContext ISpeechRecoContext;
  369. #ifdef __cplusplus
  370. interface ISpeechRecoContext;
  371. #endif /* __cplusplus */
  372. #endif
  373. #ifndef __ISpeechRecoGrammar_FWD_DEFINED__
  374. #define __ISpeechRecoGrammar_FWD_DEFINED__
  375. typedef interface ISpeechRecoGrammar ISpeechRecoGrammar;
  376. #ifdef __cplusplus
  377. interface ISpeechRecoGrammar;
  378. #endif /* __cplusplus */
  379. #endif
  380. #ifndef ___ISpeechRecoContextEvents_FWD_DEFINED__
  381. #define ___ISpeechRecoContextEvents_FWD_DEFINED__
  382. typedef interface _ISpeechRecoContextEvents _ISpeechRecoContextEvents;
  383. #ifdef __cplusplus
  384. interface _ISpeechRecoContextEvents;
  385. #endif /* __cplusplus */
  386. #endif
  387. #ifndef __ISpeechGrammarRule_FWD_DEFINED__
  388. #define __ISpeechGrammarRule_FWD_DEFINED__
  389. typedef interface ISpeechGrammarRule ISpeechGrammarRule;
  390. #ifdef __cplusplus
  391. interface ISpeechGrammarRule;
  392. #endif /* __cplusplus */
  393. #endif
  394. #ifndef __ISpeechGrammarRules_FWD_DEFINED__
  395. #define __ISpeechGrammarRules_FWD_DEFINED__
  396. typedef interface ISpeechGrammarRules ISpeechGrammarRules;
  397. #ifdef __cplusplus
  398. interface ISpeechGrammarRules;
  399. #endif /* __cplusplus */
  400. #endif
  401. #ifndef __ISpeechGrammarRuleState_FWD_DEFINED__
  402. #define __ISpeechGrammarRuleState_FWD_DEFINED__
  403. typedef interface ISpeechGrammarRuleState ISpeechGrammarRuleState;
  404. #ifdef __cplusplus
  405. interface ISpeechGrammarRuleState;
  406. #endif /* __cplusplus */
  407. #endif
  408. #ifndef __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
  409. #define __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
  410. typedef interface ISpeechGrammarRuleStateTransitions ISpeechGrammarRuleStateTransitions;
  411. #ifdef __cplusplus
  412. interface ISpeechGrammarRuleStateTransitions;
  413. #endif /* __cplusplus */
  414. #endif
  415. #ifndef __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
  416. #define __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
  417. typedef interface ISpeechGrammarRuleStateTransition ISpeechGrammarRuleStateTransition;
  418. #ifdef __cplusplus
  419. interface ISpeechGrammarRuleStateTransition;
  420. #endif /* __cplusplus */
  421. #endif
  422. #ifndef __ISpeechTextSelectionInformation_FWD_DEFINED__
  423. #define __ISpeechTextSelectionInformation_FWD_DEFINED__
  424. typedef interface ISpeechTextSelectionInformation ISpeechTextSelectionInformation;
  425. #ifdef __cplusplus
  426. interface ISpeechTextSelectionInformation;
  427. #endif /* __cplusplus */
  428. #endif
  429. #ifndef __ISpeechRecoResult_FWD_DEFINED__
  430. #define __ISpeechRecoResult_FWD_DEFINED__
  431. typedef interface ISpeechRecoResult ISpeechRecoResult;
  432. #ifdef __cplusplus
  433. interface ISpeechRecoResult;
  434. #endif /* __cplusplus */
  435. #endif
  436. #ifndef __ISpeechPhraseInfoBuilder_FWD_DEFINED__
  437. #define __ISpeechPhraseInfoBuilder_FWD_DEFINED__
  438. typedef interface ISpeechPhraseInfoBuilder ISpeechPhraseInfoBuilder;
  439. #ifdef __cplusplus
  440. interface ISpeechPhraseInfoBuilder;
  441. #endif /* __cplusplus */
  442. #endif
  443. #ifndef __ISpeechRecoResultTimes_FWD_DEFINED__
  444. #define __ISpeechRecoResultTimes_FWD_DEFINED__
  445. typedef interface ISpeechRecoResultTimes ISpeechRecoResultTimes;
  446. #ifdef __cplusplus
  447. interface ISpeechRecoResultTimes;
  448. #endif /* __cplusplus */
  449. #endif
  450. #ifndef __ISpeechPhraseAlternate_FWD_DEFINED__
  451. #define __ISpeechPhraseAlternate_FWD_DEFINED__
  452. typedef interface ISpeechPhraseAlternate ISpeechPhraseAlternate;
  453. #ifdef __cplusplus
  454. interface ISpeechPhraseAlternate;
  455. #endif /* __cplusplus */
  456. #endif
  457. #ifndef __ISpeechPhraseAlternates_FWD_DEFINED__
  458. #define __ISpeechPhraseAlternates_FWD_DEFINED__
  459. typedef interface ISpeechPhraseAlternates ISpeechPhraseAlternates;
  460. #ifdef __cplusplus
  461. interface ISpeechPhraseAlternates;
  462. #endif /* __cplusplus */
  463. #endif
  464. #ifndef __ISpeechPhraseInfo_FWD_DEFINED__
  465. #define __ISpeechPhraseInfo_FWD_DEFINED__
  466. typedef interface ISpeechPhraseInfo ISpeechPhraseInfo;
  467. #ifdef __cplusplus
  468. interface ISpeechPhraseInfo;
  469. #endif /* __cplusplus */
  470. #endif
  471. #ifndef __ISpeechPhraseElement_FWD_DEFINED__
  472. #define __ISpeechPhraseElement_FWD_DEFINED__
  473. typedef interface ISpeechPhraseElement ISpeechPhraseElement;
  474. #ifdef __cplusplus
  475. interface ISpeechPhraseElement;
  476. #endif /* __cplusplus */
  477. #endif
  478. #ifndef __ISpeechPhraseElements_FWD_DEFINED__
  479. #define __ISpeechPhraseElements_FWD_DEFINED__
  480. typedef interface ISpeechPhraseElements ISpeechPhraseElements;
  481. #ifdef __cplusplus
  482. interface ISpeechPhraseElements;
  483. #endif /* __cplusplus */
  484. #endif
  485. #ifndef __ISpeechPhraseReplacement_FWD_DEFINED__
  486. #define __ISpeechPhraseReplacement_FWD_DEFINED__
  487. typedef interface ISpeechPhraseReplacement ISpeechPhraseReplacement;
  488. #ifdef __cplusplus
  489. interface ISpeechPhraseReplacement;
  490. #endif /* __cplusplus */
  491. #endif
  492. #ifndef __ISpeechPhraseReplacements_FWD_DEFINED__
  493. #define __ISpeechPhraseReplacements_FWD_DEFINED__
  494. typedef interface ISpeechPhraseReplacements ISpeechPhraseReplacements;
  495. #ifdef __cplusplus
  496. interface ISpeechPhraseReplacements;
  497. #endif /* __cplusplus */
  498. #endif
  499. #ifndef __ISpeechPhraseProperty_FWD_DEFINED__
  500. #define __ISpeechPhraseProperty_FWD_DEFINED__
  501. typedef interface ISpeechPhraseProperty ISpeechPhraseProperty;
  502. #ifdef __cplusplus
  503. interface ISpeechPhraseProperty;
  504. #endif /* __cplusplus */
  505. #endif
  506. #ifndef __ISpeechPhraseProperties_FWD_DEFINED__
  507. #define __ISpeechPhraseProperties_FWD_DEFINED__
  508. typedef interface ISpeechPhraseProperties ISpeechPhraseProperties;
  509. #ifdef __cplusplus
  510. interface ISpeechPhraseProperties;
  511. #endif /* __cplusplus */
  512. #endif
  513. #ifndef __ISpeechPhraseRule_FWD_DEFINED__
  514. #define __ISpeechPhraseRule_FWD_DEFINED__
  515. typedef interface ISpeechPhraseRule ISpeechPhraseRule;
  516. #ifdef __cplusplus
  517. interface ISpeechPhraseRule;
  518. #endif /* __cplusplus */
  519. #endif
  520. #ifndef __ISpeechPhraseRules_FWD_DEFINED__
  521. #define __ISpeechPhraseRules_FWD_DEFINED__
  522. typedef interface ISpeechPhraseRules ISpeechPhraseRules;
  523. #ifdef __cplusplus
  524. interface ISpeechPhraseRules;
  525. #endif /* __cplusplus */
  526. #endif
  527. #ifndef __ISpeechLexiconWords_FWD_DEFINED__
  528. #define __ISpeechLexiconWords_FWD_DEFINED__
  529. typedef interface ISpeechLexiconWords ISpeechLexiconWords;
  530. #ifdef __cplusplus
  531. interface ISpeechLexiconWords;
  532. #endif /* __cplusplus */
  533. #endif
  534. #ifndef __ISpeechLexicon_FWD_DEFINED__
  535. #define __ISpeechLexicon_FWD_DEFINED__
  536. typedef interface ISpeechLexicon ISpeechLexicon;
  537. #ifdef __cplusplus
  538. interface ISpeechLexicon;
  539. #endif /* __cplusplus */
  540. #endif
  541. #ifndef __ISpeechLexiconWord_FWD_DEFINED__
  542. #define __ISpeechLexiconWord_FWD_DEFINED__
  543. typedef interface ISpeechLexiconWord ISpeechLexiconWord;
  544. #ifdef __cplusplus
  545. interface ISpeechLexiconWord;
  546. #endif /* __cplusplus */
  547. #endif
  548. #ifndef __ISpeechLexiconPronunciations_FWD_DEFINED__
  549. #define __ISpeechLexiconPronunciations_FWD_DEFINED__
  550. typedef interface ISpeechLexiconPronunciations ISpeechLexiconPronunciations;
  551. #ifdef __cplusplus
  552. interface ISpeechLexiconPronunciations;
  553. #endif /* __cplusplus */
  554. #endif
  555. #ifndef __ISpeechLexiconPronunciation_FWD_DEFINED__
  556. #define __ISpeechLexiconPronunciation_FWD_DEFINED__
  557. typedef interface ISpeechLexiconPronunciation ISpeechLexiconPronunciation;
  558. #ifdef __cplusplus
  559. interface ISpeechLexiconPronunciation;
  560. #endif /* __cplusplus */
  561. #endif
  562. #ifndef __ISpeechPhoneConverter_FWD_DEFINED__
  563. #define __ISpeechPhoneConverter_FWD_DEFINED__
  564. typedef interface ISpeechPhoneConverter ISpeechPhoneConverter;
  565. #ifdef __cplusplus
  566. interface ISpeechPhoneConverter;
  567. #endif /* __cplusplus */
  568. #endif
  569. #ifndef __SpNotifyTranslator_FWD_DEFINED__
  570. #define __SpNotifyTranslator_FWD_DEFINED__
  571. #ifdef __cplusplus
  572. typedef class SpNotifyTranslator SpNotifyTranslator;
  573. #else
  574. typedef struct SpNotifyTranslator SpNotifyTranslator;
  575. #endif /* defined __cplusplus */
  576. #endif /* defined __SpNotifyTranslator_FWD_DEFINED__ */
  577. #ifndef __SpObjectTokenCategory_FWD_DEFINED__
  578. #define __SpObjectTokenCategory_FWD_DEFINED__
  579. #ifdef __cplusplus
  580. typedef class SpObjectTokenCategory SpObjectTokenCategory;
  581. #else
  582. typedef struct SpObjectTokenCategory SpObjectTokenCategory;
  583. #endif /* defined __cplusplus */
  584. #endif /* defined __SpObjectTokenCategory_FWD_DEFINED__ */
  585. #ifndef __SpObjectToken_FWD_DEFINED__
  586. #define __SpObjectToken_FWD_DEFINED__
  587. #ifdef __cplusplus
  588. typedef class SpObjectToken SpObjectToken;
  589. #else
  590. typedef struct SpObjectToken SpObjectToken;
  591. #endif /* defined __cplusplus */
  592. #endif /* defined __SpObjectToken_FWD_DEFINED__ */
  593. #ifndef __SpResourceManager_FWD_DEFINED__
  594. #define __SpResourceManager_FWD_DEFINED__
  595. #ifdef __cplusplus
  596. typedef class SpResourceManager SpResourceManager;
  597. #else
  598. typedef struct SpResourceManager SpResourceManager;
  599. #endif /* defined __cplusplus */
  600. #endif /* defined __SpResourceManager_FWD_DEFINED__ */
  601. #ifndef __SpStreamFormatConverter_FWD_DEFINED__
  602. #define __SpStreamFormatConverter_FWD_DEFINED__
  603. #ifdef __cplusplus
  604. typedef class SpStreamFormatConverter SpStreamFormatConverter;
  605. #else
  606. typedef struct SpStreamFormatConverter SpStreamFormatConverter;
  607. #endif /* defined __cplusplus */
  608. #endif /* defined __SpStreamFormatConverter_FWD_DEFINED__ */
  609. #ifndef __SpMMAudioEnum_FWD_DEFINED__
  610. #define __SpMMAudioEnum_FWD_DEFINED__
  611. #ifdef __cplusplus
  612. typedef class SpMMAudioEnum SpMMAudioEnum;
  613. #else
  614. typedef struct SpMMAudioEnum SpMMAudioEnum;
  615. #endif /* defined __cplusplus */
  616. #endif /* defined __SpMMAudioEnum_FWD_DEFINED__ */
  617. #ifndef __SpMMAudioIn_FWD_DEFINED__
  618. #define __SpMMAudioIn_FWD_DEFINED__
  619. #ifdef __cplusplus
  620. typedef class SpMMAudioIn SpMMAudioIn;
  621. #else
  622. typedef struct SpMMAudioIn SpMMAudioIn;
  623. #endif /* defined __cplusplus */
  624. #endif /* defined __SpMMAudioIn_FWD_DEFINED__ */
  625. #ifndef __SpMMAudioOut_FWD_DEFINED__
  626. #define __SpMMAudioOut_FWD_DEFINED__
  627. #ifdef __cplusplus
  628. typedef class SpMMAudioOut SpMMAudioOut;
  629. #else
  630. typedef struct SpMMAudioOut SpMMAudioOut;
  631. #endif /* defined __cplusplus */
  632. #endif /* defined __SpMMAudioOut_FWD_DEFINED__ */
  633. #ifndef __SpStream_FWD_DEFINED__
  634. #define __SpStream_FWD_DEFINED__
  635. #ifdef __cplusplus
  636. typedef class SpStream SpStream;
  637. #else
  638. typedef struct SpStream SpStream;
  639. #endif /* defined __cplusplus */
  640. #endif /* defined __SpStream_FWD_DEFINED__ */
  641. #ifndef __SpVoice_FWD_DEFINED__
  642. #define __SpVoice_FWD_DEFINED__
  643. #ifdef __cplusplus
  644. typedef class SpVoice SpVoice;
  645. #else
  646. typedef struct SpVoice SpVoice;
  647. #endif /* defined __cplusplus */
  648. #endif /* defined __SpVoice_FWD_DEFINED__ */
  649. #ifndef __SpSharedRecoContext_FWD_DEFINED__
  650. #define __SpSharedRecoContext_FWD_DEFINED__
  651. #ifdef __cplusplus
  652. typedef class SpSharedRecoContext SpSharedRecoContext;
  653. #else
  654. typedef struct SpSharedRecoContext SpSharedRecoContext;
  655. #endif /* defined __cplusplus */
  656. #endif /* defined __SpSharedRecoContext_FWD_DEFINED__ */
  657. #ifndef __SpInprocRecognizer_FWD_DEFINED__
  658. #define __SpInprocRecognizer_FWD_DEFINED__
  659. #ifdef __cplusplus
  660. typedef class SpInprocRecognizer SpInprocRecognizer;
  661. #else
  662. typedef struct SpInprocRecognizer SpInprocRecognizer;
  663. #endif /* defined __cplusplus */
  664. #endif /* defined __SpInprocRecognizer_FWD_DEFINED__ */
  665. #ifndef __SpSharedRecognizer_FWD_DEFINED__
  666. #define __SpSharedRecognizer_FWD_DEFINED__
  667. #ifdef __cplusplus
  668. typedef class SpSharedRecognizer SpSharedRecognizer;
  669. #else
  670. typedef struct SpSharedRecognizer SpSharedRecognizer;
  671. #endif /* defined __cplusplus */
  672. #endif /* defined __SpSharedRecognizer_FWD_DEFINED__ */
  673. #ifndef __SpLexicon_FWD_DEFINED__
  674. #define __SpLexicon_FWD_DEFINED__
  675. #ifdef __cplusplus
  676. typedef class SpLexicon SpLexicon;
  677. #else
  678. typedef struct SpLexicon SpLexicon;
  679. #endif /* defined __cplusplus */
  680. #endif /* defined __SpLexicon_FWD_DEFINED__ */
  681. #ifndef __SpUnCompressedLexicon_FWD_DEFINED__
  682. #define __SpUnCompressedLexicon_FWD_DEFINED__
  683. #ifdef __cplusplus
  684. typedef class SpUnCompressedLexicon SpUnCompressedLexicon;
  685. #else
  686. typedef struct SpUnCompressedLexicon SpUnCompressedLexicon;
  687. #endif /* defined __cplusplus */
  688. #endif /* defined __SpUnCompressedLexicon_FWD_DEFINED__ */
  689. #ifndef __SpCompressedLexicon_FWD_DEFINED__
  690. #define __SpCompressedLexicon_FWD_DEFINED__
  691. #ifdef __cplusplus
  692. typedef class SpCompressedLexicon SpCompressedLexicon;
  693. #else
  694. typedef struct SpCompressedLexicon SpCompressedLexicon;
  695. #endif /* defined __cplusplus */
  696. #endif /* defined __SpCompressedLexicon_FWD_DEFINED__ */
  697. #ifndef __SpPhoneConverter_FWD_DEFINED__
  698. #define __SpPhoneConverter_FWD_DEFINED__
  699. #ifdef __cplusplus
  700. typedef class SpPhoneConverter SpPhoneConverter;
  701. #else
  702. typedef struct SpPhoneConverter SpPhoneConverter;
  703. #endif /* defined __cplusplus */
  704. #endif /* defined __SpPhoneConverter_FWD_DEFINED__ */
  705. #ifndef __SpNullPhoneConverter_FWD_DEFINED__
  706. #define __SpNullPhoneConverter_FWD_DEFINED__
  707. #ifdef __cplusplus
  708. typedef class SpNullPhoneConverter SpNullPhoneConverter;
  709. #else
  710. typedef struct SpNullPhoneConverter SpNullPhoneConverter;
  711. #endif /* defined __cplusplus */
  712. #endif /* defined __SpNullPhoneConverter_FWD_DEFINED__ */
  713. #ifndef __SpTextSelectionInformation_FWD_DEFINED__
  714. #define __SpTextSelectionInformation_FWD_DEFINED__
  715. #ifdef __cplusplus
  716. typedef class SpTextSelectionInformation SpTextSelectionInformation;
  717. #else
  718. typedef struct SpTextSelectionInformation SpTextSelectionInformation;
  719. #endif /* defined __cplusplus */
  720. #endif /* defined __SpTextSelectionInformation_FWD_DEFINED__ */
  721. #ifndef __SpPhraseInfoBuilder_FWD_DEFINED__
  722. #define __SpPhraseInfoBuilder_FWD_DEFINED__
  723. #ifdef __cplusplus
  724. typedef class SpPhraseInfoBuilder SpPhraseInfoBuilder;
  725. #else
  726. typedef struct SpPhraseInfoBuilder SpPhraseInfoBuilder;
  727. #endif /* defined __cplusplus */
  728. #endif /* defined __SpPhraseInfoBuilder_FWD_DEFINED__ */
  729. #ifndef __SpAudioFormat_FWD_DEFINED__
  730. #define __SpAudioFormat_FWD_DEFINED__
  731. #ifdef __cplusplus
  732. typedef class SpAudioFormat SpAudioFormat;
  733. #else
  734. typedef struct SpAudioFormat SpAudioFormat;
  735. #endif /* defined __cplusplus */
  736. #endif /* defined __SpAudioFormat_FWD_DEFINED__ */
  737. #ifndef __SpWaveFormatEx_FWD_DEFINED__
  738. #define __SpWaveFormatEx_FWD_DEFINED__
  739. #ifdef __cplusplus
  740. typedef class SpWaveFormatEx SpWaveFormatEx;
  741. #else
  742. typedef struct SpWaveFormatEx SpWaveFormatEx;
  743. #endif /* defined __cplusplus */
  744. #endif /* defined __SpWaveFormatEx_FWD_DEFINED__ */
  745. #ifndef __SpInProcRecoContext_FWD_DEFINED__
  746. #define __SpInProcRecoContext_FWD_DEFINED__
  747. #ifdef __cplusplus
  748. typedef class SpInProcRecoContext SpInProcRecoContext;
  749. #else
  750. typedef struct SpInProcRecoContext SpInProcRecoContext;
  751. #endif /* defined __cplusplus */
  752. #endif /* defined __SpInProcRecoContext_FWD_DEFINED__ */
  753. #ifndef __SpCustomStream_FWD_DEFINED__
  754. #define __SpCustomStream_FWD_DEFINED__
  755. #ifdef __cplusplus
  756. typedef class SpCustomStream SpCustomStream;
  757. #else
  758. typedef struct SpCustomStream SpCustomStream;
  759. #endif /* defined __cplusplus */
  760. #endif /* defined __SpCustomStream_FWD_DEFINED__ */
  761. #ifndef __SpFileStream_FWD_DEFINED__
  762. #define __SpFileStream_FWD_DEFINED__
  763. #ifdef __cplusplus
  764. typedef class SpFileStream SpFileStream;
  765. #else
  766. typedef struct SpFileStream SpFileStream;
  767. #endif /* defined __cplusplus */
  768. #endif /* defined __SpFileStream_FWD_DEFINED__ */
  769. #ifndef __SpMemoryStream_FWD_DEFINED__
  770. #define __SpMemoryStream_FWD_DEFINED__
  771. #ifdef __cplusplus
  772. typedef class SpMemoryStream SpMemoryStream;
  773. #else
  774. typedef struct SpMemoryStream SpMemoryStream;
  775. #endif /* defined __cplusplus */
  776. #endif /* defined __SpMemoryStream_FWD_DEFINED__ */
  777. /* Headers for imported files */
  778. #include <oaidl.h>
  779. #include <ocidl.h>
  780. #ifdef __cplusplus
  781. extern "C" {
  782. #endif
  783. #ifndef _SAPI_VER
  784. #error "you have to include <sapi.h> header before this."
  785. #endif
  786. #if 0
  787. typedef struct WAVEFORMATEX {
  788. WORD wFormatTag;
  789. WORD nChannels;
  790. DWORD nSamplesPerSec;
  791. DWORD nAvgBytesPerSec;
  792. WORD nBlockAlign;
  793. WORD wBitsPerSample;
  794. WORD cbSize;
  795. } WAVEFORMATEX;
  796. #endif
  797. #ifndef __ISpNotifySource_FWD_DEFINED__
  798. #define __ISpNotifySource_FWD_DEFINED__
  799. typedef interface ISpNotifySource ISpNotifySource;
  800. #ifdef __cplusplus
  801. interface ISpNotifySource;
  802. #endif /* __cplusplus */
  803. #endif
  804. #ifndef __ISpNotifySink_FWD_DEFINED__
  805. #define __ISpNotifySink_FWD_DEFINED__
  806. typedef interface ISpNotifySink ISpNotifySink;
  807. #ifdef __cplusplus
  808. interface ISpNotifySink;
  809. #endif /* __cplusplus */
  810. #endif
  811. #ifndef __ISpNotifyTranslator_FWD_DEFINED__
  812. #define __ISpNotifyTranslator_FWD_DEFINED__
  813. typedef interface ISpNotifyTranslator ISpNotifyTranslator;
  814. #ifdef __cplusplus
  815. interface ISpNotifyTranslator;
  816. #endif /* __cplusplus */
  817. #endif
  818. #ifndef __ISpDataKey_FWD_DEFINED__
  819. #define __ISpDataKey_FWD_DEFINED__
  820. typedef interface ISpDataKey ISpDataKey;
  821. #ifdef __cplusplus
  822. interface ISpDataKey;
  823. #endif /* __cplusplus */
  824. #endif
  825. #ifndef __ISpObjectTokenCategory_FWD_DEFINED__
  826. #define __ISpObjectTokenCategory_FWD_DEFINED__
  827. typedef interface ISpObjectTokenCategory ISpObjectTokenCategory;
  828. #ifdef __cplusplus
  829. interface ISpObjectTokenCategory;
  830. #endif /* __cplusplus */
  831. #endif
  832. #ifndef __ISpObjectToken_FWD_DEFINED__
  833. #define __ISpObjectToken_FWD_DEFINED__
  834. typedef interface ISpObjectToken ISpObjectToken;
  835. #ifdef __cplusplus
  836. interface ISpObjectToken;
  837. #endif /* __cplusplus */
  838. #endif
  839. #ifndef __IEnumSpObjectTokens_FWD_DEFINED__
  840. #define __IEnumSpObjectTokens_FWD_DEFINED__
  841. typedef interface IEnumSpObjectTokens IEnumSpObjectTokens;
  842. #ifdef __cplusplus
  843. interface IEnumSpObjectTokens;
  844. #endif /* __cplusplus */
  845. #endif
  846. #ifndef __ISpObjectWithToken_FWD_DEFINED__
  847. #define __ISpObjectWithToken_FWD_DEFINED__
  848. typedef interface ISpObjectWithToken ISpObjectWithToken;
  849. #ifdef __cplusplus
  850. interface ISpObjectWithToken;
  851. #endif /* __cplusplus */
  852. #endif
  853. #ifndef __ISpResourceManager_FWD_DEFINED__
  854. #define __ISpResourceManager_FWD_DEFINED__
  855. typedef interface ISpResourceManager ISpResourceManager;
  856. #ifdef __cplusplus
  857. interface ISpResourceManager;
  858. #endif /* __cplusplus */
  859. #endif
  860. #ifndef __ISpEventSource_FWD_DEFINED__
  861. #define __ISpEventSource_FWD_DEFINED__
  862. typedef interface ISpEventSource ISpEventSource;
  863. #ifdef __cplusplus
  864. interface ISpEventSource;
  865. #endif /* __cplusplus */
  866. #endif
  867. #ifndef __ISpEventSink_FWD_DEFINED__
  868. #define __ISpEventSink_FWD_DEFINED__
  869. typedef interface ISpEventSink ISpEventSink;
  870. #ifdef __cplusplus
  871. interface ISpEventSink;
  872. #endif /* __cplusplus */
  873. #endif
  874. #ifndef __ISpStreamFormat_FWD_DEFINED__
  875. #define __ISpStreamFormat_FWD_DEFINED__
  876. typedef interface ISpStreamFormat ISpStreamFormat;
  877. #ifdef __cplusplus
  878. interface ISpStreamFormat;
  879. #endif /* __cplusplus */
  880. #endif
  881. #ifndef __ISpStream_FWD_DEFINED__
  882. #define __ISpStream_FWD_DEFINED__
  883. typedef interface ISpStream ISpStream;
  884. #ifdef __cplusplus
  885. interface ISpStream;
  886. #endif /* __cplusplus */
  887. #endif
  888. #ifndef __ISpStreamFormatConverter_FWD_DEFINED__
  889. #define __ISpStreamFormatConverter_FWD_DEFINED__
  890. typedef interface ISpStreamFormatConverter ISpStreamFormatConverter;
  891. #ifdef __cplusplus
  892. interface ISpStreamFormatConverter;
  893. #endif /* __cplusplus */
  894. #endif
  895. #ifndef __ISpAudio_FWD_DEFINED__
  896. #define __ISpAudio_FWD_DEFINED__
  897. typedef interface ISpAudio ISpAudio;
  898. #ifdef __cplusplus
  899. interface ISpAudio;
  900. #endif /* __cplusplus */
  901. #endif
  902. #ifndef __ISpMMSysAudio_FWD_DEFINED__
  903. #define __ISpMMSysAudio_FWD_DEFINED__
  904. typedef interface ISpMMSysAudio ISpMMSysAudio;
  905. #ifdef __cplusplus
  906. interface ISpMMSysAudio;
  907. #endif /* __cplusplus */
  908. #endif
  909. #ifndef __ISpTranscript_FWD_DEFINED__
  910. #define __ISpTranscript_FWD_DEFINED__
  911. typedef interface ISpTranscript ISpTranscript;
  912. #ifdef __cplusplus
  913. interface ISpTranscript;
  914. #endif /* __cplusplus */
  915. #endif
  916. #ifndef __ISpVoice_FWD_DEFINED__
  917. #define __ISpVoice_FWD_DEFINED__
  918. typedef interface ISpVoice ISpVoice;
  919. #ifdef __cplusplus
  920. interface ISpVoice;
  921. #endif /* __cplusplus */
  922. #endif
  923. #ifndef __ISpRecoResult_FWD_DEFINED__
  924. #define __ISpRecoResult_FWD_DEFINED__
  925. typedef interface ISpRecoResult ISpRecoResult;
  926. #ifdef __cplusplus
  927. interface ISpRecoResult;
  928. #endif /* __cplusplus */
  929. #endif
  930. #ifndef __ISpRecoContext_FWD_DEFINED__
  931. #define __ISpRecoContext_FWD_DEFINED__
  932. typedef interface ISpRecoContext ISpRecoContext;
  933. #ifdef __cplusplus
  934. interface ISpRecoContext;
  935. #endif /* __cplusplus */
  936. #endif
  937. #ifndef __ISpRecognizer_FWD_DEFINED__
  938. #define __ISpRecognizer_FWD_DEFINED__
  939. typedef interface ISpRecognizer ISpRecognizer;
  940. #ifdef __cplusplus
  941. interface ISpRecognizer;
  942. #endif /* __cplusplus */
  943. #endif
  944. #ifndef __ISpProperties_FWD_DEFINED__
  945. #define __ISpProperties_FWD_DEFINED__
  946. typedef interface ISpProperties ISpProperties;
  947. #ifdef __cplusplus
  948. interface ISpProperties;
  949. #endif /* __cplusplus */
  950. #endif
  951. #ifndef __ISpLexicon_FWD_DEFINED__
  952. #define __ISpLexicon_FWD_DEFINED__
  953. typedef interface ISpLexicon ISpLexicon;
  954. #ifdef __cplusplus
  955. interface ISpLexicon;
  956. #endif /* __cplusplus */
  957. #endif
  958. #ifndef __ISpPhoneConverter_FWD_DEFINED__
  959. #define __ISpPhoneConverter_FWD_DEFINED__
  960. typedef interface ISpPhoneConverter ISpPhoneConverter;
  961. #ifdef __cplusplus
  962. interface ISpPhoneConverter;
  963. #endif /* __cplusplus */
  964. #endif
  965. #ifndef __ISpPhrase_FWD_DEFINED__
  966. #define __ISpPhrase_FWD_DEFINED__
  967. typedef interface ISpPhrase ISpPhrase;
  968. #ifdef __cplusplus
  969. interface ISpPhrase;
  970. #endif /* __cplusplus */
  971. #endif
  972. typedef enum SPDATAKEYLOCATION {
  973. SPDKL_DefaultLocation = 0,
  974. SPDKL_CurrentUser = 1,
  975. SPDKL_LocalMachine = 2,
  976. SPDKL_CurrentConfig = 5
  977. } SPDATAKEYLOCATION;
  978. typedef enum SPSTREAMFORMAT {
  979. SPSF_Default = -1,
  980. SPSF_NoAssignedFormat = 0,
  981. SPSF_Text = 1,
  982. SPSF_NonStandardFormat = 2,
  983. SPSF_ExtendedAudioFormat = 3,
  984. SPSF_8kHz8BitMono = 4,
  985. SPSF_8kHz8BitStereo = 5,
  986. SPSF_8kHz16BitMono = 6,
  987. SPSF_8kHz16BitStereo = 7,
  988. SPSF_11kHz8BitMono = 8,
  989. SPSF_11kHz8BitStereo = 9,
  990. SPSF_11kHz16BitMono = 10,
  991. SPSF_11kHz16BitStereo = 11,
  992. SPSF_12kHz8BitMono = 12,
  993. SPSF_12kHz8BitStereo = 13,
  994. SPSF_12kHz16BitMono = 14,
  995. SPSF_12kHz16BitStereo = 15,
  996. SPSF_16kHz8BitMono = 16,
  997. SPSF_16kHz8BitStereo = 17,
  998. SPSF_16kHz16BitMono = 18,
  999. SPSF_16kHz16BitStereo = 19,
  1000. SPSF_22kHz8BitMono = 20,
  1001. SPSF_22kHz8BitStereo = 21,
  1002. SPSF_22kHz16BitMono = 22,
  1003. SPSF_22kHz16BitStereo = 23,
  1004. SPSF_24kHz8BitMono = 24,
  1005. SPSF_24kHz8BitStereo = 25,
  1006. SPSF_24kHz16BitMono = 26,
  1007. SPSF_24kHz16BitStereo = 27,
  1008. SPSF_32kHz8BitMono = 28,
  1009. SPSF_32kHz8BitStereo = 29,
  1010. SPSF_32kHz16BitMono = 30,
  1011. SPSF_32kHz16BitStereo = 31,
  1012. SPSF_44kHz8BitMono = 32,
  1013. SPSF_44kHz8BitStereo = 33,
  1014. SPSF_44kHz16BitMono = 34,
  1015. SPSF_44kHz16BitStereo = 35,
  1016. SPSF_48kHz8BitMono = 36,
  1017. SPSF_48kHz8BitStereo = 37,
  1018. SPSF_48kHz16BitMono = 38,
  1019. SPSF_48kHz16BitStereo = 39,
  1020. SPSF_TrueSpeech_8kHz1BitMono = 40,
  1021. SPSF_CCITT_ALaw_8kHzMono = 41,
  1022. SPSF_CCITT_ALaw_8kHzStereo = 42,
  1023. SPSF_CCITT_ALaw_11kHzMono = 43,
  1024. SPSF_CCITT_ALaw_11kHzStereo = 44,
  1025. SPSF_CCITT_ALaw_22kHzMono = 45,
  1026. SPSF_CCITT_ALaw_22kHzStereo = 46,
  1027. SPSF_CCITT_ALaw_44kHzMono = 47,
  1028. SPSF_CCITT_ALaw_44kHzStereo = 48,
  1029. SPSF_CCITT_uLaw_8kHzMono = 49,
  1030. SPSF_CCITT_uLaw_8kHzStereo = 50,
  1031. SPSF_CCITT_uLaw_11kHzMono = 51,
  1032. SPSF_CCITT_uLaw_11kHzStereo = 52,
  1033. SPSF_CCITT_uLaw_22kHzMono = 53,
  1034. SPSF_CCITT_uLaw_22kHzStereo = 54,
  1035. SPSF_CCITT_uLaw_44kHzMono = 55,
  1036. SPSF_CCITT_uLaw_44kHzStereo = 56,
  1037. SPSF_ADPCM_8kHzMono = 57,
  1038. SPSF_ADPCM_8kHzStereo = 58,
  1039. SPSF_ADPCM_11kHzMono = 59,
  1040. SPSF_ADPCM_11kHzStereo = 60,
  1041. SPSF_ADPCM_22kHzMono = 61,
  1042. SPSF_ADPCM_22kHzStereo = 62,
  1043. SPSF_ADPCM_44kHzMono = 63,
  1044. SPSF_ADPCM_44kHzStereo = 64,
  1045. SPSF_GSM610_8kHzMono = 65,
  1046. SPSF_GSM610_11kHzMono = 66,
  1047. SPSF_GSM610_22kHzMono = 67,
  1048. SPSF_GSM610_44kHzMono = 68,
  1049. SPSF_NUM_FORMATS = 69
  1050. } SPSTREAMFORMAT;
  1051. typedef enum SPEVENTLPARAMTYPE {
  1052. SPET_LPARAM_IS_UNDEFINED = 0,
  1053. SPET_LPARAM_IS_TOKEN = 1,
  1054. SPET_LPARAM_IS_OBJECT = 2,
  1055. SPET_LPARAM_IS_POINTER = 3,
  1056. SPET_LPARAM_IS_STRING = 4
  1057. } SPEVENTLPARAMTYPE;
  1058. typedef enum SPEVENTENUM {
  1059. SPEI_UNDEFINED = 0,
  1060. SPEI_START_INPUT_STREAM = 1,
  1061. SPEI_END_INPUT_STREAM = 2,
  1062. SPEI_VOICE_CHANGE = 3,
  1063. SPEI_TTS_BOOKMARK = 4,
  1064. SPEI_WORD_BOUNDARY = 5,
  1065. SPEI_PHONEME = 6,
  1066. SPEI_SENTENCE_BOUNDARY = 7,
  1067. SPEI_VISEME = 8,
  1068. SPEI_TTS_AUDIO_LEVEL = 9,
  1069. SPEI_TTS_PRIVATE = 15,
  1070. SPEI_MIN_TTS = 1,
  1071. SPEI_MAX_TTS = 15,
  1072. SPEI_END_SR_STREAM = 34,
  1073. SPEI_SOUND_START = 35,
  1074. SPEI_SOUND_END = 36,
  1075. SPEI_PHRASE_START = 37,
  1076. SPEI_RECOGNITION = 38,
  1077. SPEI_HYPOTHESIS = 39,
  1078. SPEI_SR_BOOKMARK = 40,
  1079. SPEI_PROPERTY_NUM_CHANGE = 41,
  1080. SPEI_PROPERTY_STRING_CHANGE = 42,
  1081. SPEI_FALSE_RECOGNITION = 43,
  1082. SPEI_INTERFERENCE = 44,
  1083. SPEI_REQUEST_UI = 45,
  1084. SPEI_RECO_STATE_CHANGE = 46,
  1085. SPEI_ADAPTATION = 47,
  1086. SPEI_START_SR_STREAM = 48,
  1087. SPEI_RECO_OTHER_CONTEXT = 49,
  1088. SPEI_SR_AUDIO_LEVEL = 50,
  1089. SPEI_SR_PRIVATE = 52,
  1090. SPEI_MIN_SR = 34,
  1091. SPEI_MAX_SR = 52,
  1092. SPEI_RESERVED1 = 30,
  1093. SPEI_RESERVED2 = 33,
  1094. SPEI_RESERVED3 = 63
  1095. } SPEVENTENUM;
  1096. typedef enum SPINTERFERENCE {
  1097. SPINTERFERENCE_NONE = 0,
  1098. SPINTERFERENCE_NOISE = 1,
  1099. SPINTERFERENCE_NOSIGNAL = 2,
  1100. SPINTERFERENCE_TOOLOUD = 3,
  1101. SPINTERFERENCE_TOOQUIET = 4,
  1102. SPINTERFERENCE_TOOFAST = 5,
  1103. SPINTERFERENCE_TOOSLOW = 6,
  1104. SPINTERFERENCE_LATENCY_WARNING = 7,
  1105. SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN = 8,
  1106. SPINTERFERENCE_LATENCY_TRUNCATE_END = 9
  1107. } SPINTERFERENCE;
  1108. typedef enum SPENDSRSTREAMFLAGS {
  1109. SPESF_NONE = 0,
  1110. SPESF_STREAM_RELEASED = 1
  1111. } SPENDSRSTREAMFLAGS;
  1112. typedef enum SPVFEATURE {
  1113. SPVFEATURE_STRESSED = 1,
  1114. SPVFEATURE_EMPHASIS = 2
  1115. } SPVFEATURE;
  1116. typedef enum SPVISEMES {
  1117. SP_VISEME_0 = 0,
  1118. SP_VISEME_1 = 1,
  1119. SP_VISEME_2 = 2,
  1120. SP_VISEME_3 = 3,
  1121. SP_VISEME_4 = 4,
  1122. SP_VISEME_5 = 5,
  1123. SP_VISEME_6 = 6,
  1124. SP_VISEME_7 = 7,
  1125. SP_VISEME_8 = 8,
  1126. SP_VISEME_9 = 9,
  1127. SP_VISEME_10 = 10,
  1128. SP_VISEME_11 = 11,
  1129. SP_VISEME_12 = 12,
  1130. SP_VISEME_13 = 13,
  1131. SP_VISEME_14 = 14,
  1132. SP_VISEME_15 = 15,
  1133. SP_VISEME_16 = 16,
  1134. SP_VISEME_17 = 17,
  1135. SP_VISEME_18 = 18,
  1136. SP_VISEME_19 = 19,
  1137. SP_VISEME_20 = 20,
  1138. SP_VISEME_21 = 21
  1139. } SPVISEMES;
  1140. typedef enum SPFILEMODE {
  1141. SPFM_OPEN_READONLY = 0,
  1142. SPFM_OPEN_READWRITE = 1,
  1143. SPFM_CREATE = 2,
  1144. SPFM_CREATE_ALWAYS = 3,
  1145. SPFM_NUM_MODES = 4
  1146. } SPFILEMODE;
  1147. typedef enum _SPAUDIOSTATE {
  1148. SPAS_CLOSED = 0,
  1149. SPAS_STOP = 1,
  1150. SPAS_PAUSE = 2,
  1151. SPAS_RUN = 3
  1152. } SPAUDIOSTATE;
  1153. typedef enum SPDISPLYATTRIBUTES {
  1154. SPAF_ONE_TRAILING_SPACE = 0x2,
  1155. SPAF_TWO_TRAILING_SPACES = 0x4,
  1156. SPAF_CONSUME_LEADING_SPACES = 0x8,
  1157. SPAF_ALL = 0xf
  1158. } SPDISPLAYATTRIBUTES;
  1159. typedef enum SPPHRASEPROPERTYUNIONTYPE {
  1160. SPPPUT_UNUSED = 0,
  1161. SPPPUT_ARRAY_INDEX = 1
  1162. } SPPHRASEPROPERTYUNIONTYPE;
  1163. typedef enum SPRECOEVENTFLAGS {
  1164. SPREF_AutoPause = 0x1,
  1165. SPREF_Emulated = 0x2
  1166. } SPRECOEVENTFLAGS;
  1167. typedef enum SPPARTOFSPEECH {
  1168. SPPS_NotOverriden = -1,
  1169. SPPS_Unknown = 0,
  1170. SPPS_Noun = 0x1000,
  1171. SPPS_Verb = 0x2000,
  1172. SPPS_Modifier = 0x3000,
  1173. SPPS_Function = 0x4000,
  1174. SPPS_Interjection = 0x5000
  1175. } SPPARTOFSPEECH;
  1176. typedef enum SPLEXICONTYPE {
  1177. eLEXTYPE_USER = 0x1,
  1178. eLEXTYPE_APP = 0x2,
  1179. eLEXTYPE_VENDORLEXICON = 0x4,
  1180. eLEXTYPE_LETTERTOSOUND = 0x8,
  1181. eLEXTYPE_MORPHOLOGY = 0x10,
  1182. eLEXTYPE_RESERVED4 = 0x20,
  1183. eLEXTYPE_USER_SHORTCUT = 0x40,
  1184. eLEXTYPE_RESERVED6 = 0x80,
  1185. eLEXTYPE_RESERVED7 = 0x100,
  1186. eLEXTYPE_RESERVED8 = 0x200,
  1187. eLEXTYPE_RESERVED9 = 0x400,
  1188. eLEXTYPE_RESERVED10 = 0x800,
  1189. eLEXTYPE_PRIVATE1 = 0x1000,
  1190. eLEXTYPE_PRIVATE2 = 0x2000,
  1191. eLEXTYPE_PRIVATE3 = 0x4000,
  1192. eLEXTYPE_PRIVATE4 = 0x8000,
  1193. eLEXTYPE_PRIVATE5 = 0x10000,
  1194. eLEXTYPE_PRIVATE6 = 0x20000,
  1195. eLEXTYPE_PRIVATE7 = 0x40000,
  1196. eLEXTYPE_PRIVATE8 = 0x80000,
  1197. eLEXTYPE_PRIVATE9 = 0x100000,
  1198. eLEXTYPE_PRIVATE10 = 0x200000,
  1199. eLEXTYPE_PRIVATE11 = 0x400000,
  1200. eLEXTYPE_PRIVATE12 = 0x800000,
  1201. eLEXTYPE_PRIVATE13 = 0x1000000,
  1202. eLEXTYPE_PRIVATE14 = 0x2000000,
  1203. eLEXTYPE_PRIVATE15 = 0x4000000,
  1204. eLEXTYPE_PRIVATE16 = 0x8000000,
  1205. eLEXTYPE_PRIVATE17 = 0x10000000,
  1206. eLEXTYPE_PRIVATE18 = 0x20000000,
  1207. eLEXTYPE_PRIVATE19 = 0x40000000,
  1208. eLEXTYPE_PRIVATE20 = 0x80000000
  1209. } SPLEXICONTYPE;
  1210. typedef enum SPWORDTYPE {
  1211. eWORDTYPE_ADDED = 1,
  1212. eWORDTYPE_DELETED = 2
  1213. } SPWORDTYPE;
  1214. typedef enum SPVALUETYPE {
  1215. SPDF_PROPERTY = 0x1,
  1216. SPDF_REPLACEMENT = 0x2,
  1217. SPDF_RULE = 0x4,
  1218. SPDF_DISPLAYTEXT = 0x8,
  1219. SPDF_LEXICALFORM = 0x10,
  1220. SPDF_PRONUNCIATION = 0x20,
  1221. SPDF_AUDIO = 0x40,
  1222. SPDF_ALTERNATES = 0x80,
  1223. SPDF_ALL = 0xff
  1224. } SPVALUETYPE;
  1225. typedef enum SPPHRASERNG {
  1226. SPPR_ALL_ELEMENTS = -1
  1227. } SPPHRASERNG;
  1228. typedef enum SPVACTIONS {
  1229. SPVA_Speak = 0,
  1230. SPVA_Silence = 1,
  1231. SPVA_Pronounce = 2,
  1232. SPVA_Bookmark = 3,
  1233. SPVA_SpellOut = 4,
  1234. SPVA_Section = 5,
  1235. SPVA_ParseUnknownTag = 6
  1236. } SPVACTIONS;
  1237. typedef enum SPRUNSTATE {
  1238. SPRS_DONE = 1,
  1239. SPRS_IS_SPEAKING = 2
  1240. } SPRUNSTATE;
  1241. typedef enum SPVLIMITS {
  1242. SPMIN_VOLUME = 0,
  1243. SPMAX_VOLUME = 100,
  1244. SPMIN_RATE = -10,
  1245. SPMAX_RATE = 10
  1246. } SPVLIMITS;
  1247. typedef enum SPVPRIORITY {
  1248. SPVPRI_NORMAL = 0,
  1249. SPVPRI_ALERT = 1,
  1250. SPVPRI_OVER = 2
  1251. } SPVPRIORITY;
  1252. EXTERN_C const GUID SPDFID_Text;
  1253. EXTERN_C const GUID SPDFID_WaveFormatEx;
  1254. #define SP_LOW_CONFIDENCE (-1)
  1255. #define SP_NORMAL_CONFIDENCE (0)
  1256. #define SP_HIGH_CONFIDENCE (+1)
  1257. #define DEFAULT_WEIGHT (1)
  1258. #define SP_MAX_WORD_LENGTH (128)
  1259. #define SP_MAX_PRON_LENGTH (384)
  1260. #ifdef __cplusplus
  1261. interface ISpNotifyCallback {
  1262. virtual HRESULT STDMETHODCALLTYPE NotifyCallback(WPARAM wParam, LPARAM lParam) = 0;
  1263. };
  1264. #else
  1265. typedef void *ISpNotifyCallback;
  1266. #endif
  1267. #if 0
  1268. typedef void *SPNOTIFYCALLBACK;
  1269. #else
  1270. typedef void __stdcall SPNOTIFYCALLBACK(WPARAM wParam, LPARAM lParam);
  1271. #endif
  1272. /*****************************************************************************
  1273. * ISpNotifySource interface
  1274. */
  1275. #ifndef __ISpNotifySource_INTERFACE_DEFINED__
  1276. #define __ISpNotifySource_INTERFACE_DEFINED__
  1277. DEFINE_GUID(IID_ISpNotifySource, 0x5eff4aef, 0x8487, 0x11d2, 0x96,0x1c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  1278. #if defined(__cplusplus) && !defined(CINTERFACE)
  1279. MIDL_INTERFACE("5eff4aef-8487-11d2-961c-00c04f8ee628")
  1280. ISpNotifySource : public IUnknown
  1281. {
  1282. virtual HRESULT STDMETHODCALLTYPE SetNotifySink(
  1283. ISpNotifySink *pNotifySink) = 0;
  1284. virtual HRESULT STDMETHODCALLTYPE SetNotifyWindowMessage(
  1285. HWND hWnd,
  1286. UINT Msg,
  1287. WPARAM wParam,
  1288. LPARAM lParam) = 0;
  1289. virtual HRESULT STDMETHODCALLTYPE SetNotifyCallbackFunction(
  1290. SPNOTIFYCALLBACK *pfnCallback,
  1291. WPARAM wParam,
  1292. LPARAM lParam) = 0;
  1293. virtual HRESULT STDMETHODCALLTYPE SetNotifyCallbackInterface(
  1294. ISpNotifyCallback *pSpCallback,
  1295. WPARAM wParam,
  1296. LPARAM lParam) = 0;
  1297. virtual HRESULT STDMETHODCALLTYPE SetNotifyWin32Event(
  1298. ) = 0;
  1299. virtual HRESULT STDMETHODCALLTYPE WaitForNotifyEvent(
  1300. DWORD dwMilliseconds) = 0;
  1301. virtual HANDLE STDMETHODCALLTYPE GetNotifyEventHandle(
  1302. ) = 0;
  1303. };
  1304. #ifdef __CRT_UUID_DECL
  1305. __CRT_UUID_DECL(ISpNotifySource, 0x5eff4aef, 0x8487, 0x11d2, 0x96,0x1c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
  1306. #endif
  1307. #else
  1308. typedef struct ISpNotifySourceVtbl {
  1309. BEGIN_INTERFACE
  1310. /*** IUnknown methods ***/
  1311. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1312. ISpNotifySource *This,
  1313. REFIID riid,
  1314. void **ppvObject);
  1315. ULONG (STDMETHODCALLTYPE *AddRef)(
  1316. ISpNotifySource *This);
  1317. ULONG (STDMETHODCALLTYPE *Release)(
  1318. ISpNotifySource *This);
  1319. /*** ISpNotifySource methods ***/
  1320. HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
  1321. ISpNotifySource *This,
  1322. ISpNotifySink *pNotifySink);
  1323. HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
  1324. ISpNotifySource *This,
  1325. HWND hWnd,
  1326. UINT Msg,
  1327. WPARAM wParam,
  1328. LPARAM lParam);
  1329. HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
  1330. ISpNotifySource *This,
  1331. SPNOTIFYCALLBACK *pfnCallback,
  1332. WPARAM wParam,
  1333. LPARAM lParam);
  1334. HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
  1335. ISpNotifySource *This,
  1336. ISpNotifyCallback *pSpCallback,
  1337. WPARAM wParam,
  1338. LPARAM lParam);
  1339. HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
  1340. ISpNotifySource *This);
  1341. HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
  1342. ISpNotifySource *This,
  1343. DWORD dwMilliseconds);
  1344. HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
  1345. ISpNotifySource *This);
  1346. END_INTERFACE
  1347. } ISpNotifySourceVtbl;
  1348. interface ISpNotifySource {
  1349. CONST_VTBL ISpNotifySourceVtbl* lpVtbl;
  1350. };
  1351. #ifdef COBJMACROS
  1352. #ifndef WIDL_C_INLINE_WRAPPERS
  1353. /*** IUnknown methods ***/
  1354. #define ISpNotifySource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1355. #define ISpNotifySource_AddRef(This) (This)->lpVtbl->AddRef(This)
  1356. #define ISpNotifySource_Release(This) (This)->lpVtbl->Release(This)
  1357. /*** ISpNotifySource methods ***/
  1358. #define ISpNotifySource_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
  1359. #define ISpNotifySource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
  1360. #define ISpNotifySource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
  1361. #define ISpNotifySource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
  1362. #define ISpNotifySource_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
  1363. #define ISpNotifySource_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
  1364. #define ISpNotifySource_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
  1365. #else
  1366. /*** IUnknown methods ***/
  1367. static FORCEINLINE HRESULT ISpNotifySource_QueryInterface(ISpNotifySource* This,REFIID riid,void **ppvObject) {
  1368. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1369. }
  1370. static FORCEINLINE ULONG ISpNotifySource_AddRef(ISpNotifySource* This) {
  1371. return This->lpVtbl->AddRef(This);
  1372. }
  1373. static FORCEINLINE ULONG ISpNotifySource_Release(ISpNotifySource* This) {
  1374. return This->lpVtbl->Release(This);
  1375. }
  1376. /*** ISpNotifySource methods ***/
  1377. static FORCEINLINE HRESULT ISpNotifySource_SetNotifySink(ISpNotifySource* This,ISpNotifySink *pNotifySink) {
  1378. return This->lpVtbl->SetNotifySink(This,pNotifySink);
  1379. }
  1380. static FORCEINLINE HRESULT ISpNotifySource_SetNotifyWindowMessage(ISpNotifySource* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
  1381. return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
  1382. }
  1383. static FORCEINLINE HRESULT ISpNotifySource_SetNotifyCallbackFunction(ISpNotifySource* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
  1384. return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
  1385. }
  1386. static FORCEINLINE HRESULT ISpNotifySource_SetNotifyCallbackInterface(ISpNotifySource* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
  1387. return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
  1388. }
  1389. static FORCEINLINE HRESULT ISpNotifySource_SetNotifyWin32Event(ISpNotifySource* This) {
  1390. return This->lpVtbl->SetNotifyWin32Event(This);
  1391. }
  1392. static FORCEINLINE HRESULT ISpNotifySource_WaitForNotifyEvent(ISpNotifySource* This,DWORD dwMilliseconds) {
  1393. return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
  1394. }
  1395. static FORCEINLINE HANDLE ISpNotifySource_GetNotifyEventHandle(ISpNotifySource* This) {
  1396. return This->lpVtbl->GetNotifyEventHandle(This);
  1397. }
  1398. #endif
  1399. #endif
  1400. #endif
  1401. #endif /* __ISpNotifySource_INTERFACE_DEFINED__ */
  1402. /*****************************************************************************
  1403. * ISpNotifySink interface
  1404. */
  1405. #ifndef __ISpNotifySink_INTERFACE_DEFINED__
  1406. #define __ISpNotifySink_INTERFACE_DEFINED__
  1407. DEFINE_GUID(IID_ISpNotifySink, 0x259684dc, 0x37c3, 0x11d2, 0x96,0x03, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  1408. #if defined(__cplusplus) && !defined(CINTERFACE)
  1409. MIDL_INTERFACE("259684dc-37c3-11d2-9603-00c04f8ee628")
  1410. ISpNotifySink : public IUnknown
  1411. {
  1412. virtual HRESULT STDMETHODCALLTYPE Notify(
  1413. ) = 0;
  1414. };
  1415. #ifdef __CRT_UUID_DECL
  1416. __CRT_UUID_DECL(ISpNotifySink, 0x259684dc, 0x37c3, 0x11d2, 0x96,0x03, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
  1417. #endif
  1418. #else
  1419. typedef struct ISpNotifySinkVtbl {
  1420. BEGIN_INTERFACE
  1421. /*** IUnknown methods ***/
  1422. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1423. ISpNotifySink *This,
  1424. REFIID riid,
  1425. void **ppvObject);
  1426. ULONG (STDMETHODCALLTYPE *AddRef)(
  1427. ISpNotifySink *This);
  1428. ULONG (STDMETHODCALLTYPE *Release)(
  1429. ISpNotifySink *This);
  1430. /*** ISpNotifySink methods ***/
  1431. HRESULT (STDMETHODCALLTYPE *Notify)(
  1432. ISpNotifySink *This);
  1433. END_INTERFACE
  1434. } ISpNotifySinkVtbl;
  1435. interface ISpNotifySink {
  1436. CONST_VTBL ISpNotifySinkVtbl* lpVtbl;
  1437. };
  1438. #ifdef COBJMACROS
  1439. #ifndef WIDL_C_INLINE_WRAPPERS
  1440. /*** IUnknown methods ***/
  1441. #define ISpNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1442. #define ISpNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This)
  1443. #define ISpNotifySink_Release(This) (This)->lpVtbl->Release(This)
  1444. /*** ISpNotifySink methods ***/
  1445. #define ISpNotifySink_Notify(This) (This)->lpVtbl->Notify(This)
  1446. #else
  1447. /*** IUnknown methods ***/
  1448. static FORCEINLINE HRESULT ISpNotifySink_QueryInterface(ISpNotifySink* This,REFIID riid,void **ppvObject) {
  1449. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1450. }
  1451. static FORCEINLINE ULONG ISpNotifySink_AddRef(ISpNotifySink* This) {
  1452. return This->lpVtbl->AddRef(This);
  1453. }
  1454. static FORCEINLINE ULONG ISpNotifySink_Release(ISpNotifySink* This) {
  1455. return This->lpVtbl->Release(This);
  1456. }
  1457. /*** ISpNotifySink methods ***/
  1458. static FORCEINLINE HRESULT ISpNotifySink_Notify(ISpNotifySink* This) {
  1459. return This->lpVtbl->Notify(This);
  1460. }
  1461. #endif
  1462. #endif
  1463. #endif
  1464. #endif /* __ISpNotifySink_INTERFACE_DEFINED__ */
  1465. /*****************************************************************************
  1466. * ISpNotifyTranslator interface
  1467. */
  1468. #ifndef __ISpNotifyTranslator_INTERFACE_DEFINED__
  1469. #define __ISpNotifyTranslator_INTERFACE_DEFINED__
  1470. DEFINE_GUID(IID_ISpNotifyTranslator, 0xaca16614, 0x5d3d, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  1471. #if defined(__cplusplus) && !defined(CINTERFACE)
  1472. MIDL_INTERFACE("aca16614-5d3d-11d2-960e-00c04f8ee628")
  1473. ISpNotifyTranslator : public ISpNotifySink
  1474. {
  1475. virtual HRESULT STDMETHODCALLTYPE InitWindowMessage(
  1476. HWND hWnd,
  1477. UINT Msg,
  1478. WPARAM wParam,
  1479. LPARAM lParam) = 0;
  1480. virtual HRESULT STDMETHODCALLTYPE InitCallback(
  1481. SPNOTIFYCALLBACK *pfnCallback,
  1482. WPARAM wParam,
  1483. LPARAM lParam) = 0;
  1484. virtual HRESULT STDMETHODCALLTYPE InitSpNotifyCallback(
  1485. ISpNotifyCallback *pSpCallback,
  1486. WPARAM wParam,
  1487. LPARAM lParam) = 0;
  1488. virtual HRESULT STDMETHODCALLTYPE InitWin32Event(
  1489. HANDLE hEvent,
  1490. WINBOOL fCloseHandleOnRelease) = 0;
  1491. virtual HRESULT STDMETHODCALLTYPE Wait(
  1492. DWORD dwMilliseconds) = 0;
  1493. virtual HANDLE STDMETHODCALLTYPE GetEventHandle(
  1494. ) = 0;
  1495. };
  1496. #ifdef __CRT_UUID_DECL
  1497. __CRT_UUID_DECL(ISpNotifyTranslator, 0xaca16614, 0x5d3d, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
  1498. #endif
  1499. #else
  1500. typedef struct ISpNotifyTranslatorVtbl {
  1501. BEGIN_INTERFACE
  1502. /*** IUnknown methods ***/
  1503. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1504. ISpNotifyTranslator *This,
  1505. REFIID riid,
  1506. void **ppvObject);
  1507. ULONG (STDMETHODCALLTYPE *AddRef)(
  1508. ISpNotifyTranslator *This);
  1509. ULONG (STDMETHODCALLTYPE *Release)(
  1510. ISpNotifyTranslator *This);
  1511. /*** ISpNotifySink methods ***/
  1512. HRESULT (STDMETHODCALLTYPE *Notify)(
  1513. ISpNotifyTranslator *This);
  1514. /*** ISpNotifyTranslator methods ***/
  1515. HRESULT (STDMETHODCALLTYPE *InitWindowMessage)(
  1516. ISpNotifyTranslator *This,
  1517. HWND hWnd,
  1518. UINT Msg,
  1519. WPARAM wParam,
  1520. LPARAM lParam);
  1521. HRESULT (STDMETHODCALLTYPE *InitCallback)(
  1522. ISpNotifyTranslator *This,
  1523. SPNOTIFYCALLBACK *pfnCallback,
  1524. WPARAM wParam,
  1525. LPARAM lParam);
  1526. HRESULT (STDMETHODCALLTYPE *InitSpNotifyCallback)(
  1527. ISpNotifyTranslator *This,
  1528. ISpNotifyCallback *pSpCallback,
  1529. WPARAM wParam,
  1530. LPARAM lParam);
  1531. HRESULT (STDMETHODCALLTYPE *InitWin32Event)(
  1532. ISpNotifyTranslator *This,
  1533. HANDLE hEvent,
  1534. WINBOOL fCloseHandleOnRelease);
  1535. HRESULT (STDMETHODCALLTYPE *Wait)(
  1536. ISpNotifyTranslator *This,
  1537. DWORD dwMilliseconds);
  1538. HANDLE (STDMETHODCALLTYPE *GetEventHandle)(
  1539. ISpNotifyTranslator *This);
  1540. END_INTERFACE
  1541. } ISpNotifyTranslatorVtbl;
  1542. interface ISpNotifyTranslator {
  1543. CONST_VTBL ISpNotifyTranslatorVtbl* lpVtbl;
  1544. };
  1545. #ifdef COBJMACROS
  1546. #ifndef WIDL_C_INLINE_WRAPPERS
  1547. /*** IUnknown methods ***/
  1548. #define ISpNotifyTranslator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1549. #define ISpNotifyTranslator_AddRef(This) (This)->lpVtbl->AddRef(This)
  1550. #define ISpNotifyTranslator_Release(This) (This)->lpVtbl->Release(This)
  1551. /*** ISpNotifySink methods ***/
  1552. #define ISpNotifyTranslator_Notify(This) (This)->lpVtbl->Notify(This)
  1553. /*** ISpNotifyTranslator methods ***/
  1554. #define ISpNotifyTranslator_InitWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->InitWindowMessage(This,hWnd,Msg,wParam,lParam)
  1555. #define ISpNotifyTranslator_InitCallback(This,pfnCallback,wParam,lParam) (This)->lpVtbl->InitCallback(This,pfnCallback,wParam,lParam)
  1556. #define ISpNotifyTranslator_InitSpNotifyCallback(This,pSpCallback,wParam,lParam) (This)->lpVtbl->InitSpNotifyCallback(This,pSpCallback,wParam,lParam)
  1557. #define ISpNotifyTranslator_InitWin32Event(This,hEvent,fCloseHandleOnRelease) (This)->lpVtbl->InitWin32Event(This,hEvent,fCloseHandleOnRelease)
  1558. #define ISpNotifyTranslator_Wait(This,dwMilliseconds) (This)->lpVtbl->Wait(This,dwMilliseconds)
  1559. #define ISpNotifyTranslator_GetEventHandle(This) (This)->lpVtbl->GetEventHandle(This)
  1560. #else
  1561. /*** IUnknown methods ***/
  1562. static FORCEINLINE HRESULT ISpNotifyTranslator_QueryInterface(ISpNotifyTranslator* This,REFIID riid,void **ppvObject) {
  1563. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1564. }
  1565. static FORCEINLINE ULONG ISpNotifyTranslator_AddRef(ISpNotifyTranslator* This) {
  1566. return This->lpVtbl->AddRef(This);
  1567. }
  1568. static FORCEINLINE ULONG ISpNotifyTranslator_Release(ISpNotifyTranslator* This) {
  1569. return This->lpVtbl->Release(This);
  1570. }
  1571. /*** ISpNotifySink methods ***/
  1572. static FORCEINLINE HRESULT ISpNotifyTranslator_Notify(ISpNotifyTranslator* This) {
  1573. return This->lpVtbl->Notify(This);
  1574. }
  1575. /*** ISpNotifyTranslator methods ***/
  1576. static FORCEINLINE HRESULT ISpNotifyTranslator_InitWindowMessage(ISpNotifyTranslator* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
  1577. return This->lpVtbl->InitWindowMessage(This,hWnd,Msg,wParam,lParam);
  1578. }
  1579. static FORCEINLINE HRESULT ISpNotifyTranslator_InitCallback(ISpNotifyTranslator* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
  1580. return This->lpVtbl->InitCallback(This,pfnCallback,wParam,lParam);
  1581. }
  1582. static FORCEINLINE HRESULT ISpNotifyTranslator_InitSpNotifyCallback(ISpNotifyTranslator* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
  1583. return This->lpVtbl->InitSpNotifyCallback(This,pSpCallback,wParam,lParam);
  1584. }
  1585. static FORCEINLINE HRESULT ISpNotifyTranslator_InitWin32Event(ISpNotifyTranslator* This,HANDLE hEvent,WINBOOL fCloseHandleOnRelease) {
  1586. return This->lpVtbl->InitWin32Event(This,hEvent,fCloseHandleOnRelease);
  1587. }
  1588. static FORCEINLINE HRESULT ISpNotifyTranslator_Wait(ISpNotifyTranslator* This,DWORD dwMilliseconds) {
  1589. return This->lpVtbl->Wait(This,dwMilliseconds);
  1590. }
  1591. static FORCEINLINE HANDLE ISpNotifyTranslator_GetEventHandle(ISpNotifyTranslator* This) {
  1592. return This->lpVtbl->GetEventHandle(This);
  1593. }
  1594. #endif
  1595. #endif
  1596. #endif
  1597. #endif /* __ISpNotifyTranslator_INTERFACE_DEFINED__ */
  1598. /*****************************************************************************
  1599. * ISpDataKey interface
  1600. */
  1601. #ifndef __ISpDataKey_INTERFACE_DEFINED__
  1602. #define __ISpDataKey_INTERFACE_DEFINED__
  1603. DEFINE_GUID(IID_ISpDataKey, 0x14056581, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
  1604. #if defined(__cplusplus) && !defined(CINTERFACE)
  1605. MIDL_INTERFACE("14056581-e16c-11d2-bb90-00c04f8ee6c0")
  1606. ISpDataKey : public IUnknown
  1607. {
  1608. virtual HRESULT STDMETHODCALLTYPE SetData(
  1609. LPCWSTR pszValueName,
  1610. ULONG cbData,
  1611. const BYTE *pData) = 0;
  1612. virtual HRESULT STDMETHODCALLTYPE GetData(
  1613. LPCWSTR pszValueName,
  1614. ULONG *pcbData,
  1615. BYTE *pData) = 0;
  1616. virtual HRESULT STDMETHODCALLTYPE SetStringValue(
  1617. LPCWSTR pszValueName,
  1618. LPCWSTR pszValue) = 0;
  1619. virtual HRESULT STDMETHODCALLTYPE GetStringValue(
  1620. LPCWSTR pszValueName,
  1621. LPWSTR *ppszValue) = 0;
  1622. virtual HRESULT STDMETHODCALLTYPE SetDWORD(
  1623. LPCWSTR pszValueName,
  1624. DWORD dwValue) = 0;
  1625. virtual HRESULT STDMETHODCALLTYPE GetDWORD(
  1626. LPCWSTR pszValueName,
  1627. DWORD *pdwValue) = 0;
  1628. virtual HRESULT STDMETHODCALLTYPE OpenKey(
  1629. LPCWSTR pszSubKeyName,
  1630. ISpDataKey **ppSubKey) = 0;
  1631. virtual HRESULT STDMETHODCALLTYPE CreateKey(
  1632. LPCWSTR pszSubKey,
  1633. ISpDataKey **ppSubKey) = 0;
  1634. virtual HRESULT STDMETHODCALLTYPE DeleteKey(
  1635. LPCWSTR pszSubKey) = 0;
  1636. virtual HRESULT STDMETHODCALLTYPE DeleteValue(
  1637. LPCWSTR pszValueName) = 0;
  1638. virtual HRESULT STDMETHODCALLTYPE EnumKeys(
  1639. ULONG Index,
  1640. LPWSTR *ppszSubKeyName) = 0;
  1641. virtual HRESULT STDMETHODCALLTYPE EnumValues(
  1642. ULONG Index,
  1643. LPWSTR *ppszValueName) = 0;
  1644. };
  1645. #ifdef __CRT_UUID_DECL
  1646. __CRT_UUID_DECL(ISpDataKey, 0x14056581, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
  1647. #endif
  1648. #else
  1649. typedef struct ISpDataKeyVtbl {
  1650. BEGIN_INTERFACE
  1651. /*** IUnknown methods ***/
  1652. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1653. ISpDataKey *This,
  1654. REFIID riid,
  1655. void **ppvObject);
  1656. ULONG (STDMETHODCALLTYPE *AddRef)(
  1657. ISpDataKey *This);
  1658. ULONG (STDMETHODCALLTYPE *Release)(
  1659. ISpDataKey *This);
  1660. /*** ISpDataKey methods ***/
  1661. HRESULT (STDMETHODCALLTYPE *SetData)(
  1662. ISpDataKey *This,
  1663. LPCWSTR pszValueName,
  1664. ULONG cbData,
  1665. const BYTE *pData);
  1666. HRESULT (STDMETHODCALLTYPE *GetData)(
  1667. ISpDataKey *This,
  1668. LPCWSTR pszValueName,
  1669. ULONG *pcbData,
  1670. BYTE *pData);
  1671. HRESULT (STDMETHODCALLTYPE *SetStringValue)(
  1672. ISpDataKey *This,
  1673. LPCWSTR pszValueName,
  1674. LPCWSTR pszValue);
  1675. HRESULT (STDMETHODCALLTYPE *GetStringValue)(
  1676. ISpDataKey *This,
  1677. LPCWSTR pszValueName,
  1678. LPWSTR *ppszValue);
  1679. HRESULT (STDMETHODCALLTYPE *SetDWORD)(
  1680. ISpDataKey *This,
  1681. LPCWSTR pszValueName,
  1682. DWORD dwValue);
  1683. HRESULT (STDMETHODCALLTYPE *GetDWORD)(
  1684. ISpDataKey *This,
  1685. LPCWSTR pszValueName,
  1686. DWORD *pdwValue);
  1687. HRESULT (STDMETHODCALLTYPE *OpenKey)(
  1688. ISpDataKey *This,
  1689. LPCWSTR pszSubKeyName,
  1690. ISpDataKey **ppSubKey);
  1691. HRESULT (STDMETHODCALLTYPE *CreateKey)(
  1692. ISpDataKey *This,
  1693. LPCWSTR pszSubKey,
  1694. ISpDataKey **ppSubKey);
  1695. HRESULT (STDMETHODCALLTYPE *DeleteKey)(
  1696. ISpDataKey *This,
  1697. LPCWSTR pszSubKey);
  1698. HRESULT (STDMETHODCALLTYPE *DeleteValue)(
  1699. ISpDataKey *This,
  1700. LPCWSTR pszValueName);
  1701. HRESULT (STDMETHODCALLTYPE *EnumKeys)(
  1702. ISpDataKey *This,
  1703. ULONG Index,
  1704. LPWSTR *ppszSubKeyName);
  1705. HRESULT (STDMETHODCALLTYPE *EnumValues)(
  1706. ISpDataKey *This,
  1707. ULONG Index,
  1708. LPWSTR *ppszValueName);
  1709. END_INTERFACE
  1710. } ISpDataKeyVtbl;
  1711. interface ISpDataKey {
  1712. CONST_VTBL ISpDataKeyVtbl* lpVtbl;
  1713. };
  1714. #ifdef COBJMACROS
  1715. #ifndef WIDL_C_INLINE_WRAPPERS
  1716. /*** IUnknown methods ***/
  1717. #define ISpDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1718. #define ISpDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
  1719. #define ISpDataKey_Release(This) (This)->lpVtbl->Release(This)
  1720. /*** ISpDataKey methods ***/
  1721. #define ISpDataKey_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
  1722. #define ISpDataKey_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
  1723. #define ISpDataKey_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
  1724. #define ISpDataKey_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
  1725. #define ISpDataKey_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
  1726. #define ISpDataKey_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
  1727. #define ISpDataKey_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
  1728. #define ISpDataKey_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
  1729. #define ISpDataKey_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
  1730. #define ISpDataKey_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
  1731. #define ISpDataKey_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
  1732. #define ISpDataKey_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
  1733. #else
  1734. /*** IUnknown methods ***/
  1735. static FORCEINLINE HRESULT ISpDataKey_QueryInterface(ISpDataKey* This,REFIID riid,void **ppvObject) {
  1736. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1737. }
  1738. static FORCEINLINE ULONG ISpDataKey_AddRef(ISpDataKey* This) {
  1739. return This->lpVtbl->AddRef(This);
  1740. }
  1741. static FORCEINLINE ULONG ISpDataKey_Release(ISpDataKey* This) {
  1742. return This->lpVtbl->Release(This);
  1743. }
  1744. /*** ISpDataKey methods ***/
  1745. static FORCEINLINE HRESULT ISpDataKey_SetData(ISpDataKey* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
  1746. return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
  1747. }
  1748. static FORCEINLINE HRESULT ISpDataKey_GetData(ISpDataKey* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
  1749. return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
  1750. }
  1751. static FORCEINLINE HRESULT ISpDataKey_SetStringValue(ISpDataKey* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
  1752. return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
  1753. }
  1754. static FORCEINLINE HRESULT ISpDataKey_GetStringValue(ISpDataKey* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
  1755. return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
  1756. }
  1757. static FORCEINLINE HRESULT ISpDataKey_SetDWORD(ISpDataKey* This,LPCWSTR pszValueName,DWORD dwValue) {
  1758. return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
  1759. }
  1760. static FORCEINLINE HRESULT ISpDataKey_GetDWORD(ISpDataKey* This,LPCWSTR pszValueName,DWORD *pdwValue) {
  1761. return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
  1762. }
  1763. static FORCEINLINE HRESULT ISpDataKey_OpenKey(ISpDataKey* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
  1764. return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
  1765. }
  1766. static FORCEINLINE HRESULT ISpDataKey_CreateKey(ISpDataKey* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
  1767. return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
  1768. }
  1769. static FORCEINLINE HRESULT ISpDataKey_DeleteKey(ISpDataKey* This,LPCWSTR pszSubKey) {
  1770. return This->lpVtbl->DeleteKey(This,pszSubKey);
  1771. }
  1772. static FORCEINLINE HRESULT ISpDataKey_DeleteValue(ISpDataKey* This,LPCWSTR pszValueName) {
  1773. return This->lpVtbl->DeleteValue(This,pszValueName);
  1774. }
  1775. static FORCEINLINE HRESULT ISpDataKey_EnumKeys(ISpDataKey* This,ULONG Index,LPWSTR *ppszSubKeyName) {
  1776. return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
  1777. }
  1778. static FORCEINLINE HRESULT ISpDataKey_EnumValues(ISpDataKey* This,ULONG Index,LPWSTR *ppszValueName) {
  1779. return This->lpVtbl->EnumValues(This,Index,ppszValueName);
  1780. }
  1781. #endif
  1782. #endif
  1783. #endif
  1784. #endif /* __ISpDataKey_INTERFACE_DEFINED__ */
  1785. /*****************************************************************************
  1786. * ISpObjectWithToken interface
  1787. */
  1788. #ifndef __ISpObjectWithToken_INTERFACE_DEFINED__
  1789. #define __ISpObjectWithToken_INTERFACE_DEFINED__
  1790. DEFINE_GUID(IID_ISpObjectWithToken, 0x5b559f40, 0xe952, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
  1791. #if defined(__cplusplus) && !defined(CINTERFACE)
  1792. MIDL_INTERFACE("5b559f40-e952-11d2-bb91-00c04f8ee6c0")
  1793. ISpObjectWithToken : public IUnknown
  1794. {
  1795. virtual HRESULT STDMETHODCALLTYPE SetObjectToken(
  1796. ISpObjectToken *pToken) = 0;
  1797. virtual HRESULT STDMETHODCALLTYPE GetObjectToken(
  1798. ISpObjectToken **ppToken) = 0;
  1799. };
  1800. #ifdef __CRT_UUID_DECL
  1801. __CRT_UUID_DECL(ISpObjectWithToken, 0x5b559f40, 0xe952, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
  1802. #endif
  1803. #else
  1804. typedef struct ISpObjectWithTokenVtbl {
  1805. BEGIN_INTERFACE
  1806. /*** IUnknown methods ***/
  1807. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1808. ISpObjectWithToken *This,
  1809. REFIID riid,
  1810. void **ppvObject);
  1811. ULONG (STDMETHODCALLTYPE *AddRef)(
  1812. ISpObjectWithToken *This);
  1813. ULONG (STDMETHODCALLTYPE *Release)(
  1814. ISpObjectWithToken *This);
  1815. /*** ISpObjectWithToken methods ***/
  1816. HRESULT (STDMETHODCALLTYPE *SetObjectToken)(
  1817. ISpObjectWithToken *This,
  1818. ISpObjectToken *pToken);
  1819. HRESULT (STDMETHODCALLTYPE *GetObjectToken)(
  1820. ISpObjectWithToken *This,
  1821. ISpObjectToken **ppToken);
  1822. END_INTERFACE
  1823. } ISpObjectWithTokenVtbl;
  1824. interface ISpObjectWithToken {
  1825. CONST_VTBL ISpObjectWithTokenVtbl* lpVtbl;
  1826. };
  1827. #ifdef COBJMACROS
  1828. #ifndef WIDL_C_INLINE_WRAPPERS
  1829. /*** IUnknown methods ***/
  1830. #define ISpObjectWithToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1831. #define ISpObjectWithToken_AddRef(This) (This)->lpVtbl->AddRef(This)
  1832. #define ISpObjectWithToken_Release(This) (This)->lpVtbl->Release(This)
  1833. /*** ISpObjectWithToken methods ***/
  1834. #define ISpObjectWithToken_SetObjectToken(This,pToken) (This)->lpVtbl->SetObjectToken(This,pToken)
  1835. #define ISpObjectWithToken_GetObjectToken(This,ppToken) (This)->lpVtbl->GetObjectToken(This,ppToken)
  1836. #else
  1837. /*** IUnknown methods ***/
  1838. static FORCEINLINE HRESULT ISpObjectWithToken_QueryInterface(ISpObjectWithToken* This,REFIID riid,void **ppvObject) {
  1839. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1840. }
  1841. static FORCEINLINE ULONG ISpObjectWithToken_AddRef(ISpObjectWithToken* This) {
  1842. return This->lpVtbl->AddRef(This);
  1843. }
  1844. static FORCEINLINE ULONG ISpObjectWithToken_Release(ISpObjectWithToken* This) {
  1845. return This->lpVtbl->Release(This);
  1846. }
  1847. /*** ISpObjectWithToken methods ***/
  1848. static FORCEINLINE HRESULT ISpObjectWithToken_SetObjectToken(ISpObjectWithToken* This,ISpObjectToken *pToken) {
  1849. return This->lpVtbl->SetObjectToken(This,pToken);
  1850. }
  1851. static FORCEINLINE HRESULT ISpObjectWithToken_GetObjectToken(ISpObjectWithToken* This,ISpObjectToken **ppToken) {
  1852. return This->lpVtbl->GetObjectToken(This,ppToken);
  1853. }
  1854. #endif
  1855. #endif
  1856. #endif
  1857. #endif /* __ISpObjectWithToken_INTERFACE_DEFINED__ */
  1858. /*****************************************************************************
  1859. * IEnumSpObjectTokens interface
  1860. */
  1861. #ifndef __IEnumSpObjectTokens_INTERFACE_DEFINED__
  1862. #define __IEnumSpObjectTokens_INTERFACE_DEFINED__
  1863. DEFINE_GUID(IID_IEnumSpObjectTokens, 0x06b64f9e, 0x7fda, 0x11d2, 0xb4,0xf2, 0x00,0xc0,0x4f,0x79,0x73,0x96);
  1864. #if defined(__cplusplus) && !defined(CINTERFACE)
  1865. MIDL_INTERFACE("06b64f9e-7fda-11d2-b4f2-00c04f797396")
  1866. IEnumSpObjectTokens : public IUnknown
  1867. {
  1868. virtual HRESULT STDMETHODCALLTYPE Next(
  1869. ULONG celt,
  1870. ISpObjectToken **pelt,
  1871. ULONG *pceltFetched) = 0;
  1872. virtual HRESULT STDMETHODCALLTYPE Skip(
  1873. ULONG celt) = 0;
  1874. virtual HRESULT STDMETHODCALLTYPE Reset(
  1875. ) = 0;
  1876. virtual HRESULT STDMETHODCALLTYPE Clone(
  1877. IEnumSpObjectTokens **ppEnum) = 0;
  1878. virtual HRESULT STDMETHODCALLTYPE Item(
  1879. ULONG Index,
  1880. ISpObjectToken **ppToken) = 0;
  1881. virtual HRESULT STDMETHODCALLTYPE GetCount(
  1882. ULONG *pCount) = 0;
  1883. };
  1884. #ifdef __CRT_UUID_DECL
  1885. __CRT_UUID_DECL(IEnumSpObjectTokens, 0x06b64f9e, 0x7fda, 0x11d2, 0xb4,0xf2, 0x00,0xc0,0x4f,0x79,0x73,0x96)
  1886. #endif
  1887. #else
  1888. typedef struct IEnumSpObjectTokensVtbl {
  1889. BEGIN_INTERFACE
  1890. /*** IUnknown methods ***/
  1891. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1892. IEnumSpObjectTokens *This,
  1893. REFIID riid,
  1894. void **ppvObject);
  1895. ULONG (STDMETHODCALLTYPE *AddRef)(
  1896. IEnumSpObjectTokens *This);
  1897. ULONG (STDMETHODCALLTYPE *Release)(
  1898. IEnumSpObjectTokens *This);
  1899. /*** IEnumSpObjectTokens methods ***/
  1900. HRESULT (STDMETHODCALLTYPE *Next)(
  1901. IEnumSpObjectTokens *This,
  1902. ULONG celt,
  1903. ISpObjectToken **pelt,
  1904. ULONG *pceltFetched);
  1905. HRESULT (STDMETHODCALLTYPE *Skip)(
  1906. IEnumSpObjectTokens *This,
  1907. ULONG celt);
  1908. HRESULT (STDMETHODCALLTYPE *Reset)(
  1909. IEnumSpObjectTokens *This);
  1910. HRESULT (STDMETHODCALLTYPE *Clone)(
  1911. IEnumSpObjectTokens *This,
  1912. IEnumSpObjectTokens **ppEnum);
  1913. HRESULT (STDMETHODCALLTYPE *Item)(
  1914. IEnumSpObjectTokens *This,
  1915. ULONG Index,
  1916. ISpObjectToken **ppToken);
  1917. HRESULT (STDMETHODCALLTYPE *GetCount)(
  1918. IEnumSpObjectTokens *This,
  1919. ULONG *pCount);
  1920. END_INTERFACE
  1921. } IEnumSpObjectTokensVtbl;
  1922. interface IEnumSpObjectTokens {
  1923. CONST_VTBL IEnumSpObjectTokensVtbl* lpVtbl;
  1924. };
  1925. #ifdef COBJMACROS
  1926. #ifndef WIDL_C_INLINE_WRAPPERS
  1927. /*** IUnknown methods ***/
  1928. #define IEnumSpObjectTokens_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1929. #define IEnumSpObjectTokens_AddRef(This) (This)->lpVtbl->AddRef(This)
  1930. #define IEnumSpObjectTokens_Release(This) (This)->lpVtbl->Release(This)
  1931. /*** IEnumSpObjectTokens methods ***/
  1932. #define IEnumSpObjectTokens_Next(This,celt,pelt,pceltFetched) (This)->lpVtbl->Next(This,celt,pelt,pceltFetched)
  1933. #define IEnumSpObjectTokens_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  1934. #define IEnumSpObjectTokens_Reset(This) (This)->lpVtbl->Reset(This)
  1935. #define IEnumSpObjectTokens_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
  1936. #define IEnumSpObjectTokens_Item(This,Index,ppToken) (This)->lpVtbl->Item(This,Index,ppToken)
  1937. #define IEnumSpObjectTokens_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount)
  1938. #else
  1939. /*** IUnknown methods ***/
  1940. static FORCEINLINE HRESULT IEnumSpObjectTokens_QueryInterface(IEnumSpObjectTokens* This,REFIID riid,void **ppvObject) {
  1941. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1942. }
  1943. static FORCEINLINE ULONG IEnumSpObjectTokens_AddRef(IEnumSpObjectTokens* This) {
  1944. return This->lpVtbl->AddRef(This);
  1945. }
  1946. static FORCEINLINE ULONG IEnumSpObjectTokens_Release(IEnumSpObjectTokens* This) {
  1947. return This->lpVtbl->Release(This);
  1948. }
  1949. /*** IEnumSpObjectTokens methods ***/
  1950. static FORCEINLINE HRESULT IEnumSpObjectTokens_Next(IEnumSpObjectTokens* This,ULONG celt,ISpObjectToken **pelt,ULONG *pceltFetched) {
  1951. return This->lpVtbl->Next(This,celt,pelt,pceltFetched);
  1952. }
  1953. static FORCEINLINE HRESULT IEnumSpObjectTokens_Skip(IEnumSpObjectTokens* This,ULONG celt) {
  1954. return This->lpVtbl->Skip(This,celt);
  1955. }
  1956. static FORCEINLINE HRESULT IEnumSpObjectTokens_Reset(IEnumSpObjectTokens* This) {
  1957. return This->lpVtbl->Reset(This);
  1958. }
  1959. static FORCEINLINE HRESULT IEnumSpObjectTokens_Clone(IEnumSpObjectTokens* This,IEnumSpObjectTokens **ppEnum) {
  1960. return This->lpVtbl->Clone(This,ppEnum);
  1961. }
  1962. static FORCEINLINE HRESULT IEnumSpObjectTokens_Item(IEnumSpObjectTokens* This,ULONG Index,ISpObjectToken **ppToken) {
  1963. return This->lpVtbl->Item(This,Index,ppToken);
  1964. }
  1965. static FORCEINLINE HRESULT IEnumSpObjectTokens_GetCount(IEnumSpObjectTokens* This,ULONG *pCount) {
  1966. return This->lpVtbl->GetCount(This,pCount);
  1967. }
  1968. #endif
  1969. #endif
  1970. #endif
  1971. #endif /* __IEnumSpObjectTokens_INTERFACE_DEFINED__ */
  1972. /*****************************************************************************
  1973. * ISpRegDataKey interface
  1974. */
  1975. #ifndef __ISpRegDataKey_INTERFACE_DEFINED__
  1976. #define __ISpRegDataKey_INTERFACE_DEFINED__
  1977. DEFINE_GUID(IID_ISpRegDataKey, 0x92a66e2b, 0xc830, 0x4149, 0x83,0xdf, 0x6f,0xc2,0xba,0x1e,0x7a,0x5b);
  1978. #if defined(__cplusplus) && !defined(CINTERFACE)
  1979. MIDL_INTERFACE("92a66e2b-c830-4149-83df-6fc2ba1e7a5b")
  1980. ISpRegDataKey : public ISpDataKey
  1981. {
  1982. virtual HRESULT STDMETHODCALLTYPE SetKey(
  1983. HKEY hkey,
  1984. WINBOOL fReadOnly) = 0;
  1985. };
  1986. #ifdef __CRT_UUID_DECL
  1987. __CRT_UUID_DECL(ISpRegDataKey, 0x92a66e2b, 0xc830, 0x4149, 0x83,0xdf, 0x6f,0xc2,0xba,0x1e,0x7a,0x5b)
  1988. #endif
  1989. #else
  1990. typedef struct ISpRegDataKeyVtbl {
  1991. BEGIN_INTERFACE
  1992. /*** IUnknown methods ***/
  1993. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1994. ISpRegDataKey *This,
  1995. REFIID riid,
  1996. void **ppvObject);
  1997. ULONG (STDMETHODCALLTYPE *AddRef)(
  1998. ISpRegDataKey *This);
  1999. ULONG (STDMETHODCALLTYPE *Release)(
  2000. ISpRegDataKey *This);
  2001. /*** ISpDataKey methods ***/
  2002. HRESULT (STDMETHODCALLTYPE *SetData)(
  2003. ISpRegDataKey *This,
  2004. LPCWSTR pszValueName,
  2005. ULONG cbData,
  2006. const BYTE *pData);
  2007. HRESULT (STDMETHODCALLTYPE *GetData)(
  2008. ISpRegDataKey *This,
  2009. LPCWSTR pszValueName,
  2010. ULONG *pcbData,
  2011. BYTE *pData);
  2012. HRESULT (STDMETHODCALLTYPE *SetStringValue)(
  2013. ISpRegDataKey *This,
  2014. LPCWSTR pszValueName,
  2015. LPCWSTR pszValue);
  2016. HRESULT (STDMETHODCALLTYPE *GetStringValue)(
  2017. ISpRegDataKey *This,
  2018. LPCWSTR pszValueName,
  2019. LPWSTR *ppszValue);
  2020. HRESULT (STDMETHODCALLTYPE *SetDWORD)(
  2021. ISpRegDataKey *This,
  2022. LPCWSTR pszValueName,
  2023. DWORD dwValue);
  2024. HRESULT (STDMETHODCALLTYPE *GetDWORD)(
  2025. ISpRegDataKey *This,
  2026. LPCWSTR pszValueName,
  2027. DWORD *pdwValue);
  2028. HRESULT (STDMETHODCALLTYPE *OpenKey)(
  2029. ISpRegDataKey *This,
  2030. LPCWSTR pszSubKeyName,
  2031. ISpDataKey **ppSubKey);
  2032. HRESULT (STDMETHODCALLTYPE *CreateKey)(
  2033. ISpRegDataKey *This,
  2034. LPCWSTR pszSubKey,
  2035. ISpDataKey **ppSubKey);
  2036. HRESULT (STDMETHODCALLTYPE *DeleteKey)(
  2037. ISpRegDataKey *This,
  2038. LPCWSTR pszSubKey);
  2039. HRESULT (STDMETHODCALLTYPE *DeleteValue)(
  2040. ISpRegDataKey *This,
  2041. LPCWSTR pszValueName);
  2042. HRESULT (STDMETHODCALLTYPE *EnumKeys)(
  2043. ISpRegDataKey *This,
  2044. ULONG Index,
  2045. LPWSTR *ppszSubKeyName);
  2046. HRESULT (STDMETHODCALLTYPE *EnumValues)(
  2047. ISpRegDataKey *This,
  2048. ULONG Index,
  2049. LPWSTR *ppszValueName);
  2050. /*** ISpRegDataKey methods ***/
  2051. HRESULT (STDMETHODCALLTYPE *SetKey)(
  2052. ISpRegDataKey *This,
  2053. HKEY hkey,
  2054. WINBOOL fReadOnly);
  2055. END_INTERFACE
  2056. } ISpRegDataKeyVtbl;
  2057. interface ISpRegDataKey {
  2058. CONST_VTBL ISpRegDataKeyVtbl* lpVtbl;
  2059. };
  2060. #ifdef COBJMACROS
  2061. #ifndef WIDL_C_INLINE_WRAPPERS
  2062. /*** IUnknown methods ***/
  2063. #define ISpRegDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2064. #define ISpRegDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
  2065. #define ISpRegDataKey_Release(This) (This)->lpVtbl->Release(This)
  2066. /*** ISpDataKey methods ***/
  2067. #define ISpRegDataKey_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
  2068. #define ISpRegDataKey_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
  2069. #define ISpRegDataKey_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
  2070. #define ISpRegDataKey_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
  2071. #define ISpRegDataKey_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
  2072. #define ISpRegDataKey_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
  2073. #define ISpRegDataKey_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
  2074. #define ISpRegDataKey_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
  2075. #define ISpRegDataKey_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
  2076. #define ISpRegDataKey_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
  2077. #define ISpRegDataKey_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
  2078. #define ISpRegDataKey_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
  2079. /*** ISpRegDataKey methods ***/
  2080. #define ISpRegDataKey_SetKey(This,hkey,fReadOnly) (This)->lpVtbl->SetKey(This,hkey,fReadOnly)
  2081. #else
  2082. /*** IUnknown methods ***/
  2083. static FORCEINLINE HRESULT ISpRegDataKey_QueryInterface(ISpRegDataKey* This,REFIID riid,void **ppvObject) {
  2084. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2085. }
  2086. static FORCEINLINE ULONG ISpRegDataKey_AddRef(ISpRegDataKey* This) {
  2087. return This->lpVtbl->AddRef(This);
  2088. }
  2089. static FORCEINLINE ULONG ISpRegDataKey_Release(ISpRegDataKey* This) {
  2090. return This->lpVtbl->Release(This);
  2091. }
  2092. /*** ISpDataKey methods ***/
  2093. static FORCEINLINE HRESULT ISpRegDataKey_SetData(ISpRegDataKey* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
  2094. return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
  2095. }
  2096. static FORCEINLINE HRESULT ISpRegDataKey_GetData(ISpRegDataKey* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
  2097. return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
  2098. }
  2099. static FORCEINLINE HRESULT ISpRegDataKey_SetStringValue(ISpRegDataKey* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
  2100. return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
  2101. }
  2102. static FORCEINLINE HRESULT ISpRegDataKey_GetStringValue(ISpRegDataKey* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
  2103. return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
  2104. }
  2105. static FORCEINLINE HRESULT ISpRegDataKey_SetDWORD(ISpRegDataKey* This,LPCWSTR pszValueName,DWORD dwValue) {
  2106. return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
  2107. }
  2108. static FORCEINLINE HRESULT ISpRegDataKey_GetDWORD(ISpRegDataKey* This,LPCWSTR pszValueName,DWORD *pdwValue) {
  2109. return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
  2110. }
  2111. static FORCEINLINE HRESULT ISpRegDataKey_OpenKey(ISpRegDataKey* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
  2112. return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
  2113. }
  2114. static FORCEINLINE HRESULT ISpRegDataKey_CreateKey(ISpRegDataKey* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
  2115. return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
  2116. }
  2117. static FORCEINLINE HRESULT ISpRegDataKey_DeleteKey(ISpRegDataKey* This,LPCWSTR pszSubKey) {
  2118. return This->lpVtbl->DeleteKey(This,pszSubKey);
  2119. }
  2120. static FORCEINLINE HRESULT ISpRegDataKey_DeleteValue(ISpRegDataKey* This,LPCWSTR pszValueName) {
  2121. return This->lpVtbl->DeleteValue(This,pszValueName);
  2122. }
  2123. static FORCEINLINE HRESULT ISpRegDataKey_EnumKeys(ISpRegDataKey* This,ULONG Index,LPWSTR *ppszSubKeyName) {
  2124. return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
  2125. }
  2126. static FORCEINLINE HRESULT ISpRegDataKey_EnumValues(ISpRegDataKey* This,ULONG Index,LPWSTR *ppszValueName) {
  2127. return This->lpVtbl->EnumValues(This,Index,ppszValueName);
  2128. }
  2129. /*** ISpRegDataKey methods ***/
  2130. static FORCEINLINE HRESULT ISpRegDataKey_SetKey(ISpRegDataKey* This,HKEY hkey,WINBOOL fReadOnly) {
  2131. return This->lpVtbl->SetKey(This,hkey,fReadOnly);
  2132. }
  2133. #endif
  2134. #endif
  2135. #endif
  2136. #endif /* __ISpRegDataKey_INTERFACE_DEFINED__ */
  2137. /*****************************************************************************
  2138. * ISpObjectTokenCategory interface
  2139. */
  2140. #ifndef __ISpObjectTokenCategory_INTERFACE_DEFINED__
  2141. #define __ISpObjectTokenCategory_INTERFACE_DEFINED__
  2142. DEFINE_GUID(IID_ISpObjectTokenCategory, 0x2d3d3845, 0x39af, 0x4850, 0xbb,0xf9, 0x40,0xb4,0x97,0x80,0x01,0x1d);
  2143. #if defined(__cplusplus) && !defined(CINTERFACE)
  2144. MIDL_INTERFACE("2d3d3845-39af-4850-bbf9-40b49780011d")
  2145. ISpObjectTokenCategory : public ISpDataKey
  2146. {
  2147. virtual HRESULT STDMETHODCALLTYPE SetId(
  2148. LPCWSTR pszCategoryId,
  2149. WINBOOL fCreateIfNotExist) = 0;
  2150. virtual HRESULT STDMETHODCALLTYPE GetId(
  2151. LPWSTR *ppszCoMemCategoryId) = 0;
  2152. virtual HRESULT STDMETHODCALLTYPE GetDataKey(
  2153. SPDATAKEYLOCATION spdkl,
  2154. ISpDataKey **ppDataKey) = 0;
  2155. virtual HRESULT STDMETHODCALLTYPE EnumTokens(
  2156. LPCWSTR pzsReqAttribs,
  2157. LPCWSTR pszOptAttribs,
  2158. IEnumSpObjectTokens **ppEnum) = 0;
  2159. virtual HRESULT STDMETHODCALLTYPE SetDefaultTokenId(
  2160. LPCWSTR pszTokenId) = 0;
  2161. virtual HRESULT STDMETHODCALLTYPE GetDefaultTokenId(
  2162. LPWSTR *ppszCoMemTokenId) = 0;
  2163. };
  2164. #ifdef __CRT_UUID_DECL
  2165. __CRT_UUID_DECL(ISpObjectTokenCategory, 0x2d3d3845, 0x39af, 0x4850, 0xbb,0xf9, 0x40,0xb4,0x97,0x80,0x01,0x1d)
  2166. #endif
  2167. #else
  2168. typedef struct ISpObjectTokenCategoryVtbl {
  2169. BEGIN_INTERFACE
  2170. /*** IUnknown methods ***/
  2171. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2172. ISpObjectTokenCategory *This,
  2173. REFIID riid,
  2174. void **ppvObject);
  2175. ULONG (STDMETHODCALLTYPE *AddRef)(
  2176. ISpObjectTokenCategory *This);
  2177. ULONG (STDMETHODCALLTYPE *Release)(
  2178. ISpObjectTokenCategory *This);
  2179. /*** ISpDataKey methods ***/
  2180. HRESULT (STDMETHODCALLTYPE *SetData)(
  2181. ISpObjectTokenCategory *This,
  2182. LPCWSTR pszValueName,
  2183. ULONG cbData,
  2184. const BYTE *pData);
  2185. HRESULT (STDMETHODCALLTYPE *GetData)(
  2186. ISpObjectTokenCategory *This,
  2187. LPCWSTR pszValueName,
  2188. ULONG *pcbData,
  2189. BYTE *pData);
  2190. HRESULT (STDMETHODCALLTYPE *SetStringValue)(
  2191. ISpObjectTokenCategory *This,
  2192. LPCWSTR pszValueName,
  2193. LPCWSTR pszValue);
  2194. HRESULT (STDMETHODCALLTYPE *GetStringValue)(
  2195. ISpObjectTokenCategory *This,
  2196. LPCWSTR pszValueName,
  2197. LPWSTR *ppszValue);
  2198. HRESULT (STDMETHODCALLTYPE *SetDWORD)(
  2199. ISpObjectTokenCategory *This,
  2200. LPCWSTR pszValueName,
  2201. DWORD dwValue);
  2202. HRESULT (STDMETHODCALLTYPE *GetDWORD)(
  2203. ISpObjectTokenCategory *This,
  2204. LPCWSTR pszValueName,
  2205. DWORD *pdwValue);
  2206. HRESULT (STDMETHODCALLTYPE *OpenKey)(
  2207. ISpObjectTokenCategory *This,
  2208. LPCWSTR pszSubKeyName,
  2209. ISpDataKey **ppSubKey);
  2210. HRESULT (STDMETHODCALLTYPE *CreateKey)(
  2211. ISpObjectTokenCategory *This,
  2212. LPCWSTR pszSubKey,
  2213. ISpDataKey **ppSubKey);
  2214. HRESULT (STDMETHODCALLTYPE *DeleteKey)(
  2215. ISpObjectTokenCategory *This,
  2216. LPCWSTR pszSubKey);
  2217. HRESULT (STDMETHODCALLTYPE *DeleteValue)(
  2218. ISpObjectTokenCategory *This,
  2219. LPCWSTR pszValueName);
  2220. HRESULT (STDMETHODCALLTYPE *EnumKeys)(
  2221. ISpObjectTokenCategory *This,
  2222. ULONG Index,
  2223. LPWSTR *ppszSubKeyName);
  2224. HRESULT (STDMETHODCALLTYPE *EnumValues)(
  2225. ISpObjectTokenCategory *This,
  2226. ULONG Index,
  2227. LPWSTR *ppszValueName);
  2228. /*** ISpObjectTokenCategory methods ***/
  2229. HRESULT (STDMETHODCALLTYPE *SetId)(
  2230. ISpObjectTokenCategory *This,
  2231. LPCWSTR pszCategoryId,
  2232. WINBOOL fCreateIfNotExist);
  2233. HRESULT (STDMETHODCALLTYPE *GetId)(
  2234. ISpObjectTokenCategory *This,
  2235. LPWSTR *ppszCoMemCategoryId);
  2236. HRESULT (STDMETHODCALLTYPE *GetDataKey)(
  2237. ISpObjectTokenCategory *This,
  2238. SPDATAKEYLOCATION spdkl,
  2239. ISpDataKey **ppDataKey);
  2240. HRESULT (STDMETHODCALLTYPE *EnumTokens)(
  2241. ISpObjectTokenCategory *This,
  2242. LPCWSTR pzsReqAttribs,
  2243. LPCWSTR pszOptAttribs,
  2244. IEnumSpObjectTokens **ppEnum);
  2245. HRESULT (STDMETHODCALLTYPE *SetDefaultTokenId)(
  2246. ISpObjectTokenCategory *This,
  2247. LPCWSTR pszTokenId);
  2248. HRESULT (STDMETHODCALLTYPE *GetDefaultTokenId)(
  2249. ISpObjectTokenCategory *This,
  2250. LPWSTR *ppszCoMemTokenId);
  2251. END_INTERFACE
  2252. } ISpObjectTokenCategoryVtbl;
  2253. interface ISpObjectTokenCategory {
  2254. CONST_VTBL ISpObjectTokenCategoryVtbl* lpVtbl;
  2255. };
  2256. #ifdef COBJMACROS
  2257. #ifndef WIDL_C_INLINE_WRAPPERS
  2258. /*** IUnknown methods ***/
  2259. #define ISpObjectTokenCategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2260. #define ISpObjectTokenCategory_AddRef(This) (This)->lpVtbl->AddRef(This)
  2261. #define ISpObjectTokenCategory_Release(This) (This)->lpVtbl->Release(This)
  2262. /*** ISpDataKey methods ***/
  2263. #define ISpObjectTokenCategory_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
  2264. #define ISpObjectTokenCategory_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
  2265. #define ISpObjectTokenCategory_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
  2266. #define ISpObjectTokenCategory_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
  2267. #define ISpObjectTokenCategory_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
  2268. #define ISpObjectTokenCategory_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
  2269. #define ISpObjectTokenCategory_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
  2270. #define ISpObjectTokenCategory_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
  2271. #define ISpObjectTokenCategory_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
  2272. #define ISpObjectTokenCategory_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
  2273. #define ISpObjectTokenCategory_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
  2274. #define ISpObjectTokenCategory_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
  2275. /*** ISpObjectTokenCategory methods ***/
  2276. #define ISpObjectTokenCategory_SetId(This,pszCategoryId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,fCreateIfNotExist)
  2277. #define ISpObjectTokenCategory_GetId(This,ppszCoMemCategoryId) (This)->lpVtbl->GetId(This,ppszCoMemCategoryId)
  2278. #define ISpObjectTokenCategory_GetDataKey(This,spdkl,ppDataKey) (This)->lpVtbl->GetDataKey(This,spdkl,ppDataKey)
  2279. #define ISpObjectTokenCategory_EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum) (This)->lpVtbl->EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum)
  2280. #define ISpObjectTokenCategory_SetDefaultTokenId(This,pszTokenId) (This)->lpVtbl->SetDefaultTokenId(This,pszTokenId)
  2281. #define ISpObjectTokenCategory_GetDefaultTokenId(This,ppszCoMemTokenId) (This)->lpVtbl->GetDefaultTokenId(This,ppszCoMemTokenId)
  2282. #else
  2283. /*** IUnknown methods ***/
  2284. static FORCEINLINE HRESULT ISpObjectTokenCategory_QueryInterface(ISpObjectTokenCategory* This,REFIID riid,void **ppvObject) {
  2285. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2286. }
  2287. static FORCEINLINE ULONG ISpObjectTokenCategory_AddRef(ISpObjectTokenCategory* This) {
  2288. return This->lpVtbl->AddRef(This);
  2289. }
  2290. static FORCEINLINE ULONG ISpObjectTokenCategory_Release(ISpObjectTokenCategory* This) {
  2291. return This->lpVtbl->Release(This);
  2292. }
  2293. /*** ISpDataKey methods ***/
  2294. static FORCEINLINE HRESULT ISpObjectTokenCategory_SetData(ISpObjectTokenCategory* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
  2295. return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
  2296. }
  2297. static FORCEINLINE HRESULT ISpObjectTokenCategory_GetData(ISpObjectTokenCategory* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
  2298. return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
  2299. }
  2300. static FORCEINLINE HRESULT ISpObjectTokenCategory_SetStringValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
  2301. return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
  2302. }
  2303. static FORCEINLINE HRESULT ISpObjectTokenCategory_GetStringValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
  2304. return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
  2305. }
  2306. static FORCEINLINE HRESULT ISpObjectTokenCategory_SetDWORD(ISpObjectTokenCategory* This,LPCWSTR pszValueName,DWORD dwValue) {
  2307. return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
  2308. }
  2309. static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDWORD(ISpObjectTokenCategory* This,LPCWSTR pszValueName,DWORD *pdwValue) {
  2310. return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
  2311. }
  2312. static FORCEINLINE HRESULT ISpObjectTokenCategory_OpenKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
  2313. return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
  2314. }
  2315. static FORCEINLINE HRESULT ISpObjectTokenCategory_CreateKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
  2316. return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
  2317. }
  2318. static FORCEINLINE HRESULT ISpObjectTokenCategory_DeleteKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKey) {
  2319. return This->lpVtbl->DeleteKey(This,pszSubKey);
  2320. }
  2321. static FORCEINLINE HRESULT ISpObjectTokenCategory_DeleteValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName) {
  2322. return This->lpVtbl->DeleteValue(This,pszValueName);
  2323. }
  2324. static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumKeys(ISpObjectTokenCategory* This,ULONG Index,LPWSTR *ppszSubKeyName) {
  2325. return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
  2326. }
  2327. static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumValues(ISpObjectTokenCategory* This,ULONG Index,LPWSTR *ppszValueName) {
  2328. return This->lpVtbl->EnumValues(This,Index,ppszValueName);
  2329. }
  2330. /*** ISpObjectTokenCategory methods ***/
  2331. static FORCEINLINE HRESULT ISpObjectTokenCategory_SetId(ISpObjectTokenCategory* This,LPCWSTR pszCategoryId,WINBOOL fCreateIfNotExist) {
  2332. return This->lpVtbl->SetId(This,pszCategoryId,fCreateIfNotExist);
  2333. }
  2334. static FORCEINLINE HRESULT ISpObjectTokenCategory_GetId(ISpObjectTokenCategory* This,LPWSTR *ppszCoMemCategoryId) {
  2335. return This->lpVtbl->GetId(This,ppszCoMemCategoryId);
  2336. }
  2337. static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDataKey(ISpObjectTokenCategory* This,SPDATAKEYLOCATION spdkl,ISpDataKey **ppDataKey) {
  2338. return This->lpVtbl->GetDataKey(This,spdkl,ppDataKey);
  2339. }
  2340. static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumTokens(ISpObjectTokenCategory* This,LPCWSTR pzsReqAttribs,LPCWSTR pszOptAttribs,IEnumSpObjectTokens **ppEnum) {
  2341. return This->lpVtbl->EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum);
  2342. }
  2343. static FORCEINLINE HRESULT ISpObjectTokenCategory_SetDefaultTokenId(ISpObjectTokenCategory* This,LPCWSTR pszTokenId) {
  2344. return This->lpVtbl->SetDefaultTokenId(This,pszTokenId);
  2345. }
  2346. static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDefaultTokenId(ISpObjectTokenCategory* This,LPWSTR *ppszCoMemTokenId) {
  2347. return This->lpVtbl->GetDefaultTokenId(This,ppszCoMemTokenId);
  2348. }
  2349. #endif
  2350. #endif
  2351. #endif
  2352. #endif /* __ISpObjectTokenCategory_INTERFACE_DEFINED__ */
  2353. /*****************************************************************************
  2354. * ISpObjectToken interface
  2355. */
  2356. #ifndef __ISpObjectToken_INTERFACE_DEFINED__
  2357. #define __ISpObjectToken_INTERFACE_DEFINED__
  2358. DEFINE_GUID(IID_ISpObjectToken, 0x14056589, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
  2359. #if defined(__cplusplus) && !defined(CINTERFACE)
  2360. MIDL_INTERFACE("14056589-e16c-11d2-bb90-00c04f8ee6c0")
  2361. ISpObjectToken : public ISpDataKey
  2362. {
  2363. virtual HRESULT STDMETHODCALLTYPE SetId(
  2364. LPCWSTR pszCategoryId,
  2365. LPCWSTR pszTokenId,
  2366. WINBOOL fCreateIfNotExist) = 0;
  2367. virtual HRESULT STDMETHODCALLTYPE GetId(
  2368. LPWSTR *ppszCoMemTokenId) = 0;
  2369. virtual HRESULT STDMETHODCALLTYPE GetCategory(
  2370. ISpObjectTokenCategory **ppTokenCategory) = 0;
  2371. virtual HRESULT STDMETHODCALLTYPE CreateInstance(
  2372. IUnknown *pUnkOuter,
  2373. DWORD dwClsContext,
  2374. REFIID riid,
  2375. void **ppvObject) = 0;
  2376. virtual HRESULT STDMETHODCALLTYPE GetStorageFileName(
  2377. REFCLSID clsidCaller,
  2378. LPCWSTR pszValueName,
  2379. LPCWSTR pszFileNameSpecifier,
  2380. ULONG nFolder,
  2381. LPWSTR *ppszFilePath) = 0;
  2382. virtual HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
  2383. REFCLSID clsidCaller,
  2384. LPCWSTR pszKeyName,
  2385. WINBOOL fDeleteFile) = 0;
  2386. virtual HRESULT STDMETHODCALLTYPE Remove(
  2387. const CLSID *pclsidCaller) = 0;
  2388. virtual HRESULT STDMETHODCALLTYPE IsUISupported(
  2389. LPCWSTR pszTypeOfUI,
  2390. void *pvExtraData,
  2391. ULONG cbExtraData,
  2392. IUnknown *punkObject,
  2393. WINBOOL *pfSupported) = 0;
  2394. virtual HRESULT STDMETHODCALLTYPE DisplayUI(
  2395. HWND hwndParent,
  2396. LPCWSTR pszTitle,
  2397. LPCWSTR pszTypeOfUI,
  2398. void *pvExtraData,
  2399. ULONG cbExtraData,
  2400. IUnknown *punkObject) = 0;
  2401. virtual HRESULT STDMETHODCALLTYPE MatchesAttributes(
  2402. LPCWSTR pszAttributes,
  2403. WINBOOL *pfMatches) = 0;
  2404. };
  2405. #ifdef __CRT_UUID_DECL
  2406. __CRT_UUID_DECL(ISpObjectToken, 0x14056589, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
  2407. #endif
  2408. #else
  2409. typedef struct ISpObjectTokenVtbl {
  2410. BEGIN_INTERFACE
  2411. /*** IUnknown methods ***/
  2412. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2413. ISpObjectToken *This,
  2414. REFIID riid,
  2415. void **ppvObject);
  2416. ULONG (STDMETHODCALLTYPE *AddRef)(
  2417. ISpObjectToken *This);
  2418. ULONG (STDMETHODCALLTYPE *Release)(
  2419. ISpObjectToken *This);
  2420. /*** ISpDataKey methods ***/
  2421. HRESULT (STDMETHODCALLTYPE *SetData)(
  2422. ISpObjectToken *This,
  2423. LPCWSTR pszValueName,
  2424. ULONG cbData,
  2425. const BYTE *pData);
  2426. HRESULT (STDMETHODCALLTYPE *GetData)(
  2427. ISpObjectToken *This,
  2428. LPCWSTR pszValueName,
  2429. ULONG *pcbData,
  2430. BYTE *pData);
  2431. HRESULT (STDMETHODCALLTYPE *SetStringValue)(
  2432. ISpObjectToken *This,
  2433. LPCWSTR pszValueName,
  2434. LPCWSTR pszValue);
  2435. HRESULT (STDMETHODCALLTYPE *GetStringValue)(
  2436. ISpObjectToken *This,
  2437. LPCWSTR pszValueName,
  2438. LPWSTR *ppszValue);
  2439. HRESULT (STDMETHODCALLTYPE *SetDWORD)(
  2440. ISpObjectToken *This,
  2441. LPCWSTR pszValueName,
  2442. DWORD dwValue);
  2443. HRESULT (STDMETHODCALLTYPE *GetDWORD)(
  2444. ISpObjectToken *This,
  2445. LPCWSTR pszValueName,
  2446. DWORD *pdwValue);
  2447. HRESULT (STDMETHODCALLTYPE *OpenKey)(
  2448. ISpObjectToken *This,
  2449. LPCWSTR pszSubKeyName,
  2450. ISpDataKey **ppSubKey);
  2451. HRESULT (STDMETHODCALLTYPE *CreateKey)(
  2452. ISpObjectToken *This,
  2453. LPCWSTR pszSubKey,
  2454. ISpDataKey **ppSubKey);
  2455. HRESULT (STDMETHODCALLTYPE *DeleteKey)(
  2456. ISpObjectToken *This,
  2457. LPCWSTR pszSubKey);
  2458. HRESULT (STDMETHODCALLTYPE *DeleteValue)(
  2459. ISpObjectToken *This,
  2460. LPCWSTR pszValueName);
  2461. HRESULT (STDMETHODCALLTYPE *EnumKeys)(
  2462. ISpObjectToken *This,
  2463. ULONG Index,
  2464. LPWSTR *ppszSubKeyName);
  2465. HRESULT (STDMETHODCALLTYPE *EnumValues)(
  2466. ISpObjectToken *This,
  2467. ULONG Index,
  2468. LPWSTR *ppszValueName);
  2469. /*** ISpObjectToken methods ***/
  2470. HRESULT (STDMETHODCALLTYPE *SetId)(
  2471. ISpObjectToken *This,
  2472. LPCWSTR pszCategoryId,
  2473. LPCWSTR pszTokenId,
  2474. WINBOOL fCreateIfNotExist);
  2475. HRESULT (STDMETHODCALLTYPE *GetId)(
  2476. ISpObjectToken *This,
  2477. LPWSTR *ppszCoMemTokenId);
  2478. HRESULT (STDMETHODCALLTYPE *GetCategory)(
  2479. ISpObjectToken *This,
  2480. ISpObjectTokenCategory **ppTokenCategory);
  2481. HRESULT (STDMETHODCALLTYPE *CreateInstance)(
  2482. ISpObjectToken *This,
  2483. IUnknown *pUnkOuter,
  2484. DWORD dwClsContext,
  2485. REFIID riid,
  2486. void **ppvObject);
  2487. HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
  2488. ISpObjectToken *This,
  2489. REFCLSID clsidCaller,
  2490. LPCWSTR pszValueName,
  2491. LPCWSTR pszFileNameSpecifier,
  2492. ULONG nFolder,
  2493. LPWSTR *ppszFilePath);
  2494. HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
  2495. ISpObjectToken *This,
  2496. REFCLSID clsidCaller,
  2497. LPCWSTR pszKeyName,
  2498. WINBOOL fDeleteFile);
  2499. HRESULT (STDMETHODCALLTYPE *Remove)(
  2500. ISpObjectToken *This,
  2501. const CLSID *pclsidCaller);
  2502. HRESULT (STDMETHODCALLTYPE *IsUISupported)(
  2503. ISpObjectToken *This,
  2504. LPCWSTR pszTypeOfUI,
  2505. void *pvExtraData,
  2506. ULONG cbExtraData,
  2507. IUnknown *punkObject,
  2508. WINBOOL *pfSupported);
  2509. HRESULT (STDMETHODCALLTYPE *DisplayUI)(
  2510. ISpObjectToken *This,
  2511. HWND hwndParent,
  2512. LPCWSTR pszTitle,
  2513. LPCWSTR pszTypeOfUI,
  2514. void *pvExtraData,
  2515. ULONG cbExtraData,
  2516. IUnknown *punkObject);
  2517. HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
  2518. ISpObjectToken *This,
  2519. LPCWSTR pszAttributes,
  2520. WINBOOL *pfMatches);
  2521. END_INTERFACE
  2522. } ISpObjectTokenVtbl;
  2523. interface ISpObjectToken {
  2524. CONST_VTBL ISpObjectTokenVtbl* lpVtbl;
  2525. };
  2526. #ifdef COBJMACROS
  2527. #ifndef WIDL_C_INLINE_WRAPPERS
  2528. /*** IUnknown methods ***/
  2529. #define ISpObjectToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2530. #define ISpObjectToken_AddRef(This) (This)->lpVtbl->AddRef(This)
  2531. #define ISpObjectToken_Release(This) (This)->lpVtbl->Release(This)
  2532. /*** ISpDataKey methods ***/
  2533. #define ISpObjectToken_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
  2534. #define ISpObjectToken_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
  2535. #define ISpObjectToken_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
  2536. #define ISpObjectToken_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
  2537. #define ISpObjectToken_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
  2538. #define ISpObjectToken_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
  2539. #define ISpObjectToken_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
  2540. #define ISpObjectToken_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
  2541. #define ISpObjectToken_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
  2542. #define ISpObjectToken_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
  2543. #define ISpObjectToken_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
  2544. #define ISpObjectToken_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
  2545. /*** ISpObjectToken methods ***/
  2546. #define ISpObjectToken_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
  2547. #define ISpObjectToken_GetId(This,ppszCoMemTokenId) (This)->lpVtbl->GetId(This,ppszCoMemTokenId)
  2548. #define ISpObjectToken_GetCategory(This,ppTokenCategory) (This)->lpVtbl->GetCategory(This,ppTokenCategory)
  2549. #define ISpObjectToken_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
  2550. #define ISpObjectToken_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath) (This)->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
  2551. #define ISpObjectToken_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
  2552. #define ISpObjectToken_Remove(This,pclsidCaller) (This)->lpVtbl->Remove(This,pclsidCaller)
  2553. #define ISpObjectToken_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
  2554. #define ISpObjectToken_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
  2555. #define ISpObjectToken_MatchesAttributes(This,pszAttributes,pfMatches) (This)->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches)
  2556. #else
  2557. /*** IUnknown methods ***/
  2558. static FORCEINLINE HRESULT ISpObjectToken_QueryInterface(ISpObjectToken* This,REFIID riid,void **ppvObject) {
  2559. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2560. }
  2561. static FORCEINLINE ULONG ISpObjectToken_AddRef(ISpObjectToken* This) {
  2562. return This->lpVtbl->AddRef(This);
  2563. }
  2564. static FORCEINLINE ULONG ISpObjectToken_Release(ISpObjectToken* This) {
  2565. return This->lpVtbl->Release(This);
  2566. }
  2567. /*** ISpDataKey methods ***/
  2568. static FORCEINLINE HRESULT ISpObjectToken_SetData(ISpObjectToken* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
  2569. return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
  2570. }
  2571. static FORCEINLINE HRESULT ISpObjectToken_GetData(ISpObjectToken* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
  2572. return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
  2573. }
  2574. static FORCEINLINE HRESULT ISpObjectToken_SetStringValue(ISpObjectToken* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
  2575. return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
  2576. }
  2577. static FORCEINLINE HRESULT ISpObjectToken_GetStringValue(ISpObjectToken* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
  2578. return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
  2579. }
  2580. static FORCEINLINE HRESULT ISpObjectToken_SetDWORD(ISpObjectToken* This,LPCWSTR pszValueName,DWORD dwValue) {
  2581. return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
  2582. }
  2583. static FORCEINLINE HRESULT ISpObjectToken_GetDWORD(ISpObjectToken* This,LPCWSTR pszValueName,DWORD *pdwValue) {
  2584. return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
  2585. }
  2586. static FORCEINLINE HRESULT ISpObjectToken_OpenKey(ISpObjectToken* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
  2587. return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
  2588. }
  2589. static FORCEINLINE HRESULT ISpObjectToken_CreateKey(ISpObjectToken* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
  2590. return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
  2591. }
  2592. static FORCEINLINE HRESULT ISpObjectToken_DeleteKey(ISpObjectToken* This,LPCWSTR pszSubKey) {
  2593. return This->lpVtbl->DeleteKey(This,pszSubKey);
  2594. }
  2595. static FORCEINLINE HRESULT ISpObjectToken_DeleteValue(ISpObjectToken* This,LPCWSTR pszValueName) {
  2596. return This->lpVtbl->DeleteValue(This,pszValueName);
  2597. }
  2598. static FORCEINLINE HRESULT ISpObjectToken_EnumKeys(ISpObjectToken* This,ULONG Index,LPWSTR *ppszSubKeyName) {
  2599. return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
  2600. }
  2601. static FORCEINLINE HRESULT ISpObjectToken_EnumValues(ISpObjectToken* This,ULONG Index,LPWSTR *ppszValueName) {
  2602. return This->lpVtbl->EnumValues(This,Index,ppszValueName);
  2603. }
  2604. /*** ISpObjectToken methods ***/
  2605. static FORCEINLINE HRESULT ISpObjectToken_SetId(ISpObjectToken* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,WINBOOL fCreateIfNotExist) {
  2606. return This->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist);
  2607. }
  2608. static FORCEINLINE HRESULT ISpObjectToken_GetId(ISpObjectToken* This,LPWSTR *ppszCoMemTokenId) {
  2609. return This->lpVtbl->GetId(This,ppszCoMemTokenId);
  2610. }
  2611. static FORCEINLINE HRESULT ISpObjectToken_GetCategory(ISpObjectToken* This,ISpObjectTokenCategory **ppTokenCategory) {
  2612. return This->lpVtbl->GetCategory(This,ppTokenCategory);
  2613. }
  2614. static FORCEINLINE HRESULT ISpObjectToken_CreateInstance(ISpObjectToken* This,IUnknown *pUnkOuter,DWORD dwClsContext,REFIID riid,void **ppvObject) {
  2615. return This->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject);
  2616. }
  2617. static FORCEINLINE HRESULT ISpObjectToken_GetStorageFileName(ISpObjectToken* This,REFCLSID clsidCaller,LPCWSTR pszValueName,LPCWSTR pszFileNameSpecifier,ULONG nFolder,LPWSTR *ppszFilePath) {
  2618. return This->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath);
  2619. }
  2620. static FORCEINLINE HRESULT ISpObjectToken_RemoveStorageFileName(ISpObjectToken* This,REFCLSID clsidCaller,LPCWSTR pszKeyName,WINBOOL fDeleteFile) {
  2621. return This->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile);
  2622. }
  2623. static FORCEINLINE HRESULT ISpObjectToken_Remove(ISpObjectToken* This,const CLSID *pclsidCaller) {
  2624. return This->lpVtbl->Remove(This,pclsidCaller);
  2625. }
  2626. static FORCEINLINE HRESULT ISpObjectToken_IsUISupported(ISpObjectToken* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject,WINBOOL *pfSupported) {
  2627. return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported);
  2628. }
  2629. static FORCEINLINE HRESULT ISpObjectToken_DisplayUI(ISpObjectToken* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject) {
  2630. return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject);
  2631. }
  2632. static FORCEINLINE HRESULT ISpObjectToken_MatchesAttributes(ISpObjectToken* This,LPCWSTR pszAttributes,WINBOOL *pfMatches) {
  2633. return This->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches);
  2634. }
  2635. #endif
  2636. #endif
  2637. #endif
  2638. #endif /* __ISpObjectToken_INTERFACE_DEFINED__ */
  2639. /*****************************************************************************
  2640. * ISpObjectTokenInit interface
  2641. */
  2642. #ifndef __ISpObjectTokenInit_INTERFACE_DEFINED__
  2643. #define __ISpObjectTokenInit_INTERFACE_DEFINED__
  2644. DEFINE_GUID(IID_ISpObjectTokenInit, 0xb8aab0cf, 0x346f, 0x49d8, 0x94,0x99, 0xc8,0xb0,0x3f,0x16,0x1d,0x51);
  2645. #if defined(__cplusplus) && !defined(CINTERFACE)
  2646. MIDL_INTERFACE("b8aab0cf-346f-49d8-9499-c8b03f161d51")
  2647. ISpObjectTokenInit : public ISpObjectToken
  2648. {
  2649. virtual HRESULT STDMETHODCALLTYPE InitFromDataKey(
  2650. LPCWSTR pszCategoryId,
  2651. LPCWSTR pszTokenId,
  2652. ISpDataKey *pDataKey) = 0;
  2653. };
  2654. #ifdef __CRT_UUID_DECL
  2655. __CRT_UUID_DECL(ISpObjectTokenInit, 0xb8aab0cf, 0x346f, 0x49d8, 0x94,0x99, 0xc8,0xb0,0x3f,0x16,0x1d,0x51)
  2656. #endif
  2657. #else
  2658. typedef struct ISpObjectTokenInitVtbl {
  2659. BEGIN_INTERFACE
  2660. /*** IUnknown methods ***/
  2661. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2662. ISpObjectTokenInit *This,
  2663. REFIID riid,
  2664. void **ppvObject);
  2665. ULONG (STDMETHODCALLTYPE *AddRef)(
  2666. ISpObjectTokenInit *This);
  2667. ULONG (STDMETHODCALLTYPE *Release)(
  2668. ISpObjectTokenInit *This);
  2669. /*** ISpDataKey methods ***/
  2670. HRESULT (STDMETHODCALLTYPE *SetData)(
  2671. ISpObjectTokenInit *This,
  2672. LPCWSTR pszValueName,
  2673. ULONG cbData,
  2674. const BYTE *pData);
  2675. HRESULT (STDMETHODCALLTYPE *GetData)(
  2676. ISpObjectTokenInit *This,
  2677. LPCWSTR pszValueName,
  2678. ULONG *pcbData,
  2679. BYTE *pData);
  2680. HRESULT (STDMETHODCALLTYPE *SetStringValue)(
  2681. ISpObjectTokenInit *This,
  2682. LPCWSTR pszValueName,
  2683. LPCWSTR pszValue);
  2684. HRESULT (STDMETHODCALLTYPE *GetStringValue)(
  2685. ISpObjectTokenInit *This,
  2686. LPCWSTR pszValueName,
  2687. LPWSTR *ppszValue);
  2688. HRESULT (STDMETHODCALLTYPE *SetDWORD)(
  2689. ISpObjectTokenInit *This,
  2690. LPCWSTR pszValueName,
  2691. DWORD dwValue);
  2692. HRESULT (STDMETHODCALLTYPE *GetDWORD)(
  2693. ISpObjectTokenInit *This,
  2694. LPCWSTR pszValueName,
  2695. DWORD *pdwValue);
  2696. HRESULT (STDMETHODCALLTYPE *OpenKey)(
  2697. ISpObjectTokenInit *This,
  2698. LPCWSTR pszSubKeyName,
  2699. ISpDataKey **ppSubKey);
  2700. HRESULT (STDMETHODCALLTYPE *CreateKey)(
  2701. ISpObjectTokenInit *This,
  2702. LPCWSTR pszSubKey,
  2703. ISpDataKey **ppSubKey);
  2704. HRESULT (STDMETHODCALLTYPE *DeleteKey)(
  2705. ISpObjectTokenInit *This,
  2706. LPCWSTR pszSubKey);
  2707. HRESULT (STDMETHODCALLTYPE *DeleteValue)(
  2708. ISpObjectTokenInit *This,
  2709. LPCWSTR pszValueName);
  2710. HRESULT (STDMETHODCALLTYPE *EnumKeys)(
  2711. ISpObjectTokenInit *This,
  2712. ULONG Index,
  2713. LPWSTR *ppszSubKeyName);
  2714. HRESULT (STDMETHODCALLTYPE *EnumValues)(
  2715. ISpObjectTokenInit *This,
  2716. ULONG Index,
  2717. LPWSTR *ppszValueName);
  2718. /*** ISpObjectToken methods ***/
  2719. HRESULT (STDMETHODCALLTYPE *SetId)(
  2720. ISpObjectTokenInit *This,
  2721. LPCWSTR pszCategoryId,
  2722. LPCWSTR pszTokenId,
  2723. WINBOOL fCreateIfNotExist);
  2724. HRESULT (STDMETHODCALLTYPE *GetId)(
  2725. ISpObjectTokenInit *This,
  2726. LPWSTR *ppszCoMemTokenId);
  2727. HRESULT (STDMETHODCALLTYPE *GetCategory)(
  2728. ISpObjectTokenInit *This,
  2729. ISpObjectTokenCategory **ppTokenCategory);
  2730. HRESULT (STDMETHODCALLTYPE *CreateInstance)(
  2731. ISpObjectTokenInit *This,
  2732. IUnknown *pUnkOuter,
  2733. DWORD dwClsContext,
  2734. REFIID riid,
  2735. void **ppvObject);
  2736. HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
  2737. ISpObjectTokenInit *This,
  2738. REFCLSID clsidCaller,
  2739. LPCWSTR pszValueName,
  2740. LPCWSTR pszFileNameSpecifier,
  2741. ULONG nFolder,
  2742. LPWSTR *ppszFilePath);
  2743. HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
  2744. ISpObjectTokenInit *This,
  2745. REFCLSID clsidCaller,
  2746. LPCWSTR pszKeyName,
  2747. WINBOOL fDeleteFile);
  2748. HRESULT (STDMETHODCALLTYPE *Remove)(
  2749. ISpObjectTokenInit *This,
  2750. const CLSID *pclsidCaller);
  2751. HRESULT (STDMETHODCALLTYPE *IsUISupported)(
  2752. ISpObjectTokenInit *This,
  2753. LPCWSTR pszTypeOfUI,
  2754. void *pvExtraData,
  2755. ULONG cbExtraData,
  2756. IUnknown *punkObject,
  2757. WINBOOL *pfSupported);
  2758. HRESULT (STDMETHODCALLTYPE *DisplayUI)(
  2759. ISpObjectTokenInit *This,
  2760. HWND hwndParent,
  2761. LPCWSTR pszTitle,
  2762. LPCWSTR pszTypeOfUI,
  2763. void *pvExtraData,
  2764. ULONG cbExtraData,
  2765. IUnknown *punkObject);
  2766. HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
  2767. ISpObjectTokenInit *This,
  2768. LPCWSTR pszAttributes,
  2769. WINBOOL *pfMatches);
  2770. /*** ISpObjectTokenInit methods ***/
  2771. HRESULT (STDMETHODCALLTYPE *InitFromDataKey)(
  2772. ISpObjectTokenInit *This,
  2773. LPCWSTR pszCategoryId,
  2774. LPCWSTR pszTokenId,
  2775. ISpDataKey *pDataKey);
  2776. END_INTERFACE
  2777. } ISpObjectTokenInitVtbl;
  2778. interface ISpObjectTokenInit {
  2779. CONST_VTBL ISpObjectTokenInitVtbl* lpVtbl;
  2780. };
  2781. #ifdef COBJMACROS
  2782. #ifndef WIDL_C_INLINE_WRAPPERS
  2783. /*** IUnknown methods ***/
  2784. #define ISpObjectTokenInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2785. #define ISpObjectTokenInit_AddRef(This) (This)->lpVtbl->AddRef(This)
  2786. #define ISpObjectTokenInit_Release(This) (This)->lpVtbl->Release(This)
  2787. /*** ISpDataKey methods ***/
  2788. #define ISpObjectTokenInit_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
  2789. #define ISpObjectTokenInit_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
  2790. #define ISpObjectTokenInit_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
  2791. #define ISpObjectTokenInit_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
  2792. #define ISpObjectTokenInit_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
  2793. #define ISpObjectTokenInit_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
  2794. #define ISpObjectTokenInit_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
  2795. #define ISpObjectTokenInit_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
  2796. #define ISpObjectTokenInit_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
  2797. #define ISpObjectTokenInit_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
  2798. #define ISpObjectTokenInit_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
  2799. #define ISpObjectTokenInit_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
  2800. /*** ISpObjectToken methods ***/
  2801. #define ISpObjectTokenInit_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
  2802. #define ISpObjectTokenInit_GetId(This,ppszCoMemTokenId) (This)->lpVtbl->GetId(This,ppszCoMemTokenId)
  2803. #define ISpObjectTokenInit_GetCategory(This,ppTokenCategory) (This)->lpVtbl->GetCategory(This,ppTokenCategory)
  2804. #define ISpObjectTokenInit_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
  2805. #define ISpObjectTokenInit_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath) (This)->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
  2806. #define ISpObjectTokenInit_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
  2807. #define ISpObjectTokenInit_Remove(This,pclsidCaller) (This)->lpVtbl->Remove(This,pclsidCaller)
  2808. #define ISpObjectTokenInit_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
  2809. #define ISpObjectTokenInit_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
  2810. #define ISpObjectTokenInit_MatchesAttributes(This,pszAttributes,pfMatches) (This)->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches)
  2811. /*** ISpObjectTokenInit methods ***/
  2812. #define ISpObjectTokenInit_InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey) (This)->lpVtbl->InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey)
  2813. #else
  2814. /*** IUnknown methods ***/
  2815. static FORCEINLINE HRESULT ISpObjectTokenInit_QueryInterface(ISpObjectTokenInit* This,REFIID riid,void **ppvObject) {
  2816. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2817. }
  2818. static FORCEINLINE ULONG ISpObjectTokenInit_AddRef(ISpObjectTokenInit* This) {
  2819. return This->lpVtbl->AddRef(This);
  2820. }
  2821. static FORCEINLINE ULONG ISpObjectTokenInit_Release(ISpObjectTokenInit* This) {
  2822. return This->lpVtbl->Release(This);
  2823. }
  2824. /*** ISpDataKey methods ***/
  2825. static FORCEINLINE HRESULT ISpObjectTokenInit_SetData(ISpObjectTokenInit* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
  2826. return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
  2827. }
  2828. static FORCEINLINE HRESULT ISpObjectTokenInit_GetData(ISpObjectTokenInit* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
  2829. return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
  2830. }
  2831. static FORCEINLINE HRESULT ISpObjectTokenInit_SetStringValue(ISpObjectTokenInit* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
  2832. return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
  2833. }
  2834. static FORCEINLINE HRESULT ISpObjectTokenInit_GetStringValue(ISpObjectTokenInit* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
  2835. return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
  2836. }
  2837. static FORCEINLINE HRESULT ISpObjectTokenInit_SetDWORD(ISpObjectTokenInit* This,LPCWSTR pszValueName,DWORD dwValue) {
  2838. return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
  2839. }
  2840. static FORCEINLINE HRESULT ISpObjectTokenInit_GetDWORD(ISpObjectTokenInit* This,LPCWSTR pszValueName,DWORD *pdwValue) {
  2841. return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
  2842. }
  2843. static FORCEINLINE HRESULT ISpObjectTokenInit_OpenKey(ISpObjectTokenInit* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
  2844. return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
  2845. }
  2846. static FORCEINLINE HRESULT ISpObjectTokenInit_CreateKey(ISpObjectTokenInit* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
  2847. return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
  2848. }
  2849. static FORCEINLINE HRESULT ISpObjectTokenInit_DeleteKey(ISpObjectTokenInit* This,LPCWSTR pszSubKey) {
  2850. return This->lpVtbl->DeleteKey(This,pszSubKey);
  2851. }
  2852. static FORCEINLINE HRESULT ISpObjectTokenInit_DeleteValue(ISpObjectTokenInit* This,LPCWSTR pszValueName) {
  2853. return This->lpVtbl->DeleteValue(This,pszValueName);
  2854. }
  2855. static FORCEINLINE HRESULT ISpObjectTokenInit_EnumKeys(ISpObjectTokenInit* This,ULONG Index,LPWSTR *ppszSubKeyName) {
  2856. return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
  2857. }
  2858. static FORCEINLINE HRESULT ISpObjectTokenInit_EnumValues(ISpObjectTokenInit* This,ULONG Index,LPWSTR *ppszValueName) {
  2859. return This->lpVtbl->EnumValues(This,Index,ppszValueName);
  2860. }
  2861. /*** ISpObjectToken methods ***/
  2862. static FORCEINLINE HRESULT ISpObjectTokenInit_SetId(ISpObjectTokenInit* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,WINBOOL fCreateIfNotExist) {
  2863. return This->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist);
  2864. }
  2865. static FORCEINLINE HRESULT ISpObjectTokenInit_GetId(ISpObjectTokenInit* This,LPWSTR *ppszCoMemTokenId) {
  2866. return This->lpVtbl->GetId(This,ppszCoMemTokenId);
  2867. }
  2868. static FORCEINLINE HRESULT ISpObjectTokenInit_GetCategory(ISpObjectTokenInit* This,ISpObjectTokenCategory **ppTokenCategory) {
  2869. return This->lpVtbl->GetCategory(This,ppTokenCategory);
  2870. }
  2871. static FORCEINLINE HRESULT ISpObjectTokenInit_CreateInstance(ISpObjectTokenInit* This,IUnknown *pUnkOuter,DWORD dwClsContext,REFIID riid,void **ppvObject) {
  2872. return This->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject);
  2873. }
  2874. static FORCEINLINE HRESULT ISpObjectTokenInit_GetStorageFileName(ISpObjectTokenInit* This,REFCLSID clsidCaller,LPCWSTR pszValueName,LPCWSTR pszFileNameSpecifier,ULONG nFolder,LPWSTR *ppszFilePath) {
  2875. return This->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath);
  2876. }
  2877. static FORCEINLINE HRESULT ISpObjectTokenInit_RemoveStorageFileName(ISpObjectTokenInit* This,REFCLSID clsidCaller,LPCWSTR pszKeyName,WINBOOL fDeleteFile) {
  2878. return This->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile);
  2879. }
  2880. static FORCEINLINE HRESULT ISpObjectTokenInit_Remove(ISpObjectTokenInit* This,const CLSID *pclsidCaller) {
  2881. return This->lpVtbl->Remove(This,pclsidCaller);
  2882. }
  2883. static FORCEINLINE HRESULT ISpObjectTokenInit_IsUISupported(ISpObjectTokenInit* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject,WINBOOL *pfSupported) {
  2884. return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported);
  2885. }
  2886. static FORCEINLINE HRESULT ISpObjectTokenInit_DisplayUI(ISpObjectTokenInit* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject) {
  2887. return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject);
  2888. }
  2889. static FORCEINLINE HRESULT ISpObjectTokenInit_MatchesAttributes(ISpObjectTokenInit* This,LPCWSTR pszAttributes,WINBOOL *pfMatches) {
  2890. return This->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches);
  2891. }
  2892. /*** ISpObjectTokenInit methods ***/
  2893. static FORCEINLINE HRESULT ISpObjectTokenInit_InitFromDataKey(ISpObjectTokenInit* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,ISpDataKey *pDataKey) {
  2894. return This->lpVtbl->InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey);
  2895. }
  2896. #endif
  2897. #endif
  2898. #endif
  2899. #endif /* __ISpObjectTokenInit_INTERFACE_DEFINED__ */
  2900. /*****************************************************************************
  2901. * ISpResourceManager interface
  2902. */
  2903. #ifndef __ISpResourceManager_INTERFACE_DEFINED__
  2904. #define __ISpResourceManager_INTERFACE_DEFINED__
  2905. DEFINE_GUID(IID_ISpResourceManager, 0x93384e18, 0x5014, 0x43d5, 0xad,0xbb, 0xa7,0x8e,0x05,0x59,0x26,0xbd);
  2906. #if defined(__cplusplus) && !defined(CINTERFACE)
  2907. MIDL_INTERFACE("93384e18-5014-43d5-adbb-a78e055926bd")
  2908. ISpResourceManager : public IServiceProvider
  2909. {
  2910. virtual HRESULT STDMETHODCALLTYPE SetObject(
  2911. REFGUID guidServiceId,
  2912. IUnknown *pUnkObject) = 0;
  2913. virtual HRESULT STDMETHODCALLTYPE GetObject(
  2914. REFGUID guidServiceId,
  2915. REFCLSID ObjectCLSID,
  2916. REFIID ObjectIID,
  2917. WINBOOL fReleaseWhenLastExternalRefReleased,
  2918. void **ppObject) = 0;
  2919. };
  2920. #ifdef __CRT_UUID_DECL
  2921. __CRT_UUID_DECL(ISpResourceManager, 0x93384e18, 0x5014, 0x43d5, 0xad,0xbb, 0xa7,0x8e,0x05,0x59,0x26,0xbd)
  2922. #endif
  2923. #else
  2924. typedef struct ISpResourceManagerVtbl {
  2925. BEGIN_INTERFACE
  2926. /*** IUnknown methods ***/
  2927. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2928. ISpResourceManager *This,
  2929. REFIID riid,
  2930. void **ppvObject);
  2931. ULONG (STDMETHODCALLTYPE *AddRef)(
  2932. ISpResourceManager *This);
  2933. ULONG (STDMETHODCALLTYPE *Release)(
  2934. ISpResourceManager *This);
  2935. /*** IServiceProvider methods ***/
  2936. HRESULT (STDMETHODCALLTYPE *QueryService)(
  2937. ISpResourceManager *This,
  2938. REFGUID guidService,
  2939. REFIID riid,
  2940. void **ppvObject);
  2941. /*** ISpResourceManager methods ***/
  2942. HRESULT (STDMETHODCALLTYPE *SetObject)(
  2943. ISpResourceManager *This,
  2944. REFGUID guidServiceId,
  2945. IUnknown *pUnkObject);
  2946. HRESULT (STDMETHODCALLTYPE *GetObject)(
  2947. ISpResourceManager *This,
  2948. REFGUID guidServiceId,
  2949. REFCLSID ObjectCLSID,
  2950. REFIID ObjectIID,
  2951. WINBOOL fReleaseWhenLastExternalRefReleased,
  2952. void **ppObject);
  2953. END_INTERFACE
  2954. } ISpResourceManagerVtbl;
  2955. interface ISpResourceManager {
  2956. CONST_VTBL ISpResourceManagerVtbl* lpVtbl;
  2957. };
  2958. #ifdef COBJMACROS
  2959. #ifndef WIDL_C_INLINE_WRAPPERS
  2960. /*** IUnknown methods ***/
  2961. #define ISpResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2962. #define ISpResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
  2963. #define ISpResourceManager_Release(This) (This)->lpVtbl->Release(This)
  2964. /*** IServiceProvider methods ***/
  2965. #define ISpResourceManager_QueryService(This,guidService,riid,ppvObject) (This)->lpVtbl->QueryService(This,guidService,riid,ppvObject)
  2966. /*** ISpResourceManager methods ***/
  2967. #define ISpResourceManager_SetObject(This,guidServiceId,pUnkObject) (This)->lpVtbl->SetObject(This,guidServiceId,pUnkObject)
  2968. #define ISpResourceManager_GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject) (This)->lpVtbl->GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject)
  2969. #else
  2970. /*** IUnknown methods ***/
  2971. static FORCEINLINE HRESULT ISpResourceManager_QueryInterface(ISpResourceManager* This,REFIID riid,void **ppvObject) {
  2972. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2973. }
  2974. static FORCEINLINE ULONG ISpResourceManager_AddRef(ISpResourceManager* This) {
  2975. return This->lpVtbl->AddRef(This);
  2976. }
  2977. static FORCEINLINE ULONG ISpResourceManager_Release(ISpResourceManager* This) {
  2978. return This->lpVtbl->Release(This);
  2979. }
  2980. /*** IServiceProvider methods ***/
  2981. static FORCEINLINE HRESULT ISpResourceManager_QueryService(ISpResourceManager* This,REFGUID guidService,REFIID riid,void **ppvObject) {
  2982. return This->lpVtbl->QueryService(This,guidService,riid,ppvObject);
  2983. }
  2984. /*** ISpResourceManager methods ***/
  2985. static FORCEINLINE HRESULT ISpResourceManager_SetObject(ISpResourceManager* This,REFGUID guidServiceId,IUnknown *pUnkObject) {
  2986. return This->lpVtbl->SetObject(This,guidServiceId,pUnkObject);
  2987. }
  2988. static FORCEINLINE HRESULT ISpResourceManager_GetObject(ISpResourceManager* This,REFGUID guidServiceId,REFCLSID ObjectCLSID,REFIID ObjectIID,WINBOOL fReleaseWhenLastExternalRefReleased,void **ppObject) {
  2989. return This->lpVtbl->GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject);
  2990. }
  2991. #endif
  2992. #endif
  2993. #endif
  2994. #endif /* __ISpResourceManager_INTERFACE_DEFINED__ */
  2995. #if 0
  2996. typedef struct SPEVENT {
  2997. WORD eEventId;
  2998. WORD elParamType;
  2999. ULONG ulStreamNum;
  3000. ULONGLONG ullAudioStreamOffset;
  3001. WPARAM wParam;
  3002. LPARAM lParam;
  3003. } SPEVENT;
  3004. typedef struct SPSERIALIZEDEVENT {
  3005. WORD eEventId;
  3006. WORD elParamType;
  3007. ULONG ulStreamNum;
  3008. ULONGLONG ullAudioStreamOffset;
  3009. ULONG SerializedwParam;
  3010. LONG SerializedlParam;
  3011. } SPSERIALIZEDEVENT;
  3012. typedef struct SPSERIALIZEDEVENT64 {
  3013. WORD eEventId;
  3014. WORD elParamType;
  3015. ULONG ulStreamNum;
  3016. ULONGLONG ullAudioStreamOffset;
  3017. ULONGLONG SerializedwParam;
  3018. LONGLONG SerializedlParam;
  3019. } SPSERIALIZEDEVENT64;
  3020. #else
  3021. typedef struct SPEVENT {
  3022. SPEVENTENUM eEventId : 16;
  3023. SPEVENTLPARAMTYPE elParamType : 16;
  3024. ULONG ulStreamNum;
  3025. ULONGLONG ullAudioStreamOffset;
  3026. WPARAM wParam;
  3027. LPARAM lParam;
  3028. } SPEVENT;
  3029. typedef struct SPSERIALIZEDEVENT {
  3030. SPEVENTENUM eEventId : 16;
  3031. SPEVENTLPARAMTYPE elParamType : 16;
  3032. ULONG ulStreamNum;
  3033. ULONGLONG ullAudioStreamOffset;
  3034. ULONG SerializedwParam;
  3035. LONG SerializedlParam;
  3036. } SPSERIALIZEDEVENT;
  3037. typedef struct SPSERIALIZEDEVENT64 {
  3038. SPEVENTENUM eEventId : 16;
  3039. SPEVENTLPARAMTYPE elParamType : 16;
  3040. ULONG ulStreamNum;
  3041. ULONGLONG ullAudioStreamOffset;
  3042. ULONGLONG SerializedwParam;
  3043. LONGLONG SerializedlParam;
  3044. } SPSERIALIZEDEVENT64;
  3045. #endif
  3046. typedef struct SPEVENTSOURCEINFO {
  3047. ULONGLONG ullEventInterest;
  3048. ULONGLONG ullQueuedInterest;
  3049. ULONG ulCount;
  3050. } SPEVENTSOURCEINFO;
  3051. /*****************************************************************************
  3052. * ISpEventSource interface
  3053. */
  3054. #ifndef __ISpEventSource_INTERFACE_DEFINED__
  3055. #define __ISpEventSource_INTERFACE_DEFINED__
  3056. DEFINE_GUID(IID_ISpEventSource, 0xbe7a9cce, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  3057. #if defined(__cplusplus) && !defined(CINTERFACE)
  3058. MIDL_INTERFACE("be7a9cce-5f9e-11d2-960f-00c04f8ee628")
  3059. ISpEventSource : public ISpNotifySource
  3060. {
  3061. virtual HRESULT STDMETHODCALLTYPE SetInterest(
  3062. ULONGLONG ullEventInterest,
  3063. ULONGLONG ullQueuedInterest) = 0;
  3064. virtual HRESULT STDMETHODCALLTYPE GetEvents(
  3065. ULONG ulCount,
  3066. SPEVENT *pEventArray,
  3067. ULONG *pulFetched) = 0;
  3068. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  3069. SPEVENTSOURCEINFO *pInfo) = 0;
  3070. };
  3071. #ifdef __CRT_UUID_DECL
  3072. __CRT_UUID_DECL(ISpEventSource, 0xbe7a9cce, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
  3073. #endif
  3074. #else
  3075. typedef struct ISpEventSourceVtbl {
  3076. BEGIN_INTERFACE
  3077. /*** IUnknown methods ***/
  3078. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3079. ISpEventSource *This,
  3080. REFIID riid,
  3081. void **ppvObject);
  3082. ULONG (STDMETHODCALLTYPE *AddRef)(
  3083. ISpEventSource *This);
  3084. ULONG (STDMETHODCALLTYPE *Release)(
  3085. ISpEventSource *This);
  3086. /*** ISpNotifySource methods ***/
  3087. HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
  3088. ISpEventSource *This,
  3089. ISpNotifySink *pNotifySink);
  3090. HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
  3091. ISpEventSource *This,
  3092. HWND hWnd,
  3093. UINT Msg,
  3094. WPARAM wParam,
  3095. LPARAM lParam);
  3096. HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
  3097. ISpEventSource *This,
  3098. SPNOTIFYCALLBACK *pfnCallback,
  3099. WPARAM wParam,
  3100. LPARAM lParam);
  3101. HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
  3102. ISpEventSource *This,
  3103. ISpNotifyCallback *pSpCallback,
  3104. WPARAM wParam,
  3105. LPARAM lParam);
  3106. HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
  3107. ISpEventSource *This);
  3108. HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
  3109. ISpEventSource *This,
  3110. DWORD dwMilliseconds);
  3111. HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
  3112. ISpEventSource *This);
  3113. /*** ISpEventSource methods ***/
  3114. HRESULT (STDMETHODCALLTYPE *SetInterest)(
  3115. ISpEventSource *This,
  3116. ULONGLONG ullEventInterest,
  3117. ULONGLONG ullQueuedInterest);
  3118. HRESULT (STDMETHODCALLTYPE *GetEvents)(
  3119. ISpEventSource *This,
  3120. ULONG ulCount,
  3121. SPEVENT *pEventArray,
  3122. ULONG *pulFetched);
  3123. HRESULT (STDMETHODCALLTYPE *GetInfo)(
  3124. ISpEventSource *This,
  3125. SPEVENTSOURCEINFO *pInfo);
  3126. END_INTERFACE
  3127. } ISpEventSourceVtbl;
  3128. interface ISpEventSource {
  3129. CONST_VTBL ISpEventSourceVtbl* lpVtbl;
  3130. };
  3131. #ifdef COBJMACROS
  3132. #ifndef WIDL_C_INLINE_WRAPPERS
  3133. /*** IUnknown methods ***/
  3134. #define ISpEventSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3135. #define ISpEventSource_AddRef(This) (This)->lpVtbl->AddRef(This)
  3136. #define ISpEventSource_Release(This) (This)->lpVtbl->Release(This)
  3137. /*** ISpNotifySource methods ***/
  3138. #define ISpEventSource_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
  3139. #define ISpEventSource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
  3140. #define ISpEventSource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
  3141. #define ISpEventSource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
  3142. #define ISpEventSource_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
  3143. #define ISpEventSource_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
  3144. #define ISpEventSource_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
  3145. /*** ISpEventSource methods ***/
  3146. #define ISpEventSource_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
  3147. #define ISpEventSource_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
  3148. #define ISpEventSource_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
  3149. #else
  3150. /*** IUnknown methods ***/
  3151. static FORCEINLINE HRESULT ISpEventSource_QueryInterface(ISpEventSource* This,REFIID riid,void **ppvObject) {
  3152. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3153. }
  3154. static FORCEINLINE ULONG ISpEventSource_AddRef(ISpEventSource* This) {
  3155. return This->lpVtbl->AddRef(This);
  3156. }
  3157. static FORCEINLINE ULONG ISpEventSource_Release(ISpEventSource* This) {
  3158. return This->lpVtbl->Release(This);
  3159. }
  3160. /*** ISpNotifySource methods ***/
  3161. static FORCEINLINE HRESULT ISpEventSource_SetNotifySink(ISpEventSource* This,ISpNotifySink *pNotifySink) {
  3162. return This->lpVtbl->SetNotifySink(This,pNotifySink);
  3163. }
  3164. static FORCEINLINE HRESULT ISpEventSource_SetNotifyWindowMessage(ISpEventSource* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
  3165. return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
  3166. }
  3167. static FORCEINLINE HRESULT ISpEventSource_SetNotifyCallbackFunction(ISpEventSource* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
  3168. return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
  3169. }
  3170. static FORCEINLINE HRESULT ISpEventSource_SetNotifyCallbackInterface(ISpEventSource* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
  3171. return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
  3172. }
  3173. static FORCEINLINE HRESULT ISpEventSource_SetNotifyWin32Event(ISpEventSource* This) {
  3174. return This->lpVtbl->SetNotifyWin32Event(This);
  3175. }
  3176. static FORCEINLINE HRESULT ISpEventSource_WaitForNotifyEvent(ISpEventSource* This,DWORD dwMilliseconds) {
  3177. return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
  3178. }
  3179. static FORCEINLINE HANDLE ISpEventSource_GetNotifyEventHandle(ISpEventSource* This) {
  3180. return This->lpVtbl->GetNotifyEventHandle(This);
  3181. }
  3182. /*** ISpEventSource methods ***/
  3183. static FORCEINLINE HRESULT ISpEventSource_SetInterest(ISpEventSource* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
  3184. return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
  3185. }
  3186. static FORCEINLINE HRESULT ISpEventSource_GetEvents(ISpEventSource* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
  3187. return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
  3188. }
  3189. static FORCEINLINE HRESULT ISpEventSource_GetInfo(ISpEventSource* This,SPEVENTSOURCEINFO *pInfo) {
  3190. return This->lpVtbl->GetInfo(This,pInfo);
  3191. }
  3192. #endif
  3193. #endif
  3194. #endif
  3195. #endif /* __ISpEventSource_INTERFACE_DEFINED__ */
  3196. /*****************************************************************************
  3197. * ISpEventSink interface
  3198. */
  3199. #ifndef __ISpEventSink_INTERFACE_DEFINED__
  3200. #define __ISpEventSink_INTERFACE_DEFINED__
  3201. DEFINE_GUID(IID_ISpEventSink, 0xbe7a9cc9, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  3202. #if defined(__cplusplus) && !defined(CINTERFACE)
  3203. MIDL_INTERFACE("be7a9cc9-5f9e-11d2-960f-00c04f8ee628")
  3204. ISpEventSink : public IUnknown
  3205. {
  3206. virtual HRESULT STDMETHODCALLTYPE AddEvents(
  3207. const SPEVENT *pEventArray,
  3208. ULONG ulCount) = 0;
  3209. virtual HRESULT STDMETHODCALLTYPE GetEventInterest(
  3210. ULONGLONG *pullEventInterest) = 0;
  3211. };
  3212. #ifdef __CRT_UUID_DECL
  3213. __CRT_UUID_DECL(ISpEventSink, 0xbe7a9cc9, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
  3214. #endif
  3215. #else
  3216. typedef struct ISpEventSinkVtbl {
  3217. BEGIN_INTERFACE
  3218. /*** IUnknown methods ***/
  3219. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3220. ISpEventSink *This,
  3221. REFIID riid,
  3222. void **ppvObject);
  3223. ULONG (STDMETHODCALLTYPE *AddRef)(
  3224. ISpEventSink *This);
  3225. ULONG (STDMETHODCALLTYPE *Release)(
  3226. ISpEventSink *This);
  3227. /*** ISpEventSink methods ***/
  3228. HRESULT (STDMETHODCALLTYPE *AddEvents)(
  3229. ISpEventSink *This,
  3230. const SPEVENT *pEventArray,
  3231. ULONG ulCount);
  3232. HRESULT (STDMETHODCALLTYPE *GetEventInterest)(
  3233. ISpEventSink *This,
  3234. ULONGLONG *pullEventInterest);
  3235. END_INTERFACE
  3236. } ISpEventSinkVtbl;
  3237. interface ISpEventSink {
  3238. CONST_VTBL ISpEventSinkVtbl* lpVtbl;
  3239. };
  3240. #ifdef COBJMACROS
  3241. #ifndef WIDL_C_INLINE_WRAPPERS
  3242. /*** IUnknown methods ***/
  3243. #define ISpEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3244. #define ISpEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
  3245. #define ISpEventSink_Release(This) (This)->lpVtbl->Release(This)
  3246. /*** ISpEventSink methods ***/
  3247. #define ISpEventSink_AddEvents(This,pEventArray,ulCount) (This)->lpVtbl->AddEvents(This,pEventArray,ulCount)
  3248. #define ISpEventSink_GetEventInterest(This,pullEventInterest) (This)->lpVtbl->GetEventInterest(This,pullEventInterest)
  3249. #else
  3250. /*** IUnknown methods ***/
  3251. static FORCEINLINE HRESULT ISpEventSink_QueryInterface(ISpEventSink* This,REFIID riid,void **ppvObject) {
  3252. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3253. }
  3254. static FORCEINLINE ULONG ISpEventSink_AddRef(ISpEventSink* This) {
  3255. return This->lpVtbl->AddRef(This);
  3256. }
  3257. static FORCEINLINE ULONG ISpEventSink_Release(ISpEventSink* This) {
  3258. return This->lpVtbl->Release(This);
  3259. }
  3260. /*** ISpEventSink methods ***/
  3261. static FORCEINLINE HRESULT ISpEventSink_AddEvents(ISpEventSink* This,const SPEVENT *pEventArray,ULONG ulCount) {
  3262. return This->lpVtbl->AddEvents(This,pEventArray,ulCount);
  3263. }
  3264. static FORCEINLINE HRESULT ISpEventSink_GetEventInterest(ISpEventSink* This,ULONGLONG *pullEventInterest) {
  3265. return This->lpVtbl->GetEventInterest(This,pullEventInterest);
  3266. }
  3267. #endif
  3268. #endif
  3269. #endif
  3270. #endif /* __ISpEventSink_INTERFACE_DEFINED__ */
  3271. /*****************************************************************************
  3272. * ISpStreamFormat interface
  3273. */
  3274. #ifndef __ISpStreamFormat_INTERFACE_DEFINED__
  3275. #define __ISpStreamFormat_INTERFACE_DEFINED__
  3276. DEFINE_GUID(IID_ISpStreamFormat, 0xbed530be, 0x2606, 0x4f4d, 0xa1,0xc0, 0x54,0xc5,0xcd,0xa5,0x56,0x6f);
  3277. #if defined(__cplusplus) && !defined(CINTERFACE)
  3278. MIDL_INTERFACE("bed530be-2606-4f4d-a1c0-54c5cda5566f")
  3279. ISpStreamFormat : public IStream
  3280. {
  3281. virtual HRESULT STDMETHODCALLTYPE GetFormat(
  3282. GUID *pguidFormatId,
  3283. WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
  3284. };
  3285. #ifdef __CRT_UUID_DECL
  3286. __CRT_UUID_DECL(ISpStreamFormat, 0xbed530be, 0x2606, 0x4f4d, 0xa1,0xc0, 0x54,0xc5,0xcd,0xa5,0x56,0x6f)
  3287. #endif
  3288. #else
  3289. typedef struct ISpStreamFormatVtbl {
  3290. BEGIN_INTERFACE
  3291. /*** IUnknown methods ***/
  3292. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3293. ISpStreamFormat *This,
  3294. REFIID riid,
  3295. void **ppvObject);
  3296. ULONG (STDMETHODCALLTYPE *AddRef)(
  3297. ISpStreamFormat *This);
  3298. ULONG (STDMETHODCALLTYPE *Release)(
  3299. ISpStreamFormat *This);
  3300. /*** ISequentialStream methods ***/
  3301. HRESULT (STDMETHODCALLTYPE *Read)(
  3302. ISpStreamFormat *This,
  3303. void *pv,
  3304. ULONG cb,
  3305. ULONG *pcbRead);
  3306. HRESULT (STDMETHODCALLTYPE *Write)(
  3307. ISpStreamFormat *This,
  3308. const void *pv,
  3309. ULONG cb,
  3310. ULONG *pcbWritten);
  3311. /*** IStream methods ***/
  3312. HRESULT (STDMETHODCALLTYPE *Seek)(
  3313. ISpStreamFormat *This,
  3314. LARGE_INTEGER dlibMove,
  3315. DWORD dwOrigin,
  3316. ULARGE_INTEGER *plibNewPosition);
  3317. HRESULT (STDMETHODCALLTYPE *SetSize)(
  3318. ISpStreamFormat *This,
  3319. ULARGE_INTEGER libNewSize);
  3320. HRESULT (STDMETHODCALLTYPE *CopyTo)(
  3321. ISpStreamFormat *This,
  3322. IStream *pstm,
  3323. ULARGE_INTEGER cb,
  3324. ULARGE_INTEGER *pcbRead,
  3325. ULARGE_INTEGER *pcbWritten);
  3326. HRESULT (STDMETHODCALLTYPE *Commit)(
  3327. ISpStreamFormat *This,
  3328. DWORD grfCommitFlags);
  3329. HRESULT (STDMETHODCALLTYPE *Revert)(
  3330. ISpStreamFormat *This);
  3331. HRESULT (STDMETHODCALLTYPE *LockRegion)(
  3332. ISpStreamFormat *This,
  3333. ULARGE_INTEGER libOffset,
  3334. ULARGE_INTEGER cb,
  3335. DWORD dwLockType);
  3336. HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
  3337. ISpStreamFormat *This,
  3338. ULARGE_INTEGER libOffset,
  3339. ULARGE_INTEGER cb,
  3340. DWORD dwLockType);
  3341. HRESULT (STDMETHODCALLTYPE *Stat)(
  3342. ISpStreamFormat *This,
  3343. STATSTG *pstatstg,
  3344. DWORD grfStatFlag);
  3345. HRESULT (STDMETHODCALLTYPE *Clone)(
  3346. ISpStreamFormat *This,
  3347. IStream **ppstm);
  3348. /*** ISpStreamFormat methods ***/
  3349. HRESULT (STDMETHODCALLTYPE *GetFormat)(
  3350. ISpStreamFormat *This,
  3351. GUID *pguidFormatId,
  3352. WAVEFORMATEX **ppCoMemWaveFormatEx);
  3353. END_INTERFACE
  3354. } ISpStreamFormatVtbl;
  3355. interface ISpStreamFormat {
  3356. CONST_VTBL ISpStreamFormatVtbl* lpVtbl;
  3357. };
  3358. #ifdef COBJMACROS
  3359. #ifndef WIDL_C_INLINE_WRAPPERS
  3360. /*** IUnknown methods ***/
  3361. #define ISpStreamFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3362. #define ISpStreamFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
  3363. #define ISpStreamFormat_Release(This) (This)->lpVtbl->Release(This)
  3364. /*** ISequentialStream methods ***/
  3365. #define ISpStreamFormat_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
  3366. #define ISpStreamFormat_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
  3367. /*** IStream methods ***/
  3368. #define ISpStreamFormat_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
  3369. #define ISpStreamFormat_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
  3370. #define ISpStreamFormat_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  3371. #define ISpStreamFormat_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
  3372. #define ISpStreamFormat_Revert(This) (This)->lpVtbl->Revert(This)
  3373. #define ISpStreamFormat_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
  3374. #define ISpStreamFormat_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
  3375. #define ISpStreamFormat_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
  3376. #define ISpStreamFormat_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
  3377. /*** ISpStreamFormat methods ***/
  3378. #define ISpStreamFormat_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
  3379. #else
  3380. /*** IUnknown methods ***/
  3381. static FORCEINLINE HRESULT ISpStreamFormat_QueryInterface(ISpStreamFormat* This,REFIID riid,void **ppvObject) {
  3382. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3383. }
  3384. static FORCEINLINE ULONG ISpStreamFormat_AddRef(ISpStreamFormat* This) {
  3385. return This->lpVtbl->AddRef(This);
  3386. }
  3387. static FORCEINLINE ULONG ISpStreamFormat_Release(ISpStreamFormat* This) {
  3388. return This->lpVtbl->Release(This);
  3389. }
  3390. /*** ISequentialStream methods ***/
  3391. static FORCEINLINE HRESULT ISpStreamFormat_Read(ISpStreamFormat* This,void *pv,ULONG cb,ULONG *pcbRead) {
  3392. return This->lpVtbl->Read(This,pv,cb,pcbRead);
  3393. }
  3394. static FORCEINLINE HRESULT ISpStreamFormat_Write(ISpStreamFormat* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
  3395. return This->lpVtbl->Write(This,pv,cb,pcbWritten);
  3396. }
  3397. /*** IStream methods ***/
  3398. static FORCEINLINE HRESULT ISpStreamFormat_Seek(ISpStreamFormat* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
  3399. return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
  3400. }
  3401. static FORCEINLINE HRESULT ISpStreamFormat_SetSize(ISpStreamFormat* This,ULARGE_INTEGER libNewSize) {
  3402. return This->lpVtbl->SetSize(This,libNewSize);
  3403. }
  3404. static FORCEINLINE HRESULT ISpStreamFormat_CopyTo(ISpStreamFormat* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
  3405. return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
  3406. }
  3407. static FORCEINLINE HRESULT ISpStreamFormat_Commit(ISpStreamFormat* This,DWORD grfCommitFlags) {
  3408. return This->lpVtbl->Commit(This,grfCommitFlags);
  3409. }
  3410. static FORCEINLINE HRESULT ISpStreamFormat_Revert(ISpStreamFormat* This) {
  3411. return This->lpVtbl->Revert(This);
  3412. }
  3413. static FORCEINLINE HRESULT ISpStreamFormat_LockRegion(ISpStreamFormat* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  3414. return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
  3415. }
  3416. static FORCEINLINE HRESULT ISpStreamFormat_UnlockRegion(ISpStreamFormat* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  3417. return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
  3418. }
  3419. static FORCEINLINE HRESULT ISpStreamFormat_Stat(ISpStreamFormat* This,STATSTG *pstatstg,DWORD grfStatFlag) {
  3420. return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
  3421. }
  3422. static FORCEINLINE HRESULT ISpStreamFormat_Clone(ISpStreamFormat* This,IStream **ppstm) {
  3423. return This->lpVtbl->Clone(This,ppstm);
  3424. }
  3425. /*** ISpStreamFormat methods ***/
  3426. static FORCEINLINE HRESULT ISpStreamFormat_GetFormat(ISpStreamFormat* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
  3427. return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
  3428. }
  3429. #endif
  3430. #endif
  3431. #endif
  3432. #endif /* __ISpStreamFormat_INTERFACE_DEFINED__ */
  3433. /*****************************************************************************
  3434. * ISpStream interface
  3435. */
  3436. #ifndef __ISpStream_INTERFACE_DEFINED__
  3437. #define __ISpStream_INTERFACE_DEFINED__
  3438. DEFINE_GUID(IID_ISpStream, 0x12e3cca9, 0x7518, 0x44c5, 0xa5,0xe7, 0xba,0x5a,0x79,0xcb,0x92,0x9e);
  3439. #if defined(__cplusplus) && !defined(CINTERFACE)
  3440. MIDL_INTERFACE("12e3cca9-7518-44c5-a5e7-ba5a79cb929e")
  3441. ISpStream : public ISpStreamFormat
  3442. {
  3443. virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
  3444. IStream *pStream,
  3445. REFGUID rguidFormat,
  3446. const WAVEFORMATEX *pWaveFormatEx) = 0;
  3447. virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
  3448. IStream **ppStream) = 0;
  3449. virtual HRESULT STDMETHODCALLTYPE BindToFile(
  3450. LPCWSTR pszFileName,
  3451. SPFILEMODE eMode,
  3452. const GUID *pFormatId,
  3453. const WAVEFORMATEX *pWaveFormatEx,
  3454. ULONGLONG ullEventInterest) = 0;
  3455. virtual HRESULT STDMETHODCALLTYPE Close(
  3456. ) = 0;
  3457. };
  3458. #ifdef __CRT_UUID_DECL
  3459. __CRT_UUID_DECL(ISpStream, 0x12e3cca9, 0x7518, 0x44c5, 0xa5,0xe7, 0xba,0x5a,0x79,0xcb,0x92,0x9e)
  3460. #endif
  3461. #else
  3462. typedef struct ISpStreamVtbl {
  3463. BEGIN_INTERFACE
  3464. /*** IUnknown methods ***/
  3465. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3466. ISpStream *This,
  3467. REFIID riid,
  3468. void **ppvObject);
  3469. ULONG (STDMETHODCALLTYPE *AddRef)(
  3470. ISpStream *This);
  3471. ULONG (STDMETHODCALLTYPE *Release)(
  3472. ISpStream *This);
  3473. /*** ISequentialStream methods ***/
  3474. HRESULT (STDMETHODCALLTYPE *Read)(
  3475. ISpStream *This,
  3476. void *pv,
  3477. ULONG cb,
  3478. ULONG *pcbRead);
  3479. HRESULT (STDMETHODCALLTYPE *Write)(
  3480. ISpStream *This,
  3481. const void *pv,
  3482. ULONG cb,
  3483. ULONG *pcbWritten);
  3484. /*** IStream methods ***/
  3485. HRESULT (STDMETHODCALLTYPE *Seek)(
  3486. ISpStream *This,
  3487. LARGE_INTEGER dlibMove,
  3488. DWORD dwOrigin,
  3489. ULARGE_INTEGER *plibNewPosition);
  3490. HRESULT (STDMETHODCALLTYPE *SetSize)(
  3491. ISpStream *This,
  3492. ULARGE_INTEGER libNewSize);
  3493. HRESULT (STDMETHODCALLTYPE *CopyTo)(
  3494. ISpStream *This,
  3495. IStream *pstm,
  3496. ULARGE_INTEGER cb,
  3497. ULARGE_INTEGER *pcbRead,
  3498. ULARGE_INTEGER *pcbWritten);
  3499. HRESULT (STDMETHODCALLTYPE *Commit)(
  3500. ISpStream *This,
  3501. DWORD grfCommitFlags);
  3502. HRESULT (STDMETHODCALLTYPE *Revert)(
  3503. ISpStream *This);
  3504. HRESULT (STDMETHODCALLTYPE *LockRegion)(
  3505. ISpStream *This,
  3506. ULARGE_INTEGER libOffset,
  3507. ULARGE_INTEGER cb,
  3508. DWORD dwLockType);
  3509. HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
  3510. ISpStream *This,
  3511. ULARGE_INTEGER libOffset,
  3512. ULARGE_INTEGER cb,
  3513. DWORD dwLockType);
  3514. HRESULT (STDMETHODCALLTYPE *Stat)(
  3515. ISpStream *This,
  3516. STATSTG *pstatstg,
  3517. DWORD grfStatFlag);
  3518. HRESULT (STDMETHODCALLTYPE *Clone)(
  3519. ISpStream *This,
  3520. IStream **ppstm);
  3521. /*** ISpStreamFormat methods ***/
  3522. HRESULT (STDMETHODCALLTYPE *GetFormat)(
  3523. ISpStream *This,
  3524. GUID *pguidFormatId,
  3525. WAVEFORMATEX **ppCoMemWaveFormatEx);
  3526. /*** ISpStream methods ***/
  3527. HRESULT (STDMETHODCALLTYPE *SetBaseStream)(
  3528. ISpStream *This,
  3529. IStream *pStream,
  3530. REFGUID rguidFormat,
  3531. const WAVEFORMATEX *pWaveFormatEx);
  3532. HRESULT (STDMETHODCALLTYPE *GetBaseStream)(
  3533. ISpStream *This,
  3534. IStream **ppStream);
  3535. HRESULT (STDMETHODCALLTYPE *BindToFile)(
  3536. ISpStream *This,
  3537. LPCWSTR pszFileName,
  3538. SPFILEMODE eMode,
  3539. const GUID *pFormatId,
  3540. const WAVEFORMATEX *pWaveFormatEx,
  3541. ULONGLONG ullEventInterest);
  3542. HRESULT (STDMETHODCALLTYPE *Close)(
  3543. ISpStream *This);
  3544. END_INTERFACE
  3545. } ISpStreamVtbl;
  3546. interface ISpStream {
  3547. CONST_VTBL ISpStreamVtbl* lpVtbl;
  3548. };
  3549. #ifdef COBJMACROS
  3550. #ifndef WIDL_C_INLINE_WRAPPERS
  3551. /*** IUnknown methods ***/
  3552. #define ISpStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3553. #define ISpStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  3554. #define ISpStream_Release(This) (This)->lpVtbl->Release(This)
  3555. /*** ISequentialStream methods ***/
  3556. #define ISpStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
  3557. #define ISpStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
  3558. /*** IStream methods ***/
  3559. #define ISpStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
  3560. #define ISpStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
  3561. #define ISpStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  3562. #define ISpStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
  3563. #define ISpStream_Revert(This) (This)->lpVtbl->Revert(This)
  3564. #define ISpStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
  3565. #define ISpStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
  3566. #define ISpStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
  3567. #define ISpStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
  3568. /*** ISpStreamFormat methods ***/
  3569. #define ISpStream_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
  3570. /*** ISpStream methods ***/
  3571. #define ISpStream_SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx) (This)->lpVtbl->SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx)
  3572. #define ISpStream_GetBaseStream(This,ppStream) (This)->lpVtbl->GetBaseStream(This,ppStream)
  3573. #define ISpStream_BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest) (This)->lpVtbl->BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
  3574. #define ISpStream_Close(This) (This)->lpVtbl->Close(This)
  3575. #else
  3576. /*** IUnknown methods ***/
  3577. static FORCEINLINE HRESULT ISpStream_QueryInterface(ISpStream* This,REFIID riid,void **ppvObject) {
  3578. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3579. }
  3580. static FORCEINLINE ULONG ISpStream_AddRef(ISpStream* This) {
  3581. return This->lpVtbl->AddRef(This);
  3582. }
  3583. static FORCEINLINE ULONG ISpStream_Release(ISpStream* This) {
  3584. return This->lpVtbl->Release(This);
  3585. }
  3586. /*** ISequentialStream methods ***/
  3587. static FORCEINLINE HRESULT ISpStream_Read(ISpStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
  3588. return This->lpVtbl->Read(This,pv,cb,pcbRead);
  3589. }
  3590. static FORCEINLINE HRESULT ISpStream_Write(ISpStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
  3591. return This->lpVtbl->Write(This,pv,cb,pcbWritten);
  3592. }
  3593. /*** IStream methods ***/
  3594. static FORCEINLINE HRESULT ISpStream_Seek(ISpStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
  3595. return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
  3596. }
  3597. static FORCEINLINE HRESULT ISpStream_SetSize(ISpStream* This,ULARGE_INTEGER libNewSize) {
  3598. return This->lpVtbl->SetSize(This,libNewSize);
  3599. }
  3600. static FORCEINLINE HRESULT ISpStream_CopyTo(ISpStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
  3601. return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
  3602. }
  3603. static FORCEINLINE HRESULT ISpStream_Commit(ISpStream* This,DWORD grfCommitFlags) {
  3604. return This->lpVtbl->Commit(This,grfCommitFlags);
  3605. }
  3606. static FORCEINLINE HRESULT ISpStream_Revert(ISpStream* This) {
  3607. return This->lpVtbl->Revert(This);
  3608. }
  3609. static FORCEINLINE HRESULT ISpStream_LockRegion(ISpStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  3610. return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
  3611. }
  3612. static FORCEINLINE HRESULT ISpStream_UnlockRegion(ISpStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  3613. return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
  3614. }
  3615. static FORCEINLINE HRESULT ISpStream_Stat(ISpStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
  3616. return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
  3617. }
  3618. static FORCEINLINE HRESULT ISpStream_Clone(ISpStream* This,IStream **ppstm) {
  3619. return This->lpVtbl->Clone(This,ppstm);
  3620. }
  3621. /*** ISpStreamFormat methods ***/
  3622. static FORCEINLINE HRESULT ISpStream_GetFormat(ISpStream* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
  3623. return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
  3624. }
  3625. /*** ISpStream methods ***/
  3626. static FORCEINLINE HRESULT ISpStream_SetBaseStream(ISpStream* This,IStream *pStream,REFGUID rguidFormat,const WAVEFORMATEX *pWaveFormatEx) {
  3627. return This->lpVtbl->SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx);
  3628. }
  3629. static FORCEINLINE HRESULT ISpStream_GetBaseStream(ISpStream* This,IStream **ppStream) {
  3630. return This->lpVtbl->GetBaseStream(This,ppStream);
  3631. }
  3632. static FORCEINLINE HRESULT ISpStream_BindToFile(ISpStream* This,LPCWSTR pszFileName,SPFILEMODE eMode,const GUID *pFormatId,const WAVEFORMATEX *pWaveFormatEx,ULONGLONG ullEventInterest) {
  3633. return This->lpVtbl->BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest);
  3634. }
  3635. static FORCEINLINE HRESULT ISpStream_Close(ISpStream* This) {
  3636. return This->lpVtbl->Close(This);
  3637. }
  3638. #endif
  3639. #endif
  3640. #endif
  3641. #endif /* __ISpStream_INTERFACE_DEFINED__ */
  3642. /*****************************************************************************
  3643. * ISpStreamFormatConverter interface
  3644. */
  3645. #ifndef __ISpStreamFormatConverter_INTERFACE_DEFINED__
  3646. #define __ISpStreamFormatConverter_INTERFACE_DEFINED__
  3647. DEFINE_GUID(IID_ISpStreamFormatConverter, 0x678a932c, 0xea71, 0x4446, 0x9b,0x41, 0x78,0xfd,0xa6,0x28,0x0a,0x29);
  3648. #if defined(__cplusplus) && !defined(CINTERFACE)
  3649. MIDL_INTERFACE("678a932c-ea71-4446-9b41-78fda6280a29")
  3650. ISpStreamFormatConverter : public ISpStreamFormat
  3651. {
  3652. virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
  3653. ISpStreamFormat *pStream,
  3654. WINBOOL fSetFormatToBaseStreamFormat,
  3655. WINBOOL fWriteToBaseStream) = 0;
  3656. virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
  3657. ISpStreamFormat **ppStream) = 0;
  3658. virtual HRESULT STDMETHODCALLTYPE SetFormat(
  3659. REFGUID rguidFormatIdOfConvertedStream,
  3660. const WAVEFORMATEX *pWaveFormatExOfConvertedStream) = 0;
  3661. virtual HRESULT STDMETHODCALLTYPE ResetSeekPosition(
  3662. ) = 0;
  3663. virtual HRESULT STDMETHODCALLTYPE ScaleConvertedToBaseOffset(
  3664. ULONGLONG ullOffsetConvertedStream,
  3665. ULONGLONG *pullOffsetBaseStream) = 0;
  3666. virtual HRESULT STDMETHODCALLTYPE ScaleBaseToConvertedOffset(
  3667. ULONGLONG ullOffsetBaseStream,
  3668. ULONGLONG *pullOffsetConvertedStream) = 0;
  3669. };
  3670. #ifdef __CRT_UUID_DECL
  3671. __CRT_UUID_DECL(ISpStreamFormatConverter, 0x678a932c, 0xea71, 0x4446, 0x9b,0x41, 0x78,0xfd,0xa6,0x28,0x0a,0x29)
  3672. #endif
  3673. #else
  3674. typedef struct ISpStreamFormatConverterVtbl {
  3675. BEGIN_INTERFACE
  3676. /*** IUnknown methods ***/
  3677. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3678. ISpStreamFormatConverter *This,
  3679. REFIID riid,
  3680. void **ppvObject);
  3681. ULONG (STDMETHODCALLTYPE *AddRef)(
  3682. ISpStreamFormatConverter *This);
  3683. ULONG (STDMETHODCALLTYPE *Release)(
  3684. ISpStreamFormatConverter *This);
  3685. /*** ISequentialStream methods ***/
  3686. HRESULT (STDMETHODCALLTYPE *Read)(
  3687. ISpStreamFormatConverter *This,
  3688. void *pv,
  3689. ULONG cb,
  3690. ULONG *pcbRead);
  3691. HRESULT (STDMETHODCALLTYPE *Write)(
  3692. ISpStreamFormatConverter *This,
  3693. const void *pv,
  3694. ULONG cb,
  3695. ULONG *pcbWritten);
  3696. /*** IStream methods ***/
  3697. HRESULT (STDMETHODCALLTYPE *Seek)(
  3698. ISpStreamFormatConverter *This,
  3699. LARGE_INTEGER dlibMove,
  3700. DWORD dwOrigin,
  3701. ULARGE_INTEGER *plibNewPosition);
  3702. HRESULT (STDMETHODCALLTYPE *SetSize)(
  3703. ISpStreamFormatConverter *This,
  3704. ULARGE_INTEGER libNewSize);
  3705. HRESULT (STDMETHODCALLTYPE *CopyTo)(
  3706. ISpStreamFormatConverter *This,
  3707. IStream *pstm,
  3708. ULARGE_INTEGER cb,
  3709. ULARGE_INTEGER *pcbRead,
  3710. ULARGE_INTEGER *pcbWritten);
  3711. HRESULT (STDMETHODCALLTYPE *Commit)(
  3712. ISpStreamFormatConverter *This,
  3713. DWORD grfCommitFlags);
  3714. HRESULT (STDMETHODCALLTYPE *Revert)(
  3715. ISpStreamFormatConverter *This);
  3716. HRESULT (STDMETHODCALLTYPE *LockRegion)(
  3717. ISpStreamFormatConverter *This,
  3718. ULARGE_INTEGER libOffset,
  3719. ULARGE_INTEGER cb,
  3720. DWORD dwLockType);
  3721. HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
  3722. ISpStreamFormatConverter *This,
  3723. ULARGE_INTEGER libOffset,
  3724. ULARGE_INTEGER cb,
  3725. DWORD dwLockType);
  3726. HRESULT (STDMETHODCALLTYPE *Stat)(
  3727. ISpStreamFormatConverter *This,
  3728. STATSTG *pstatstg,
  3729. DWORD grfStatFlag);
  3730. HRESULT (STDMETHODCALLTYPE *Clone)(
  3731. ISpStreamFormatConverter *This,
  3732. IStream **ppstm);
  3733. /*** ISpStreamFormat methods ***/
  3734. HRESULT (STDMETHODCALLTYPE *GetFormat)(
  3735. ISpStreamFormatConverter *This,
  3736. GUID *pguidFormatId,
  3737. WAVEFORMATEX **ppCoMemWaveFormatEx);
  3738. /*** ISpStreamFormatConverter methods ***/
  3739. HRESULT (STDMETHODCALLTYPE *SetBaseStream)(
  3740. ISpStreamFormatConverter *This,
  3741. ISpStreamFormat *pStream,
  3742. WINBOOL fSetFormatToBaseStreamFormat,
  3743. WINBOOL fWriteToBaseStream);
  3744. HRESULT (STDMETHODCALLTYPE *GetBaseStream)(
  3745. ISpStreamFormatConverter *This,
  3746. ISpStreamFormat **ppStream);
  3747. HRESULT (STDMETHODCALLTYPE *SetFormat)(
  3748. ISpStreamFormatConverter *This,
  3749. REFGUID rguidFormatIdOfConvertedStream,
  3750. const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
  3751. HRESULT (STDMETHODCALLTYPE *ResetSeekPosition)(
  3752. ISpStreamFormatConverter *This);
  3753. HRESULT (STDMETHODCALLTYPE *ScaleConvertedToBaseOffset)(
  3754. ISpStreamFormatConverter *This,
  3755. ULONGLONG ullOffsetConvertedStream,
  3756. ULONGLONG *pullOffsetBaseStream);
  3757. HRESULT (STDMETHODCALLTYPE *ScaleBaseToConvertedOffset)(
  3758. ISpStreamFormatConverter *This,
  3759. ULONGLONG ullOffsetBaseStream,
  3760. ULONGLONG *pullOffsetConvertedStream);
  3761. END_INTERFACE
  3762. } ISpStreamFormatConverterVtbl;
  3763. interface ISpStreamFormatConverter {
  3764. CONST_VTBL ISpStreamFormatConverterVtbl* lpVtbl;
  3765. };
  3766. #ifdef COBJMACROS
  3767. #ifndef WIDL_C_INLINE_WRAPPERS
  3768. /*** IUnknown methods ***/
  3769. #define ISpStreamFormatConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3770. #define ISpStreamFormatConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
  3771. #define ISpStreamFormatConverter_Release(This) (This)->lpVtbl->Release(This)
  3772. /*** ISequentialStream methods ***/
  3773. #define ISpStreamFormatConverter_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
  3774. #define ISpStreamFormatConverter_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
  3775. /*** IStream methods ***/
  3776. #define ISpStreamFormatConverter_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
  3777. #define ISpStreamFormatConverter_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
  3778. #define ISpStreamFormatConverter_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  3779. #define ISpStreamFormatConverter_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
  3780. #define ISpStreamFormatConverter_Revert(This) (This)->lpVtbl->Revert(This)
  3781. #define ISpStreamFormatConverter_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
  3782. #define ISpStreamFormatConverter_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
  3783. #define ISpStreamFormatConverter_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
  3784. #define ISpStreamFormatConverter_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
  3785. /*** ISpStreamFormat methods ***/
  3786. #define ISpStreamFormatConverter_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
  3787. /*** ISpStreamFormatConverter methods ***/
  3788. #define ISpStreamFormatConverter_SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream) (This)->lpVtbl->SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream)
  3789. #define ISpStreamFormatConverter_GetBaseStream(This,ppStream) (This)->lpVtbl->GetBaseStream(This,ppStream)
  3790. #define ISpStreamFormatConverter_SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream) (This)->lpVtbl->SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream)
  3791. #define ISpStreamFormatConverter_ResetSeekPosition(This) (This)->lpVtbl->ResetSeekPosition(This)
  3792. #define ISpStreamFormatConverter_ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream) (This)->lpVtbl->ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream)
  3793. #define ISpStreamFormatConverter_ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream) (This)->lpVtbl->ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream)
  3794. #else
  3795. /*** IUnknown methods ***/
  3796. static FORCEINLINE HRESULT ISpStreamFormatConverter_QueryInterface(ISpStreamFormatConverter* This,REFIID riid,void **ppvObject) {
  3797. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3798. }
  3799. static FORCEINLINE ULONG ISpStreamFormatConverter_AddRef(ISpStreamFormatConverter* This) {
  3800. return This->lpVtbl->AddRef(This);
  3801. }
  3802. static FORCEINLINE ULONG ISpStreamFormatConverter_Release(ISpStreamFormatConverter* This) {
  3803. return This->lpVtbl->Release(This);
  3804. }
  3805. /*** ISequentialStream methods ***/
  3806. static FORCEINLINE HRESULT ISpStreamFormatConverter_Read(ISpStreamFormatConverter* This,void *pv,ULONG cb,ULONG *pcbRead) {
  3807. return This->lpVtbl->Read(This,pv,cb,pcbRead);
  3808. }
  3809. static FORCEINLINE HRESULT ISpStreamFormatConverter_Write(ISpStreamFormatConverter* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
  3810. return This->lpVtbl->Write(This,pv,cb,pcbWritten);
  3811. }
  3812. /*** IStream methods ***/
  3813. static FORCEINLINE HRESULT ISpStreamFormatConverter_Seek(ISpStreamFormatConverter* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
  3814. return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
  3815. }
  3816. static FORCEINLINE HRESULT ISpStreamFormatConverter_SetSize(ISpStreamFormatConverter* This,ULARGE_INTEGER libNewSize) {
  3817. return This->lpVtbl->SetSize(This,libNewSize);
  3818. }
  3819. static FORCEINLINE HRESULT ISpStreamFormatConverter_CopyTo(ISpStreamFormatConverter* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
  3820. return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
  3821. }
  3822. static FORCEINLINE HRESULT ISpStreamFormatConverter_Commit(ISpStreamFormatConverter* This,DWORD grfCommitFlags) {
  3823. return This->lpVtbl->Commit(This,grfCommitFlags);
  3824. }
  3825. static FORCEINLINE HRESULT ISpStreamFormatConverter_Revert(ISpStreamFormatConverter* This) {
  3826. return This->lpVtbl->Revert(This);
  3827. }
  3828. static FORCEINLINE HRESULT ISpStreamFormatConverter_LockRegion(ISpStreamFormatConverter* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  3829. return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
  3830. }
  3831. static FORCEINLINE HRESULT ISpStreamFormatConverter_UnlockRegion(ISpStreamFormatConverter* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  3832. return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
  3833. }
  3834. static FORCEINLINE HRESULT ISpStreamFormatConverter_Stat(ISpStreamFormatConverter* This,STATSTG *pstatstg,DWORD grfStatFlag) {
  3835. return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
  3836. }
  3837. static FORCEINLINE HRESULT ISpStreamFormatConverter_Clone(ISpStreamFormatConverter* This,IStream **ppstm) {
  3838. return This->lpVtbl->Clone(This,ppstm);
  3839. }
  3840. /*** ISpStreamFormat methods ***/
  3841. static FORCEINLINE HRESULT ISpStreamFormatConverter_GetFormat(ISpStreamFormatConverter* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
  3842. return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
  3843. }
  3844. /*** ISpStreamFormatConverter methods ***/
  3845. static FORCEINLINE HRESULT ISpStreamFormatConverter_SetBaseStream(ISpStreamFormatConverter* This,ISpStreamFormat *pStream,WINBOOL fSetFormatToBaseStreamFormat,WINBOOL fWriteToBaseStream) {
  3846. return This->lpVtbl->SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream);
  3847. }
  3848. static FORCEINLINE HRESULT ISpStreamFormatConverter_GetBaseStream(ISpStreamFormatConverter* This,ISpStreamFormat **ppStream) {
  3849. return This->lpVtbl->GetBaseStream(This,ppStream);
  3850. }
  3851. static FORCEINLINE HRESULT ISpStreamFormatConverter_SetFormat(ISpStreamFormatConverter* This,REFGUID rguidFormatIdOfConvertedStream,const WAVEFORMATEX *pWaveFormatExOfConvertedStream) {
  3852. return This->lpVtbl->SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream);
  3853. }
  3854. static FORCEINLINE HRESULT ISpStreamFormatConverter_ResetSeekPosition(ISpStreamFormatConverter* This) {
  3855. return This->lpVtbl->ResetSeekPosition(This);
  3856. }
  3857. static FORCEINLINE HRESULT ISpStreamFormatConverter_ScaleConvertedToBaseOffset(ISpStreamFormatConverter* This,ULONGLONG ullOffsetConvertedStream,ULONGLONG *pullOffsetBaseStream) {
  3858. return This->lpVtbl->ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream);
  3859. }
  3860. static FORCEINLINE HRESULT ISpStreamFormatConverter_ScaleBaseToConvertedOffset(ISpStreamFormatConverter* This,ULONGLONG ullOffsetBaseStream,ULONGLONG *pullOffsetConvertedStream) {
  3861. return This->lpVtbl->ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream);
  3862. }
  3863. #endif
  3864. #endif
  3865. #endif
  3866. #endif /* __ISpStreamFormatConverter_INTERFACE_DEFINED__ */
  3867. typedef struct SPAUDIOSTATUS {
  3868. LONG cbFreeBuffSpace;
  3869. ULONG cbNonBlockingIO;
  3870. SPAUDIOSTATE State;
  3871. ULONGLONG CurSeekPos;
  3872. ULONGLONG CurDevicePos;
  3873. DWORD dwAudioLevel;
  3874. DWORD dwReserved2;
  3875. } SPAUDIOSTATUS;
  3876. typedef struct SPAUDIOBUFFERINFO {
  3877. ULONG ulMsMinNotification;
  3878. ULONG ulMsBufferSize;
  3879. ULONG ulMsEventBias;
  3880. } SPAUDIOBUFFERINFO;
  3881. /*****************************************************************************
  3882. * ISpAudio interface
  3883. */
  3884. #ifndef __ISpAudio_INTERFACE_DEFINED__
  3885. #define __ISpAudio_INTERFACE_DEFINED__
  3886. DEFINE_GUID(IID_ISpAudio, 0xc05c768f, 0xfae8, 0x4ec2, 0x8e,0x07, 0x33,0x83,0x21,0xc1,0x24,0x52);
  3887. #if defined(__cplusplus) && !defined(CINTERFACE)
  3888. MIDL_INTERFACE("c05c768f-fae8-4ec2-8e07-338321c12452")
  3889. ISpAudio : public ISpStreamFormat
  3890. {
  3891. virtual HRESULT STDMETHODCALLTYPE SetState(
  3892. SPAUDIOSTATE NewState,
  3893. ULONGLONG ullReserved) = 0;
  3894. virtual HRESULT STDMETHODCALLTYPE SetFormat(
  3895. REFGUID rguidFmtId,
  3896. const WAVEFORMATEX *pWaveFormatEx) = 0;
  3897. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  3898. SPAUDIOSTATUS *pStatus) = 0;
  3899. virtual HRESULT STDMETHODCALLTYPE SetBufferInfo(
  3900. const SPAUDIOBUFFERINFO *pBuffInfo) = 0;
  3901. virtual HRESULT STDMETHODCALLTYPE GetBufferInfo(
  3902. SPAUDIOBUFFERINFO *pBuffInfo) = 0;
  3903. virtual HRESULT STDMETHODCALLTYPE GetDefaultFormat(
  3904. GUID *pFormatId,
  3905. WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
  3906. virtual HANDLE STDMETHODCALLTYPE EventHandle(
  3907. ) = 0;
  3908. virtual HRESULT STDMETHODCALLTYPE GetVolumeLevel(
  3909. ULONG *pLevel) = 0;
  3910. virtual HRESULT STDMETHODCALLTYPE SetVolumeLevel(
  3911. ULONG Level) = 0;
  3912. virtual HRESULT STDMETHODCALLTYPE GetBufferNotifySize(
  3913. ULONG *pcbSize) = 0;
  3914. virtual HRESULT STDMETHODCALLTYPE SetBufferNotifySize(
  3915. ULONG cbSize) = 0;
  3916. };
  3917. #ifdef __CRT_UUID_DECL
  3918. __CRT_UUID_DECL(ISpAudio, 0xc05c768f, 0xfae8, 0x4ec2, 0x8e,0x07, 0x33,0x83,0x21,0xc1,0x24,0x52)
  3919. #endif
  3920. #else
  3921. typedef struct ISpAudioVtbl {
  3922. BEGIN_INTERFACE
  3923. /*** IUnknown methods ***/
  3924. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3925. ISpAudio *This,
  3926. REFIID riid,
  3927. void **ppvObject);
  3928. ULONG (STDMETHODCALLTYPE *AddRef)(
  3929. ISpAudio *This);
  3930. ULONG (STDMETHODCALLTYPE *Release)(
  3931. ISpAudio *This);
  3932. /*** ISequentialStream methods ***/
  3933. HRESULT (STDMETHODCALLTYPE *Read)(
  3934. ISpAudio *This,
  3935. void *pv,
  3936. ULONG cb,
  3937. ULONG *pcbRead);
  3938. HRESULT (STDMETHODCALLTYPE *Write)(
  3939. ISpAudio *This,
  3940. const void *pv,
  3941. ULONG cb,
  3942. ULONG *pcbWritten);
  3943. /*** IStream methods ***/
  3944. HRESULT (STDMETHODCALLTYPE *Seek)(
  3945. ISpAudio *This,
  3946. LARGE_INTEGER dlibMove,
  3947. DWORD dwOrigin,
  3948. ULARGE_INTEGER *plibNewPosition);
  3949. HRESULT (STDMETHODCALLTYPE *SetSize)(
  3950. ISpAudio *This,
  3951. ULARGE_INTEGER libNewSize);
  3952. HRESULT (STDMETHODCALLTYPE *CopyTo)(
  3953. ISpAudio *This,
  3954. IStream *pstm,
  3955. ULARGE_INTEGER cb,
  3956. ULARGE_INTEGER *pcbRead,
  3957. ULARGE_INTEGER *pcbWritten);
  3958. HRESULT (STDMETHODCALLTYPE *Commit)(
  3959. ISpAudio *This,
  3960. DWORD grfCommitFlags);
  3961. HRESULT (STDMETHODCALLTYPE *Revert)(
  3962. ISpAudio *This);
  3963. HRESULT (STDMETHODCALLTYPE *LockRegion)(
  3964. ISpAudio *This,
  3965. ULARGE_INTEGER libOffset,
  3966. ULARGE_INTEGER cb,
  3967. DWORD dwLockType);
  3968. HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
  3969. ISpAudio *This,
  3970. ULARGE_INTEGER libOffset,
  3971. ULARGE_INTEGER cb,
  3972. DWORD dwLockType);
  3973. HRESULT (STDMETHODCALLTYPE *Stat)(
  3974. ISpAudio *This,
  3975. STATSTG *pstatstg,
  3976. DWORD grfStatFlag);
  3977. HRESULT (STDMETHODCALLTYPE *Clone)(
  3978. ISpAudio *This,
  3979. IStream **ppstm);
  3980. /*** ISpStreamFormat methods ***/
  3981. HRESULT (STDMETHODCALLTYPE *GetFormat)(
  3982. ISpAudio *This,
  3983. GUID *pguidFormatId,
  3984. WAVEFORMATEX **ppCoMemWaveFormatEx);
  3985. /*** ISpAudio methods ***/
  3986. HRESULT (STDMETHODCALLTYPE *SetState)(
  3987. ISpAudio *This,
  3988. SPAUDIOSTATE NewState,
  3989. ULONGLONG ullReserved);
  3990. HRESULT (STDMETHODCALLTYPE *SetFormat)(
  3991. ISpAudio *This,
  3992. REFGUID rguidFmtId,
  3993. const WAVEFORMATEX *pWaveFormatEx);
  3994. HRESULT (STDMETHODCALLTYPE *GetStatus)(
  3995. ISpAudio *This,
  3996. SPAUDIOSTATUS *pStatus);
  3997. HRESULT (STDMETHODCALLTYPE *SetBufferInfo)(
  3998. ISpAudio *This,
  3999. const SPAUDIOBUFFERINFO *pBuffInfo);
  4000. HRESULT (STDMETHODCALLTYPE *GetBufferInfo)(
  4001. ISpAudio *This,
  4002. SPAUDIOBUFFERINFO *pBuffInfo);
  4003. HRESULT (STDMETHODCALLTYPE *GetDefaultFormat)(
  4004. ISpAudio *This,
  4005. GUID *pFormatId,
  4006. WAVEFORMATEX **ppCoMemWaveFormatEx);
  4007. HANDLE (STDMETHODCALLTYPE *EventHandle)(
  4008. ISpAudio *This);
  4009. HRESULT (STDMETHODCALLTYPE *GetVolumeLevel)(
  4010. ISpAudio *This,
  4011. ULONG *pLevel);
  4012. HRESULT (STDMETHODCALLTYPE *SetVolumeLevel)(
  4013. ISpAudio *This,
  4014. ULONG Level);
  4015. HRESULT (STDMETHODCALLTYPE *GetBufferNotifySize)(
  4016. ISpAudio *This,
  4017. ULONG *pcbSize);
  4018. HRESULT (STDMETHODCALLTYPE *SetBufferNotifySize)(
  4019. ISpAudio *This,
  4020. ULONG cbSize);
  4021. END_INTERFACE
  4022. } ISpAudioVtbl;
  4023. interface ISpAudio {
  4024. CONST_VTBL ISpAudioVtbl* lpVtbl;
  4025. };
  4026. #ifdef COBJMACROS
  4027. #ifndef WIDL_C_INLINE_WRAPPERS
  4028. /*** IUnknown methods ***/
  4029. #define ISpAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4030. #define ISpAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
  4031. #define ISpAudio_Release(This) (This)->lpVtbl->Release(This)
  4032. /*** ISequentialStream methods ***/
  4033. #define ISpAudio_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
  4034. #define ISpAudio_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
  4035. /*** IStream methods ***/
  4036. #define ISpAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
  4037. #define ISpAudio_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
  4038. #define ISpAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  4039. #define ISpAudio_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
  4040. #define ISpAudio_Revert(This) (This)->lpVtbl->Revert(This)
  4041. #define ISpAudio_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
  4042. #define ISpAudio_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
  4043. #define ISpAudio_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
  4044. #define ISpAudio_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
  4045. /*** ISpStreamFormat methods ***/
  4046. #define ISpAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
  4047. /*** ISpAudio methods ***/
  4048. #define ISpAudio_SetState(This,NewState,ullReserved) (This)->lpVtbl->SetState(This,NewState,ullReserved)
  4049. #define ISpAudio_SetFormat(This,rguidFmtId,pWaveFormatEx) (This)->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx)
  4050. #define ISpAudio_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
  4051. #define ISpAudio_SetBufferInfo(This,pBuffInfo) (This)->lpVtbl->SetBufferInfo(This,pBuffInfo)
  4052. #define ISpAudio_GetBufferInfo(This,pBuffInfo) (This)->lpVtbl->GetBufferInfo(This,pBuffInfo)
  4053. #define ISpAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
  4054. #define ISpAudio_EventHandle(This) (This)->lpVtbl->EventHandle(This)
  4055. #define ISpAudio_GetVolumeLevel(This,pLevel) (This)->lpVtbl->GetVolumeLevel(This,pLevel)
  4056. #define ISpAudio_SetVolumeLevel(This,Level) (This)->lpVtbl->SetVolumeLevel(This,Level)
  4057. #define ISpAudio_GetBufferNotifySize(This,pcbSize) (This)->lpVtbl->GetBufferNotifySize(This,pcbSize)
  4058. #define ISpAudio_SetBufferNotifySize(This,cbSize) (This)->lpVtbl->SetBufferNotifySize(This,cbSize)
  4059. #else
  4060. /*** IUnknown methods ***/
  4061. static FORCEINLINE HRESULT ISpAudio_QueryInterface(ISpAudio* This,REFIID riid,void **ppvObject) {
  4062. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4063. }
  4064. static FORCEINLINE ULONG ISpAudio_AddRef(ISpAudio* This) {
  4065. return This->lpVtbl->AddRef(This);
  4066. }
  4067. static FORCEINLINE ULONG ISpAudio_Release(ISpAudio* This) {
  4068. return This->lpVtbl->Release(This);
  4069. }
  4070. /*** ISequentialStream methods ***/
  4071. static FORCEINLINE HRESULT ISpAudio_Read(ISpAudio* This,void *pv,ULONG cb,ULONG *pcbRead) {
  4072. return This->lpVtbl->Read(This,pv,cb,pcbRead);
  4073. }
  4074. static FORCEINLINE HRESULT ISpAudio_Write(ISpAudio* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
  4075. return This->lpVtbl->Write(This,pv,cb,pcbWritten);
  4076. }
  4077. /*** IStream methods ***/
  4078. static FORCEINLINE HRESULT ISpAudio_Seek(ISpAudio* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
  4079. return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
  4080. }
  4081. static FORCEINLINE HRESULT ISpAudio_SetSize(ISpAudio* This,ULARGE_INTEGER libNewSize) {
  4082. return This->lpVtbl->SetSize(This,libNewSize);
  4083. }
  4084. static FORCEINLINE HRESULT ISpAudio_CopyTo(ISpAudio* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
  4085. return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
  4086. }
  4087. static FORCEINLINE HRESULT ISpAudio_Commit(ISpAudio* This,DWORD grfCommitFlags) {
  4088. return This->lpVtbl->Commit(This,grfCommitFlags);
  4089. }
  4090. static FORCEINLINE HRESULT ISpAudio_Revert(ISpAudio* This) {
  4091. return This->lpVtbl->Revert(This);
  4092. }
  4093. static FORCEINLINE HRESULT ISpAudio_LockRegion(ISpAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  4094. return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
  4095. }
  4096. static FORCEINLINE HRESULT ISpAudio_UnlockRegion(ISpAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  4097. return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
  4098. }
  4099. static FORCEINLINE HRESULT ISpAudio_Stat(ISpAudio* This,STATSTG *pstatstg,DWORD grfStatFlag) {
  4100. return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
  4101. }
  4102. static FORCEINLINE HRESULT ISpAudio_Clone(ISpAudio* This,IStream **ppstm) {
  4103. return This->lpVtbl->Clone(This,ppstm);
  4104. }
  4105. /*** ISpStreamFormat methods ***/
  4106. static FORCEINLINE HRESULT ISpAudio_GetFormat(ISpAudio* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
  4107. return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
  4108. }
  4109. /*** ISpAudio methods ***/
  4110. static FORCEINLINE HRESULT ISpAudio_SetState(ISpAudio* This,SPAUDIOSTATE NewState,ULONGLONG ullReserved) {
  4111. return This->lpVtbl->SetState(This,NewState,ullReserved);
  4112. }
  4113. static FORCEINLINE HRESULT ISpAudio_SetFormat(ISpAudio* This,REFGUID rguidFmtId,const WAVEFORMATEX *pWaveFormatEx) {
  4114. return This->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx);
  4115. }
  4116. static FORCEINLINE HRESULT ISpAudio_GetStatus(ISpAudio* This,SPAUDIOSTATUS *pStatus) {
  4117. return This->lpVtbl->GetStatus(This,pStatus);
  4118. }
  4119. static FORCEINLINE HRESULT ISpAudio_SetBufferInfo(ISpAudio* This,const SPAUDIOBUFFERINFO *pBuffInfo) {
  4120. return This->lpVtbl->SetBufferInfo(This,pBuffInfo);
  4121. }
  4122. static FORCEINLINE HRESULT ISpAudio_GetBufferInfo(ISpAudio* This,SPAUDIOBUFFERINFO *pBuffInfo) {
  4123. return This->lpVtbl->GetBufferInfo(This,pBuffInfo);
  4124. }
  4125. static FORCEINLINE HRESULT ISpAudio_GetDefaultFormat(ISpAudio* This,GUID *pFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
  4126. return This->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx);
  4127. }
  4128. static FORCEINLINE HANDLE ISpAudio_EventHandle(ISpAudio* This) {
  4129. return This->lpVtbl->EventHandle(This);
  4130. }
  4131. static FORCEINLINE HRESULT ISpAudio_GetVolumeLevel(ISpAudio* This,ULONG *pLevel) {
  4132. return This->lpVtbl->GetVolumeLevel(This,pLevel);
  4133. }
  4134. static FORCEINLINE HRESULT ISpAudio_SetVolumeLevel(ISpAudio* This,ULONG Level) {
  4135. return This->lpVtbl->SetVolumeLevel(This,Level);
  4136. }
  4137. static FORCEINLINE HRESULT ISpAudio_GetBufferNotifySize(ISpAudio* This,ULONG *pcbSize) {
  4138. return This->lpVtbl->GetBufferNotifySize(This,pcbSize);
  4139. }
  4140. static FORCEINLINE HRESULT ISpAudio_SetBufferNotifySize(ISpAudio* This,ULONG cbSize) {
  4141. return This->lpVtbl->SetBufferNotifySize(This,cbSize);
  4142. }
  4143. #endif
  4144. #endif
  4145. #endif
  4146. #endif /* __ISpAudio_INTERFACE_DEFINED__ */
  4147. /*****************************************************************************
  4148. * ISpMMSysAudio interface
  4149. */
  4150. #ifndef __ISpMMSysAudio_INTERFACE_DEFINED__
  4151. #define __ISpMMSysAudio_INTERFACE_DEFINED__
  4152. DEFINE_GUID(IID_ISpMMSysAudio, 0x15806f6e, 0x1d70, 0x4b48, 0x98,0xe6, 0x3b,0x1a,0x00,0x75,0x09,0xab);
  4153. #if defined(__cplusplus) && !defined(CINTERFACE)
  4154. MIDL_INTERFACE("15806f6e-1d70-4b48-98e6-3b1a007509ab")
  4155. ISpMMSysAudio : public ISpAudio
  4156. {
  4157. virtual HRESULT STDMETHODCALLTYPE GetDeviceId(
  4158. UINT *puDeviceId) = 0;
  4159. virtual HRESULT STDMETHODCALLTYPE SetDeviceId(
  4160. UINT uDeviceId) = 0;
  4161. virtual HRESULT STDMETHODCALLTYPE GetMMHandle(
  4162. void **pHandle) = 0;
  4163. virtual HRESULT STDMETHODCALLTYPE GetLineId(
  4164. UINT *puLineId) = 0;
  4165. virtual HRESULT STDMETHODCALLTYPE SetLineId(
  4166. UINT uLineId) = 0;
  4167. };
  4168. #ifdef __CRT_UUID_DECL
  4169. __CRT_UUID_DECL(ISpMMSysAudio, 0x15806f6e, 0x1d70, 0x4b48, 0x98,0xe6, 0x3b,0x1a,0x00,0x75,0x09,0xab)
  4170. #endif
  4171. #else
  4172. typedef struct ISpMMSysAudioVtbl {
  4173. BEGIN_INTERFACE
  4174. /*** IUnknown methods ***/
  4175. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4176. ISpMMSysAudio *This,
  4177. REFIID riid,
  4178. void **ppvObject);
  4179. ULONG (STDMETHODCALLTYPE *AddRef)(
  4180. ISpMMSysAudio *This);
  4181. ULONG (STDMETHODCALLTYPE *Release)(
  4182. ISpMMSysAudio *This);
  4183. /*** ISequentialStream methods ***/
  4184. HRESULT (STDMETHODCALLTYPE *Read)(
  4185. ISpMMSysAudio *This,
  4186. void *pv,
  4187. ULONG cb,
  4188. ULONG *pcbRead);
  4189. HRESULT (STDMETHODCALLTYPE *Write)(
  4190. ISpMMSysAudio *This,
  4191. const void *pv,
  4192. ULONG cb,
  4193. ULONG *pcbWritten);
  4194. /*** IStream methods ***/
  4195. HRESULT (STDMETHODCALLTYPE *Seek)(
  4196. ISpMMSysAudio *This,
  4197. LARGE_INTEGER dlibMove,
  4198. DWORD dwOrigin,
  4199. ULARGE_INTEGER *plibNewPosition);
  4200. HRESULT (STDMETHODCALLTYPE *SetSize)(
  4201. ISpMMSysAudio *This,
  4202. ULARGE_INTEGER libNewSize);
  4203. HRESULT (STDMETHODCALLTYPE *CopyTo)(
  4204. ISpMMSysAudio *This,
  4205. IStream *pstm,
  4206. ULARGE_INTEGER cb,
  4207. ULARGE_INTEGER *pcbRead,
  4208. ULARGE_INTEGER *pcbWritten);
  4209. HRESULT (STDMETHODCALLTYPE *Commit)(
  4210. ISpMMSysAudio *This,
  4211. DWORD grfCommitFlags);
  4212. HRESULT (STDMETHODCALLTYPE *Revert)(
  4213. ISpMMSysAudio *This);
  4214. HRESULT (STDMETHODCALLTYPE *LockRegion)(
  4215. ISpMMSysAudio *This,
  4216. ULARGE_INTEGER libOffset,
  4217. ULARGE_INTEGER cb,
  4218. DWORD dwLockType);
  4219. HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
  4220. ISpMMSysAudio *This,
  4221. ULARGE_INTEGER libOffset,
  4222. ULARGE_INTEGER cb,
  4223. DWORD dwLockType);
  4224. HRESULT (STDMETHODCALLTYPE *Stat)(
  4225. ISpMMSysAudio *This,
  4226. STATSTG *pstatstg,
  4227. DWORD grfStatFlag);
  4228. HRESULT (STDMETHODCALLTYPE *Clone)(
  4229. ISpMMSysAudio *This,
  4230. IStream **ppstm);
  4231. /*** ISpStreamFormat methods ***/
  4232. HRESULT (STDMETHODCALLTYPE *GetFormat)(
  4233. ISpMMSysAudio *This,
  4234. GUID *pguidFormatId,
  4235. WAVEFORMATEX **ppCoMemWaveFormatEx);
  4236. /*** ISpAudio methods ***/
  4237. HRESULT (STDMETHODCALLTYPE *SetState)(
  4238. ISpMMSysAudio *This,
  4239. SPAUDIOSTATE NewState,
  4240. ULONGLONG ullReserved);
  4241. HRESULT (STDMETHODCALLTYPE *SetFormat)(
  4242. ISpMMSysAudio *This,
  4243. REFGUID rguidFmtId,
  4244. const WAVEFORMATEX *pWaveFormatEx);
  4245. HRESULT (STDMETHODCALLTYPE *GetStatus)(
  4246. ISpMMSysAudio *This,
  4247. SPAUDIOSTATUS *pStatus);
  4248. HRESULT (STDMETHODCALLTYPE *SetBufferInfo)(
  4249. ISpMMSysAudio *This,
  4250. const SPAUDIOBUFFERINFO *pBuffInfo);
  4251. HRESULT (STDMETHODCALLTYPE *GetBufferInfo)(
  4252. ISpMMSysAudio *This,
  4253. SPAUDIOBUFFERINFO *pBuffInfo);
  4254. HRESULT (STDMETHODCALLTYPE *GetDefaultFormat)(
  4255. ISpMMSysAudio *This,
  4256. GUID *pFormatId,
  4257. WAVEFORMATEX **ppCoMemWaveFormatEx);
  4258. HANDLE (STDMETHODCALLTYPE *EventHandle)(
  4259. ISpMMSysAudio *This);
  4260. HRESULT (STDMETHODCALLTYPE *GetVolumeLevel)(
  4261. ISpMMSysAudio *This,
  4262. ULONG *pLevel);
  4263. HRESULT (STDMETHODCALLTYPE *SetVolumeLevel)(
  4264. ISpMMSysAudio *This,
  4265. ULONG Level);
  4266. HRESULT (STDMETHODCALLTYPE *GetBufferNotifySize)(
  4267. ISpMMSysAudio *This,
  4268. ULONG *pcbSize);
  4269. HRESULT (STDMETHODCALLTYPE *SetBufferNotifySize)(
  4270. ISpMMSysAudio *This,
  4271. ULONG cbSize);
  4272. /*** ISpMMSysAudio methods ***/
  4273. HRESULT (STDMETHODCALLTYPE *GetDeviceId)(
  4274. ISpMMSysAudio *This,
  4275. UINT *puDeviceId);
  4276. HRESULT (STDMETHODCALLTYPE *SetDeviceId)(
  4277. ISpMMSysAudio *This,
  4278. UINT uDeviceId);
  4279. HRESULT (STDMETHODCALLTYPE *GetMMHandle)(
  4280. ISpMMSysAudio *This,
  4281. void **pHandle);
  4282. HRESULT (STDMETHODCALLTYPE *GetLineId)(
  4283. ISpMMSysAudio *This,
  4284. UINT *puLineId);
  4285. HRESULT (STDMETHODCALLTYPE *SetLineId)(
  4286. ISpMMSysAudio *This,
  4287. UINT uLineId);
  4288. END_INTERFACE
  4289. } ISpMMSysAudioVtbl;
  4290. interface ISpMMSysAudio {
  4291. CONST_VTBL ISpMMSysAudioVtbl* lpVtbl;
  4292. };
  4293. #ifdef COBJMACROS
  4294. #ifndef WIDL_C_INLINE_WRAPPERS
  4295. /*** IUnknown methods ***/
  4296. #define ISpMMSysAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4297. #define ISpMMSysAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
  4298. #define ISpMMSysAudio_Release(This) (This)->lpVtbl->Release(This)
  4299. /*** ISequentialStream methods ***/
  4300. #define ISpMMSysAudio_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
  4301. #define ISpMMSysAudio_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
  4302. /*** IStream methods ***/
  4303. #define ISpMMSysAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
  4304. #define ISpMMSysAudio_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
  4305. #define ISpMMSysAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  4306. #define ISpMMSysAudio_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
  4307. #define ISpMMSysAudio_Revert(This) (This)->lpVtbl->Revert(This)
  4308. #define ISpMMSysAudio_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
  4309. #define ISpMMSysAudio_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
  4310. #define ISpMMSysAudio_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
  4311. #define ISpMMSysAudio_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
  4312. /*** ISpStreamFormat methods ***/
  4313. #define ISpMMSysAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
  4314. /*** ISpAudio methods ***/
  4315. #define ISpMMSysAudio_SetState(This,NewState,ullReserved) (This)->lpVtbl->SetState(This,NewState,ullReserved)
  4316. #define ISpMMSysAudio_SetFormat(This,rguidFmtId,pWaveFormatEx) (This)->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx)
  4317. #define ISpMMSysAudio_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
  4318. #define ISpMMSysAudio_SetBufferInfo(This,pBuffInfo) (This)->lpVtbl->SetBufferInfo(This,pBuffInfo)
  4319. #define ISpMMSysAudio_GetBufferInfo(This,pBuffInfo) (This)->lpVtbl->GetBufferInfo(This,pBuffInfo)
  4320. #define ISpMMSysAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
  4321. #define ISpMMSysAudio_EventHandle(This) (This)->lpVtbl->EventHandle(This)
  4322. #define ISpMMSysAudio_GetVolumeLevel(This,pLevel) (This)->lpVtbl->GetVolumeLevel(This,pLevel)
  4323. #define ISpMMSysAudio_SetVolumeLevel(This,Level) (This)->lpVtbl->SetVolumeLevel(This,Level)
  4324. #define ISpMMSysAudio_GetBufferNotifySize(This,pcbSize) (This)->lpVtbl->GetBufferNotifySize(This,pcbSize)
  4325. #define ISpMMSysAudio_SetBufferNotifySize(This,cbSize) (This)->lpVtbl->SetBufferNotifySize(This,cbSize)
  4326. /*** ISpMMSysAudio methods ***/
  4327. #define ISpMMSysAudio_GetDeviceId(This,puDeviceId) (This)->lpVtbl->GetDeviceId(This,puDeviceId)
  4328. #define ISpMMSysAudio_SetDeviceId(This,uDeviceId) (This)->lpVtbl->SetDeviceId(This,uDeviceId)
  4329. #define ISpMMSysAudio_GetMMHandle(This,pHandle) (This)->lpVtbl->GetMMHandle(This,pHandle)
  4330. #define ISpMMSysAudio_GetLineId(This,puLineId) (This)->lpVtbl->GetLineId(This,puLineId)
  4331. #define ISpMMSysAudio_SetLineId(This,uLineId) (This)->lpVtbl->SetLineId(This,uLineId)
  4332. #else
  4333. /*** IUnknown methods ***/
  4334. static FORCEINLINE HRESULT ISpMMSysAudio_QueryInterface(ISpMMSysAudio* This,REFIID riid,void **ppvObject) {
  4335. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4336. }
  4337. static FORCEINLINE ULONG ISpMMSysAudio_AddRef(ISpMMSysAudio* This) {
  4338. return This->lpVtbl->AddRef(This);
  4339. }
  4340. static FORCEINLINE ULONG ISpMMSysAudio_Release(ISpMMSysAudio* This) {
  4341. return This->lpVtbl->Release(This);
  4342. }
  4343. /*** ISequentialStream methods ***/
  4344. static FORCEINLINE HRESULT ISpMMSysAudio_Read(ISpMMSysAudio* This,void *pv,ULONG cb,ULONG *pcbRead) {
  4345. return This->lpVtbl->Read(This,pv,cb,pcbRead);
  4346. }
  4347. static FORCEINLINE HRESULT ISpMMSysAudio_Write(ISpMMSysAudio* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
  4348. return This->lpVtbl->Write(This,pv,cb,pcbWritten);
  4349. }
  4350. /*** IStream methods ***/
  4351. static FORCEINLINE HRESULT ISpMMSysAudio_Seek(ISpMMSysAudio* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
  4352. return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
  4353. }
  4354. static FORCEINLINE HRESULT ISpMMSysAudio_SetSize(ISpMMSysAudio* This,ULARGE_INTEGER libNewSize) {
  4355. return This->lpVtbl->SetSize(This,libNewSize);
  4356. }
  4357. static FORCEINLINE HRESULT ISpMMSysAudio_CopyTo(ISpMMSysAudio* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
  4358. return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
  4359. }
  4360. static FORCEINLINE HRESULT ISpMMSysAudio_Commit(ISpMMSysAudio* This,DWORD grfCommitFlags) {
  4361. return This->lpVtbl->Commit(This,grfCommitFlags);
  4362. }
  4363. static FORCEINLINE HRESULT ISpMMSysAudio_Revert(ISpMMSysAudio* This) {
  4364. return This->lpVtbl->Revert(This);
  4365. }
  4366. static FORCEINLINE HRESULT ISpMMSysAudio_LockRegion(ISpMMSysAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  4367. return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
  4368. }
  4369. static FORCEINLINE HRESULT ISpMMSysAudio_UnlockRegion(ISpMMSysAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  4370. return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
  4371. }
  4372. static FORCEINLINE HRESULT ISpMMSysAudio_Stat(ISpMMSysAudio* This,STATSTG *pstatstg,DWORD grfStatFlag) {
  4373. return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
  4374. }
  4375. static FORCEINLINE HRESULT ISpMMSysAudio_Clone(ISpMMSysAudio* This,IStream **ppstm) {
  4376. return This->lpVtbl->Clone(This,ppstm);
  4377. }
  4378. /*** ISpStreamFormat methods ***/
  4379. static FORCEINLINE HRESULT ISpMMSysAudio_GetFormat(ISpMMSysAudio* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
  4380. return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
  4381. }
  4382. /*** ISpAudio methods ***/
  4383. static FORCEINLINE HRESULT ISpMMSysAudio_SetState(ISpMMSysAudio* This,SPAUDIOSTATE NewState,ULONGLONG ullReserved) {
  4384. return This->lpVtbl->SetState(This,NewState,ullReserved);
  4385. }
  4386. static FORCEINLINE HRESULT ISpMMSysAudio_SetFormat(ISpMMSysAudio* This,REFGUID rguidFmtId,const WAVEFORMATEX *pWaveFormatEx) {
  4387. return This->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx);
  4388. }
  4389. static FORCEINLINE HRESULT ISpMMSysAudio_GetStatus(ISpMMSysAudio* This,SPAUDIOSTATUS *pStatus) {
  4390. return This->lpVtbl->GetStatus(This,pStatus);
  4391. }
  4392. static FORCEINLINE HRESULT ISpMMSysAudio_SetBufferInfo(ISpMMSysAudio* This,const SPAUDIOBUFFERINFO *pBuffInfo) {
  4393. return This->lpVtbl->SetBufferInfo(This,pBuffInfo);
  4394. }
  4395. static FORCEINLINE HRESULT ISpMMSysAudio_GetBufferInfo(ISpMMSysAudio* This,SPAUDIOBUFFERINFO *pBuffInfo) {
  4396. return This->lpVtbl->GetBufferInfo(This,pBuffInfo);
  4397. }
  4398. static FORCEINLINE HRESULT ISpMMSysAudio_GetDefaultFormat(ISpMMSysAudio* This,GUID *pFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
  4399. return This->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx);
  4400. }
  4401. static FORCEINLINE HANDLE ISpMMSysAudio_EventHandle(ISpMMSysAudio* This) {
  4402. return This->lpVtbl->EventHandle(This);
  4403. }
  4404. static FORCEINLINE HRESULT ISpMMSysAudio_GetVolumeLevel(ISpMMSysAudio* This,ULONG *pLevel) {
  4405. return This->lpVtbl->GetVolumeLevel(This,pLevel);
  4406. }
  4407. static FORCEINLINE HRESULT ISpMMSysAudio_SetVolumeLevel(ISpMMSysAudio* This,ULONG Level) {
  4408. return This->lpVtbl->SetVolumeLevel(This,Level);
  4409. }
  4410. static FORCEINLINE HRESULT ISpMMSysAudio_GetBufferNotifySize(ISpMMSysAudio* This,ULONG *pcbSize) {
  4411. return This->lpVtbl->GetBufferNotifySize(This,pcbSize);
  4412. }
  4413. static FORCEINLINE HRESULT ISpMMSysAudio_SetBufferNotifySize(ISpMMSysAudio* This,ULONG cbSize) {
  4414. return This->lpVtbl->SetBufferNotifySize(This,cbSize);
  4415. }
  4416. /*** ISpMMSysAudio methods ***/
  4417. static FORCEINLINE HRESULT ISpMMSysAudio_GetDeviceId(ISpMMSysAudio* This,UINT *puDeviceId) {
  4418. return This->lpVtbl->GetDeviceId(This,puDeviceId);
  4419. }
  4420. static FORCEINLINE HRESULT ISpMMSysAudio_SetDeviceId(ISpMMSysAudio* This,UINT uDeviceId) {
  4421. return This->lpVtbl->SetDeviceId(This,uDeviceId);
  4422. }
  4423. static FORCEINLINE HRESULT ISpMMSysAudio_GetMMHandle(ISpMMSysAudio* This,void **pHandle) {
  4424. return This->lpVtbl->GetMMHandle(This,pHandle);
  4425. }
  4426. static FORCEINLINE HRESULT ISpMMSysAudio_GetLineId(ISpMMSysAudio* This,UINT *puLineId) {
  4427. return This->lpVtbl->GetLineId(This,puLineId);
  4428. }
  4429. static FORCEINLINE HRESULT ISpMMSysAudio_SetLineId(ISpMMSysAudio* This,UINT uLineId) {
  4430. return This->lpVtbl->SetLineId(This,uLineId);
  4431. }
  4432. #endif
  4433. #endif
  4434. #endif
  4435. #endif /* __ISpMMSysAudio_INTERFACE_DEFINED__ */
  4436. /*****************************************************************************
  4437. * ISpTranscript interface
  4438. */
  4439. #ifndef __ISpTranscript_INTERFACE_DEFINED__
  4440. #define __ISpTranscript_INTERFACE_DEFINED__
  4441. DEFINE_GUID(IID_ISpTranscript, 0x10f63bce, 0x201a, 0x11d3, 0xac,0x70, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
  4442. #if defined(__cplusplus) && !defined(CINTERFACE)
  4443. MIDL_INTERFACE("10f63bce-201a-11d3-ac70-00c04f8ee6c0")
  4444. ISpTranscript : public IUnknown
  4445. {
  4446. virtual HRESULT STDMETHODCALLTYPE GetTranscript(
  4447. LPWSTR *ppszTranscript) = 0;
  4448. virtual HRESULT STDMETHODCALLTYPE AppendTranscript(
  4449. LPCWSTR pszTranscript) = 0;
  4450. };
  4451. #ifdef __CRT_UUID_DECL
  4452. __CRT_UUID_DECL(ISpTranscript, 0x10f63bce, 0x201a, 0x11d3, 0xac,0x70, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
  4453. #endif
  4454. #else
  4455. typedef struct ISpTranscriptVtbl {
  4456. BEGIN_INTERFACE
  4457. /*** IUnknown methods ***/
  4458. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4459. ISpTranscript *This,
  4460. REFIID riid,
  4461. void **ppvObject);
  4462. ULONG (STDMETHODCALLTYPE *AddRef)(
  4463. ISpTranscript *This);
  4464. ULONG (STDMETHODCALLTYPE *Release)(
  4465. ISpTranscript *This);
  4466. /*** ISpTranscript methods ***/
  4467. HRESULT (STDMETHODCALLTYPE *GetTranscript)(
  4468. ISpTranscript *This,
  4469. LPWSTR *ppszTranscript);
  4470. HRESULT (STDMETHODCALLTYPE *AppendTranscript)(
  4471. ISpTranscript *This,
  4472. LPCWSTR pszTranscript);
  4473. END_INTERFACE
  4474. } ISpTranscriptVtbl;
  4475. interface ISpTranscript {
  4476. CONST_VTBL ISpTranscriptVtbl* lpVtbl;
  4477. };
  4478. #ifdef COBJMACROS
  4479. #ifndef WIDL_C_INLINE_WRAPPERS
  4480. /*** IUnknown methods ***/
  4481. #define ISpTranscript_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4482. #define ISpTranscript_AddRef(This) (This)->lpVtbl->AddRef(This)
  4483. #define ISpTranscript_Release(This) (This)->lpVtbl->Release(This)
  4484. /*** ISpTranscript methods ***/
  4485. #define ISpTranscript_GetTranscript(This,ppszTranscript) (This)->lpVtbl->GetTranscript(This,ppszTranscript)
  4486. #define ISpTranscript_AppendTranscript(This,pszTranscript) (This)->lpVtbl->AppendTranscript(This,pszTranscript)
  4487. #else
  4488. /*** IUnknown methods ***/
  4489. static FORCEINLINE HRESULT ISpTranscript_QueryInterface(ISpTranscript* This,REFIID riid,void **ppvObject) {
  4490. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4491. }
  4492. static FORCEINLINE ULONG ISpTranscript_AddRef(ISpTranscript* This) {
  4493. return This->lpVtbl->AddRef(This);
  4494. }
  4495. static FORCEINLINE ULONG ISpTranscript_Release(ISpTranscript* This) {
  4496. return This->lpVtbl->Release(This);
  4497. }
  4498. /*** ISpTranscript methods ***/
  4499. static FORCEINLINE HRESULT ISpTranscript_GetTranscript(ISpTranscript* This,LPWSTR *ppszTranscript) {
  4500. return This->lpVtbl->GetTranscript(This,ppszTranscript);
  4501. }
  4502. static FORCEINLINE HRESULT ISpTranscript_AppendTranscript(ISpTranscript* This,LPCWSTR pszTranscript) {
  4503. return This->lpVtbl->AppendTranscript(This,pszTranscript);
  4504. }
  4505. #endif
  4506. #endif
  4507. #endif
  4508. #endif /* __ISpTranscript_INTERFACE_DEFINED__ */
  4509. typedef WCHAR SPPHONEID;
  4510. typedef LPWSTR PSPPHONEID;
  4511. typedef LPCWSTR PCSPPHONEID;
  4512. typedef struct SPPHRASEELEMENT {
  4513. ULONG ulAudioTimeOffset;
  4514. ULONG ulAudioSizeTime;
  4515. ULONG ulAudioStreamOffset;
  4516. ULONG ulAudioSizeBytes;
  4517. ULONG ulRetainedStreamOffset;
  4518. ULONG ulRetainedSizeBytes;
  4519. LPCWSTR pszDisplayText;
  4520. LPCWSTR pszLexicalForm;
  4521. const SPPHONEID *pszPronunciation;
  4522. BYTE bDisplayAttributes;
  4523. signed char RequiredConfidence;
  4524. signed char ActualConfidence;
  4525. BYTE Reserved;
  4526. float SREngineConfidence;
  4527. } SPPHRASEELEMENT;
  4528. typedef struct SPPHRASERULE SPPHRASERULE;
  4529. typedef struct SPPHRASEPROPERTY SPPHRASEPROPERTY;
  4530. struct SPPHRASERULE {
  4531. LPCWSTR pszName;
  4532. ULONG ulId;
  4533. ULONG ulFirstElement;
  4534. ULONG ulCountOfElements;
  4535. const SPPHRASERULE *pNextSibling;
  4536. const SPPHRASERULE *pFirstChild;
  4537. float SREngineConfidence;
  4538. signed char Confidence;
  4539. };
  4540. struct SPPHRASEPROPERTY {
  4541. LPCWSTR pszName;
  4542. __C89_NAMELESS union {
  4543. ULONG ulId;
  4544. __C89_NAMELESS struct {
  4545. byte bType;
  4546. byte bReserved;
  4547. unsigned short usArrayIndex;
  4548. } __C89_NAMELESSSTRUCTNAME;
  4549. } __C89_NAMELESSUNIONNAME;
  4550. LPCWSTR pszValue;
  4551. VARIANT vValue;
  4552. ULONG ulFirstElement;
  4553. ULONG ulCountOfElements;
  4554. const SPPHRASEPROPERTY *pNextSibling;
  4555. const SPPHRASEPROPERTY *pFirstChild;
  4556. float SREngineConfidence;
  4557. signed char Confidence;
  4558. };
  4559. typedef struct SPPHRASEREPLACEMENT {
  4560. BYTE bDisplayAttributes;
  4561. LPCWSTR pszReplacementText;
  4562. ULONG ulFirstElement;
  4563. ULONG ulCountOfElements;
  4564. } SPPHRASEREPLACEMENT;
  4565. typedef struct SPPHRASE {
  4566. ULONG cbSize;
  4567. WORD LangID;
  4568. WORD wHomophoneGroupId;
  4569. ULONGLONG ullGrammarID;
  4570. ULONGLONG ftStartTime;
  4571. ULONGLONG ullAudioStreamPosition;
  4572. ULONG ulAudioSizeBytes;
  4573. ULONG ulRetainedSizeBytes;
  4574. ULONG ulAudioSizeTime;
  4575. SPPHRASERULE Rule;
  4576. const SPPHRASEPROPERTY *pProperties;
  4577. const SPPHRASEELEMENT *pElements;
  4578. ULONG cReplacements;
  4579. const SPPHRASEREPLACEMENT *pReplacements;
  4580. GUID SREngineID;
  4581. ULONG ulSREnginePrivateDataSize;
  4582. const BYTE *pSREnginePrivateData;
  4583. } SPPHRASE;
  4584. typedef struct SPSERIALIZEDPHRASE {
  4585. ULONG ulSerializedSize;
  4586. } SPSERIALIZEDPHRASE;
  4587. typedef struct SPBINARYGRAMMAR {
  4588. ULONG ulTotalSerializedSize;
  4589. } SPBINARYGRAMMAR;
  4590. #if 0
  4591. typedef void *SPSTATEHANDLE;
  4592. #else
  4593. DECLARE_HANDLE(SPSTATEHANDLE);
  4594. #endif
  4595. typedef struct SPWORDPRONUNCIATION {
  4596. struct SPWORDPRONUNCIATION *pNextWordPronunciation;
  4597. SPLEXICONTYPE eLexiconType;
  4598. WORD LangID;
  4599. WORD wPronunciationFlags;
  4600. SPPARTOFSPEECH ePartOfSpeech;
  4601. SPPHONEID szPronunciation[1];
  4602. } SPWORDPRONUNCIATION;
  4603. typedef struct SPWORDPRONUNCIATIONLIST {
  4604. ULONG ulSize;
  4605. BYTE *pvBuffer;
  4606. SPWORDPRONUNCIATION *pFirstWordPronunciation;
  4607. } SPWORDPRONUNCIATIONLIST;
  4608. typedef struct SPWORD {
  4609. struct SPWORD *pNextWord;
  4610. WORD LangID;
  4611. WORD wReserved;
  4612. SPWORDTYPE eWordType;
  4613. LPWSTR pszWord;
  4614. SPWORDPRONUNCIATION *pFirstWordPronunciation;
  4615. } SPWORD;
  4616. typedef struct SPWORDLIST {
  4617. ULONG ulSize;
  4618. BYTE *pvBuffer;
  4619. SPWORD *pFirstWord;
  4620. } SPWORDLIST;
  4621. /*****************************************************************************
  4622. * ISpLexicon interface
  4623. */
  4624. #ifndef __ISpLexicon_INTERFACE_DEFINED__
  4625. #define __ISpLexicon_INTERFACE_DEFINED__
  4626. DEFINE_GUID(IID_ISpLexicon, 0xda41a7c2, 0x5383, 0x4db2, 0x91,0x6b, 0x6c,0x17,0x19,0xe3,0xdb,0x58);
  4627. #if defined(__cplusplus) && !defined(CINTERFACE)
  4628. MIDL_INTERFACE("da41a7c2-5383-4db2-916b-6c1719e3db58")
  4629. ISpLexicon : public IUnknown
  4630. {
  4631. virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
  4632. LPCWSTR pszWord,
  4633. WORD LangID,
  4634. DWORD dwFlags,
  4635. SPWORDPRONUNCIATIONLIST *pWordPronunciationList) = 0;
  4636. virtual HRESULT STDMETHODCALLTYPE AddPronunciation(
  4637. LPCWSTR pszWord,
  4638. WORD LangID,
  4639. SPPARTOFSPEECH ePartOfSpeech,
  4640. PCSPPHONEID pszPronunciation) = 0;
  4641. virtual HRESULT STDMETHODCALLTYPE RemovePronunciation(
  4642. LPCWSTR pszWord,
  4643. WORD LangID,
  4644. SPPARTOFSPEECH ePartOfSpeech,
  4645. PCSPPHONEID pszPronunciation) = 0;
  4646. virtual HRESULT STDMETHODCALLTYPE GetGeneration(
  4647. DWORD *pdwGeneration) = 0;
  4648. virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
  4649. DWORD dwFlags,
  4650. DWORD *pdwGeneration,
  4651. SPWORDLIST *pWordList) = 0;
  4652. virtual HRESULT STDMETHODCALLTYPE GetWords(
  4653. DWORD dwFlags,
  4654. DWORD *pdwGeneration,
  4655. DWORD *pdwCookie,
  4656. SPWORDLIST *pWordList) = 0;
  4657. };
  4658. #ifdef __CRT_UUID_DECL
  4659. __CRT_UUID_DECL(ISpLexicon, 0xda41a7c2, 0x5383, 0x4db2, 0x91,0x6b, 0x6c,0x17,0x19,0xe3,0xdb,0x58)
  4660. #endif
  4661. #else
  4662. typedef struct ISpLexiconVtbl {
  4663. BEGIN_INTERFACE
  4664. /*** IUnknown methods ***/
  4665. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4666. ISpLexicon *This,
  4667. REFIID riid,
  4668. void **ppvObject);
  4669. ULONG (STDMETHODCALLTYPE *AddRef)(
  4670. ISpLexicon *This);
  4671. ULONG (STDMETHODCALLTYPE *Release)(
  4672. ISpLexicon *This);
  4673. /*** ISpLexicon methods ***/
  4674. HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
  4675. ISpLexicon *This,
  4676. LPCWSTR pszWord,
  4677. WORD LangID,
  4678. DWORD dwFlags,
  4679. SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
  4680. HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
  4681. ISpLexicon *This,
  4682. LPCWSTR pszWord,
  4683. WORD LangID,
  4684. SPPARTOFSPEECH ePartOfSpeech,
  4685. PCSPPHONEID pszPronunciation);
  4686. HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
  4687. ISpLexicon *This,
  4688. LPCWSTR pszWord,
  4689. WORD LangID,
  4690. SPPARTOFSPEECH ePartOfSpeech,
  4691. PCSPPHONEID pszPronunciation);
  4692. HRESULT (STDMETHODCALLTYPE *GetGeneration)(
  4693. ISpLexicon *This,
  4694. DWORD *pdwGeneration);
  4695. HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
  4696. ISpLexicon *This,
  4697. DWORD dwFlags,
  4698. DWORD *pdwGeneration,
  4699. SPWORDLIST *pWordList);
  4700. HRESULT (STDMETHODCALLTYPE *GetWords)(
  4701. ISpLexicon *This,
  4702. DWORD dwFlags,
  4703. DWORD *pdwGeneration,
  4704. DWORD *pdwCookie,
  4705. SPWORDLIST *pWordList);
  4706. END_INTERFACE
  4707. } ISpLexiconVtbl;
  4708. interface ISpLexicon {
  4709. CONST_VTBL ISpLexiconVtbl* lpVtbl;
  4710. };
  4711. #ifdef COBJMACROS
  4712. #ifndef WIDL_C_INLINE_WRAPPERS
  4713. /*** IUnknown methods ***/
  4714. #define ISpLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4715. #define ISpLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
  4716. #define ISpLexicon_Release(This) (This)->lpVtbl->Release(This)
  4717. /*** ISpLexicon methods ***/
  4718. #define ISpLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList) (This)->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
  4719. #define ISpLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
  4720. #define ISpLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
  4721. #define ISpLexicon_GetGeneration(This,pdwGeneration) (This)->lpVtbl->GetGeneration(This,pdwGeneration)
  4722. #define ISpLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList) (This)->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
  4723. #define ISpLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList) (This)->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
  4724. #else
  4725. /*** IUnknown methods ***/
  4726. static FORCEINLINE HRESULT ISpLexicon_QueryInterface(ISpLexicon* This,REFIID riid,void **ppvObject) {
  4727. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4728. }
  4729. static FORCEINLINE ULONG ISpLexicon_AddRef(ISpLexicon* This) {
  4730. return This->lpVtbl->AddRef(This);
  4731. }
  4732. static FORCEINLINE ULONG ISpLexicon_Release(ISpLexicon* This) {
  4733. return This->lpVtbl->Release(This);
  4734. }
  4735. /*** ISpLexicon methods ***/
  4736. static FORCEINLINE HRESULT ISpLexicon_GetPronunciations(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,DWORD dwFlags,SPWORDPRONUNCIATIONLIST *pWordPronunciationList) {
  4737. return This->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList);
  4738. }
  4739. static FORCEINLINE HRESULT ISpLexicon_AddPronunciation(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
  4740. return This->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
  4741. }
  4742. static FORCEINLINE HRESULT ISpLexicon_RemovePronunciation(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
  4743. return This->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
  4744. }
  4745. static FORCEINLINE HRESULT ISpLexicon_GetGeneration(ISpLexicon* This,DWORD *pdwGeneration) {
  4746. return This->lpVtbl->GetGeneration(This,pdwGeneration);
  4747. }
  4748. static FORCEINLINE HRESULT ISpLexicon_GetGenerationChange(ISpLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,SPWORDLIST *pWordList) {
  4749. return This->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList);
  4750. }
  4751. static FORCEINLINE HRESULT ISpLexicon_GetWords(ISpLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,DWORD *pdwCookie,SPWORDLIST *pWordList) {
  4752. return This->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList);
  4753. }
  4754. #endif
  4755. #endif
  4756. #endif
  4757. #endif /* __ISpLexicon_INTERFACE_DEFINED__ */
  4758. /*****************************************************************************
  4759. * ISpContainerLexicon interface
  4760. */
  4761. #ifndef __ISpContainerLexicon_INTERFACE_DEFINED__
  4762. #define __ISpContainerLexicon_INTERFACE_DEFINED__
  4763. DEFINE_GUID(IID_ISpContainerLexicon, 0x8565572f, 0xc094, 0x41cc, 0xb5,0x6e, 0x10,0xbd,0x9c,0x3f,0xf0,0x44);
  4764. #if defined(__cplusplus) && !defined(CINTERFACE)
  4765. MIDL_INTERFACE("8565572f-c094-41cc-b56e-10bd9c3ff044")
  4766. ISpContainerLexicon : public ISpLexicon
  4767. {
  4768. virtual HRESULT STDMETHODCALLTYPE AddLexicon(
  4769. ISpLexicon *pAddLexicon,
  4770. DWORD dwFlags) = 0;
  4771. };
  4772. #ifdef __CRT_UUID_DECL
  4773. __CRT_UUID_DECL(ISpContainerLexicon, 0x8565572f, 0xc094, 0x41cc, 0xb5,0x6e, 0x10,0xbd,0x9c,0x3f,0xf0,0x44)
  4774. #endif
  4775. #else
  4776. typedef struct ISpContainerLexiconVtbl {
  4777. BEGIN_INTERFACE
  4778. /*** IUnknown methods ***/
  4779. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4780. ISpContainerLexicon *This,
  4781. REFIID riid,
  4782. void **ppvObject);
  4783. ULONG (STDMETHODCALLTYPE *AddRef)(
  4784. ISpContainerLexicon *This);
  4785. ULONG (STDMETHODCALLTYPE *Release)(
  4786. ISpContainerLexicon *This);
  4787. /*** ISpLexicon methods ***/
  4788. HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
  4789. ISpContainerLexicon *This,
  4790. LPCWSTR pszWord,
  4791. WORD LangID,
  4792. DWORD dwFlags,
  4793. SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
  4794. HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
  4795. ISpContainerLexicon *This,
  4796. LPCWSTR pszWord,
  4797. WORD LangID,
  4798. SPPARTOFSPEECH ePartOfSpeech,
  4799. PCSPPHONEID pszPronunciation);
  4800. HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
  4801. ISpContainerLexicon *This,
  4802. LPCWSTR pszWord,
  4803. WORD LangID,
  4804. SPPARTOFSPEECH ePartOfSpeech,
  4805. PCSPPHONEID pszPronunciation);
  4806. HRESULT (STDMETHODCALLTYPE *GetGeneration)(
  4807. ISpContainerLexicon *This,
  4808. DWORD *pdwGeneration);
  4809. HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
  4810. ISpContainerLexicon *This,
  4811. DWORD dwFlags,
  4812. DWORD *pdwGeneration,
  4813. SPWORDLIST *pWordList);
  4814. HRESULT (STDMETHODCALLTYPE *GetWords)(
  4815. ISpContainerLexicon *This,
  4816. DWORD dwFlags,
  4817. DWORD *pdwGeneration,
  4818. DWORD *pdwCookie,
  4819. SPWORDLIST *pWordList);
  4820. /*** ISpContainerLexicon methods ***/
  4821. HRESULT (STDMETHODCALLTYPE *AddLexicon)(
  4822. ISpContainerLexicon *This,
  4823. ISpLexicon *pAddLexicon,
  4824. DWORD dwFlags);
  4825. END_INTERFACE
  4826. } ISpContainerLexiconVtbl;
  4827. interface ISpContainerLexicon {
  4828. CONST_VTBL ISpContainerLexiconVtbl* lpVtbl;
  4829. };
  4830. #ifdef COBJMACROS
  4831. #ifndef WIDL_C_INLINE_WRAPPERS
  4832. /*** IUnknown methods ***/
  4833. #define ISpContainerLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4834. #define ISpContainerLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
  4835. #define ISpContainerLexicon_Release(This) (This)->lpVtbl->Release(This)
  4836. /*** ISpLexicon methods ***/
  4837. #define ISpContainerLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList) (This)->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
  4838. #define ISpContainerLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
  4839. #define ISpContainerLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
  4840. #define ISpContainerLexicon_GetGeneration(This,pdwGeneration) (This)->lpVtbl->GetGeneration(This,pdwGeneration)
  4841. #define ISpContainerLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList) (This)->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
  4842. #define ISpContainerLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList) (This)->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
  4843. /*** ISpContainerLexicon methods ***/
  4844. #define ISpContainerLexicon_AddLexicon(This,pAddLexicon,dwFlags) (This)->lpVtbl->AddLexicon(This,pAddLexicon,dwFlags)
  4845. #else
  4846. /*** IUnknown methods ***/
  4847. static FORCEINLINE HRESULT ISpContainerLexicon_QueryInterface(ISpContainerLexicon* This,REFIID riid,void **ppvObject) {
  4848. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4849. }
  4850. static FORCEINLINE ULONG ISpContainerLexicon_AddRef(ISpContainerLexicon* This) {
  4851. return This->lpVtbl->AddRef(This);
  4852. }
  4853. static FORCEINLINE ULONG ISpContainerLexicon_Release(ISpContainerLexicon* This) {
  4854. return This->lpVtbl->Release(This);
  4855. }
  4856. /*** ISpLexicon methods ***/
  4857. static FORCEINLINE HRESULT ISpContainerLexicon_GetPronunciations(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,DWORD dwFlags,SPWORDPRONUNCIATIONLIST *pWordPronunciationList) {
  4858. return This->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList);
  4859. }
  4860. static FORCEINLINE HRESULT ISpContainerLexicon_AddPronunciation(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
  4861. return This->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
  4862. }
  4863. static FORCEINLINE HRESULT ISpContainerLexicon_RemovePronunciation(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
  4864. return This->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
  4865. }
  4866. static FORCEINLINE HRESULT ISpContainerLexicon_GetGeneration(ISpContainerLexicon* This,DWORD *pdwGeneration) {
  4867. return This->lpVtbl->GetGeneration(This,pdwGeneration);
  4868. }
  4869. static FORCEINLINE HRESULT ISpContainerLexicon_GetGenerationChange(ISpContainerLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,SPWORDLIST *pWordList) {
  4870. return This->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList);
  4871. }
  4872. static FORCEINLINE HRESULT ISpContainerLexicon_GetWords(ISpContainerLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,DWORD *pdwCookie,SPWORDLIST *pWordList) {
  4873. return This->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList);
  4874. }
  4875. /*** ISpContainerLexicon methods ***/
  4876. static FORCEINLINE HRESULT ISpContainerLexicon_AddLexicon(ISpContainerLexicon* This,ISpLexicon *pAddLexicon,DWORD dwFlags) {
  4877. return This->lpVtbl->AddLexicon(This,pAddLexicon,dwFlags);
  4878. }
  4879. #endif
  4880. #endif
  4881. #endif
  4882. #endif /* __ISpContainerLexicon_INTERFACE_DEFINED__ */
  4883. /*****************************************************************************
  4884. * ISpPhoneConverter interface
  4885. */
  4886. #ifndef __ISpPhoneConverter_INTERFACE_DEFINED__
  4887. #define __ISpPhoneConverter_INTERFACE_DEFINED__
  4888. DEFINE_GUID(IID_ISpPhoneConverter, 0x8445c581, 0x0cac, 0x4a38, 0xab,0xfe, 0x9b,0x2c,0xe2,0x82,0x64,0x55);
  4889. #if defined(__cplusplus) && !defined(CINTERFACE)
  4890. MIDL_INTERFACE("8445c581-0cac-4a38-abfe-9b2ce2826455")
  4891. ISpPhoneConverter : public ISpObjectWithToken
  4892. {
  4893. virtual HRESULT STDMETHODCALLTYPE PhoneToId(
  4894. LPCWSTR pszPhone,
  4895. SPPHONEID *pId) = 0;
  4896. virtual HRESULT STDMETHODCALLTYPE IdToPhone(
  4897. PCSPPHONEID pId,
  4898. WCHAR *pszPhone) = 0;
  4899. };
  4900. #ifdef __CRT_UUID_DECL
  4901. __CRT_UUID_DECL(ISpPhoneConverter, 0x8445c581, 0x0cac, 0x4a38, 0xab,0xfe, 0x9b,0x2c,0xe2,0x82,0x64,0x55)
  4902. #endif
  4903. #else
  4904. typedef struct ISpPhoneConverterVtbl {
  4905. BEGIN_INTERFACE
  4906. /*** IUnknown methods ***/
  4907. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4908. ISpPhoneConverter *This,
  4909. REFIID riid,
  4910. void **ppvObject);
  4911. ULONG (STDMETHODCALLTYPE *AddRef)(
  4912. ISpPhoneConverter *This);
  4913. ULONG (STDMETHODCALLTYPE *Release)(
  4914. ISpPhoneConverter *This);
  4915. /*** ISpObjectWithToken methods ***/
  4916. HRESULT (STDMETHODCALLTYPE *SetObjectToken)(
  4917. ISpPhoneConverter *This,
  4918. ISpObjectToken *pToken);
  4919. HRESULT (STDMETHODCALLTYPE *GetObjectToken)(
  4920. ISpPhoneConverter *This,
  4921. ISpObjectToken **ppToken);
  4922. /*** ISpPhoneConverter methods ***/
  4923. HRESULT (STDMETHODCALLTYPE *PhoneToId)(
  4924. ISpPhoneConverter *This,
  4925. LPCWSTR pszPhone,
  4926. SPPHONEID *pId);
  4927. HRESULT (STDMETHODCALLTYPE *IdToPhone)(
  4928. ISpPhoneConverter *This,
  4929. PCSPPHONEID pId,
  4930. WCHAR *pszPhone);
  4931. END_INTERFACE
  4932. } ISpPhoneConverterVtbl;
  4933. interface ISpPhoneConverter {
  4934. CONST_VTBL ISpPhoneConverterVtbl* lpVtbl;
  4935. };
  4936. #ifdef COBJMACROS
  4937. #ifndef WIDL_C_INLINE_WRAPPERS
  4938. /*** IUnknown methods ***/
  4939. #define ISpPhoneConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4940. #define ISpPhoneConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
  4941. #define ISpPhoneConverter_Release(This) (This)->lpVtbl->Release(This)
  4942. /*** ISpObjectWithToken methods ***/
  4943. #define ISpPhoneConverter_SetObjectToken(This,pToken) (This)->lpVtbl->SetObjectToken(This,pToken)
  4944. #define ISpPhoneConverter_GetObjectToken(This,ppToken) (This)->lpVtbl->GetObjectToken(This,ppToken)
  4945. /*** ISpPhoneConverter methods ***/
  4946. #define ISpPhoneConverter_PhoneToId(This,pszPhone,pId) (This)->lpVtbl->PhoneToId(This,pszPhone,pId)
  4947. #define ISpPhoneConverter_IdToPhone(This,pId,pszPhone) (This)->lpVtbl->IdToPhone(This,pId,pszPhone)
  4948. #else
  4949. /*** IUnknown methods ***/
  4950. static FORCEINLINE HRESULT ISpPhoneConverter_QueryInterface(ISpPhoneConverter* This,REFIID riid,void **ppvObject) {
  4951. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4952. }
  4953. static FORCEINLINE ULONG ISpPhoneConverter_AddRef(ISpPhoneConverter* This) {
  4954. return This->lpVtbl->AddRef(This);
  4955. }
  4956. static FORCEINLINE ULONG ISpPhoneConverter_Release(ISpPhoneConverter* This) {
  4957. return This->lpVtbl->Release(This);
  4958. }
  4959. /*** ISpObjectWithToken methods ***/
  4960. static FORCEINLINE HRESULT ISpPhoneConverter_SetObjectToken(ISpPhoneConverter* This,ISpObjectToken *pToken) {
  4961. return This->lpVtbl->SetObjectToken(This,pToken);
  4962. }
  4963. static FORCEINLINE HRESULT ISpPhoneConverter_GetObjectToken(ISpPhoneConverter* This,ISpObjectToken **ppToken) {
  4964. return This->lpVtbl->GetObjectToken(This,ppToken);
  4965. }
  4966. /*** ISpPhoneConverter methods ***/
  4967. static FORCEINLINE HRESULT ISpPhoneConverter_PhoneToId(ISpPhoneConverter* This,LPCWSTR pszPhone,SPPHONEID *pId) {
  4968. return This->lpVtbl->PhoneToId(This,pszPhone,pId);
  4969. }
  4970. static FORCEINLINE HRESULT ISpPhoneConverter_IdToPhone(ISpPhoneConverter* This,PCSPPHONEID pId,WCHAR *pszPhone) {
  4971. return This->lpVtbl->IdToPhone(This,pId,pszPhone);
  4972. }
  4973. #endif
  4974. #endif
  4975. #endif
  4976. #endif /* __ISpPhoneConverter_INTERFACE_DEFINED__ */
  4977. typedef struct SPVPITCH {
  4978. LONG MiddleAdj;
  4979. LONG RangeAdj;
  4980. } SPVPITCH;
  4981. typedef struct SPVCONTEXT {
  4982. LPCWSTR pCategory;
  4983. LPCWSTR pBefore;
  4984. LPCWSTR pAfter;
  4985. } SPVCONTEXT;
  4986. typedef struct SPVSTATE {
  4987. SPVACTIONS eAction;
  4988. WORD LangID;
  4989. WORD wReserved;
  4990. LONG EmphAdj;
  4991. LONG RateAdj;
  4992. ULONG Volume;
  4993. SPVPITCH PitchAdj;
  4994. ULONG SilenceMSecs;
  4995. SPPHONEID *pPhoneIds;
  4996. SPPARTOFSPEECH ePartOfSpeech;
  4997. SPVCONTEXT Context;
  4998. } SPVSTATE;
  4999. typedef struct SPVOICESTATUS {
  5000. ULONG ulCurrentStream;
  5001. ULONG ulLastStreamQueued;
  5002. HRESULT hrLastResult;
  5003. DWORD dwRunningState;
  5004. ULONG ulInputWordPos;
  5005. ULONG ulInputWordLen;
  5006. ULONG ulInputSentPos;
  5007. ULONG ulInputSentLen;
  5008. LONG lBookmarkId;
  5009. SPPHONEID PhonemeId;
  5010. SPVISEMES VisemeId;
  5011. DWORD dwReserved1;
  5012. DWORD dwReserved2;
  5013. } SPVOICESTATUS;
  5014. typedef enum SPEAKFLAGS {
  5015. SPF_DEFAULT = 0,
  5016. SPF_ASYNC = 1,
  5017. SPF_PURGEBEFORESPEAK = 2,
  5018. SPF_IS_FILENAME = 4,
  5019. SPF_IS_XML = 8,
  5020. SPF_IS_NOT_XML = 0x10,
  5021. SPF_PERSIST_XML = 0x20,
  5022. SPF_NLP_SPEAK_PUNC = 0x40,
  5023. SPF_NLP_MASK = SPF_NLP_SPEAK_PUNC,
  5024. SPF_VOICE_MASK = (((((SPF_ASYNC | SPF_PURGEBEFORESPEAK) | SPF_IS_FILENAME) | SPF_IS_XML) | SPF_IS_NOT_XML) | SPF_NLP_MASK) | SPF_PERSIST_XML,
  5025. SPF_UNUSED_FLAGS = ~SPF_VOICE_MASK
  5026. } SPEAKFLAGS;
  5027. /*****************************************************************************
  5028. * ISpVoice interface
  5029. */
  5030. #ifndef __ISpVoice_INTERFACE_DEFINED__
  5031. #define __ISpVoice_INTERFACE_DEFINED__
  5032. DEFINE_GUID(IID_ISpVoice, 0x6c44df74, 0x72b9, 0x4992, 0xa1,0xec, 0xef,0x99,0x6e,0x04,0x22,0xd4);
  5033. #if defined(__cplusplus) && !defined(CINTERFACE)
  5034. MIDL_INTERFACE("6c44df74-72b9-4992-a1ec-ef996e0422d4")
  5035. ISpVoice : public ISpEventSource
  5036. {
  5037. virtual HRESULT STDMETHODCALLTYPE SetOutput(
  5038. IUnknown *pUnkOutput,
  5039. WINBOOL fAllowFormatChanges) = 0;
  5040. virtual HRESULT STDMETHODCALLTYPE GetOutputObjectToken(
  5041. ISpObjectToken **ppObjectToken) = 0;
  5042. virtual HRESULT STDMETHODCALLTYPE GetOutputStream(
  5043. ISpStreamFormat **ppStream) = 0;
  5044. virtual HRESULT STDMETHODCALLTYPE Pause(
  5045. ) = 0;
  5046. virtual HRESULT STDMETHODCALLTYPE Resume(
  5047. ) = 0;
  5048. virtual HRESULT STDMETHODCALLTYPE SetVoice(
  5049. ISpObjectToken *pToken) = 0;
  5050. virtual HRESULT STDMETHODCALLTYPE GetVoice(
  5051. ISpObjectToken **ppToken) = 0;
  5052. virtual HRESULT STDMETHODCALLTYPE Speak(
  5053. LPCWSTR pwcs,
  5054. DWORD dwFlags,
  5055. ULONG *pulStreamNumber) = 0;
  5056. virtual HRESULT STDMETHODCALLTYPE SpeakStream(
  5057. IStream *pStream,
  5058. DWORD dwFlags,
  5059. ULONG *pulStreamNumber) = 0;
  5060. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  5061. SPVOICESTATUS *pStatus,
  5062. LPWSTR *ppszLastBookmark) = 0;
  5063. virtual HRESULT STDMETHODCALLTYPE Skip(
  5064. LPCWSTR pItemType,
  5065. LONG lNumItems,
  5066. ULONG *pulNumSkipped) = 0;
  5067. virtual HRESULT STDMETHODCALLTYPE SetPriority(
  5068. SPVPRIORITY ePriority) = 0;
  5069. virtual HRESULT STDMETHODCALLTYPE GetPriority(
  5070. SPVPRIORITY *pePriority) = 0;
  5071. virtual HRESULT STDMETHODCALLTYPE SetAlertBoundary(
  5072. SPEVENTENUM eBoundary) = 0;
  5073. virtual HRESULT STDMETHODCALLTYPE GetAlertBoundary(
  5074. SPEVENTENUM *peBoundary) = 0;
  5075. virtual HRESULT STDMETHODCALLTYPE SetRate(
  5076. LONG RateAdjust) = 0;
  5077. virtual HRESULT STDMETHODCALLTYPE GetRate(
  5078. LONG *pRateAdjust) = 0;
  5079. virtual HRESULT STDMETHODCALLTYPE SetVolume(
  5080. USHORT usVolume) = 0;
  5081. virtual HRESULT STDMETHODCALLTYPE GetVolume(
  5082. USHORT *pusVolume) = 0;
  5083. virtual HRESULT STDMETHODCALLTYPE WaitUntilDone(
  5084. ULONG msTimeout) = 0;
  5085. virtual HRESULT STDMETHODCALLTYPE SetSyncSpeakTimeout(
  5086. ULONG msTimeout) = 0;
  5087. virtual HRESULT STDMETHODCALLTYPE GetSyncSpeakTimeout(
  5088. ULONG *pmsTimeout) = 0;
  5089. virtual HANDLE STDMETHODCALLTYPE SpeakCompleteEvent(
  5090. ) = 0;
  5091. virtual HRESULT STDMETHODCALLTYPE IsUISupported(
  5092. LPCWSTR pszTypeOfUI,
  5093. void *pvExtraData,
  5094. ULONG cbExtraData,
  5095. WINBOOL *pfSupported) = 0;
  5096. virtual HRESULT STDMETHODCALLTYPE DisplayUI(
  5097. HWND hwndParent,
  5098. LPCWSTR pszTitle,
  5099. LPCWSTR pszTypeOfUI,
  5100. void *pvExtraData,
  5101. ULONG cbExtraData) = 0;
  5102. };
  5103. #ifdef __CRT_UUID_DECL
  5104. __CRT_UUID_DECL(ISpVoice, 0x6c44df74, 0x72b9, 0x4992, 0xa1,0xec, 0xef,0x99,0x6e,0x04,0x22,0xd4)
  5105. #endif
  5106. #else
  5107. typedef struct ISpVoiceVtbl {
  5108. BEGIN_INTERFACE
  5109. /*** IUnknown methods ***/
  5110. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5111. ISpVoice *This,
  5112. REFIID riid,
  5113. void **ppvObject);
  5114. ULONG (STDMETHODCALLTYPE *AddRef)(
  5115. ISpVoice *This);
  5116. ULONG (STDMETHODCALLTYPE *Release)(
  5117. ISpVoice *This);
  5118. /*** ISpNotifySource methods ***/
  5119. HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
  5120. ISpVoice *This,
  5121. ISpNotifySink *pNotifySink);
  5122. HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
  5123. ISpVoice *This,
  5124. HWND hWnd,
  5125. UINT Msg,
  5126. WPARAM wParam,
  5127. LPARAM lParam);
  5128. HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
  5129. ISpVoice *This,
  5130. SPNOTIFYCALLBACK *pfnCallback,
  5131. WPARAM wParam,
  5132. LPARAM lParam);
  5133. HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
  5134. ISpVoice *This,
  5135. ISpNotifyCallback *pSpCallback,
  5136. WPARAM wParam,
  5137. LPARAM lParam);
  5138. HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
  5139. ISpVoice *This);
  5140. HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
  5141. ISpVoice *This,
  5142. DWORD dwMilliseconds);
  5143. HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
  5144. ISpVoice *This);
  5145. /*** ISpEventSource methods ***/
  5146. HRESULT (STDMETHODCALLTYPE *SetInterest)(
  5147. ISpVoice *This,
  5148. ULONGLONG ullEventInterest,
  5149. ULONGLONG ullQueuedInterest);
  5150. HRESULT (STDMETHODCALLTYPE *GetEvents)(
  5151. ISpVoice *This,
  5152. ULONG ulCount,
  5153. SPEVENT *pEventArray,
  5154. ULONG *pulFetched);
  5155. HRESULT (STDMETHODCALLTYPE *GetInfo)(
  5156. ISpVoice *This,
  5157. SPEVENTSOURCEINFO *pInfo);
  5158. /*** ISpVoice methods ***/
  5159. HRESULT (STDMETHODCALLTYPE *SetOutput)(
  5160. ISpVoice *This,
  5161. IUnknown *pUnkOutput,
  5162. WINBOOL fAllowFormatChanges);
  5163. HRESULT (STDMETHODCALLTYPE *GetOutputObjectToken)(
  5164. ISpVoice *This,
  5165. ISpObjectToken **ppObjectToken);
  5166. HRESULT (STDMETHODCALLTYPE *GetOutputStream)(
  5167. ISpVoice *This,
  5168. ISpStreamFormat **ppStream);
  5169. HRESULT (STDMETHODCALLTYPE *Pause)(
  5170. ISpVoice *This);
  5171. HRESULT (STDMETHODCALLTYPE *Resume)(
  5172. ISpVoice *This);
  5173. HRESULT (STDMETHODCALLTYPE *SetVoice)(
  5174. ISpVoice *This,
  5175. ISpObjectToken *pToken);
  5176. HRESULT (STDMETHODCALLTYPE *GetVoice)(
  5177. ISpVoice *This,
  5178. ISpObjectToken **ppToken);
  5179. HRESULT (STDMETHODCALLTYPE *Speak)(
  5180. ISpVoice *This,
  5181. LPCWSTR pwcs,
  5182. DWORD dwFlags,
  5183. ULONG *pulStreamNumber);
  5184. HRESULT (STDMETHODCALLTYPE *SpeakStream)(
  5185. ISpVoice *This,
  5186. IStream *pStream,
  5187. DWORD dwFlags,
  5188. ULONG *pulStreamNumber);
  5189. HRESULT (STDMETHODCALLTYPE *GetStatus)(
  5190. ISpVoice *This,
  5191. SPVOICESTATUS *pStatus,
  5192. LPWSTR *ppszLastBookmark);
  5193. HRESULT (STDMETHODCALLTYPE *Skip)(
  5194. ISpVoice *This,
  5195. LPCWSTR pItemType,
  5196. LONG lNumItems,
  5197. ULONG *pulNumSkipped);
  5198. HRESULT (STDMETHODCALLTYPE *SetPriority)(
  5199. ISpVoice *This,
  5200. SPVPRIORITY ePriority);
  5201. HRESULT (STDMETHODCALLTYPE *GetPriority)(
  5202. ISpVoice *This,
  5203. SPVPRIORITY *pePriority);
  5204. HRESULT (STDMETHODCALLTYPE *SetAlertBoundary)(
  5205. ISpVoice *This,
  5206. SPEVENTENUM eBoundary);
  5207. HRESULT (STDMETHODCALLTYPE *GetAlertBoundary)(
  5208. ISpVoice *This,
  5209. SPEVENTENUM *peBoundary);
  5210. HRESULT (STDMETHODCALLTYPE *SetRate)(
  5211. ISpVoice *This,
  5212. LONG RateAdjust);
  5213. HRESULT (STDMETHODCALLTYPE *GetRate)(
  5214. ISpVoice *This,
  5215. LONG *pRateAdjust);
  5216. HRESULT (STDMETHODCALLTYPE *SetVolume)(
  5217. ISpVoice *This,
  5218. USHORT usVolume);
  5219. HRESULT (STDMETHODCALLTYPE *GetVolume)(
  5220. ISpVoice *This,
  5221. USHORT *pusVolume);
  5222. HRESULT (STDMETHODCALLTYPE *WaitUntilDone)(
  5223. ISpVoice *This,
  5224. ULONG msTimeout);
  5225. HRESULT (STDMETHODCALLTYPE *SetSyncSpeakTimeout)(
  5226. ISpVoice *This,
  5227. ULONG msTimeout);
  5228. HRESULT (STDMETHODCALLTYPE *GetSyncSpeakTimeout)(
  5229. ISpVoice *This,
  5230. ULONG *pmsTimeout);
  5231. HANDLE (STDMETHODCALLTYPE *SpeakCompleteEvent)(
  5232. ISpVoice *This);
  5233. HRESULT (STDMETHODCALLTYPE *IsUISupported)(
  5234. ISpVoice *This,
  5235. LPCWSTR pszTypeOfUI,
  5236. void *pvExtraData,
  5237. ULONG cbExtraData,
  5238. WINBOOL *pfSupported);
  5239. HRESULT (STDMETHODCALLTYPE *DisplayUI)(
  5240. ISpVoice *This,
  5241. HWND hwndParent,
  5242. LPCWSTR pszTitle,
  5243. LPCWSTR pszTypeOfUI,
  5244. void *pvExtraData,
  5245. ULONG cbExtraData);
  5246. END_INTERFACE
  5247. } ISpVoiceVtbl;
  5248. interface ISpVoice {
  5249. CONST_VTBL ISpVoiceVtbl* lpVtbl;
  5250. };
  5251. #ifdef COBJMACROS
  5252. #ifndef WIDL_C_INLINE_WRAPPERS
  5253. /*** IUnknown methods ***/
  5254. #define ISpVoice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5255. #define ISpVoice_AddRef(This) (This)->lpVtbl->AddRef(This)
  5256. #define ISpVoice_Release(This) (This)->lpVtbl->Release(This)
  5257. /*** ISpNotifySource methods ***/
  5258. #define ISpVoice_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
  5259. #define ISpVoice_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
  5260. #define ISpVoice_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
  5261. #define ISpVoice_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
  5262. #define ISpVoice_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
  5263. #define ISpVoice_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
  5264. #define ISpVoice_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
  5265. /*** ISpEventSource methods ***/
  5266. #define ISpVoice_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
  5267. #define ISpVoice_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
  5268. #define ISpVoice_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
  5269. /*** ISpVoice methods ***/
  5270. #define ISpVoice_SetOutput(This,pUnkOutput,fAllowFormatChanges) (This)->lpVtbl->SetOutput(This,pUnkOutput,fAllowFormatChanges)
  5271. #define ISpVoice_GetOutputObjectToken(This,ppObjectToken) (This)->lpVtbl->GetOutputObjectToken(This,ppObjectToken)
  5272. #define ISpVoice_GetOutputStream(This,ppStream) (This)->lpVtbl->GetOutputStream(This,ppStream)
  5273. #define ISpVoice_Pause(This) (This)->lpVtbl->Pause(This)
  5274. #define ISpVoice_Resume(This) (This)->lpVtbl->Resume(This)
  5275. #define ISpVoice_SetVoice(This,pToken) (This)->lpVtbl->SetVoice(This,pToken)
  5276. #define ISpVoice_GetVoice(This,ppToken) (This)->lpVtbl->GetVoice(This,ppToken)
  5277. #define ISpVoice_Speak(This,pwcs,dwFlags,pulStreamNumber) (This)->lpVtbl->Speak(This,pwcs,dwFlags,pulStreamNumber)
  5278. #define ISpVoice_SpeakStream(This,pStream,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakStream(This,pStream,dwFlags,pulStreamNumber)
  5279. #define ISpVoice_GetStatus(This,pStatus,ppszLastBookmark) (This)->lpVtbl->GetStatus(This,pStatus,ppszLastBookmark)
  5280. #define ISpVoice_Skip(This,pItemType,lNumItems,pulNumSkipped) (This)->lpVtbl->Skip(This,pItemType,lNumItems,pulNumSkipped)
  5281. #define ISpVoice_SetPriority(This,ePriority) (This)->lpVtbl->SetPriority(This,ePriority)
  5282. #define ISpVoice_GetPriority(This,pePriority) (This)->lpVtbl->GetPriority(This,pePriority)
  5283. #define ISpVoice_SetAlertBoundary(This,eBoundary) (This)->lpVtbl->SetAlertBoundary(This,eBoundary)
  5284. #define ISpVoice_GetAlertBoundary(This,peBoundary) (This)->lpVtbl->GetAlertBoundary(This,peBoundary)
  5285. #define ISpVoice_SetRate(This,RateAdjust) (This)->lpVtbl->SetRate(This,RateAdjust)
  5286. #define ISpVoice_GetRate(This,pRateAdjust) (This)->lpVtbl->GetRate(This,pRateAdjust)
  5287. #define ISpVoice_SetVolume(This,usVolume) (This)->lpVtbl->SetVolume(This,usVolume)
  5288. #define ISpVoice_GetVolume(This,pusVolume) (This)->lpVtbl->GetVolume(This,pusVolume)
  5289. #define ISpVoice_WaitUntilDone(This,msTimeout) (This)->lpVtbl->WaitUntilDone(This,msTimeout)
  5290. #define ISpVoice_SetSyncSpeakTimeout(This,msTimeout) (This)->lpVtbl->SetSyncSpeakTimeout(This,msTimeout)
  5291. #define ISpVoice_GetSyncSpeakTimeout(This,pmsTimeout) (This)->lpVtbl->GetSyncSpeakTimeout(This,pmsTimeout)
  5292. #define ISpVoice_SpeakCompleteEvent(This) (This)->lpVtbl->SpeakCompleteEvent(This)
  5293. #define ISpVoice_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
  5294. #define ISpVoice_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
  5295. #else
  5296. /*** IUnknown methods ***/
  5297. static FORCEINLINE HRESULT ISpVoice_QueryInterface(ISpVoice* This,REFIID riid,void **ppvObject) {
  5298. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5299. }
  5300. static FORCEINLINE ULONG ISpVoice_AddRef(ISpVoice* This) {
  5301. return This->lpVtbl->AddRef(This);
  5302. }
  5303. static FORCEINLINE ULONG ISpVoice_Release(ISpVoice* This) {
  5304. return This->lpVtbl->Release(This);
  5305. }
  5306. /*** ISpNotifySource methods ***/
  5307. static FORCEINLINE HRESULT ISpVoice_SetNotifySink(ISpVoice* This,ISpNotifySink *pNotifySink) {
  5308. return This->lpVtbl->SetNotifySink(This,pNotifySink);
  5309. }
  5310. static FORCEINLINE HRESULT ISpVoice_SetNotifyWindowMessage(ISpVoice* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
  5311. return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
  5312. }
  5313. static FORCEINLINE HRESULT ISpVoice_SetNotifyCallbackFunction(ISpVoice* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
  5314. return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
  5315. }
  5316. static FORCEINLINE HRESULT ISpVoice_SetNotifyCallbackInterface(ISpVoice* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
  5317. return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
  5318. }
  5319. static FORCEINLINE HRESULT ISpVoice_SetNotifyWin32Event(ISpVoice* This) {
  5320. return This->lpVtbl->SetNotifyWin32Event(This);
  5321. }
  5322. static FORCEINLINE HRESULT ISpVoice_WaitForNotifyEvent(ISpVoice* This,DWORD dwMilliseconds) {
  5323. return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
  5324. }
  5325. static FORCEINLINE HANDLE ISpVoice_GetNotifyEventHandle(ISpVoice* This) {
  5326. return This->lpVtbl->GetNotifyEventHandle(This);
  5327. }
  5328. /*** ISpEventSource methods ***/
  5329. static FORCEINLINE HRESULT ISpVoice_SetInterest(ISpVoice* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
  5330. return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
  5331. }
  5332. static FORCEINLINE HRESULT ISpVoice_GetEvents(ISpVoice* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
  5333. return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
  5334. }
  5335. static FORCEINLINE HRESULT ISpVoice_GetInfo(ISpVoice* This,SPEVENTSOURCEINFO *pInfo) {
  5336. return This->lpVtbl->GetInfo(This,pInfo);
  5337. }
  5338. /*** ISpVoice methods ***/
  5339. static FORCEINLINE HRESULT ISpVoice_SetOutput(ISpVoice* This,IUnknown *pUnkOutput,WINBOOL fAllowFormatChanges) {
  5340. return This->lpVtbl->SetOutput(This,pUnkOutput,fAllowFormatChanges);
  5341. }
  5342. static FORCEINLINE HRESULT ISpVoice_GetOutputObjectToken(ISpVoice* This,ISpObjectToken **ppObjectToken) {
  5343. return This->lpVtbl->GetOutputObjectToken(This,ppObjectToken);
  5344. }
  5345. static FORCEINLINE HRESULT ISpVoice_GetOutputStream(ISpVoice* This,ISpStreamFormat **ppStream) {
  5346. return This->lpVtbl->GetOutputStream(This,ppStream);
  5347. }
  5348. static FORCEINLINE HRESULT ISpVoice_Pause(ISpVoice* This) {
  5349. return This->lpVtbl->Pause(This);
  5350. }
  5351. static FORCEINLINE HRESULT ISpVoice_Resume(ISpVoice* This) {
  5352. return This->lpVtbl->Resume(This);
  5353. }
  5354. static FORCEINLINE HRESULT ISpVoice_SetVoice(ISpVoice* This,ISpObjectToken *pToken) {
  5355. return This->lpVtbl->SetVoice(This,pToken);
  5356. }
  5357. static FORCEINLINE HRESULT ISpVoice_GetVoice(ISpVoice* This,ISpObjectToken **ppToken) {
  5358. return This->lpVtbl->GetVoice(This,ppToken);
  5359. }
  5360. static FORCEINLINE HRESULT ISpVoice_Speak(ISpVoice* This,LPCWSTR pwcs,DWORD dwFlags,ULONG *pulStreamNumber) {
  5361. return This->lpVtbl->Speak(This,pwcs,dwFlags,pulStreamNumber);
  5362. }
  5363. static FORCEINLINE HRESULT ISpVoice_SpeakStream(ISpVoice* This,IStream *pStream,DWORD dwFlags,ULONG *pulStreamNumber) {
  5364. return This->lpVtbl->SpeakStream(This,pStream,dwFlags,pulStreamNumber);
  5365. }
  5366. static FORCEINLINE HRESULT ISpVoice_GetStatus(ISpVoice* This,SPVOICESTATUS *pStatus,LPWSTR *ppszLastBookmark) {
  5367. return This->lpVtbl->GetStatus(This,pStatus,ppszLastBookmark);
  5368. }
  5369. static FORCEINLINE HRESULT ISpVoice_Skip(ISpVoice* This,LPCWSTR pItemType,LONG lNumItems,ULONG *pulNumSkipped) {
  5370. return This->lpVtbl->Skip(This,pItemType,lNumItems,pulNumSkipped);
  5371. }
  5372. static FORCEINLINE HRESULT ISpVoice_SetPriority(ISpVoice* This,SPVPRIORITY ePriority) {
  5373. return This->lpVtbl->SetPriority(This,ePriority);
  5374. }
  5375. static FORCEINLINE HRESULT ISpVoice_GetPriority(ISpVoice* This,SPVPRIORITY *pePriority) {
  5376. return This->lpVtbl->GetPriority(This,pePriority);
  5377. }
  5378. static FORCEINLINE HRESULT ISpVoice_SetAlertBoundary(ISpVoice* This,SPEVENTENUM eBoundary) {
  5379. return This->lpVtbl->SetAlertBoundary(This,eBoundary);
  5380. }
  5381. static FORCEINLINE HRESULT ISpVoice_GetAlertBoundary(ISpVoice* This,SPEVENTENUM *peBoundary) {
  5382. return This->lpVtbl->GetAlertBoundary(This,peBoundary);
  5383. }
  5384. static FORCEINLINE HRESULT ISpVoice_SetRate(ISpVoice* This,LONG RateAdjust) {
  5385. return This->lpVtbl->SetRate(This,RateAdjust);
  5386. }
  5387. static FORCEINLINE HRESULT ISpVoice_GetRate(ISpVoice* This,LONG *pRateAdjust) {
  5388. return This->lpVtbl->GetRate(This,pRateAdjust);
  5389. }
  5390. static FORCEINLINE HRESULT ISpVoice_SetVolume(ISpVoice* This,USHORT usVolume) {
  5391. return This->lpVtbl->SetVolume(This,usVolume);
  5392. }
  5393. static FORCEINLINE HRESULT ISpVoice_GetVolume(ISpVoice* This,USHORT *pusVolume) {
  5394. return This->lpVtbl->GetVolume(This,pusVolume);
  5395. }
  5396. static FORCEINLINE HRESULT ISpVoice_WaitUntilDone(ISpVoice* This,ULONG msTimeout) {
  5397. return This->lpVtbl->WaitUntilDone(This,msTimeout);
  5398. }
  5399. static FORCEINLINE HRESULT ISpVoice_SetSyncSpeakTimeout(ISpVoice* This,ULONG msTimeout) {
  5400. return This->lpVtbl->SetSyncSpeakTimeout(This,msTimeout);
  5401. }
  5402. static FORCEINLINE HRESULT ISpVoice_GetSyncSpeakTimeout(ISpVoice* This,ULONG *pmsTimeout) {
  5403. return This->lpVtbl->GetSyncSpeakTimeout(This,pmsTimeout);
  5404. }
  5405. static FORCEINLINE HANDLE ISpVoice_SpeakCompleteEvent(ISpVoice* This) {
  5406. return This->lpVtbl->SpeakCompleteEvent(This);
  5407. }
  5408. static FORCEINLINE HRESULT ISpVoice_IsUISupported(ISpVoice* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,WINBOOL *pfSupported) {
  5409. return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported);
  5410. }
  5411. static FORCEINLINE HRESULT ISpVoice_DisplayUI(ISpVoice* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData) {
  5412. return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData);
  5413. }
  5414. #endif
  5415. #endif
  5416. #endif
  5417. #endif /* __ISpVoice_INTERFACE_DEFINED__ */
  5418. /*****************************************************************************
  5419. * ISpPhrase interface
  5420. */
  5421. #ifndef __ISpPhrase_INTERFACE_DEFINED__
  5422. #define __ISpPhrase_INTERFACE_DEFINED__
  5423. DEFINE_GUID(IID_ISpPhrase, 0x1a5c0354, 0xb621, 0x4b5a, 0x87,0x91, 0xd3,0x06,0xed,0x37,0x9e,0x53);
  5424. #if defined(__cplusplus) && !defined(CINTERFACE)
  5425. MIDL_INTERFACE("1a5c0354-b621-4b5a-8791-d306ed379e53")
  5426. ISpPhrase : public IUnknown
  5427. {
  5428. virtual HRESULT STDMETHODCALLTYPE GetPhrase(
  5429. SPPHRASE **ppCoMemPhrase) = 0;
  5430. virtual HRESULT STDMETHODCALLTYPE GetSerializedPhrase(
  5431. SPSERIALIZEDPHRASE **ppCoMemPhrase) = 0;
  5432. virtual HRESULT STDMETHODCALLTYPE GetText(
  5433. ULONG ulStart,
  5434. ULONG ulCount,
  5435. WINBOOL fUseTextReplacements,
  5436. LPWSTR *ppszCoMemText,
  5437. BYTE *pbDisplayAttributes) = 0;
  5438. virtual HRESULT STDMETHODCALLTYPE Discard(
  5439. DWORD dwValueTypes) = 0;
  5440. };
  5441. #ifdef __CRT_UUID_DECL
  5442. __CRT_UUID_DECL(ISpPhrase, 0x1a5c0354, 0xb621, 0x4b5a, 0x87,0x91, 0xd3,0x06,0xed,0x37,0x9e,0x53)
  5443. #endif
  5444. #else
  5445. typedef struct ISpPhraseVtbl {
  5446. BEGIN_INTERFACE
  5447. /*** IUnknown methods ***/
  5448. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5449. ISpPhrase *This,
  5450. REFIID riid,
  5451. void **ppvObject);
  5452. ULONG (STDMETHODCALLTYPE *AddRef)(
  5453. ISpPhrase *This);
  5454. ULONG (STDMETHODCALLTYPE *Release)(
  5455. ISpPhrase *This);
  5456. /*** ISpPhrase methods ***/
  5457. HRESULT (STDMETHODCALLTYPE *GetPhrase)(
  5458. ISpPhrase *This,
  5459. SPPHRASE **ppCoMemPhrase);
  5460. HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
  5461. ISpPhrase *This,
  5462. SPSERIALIZEDPHRASE **ppCoMemPhrase);
  5463. HRESULT (STDMETHODCALLTYPE *GetText)(
  5464. ISpPhrase *This,
  5465. ULONG ulStart,
  5466. ULONG ulCount,
  5467. WINBOOL fUseTextReplacements,
  5468. LPWSTR *ppszCoMemText,
  5469. BYTE *pbDisplayAttributes);
  5470. HRESULT (STDMETHODCALLTYPE *Discard)(
  5471. ISpPhrase *This,
  5472. DWORD dwValueTypes);
  5473. END_INTERFACE
  5474. } ISpPhraseVtbl;
  5475. interface ISpPhrase {
  5476. CONST_VTBL ISpPhraseVtbl* lpVtbl;
  5477. };
  5478. #ifdef COBJMACROS
  5479. #ifndef WIDL_C_INLINE_WRAPPERS
  5480. /*** IUnknown methods ***/
  5481. #define ISpPhrase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5482. #define ISpPhrase_AddRef(This) (This)->lpVtbl->AddRef(This)
  5483. #define ISpPhrase_Release(This) (This)->lpVtbl->Release(This)
  5484. /*** ISpPhrase methods ***/
  5485. #define ISpPhrase_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
  5486. #define ISpPhrase_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
  5487. #define ISpPhrase_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
  5488. #define ISpPhrase_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
  5489. #else
  5490. /*** IUnknown methods ***/
  5491. static FORCEINLINE HRESULT ISpPhrase_QueryInterface(ISpPhrase* This,REFIID riid,void **ppvObject) {
  5492. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5493. }
  5494. static FORCEINLINE ULONG ISpPhrase_AddRef(ISpPhrase* This) {
  5495. return This->lpVtbl->AddRef(This);
  5496. }
  5497. static FORCEINLINE ULONG ISpPhrase_Release(ISpPhrase* This) {
  5498. return This->lpVtbl->Release(This);
  5499. }
  5500. /*** ISpPhrase methods ***/
  5501. static FORCEINLINE HRESULT ISpPhrase_GetPhrase(ISpPhrase* This,SPPHRASE **ppCoMemPhrase) {
  5502. return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
  5503. }
  5504. static FORCEINLINE HRESULT ISpPhrase_GetSerializedPhrase(ISpPhrase* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
  5505. return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
  5506. }
  5507. static FORCEINLINE HRESULT ISpPhrase_GetText(ISpPhrase* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
  5508. return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
  5509. }
  5510. static FORCEINLINE HRESULT ISpPhrase_Discard(ISpPhrase* This,DWORD dwValueTypes) {
  5511. return This->lpVtbl->Discard(This,dwValueTypes);
  5512. }
  5513. #endif
  5514. #endif
  5515. #endif
  5516. #endif /* __ISpPhrase_INTERFACE_DEFINED__ */
  5517. /*****************************************************************************
  5518. * ISpPhraseAlt interface
  5519. */
  5520. #ifndef __ISpPhraseAlt_INTERFACE_DEFINED__
  5521. #define __ISpPhraseAlt_INTERFACE_DEFINED__
  5522. DEFINE_GUID(IID_ISpPhraseAlt, 0x8fcebc98, 0x4e49, 0x4067, 0x9c,0x6c, 0xd8,0x6a,0x0e,0x09,0x2e,0x3d);
  5523. #if defined(__cplusplus) && !defined(CINTERFACE)
  5524. MIDL_INTERFACE("8fcebc98-4e49-4067-9c6c-d86a0e092e3d")
  5525. ISpPhraseAlt : public ISpPhrase
  5526. {
  5527. virtual HRESULT STDMETHODCALLTYPE GetAltInfo(
  5528. ISpPhrase **ppParent,
  5529. ULONG *pulStartElementInParent,
  5530. ULONG *pcElementsInParent,
  5531. ULONG *pcElementsInAlt) = 0;
  5532. virtual HRESULT STDMETHODCALLTYPE Commit(
  5533. ) = 0;
  5534. };
  5535. #ifdef __CRT_UUID_DECL
  5536. __CRT_UUID_DECL(ISpPhraseAlt, 0x8fcebc98, 0x4e49, 0x4067, 0x9c,0x6c, 0xd8,0x6a,0x0e,0x09,0x2e,0x3d)
  5537. #endif
  5538. #else
  5539. typedef struct ISpPhraseAltVtbl {
  5540. BEGIN_INTERFACE
  5541. /*** IUnknown methods ***/
  5542. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5543. ISpPhraseAlt *This,
  5544. REFIID riid,
  5545. void **ppvObject);
  5546. ULONG (STDMETHODCALLTYPE *AddRef)(
  5547. ISpPhraseAlt *This);
  5548. ULONG (STDMETHODCALLTYPE *Release)(
  5549. ISpPhraseAlt *This);
  5550. /*** ISpPhrase methods ***/
  5551. HRESULT (STDMETHODCALLTYPE *GetPhrase)(
  5552. ISpPhraseAlt *This,
  5553. SPPHRASE **ppCoMemPhrase);
  5554. HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
  5555. ISpPhraseAlt *This,
  5556. SPSERIALIZEDPHRASE **ppCoMemPhrase);
  5557. HRESULT (STDMETHODCALLTYPE *GetText)(
  5558. ISpPhraseAlt *This,
  5559. ULONG ulStart,
  5560. ULONG ulCount,
  5561. WINBOOL fUseTextReplacements,
  5562. LPWSTR *ppszCoMemText,
  5563. BYTE *pbDisplayAttributes);
  5564. HRESULT (STDMETHODCALLTYPE *Discard)(
  5565. ISpPhraseAlt *This,
  5566. DWORD dwValueTypes);
  5567. /*** ISpPhraseAlt methods ***/
  5568. HRESULT (STDMETHODCALLTYPE *GetAltInfo)(
  5569. ISpPhraseAlt *This,
  5570. ISpPhrase **ppParent,
  5571. ULONG *pulStartElementInParent,
  5572. ULONG *pcElementsInParent,
  5573. ULONG *pcElementsInAlt);
  5574. HRESULT (STDMETHODCALLTYPE *Commit)(
  5575. ISpPhraseAlt *This);
  5576. END_INTERFACE
  5577. } ISpPhraseAltVtbl;
  5578. interface ISpPhraseAlt {
  5579. CONST_VTBL ISpPhraseAltVtbl* lpVtbl;
  5580. };
  5581. #ifdef COBJMACROS
  5582. #ifndef WIDL_C_INLINE_WRAPPERS
  5583. /*** IUnknown methods ***/
  5584. #define ISpPhraseAlt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5585. #define ISpPhraseAlt_AddRef(This) (This)->lpVtbl->AddRef(This)
  5586. #define ISpPhraseAlt_Release(This) (This)->lpVtbl->Release(This)
  5587. /*** ISpPhrase methods ***/
  5588. #define ISpPhraseAlt_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
  5589. #define ISpPhraseAlt_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
  5590. #define ISpPhraseAlt_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
  5591. #define ISpPhraseAlt_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
  5592. /*** ISpPhraseAlt methods ***/
  5593. #define ISpPhraseAlt_GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt) (This)->lpVtbl->GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt)
  5594. #define ISpPhraseAlt_Commit(This) (This)->lpVtbl->Commit(This)
  5595. #else
  5596. /*** IUnknown methods ***/
  5597. static FORCEINLINE HRESULT ISpPhraseAlt_QueryInterface(ISpPhraseAlt* This,REFIID riid,void **ppvObject) {
  5598. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5599. }
  5600. static FORCEINLINE ULONG ISpPhraseAlt_AddRef(ISpPhraseAlt* This) {
  5601. return This->lpVtbl->AddRef(This);
  5602. }
  5603. static FORCEINLINE ULONG ISpPhraseAlt_Release(ISpPhraseAlt* This) {
  5604. return This->lpVtbl->Release(This);
  5605. }
  5606. /*** ISpPhrase methods ***/
  5607. static FORCEINLINE HRESULT ISpPhraseAlt_GetPhrase(ISpPhraseAlt* This,SPPHRASE **ppCoMemPhrase) {
  5608. return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
  5609. }
  5610. static FORCEINLINE HRESULT ISpPhraseAlt_GetSerializedPhrase(ISpPhraseAlt* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
  5611. return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
  5612. }
  5613. static FORCEINLINE HRESULT ISpPhraseAlt_GetText(ISpPhraseAlt* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
  5614. return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
  5615. }
  5616. static FORCEINLINE HRESULT ISpPhraseAlt_Discard(ISpPhraseAlt* This,DWORD dwValueTypes) {
  5617. return This->lpVtbl->Discard(This,dwValueTypes);
  5618. }
  5619. /*** ISpPhraseAlt methods ***/
  5620. static FORCEINLINE HRESULT ISpPhraseAlt_GetAltInfo(ISpPhraseAlt* This,ISpPhrase **ppParent,ULONG *pulStartElementInParent,ULONG *pcElementsInParent,ULONG *pcElementsInAlt) {
  5621. return This->lpVtbl->GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt);
  5622. }
  5623. static FORCEINLINE HRESULT ISpPhraseAlt_Commit(ISpPhraseAlt* This) {
  5624. return This->lpVtbl->Commit(This);
  5625. }
  5626. #endif
  5627. #endif
  5628. #endif
  5629. #endif /* __ISpPhraseAlt_INTERFACE_DEFINED__ */
  5630. typedef struct SPRECORESULTTIMES {
  5631. FILETIME ftStreamTime;
  5632. ULONGLONG ullLength;
  5633. DWORD dwTickCount;
  5634. ULONGLONG ullStart;
  5635. } SPRECORESULTTIMES;
  5636. typedef struct SPSERIALIZEDRESULT {
  5637. ULONG ulSerializedSize;
  5638. } SPSERIALIZEDRESULT;
  5639. /*****************************************************************************
  5640. * ISpRecoResult interface
  5641. */
  5642. #ifndef __ISpRecoResult_INTERFACE_DEFINED__
  5643. #define __ISpRecoResult_INTERFACE_DEFINED__
  5644. DEFINE_GUID(IID_ISpRecoResult, 0x20b053be, 0xe235, 0x43cd, 0x9a,0x2a, 0x8d,0x17,0xa4,0x8b,0x78,0x42);
  5645. #if defined(__cplusplus) && !defined(CINTERFACE)
  5646. MIDL_INTERFACE("20b053be-e235-43cd-9a2a-8d17a48b7842")
  5647. ISpRecoResult : public ISpPhrase
  5648. {
  5649. virtual HRESULT STDMETHODCALLTYPE GetResultTimes(
  5650. SPRECORESULTTIMES *pTimes) = 0;
  5651. virtual HRESULT STDMETHODCALLTYPE GetAlternates(
  5652. ULONG ulStartElement,
  5653. ULONG cElements,
  5654. ULONG ulRequestCount,
  5655. ISpPhraseAlt **ppPhrases,
  5656. ULONG *pcPhrasesReturned) = 0;
  5657. virtual HRESULT STDMETHODCALLTYPE GetAudio(
  5658. ULONG ulStartElement,
  5659. ULONG cElements,
  5660. ISpStreamFormat **ppStream) = 0;
  5661. virtual HRESULT STDMETHODCALLTYPE SpeakAudio(
  5662. ULONG ulStartElement,
  5663. ULONG cElements,
  5664. DWORD dwFlags,
  5665. ULONG *pulStreamNumber) = 0;
  5666. virtual HRESULT STDMETHODCALLTYPE Serialize(
  5667. SPSERIALIZEDRESULT **ppCoMemSerializedResult) = 0;
  5668. virtual HRESULT STDMETHODCALLTYPE ScaleAudio(
  5669. const GUID *pAudioFormatId,
  5670. const WAVEFORMATEX *pWaveFormatEx) = 0;
  5671. virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
  5672. ISpRecoContext **ppRecoContext) = 0;
  5673. };
  5674. #ifdef __CRT_UUID_DECL
  5675. __CRT_UUID_DECL(ISpRecoResult, 0x20b053be, 0xe235, 0x43cd, 0x9a,0x2a, 0x8d,0x17,0xa4,0x8b,0x78,0x42)
  5676. #endif
  5677. #else
  5678. typedef struct ISpRecoResultVtbl {
  5679. BEGIN_INTERFACE
  5680. /*** IUnknown methods ***/
  5681. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5682. ISpRecoResult *This,
  5683. REFIID riid,
  5684. void **ppvObject);
  5685. ULONG (STDMETHODCALLTYPE *AddRef)(
  5686. ISpRecoResult *This);
  5687. ULONG (STDMETHODCALLTYPE *Release)(
  5688. ISpRecoResult *This);
  5689. /*** ISpPhrase methods ***/
  5690. HRESULT (STDMETHODCALLTYPE *GetPhrase)(
  5691. ISpRecoResult *This,
  5692. SPPHRASE **ppCoMemPhrase);
  5693. HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
  5694. ISpRecoResult *This,
  5695. SPSERIALIZEDPHRASE **ppCoMemPhrase);
  5696. HRESULT (STDMETHODCALLTYPE *GetText)(
  5697. ISpRecoResult *This,
  5698. ULONG ulStart,
  5699. ULONG ulCount,
  5700. WINBOOL fUseTextReplacements,
  5701. LPWSTR *ppszCoMemText,
  5702. BYTE *pbDisplayAttributes);
  5703. HRESULT (STDMETHODCALLTYPE *Discard)(
  5704. ISpRecoResult *This,
  5705. DWORD dwValueTypes);
  5706. /*** ISpRecoResult methods ***/
  5707. HRESULT (STDMETHODCALLTYPE *GetResultTimes)(
  5708. ISpRecoResult *This,
  5709. SPRECORESULTTIMES *pTimes);
  5710. HRESULT (STDMETHODCALLTYPE *GetAlternates)(
  5711. ISpRecoResult *This,
  5712. ULONG ulStartElement,
  5713. ULONG cElements,
  5714. ULONG ulRequestCount,
  5715. ISpPhraseAlt **ppPhrases,
  5716. ULONG *pcPhrasesReturned);
  5717. HRESULT (STDMETHODCALLTYPE *GetAudio)(
  5718. ISpRecoResult *This,
  5719. ULONG ulStartElement,
  5720. ULONG cElements,
  5721. ISpStreamFormat **ppStream);
  5722. HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
  5723. ISpRecoResult *This,
  5724. ULONG ulStartElement,
  5725. ULONG cElements,
  5726. DWORD dwFlags,
  5727. ULONG *pulStreamNumber);
  5728. HRESULT (STDMETHODCALLTYPE *Serialize)(
  5729. ISpRecoResult *This,
  5730. SPSERIALIZEDRESULT **ppCoMemSerializedResult);
  5731. HRESULT (STDMETHODCALLTYPE *ScaleAudio)(
  5732. ISpRecoResult *This,
  5733. const GUID *pAudioFormatId,
  5734. const WAVEFORMATEX *pWaveFormatEx);
  5735. HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
  5736. ISpRecoResult *This,
  5737. ISpRecoContext **ppRecoContext);
  5738. END_INTERFACE
  5739. } ISpRecoResultVtbl;
  5740. interface ISpRecoResult {
  5741. CONST_VTBL ISpRecoResultVtbl* lpVtbl;
  5742. };
  5743. #ifdef COBJMACROS
  5744. #ifndef WIDL_C_INLINE_WRAPPERS
  5745. /*** IUnknown methods ***/
  5746. #define ISpRecoResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5747. #define ISpRecoResult_AddRef(This) (This)->lpVtbl->AddRef(This)
  5748. #define ISpRecoResult_Release(This) (This)->lpVtbl->Release(This)
  5749. /*** ISpPhrase methods ***/
  5750. #define ISpRecoResult_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
  5751. #define ISpRecoResult_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
  5752. #define ISpRecoResult_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
  5753. #define ISpRecoResult_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
  5754. /*** ISpRecoResult methods ***/
  5755. #define ISpRecoResult_GetResultTimes(This,pTimes) (This)->lpVtbl->GetResultTimes(This,pTimes)
  5756. #define ISpRecoResult_GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned) (This)->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
  5757. #define ISpRecoResult_GetAudio(This,ulStartElement,cElements,ppStream) (This)->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream)
  5758. #define ISpRecoResult_SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)
  5759. #define ISpRecoResult_Serialize(This,ppCoMemSerializedResult) (This)->lpVtbl->Serialize(This,ppCoMemSerializedResult)
  5760. #define ISpRecoResult_ScaleAudio(This,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx)
  5761. #define ISpRecoResult_GetRecoContext(This,ppRecoContext) (This)->lpVtbl->GetRecoContext(This,ppRecoContext)
  5762. #else
  5763. /*** IUnknown methods ***/
  5764. static FORCEINLINE HRESULT ISpRecoResult_QueryInterface(ISpRecoResult* This,REFIID riid,void **ppvObject) {
  5765. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5766. }
  5767. static FORCEINLINE ULONG ISpRecoResult_AddRef(ISpRecoResult* This) {
  5768. return This->lpVtbl->AddRef(This);
  5769. }
  5770. static FORCEINLINE ULONG ISpRecoResult_Release(ISpRecoResult* This) {
  5771. return This->lpVtbl->Release(This);
  5772. }
  5773. /*** ISpPhrase methods ***/
  5774. static FORCEINLINE HRESULT ISpRecoResult_GetPhrase(ISpRecoResult* This,SPPHRASE **ppCoMemPhrase) {
  5775. return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
  5776. }
  5777. static FORCEINLINE HRESULT ISpRecoResult_GetSerializedPhrase(ISpRecoResult* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
  5778. return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
  5779. }
  5780. static FORCEINLINE HRESULT ISpRecoResult_GetText(ISpRecoResult* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
  5781. return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
  5782. }
  5783. static FORCEINLINE HRESULT ISpRecoResult_Discard(ISpRecoResult* This,DWORD dwValueTypes) {
  5784. return This->lpVtbl->Discard(This,dwValueTypes);
  5785. }
  5786. /*** ISpRecoResult methods ***/
  5787. static FORCEINLINE HRESULT ISpRecoResult_GetResultTimes(ISpRecoResult* This,SPRECORESULTTIMES *pTimes) {
  5788. return This->lpVtbl->GetResultTimes(This,pTimes);
  5789. }
  5790. static FORCEINLINE HRESULT ISpRecoResult_GetAlternates(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,ULONG ulRequestCount,ISpPhraseAlt **ppPhrases,ULONG *pcPhrasesReturned) {
  5791. return This->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned);
  5792. }
  5793. static FORCEINLINE HRESULT ISpRecoResult_GetAudio(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,ISpStreamFormat **ppStream) {
  5794. return This->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream);
  5795. }
  5796. static FORCEINLINE HRESULT ISpRecoResult_SpeakAudio(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,DWORD dwFlags,ULONG *pulStreamNumber) {
  5797. return This->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber);
  5798. }
  5799. static FORCEINLINE HRESULT ISpRecoResult_Serialize(ISpRecoResult* This,SPSERIALIZEDRESULT **ppCoMemSerializedResult) {
  5800. return This->lpVtbl->Serialize(This,ppCoMemSerializedResult);
  5801. }
  5802. static FORCEINLINE HRESULT ISpRecoResult_ScaleAudio(ISpRecoResult* This,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
  5803. return This->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx);
  5804. }
  5805. static FORCEINLINE HRESULT ISpRecoResult_GetRecoContext(ISpRecoResult* This,ISpRecoContext **ppRecoContext) {
  5806. return This->lpVtbl->GetRecoContext(This,ppRecoContext);
  5807. }
  5808. #endif
  5809. #endif
  5810. #endif
  5811. #endif /* __ISpRecoResult_INTERFACE_DEFINED__ */
  5812. typedef struct tagSPTEXTSELECTIONINFO {
  5813. ULONG ulStartActiveOffset;
  5814. ULONG cchActiveChars;
  5815. ULONG ulStartSelection;
  5816. ULONG cchSelection;
  5817. } SPTEXTSELECTIONINFO;
  5818. typedef enum SPWORDPRONOUNCEABLE {
  5819. SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE = 0,
  5820. SPWP_UNKNOWN_WORD_PRONOUNCEABLE = 1,
  5821. SPWP_KNOWN_WORD_PRONOUNCEABLE = 2
  5822. } SPWORDPRONOUNCEABLE;
  5823. typedef enum SPGRAMMARSTATE {
  5824. SPGS_DISABLED = 0,
  5825. SPGS_ENABLED = 1,
  5826. SPGS_EXCLUSIVE = 3
  5827. } SPGRAMMARSTATE;
  5828. typedef enum SPCONTEXTSTATE {
  5829. SPCS_DISABLED = 0,
  5830. SPCS_ENABLED = 1
  5831. } SPCONTEXTSTATE;
  5832. typedef enum SPRULESTATE {
  5833. SPRS_INACTIVE = 0,
  5834. SPRS_ACTIVE = 1,
  5835. SPRS_ACTIVE_WITH_AUTO_PAUSE = 3
  5836. } SPRULESTATE;
  5837. #define SP_STREAMPOS_ASAP (0)
  5838. #define SP_STREAMPOS_REALTIME (-1)
  5839. #define SPRULETRANS_TEXTBUFFER (SPSTATEHANDLE) (-1)
  5840. #define SPRULETRANS_WILDCARD (SPSTATEHANDLE) (-2)
  5841. #define SPRULETRANS_DICTATION (SPSTATEHANDLE) (-3)
  5842. typedef enum SPGRAMMARWORDTYPE {
  5843. SPWT_DISPLAY = 0,
  5844. SPWT_LEXICAL = 1,
  5845. SPWT_PRONUNCIATION = 2
  5846. } SPGRAMMARWORDTYPE;
  5847. typedef struct tagSPPROPERTYINFO {
  5848. LPCWSTR pszName;
  5849. ULONG ulId;
  5850. LPCWSTR pszValue;
  5851. VARIANT vValue;
  5852. } SPPROPERTYINFO;
  5853. typedef enum SPCFGRULEATTRIBUTES {
  5854. SPRAF_TopLevel = 0x1,
  5855. SPRAF_Active = 0x2,
  5856. SPRAF_Export = 0x4,
  5857. SPRAF_Import = 0x8,
  5858. SPRAF_Interpreter = 0x10,
  5859. SPRAF_Dynamic = 0x20,
  5860. SPRAF_AutoPause = 0x10000
  5861. } SPCFGRULEATTRIBUTES;
  5862. /*****************************************************************************
  5863. * ISpGrammarBuilder interface
  5864. */
  5865. #ifndef __ISpGrammarBuilder_INTERFACE_DEFINED__
  5866. #define __ISpGrammarBuilder_INTERFACE_DEFINED__
  5867. DEFINE_GUID(IID_ISpGrammarBuilder, 0x8137828f, 0x591a, 0x4a42, 0xbe,0x58, 0x49,0xea,0x7e,0xba,0xac,0x68);
  5868. #if defined(__cplusplus) && !defined(CINTERFACE)
  5869. MIDL_INTERFACE("8137828f-591a-4a42-be58-49ea7ebaac68")
  5870. ISpGrammarBuilder : public IUnknown
  5871. {
  5872. virtual HRESULT STDMETHODCALLTYPE ResetGrammar(
  5873. WORD NewLanguage) = 0;
  5874. virtual HRESULT STDMETHODCALLTYPE GetRule(
  5875. LPCWSTR pszRuleName,
  5876. DWORD dwRuleId,
  5877. DWORD dwAttributes,
  5878. WINBOOL fCreateIfNotExist,
  5879. SPSTATEHANDLE *phInitialState) = 0;
  5880. virtual HRESULT STDMETHODCALLTYPE ClearRule(
  5881. SPSTATEHANDLE hState) = 0;
  5882. virtual HRESULT STDMETHODCALLTYPE CreateNewState(
  5883. SPSTATEHANDLE hState,
  5884. SPSTATEHANDLE *phState) = 0;
  5885. virtual HRESULT STDMETHODCALLTYPE AddWordTransition(
  5886. SPSTATEHANDLE hFromState,
  5887. SPSTATEHANDLE hToState,
  5888. LPCWSTR psz,
  5889. LPCWSTR pszSeparators,
  5890. SPGRAMMARWORDTYPE eWordType,
  5891. float Weight,
  5892. const SPPROPERTYINFO *pPropInfo) = 0;
  5893. virtual HRESULT STDMETHODCALLTYPE AddRuleTransition(
  5894. SPSTATEHANDLE hFromState,
  5895. SPSTATEHANDLE hToState,
  5896. SPSTATEHANDLE hRule,
  5897. float Weight,
  5898. const SPPROPERTYINFO *pPropInfo) = 0;
  5899. virtual HRESULT STDMETHODCALLTYPE AddResource(
  5900. SPSTATEHANDLE hRuleState,
  5901. LPCWSTR pszResourceName,
  5902. LPCWSTR pszResourceValue) = 0;
  5903. virtual HRESULT STDMETHODCALLTYPE Commit(
  5904. DWORD dwReserved) = 0;
  5905. };
  5906. #ifdef __CRT_UUID_DECL
  5907. __CRT_UUID_DECL(ISpGrammarBuilder, 0x8137828f, 0x591a, 0x4a42, 0xbe,0x58, 0x49,0xea,0x7e,0xba,0xac,0x68)
  5908. #endif
  5909. #else
  5910. typedef struct ISpGrammarBuilderVtbl {
  5911. BEGIN_INTERFACE
  5912. /*** IUnknown methods ***/
  5913. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  5914. ISpGrammarBuilder *This,
  5915. REFIID riid,
  5916. void **ppvObject);
  5917. ULONG (STDMETHODCALLTYPE *AddRef)(
  5918. ISpGrammarBuilder *This);
  5919. ULONG (STDMETHODCALLTYPE *Release)(
  5920. ISpGrammarBuilder *This);
  5921. /*** ISpGrammarBuilder methods ***/
  5922. HRESULT (STDMETHODCALLTYPE *ResetGrammar)(
  5923. ISpGrammarBuilder *This,
  5924. WORD NewLanguage);
  5925. HRESULT (STDMETHODCALLTYPE *GetRule)(
  5926. ISpGrammarBuilder *This,
  5927. LPCWSTR pszRuleName,
  5928. DWORD dwRuleId,
  5929. DWORD dwAttributes,
  5930. WINBOOL fCreateIfNotExist,
  5931. SPSTATEHANDLE *phInitialState);
  5932. HRESULT (STDMETHODCALLTYPE *ClearRule)(
  5933. ISpGrammarBuilder *This,
  5934. SPSTATEHANDLE hState);
  5935. HRESULT (STDMETHODCALLTYPE *CreateNewState)(
  5936. ISpGrammarBuilder *This,
  5937. SPSTATEHANDLE hState,
  5938. SPSTATEHANDLE *phState);
  5939. HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
  5940. ISpGrammarBuilder *This,
  5941. SPSTATEHANDLE hFromState,
  5942. SPSTATEHANDLE hToState,
  5943. LPCWSTR psz,
  5944. LPCWSTR pszSeparators,
  5945. SPGRAMMARWORDTYPE eWordType,
  5946. float Weight,
  5947. const SPPROPERTYINFO *pPropInfo);
  5948. HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
  5949. ISpGrammarBuilder *This,
  5950. SPSTATEHANDLE hFromState,
  5951. SPSTATEHANDLE hToState,
  5952. SPSTATEHANDLE hRule,
  5953. float Weight,
  5954. const SPPROPERTYINFO *pPropInfo);
  5955. HRESULT (STDMETHODCALLTYPE *AddResource)(
  5956. ISpGrammarBuilder *This,
  5957. SPSTATEHANDLE hRuleState,
  5958. LPCWSTR pszResourceName,
  5959. LPCWSTR pszResourceValue);
  5960. HRESULT (STDMETHODCALLTYPE *Commit)(
  5961. ISpGrammarBuilder *This,
  5962. DWORD dwReserved);
  5963. END_INTERFACE
  5964. } ISpGrammarBuilderVtbl;
  5965. interface ISpGrammarBuilder {
  5966. CONST_VTBL ISpGrammarBuilderVtbl* lpVtbl;
  5967. };
  5968. #ifdef COBJMACROS
  5969. #ifndef WIDL_C_INLINE_WRAPPERS
  5970. /*** IUnknown methods ***/
  5971. #define ISpGrammarBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5972. #define ISpGrammarBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
  5973. #define ISpGrammarBuilder_Release(This) (This)->lpVtbl->Release(This)
  5974. /*** ISpGrammarBuilder methods ***/
  5975. #define ISpGrammarBuilder_ResetGrammar(This,NewLanguage) (This)->lpVtbl->ResetGrammar(This,NewLanguage)
  5976. #define ISpGrammarBuilder_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState) (This)->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
  5977. #define ISpGrammarBuilder_ClearRule(This,hState) (This)->lpVtbl->ClearRule(This,hState)
  5978. #define ISpGrammarBuilder_CreateNewState(This,hState,phState) (This)->lpVtbl->CreateNewState(This,hState,phState)
  5979. #define ISpGrammarBuilder_AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo) (This)->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
  5980. #define ISpGrammarBuilder_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo) (This)->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
  5981. #define ISpGrammarBuilder_AddResource(This,hRuleState,pszResourceName,pszResourceValue) (This)->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue)
  5982. #define ISpGrammarBuilder_Commit(This,dwReserved) (This)->lpVtbl->Commit(This,dwReserved)
  5983. #else
  5984. /*** IUnknown methods ***/
  5985. static FORCEINLINE HRESULT ISpGrammarBuilder_QueryInterface(ISpGrammarBuilder* This,REFIID riid,void **ppvObject) {
  5986. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5987. }
  5988. static FORCEINLINE ULONG ISpGrammarBuilder_AddRef(ISpGrammarBuilder* This) {
  5989. return This->lpVtbl->AddRef(This);
  5990. }
  5991. static FORCEINLINE ULONG ISpGrammarBuilder_Release(ISpGrammarBuilder* This) {
  5992. return This->lpVtbl->Release(This);
  5993. }
  5994. /*** ISpGrammarBuilder methods ***/
  5995. static FORCEINLINE HRESULT ISpGrammarBuilder_ResetGrammar(ISpGrammarBuilder* This,WORD NewLanguage) {
  5996. return This->lpVtbl->ResetGrammar(This,NewLanguage);
  5997. }
  5998. static FORCEINLINE HRESULT ISpGrammarBuilder_GetRule(ISpGrammarBuilder* This,LPCWSTR pszRuleName,DWORD dwRuleId,DWORD dwAttributes,WINBOOL fCreateIfNotExist,SPSTATEHANDLE *phInitialState) {
  5999. return This->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState);
  6000. }
  6001. static FORCEINLINE HRESULT ISpGrammarBuilder_ClearRule(ISpGrammarBuilder* This,SPSTATEHANDLE hState) {
  6002. return This->lpVtbl->ClearRule(This,hState);
  6003. }
  6004. static FORCEINLINE HRESULT ISpGrammarBuilder_CreateNewState(ISpGrammarBuilder* This,SPSTATEHANDLE hState,SPSTATEHANDLE *phState) {
  6005. return This->lpVtbl->CreateNewState(This,hState,phState);
  6006. }
  6007. static FORCEINLINE HRESULT ISpGrammarBuilder_AddWordTransition(ISpGrammarBuilder* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,LPCWSTR psz,LPCWSTR pszSeparators,SPGRAMMARWORDTYPE eWordType,float Weight,const SPPROPERTYINFO *pPropInfo) {
  6008. return This->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo);
  6009. }
  6010. static FORCEINLINE HRESULT ISpGrammarBuilder_AddRuleTransition(ISpGrammarBuilder* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,SPSTATEHANDLE hRule,float Weight,const SPPROPERTYINFO *pPropInfo) {
  6011. return This->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo);
  6012. }
  6013. static FORCEINLINE HRESULT ISpGrammarBuilder_AddResource(ISpGrammarBuilder* This,SPSTATEHANDLE hRuleState,LPCWSTR pszResourceName,LPCWSTR pszResourceValue) {
  6014. return This->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue);
  6015. }
  6016. static FORCEINLINE HRESULT ISpGrammarBuilder_Commit(ISpGrammarBuilder* This,DWORD dwReserved) {
  6017. return This->lpVtbl->Commit(This,dwReserved);
  6018. }
  6019. #endif
  6020. #endif
  6021. #endif
  6022. #endif /* __ISpGrammarBuilder_INTERFACE_DEFINED__ */
  6023. typedef enum SPLOADOPTIONS {
  6024. SPLO_STATIC = 0,
  6025. SPLO_DYNAMIC = 1
  6026. } SPLOADOPTIONS;
  6027. /*****************************************************************************
  6028. * ISpRecoGrammar interface
  6029. */
  6030. #ifndef __ISpRecoGrammar_INTERFACE_DEFINED__
  6031. #define __ISpRecoGrammar_INTERFACE_DEFINED__
  6032. DEFINE_GUID(IID_ISpRecoGrammar, 0x2177db29, 0x7f45, 0x47d0, 0x85,0x54, 0x06,0x7e,0x91,0xc8,0x05,0x02);
  6033. #if defined(__cplusplus) && !defined(CINTERFACE)
  6034. MIDL_INTERFACE("2177db29-7f45-47d0-8554-067e91c80502")
  6035. ISpRecoGrammar : public ISpGrammarBuilder
  6036. {
  6037. virtual HRESULT STDMETHODCALLTYPE GetGrammarId(
  6038. ULONGLONG *pullGrammarId) = 0;
  6039. virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
  6040. ISpRecoContext **ppRecoCtxt) = 0;
  6041. virtual HRESULT STDMETHODCALLTYPE LoadCmdFromFile(
  6042. LPCWSTR pszFileName,
  6043. SPLOADOPTIONS Options) = 0;
  6044. virtual HRESULT STDMETHODCALLTYPE LoadCmdFromObject(
  6045. REFCLSID rcid,
  6046. LPCWSTR pszGrammarName,
  6047. SPLOADOPTIONS Options) = 0;
  6048. virtual HRESULT STDMETHODCALLTYPE LoadCmdFromResource(
  6049. HMODULE hModule,
  6050. LPCWSTR pszResourceName,
  6051. LPCWSTR pszResourceType,
  6052. WORD wLanguage,
  6053. SPLOADOPTIONS Options) = 0;
  6054. virtual HRESULT STDMETHODCALLTYPE LoadCmdFromMemory(
  6055. const SPBINARYGRAMMAR *pGrammar,
  6056. SPLOADOPTIONS Options) = 0;
  6057. virtual HRESULT STDMETHODCALLTYPE LoadCmdFromProprietaryGrammar(
  6058. REFGUID rguidParam,
  6059. LPCWSTR pszStringParam,
  6060. const void *pvDataPrarm,
  6061. ULONG cbDataSize,
  6062. SPLOADOPTIONS Options) = 0;
  6063. virtual HRESULT STDMETHODCALLTYPE SetRuleState(
  6064. LPCWSTR pszName,
  6065. void *pReserved,
  6066. SPRULESTATE NewState) = 0;
  6067. virtual HRESULT STDMETHODCALLTYPE SetRuleIdState(
  6068. ULONG ulRuleId,
  6069. SPRULESTATE NewState) = 0;
  6070. virtual HRESULT STDMETHODCALLTYPE LoadDictation(
  6071. LPCWSTR pszTopicName,
  6072. SPLOADOPTIONS Options) = 0;
  6073. virtual HRESULT STDMETHODCALLTYPE UnloadDictation(
  6074. ) = 0;
  6075. virtual HRESULT STDMETHODCALLTYPE SetDictationState(
  6076. SPRULESTATE NewState) = 0;
  6077. virtual HRESULT STDMETHODCALLTYPE SetWordSequenceData(
  6078. const WCHAR *pText,
  6079. ULONG cchText,
  6080. const SPTEXTSELECTIONINFO *pInfo) = 0;
  6081. virtual HRESULT STDMETHODCALLTYPE SetTextSelection(
  6082. const SPTEXTSELECTIONINFO *pInfo) = 0;
  6083. virtual HRESULT STDMETHODCALLTYPE IsPronounceable(
  6084. LPCWSTR pszWord,
  6085. SPWORDPRONOUNCEABLE *pWordPronounceable) = 0;
  6086. virtual HRESULT STDMETHODCALLTYPE SetGrammarState(
  6087. SPGRAMMARSTATE eGrammarState) = 0;
  6088. virtual HRESULT STDMETHODCALLTYPE SaveCmd(
  6089. IStream *pStream,
  6090. LPWSTR *ppszCoMemErrorText) = 0;
  6091. virtual HRESULT STDMETHODCALLTYPE GetGrammarState(
  6092. SPGRAMMARSTATE *peGrammarState) = 0;
  6093. };
  6094. #ifdef __CRT_UUID_DECL
  6095. __CRT_UUID_DECL(ISpRecoGrammar, 0x2177db29, 0x7f45, 0x47d0, 0x85,0x54, 0x06,0x7e,0x91,0xc8,0x05,0x02)
  6096. #endif
  6097. #else
  6098. typedef struct ISpRecoGrammarVtbl {
  6099. BEGIN_INTERFACE
  6100. /*** IUnknown methods ***/
  6101. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6102. ISpRecoGrammar *This,
  6103. REFIID riid,
  6104. void **ppvObject);
  6105. ULONG (STDMETHODCALLTYPE *AddRef)(
  6106. ISpRecoGrammar *This);
  6107. ULONG (STDMETHODCALLTYPE *Release)(
  6108. ISpRecoGrammar *This);
  6109. /*** ISpGrammarBuilder methods ***/
  6110. HRESULT (STDMETHODCALLTYPE *ResetGrammar)(
  6111. ISpRecoGrammar *This,
  6112. WORD NewLanguage);
  6113. HRESULT (STDMETHODCALLTYPE *GetRule)(
  6114. ISpRecoGrammar *This,
  6115. LPCWSTR pszRuleName,
  6116. DWORD dwRuleId,
  6117. DWORD dwAttributes,
  6118. WINBOOL fCreateIfNotExist,
  6119. SPSTATEHANDLE *phInitialState);
  6120. HRESULT (STDMETHODCALLTYPE *ClearRule)(
  6121. ISpRecoGrammar *This,
  6122. SPSTATEHANDLE hState);
  6123. HRESULT (STDMETHODCALLTYPE *CreateNewState)(
  6124. ISpRecoGrammar *This,
  6125. SPSTATEHANDLE hState,
  6126. SPSTATEHANDLE *phState);
  6127. HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
  6128. ISpRecoGrammar *This,
  6129. SPSTATEHANDLE hFromState,
  6130. SPSTATEHANDLE hToState,
  6131. LPCWSTR psz,
  6132. LPCWSTR pszSeparators,
  6133. SPGRAMMARWORDTYPE eWordType,
  6134. float Weight,
  6135. const SPPROPERTYINFO *pPropInfo);
  6136. HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
  6137. ISpRecoGrammar *This,
  6138. SPSTATEHANDLE hFromState,
  6139. SPSTATEHANDLE hToState,
  6140. SPSTATEHANDLE hRule,
  6141. float Weight,
  6142. const SPPROPERTYINFO *pPropInfo);
  6143. HRESULT (STDMETHODCALLTYPE *AddResource)(
  6144. ISpRecoGrammar *This,
  6145. SPSTATEHANDLE hRuleState,
  6146. LPCWSTR pszResourceName,
  6147. LPCWSTR pszResourceValue);
  6148. HRESULT (STDMETHODCALLTYPE *Commit)(
  6149. ISpRecoGrammar *This,
  6150. DWORD dwReserved);
  6151. /*** ISpRecoGrammar methods ***/
  6152. HRESULT (STDMETHODCALLTYPE *GetGrammarId)(
  6153. ISpRecoGrammar *This,
  6154. ULONGLONG *pullGrammarId);
  6155. HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
  6156. ISpRecoGrammar *This,
  6157. ISpRecoContext **ppRecoCtxt);
  6158. HRESULT (STDMETHODCALLTYPE *LoadCmdFromFile)(
  6159. ISpRecoGrammar *This,
  6160. LPCWSTR pszFileName,
  6161. SPLOADOPTIONS Options);
  6162. HRESULT (STDMETHODCALLTYPE *LoadCmdFromObject)(
  6163. ISpRecoGrammar *This,
  6164. REFCLSID rcid,
  6165. LPCWSTR pszGrammarName,
  6166. SPLOADOPTIONS Options);
  6167. HRESULT (STDMETHODCALLTYPE *LoadCmdFromResource)(
  6168. ISpRecoGrammar *This,
  6169. HMODULE hModule,
  6170. LPCWSTR pszResourceName,
  6171. LPCWSTR pszResourceType,
  6172. WORD wLanguage,
  6173. SPLOADOPTIONS Options);
  6174. HRESULT (STDMETHODCALLTYPE *LoadCmdFromMemory)(
  6175. ISpRecoGrammar *This,
  6176. const SPBINARYGRAMMAR *pGrammar,
  6177. SPLOADOPTIONS Options);
  6178. HRESULT (STDMETHODCALLTYPE *LoadCmdFromProprietaryGrammar)(
  6179. ISpRecoGrammar *This,
  6180. REFGUID rguidParam,
  6181. LPCWSTR pszStringParam,
  6182. const void *pvDataPrarm,
  6183. ULONG cbDataSize,
  6184. SPLOADOPTIONS Options);
  6185. HRESULT (STDMETHODCALLTYPE *SetRuleState)(
  6186. ISpRecoGrammar *This,
  6187. LPCWSTR pszName,
  6188. void *pReserved,
  6189. SPRULESTATE NewState);
  6190. HRESULT (STDMETHODCALLTYPE *SetRuleIdState)(
  6191. ISpRecoGrammar *This,
  6192. ULONG ulRuleId,
  6193. SPRULESTATE NewState);
  6194. HRESULT (STDMETHODCALLTYPE *LoadDictation)(
  6195. ISpRecoGrammar *This,
  6196. LPCWSTR pszTopicName,
  6197. SPLOADOPTIONS Options);
  6198. HRESULT (STDMETHODCALLTYPE *UnloadDictation)(
  6199. ISpRecoGrammar *This);
  6200. HRESULT (STDMETHODCALLTYPE *SetDictationState)(
  6201. ISpRecoGrammar *This,
  6202. SPRULESTATE NewState);
  6203. HRESULT (STDMETHODCALLTYPE *SetWordSequenceData)(
  6204. ISpRecoGrammar *This,
  6205. const WCHAR *pText,
  6206. ULONG cchText,
  6207. const SPTEXTSELECTIONINFO *pInfo);
  6208. HRESULT (STDMETHODCALLTYPE *SetTextSelection)(
  6209. ISpRecoGrammar *This,
  6210. const SPTEXTSELECTIONINFO *pInfo);
  6211. HRESULT (STDMETHODCALLTYPE *IsPronounceable)(
  6212. ISpRecoGrammar *This,
  6213. LPCWSTR pszWord,
  6214. SPWORDPRONOUNCEABLE *pWordPronounceable);
  6215. HRESULT (STDMETHODCALLTYPE *SetGrammarState)(
  6216. ISpRecoGrammar *This,
  6217. SPGRAMMARSTATE eGrammarState);
  6218. HRESULT (STDMETHODCALLTYPE *SaveCmd)(
  6219. ISpRecoGrammar *This,
  6220. IStream *pStream,
  6221. LPWSTR *ppszCoMemErrorText);
  6222. HRESULT (STDMETHODCALLTYPE *GetGrammarState)(
  6223. ISpRecoGrammar *This,
  6224. SPGRAMMARSTATE *peGrammarState);
  6225. END_INTERFACE
  6226. } ISpRecoGrammarVtbl;
  6227. interface ISpRecoGrammar {
  6228. CONST_VTBL ISpRecoGrammarVtbl* lpVtbl;
  6229. };
  6230. #ifdef COBJMACROS
  6231. #ifndef WIDL_C_INLINE_WRAPPERS
  6232. /*** IUnknown methods ***/
  6233. #define ISpRecoGrammar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6234. #define ISpRecoGrammar_AddRef(This) (This)->lpVtbl->AddRef(This)
  6235. #define ISpRecoGrammar_Release(This) (This)->lpVtbl->Release(This)
  6236. /*** ISpGrammarBuilder methods ***/
  6237. #define ISpRecoGrammar_ResetGrammar(This,NewLanguage) (This)->lpVtbl->ResetGrammar(This,NewLanguage)
  6238. #define ISpRecoGrammar_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState) (This)->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
  6239. #define ISpRecoGrammar_ClearRule(This,hState) (This)->lpVtbl->ClearRule(This,hState)
  6240. #define ISpRecoGrammar_CreateNewState(This,hState,phState) (This)->lpVtbl->CreateNewState(This,hState,phState)
  6241. #define ISpRecoGrammar_AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo) (This)->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
  6242. #define ISpRecoGrammar_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo) (This)->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
  6243. #define ISpRecoGrammar_AddResource(This,hRuleState,pszResourceName,pszResourceValue) (This)->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue)
  6244. #define ISpRecoGrammar_Commit(This,dwReserved) (This)->lpVtbl->Commit(This,dwReserved)
  6245. /*** ISpRecoGrammar methods ***/
  6246. #define ISpRecoGrammar_GetGrammarId(This,pullGrammarId) (This)->lpVtbl->GetGrammarId(This,pullGrammarId)
  6247. #define ISpRecoGrammar_GetRecoContext(This,ppRecoCtxt) (This)->lpVtbl->GetRecoContext(This,ppRecoCtxt)
  6248. #define ISpRecoGrammar_LoadCmdFromFile(This,pszFileName,Options) (This)->lpVtbl->LoadCmdFromFile(This,pszFileName,Options)
  6249. #define ISpRecoGrammar_LoadCmdFromObject(This,rcid,pszGrammarName,Options) (This)->lpVtbl->LoadCmdFromObject(This,rcid,pszGrammarName,Options)
  6250. #define ISpRecoGrammar_LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options) (This)->lpVtbl->LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options)
  6251. #define ISpRecoGrammar_LoadCmdFromMemory(This,pGrammar,Options) (This)->lpVtbl->LoadCmdFromMemory(This,pGrammar,Options)
  6252. #define ISpRecoGrammar_LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options) (This)->lpVtbl->LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options)
  6253. #define ISpRecoGrammar_SetRuleState(This,pszName,pReserved,NewState) (This)->lpVtbl->SetRuleState(This,pszName,pReserved,NewState)
  6254. #define ISpRecoGrammar_SetRuleIdState(This,ulRuleId,NewState) (This)->lpVtbl->SetRuleIdState(This,ulRuleId,NewState)
  6255. #define ISpRecoGrammar_LoadDictation(This,pszTopicName,Options) (This)->lpVtbl->LoadDictation(This,pszTopicName,Options)
  6256. #define ISpRecoGrammar_UnloadDictation(This) (This)->lpVtbl->UnloadDictation(This)
  6257. #define ISpRecoGrammar_SetDictationState(This,NewState) (This)->lpVtbl->SetDictationState(This,NewState)
  6258. #define ISpRecoGrammar_SetWordSequenceData(This,pText,cchText,pInfo) (This)->lpVtbl->SetWordSequenceData(This,pText,cchText,pInfo)
  6259. #define ISpRecoGrammar_SetTextSelection(This,pInfo) (This)->lpVtbl->SetTextSelection(This,pInfo)
  6260. #define ISpRecoGrammar_IsPronounceable(This,pszWord,pWordPronounceable) (This)->lpVtbl->IsPronounceable(This,pszWord,pWordPronounceable)
  6261. #define ISpRecoGrammar_SetGrammarState(This,eGrammarState) (This)->lpVtbl->SetGrammarState(This,eGrammarState)
  6262. #define ISpRecoGrammar_SaveCmd(This,pStream,ppszCoMemErrorText) (This)->lpVtbl->SaveCmd(This,pStream,ppszCoMemErrorText)
  6263. #define ISpRecoGrammar_GetGrammarState(This,peGrammarState) (This)->lpVtbl->GetGrammarState(This,peGrammarState)
  6264. #else
  6265. /*** IUnknown methods ***/
  6266. static FORCEINLINE HRESULT ISpRecoGrammar_QueryInterface(ISpRecoGrammar* This,REFIID riid,void **ppvObject) {
  6267. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6268. }
  6269. static FORCEINLINE ULONG ISpRecoGrammar_AddRef(ISpRecoGrammar* This) {
  6270. return This->lpVtbl->AddRef(This);
  6271. }
  6272. static FORCEINLINE ULONG ISpRecoGrammar_Release(ISpRecoGrammar* This) {
  6273. return This->lpVtbl->Release(This);
  6274. }
  6275. /*** ISpGrammarBuilder methods ***/
  6276. static FORCEINLINE HRESULT ISpRecoGrammar_ResetGrammar(ISpRecoGrammar* This,WORD NewLanguage) {
  6277. return This->lpVtbl->ResetGrammar(This,NewLanguage);
  6278. }
  6279. static FORCEINLINE HRESULT ISpRecoGrammar_GetRule(ISpRecoGrammar* This,LPCWSTR pszRuleName,DWORD dwRuleId,DWORD dwAttributes,WINBOOL fCreateIfNotExist,SPSTATEHANDLE *phInitialState) {
  6280. return This->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState);
  6281. }
  6282. static FORCEINLINE HRESULT ISpRecoGrammar_ClearRule(ISpRecoGrammar* This,SPSTATEHANDLE hState) {
  6283. return This->lpVtbl->ClearRule(This,hState);
  6284. }
  6285. static FORCEINLINE HRESULT ISpRecoGrammar_CreateNewState(ISpRecoGrammar* This,SPSTATEHANDLE hState,SPSTATEHANDLE *phState) {
  6286. return This->lpVtbl->CreateNewState(This,hState,phState);
  6287. }
  6288. static FORCEINLINE HRESULT ISpRecoGrammar_AddWordTransition(ISpRecoGrammar* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,LPCWSTR psz,LPCWSTR pszSeparators,SPGRAMMARWORDTYPE eWordType,float Weight,const SPPROPERTYINFO *pPropInfo) {
  6289. return This->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo);
  6290. }
  6291. static FORCEINLINE HRESULT ISpRecoGrammar_AddRuleTransition(ISpRecoGrammar* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,SPSTATEHANDLE hRule,float Weight,const SPPROPERTYINFO *pPropInfo) {
  6292. return This->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo);
  6293. }
  6294. static FORCEINLINE HRESULT ISpRecoGrammar_AddResource(ISpRecoGrammar* This,SPSTATEHANDLE hRuleState,LPCWSTR pszResourceName,LPCWSTR pszResourceValue) {
  6295. return This->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue);
  6296. }
  6297. static FORCEINLINE HRESULT ISpRecoGrammar_Commit(ISpRecoGrammar* This,DWORD dwReserved) {
  6298. return This->lpVtbl->Commit(This,dwReserved);
  6299. }
  6300. /*** ISpRecoGrammar methods ***/
  6301. static FORCEINLINE HRESULT ISpRecoGrammar_GetGrammarId(ISpRecoGrammar* This,ULONGLONG *pullGrammarId) {
  6302. return This->lpVtbl->GetGrammarId(This,pullGrammarId);
  6303. }
  6304. static FORCEINLINE HRESULT ISpRecoGrammar_GetRecoContext(ISpRecoGrammar* This,ISpRecoContext **ppRecoCtxt) {
  6305. return This->lpVtbl->GetRecoContext(This,ppRecoCtxt);
  6306. }
  6307. static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromFile(ISpRecoGrammar* This,LPCWSTR pszFileName,SPLOADOPTIONS Options) {
  6308. return This->lpVtbl->LoadCmdFromFile(This,pszFileName,Options);
  6309. }
  6310. static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromObject(ISpRecoGrammar* This,REFCLSID rcid,LPCWSTR pszGrammarName,SPLOADOPTIONS Options) {
  6311. return This->lpVtbl->LoadCmdFromObject(This,rcid,pszGrammarName,Options);
  6312. }
  6313. static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromResource(ISpRecoGrammar* This,HMODULE hModule,LPCWSTR pszResourceName,LPCWSTR pszResourceType,WORD wLanguage,SPLOADOPTIONS Options) {
  6314. return This->lpVtbl->LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options);
  6315. }
  6316. static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromMemory(ISpRecoGrammar* This,const SPBINARYGRAMMAR *pGrammar,SPLOADOPTIONS Options) {
  6317. return This->lpVtbl->LoadCmdFromMemory(This,pGrammar,Options);
  6318. }
  6319. static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromProprietaryGrammar(ISpRecoGrammar* This,REFGUID rguidParam,LPCWSTR pszStringParam,const void *pvDataPrarm,ULONG cbDataSize,SPLOADOPTIONS Options) {
  6320. return This->lpVtbl->LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options);
  6321. }
  6322. static FORCEINLINE HRESULT ISpRecoGrammar_SetRuleState(ISpRecoGrammar* This,LPCWSTR pszName,void *pReserved,SPRULESTATE NewState) {
  6323. return This->lpVtbl->SetRuleState(This,pszName,pReserved,NewState);
  6324. }
  6325. static FORCEINLINE HRESULT ISpRecoGrammar_SetRuleIdState(ISpRecoGrammar* This,ULONG ulRuleId,SPRULESTATE NewState) {
  6326. return This->lpVtbl->SetRuleIdState(This,ulRuleId,NewState);
  6327. }
  6328. static FORCEINLINE HRESULT ISpRecoGrammar_LoadDictation(ISpRecoGrammar* This,LPCWSTR pszTopicName,SPLOADOPTIONS Options) {
  6329. return This->lpVtbl->LoadDictation(This,pszTopicName,Options);
  6330. }
  6331. static FORCEINLINE HRESULT ISpRecoGrammar_UnloadDictation(ISpRecoGrammar* This) {
  6332. return This->lpVtbl->UnloadDictation(This);
  6333. }
  6334. static FORCEINLINE HRESULT ISpRecoGrammar_SetDictationState(ISpRecoGrammar* This,SPRULESTATE NewState) {
  6335. return This->lpVtbl->SetDictationState(This,NewState);
  6336. }
  6337. static FORCEINLINE HRESULT ISpRecoGrammar_SetWordSequenceData(ISpRecoGrammar* This,const WCHAR *pText,ULONG cchText,const SPTEXTSELECTIONINFO *pInfo) {
  6338. return This->lpVtbl->SetWordSequenceData(This,pText,cchText,pInfo);
  6339. }
  6340. static FORCEINLINE HRESULT ISpRecoGrammar_SetTextSelection(ISpRecoGrammar* This,const SPTEXTSELECTIONINFO *pInfo) {
  6341. return This->lpVtbl->SetTextSelection(This,pInfo);
  6342. }
  6343. static FORCEINLINE HRESULT ISpRecoGrammar_IsPronounceable(ISpRecoGrammar* This,LPCWSTR pszWord,SPWORDPRONOUNCEABLE *pWordPronounceable) {
  6344. return This->lpVtbl->IsPronounceable(This,pszWord,pWordPronounceable);
  6345. }
  6346. static FORCEINLINE HRESULT ISpRecoGrammar_SetGrammarState(ISpRecoGrammar* This,SPGRAMMARSTATE eGrammarState) {
  6347. return This->lpVtbl->SetGrammarState(This,eGrammarState);
  6348. }
  6349. static FORCEINLINE HRESULT ISpRecoGrammar_SaveCmd(ISpRecoGrammar* This,IStream *pStream,LPWSTR *ppszCoMemErrorText) {
  6350. return This->lpVtbl->SaveCmd(This,pStream,ppszCoMemErrorText);
  6351. }
  6352. static FORCEINLINE HRESULT ISpRecoGrammar_GetGrammarState(ISpRecoGrammar* This,SPGRAMMARSTATE *peGrammarState) {
  6353. return This->lpVtbl->GetGrammarState(This,peGrammarState);
  6354. }
  6355. #endif
  6356. #endif
  6357. #endif
  6358. #endif /* __ISpRecoGrammar_INTERFACE_DEFINED__ */
  6359. typedef struct SPRECOCONTEXTSTATUS {
  6360. SPINTERFERENCE eInterference;
  6361. WCHAR szRequestTypeOfUI[255];
  6362. DWORD dwReserved1;
  6363. DWORD dwReserved2;
  6364. } SPRECOCONTEXTSTATUS;
  6365. typedef enum SPBOOKMARKOPTIONS {
  6366. SPBO_NONE = 0,
  6367. SPBO_PAUSE = 0x1
  6368. } SPBOOKMARKOPTIONS;
  6369. typedef enum SPAUDIOOPTIONS {
  6370. SPAO_NONE = 0,
  6371. SPAO_RETAIN_AUDIO = 0x1
  6372. } SPAUDIOOPTIONS;
  6373. /*****************************************************************************
  6374. * ISpRecoContext interface
  6375. */
  6376. #ifndef __ISpRecoContext_INTERFACE_DEFINED__
  6377. #define __ISpRecoContext_INTERFACE_DEFINED__
  6378. DEFINE_GUID(IID_ISpRecoContext, 0xf740a62f, 0x7c15, 0x489e, 0x82,0x34, 0x94,0x0a,0x33,0xd9,0x27,0x2d);
  6379. #if defined(__cplusplus) && !defined(CINTERFACE)
  6380. MIDL_INTERFACE("f740a62f-7c15-489e-8234-940a33d9272d")
  6381. ISpRecoContext : public ISpEventSource
  6382. {
  6383. virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
  6384. ISpRecognizer **ppRecognizer) = 0;
  6385. virtual HRESULT STDMETHODCALLTYPE CreateGrammar(
  6386. ULONGLONG ullGrammarId,
  6387. ISpRecoGrammar **ppGrammar) = 0;
  6388. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  6389. SPRECOCONTEXTSTATUS *pStatus) = 0;
  6390. virtual HRESULT STDMETHODCALLTYPE GetMaxAlternates(
  6391. ULONG *pcAlternates) = 0;
  6392. virtual HRESULT STDMETHODCALLTYPE SetMaxAlternates(
  6393. ULONG cAlternates) = 0;
  6394. virtual HRESULT STDMETHODCALLTYPE SetAudioOptions(
  6395. SPAUDIOOPTIONS Options,
  6396. const GUID *pAudioFormatId,
  6397. const WAVEFORMATEX *pWaveFormatEx) = 0;
  6398. virtual HRESULT STDMETHODCALLTYPE GetAudioOptions(
  6399. SPAUDIOOPTIONS *pOptions,
  6400. GUID *pAudioFormatId,
  6401. WAVEFORMATEX **ppCoMemWFEX) = 0;
  6402. virtual HRESULT STDMETHODCALLTYPE DeserializeResult(
  6403. const SPSERIALIZEDRESULT *pSerializedResult,
  6404. ISpRecoResult **ppResult) = 0;
  6405. virtual HRESULT STDMETHODCALLTYPE Bookmark(
  6406. SPBOOKMARKOPTIONS Options,
  6407. ULONGLONG ullStreamPosition,
  6408. LPARAM lparamEvent) = 0;
  6409. virtual HRESULT STDMETHODCALLTYPE SetAdaptationData(
  6410. LPCWSTR pAdaptationData,
  6411. const ULONG cch) = 0;
  6412. virtual HRESULT STDMETHODCALLTYPE Pause(
  6413. DWORD dwReserved) = 0;
  6414. virtual HRESULT STDMETHODCALLTYPE Resume(
  6415. DWORD dwReserved) = 0;
  6416. virtual HRESULT STDMETHODCALLTYPE SetVoice(
  6417. ISpVoice *pVoice,
  6418. WINBOOL fAllowFormatChanges) = 0;
  6419. virtual HRESULT STDMETHODCALLTYPE GetVoice(
  6420. ISpVoice **ppVoice) = 0;
  6421. virtual HRESULT STDMETHODCALLTYPE SetVoicePurgeEvent(
  6422. ULONGLONG ullEventInterest) = 0;
  6423. virtual HRESULT STDMETHODCALLTYPE GetVoicePurgeEvent(
  6424. ULONGLONG *pullEventInterest) = 0;
  6425. virtual HRESULT STDMETHODCALLTYPE SetContextState(
  6426. SPCONTEXTSTATE eContextState) = 0;
  6427. virtual HRESULT STDMETHODCALLTYPE GetContextState(
  6428. SPCONTEXTSTATE *peContextState) = 0;
  6429. };
  6430. #ifdef __CRT_UUID_DECL
  6431. __CRT_UUID_DECL(ISpRecoContext, 0xf740a62f, 0x7c15, 0x489e, 0x82,0x34, 0x94,0x0a,0x33,0xd9,0x27,0x2d)
  6432. #endif
  6433. #else
  6434. typedef struct ISpRecoContextVtbl {
  6435. BEGIN_INTERFACE
  6436. /*** IUnknown methods ***/
  6437. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6438. ISpRecoContext *This,
  6439. REFIID riid,
  6440. void **ppvObject);
  6441. ULONG (STDMETHODCALLTYPE *AddRef)(
  6442. ISpRecoContext *This);
  6443. ULONG (STDMETHODCALLTYPE *Release)(
  6444. ISpRecoContext *This);
  6445. /*** ISpNotifySource methods ***/
  6446. HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
  6447. ISpRecoContext *This,
  6448. ISpNotifySink *pNotifySink);
  6449. HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
  6450. ISpRecoContext *This,
  6451. HWND hWnd,
  6452. UINT Msg,
  6453. WPARAM wParam,
  6454. LPARAM lParam);
  6455. HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
  6456. ISpRecoContext *This,
  6457. SPNOTIFYCALLBACK *pfnCallback,
  6458. WPARAM wParam,
  6459. LPARAM lParam);
  6460. HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
  6461. ISpRecoContext *This,
  6462. ISpNotifyCallback *pSpCallback,
  6463. WPARAM wParam,
  6464. LPARAM lParam);
  6465. HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
  6466. ISpRecoContext *This);
  6467. HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
  6468. ISpRecoContext *This,
  6469. DWORD dwMilliseconds);
  6470. HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
  6471. ISpRecoContext *This);
  6472. /*** ISpEventSource methods ***/
  6473. HRESULT (STDMETHODCALLTYPE *SetInterest)(
  6474. ISpRecoContext *This,
  6475. ULONGLONG ullEventInterest,
  6476. ULONGLONG ullQueuedInterest);
  6477. HRESULT (STDMETHODCALLTYPE *GetEvents)(
  6478. ISpRecoContext *This,
  6479. ULONG ulCount,
  6480. SPEVENT *pEventArray,
  6481. ULONG *pulFetched);
  6482. HRESULT (STDMETHODCALLTYPE *GetInfo)(
  6483. ISpRecoContext *This,
  6484. SPEVENTSOURCEINFO *pInfo);
  6485. /*** ISpRecoContext methods ***/
  6486. HRESULT (STDMETHODCALLTYPE *GetRecognizer)(
  6487. ISpRecoContext *This,
  6488. ISpRecognizer **ppRecognizer);
  6489. HRESULT (STDMETHODCALLTYPE *CreateGrammar)(
  6490. ISpRecoContext *This,
  6491. ULONGLONG ullGrammarId,
  6492. ISpRecoGrammar **ppGrammar);
  6493. HRESULT (STDMETHODCALLTYPE *GetStatus)(
  6494. ISpRecoContext *This,
  6495. SPRECOCONTEXTSTATUS *pStatus);
  6496. HRESULT (STDMETHODCALLTYPE *GetMaxAlternates)(
  6497. ISpRecoContext *This,
  6498. ULONG *pcAlternates);
  6499. HRESULT (STDMETHODCALLTYPE *SetMaxAlternates)(
  6500. ISpRecoContext *This,
  6501. ULONG cAlternates);
  6502. HRESULT (STDMETHODCALLTYPE *SetAudioOptions)(
  6503. ISpRecoContext *This,
  6504. SPAUDIOOPTIONS Options,
  6505. const GUID *pAudioFormatId,
  6506. const WAVEFORMATEX *pWaveFormatEx);
  6507. HRESULT (STDMETHODCALLTYPE *GetAudioOptions)(
  6508. ISpRecoContext *This,
  6509. SPAUDIOOPTIONS *pOptions,
  6510. GUID *pAudioFormatId,
  6511. WAVEFORMATEX **ppCoMemWFEX);
  6512. HRESULT (STDMETHODCALLTYPE *DeserializeResult)(
  6513. ISpRecoContext *This,
  6514. const SPSERIALIZEDRESULT *pSerializedResult,
  6515. ISpRecoResult **ppResult);
  6516. HRESULT (STDMETHODCALLTYPE *Bookmark)(
  6517. ISpRecoContext *This,
  6518. SPBOOKMARKOPTIONS Options,
  6519. ULONGLONG ullStreamPosition,
  6520. LPARAM lparamEvent);
  6521. HRESULT (STDMETHODCALLTYPE *SetAdaptationData)(
  6522. ISpRecoContext *This,
  6523. LPCWSTR pAdaptationData,
  6524. const ULONG cch);
  6525. HRESULT (STDMETHODCALLTYPE *Pause)(
  6526. ISpRecoContext *This,
  6527. DWORD dwReserved);
  6528. HRESULT (STDMETHODCALLTYPE *Resume)(
  6529. ISpRecoContext *This,
  6530. DWORD dwReserved);
  6531. HRESULT (STDMETHODCALLTYPE *SetVoice)(
  6532. ISpRecoContext *This,
  6533. ISpVoice *pVoice,
  6534. WINBOOL fAllowFormatChanges);
  6535. HRESULT (STDMETHODCALLTYPE *GetVoice)(
  6536. ISpRecoContext *This,
  6537. ISpVoice **ppVoice);
  6538. HRESULT (STDMETHODCALLTYPE *SetVoicePurgeEvent)(
  6539. ISpRecoContext *This,
  6540. ULONGLONG ullEventInterest);
  6541. HRESULT (STDMETHODCALLTYPE *GetVoicePurgeEvent)(
  6542. ISpRecoContext *This,
  6543. ULONGLONG *pullEventInterest);
  6544. HRESULT (STDMETHODCALLTYPE *SetContextState)(
  6545. ISpRecoContext *This,
  6546. SPCONTEXTSTATE eContextState);
  6547. HRESULT (STDMETHODCALLTYPE *GetContextState)(
  6548. ISpRecoContext *This,
  6549. SPCONTEXTSTATE *peContextState);
  6550. END_INTERFACE
  6551. } ISpRecoContextVtbl;
  6552. interface ISpRecoContext {
  6553. CONST_VTBL ISpRecoContextVtbl* lpVtbl;
  6554. };
  6555. #ifdef COBJMACROS
  6556. #ifndef WIDL_C_INLINE_WRAPPERS
  6557. /*** IUnknown methods ***/
  6558. #define ISpRecoContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6559. #define ISpRecoContext_AddRef(This) (This)->lpVtbl->AddRef(This)
  6560. #define ISpRecoContext_Release(This) (This)->lpVtbl->Release(This)
  6561. /*** ISpNotifySource methods ***/
  6562. #define ISpRecoContext_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
  6563. #define ISpRecoContext_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
  6564. #define ISpRecoContext_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
  6565. #define ISpRecoContext_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
  6566. #define ISpRecoContext_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
  6567. #define ISpRecoContext_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
  6568. #define ISpRecoContext_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
  6569. /*** ISpEventSource methods ***/
  6570. #define ISpRecoContext_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
  6571. #define ISpRecoContext_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
  6572. #define ISpRecoContext_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
  6573. /*** ISpRecoContext methods ***/
  6574. #define ISpRecoContext_GetRecognizer(This,ppRecognizer) (This)->lpVtbl->GetRecognizer(This,ppRecognizer)
  6575. #define ISpRecoContext_CreateGrammar(This,ullGrammarId,ppGrammar) (This)->lpVtbl->CreateGrammar(This,ullGrammarId,ppGrammar)
  6576. #define ISpRecoContext_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
  6577. #define ISpRecoContext_GetMaxAlternates(This,pcAlternates) (This)->lpVtbl->GetMaxAlternates(This,pcAlternates)
  6578. #define ISpRecoContext_SetMaxAlternates(This,cAlternates) (This)->lpVtbl->SetMaxAlternates(This,cAlternates)
  6579. #define ISpRecoContext_SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx)
  6580. #define ISpRecoContext_GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX) (This)->lpVtbl->GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX)
  6581. #define ISpRecoContext_DeserializeResult(This,pSerializedResult,ppResult) (This)->lpVtbl->DeserializeResult(This,pSerializedResult,ppResult)
  6582. #define ISpRecoContext_Bookmark(This,Options,ullStreamPosition,lparamEvent) (This)->lpVtbl->Bookmark(This,Options,ullStreamPosition,lparamEvent)
  6583. #define ISpRecoContext_SetAdaptationData(This,pAdaptationData,cch) (This)->lpVtbl->SetAdaptationData(This,pAdaptationData,cch)
  6584. #define ISpRecoContext_Pause(This,dwReserved) (This)->lpVtbl->Pause(This,dwReserved)
  6585. #define ISpRecoContext_Resume(This,dwReserved) (This)->lpVtbl->Resume(This,dwReserved)
  6586. #define ISpRecoContext_SetVoice(This,pVoice,fAllowFormatChanges) (This)->lpVtbl->SetVoice(This,pVoice,fAllowFormatChanges)
  6587. #define ISpRecoContext_GetVoice(This,ppVoice) (This)->lpVtbl->GetVoice(This,ppVoice)
  6588. #define ISpRecoContext_SetVoicePurgeEvent(This,ullEventInterest) (This)->lpVtbl->SetVoicePurgeEvent(This,ullEventInterest)
  6589. #define ISpRecoContext_GetVoicePurgeEvent(This,pullEventInterest) (This)->lpVtbl->GetVoicePurgeEvent(This,pullEventInterest)
  6590. #define ISpRecoContext_SetContextState(This,eContextState) (This)->lpVtbl->SetContextState(This,eContextState)
  6591. #define ISpRecoContext_GetContextState(This,peContextState) (This)->lpVtbl->GetContextState(This,peContextState)
  6592. #else
  6593. /*** IUnknown methods ***/
  6594. static FORCEINLINE HRESULT ISpRecoContext_QueryInterface(ISpRecoContext* This,REFIID riid,void **ppvObject) {
  6595. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6596. }
  6597. static FORCEINLINE ULONG ISpRecoContext_AddRef(ISpRecoContext* This) {
  6598. return This->lpVtbl->AddRef(This);
  6599. }
  6600. static FORCEINLINE ULONG ISpRecoContext_Release(ISpRecoContext* This) {
  6601. return This->lpVtbl->Release(This);
  6602. }
  6603. /*** ISpNotifySource methods ***/
  6604. static FORCEINLINE HRESULT ISpRecoContext_SetNotifySink(ISpRecoContext* This,ISpNotifySink *pNotifySink) {
  6605. return This->lpVtbl->SetNotifySink(This,pNotifySink);
  6606. }
  6607. static FORCEINLINE HRESULT ISpRecoContext_SetNotifyWindowMessage(ISpRecoContext* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
  6608. return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
  6609. }
  6610. static FORCEINLINE HRESULT ISpRecoContext_SetNotifyCallbackFunction(ISpRecoContext* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
  6611. return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
  6612. }
  6613. static FORCEINLINE HRESULT ISpRecoContext_SetNotifyCallbackInterface(ISpRecoContext* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
  6614. return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
  6615. }
  6616. static FORCEINLINE HRESULT ISpRecoContext_SetNotifyWin32Event(ISpRecoContext* This) {
  6617. return This->lpVtbl->SetNotifyWin32Event(This);
  6618. }
  6619. static FORCEINLINE HRESULT ISpRecoContext_WaitForNotifyEvent(ISpRecoContext* This,DWORD dwMilliseconds) {
  6620. return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
  6621. }
  6622. static FORCEINLINE HANDLE ISpRecoContext_GetNotifyEventHandle(ISpRecoContext* This) {
  6623. return This->lpVtbl->GetNotifyEventHandle(This);
  6624. }
  6625. /*** ISpEventSource methods ***/
  6626. static FORCEINLINE HRESULT ISpRecoContext_SetInterest(ISpRecoContext* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
  6627. return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
  6628. }
  6629. static FORCEINLINE HRESULT ISpRecoContext_GetEvents(ISpRecoContext* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
  6630. return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
  6631. }
  6632. static FORCEINLINE HRESULT ISpRecoContext_GetInfo(ISpRecoContext* This,SPEVENTSOURCEINFO *pInfo) {
  6633. return This->lpVtbl->GetInfo(This,pInfo);
  6634. }
  6635. /*** ISpRecoContext methods ***/
  6636. static FORCEINLINE HRESULT ISpRecoContext_GetRecognizer(ISpRecoContext* This,ISpRecognizer **ppRecognizer) {
  6637. return This->lpVtbl->GetRecognizer(This,ppRecognizer);
  6638. }
  6639. static FORCEINLINE HRESULT ISpRecoContext_CreateGrammar(ISpRecoContext* This,ULONGLONG ullGrammarId,ISpRecoGrammar **ppGrammar) {
  6640. return This->lpVtbl->CreateGrammar(This,ullGrammarId,ppGrammar);
  6641. }
  6642. static FORCEINLINE HRESULT ISpRecoContext_GetStatus(ISpRecoContext* This,SPRECOCONTEXTSTATUS *pStatus) {
  6643. return This->lpVtbl->GetStatus(This,pStatus);
  6644. }
  6645. static FORCEINLINE HRESULT ISpRecoContext_GetMaxAlternates(ISpRecoContext* This,ULONG *pcAlternates) {
  6646. return This->lpVtbl->GetMaxAlternates(This,pcAlternates);
  6647. }
  6648. static FORCEINLINE HRESULT ISpRecoContext_SetMaxAlternates(ISpRecoContext* This,ULONG cAlternates) {
  6649. return This->lpVtbl->SetMaxAlternates(This,cAlternates);
  6650. }
  6651. static FORCEINLINE HRESULT ISpRecoContext_SetAudioOptions(ISpRecoContext* This,SPAUDIOOPTIONS Options,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
  6652. return This->lpVtbl->SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx);
  6653. }
  6654. static FORCEINLINE HRESULT ISpRecoContext_GetAudioOptions(ISpRecoContext* This,SPAUDIOOPTIONS *pOptions,GUID *pAudioFormatId,WAVEFORMATEX **ppCoMemWFEX) {
  6655. return This->lpVtbl->GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX);
  6656. }
  6657. static FORCEINLINE HRESULT ISpRecoContext_DeserializeResult(ISpRecoContext* This,const SPSERIALIZEDRESULT *pSerializedResult,ISpRecoResult **ppResult) {
  6658. return This->lpVtbl->DeserializeResult(This,pSerializedResult,ppResult);
  6659. }
  6660. static FORCEINLINE HRESULT ISpRecoContext_Bookmark(ISpRecoContext* This,SPBOOKMARKOPTIONS Options,ULONGLONG ullStreamPosition,LPARAM lparamEvent) {
  6661. return This->lpVtbl->Bookmark(This,Options,ullStreamPosition,lparamEvent);
  6662. }
  6663. static FORCEINLINE HRESULT ISpRecoContext_SetAdaptationData(ISpRecoContext* This,LPCWSTR pAdaptationData,const ULONG cch) {
  6664. return This->lpVtbl->SetAdaptationData(This,pAdaptationData,cch);
  6665. }
  6666. static FORCEINLINE HRESULT ISpRecoContext_Pause(ISpRecoContext* This,DWORD dwReserved) {
  6667. return This->lpVtbl->Pause(This,dwReserved);
  6668. }
  6669. static FORCEINLINE HRESULT ISpRecoContext_Resume(ISpRecoContext* This,DWORD dwReserved) {
  6670. return This->lpVtbl->Resume(This,dwReserved);
  6671. }
  6672. static FORCEINLINE HRESULT ISpRecoContext_SetVoice(ISpRecoContext* This,ISpVoice *pVoice,WINBOOL fAllowFormatChanges) {
  6673. return This->lpVtbl->SetVoice(This,pVoice,fAllowFormatChanges);
  6674. }
  6675. static FORCEINLINE HRESULT ISpRecoContext_GetVoice(ISpRecoContext* This,ISpVoice **ppVoice) {
  6676. return This->lpVtbl->GetVoice(This,ppVoice);
  6677. }
  6678. static FORCEINLINE HRESULT ISpRecoContext_SetVoicePurgeEvent(ISpRecoContext* This,ULONGLONG ullEventInterest) {
  6679. return This->lpVtbl->SetVoicePurgeEvent(This,ullEventInterest);
  6680. }
  6681. static FORCEINLINE HRESULT ISpRecoContext_GetVoicePurgeEvent(ISpRecoContext* This,ULONGLONG *pullEventInterest) {
  6682. return This->lpVtbl->GetVoicePurgeEvent(This,pullEventInterest);
  6683. }
  6684. static FORCEINLINE HRESULT ISpRecoContext_SetContextState(ISpRecoContext* This,SPCONTEXTSTATE eContextState) {
  6685. return This->lpVtbl->SetContextState(This,eContextState);
  6686. }
  6687. static FORCEINLINE HRESULT ISpRecoContext_GetContextState(ISpRecoContext* This,SPCONTEXTSTATE *peContextState) {
  6688. return This->lpVtbl->GetContextState(This,peContextState);
  6689. }
  6690. #endif
  6691. #endif
  6692. #endif
  6693. #endif /* __ISpRecoContext_INTERFACE_DEFINED__ */
  6694. /*****************************************************************************
  6695. * ISpProperties interface
  6696. */
  6697. #ifndef __ISpProperties_INTERFACE_DEFINED__
  6698. #define __ISpProperties_INTERFACE_DEFINED__
  6699. DEFINE_GUID(IID_ISpProperties, 0x5b4fb971, 0xb115, 0x4de1, 0xad,0x97, 0xe4,0x82,0xe3,0xbf,0x6e,0xe4);
  6700. #if defined(__cplusplus) && !defined(CINTERFACE)
  6701. MIDL_INTERFACE("5b4fb971-b115-4de1-ad97-e482e3bf6ee4")
  6702. ISpProperties : public IUnknown
  6703. {
  6704. virtual HRESULT STDMETHODCALLTYPE SetPropertyNum(
  6705. LPCWSTR pName,
  6706. LONG lValue) = 0;
  6707. virtual HRESULT STDMETHODCALLTYPE GetPropertyNum(
  6708. LPCWSTR pName,
  6709. LONG *plValue) = 0;
  6710. virtual HRESULT STDMETHODCALLTYPE SetPropertyString(
  6711. LPCWSTR pName,
  6712. LPCWSTR pValue) = 0;
  6713. virtual HRESULT STDMETHODCALLTYPE GetPropertyString(
  6714. LPCWSTR pName,
  6715. LPWSTR *ppCoMemValue) = 0;
  6716. };
  6717. #ifdef __CRT_UUID_DECL
  6718. __CRT_UUID_DECL(ISpProperties, 0x5b4fb971, 0xb115, 0x4de1, 0xad,0x97, 0xe4,0x82,0xe3,0xbf,0x6e,0xe4)
  6719. #endif
  6720. #else
  6721. typedef struct ISpPropertiesVtbl {
  6722. BEGIN_INTERFACE
  6723. /*** IUnknown methods ***/
  6724. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6725. ISpProperties *This,
  6726. REFIID riid,
  6727. void **ppvObject);
  6728. ULONG (STDMETHODCALLTYPE *AddRef)(
  6729. ISpProperties *This);
  6730. ULONG (STDMETHODCALLTYPE *Release)(
  6731. ISpProperties *This);
  6732. /*** ISpProperties methods ***/
  6733. HRESULT (STDMETHODCALLTYPE *SetPropertyNum)(
  6734. ISpProperties *This,
  6735. LPCWSTR pName,
  6736. LONG lValue);
  6737. HRESULT (STDMETHODCALLTYPE *GetPropertyNum)(
  6738. ISpProperties *This,
  6739. LPCWSTR pName,
  6740. LONG *plValue);
  6741. HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
  6742. ISpProperties *This,
  6743. LPCWSTR pName,
  6744. LPCWSTR pValue);
  6745. HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
  6746. ISpProperties *This,
  6747. LPCWSTR pName,
  6748. LPWSTR *ppCoMemValue);
  6749. END_INTERFACE
  6750. } ISpPropertiesVtbl;
  6751. interface ISpProperties {
  6752. CONST_VTBL ISpPropertiesVtbl* lpVtbl;
  6753. };
  6754. #ifdef COBJMACROS
  6755. #ifndef WIDL_C_INLINE_WRAPPERS
  6756. /*** IUnknown methods ***/
  6757. #define ISpProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6758. #define ISpProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
  6759. #define ISpProperties_Release(This) (This)->lpVtbl->Release(This)
  6760. /*** ISpProperties methods ***/
  6761. #define ISpProperties_SetPropertyNum(This,pName,lValue) (This)->lpVtbl->SetPropertyNum(This,pName,lValue)
  6762. #define ISpProperties_GetPropertyNum(This,pName,plValue) (This)->lpVtbl->GetPropertyNum(This,pName,plValue)
  6763. #define ISpProperties_SetPropertyString(This,pName,pValue) (This)->lpVtbl->SetPropertyString(This,pName,pValue)
  6764. #define ISpProperties_GetPropertyString(This,pName,ppCoMemValue) (This)->lpVtbl->GetPropertyString(This,pName,ppCoMemValue)
  6765. #else
  6766. /*** IUnknown methods ***/
  6767. static FORCEINLINE HRESULT ISpProperties_QueryInterface(ISpProperties* This,REFIID riid,void **ppvObject) {
  6768. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6769. }
  6770. static FORCEINLINE ULONG ISpProperties_AddRef(ISpProperties* This) {
  6771. return This->lpVtbl->AddRef(This);
  6772. }
  6773. static FORCEINLINE ULONG ISpProperties_Release(ISpProperties* This) {
  6774. return This->lpVtbl->Release(This);
  6775. }
  6776. /*** ISpProperties methods ***/
  6777. static FORCEINLINE HRESULT ISpProperties_SetPropertyNum(ISpProperties* This,LPCWSTR pName,LONG lValue) {
  6778. return This->lpVtbl->SetPropertyNum(This,pName,lValue);
  6779. }
  6780. static FORCEINLINE HRESULT ISpProperties_GetPropertyNum(ISpProperties* This,LPCWSTR pName,LONG *plValue) {
  6781. return This->lpVtbl->GetPropertyNum(This,pName,plValue);
  6782. }
  6783. static FORCEINLINE HRESULT ISpProperties_SetPropertyString(ISpProperties* This,LPCWSTR pName,LPCWSTR pValue) {
  6784. return This->lpVtbl->SetPropertyString(This,pName,pValue);
  6785. }
  6786. static FORCEINLINE HRESULT ISpProperties_GetPropertyString(ISpProperties* This,LPCWSTR pName,LPWSTR *ppCoMemValue) {
  6787. return This->lpVtbl->GetPropertyString(This,pName,ppCoMemValue);
  6788. }
  6789. #endif
  6790. #endif
  6791. #endif
  6792. #endif /* __ISpProperties_INTERFACE_DEFINED__ */
  6793. #define SP_MAX_LANGIDS (20)
  6794. typedef struct SPRECOGNIZERSTATUS {
  6795. SPAUDIOSTATUS AudioStatus;
  6796. ULONGLONG ullRecognitionStreamPos;
  6797. ULONG ulStreamNumber;
  6798. ULONG ulNumActive;
  6799. CLSID clsidEngine;
  6800. ULONG cLangIDs;
  6801. WORD aLangID[20];
  6802. ULONGLONG ullRecognitionStreamTime;
  6803. } SPRECOGNIZERSTATUS;
  6804. typedef enum SPWAVEFORMATTYPE {
  6805. SPWF_INPUT = 0,
  6806. SPWF_SRENGINE = 1
  6807. } SPSTREAMFORMATTYPE;
  6808. typedef enum SPRECOSTATE {
  6809. SPRST_INACTIVE = 0,
  6810. SPRST_ACTIVE = 1,
  6811. SPRST_ACTIVE_ALWAYS = 2,
  6812. SPRST_INACTIVE_WITH_PURGE = 3,
  6813. SPRST_NUM_STATES = 4
  6814. } SPRECOSTATE;
  6815. /*****************************************************************************
  6816. * ISpRecognizer interface
  6817. */
  6818. #ifndef __ISpRecognizer_INTERFACE_DEFINED__
  6819. #define __ISpRecognizer_INTERFACE_DEFINED__
  6820. DEFINE_GUID(IID_ISpRecognizer, 0xc2b5f241, 0xdaa0, 0x4507, 0x9e,0x16, 0x5a,0x1e,0xaa,0x2b,0x7a,0x5c);
  6821. #if defined(__cplusplus) && !defined(CINTERFACE)
  6822. MIDL_INTERFACE("c2b5f241-daa0-4507-9e16-5a1eaa2b7a5c")
  6823. ISpRecognizer : public ISpProperties
  6824. {
  6825. virtual HRESULT STDMETHODCALLTYPE SetRecognizer(
  6826. ISpObjectToken *pRecognizer) = 0;
  6827. virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
  6828. ISpObjectToken **ppRecognizer) = 0;
  6829. virtual HRESULT STDMETHODCALLTYPE SetInput(
  6830. IUnknown *pUnkInput,
  6831. WINBOOL fAllowFormatChanges) = 0;
  6832. virtual HRESULT STDMETHODCALLTYPE GetInputObjectToken(
  6833. ISpObjectToken **ppToken) = 0;
  6834. virtual HRESULT STDMETHODCALLTYPE GetInputStream(
  6835. ISpStreamFormat **ppStream) = 0;
  6836. virtual HRESULT STDMETHODCALLTYPE CreateRecoContext(
  6837. ISpRecoContext **ppNewCtxt) = 0;
  6838. virtual HRESULT STDMETHODCALLTYPE GetRecoProfile(
  6839. ISpObjectToken **ppToken) = 0;
  6840. virtual HRESULT STDMETHODCALLTYPE SetRecoProfile(
  6841. ISpObjectToken *pToken) = 0;
  6842. virtual HRESULT STDMETHODCALLTYPE IsSharedInstance(
  6843. ) = 0;
  6844. virtual HRESULT STDMETHODCALLTYPE GetRecoState(
  6845. SPRECOSTATE *pState) = 0;
  6846. virtual HRESULT STDMETHODCALLTYPE SetRecoState(
  6847. SPRECOSTATE NewState) = 0;
  6848. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  6849. SPRECOGNIZERSTATUS *pStatus) = 0;
  6850. virtual HRESULT STDMETHODCALLTYPE GetFormat(
  6851. SPSTREAMFORMATTYPE WaveFormatType,
  6852. GUID *pFormatId,
  6853. WAVEFORMATEX **ppCoMemWFEX) = 0;
  6854. virtual HRESULT STDMETHODCALLTYPE IsUISupported(
  6855. LPCWSTR pszTypeOfUI,
  6856. void *pvExtraData,
  6857. ULONG cbExtraData,
  6858. WINBOOL *pfSupported) = 0;
  6859. virtual HRESULT STDMETHODCALLTYPE DisplayUI(
  6860. HWND hwndParent,
  6861. LPCWSTR pszTitle,
  6862. LPCWSTR pszTypeOfUI,
  6863. void *pvExtraData,
  6864. ULONG cbExtraData) = 0;
  6865. virtual HRESULT STDMETHODCALLTYPE EmulateRecognition(
  6866. ISpPhrase *pPhrase) = 0;
  6867. };
  6868. #ifdef __CRT_UUID_DECL
  6869. __CRT_UUID_DECL(ISpRecognizer, 0xc2b5f241, 0xdaa0, 0x4507, 0x9e,0x16, 0x5a,0x1e,0xaa,0x2b,0x7a,0x5c)
  6870. #endif
  6871. #else
  6872. typedef struct ISpRecognizerVtbl {
  6873. BEGIN_INTERFACE
  6874. /*** IUnknown methods ***/
  6875. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  6876. ISpRecognizer *This,
  6877. REFIID riid,
  6878. void **ppvObject);
  6879. ULONG (STDMETHODCALLTYPE *AddRef)(
  6880. ISpRecognizer *This);
  6881. ULONG (STDMETHODCALLTYPE *Release)(
  6882. ISpRecognizer *This);
  6883. /*** ISpProperties methods ***/
  6884. HRESULT (STDMETHODCALLTYPE *SetPropertyNum)(
  6885. ISpRecognizer *This,
  6886. LPCWSTR pName,
  6887. LONG lValue);
  6888. HRESULT (STDMETHODCALLTYPE *GetPropertyNum)(
  6889. ISpRecognizer *This,
  6890. LPCWSTR pName,
  6891. LONG *plValue);
  6892. HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
  6893. ISpRecognizer *This,
  6894. LPCWSTR pName,
  6895. LPCWSTR pValue);
  6896. HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
  6897. ISpRecognizer *This,
  6898. LPCWSTR pName,
  6899. LPWSTR *ppCoMemValue);
  6900. /*** ISpRecognizer methods ***/
  6901. HRESULT (STDMETHODCALLTYPE *SetRecognizer)(
  6902. ISpRecognizer *This,
  6903. ISpObjectToken *pRecognizer);
  6904. HRESULT (STDMETHODCALLTYPE *GetRecognizer)(
  6905. ISpRecognizer *This,
  6906. ISpObjectToken **ppRecognizer);
  6907. HRESULT (STDMETHODCALLTYPE *SetInput)(
  6908. ISpRecognizer *This,
  6909. IUnknown *pUnkInput,
  6910. WINBOOL fAllowFormatChanges);
  6911. HRESULT (STDMETHODCALLTYPE *GetInputObjectToken)(
  6912. ISpRecognizer *This,
  6913. ISpObjectToken **ppToken);
  6914. HRESULT (STDMETHODCALLTYPE *GetInputStream)(
  6915. ISpRecognizer *This,
  6916. ISpStreamFormat **ppStream);
  6917. HRESULT (STDMETHODCALLTYPE *CreateRecoContext)(
  6918. ISpRecognizer *This,
  6919. ISpRecoContext **ppNewCtxt);
  6920. HRESULT (STDMETHODCALLTYPE *GetRecoProfile)(
  6921. ISpRecognizer *This,
  6922. ISpObjectToken **ppToken);
  6923. HRESULT (STDMETHODCALLTYPE *SetRecoProfile)(
  6924. ISpRecognizer *This,
  6925. ISpObjectToken *pToken);
  6926. HRESULT (STDMETHODCALLTYPE *IsSharedInstance)(
  6927. ISpRecognizer *This);
  6928. HRESULT (STDMETHODCALLTYPE *GetRecoState)(
  6929. ISpRecognizer *This,
  6930. SPRECOSTATE *pState);
  6931. HRESULT (STDMETHODCALLTYPE *SetRecoState)(
  6932. ISpRecognizer *This,
  6933. SPRECOSTATE NewState);
  6934. HRESULT (STDMETHODCALLTYPE *GetStatus)(
  6935. ISpRecognizer *This,
  6936. SPRECOGNIZERSTATUS *pStatus);
  6937. HRESULT (STDMETHODCALLTYPE *GetFormat)(
  6938. ISpRecognizer *This,
  6939. SPSTREAMFORMATTYPE WaveFormatType,
  6940. GUID *pFormatId,
  6941. WAVEFORMATEX **ppCoMemWFEX);
  6942. HRESULT (STDMETHODCALLTYPE *IsUISupported)(
  6943. ISpRecognizer *This,
  6944. LPCWSTR pszTypeOfUI,
  6945. void *pvExtraData,
  6946. ULONG cbExtraData,
  6947. WINBOOL *pfSupported);
  6948. HRESULT (STDMETHODCALLTYPE *DisplayUI)(
  6949. ISpRecognizer *This,
  6950. HWND hwndParent,
  6951. LPCWSTR pszTitle,
  6952. LPCWSTR pszTypeOfUI,
  6953. void *pvExtraData,
  6954. ULONG cbExtraData);
  6955. HRESULT (STDMETHODCALLTYPE *EmulateRecognition)(
  6956. ISpRecognizer *This,
  6957. ISpPhrase *pPhrase);
  6958. END_INTERFACE
  6959. } ISpRecognizerVtbl;
  6960. interface ISpRecognizer {
  6961. CONST_VTBL ISpRecognizerVtbl* lpVtbl;
  6962. };
  6963. #ifdef COBJMACROS
  6964. #ifndef WIDL_C_INLINE_WRAPPERS
  6965. /*** IUnknown methods ***/
  6966. #define ISpRecognizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6967. #define ISpRecognizer_AddRef(This) (This)->lpVtbl->AddRef(This)
  6968. #define ISpRecognizer_Release(This) (This)->lpVtbl->Release(This)
  6969. /*** ISpProperties methods ***/
  6970. #define ISpRecognizer_SetPropertyNum(This,pName,lValue) (This)->lpVtbl->SetPropertyNum(This,pName,lValue)
  6971. #define ISpRecognizer_GetPropertyNum(This,pName,plValue) (This)->lpVtbl->GetPropertyNum(This,pName,plValue)
  6972. #define ISpRecognizer_SetPropertyString(This,pName,pValue) (This)->lpVtbl->SetPropertyString(This,pName,pValue)
  6973. #define ISpRecognizer_GetPropertyString(This,pName,ppCoMemValue) (This)->lpVtbl->GetPropertyString(This,pName,ppCoMemValue)
  6974. /*** ISpRecognizer methods ***/
  6975. #define ISpRecognizer_SetRecognizer(This,pRecognizer) (This)->lpVtbl->SetRecognizer(This,pRecognizer)
  6976. #define ISpRecognizer_GetRecognizer(This,ppRecognizer) (This)->lpVtbl->GetRecognizer(This,ppRecognizer)
  6977. #define ISpRecognizer_SetInput(This,pUnkInput,fAllowFormatChanges) (This)->lpVtbl->SetInput(This,pUnkInput,fAllowFormatChanges)
  6978. #define ISpRecognizer_GetInputObjectToken(This,ppToken) (This)->lpVtbl->GetInputObjectToken(This,ppToken)
  6979. #define ISpRecognizer_GetInputStream(This,ppStream) (This)->lpVtbl->GetInputStream(This,ppStream)
  6980. #define ISpRecognizer_CreateRecoContext(This,ppNewCtxt) (This)->lpVtbl->CreateRecoContext(This,ppNewCtxt)
  6981. #define ISpRecognizer_GetRecoProfile(This,ppToken) (This)->lpVtbl->GetRecoProfile(This,ppToken)
  6982. #define ISpRecognizer_SetRecoProfile(This,pToken) (This)->lpVtbl->SetRecoProfile(This,pToken)
  6983. #define ISpRecognizer_IsSharedInstance(This) (This)->lpVtbl->IsSharedInstance(This)
  6984. #define ISpRecognizer_GetRecoState(This,pState) (This)->lpVtbl->GetRecoState(This,pState)
  6985. #define ISpRecognizer_SetRecoState(This,NewState) (This)->lpVtbl->SetRecoState(This,NewState)
  6986. #define ISpRecognizer_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
  6987. #define ISpRecognizer_GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX) (This)->lpVtbl->GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX)
  6988. #define ISpRecognizer_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
  6989. #define ISpRecognizer_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
  6990. #define ISpRecognizer_EmulateRecognition(This,pPhrase) (This)->lpVtbl->EmulateRecognition(This,pPhrase)
  6991. #else
  6992. /*** IUnknown methods ***/
  6993. static FORCEINLINE HRESULT ISpRecognizer_QueryInterface(ISpRecognizer* This,REFIID riid,void **ppvObject) {
  6994. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  6995. }
  6996. static FORCEINLINE ULONG ISpRecognizer_AddRef(ISpRecognizer* This) {
  6997. return This->lpVtbl->AddRef(This);
  6998. }
  6999. static FORCEINLINE ULONG ISpRecognizer_Release(ISpRecognizer* This) {
  7000. return This->lpVtbl->Release(This);
  7001. }
  7002. /*** ISpProperties methods ***/
  7003. static FORCEINLINE HRESULT ISpRecognizer_SetPropertyNum(ISpRecognizer* This,LPCWSTR pName,LONG lValue) {
  7004. return This->lpVtbl->SetPropertyNum(This,pName,lValue);
  7005. }
  7006. static FORCEINLINE HRESULT ISpRecognizer_GetPropertyNum(ISpRecognizer* This,LPCWSTR pName,LONG *plValue) {
  7007. return This->lpVtbl->GetPropertyNum(This,pName,plValue);
  7008. }
  7009. static FORCEINLINE HRESULT ISpRecognizer_SetPropertyString(ISpRecognizer* This,LPCWSTR pName,LPCWSTR pValue) {
  7010. return This->lpVtbl->SetPropertyString(This,pName,pValue);
  7011. }
  7012. static FORCEINLINE HRESULT ISpRecognizer_GetPropertyString(ISpRecognizer* This,LPCWSTR pName,LPWSTR *ppCoMemValue) {
  7013. return This->lpVtbl->GetPropertyString(This,pName,ppCoMemValue);
  7014. }
  7015. /*** ISpRecognizer methods ***/
  7016. static FORCEINLINE HRESULT ISpRecognizer_SetRecognizer(ISpRecognizer* This,ISpObjectToken *pRecognizer) {
  7017. return This->lpVtbl->SetRecognizer(This,pRecognizer);
  7018. }
  7019. static FORCEINLINE HRESULT ISpRecognizer_GetRecognizer(ISpRecognizer* This,ISpObjectToken **ppRecognizer) {
  7020. return This->lpVtbl->GetRecognizer(This,ppRecognizer);
  7021. }
  7022. static FORCEINLINE HRESULT ISpRecognizer_SetInput(ISpRecognizer* This,IUnknown *pUnkInput,WINBOOL fAllowFormatChanges) {
  7023. return This->lpVtbl->SetInput(This,pUnkInput,fAllowFormatChanges);
  7024. }
  7025. static FORCEINLINE HRESULT ISpRecognizer_GetInputObjectToken(ISpRecognizer* This,ISpObjectToken **ppToken) {
  7026. return This->lpVtbl->GetInputObjectToken(This,ppToken);
  7027. }
  7028. static FORCEINLINE HRESULT ISpRecognizer_GetInputStream(ISpRecognizer* This,ISpStreamFormat **ppStream) {
  7029. return This->lpVtbl->GetInputStream(This,ppStream);
  7030. }
  7031. static FORCEINLINE HRESULT ISpRecognizer_CreateRecoContext(ISpRecognizer* This,ISpRecoContext **ppNewCtxt) {
  7032. return This->lpVtbl->CreateRecoContext(This,ppNewCtxt);
  7033. }
  7034. static FORCEINLINE HRESULT ISpRecognizer_GetRecoProfile(ISpRecognizer* This,ISpObjectToken **ppToken) {
  7035. return This->lpVtbl->GetRecoProfile(This,ppToken);
  7036. }
  7037. static FORCEINLINE HRESULT ISpRecognizer_SetRecoProfile(ISpRecognizer* This,ISpObjectToken *pToken) {
  7038. return This->lpVtbl->SetRecoProfile(This,pToken);
  7039. }
  7040. static FORCEINLINE HRESULT ISpRecognizer_IsSharedInstance(ISpRecognizer* This) {
  7041. return This->lpVtbl->IsSharedInstance(This);
  7042. }
  7043. static FORCEINLINE HRESULT ISpRecognizer_GetRecoState(ISpRecognizer* This,SPRECOSTATE *pState) {
  7044. return This->lpVtbl->GetRecoState(This,pState);
  7045. }
  7046. static FORCEINLINE HRESULT ISpRecognizer_SetRecoState(ISpRecognizer* This,SPRECOSTATE NewState) {
  7047. return This->lpVtbl->SetRecoState(This,NewState);
  7048. }
  7049. static FORCEINLINE HRESULT ISpRecognizer_GetStatus(ISpRecognizer* This,SPRECOGNIZERSTATUS *pStatus) {
  7050. return This->lpVtbl->GetStatus(This,pStatus);
  7051. }
  7052. static FORCEINLINE HRESULT ISpRecognizer_GetFormat(ISpRecognizer* This,SPSTREAMFORMATTYPE WaveFormatType,GUID *pFormatId,WAVEFORMATEX **ppCoMemWFEX) {
  7053. return This->lpVtbl->GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX);
  7054. }
  7055. static FORCEINLINE HRESULT ISpRecognizer_IsUISupported(ISpRecognizer* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,WINBOOL *pfSupported) {
  7056. return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported);
  7057. }
  7058. static FORCEINLINE HRESULT ISpRecognizer_DisplayUI(ISpRecognizer* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData) {
  7059. return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData);
  7060. }
  7061. static FORCEINLINE HRESULT ISpRecognizer_EmulateRecognition(ISpRecognizer* This,ISpPhrase *pPhrase) {
  7062. return This->lpVtbl->EmulateRecognition(This,pPhrase);
  7063. }
  7064. #endif
  7065. #endif
  7066. #endif
  7067. #endif /* __ISpRecognizer_INTERFACE_DEFINED__ */
  7068. #ifndef __SpeechLib_LIBRARY_DEFINED__
  7069. #define __SpeechLib_LIBRARY_DEFINED__
  7070. DEFINE_GUID(LIBID_SpeechLib, 0xc866ca3a, 0x32f7, 0x11d2, 0x96,0x02, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  7071. #ifndef __ISpeechDataKey_FWD_DEFINED__
  7072. #define __ISpeechDataKey_FWD_DEFINED__
  7073. typedef interface ISpeechDataKey ISpeechDataKey;
  7074. #ifdef __cplusplus
  7075. interface ISpeechDataKey;
  7076. #endif /* __cplusplus */
  7077. #endif
  7078. #ifndef __ISpeechObjectToken_FWD_DEFINED__
  7079. #define __ISpeechObjectToken_FWD_DEFINED__
  7080. typedef interface ISpeechObjectToken ISpeechObjectToken;
  7081. #ifdef __cplusplus
  7082. interface ISpeechObjectToken;
  7083. #endif /* __cplusplus */
  7084. #endif
  7085. #ifndef __ISpeechObjectTokens_FWD_DEFINED__
  7086. #define __ISpeechObjectTokens_FWD_DEFINED__
  7087. typedef interface ISpeechObjectTokens ISpeechObjectTokens;
  7088. #ifdef __cplusplus
  7089. interface ISpeechObjectTokens;
  7090. #endif /* __cplusplus */
  7091. #endif
  7092. #ifndef __ISpeechObjectTokenCategory_FWD_DEFINED__
  7093. #define __ISpeechObjectTokenCategory_FWD_DEFINED__
  7094. typedef interface ISpeechObjectTokenCategory ISpeechObjectTokenCategory;
  7095. #ifdef __cplusplus
  7096. interface ISpeechObjectTokenCategory;
  7097. #endif /* __cplusplus */
  7098. #endif
  7099. #ifndef __ISpeechAudioBufferInfo_FWD_DEFINED__
  7100. #define __ISpeechAudioBufferInfo_FWD_DEFINED__
  7101. typedef interface ISpeechAudioBufferInfo ISpeechAudioBufferInfo;
  7102. #ifdef __cplusplus
  7103. interface ISpeechAudioBufferInfo;
  7104. #endif /* __cplusplus */
  7105. #endif
  7106. #ifndef __ISpeechAudioStatus_FWD_DEFINED__
  7107. #define __ISpeechAudioStatus_FWD_DEFINED__
  7108. typedef interface ISpeechAudioStatus ISpeechAudioStatus;
  7109. #ifdef __cplusplus
  7110. interface ISpeechAudioStatus;
  7111. #endif /* __cplusplus */
  7112. #endif
  7113. #ifndef __ISpeechAudioFormat_FWD_DEFINED__
  7114. #define __ISpeechAudioFormat_FWD_DEFINED__
  7115. typedef interface ISpeechAudioFormat ISpeechAudioFormat;
  7116. #ifdef __cplusplus
  7117. interface ISpeechAudioFormat;
  7118. #endif /* __cplusplus */
  7119. #endif
  7120. #ifndef __ISpeechWaveFormatEx_FWD_DEFINED__
  7121. #define __ISpeechWaveFormatEx_FWD_DEFINED__
  7122. typedef interface ISpeechWaveFormatEx ISpeechWaveFormatEx;
  7123. #ifdef __cplusplus
  7124. interface ISpeechWaveFormatEx;
  7125. #endif /* __cplusplus */
  7126. #endif
  7127. #ifndef __ISpeechBaseStream_FWD_DEFINED__
  7128. #define __ISpeechBaseStream_FWD_DEFINED__
  7129. typedef interface ISpeechBaseStream ISpeechBaseStream;
  7130. #ifdef __cplusplus
  7131. interface ISpeechBaseStream;
  7132. #endif /* __cplusplus */
  7133. #endif
  7134. #ifndef __ISpeechFileStream_FWD_DEFINED__
  7135. #define __ISpeechFileStream_FWD_DEFINED__
  7136. typedef interface ISpeechFileStream ISpeechFileStream;
  7137. #ifdef __cplusplus
  7138. interface ISpeechFileStream;
  7139. #endif /* __cplusplus */
  7140. #endif
  7141. #ifndef __ISpeechMemoryStream_FWD_DEFINED__
  7142. #define __ISpeechMemoryStream_FWD_DEFINED__
  7143. typedef interface ISpeechMemoryStream ISpeechMemoryStream;
  7144. #ifdef __cplusplus
  7145. interface ISpeechMemoryStream;
  7146. #endif /* __cplusplus */
  7147. #endif
  7148. #ifndef __ISpeechCustomStream_FWD_DEFINED__
  7149. #define __ISpeechCustomStream_FWD_DEFINED__
  7150. typedef interface ISpeechCustomStream ISpeechCustomStream;
  7151. #ifdef __cplusplus
  7152. interface ISpeechCustomStream;
  7153. #endif /* __cplusplus */
  7154. #endif
  7155. #ifndef __ISpeechAudio_FWD_DEFINED__
  7156. #define __ISpeechAudio_FWD_DEFINED__
  7157. typedef interface ISpeechAudio ISpeechAudio;
  7158. #ifdef __cplusplus
  7159. interface ISpeechAudio;
  7160. #endif /* __cplusplus */
  7161. #endif
  7162. #ifndef __ISpeechMMSysAudio_FWD_DEFINED__
  7163. #define __ISpeechMMSysAudio_FWD_DEFINED__
  7164. typedef interface ISpeechMMSysAudio ISpeechMMSysAudio;
  7165. #ifdef __cplusplus
  7166. interface ISpeechMMSysAudio;
  7167. #endif /* __cplusplus */
  7168. #endif
  7169. #ifndef __ISpeechVoice_FWD_DEFINED__
  7170. #define __ISpeechVoice_FWD_DEFINED__
  7171. typedef interface ISpeechVoice ISpeechVoice;
  7172. #ifdef __cplusplus
  7173. interface ISpeechVoice;
  7174. #endif /* __cplusplus */
  7175. #endif
  7176. #ifndef __ISpeechVoiceStatus_FWD_DEFINED__
  7177. #define __ISpeechVoiceStatus_FWD_DEFINED__
  7178. typedef interface ISpeechVoiceStatus ISpeechVoiceStatus;
  7179. #ifdef __cplusplus
  7180. interface ISpeechVoiceStatus;
  7181. #endif /* __cplusplus */
  7182. #endif
  7183. #ifndef ___ISpeechVoiceEvents_FWD_DEFINED__
  7184. #define ___ISpeechVoiceEvents_FWD_DEFINED__
  7185. typedef interface _ISpeechVoiceEvents _ISpeechVoiceEvents;
  7186. #ifdef __cplusplus
  7187. interface _ISpeechVoiceEvents;
  7188. #endif /* __cplusplus */
  7189. #endif
  7190. #ifndef __ISpeechRecognizer_FWD_DEFINED__
  7191. #define __ISpeechRecognizer_FWD_DEFINED__
  7192. typedef interface ISpeechRecognizer ISpeechRecognizer;
  7193. #ifdef __cplusplus
  7194. interface ISpeechRecognizer;
  7195. #endif /* __cplusplus */
  7196. #endif
  7197. #ifndef __ISpeechRecognizerStatus_FWD_DEFINED__
  7198. #define __ISpeechRecognizerStatus_FWD_DEFINED__
  7199. typedef interface ISpeechRecognizerStatus ISpeechRecognizerStatus;
  7200. #ifdef __cplusplus
  7201. interface ISpeechRecognizerStatus;
  7202. #endif /* __cplusplus */
  7203. #endif
  7204. #ifndef __ISpeechRecoContext_FWD_DEFINED__
  7205. #define __ISpeechRecoContext_FWD_DEFINED__
  7206. typedef interface ISpeechRecoContext ISpeechRecoContext;
  7207. #ifdef __cplusplus
  7208. interface ISpeechRecoContext;
  7209. #endif /* __cplusplus */
  7210. #endif
  7211. #ifndef __ISpeechRecoGrammar_FWD_DEFINED__
  7212. #define __ISpeechRecoGrammar_FWD_DEFINED__
  7213. typedef interface ISpeechRecoGrammar ISpeechRecoGrammar;
  7214. #ifdef __cplusplus
  7215. interface ISpeechRecoGrammar;
  7216. #endif /* __cplusplus */
  7217. #endif
  7218. #ifndef ___ISpeechRecoContextEvents_FWD_DEFINED__
  7219. #define ___ISpeechRecoContextEvents_FWD_DEFINED__
  7220. typedef interface _ISpeechRecoContextEvents _ISpeechRecoContextEvents;
  7221. #ifdef __cplusplus
  7222. interface _ISpeechRecoContextEvents;
  7223. #endif /* __cplusplus */
  7224. #endif
  7225. #ifndef __ISpeechGrammarRule_FWD_DEFINED__
  7226. #define __ISpeechGrammarRule_FWD_DEFINED__
  7227. typedef interface ISpeechGrammarRule ISpeechGrammarRule;
  7228. #ifdef __cplusplus
  7229. interface ISpeechGrammarRule;
  7230. #endif /* __cplusplus */
  7231. #endif
  7232. #ifndef __ISpeechGrammarRules_FWD_DEFINED__
  7233. #define __ISpeechGrammarRules_FWD_DEFINED__
  7234. typedef interface ISpeechGrammarRules ISpeechGrammarRules;
  7235. #ifdef __cplusplus
  7236. interface ISpeechGrammarRules;
  7237. #endif /* __cplusplus */
  7238. #endif
  7239. #ifndef __ISpeechGrammarRuleState_FWD_DEFINED__
  7240. #define __ISpeechGrammarRuleState_FWD_DEFINED__
  7241. typedef interface ISpeechGrammarRuleState ISpeechGrammarRuleState;
  7242. #ifdef __cplusplus
  7243. interface ISpeechGrammarRuleState;
  7244. #endif /* __cplusplus */
  7245. #endif
  7246. #ifndef __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
  7247. #define __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
  7248. typedef interface ISpeechGrammarRuleStateTransition ISpeechGrammarRuleStateTransition;
  7249. #ifdef __cplusplus
  7250. interface ISpeechGrammarRuleStateTransition;
  7251. #endif /* __cplusplus */
  7252. #endif
  7253. #ifndef __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
  7254. #define __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
  7255. typedef interface ISpeechGrammarRuleStateTransitions ISpeechGrammarRuleStateTransitions;
  7256. #ifdef __cplusplus
  7257. interface ISpeechGrammarRuleStateTransitions;
  7258. #endif /* __cplusplus */
  7259. #endif
  7260. #ifndef __ISpeechTextSelectionInformation_FWD_DEFINED__
  7261. #define __ISpeechTextSelectionInformation_FWD_DEFINED__
  7262. typedef interface ISpeechTextSelectionInformation ISpeechTextSelectionInformation;
  7263. #ifdef __cplusplus
  7264. interface ISpeechTextSelectionInformation;
  7265. #endif /* __cplusplus */
  7266. #endif
  7267. #ifndef __ISpeechRecoResult_FWD_DEFINED__
  7268. #define __ISpeechRecoResult_FWD_DEFINED__
  7269. typedef interface ISpeechRecoResult ISpeechRecoResult;
  7270. #ifdef __cplusplus
  7271. interface ISpeechRecoResult;
  7272. #endif /* __cplusplus */
  7273. #endif
  7274. #ifndef __ISpeechRecoResultTimes_FWD_DEFINED__
  7275. #define __ISpeechRecoResultTimes_FWD_DEFINED__
  7276. typedef interface ISpeechRecoResultTimes ISpeechRecoResultTimes;
  7277. #ifdef __cplusplus
  7278. interface ISpeechRecoResultTimes;
  7279. #endif /* __cplusplus */
  7280. #endif
  7281. #ifndef __ISpeechPhraseAlternate_FWD_DEFINED__
  7282. #define __ISpeechPhraseAlternate_FWD_DEFINED__
  7283. typedef interface ISpeechPhraseAlternate ISpeechPhraseAlternate;
  7284. #ifdef __cplusplus
  7285. interface ISpeechPhraseAlternate;
  7286. #endif /* __cplusplus */
  7287. #endif
  7288. #ifndef __ISpeechPhraseAlternates_FWD_DEFINED__
  7289. #define __ISpeechPhraseAlternates_FWD_DEFINED__
  7290. typedef interface ISpeechPhraseAlternates ISpeechPhraseAlternates;
  7291. #ifdef __cplusplus
  7292. interface ISpeechPhraseAlternates;
  7293. #endif /* __cplusplus */
  7294. #endif
  7295. #ifndef __ISpeechPhraseInfo_FWD_DEFINED__
  7296. #define __ISpeechPhraseInfo_FWD_DEFINED__
  7297. typedef interface ISpeechPhraseInfo ISpeechPhraseInfo;
  7298. #ifdef __cplusplus
  7299. interface ISpeechPhraseInfo;
  7300. #endif /* __cplusplus */
  7301. #endif
  7302. #ifndef __ISpeechPhraseElement_FWD_DEFINED__
  7303. #define __ISpeechPhraseElement_FWD_DEFINED__
  7304. typedef interface ISpeechPhraseElement ISpeechPhraseElement;
  7305. #ifdef __cplusplus
  7306. interface ISpeechPhraseElement;
  7307. #endif /* __cplusplus */
  7308. #endif
  7309. #ifndef __ISpeechPhraseElements_FWD_DEFINED__
  7310. #define __ISpeechPhraseElements_FWD_DEFINED__
  7311. typedef interface ISpeechPhraseElements ISpeechPhraseElements;
  7312. #ifdef __cplusplus
  7313. interface ISpeechPhraseElements;
  7314. #endif /* __cplusplus */
  7315. #endif
  7316. #ifndef __ISpeechPhraseReplacement_FWD_DEFINED__
  7317. #define __ISpeechPhraseReplacement_FWD_DEFINED__
  7318. typedef interface ISpeechPhraseReplacement ISpeechPhraseReplacement;
  7319. #ifdef __cplusplus
  7320. interface ISpeechPhraseReplacement;
  7321. #endif /* __cplusplus */
  7322. #endif
  7323. #ifndef __ISpeechPhraseReplacements_FWD_DEFINED__
  7324. #define __ISpeechPhraseReplacements_FWD_DEFINED__
  7325. typedef interface ISpeechPhraseReplacements ISpeechPhraseReplacements;
  7326. #ifdef __cplusplus
  7327. interface ISpeechPhraseReplacements;
  7328. #endif /* __cplusplus */
  7329. #endif
  7330. #ifndef __ISpeechPhraseProperty_FWD_DEFINED__
  7331. #define __ISpeechPhraseProperty_FWD_DEFINED__
  7332. typedef interface ISpeechPhraseProperty ISpeechPhraseProperty;
  7333. #ifdef __cplusplus
  7334. interface ISpeechPhraseProperty;
  7335. #endif /* __cplusplus */
  7336. #endif
  7337. #ifndef __ISpeechPhraseProperties_FWD_DEFINED__
  7338. #define __ISpeechPhraseProperties_FWD_DEFINED__
  7339. typedef interface ISpeechPhraseProperties ISpeechPhraseProperties;
  7340. #ifdef __cplusplus
  7341. interface ISpeechPhraseProperties;
  7342. #endif /* __cplusplus */
  7343. #endif
  7344. #ifndef __ISpeechPhraseRule_FWD_DEFINED__
  7345. #define __ISpeechPhraseRule_FWD_DEFINED__
  7346. typedef interface ISpeechPhraseRule ISpeechPhraseRule;
  7347. #ifdef __cplusplus
  7348. interface ISpeechPhraseRule;
  7349. #endif /* __cplusplus */
  7350. #endif
  7351. #ifndef __ISpeechPhraseRules_FWD_DEFINED__
  7352. #define __ISpeechPhraseRules_FWD_DEFINED__
  7353. typedef interface ISpeechPhraseRules ISpeechPhraseRules;
  7354. #ifdef __cplusplus
  7355. interface ISpeechPhraseRules;
  7356. #endif /* __cplusplus */
  7357. #endif
  7358. #ifndef __ISpeechLexicon_FWD_DEFINED__
  7359. #define __ISpeechLexicon_FWD_DEFINED__
  7360. typedef interface ISpeechLexicon ISpeechLexicon;
  7361. #ifdef __cplusplus
  7362. interface ISpeechLexicon;
  7363. #endif /* __cplusplus */
  7364. #endif
  7365. #ifndef __ISpeechLexiconWords_FWD_DEFINED__
  7366. #define __ISpeechLexiconWords_FWD_DEFINED__
  7367. typedef interface ISpeechLexiconWords ISpeechLexiconWords;
  7368. #ifdef __cplusplus
  7369. interface ISpeechLexiconWords;
  7370. #endif /* __cplusplus */
  7371. #endif
  7372. #ifndef __ISpeechLexiconWord_FWD_DEFINED__
  7373. #define __ISpeechLexiconWord_FWD_DEFINED__
  7374. typedef interface ISpeechLexiconWord ISpeechLexiconWord;
  7375. #ifdef __cplusplus
  7376. interface ISpeechLexiconWord;
  7377. #endif /* __cplusplus */
  7378. #endif
  7379. #ifndef __ISpeechLexiconPronunciations_FWD_DEFINED__
  7380. #define __ISpeechLexiconPronunciations_FWD_DEFINED__
  7381. typedef interface ISpeechLexiconPronunciations ISpeechLexiconPronunciations;
  7382. #ifdef __cplusplus
  7383. interface ISpeechLexiconPronunciations;
  7384. #endif /* __cplusplus */
  7385. #endif
  7386. #ifndef __ISpeechLexiconPronunciation_FWD_DEFINED__
  7387. #define __ISpeechLexiconPronunciation_FWD_DEFINED__
  7388. typedef interface ISpeechLexiconPronunciation ISpeechLexiconPronunciation;
  7389. #ifdef __cplusplus
  7390. interface ISpeechLexiconPronunciation;
  7391. #endif /* __cplusplus */
  7392. #endif
  7393. typedef LONG SpeechLanguageId;
  7394. #define __SpeechStringConstants_MODULE_DEFINED__
  7395. typedef enum DISPID_SpeechDataKey {
  7396. DISPID_SDKSetBinaryValue = 1,
  7397. DISPID_SDKGetBinaryValue = 2,
  7398. DISPID_SDKSetStringValue = 3,
  7399. DISPID_SDKGetStringValue = 4,
  7400. DISPID_SDKSetLongValue = 5,
  7401. DISPID_SDKGetlongValue = 6,
  7402. DISPID_SDKOpenKey = 7,
  7403. DISPID_SDKCreateKey = 8,
  7404. DISPID_SDKDeleteKey = 9,
  7405. DISPID_SDKDeleteValue = 10,
  7406. DISPID_SDKEnumKeys = 11,
  7407. DISPID_SDKEnumValues = 12
  7408. } DISPID_SpeechDataKey;
  7409. typedef enum DISPID_SpeechObjectToken {
  7410. DISPID_SOTId = 1,
  7411. DISPID_SOTDataKey = 2,
  7412. DISPID_SOTCategory = 3,
  7413. DISPID_SOTGetDescription = 4,
  7414. DISPID_SOTSetId = 5,
  7415. DISPID_SOTGetAttribute = 6,
  7416. DISPID_SOTCreateInstance = 7,
  7417. DISPID_SOTRemove = 8,
  7418. DISPID_SOTGetStorageFileName = 9,
  7419. DISPID_SOTRemoveStorageFileName = 10,
  7420. DISPID_SOTIsUISupported = 11,
  7421. DISPID_SOTDisplayUI = 12,
  7422. DISPID_SOTMatchesAttributes = 13
  7423. } DISPID_SpeechObjectToken;
  7424. typedef enum SpeechDataKeyLocation {
  7425. SDKLDefaultLocation = SPDKL_DefaultLocation,
  7426. SDKLCurrentUser = SPDKL_CurrentUser,
  7427. SDKLLocalMachine = SPDKL_LocalMachine,
  7428. SDKLCurrentConfig = SPDKL_CurrentConfig
  7429. } SpeechDataKeyLocation;
  7430. typedef enum SpeechTokenContext {
  7431. STCInprocServer = CLSCTX_INPROC_SERVER,
  7432. STCInprocHandler = CLSCTX_INPROC_HANDLER,
  7433. STCLocalServer = CLSCTX_LOCAL_SERVER,
  7434. STCRemoteServer = CLSCTX_REMOTE_SERVER,
  7435. STCAll = ((CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER) | CLSCTX_LOCAL_SERVER) | CLSCTX_REMOTE_SERVER
  7436. } SpeechTokenContext;
  7437. typedef enum SpeechTokenShellFolder {
  7438. STSF_AppData = 0x1a,
  7439. STSF_LocalAppData = 0x1c,
  7440. STSF_CommonAppData = 0x23,
  7441. STSF_FlagCreate = 0x8000
  7442. } SpeechTokenShellFolder;
  7443. typedef enum DISPID_SpeechObjectTokens {
  7444. DISPID_SOTsCount = 1,
  7445. DISPID_SOTsItem = DISPID_VALUE,
  7446. DISPID_SOTs_NewEnum = DISPID_NEWENUM
  7447. } DISPID_SpeechObjectTokens;
  7448. typedef enum DISPID_SpeechObjectTokenCategory {
  7449. DISPID_SOTCId = 1,
  7450. DISPID_SOTCDefault = 2,
  7451. DISPID_SOTCSetId = 3,
  7452. DISPID_SOTCGetDataKey = 4,
  7453. DISPID_SOTCEnumerateTokens = 5
  7454. } DISPID_SpeechObjectTokenCategory;
  7455. /*****************************************************************************
  7456. * ISpeechDataKey interface
  7457. */
  7458. #ifndef __ISpeechDataKey_INTERFACE_DEFINED__
  7459. #define __ISpeechDataKey_INTERFACE_DEFINED__
  7460. DEFINE_GUID(IID_ISpeechDataKey, 0xce17c09b, 0x4efa, 0x44d5, 0xa4,0xc9, 0x59,0xd9,0x58,0x5a,0xb0,0xcd);
  7461. #if defined(__cplusplus) && !defined(CINTERFACE)
  7462. MIDL_INTERFACE("ce17c09b-4efa-44d5-a4c9-59d9585ab0cd")
  7463. ISpeechDataKey : public IDispatch
  7464. {
  7465. virtual HRESULT STDMETHODCALLTYPE SetBinaryValue(
  7466. const BSTR ValueName,
  7467. VARIANT Value) = 0;
  7468. virtual HRESULT STDMETHODCALLTYPE GetBinaryValue(
  7469. const BSTR ValueName,
  7470. VARIANT *Value) = 0;
  7471. virtual HRESULT STDMETHODCALLTYPE SetStringValue(
  7472. const BSTR ValueName,
  7473. const BSTR Value) = 0;
  7474. virtual HRESULT STDMETHODCALLTYPE GetStringValue(
  7475. const BSTR ValueName,
  7476. BSTR *Value) = 0;
  7477. virtual HRESULT STDMETHODCALLTYPE SetLongValue(
  7478. const BSTR ValueName,
  7479. LONG Value) = 0;
  7480. virtual HRESULT STDMETHODCALLTYPE GetLongValue(
  7481. const BSTR ValueName,
  7482. LONG *Value) = 0;
  7483. virtual HRESULT STDMETHODCALLTYPE OpenKey(
  7484. const BSTR SubKeyName,
  7485. ISpeechDataKey **SubKey) = 0;
  7486. virtual HRESULT STDMETHODCALLTYPE CreateKey(
  7487. const BSTR SubKeyName,
  7488. ISpeechDataKey **SubKey) = 0;
  7489. virtual HRESULT STDMETHODCALLTYPE DeleteKey(
  7490. const BSTR SubKeyName) = 0;
  7491. virtual HRESULT STDMETHODCALLTYPE DeleteValue(
  7492. const BSTR ValueName) = 0;
  7493. virtual HRESULT STDMETHODCALLTYPE EnumKeys(
  7494. LONG Index,
  7495. BSTR *SubKeyName) = 0;
  7496. virtual HRESULT STDMETHODCALLTYPE EnumValues(
  7497. LONG Index,
  7498. BSTR *ValueName) = 0;
  7499. };
  7500. #ifdef __CRT_UUID_DECL
  7501. __CRT_UUID_DECL(ISpeechDataKey, 0xce17c09b, 0x4efa, 0x44d5, 0xa4,0xc9, 0x59,0xd9,0x58,0x5a,0xb0,0xcd)
  7502. #endif
  7503. #else
  7504. typedef struct ISpeechDataKeyVtbl {
  7505. BEGIN_INTERFACE
  7506. /*** IUnknown methods ***/
  7507. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7508. ISpeechDataKey *This,
  7509. REFIID riid,
  7510. void **ppvObject);
  7511. ULONG (STDMETHODCALLTYPE *AddRef)(
  7512. ISpeechDataKey *This);
  7513. ULONG (STDMETHODCALLTYPE *Release)(
  7514. ISpeechDataKey *This);
  7515. /*** IDispatch methods ***/
  7516. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  7517. ISpeechDataKey *This,
  7518. UINT *pctinfo);
  7519. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  7520. ISpeechDataKey *This,
  7521. UINT iTInfo,
  7522. LCID lcid,
  7523. ITypeInfo **ppTInfo);
  7524. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  7525. ISpeechDataKey *This,
  7526. REFIID riid,
  7527. LPOLESTR *rgszNames,
  7528. UINT cNames,
  7529. LCID lcid,
  7530. DISPID *rgDispId);
  7531. HRESULT (STDMETHODCALLTYPE *Invoke)(
  7532. ISpeechDataKey *This,
  7533. DISPID dispIdMember,
  7534. REFIID riid,
  7535. LCID lcid,
  7536. WORD wFlags,
  7537. DISPPARAMS *pDispParams,
  7538. VARIANT *pVarResult,
  7539. EXCEPINFO *pExcepInfo,
  7540. UINT *puArgErr);
  7541. /*** ISpeechDataKey methods ***/
  7542. HRESULT (STDMETHODCALLTYPE *SetBinaryValue)(
  7543. ISpeechDataKey *This,
  7544. const BSTR ValueName,
  7545. VARIANT Value);
  7546. HRESULT (STDMETHODCALLTYPE *GetBinaryValue)(
  7547. ISpeechDataKey *This,
  7548. const BSTR ValueName,
  7549. VARIANT *Value);
  7550. HRESULT (STDMETHODCALLTYPE *SetStringValue)(
  7551. ISpeechDataKey *This,
  7552. const BSTR ValueName,
  7553. const BSTR Value);
  7554. HRESULT (STDMETHODCALLTYPE *GetStringValue)(
  7555. ISpeechDataKey *This,
  7556. const BSTR ValueName,
  7557. BSTR *Value);
  7558. HRESULT (STDMETHODCALLTYPE *SetLongValue)(
  7559. ISpeechDataKey *This,
  7560. const BSTR ValueName,
  7561. LONG Value);
  7562. HRESULT (STDMETHODCALLTYPE *GetLongValue)(
  7563. ISpeechDataKey *This,
  7564. const BSTR ValueName,
  7565. LONG *Value);
  7566. HRESULT (STDMETHODCALLTYPE *OpenKey)(
  7567. ISpeechDataKey *This,
  7568. const BSTR SubKeyName,
  7569. ISpeechDataKey **SubKey);
  7570. HRESULT (STDMETHODCALLTYPE *CreateKey)(
  7571. ISpeechDataKey *This,
  7572. const BSTR SubKeyName,
  7573. ISpeechDataKey **SubKey);
  7574. HRESULT (STDMETHODCALLTYPE *DeleteKey)(
  7575. ISpeechDataKey *This,
  7576. const BSTR SubKeyName);
  7577. HRESULT (STDMETHODCALLTYPE *DeleteValue)(
  7578. ISpeechDataKey *This,
  7579. const BSTR ValueName);
  7580. HRESULT (STDMETHODCALLTYPE *EnumKeys)(
  7581. ISpeechDataKey *This,
  7582. LONG Index,
  7583. BSTR *SubKeyName);
  7584. HRESULT (STDMETHODCALLTYPE *EnumValues)(
  7585. ISpeechDataKey *This,
  7586. LONG Index,
  7587. BSTR *ValueName);
  7588. END_INTERFACE
  7589. } ISpeechDataKeyVtbl;
  7590. interface ISpeechDataKey {
  7591. CONST_VTBL ISpeechDataKeyVtbl* lpVtbl;
  7592. };
  7593. #ifdef COBJMACROS
  7594. #ifndef WIDL_C_INLINE_WRAPPERS
  7595. /*** IUnknown methods ***/
  7596. #define ISpeechDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7597. #define ISpeechDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
  7598. #define ISpeechDataKey_Release(This) (This)->lpVtbl->Release(This)
  7599. /*** IDispatch methods ***/
  7600. #define ISpeechDataKey_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  7601. #define ISpeechDataKey_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  7602. #define ISpeechDataKey_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  7603. #define ISpeechDataKey_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  7604. /*** ISpeechDataKey methods ***/
  7605. #define ISpeechDataKey_SetBinaryValue(This,ValueName,Value) (This)->lpVtbl->SetBinaryValue(This,ValueName,Value)
  7606. #define ISpeechDataKey_GetBinaryValue(This,ValueName,Value) (This)->lpVtbl->GetBinaryValue(This,ValueName,Value)
  7607. #define ISpeechDataKey_SetStringValue(This,ValueName,Value) (This)->lpVtbl->SetStringValue(This,ValueName,Value)
  7608. #define ISpeechDataKey_GetStringValue(This,ValueName,Value) (This)->lpVtbl->GetStringValue(This,ValueName,Value)
  7609. #define ISpeechDataKey_SetLongValue(This,ValueName,Value) (This)->lpVtbl->SetLongValue(This,ValueName,Value)
  7610. #define ISpeechDataKey_GetLongValue(This,ValueName,Value) (This)->lpVtbl->GetLongValue(This,ValueName,Value)
  7611. #define ISpeechDataKey_OpenKey(This,SubKeyName,SubKey) (This)->lpVtbl->OpenKey(This,SubKeyName,SubKey)
  7612. #define ISpeechDataKey_CreateKey(This,SubKeyName,SubKey) (This)->lpVtbl->CreateKey(This,SubKeyName,SubKey)
  7613. #define ISpeechDataKey_DeleteKey(This,SubKeyName) (This)->lpVtbl->DeleteKey(This,SubKeyName)
  7614. #define ISpeechDataKey_DeleteValue(This,ValueName) (This)->lpVtbl->DeleteValue(This,ValueName)
  7615. #define ISpeechDataKey_EnumKeys(This,Index,SubKeyName) (This)->lpVtbl->EnumKeys(This,Index,SubKeyName)
  7616. #define ISpeechDataKey_EnumValues(This,Index,ValueName) (This)->lpVtbl->EnumValues(This,Index,ValueName)
  7617. #else
  7618. /*** IUnknown methods ***/
  7619. static FORCEINLINE HRESULT ISpeechDataKey_QueryInterface(ISpeechDataKey* This,REFIID riid,void **ppvObject) {
  7620. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7621. }
  7622. static FORCEINLINE ULONG ISpeechDataKey_AddRef(ISpeechDataKey* This) {
  7623. return This->lpVtbl->AddRef(This);
  7624. }
  7625. static FORCEINLINE ULONG ISpeechDataKey_Release(ISpeechDataKey* This) {
  7626. return This->lpVtbl->Release(This);
  7627. }
  7628. /*** IDispatch methods ***/
  7629. static FORCEINLINE HRESULT ISpeechDataKey_GetTypeInfoCount(ISpeechDataKey* This,UINT *pctinfo) {
  7630. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  7631. }
  7632. static FORCEINLINE HRESULT ISpeechDataKey_GetTypeInfo(ISpeechDataKey* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  7633. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  7634. }
  7635. static FORCEINLINE HRESULT ISpeechDataKey_GetIDsOfNames(ISpeechDataKey* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  7636. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  7637. }
  7638. static FORCEINLINE HRESULT ISpeechDataKey_Invoke(ISpeechDataKey* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  7639. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  7640. }
  7641. /*** ISpeechDataKey methods ***/
  7642. static FORCEINLINE HRESULT ISpeechDataKey_SetBinaryValue(ISpeechDataKey* This,const BSTR ValueName,VARIANT Value) {
  7643. return This->lpVtbl->SetBinaryValue(This,ValueName,Value);
  7644. }
  7645. static FORCEINLINE HRESULT ISpeechDataKey_GetBinaryValue(ISpeechDataKey* This,const BSTR ValueName,VARIANT *Value) {
  7646. return This->lpVtbl->GetBinaryValue(This,ValueName,Value);
  7647. }
  7648. static FORCEINLINE HRESULT ISpeechDataKey_SetStringValue(ISpeechDataKey* This,const BSTR ValueName,const BSTR Value) {
  7649. return This->lpVtbl->SetStringValue(This,ValueName,Value);
  7650. }
  7651. static FORCEINLINE HRESULT ISpeechDataKey_GetStringValue(ISpeechDataKey* This,const BSTR ValueName,BSTR *Value) {
  7652. return This->lpVtbl->GetStringValue(This,ValueName,Value);
  7653. }
  7654. static FORCEINLINE HRESULT ISpeechDataKey_SetLongValue(ISpeechDataKey* This,const BSTR ValueName,LONG Value) {
  7655. return This->lpVtbl->SetLongValue(This,ValueName,Value);
  7656. }
  7657. static FORCEINLINE HRESULT ISpeechDataKey_GetLongValue(ISpeechDataKey* This,const BSTR ValueName,LONG *Value) {
  7658. return This->lpVtbl->GetLongValue(This,ValueName,Value);
  7659. }
  7660. static FORCEINLINE HRESULT ISpeechDataKey_OpenKey(ISpeechDataKey* This,const BSTR SubKeyName,ISpeechDataKey **SubKey) {
  7661. return This->lpVtbl->OpenKey(This,SubKeyName,SubKey);
  7662. }
  7663. static FORCEINLINE HRESULT ISpeechDataKey_CreateKey(ISpeechDataKey* This,const BSTR SubKeyName,ISpeechDataKey **SubKey) {
  7664. return This->lpVtbl->CreateKey(This,SubKeyName,SubKey);
  7665. }
  7666. static FORCEINLINE HRESULT ISpeechDataKey_DeleteKey(ISpeechDataKey* This,const BSTR SubKeyName) {
  7667. return This->lpVtbl->DeleteKey(This,SubKeyName);
  7668. }
  7669. static FORCEINLINE HRESULT ISpeechDataKey_DeleteValue(ISpeechDataKey* This,const BSTR ValueName) {
  7670. return This->lpVtbl->DeleteValue(This,ValueName);
  7671. }
  7672. static FORCEINLINE HRESULT ISpeechDataKey_EnumKeys(ISpeechDataKey* This,LONG Index,BSTR *SubKeyName) {
  7673. return This->lpVtbl->EnumKeys(This,Index,SubKeyName);
  7674. }
  7675. static FORCEINLINE HRESULT ISpeechDataKey_EnumValues(ISpeechDataKey* This,LONG Index,BSTR *ValueName) {
  7676. return This->lpVtbl->EnumValues(This,Index,ValueName);
  7677. }
  7678. #endif
  7679. #endif
  7680. #endif
  7681. #endif /* __ISpeechDataKey_INTERFACE_DEFINED__ */
  7682. /*****************************************************************************
  7683. * ISpeechObjectToken interface
  7684. */
  7685. #ifndef __ISpeechObjectToken_INTERFACE_DEFINED__
  7686. #define __ISpeechObjectToken_INTERFACE_DEFINED__
  7687. DEFINE_GUID(IID_ISpeechObjectToken, 0xc74a3adc, 0xb727, 0x4500, 0xa8,0x4a, 0xb5,0x26,0x72,0x1c,0x8b,0x8c);
  7688. #if defined(__cplusplus) && !defined(CINTERFACE)
  7689. MIDL_INTERFACE("c74a3adc-b727-4500-a84a-b526721c8b8c")
  7690. ISpeechObjectToken : public IDispatch
  7691. {
  7692. virtual HRESULT STDMETHODCALLTYPE get_Id(
  7693. BSTR *ObjectId) = 0;
  7694. virtual HRESULT STDMETHODCALLTYPE get_DataKey(
  7695. ISpeechDataKey **DataKey) = 0;
  7696. virtual HRESULT STDMETHODCALLTYPE get_Category(
  7697. ISpeechObjectTokenCategory **Category) = 0;
  7698. virtual HRESULT STDMETHODCALLTYPE GetDescription(
  7699. LONG Locale,
  7700. BSTR *Description) = 0;
  7701. virtual HRESULT STDMETHODCALLTYPE SetId(
  7702. BSTR Id,
  7703. BSTR CategoryID = L"",
  7704. VARIANT_BOOL CreateIfNotExist = 0) = 0;
  7705. virtual HRESULT STDMETHODCALLTYPE GetAttribute(
  7706. BSTR AttributeName,
  7707. BSTR *AttributeValue) = 0;
  7708. virtual HRESULT STDMETHODCALLTYPE CreateInstance(
  7709. IUnknown *pUnkOuter,
  7710. SpeechTokenContext ClsContext,
  7711. IUnknown **Object) = 0;
  7712. virtual HRESULT STDMETHODCALLTYPE Remove(
  7713. BSTR ObjectStorageCLSID) = 0;
  7714. virtual HRESULT STDMETHODCALLTYPE GetStorageFileName(
  7715. BSTR ObjectStorageCLSID,
  7716. BSTR KeyName,
  7717. BSTR FileName,
  7718. SpeechTokenShellFolder Folder,
  7719. BSTR *FilePath) = 0;
  7720. virtual HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
  7721. BSTR ObjectStorageCLSID,
  7722. BSTR KeyName,
  7723. VARIANT_BOOL DeleteFile) = 0;
  7724. virtual HRESULT STDMETHODCALLTYPE IsUISupported(
  7725. const BSTR TypeOfUI,
  7726. const VARIANT *ExtraData,
  7727. IUnknown *Object,
  7728. VARIANT_BOOL *Supported) = 0;
  7729. virtual HRESULT STDMETHODCALLTYPE DisplayUI(
  7730. LONG hWnd,
  7731. BSTR Title,
  7732. const BSTR TypeOfUI,
  7733. const VARIANT *ExtraData = 0,
  7734. IUnknown *Object = 0) = 0;
  7735. virtual HRESULT STDMETHODCALLTYPE MatchesAttributes(
  7736. BSTR Attributes,
  7737. VARIANT_BOOL *Matches) = 0;
  7738. };
  7739. #ifdef __CRT_UUID_DECL
  7740. __CRT_UUID_DECL(ISpeechObjectToken, 0xc74a3adc, 0xb727, 0x4500, 0xa8,0x4a, 0xb5,0x26,0x72,0x1c,0x8b,0x8c)
  7741. #endif
  7742. #else
  7743. typedef struct ISpeechObjectTokenVtbl {
  7744. BEGIN_INTERFACE
  7745. /*** IUnknown methods ***/
  7746. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7747. ISpeechObjectToken *This,
  7748. REFIID riid,
  7749. void **ppvObject);
  7750. ULONG (STDMETHODCALLTYPE *AddRef)(
  7751. ISpeechObjectToken *This);
  7752. ULONG (STDMETHODCALLTYPE *Release)(
  7753. ISpeechObjectToken *This);
  7754. /*** IDispatch methods ***/
  7755. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  7756. ISpeechObjectToken *This,
  7757. UINT *pctinfo);
  7758. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  7759. ISpeechObjectToken *This,
  7760. UINT iTInfo,
  7761. LCID lcid,
  7762. ITypeInfo **ppTInfo);
  7763. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  7764. ISpeechObjectToken *This,
  7765. REFIID riid,
  7766. LPOLESTR *rgszNames,
  7767. UINT cNames,
  7768. LCID lcid,
  7769. DISPID *rgDispId);
  7770. HRESULT (STDMETHODCALLTYPE *Invoke)(
  7771. ISpeechObjectToken *This,
  7772. DISPID dispIdMember,
  7773. REFIID riid,
  7774. LCID lcid,
  7775. WORD wFlags,
  7776. DISPPARAMS *pDispParams,
  7777. VARIANT *pVarResult,
  7778. EXCEPINFO *pExcepInfo,
  7779. UINT *puArgErr);
  7780. /*** ISpeechObjectToken methods ***/
  7781. HRESULT (STDMETHODCALLTYPE *get_Id)(
  7782. ISpeechObjectToken *This,
  7783. BSTR *ObjectId);
  7784. HRESULT (STDMETHODCALLTYPE *get_DataKey)(
  7785. ISpeechObjectToken *This,
  7786. ISpeechDataKey **DataKey);
  7787. HRESULT (STDMETHODCALLTYPE *get_Category)(
  7788. ISpeechObjectToken *This,
  7789. ISpeechObjectTokenCategory **Category);
  7790. HRESULT (STDMETHODCALLTYPE *GetDescription)(
  7791. ISpeechObjectToken *This,
  7792. LONG Locale,
  7793. BSTR *Description);
  7794. HRESULT (STDMETHODCALLTYPE *SetId)(
  7795. ISpeechObjectToken *This,
  7796. BSTR Id,
  7797. BSTR CategoryID,
  7798. VARIANT_BOOL CreateIfNotExist);
  7799. HRESULT (STDMETHODCALLTYPE *GetAttribute)(
  7800. ISpeechObjectToken *This,
  7801. BSTR AttributeName,
  7802. BSTR *AttributeValue);
  7803. HRESULT (STDMETHODCALLTYPE *CreateInstance)(
  7804. ISpeechObjectToken *This,
  7805. IUnknown *pUnkOuter,
  7806. SpeechTokenContext ClsContext,
  7807. IUnknown **Object);
  7808. HRESULT (STDMETHODCALLTYPE *Remove)(
  7809. ISpeechObjectToken *This,
  7810. BSTR ObjectStorageCLSID);
  7811. HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
  7812. ISpeechObjectToken *This,
  7813. BSTR ObjectStorageCLSID,
  7814. BSTR KeyName,
  7815. BSTR FileName,
  7816. SpeechTokenShellFolder Folder,
  7817. BSTR *FilePath);
  7818. HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
  7819. ISpeechObjectToken *This,
  7820. BSTR ObjectStorageCLSID,
  7821. BSTR KeyName,
  7822. VARIANT_BOOL DeleteFile);
  7823. HRESULT (STDMETHODCALLTYPE *IsUISupported)(
  7824. ISpeechObjectToken *This,
  7825. const BSTR TypeOfUI,
  7826. const VARIANT *ExtraData,
  7827. IUnknown *Object,
  7828. VARIANT_BOOL *Supported);
  7829. HRESULT (STDMETHODCALLTYPE *DisplayUI)(
  7830. ISpeechObjectToken *This,
  7831. LONG hWnd,
  7832. BSTR Title,
  7833. const BSTR TypeOfUI,
  7834. const VARIANT *ExtraData,
  7835. IUnknown *Object);
  7836. HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
  7837. ISpeechObjectToken *This,
  7838. BSTR Attributes,
  7839. VARIANT_BOOL *Matches);
  7840. END_INTERFACE
  7841. } ISpeechObjectTokenVtbl;
  7842. interface ISpeechObjectToken {
  7843. CONST_VTBL ISpeechObjectTokenVtbl* lpVtbl;
  7844. };
  7845. #ifdef COBJMACROS
  7846. #ifndef WIDL_C_INLINE_WRAPPERS
  7847. /*** IUnknown methods ***/
  7848. #define ISpeechObjectToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7849. #define ISpeechObjectToken_AddRef(This) (This)->lpVtbl->AddRef(This)
  7850. #define ISpeechObjectToken_Release(This) (This)->lpVtbl->Release(This)
  7851. /*** IDispatch methods ***/
  7852. #define ISpeechObjectToken_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  7853. #define ISpeechObjectToken_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  7854. #define ISpeechObjectToken_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  7855. #define ISpeechObjectToken_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  7856. /*** ISpeechObjectToken methods ***/
  7857. #define ISpeechObjectToken_get_Id(This,ObjectId) (This)->lpVtbl->get_Id(This,ObjectId)
  7858. #define ISpeechObjectToken_get_DataKey(This,DataKey) (This)->lpVtbl->get_DataKey(This,DataKey)
  7859. #define ISpeechObjectToken_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category)
  7860. #define ISpeechObjectToken_GetDescription(This,Locale,Description) (This)->lpVtbl->GetDescription(This,Locale,Description)
  7861. #define ISpeechObjectToken_SetId(This,Id,CategoryID,CreateIfNotExist) (This)->lpVtbl->SetId(This,Id,CategoryID,CreateIfNotExist)
  7862. #define ISpeechObjectToken_GetAttribute(This,AttributeName,AttributeValue) (This)->lpVtbl->GetAttribute(This,AttributeName,AttributeValue)
  7863. #define ISpeechObjectToken_CreateInstance(This,pUnkOuter,ClsContext,Object) (This)->lpVtbl->CreateInstance(This,pUnkOuter,ClsContext,Object)
  7864. #define ISpeechObjectToken_Remove(This,ObjectStorageCLSID) (This)->lpVtbl->Remove(This,ObjectStorageCLSID)
  7865. #define ISpeechObjectToken_GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath) (This)->lpVtbl->GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath)
  7866. #define ISpeechObjectToken_RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile)
  7867. #define ISpeechObjectToken_IsUISupported(This,TypeOfUI,ExtraData,Object,Supported) (This)->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Object,Supported)
  7868. #define ISpeechObjectToken_DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object) (This)->lpVtbl->DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object)
  7869. #define ISpeechObjectToken_MatchesAttributes(This,Attributes,Matches) (This)->lpVtbl->MatchesAttributes(This,Attributes,Matches)
  7870. #else
  7871. /*** IUnknown methods ***/
  7872. static FORCEINLINE HRESULT ISpeechObjectToken_QueryInterface(ISpeechObjectToken* This,REFIID riid,void **ppvObject) {
  7873. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  7874. }
  7875. static FORCEINLINE ULONG ISpeechObjectToken_AddRef(ISpeechObjectToken* This) {
  7876. return This->lpVtbl->AddRef(This);
  7877. }
  7878. static FORCEINLINE ULONG ISpeechObjectToken_Release(ISpeechObjectToken* This) {
  7879. return This->lpVtbl->Release(This);
  7880. }
  7881. /*** IDispatch methods ***/
  7882. static FORCEINLINE HRESULT ISpeechObjectToken_GetTypeInfoCount(ISpeechObjectToken* This,UINT *pctinfo) {
  7883. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  7884. }
  7885. static FORCEINLINE HRESULT ISpeechObjectToken_GetTypeInfo(ISpeechObjectToken* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  7886. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  7887. }
  7888. static FORCEINLINE HRESULT ISpeechObjectToken_GetIDsOfNames(ISpeechObjectToken* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  7889. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  7890. }
  7891. static FORCEINLINE HRESULT ISpeechObjectToken_Invoke(ISpeechObjectToken* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  7892. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  7893. }
  7894. /*** ISpeechObjectToken methods ***/
  7895. static FORCEINLINE HRESULT ISpeechObjectToken_get_Id(ISpeechObjectToken* This,BSTR *ObjectId) {
  7896. return This->lpVtbl->get_Id(This,ObjectId);
  7897. }
  7898. static FORCEINLINE HRESULT ISpeechObjectToken_get_DataKey(ISpeechObjectToken* This,ISpeechDataKey **DataKey) {
  7899. return This->lpVtbl->get_DataKey(This,DataKey);
  7900. }
  7901. static FORCEINLINE HRESULT ISpeechObjectToken_get_Category(ISpeechObjectToken* This,ISpeechObjectTokenCategory **Category) {
  7902. return This->lpVtbl->get_Category(This,Category);
  7903. }
  7904. static FORCEINLINE HRESULT ISpeechObjectToken_GetDescription(ISpeechObjectToken* This,LONG Locale,BSTR *Description) {
  7905. return This->lpVtbl->GetDescription(This,Locale,Description);
  7906. }
  7907. static FORCEINLINE HRESULT ISpeechObjectToken_SetId(ISpeechObjectToken* This,BSTR Id,BSTR CategoryID,VARIANT_BOOL CreateIfNotExist) {
  7908. return This->lpVtbl->SetId(This,Id,CategoryID,CreateIfNotExist);
  7909. }
  7910. static FORCEINLINE HRESULT ISpeechObjectToken_GetAttribute(ISpeechObjectToken* This,BSTR AttributeName,BSTR *AttributeValue) {
  7911. return This->lpVtbl->GetAttribute(This,AttributeName,AttributeValue);
  7912. }
  7913. static FORCEINLINE HRESULT ISpeechObjectToken_CreateInstance(ISpeechObjectToken* This,IUnknown *pUnkOuter,SpeechTokenContext ClsContext,IUnknown **Object) {
  7914. return This->lpVtbl->CreateInstance(This,pUnkOuter,ClsContext,Object);
  7915. }
  7916. static FORCEINLINE HRESULT ISpeechObjectToken_Remove(ISpeechObjectToken* This,BSTR ObjectStorageCLSID) {
  7917. return This->lpVtbl->Remove(This,ObjectStorageCLSID);
  7918. }
  7919. static FORCEINLINE HRESULT ISpeechObjectToken_GetStorageFileName(ISpeechObjectToken* This,BSTR ObjectStorageCLSID,BSTR KeyName,BSTR FileName,SpeechTokenShellFolder Folder,BSTR *FilePath) {
  7920. return This->lpVtbl->GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath);
  7921. }
  7922. static FORCEINLINE HRESULT ISpeechObjectToken_RemoveStorageFileName(ISpeechObjectToken* This,BSTR ObjectStorageCLSID,BSTR KeyName,VARIANT_BOOL DeleteFile) {
  7923. return This->lpVtbl->RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile);
  7924. }
  7925. static FORCEINLINE HRESULT ISpeechObjectToken_IsUISupported(ISpeechObjectToken* This,const BSTR TypeOfUI,const VARIANT *ExtraData,IUnknown *Object,VARIANT_BOOL *Supported) {
  7926. return This->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Object,Supported);
  7927. }
  7928. static FORCEINLINE HRESULT ISpeechObjectToken_DisplayUI(ISpeechObjectToken* This,LONG hWnd,BSTR Title,const BSTR TypeOfUI,const VARIANT *ExtraData,IUnknown *Object) {
  7929. return This->lpVtbl->DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object);
  7930. }
  7931. static FORCEINLINE HRESULT ISpeechObjectToken_MatchesAttributes(ISpeechObjectToken* This,BSTR Attributes,VARIANT_BOOL *Matches) {
  7932. return This->lpVtbl->MatchesAttributes(This,Attributes,Matches);
  7933. }
  7934. #endif
  7935. #endif
  7936. #endif
  7937. #endif /* __ISpeechObjectToken_INTERFACE_DEFINED__ */
  7938. /*****************************************************************************
  7939. * ISpeechObjectTokens interface
  7940. */
  7941. #ifndef __ISpeechObjectTokens_INTERFACE_DEFINED__
  7942. #define __ISpeechObjectTokens_INTERFACE_DEFINED__
  7943. DEFINE_GUID(IID_ISpeechObjectTokens, 0x9285b776, 0x2e7b, 0x4bc0, 0xb5,0x3e, 0x58,0x0e,0xb6,0xfa,0x96,0x7f);
  7944. #if defined(__cplusplus) && !defined(CINTERFACE)
  7945. MIDL_INTERFACE("9285b776-2e7b-4bc0-b53e-580eb6fa967f")
  7946. ISpeechObjectTokens : public IDispatch
  7947. {
  7948. virtual HRESULT STDMETHODCALLTYPE get_Count(
  7949. LONG *Count) = 0;
  7950. virtual HRESULT STDMETHODCALLTYPE Item(
  7951. LONG Index,
  7952. ISpeechObjectToken **Token) = 0;
  7953. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  7954. IUnknown **ppEnumVARIANT) = 0;
  7955. };
  7956. #ifdef __CRT_UUID_DECL
  7957. __CRT_UUID_DECL(ISpeechObjectTokens, 0x9285b776, 0x2e7b, 0x4bc0, 0xb5,0x3e, 0x58,0x0e,0xb6,0xfa,0x96,0x7f)
  7958. #endif
  7959. #else
  7960. typedef struct ISpeechObjectTokensVtbl {
  7961. BEGIN_INTERFACE
  7962. /*** IUnknown methods ***/
  7963. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  7964. ISpeechObjectTokens *This,
  7965. REFIID riid,
  7966. void **ppvObject);
  7967. ULONG (STDMETHODCALLTYPE *AddRef)(
  7968. ISpeechObjectTokens *This);
  7969. ULONG (STDMETHODCALLTYPE *Release)(
  7970. ISpeechObjectTokens *This);
  7971. /*** IDispatch methods ***/
  7972. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  7973. ISpeechObjectTokens *This,
  7974. UINT *pctinfo);
  7975. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  7976. ISpeechObjectTokens *This,
  7977. UINT iTInfo,
  7978. LCID lcid,
  7979. ITypeInfo **ppTInfo);
  7980. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  7981. ISpeechObjectTokens *This,
  7982. REFIID riid,
  7983. LPOLESTR *rgszNames,
  7984. UINT cNames,
  7985. LCID lcid,
  7986. DISPID *rgDispId);
  7987. HRESULT (STDMETHODCALLTYPE *Invoke)(
  7988. ISpeechObjectTokens *This,
  7989. DISPID dispIdMember,
  7990. REFIID riid,
  7991. LCID lcid,
  7992. WORD wFlags,
  7993. DISPPARAMS *pDispParams,
  7994. VARIANT *pVarResult,
  7995. EXCEPINFO *pExcepInfo,
  7996. UINT *puArgErr);
  7997. /*** ISpeechObjectTokens methods ***/
  7998. HRESULT (STDMETHODCALLTYPE *get_Count)(
  7999. ISpeechObjectTokens *This,
  8000. LONG *Count);
  8001. HRESULT (STDMETHODCALLTYPE *Item)(
  8002. ISpeechObjectTokens *This,
  8003. LONG Index,
  8004. ISpeechObjectToken **Token);
  8005. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  8006. ISpeechObjectTokens *This,
  8007. IUnknown **ppEnumVARIANT);
  8008. END_INTERFACE
  8009. } ISpeechObjectTokensVtbl;
  8010. interface ISpeechObjectTokens {
  8011. CONST_VTBL ISpeechObjectTokensVtbl* lpVtbl;
  8012. };
  8013. #ifdef COBJMACROS
  8014. #ifndef WIDL_C_INLINE_WRAPPERS
  8015. /*** IUnknown methods ***/
  8016. #define ISpeechObjectTokens_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  8017. #define ISpeechObjectTokens_AddRef(This) (This)->lpVtbl->AddRef(This)
  8018. #define ISpeechObjectTokens_Release(This) (This)->lpVtbl->Release(This)
  8019. /*** IDispatch methods ***/
  8020. #define ISpeechObjectTokens_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  8021. #define ISpeechObjectTokens_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  8022. #define ISpeechObjectTokens_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  8023. #define ISpeechObjectTokens_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  8024. /*** ISpeechObjectTokens methods ***/
  8025. #define ISpeechObjectTokens_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  8026. #define ISpeechObjectTokens_Item(This,Index,Token) (This)->lpVtbl->Item(This,Index,Token)
  8027. #define ISpeechObjectTokens_get__NewEnum(This,ppEnumVARIANT) (This)->lpVtbl->get__NewEnum(This,ppEnumVARIANT)
  8028. #else
  8029. /*** IUnknown methods ***/
  8030. static FORCEINLINE HRESULT ISpeechObjectTokens_QueryInterface(ISpeechObjectTokens* This,REFIID riid,void **ppvObject) {
  8031. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  8032. }
  8033. static FORCEINLINE ULONG ISpeechObjectTokens_AddRef(ISpeechObjectTokens* This) {
  8034. return This->lpVtbl->AddRef(This);
  8035. }
  8036. static FORCEINLINE ULONG ISpeechObjectTokens_Release(ISpeechObjectTokens* This) {
  8037. return This->lpVtbl->Release(This);
  8038. }
  8039. /*** IDispatch methods ***/
  8040. static FORCEINLINE HRESULT ISpeechObjectTokens_GetTypeInfoCount(ISpeechObjectTokens* This,UINT *pctinfo) {
  8041. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  8042. }
  8043. static FORCEINLINE HRESULT ISpeechObjectTokens_GetTypeInfo(ISpeechObjectTokens* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  8044. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  8045. }
  8046. static FORCEINLINE HRESULT ISpeechObjectTokens_GetIDsOfNames(ISpeechObjectTokens* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  8047. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  8048. }
  8049. static FORCEINLINE HRESULT ISpeechObjectTokens_Invoke(ISpeechObjectTokens* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  8050. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  8051. }
  8052. /*** ISpeechObjectTokens methods ***/
  8053. static FORCEINLINE HRESULT ISpeechObjectTokens_get_Count(ISpeechObjectTokens* This,LONG *Count) {
  8054. return This->lpVtbl->get_Count(This,Count);
  8055. }
  8056. static FORCEINLINE HRESULT ISpeechObjectTokens_Item(ISpeechObjectTokens* This,LONG Index,ISpeechObjectToken **Token) {
  8057. return This->lpVtbl->Item(This,Index,Token);
  8058. }
  8059. static FORCEINLINE HRESULT ISpeechObjectTokens_get__NewEnum(ISpeechObjectTokens* This,IUnknown **ppEnumVARIANT) {
  8060. return This->lpVtbl->get__NewEnum(This,ppEnumVARIANT);
  8061. }
  8062. #endif
  8063. #endif
  8064. #endif
  8065. #endif /* __ISpeechObjectTokens_INTERFACE_DEFINED__ */
  8066. /*****************************************************************************
  8067. * ISpeechObjectTokenCategory interface
  8068. */
  8069. #ifndef __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
  8070. #define __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
  8071. DEFINE_GUID(IID_ISpeechObjectTokenCategory, 0xca7eac50, 0x2d01, 0x4145, 0x86,0xd4, 0x5a,0xe7,0xd7,0x0f,0x44,0x69);
  8072. #if defined(__cplusplus) && !defined(CINTERFACE)
  8073. MIDL_INTERFACE("ca7eac50-2d01-4145-86d4-5ae7d70f4469")
  8074. ISpeechObjectTokenCategory : public IDispatch
  8075. {
  8076. virtual HRESULT STDMETHODCALLTYPE get_Id(
  8077. BSTR *Id) = 0;
  8078. virtual HRESULT STDMETHODCALLTYPE put_Default(
  8079. const BSTR TokenId) = 0;
  8080. virtual HRESULT STDMETHODCALLTYPE get_Default(
  8081. BSTR *TokenId) = 0;
  8082. virtual HRESULT STDMETHODCALLTYPE SetId(
  8083. const BSTR Id,
  8084. VARIANT_BOOL CreateIfNotExist = 0) = 0;
  8085. virtual HRESULT STDMETHODCALLTYPE GetDataKey(
  8086. SpeechDataKeyLocation Location,
  8087. ISpeechDataKey **DataKey) = 0;
  8088. virtual HRESULT STDMETHODCALLTYPE EnumerateTokens(
  8089. BSTR RequiredAttributes,
  8090. BSTR OptionalAttributes,
  8091. ISpeechObjectTokens **Tokens) = 0;
  8092. };
  8093. #ifdef __CRT_UUID_DECL
  8094. __CRT_UUID_DECL(ISpeechObjectTokenCategory, 0xca7eac50, 0x2d01, 0x4145, 0x86,0xd4, 0x5a,0xe7,0xd7,0x0f,0x44,0x69)
  8095. #endif
  8096. #else
  8097. typedef struct ISpeechObjectTokenCategoryVtbl {
  8098. BEGIN_INTERFACE
  8099. /*** IUnknown methods ***/
  8100. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  8101. ISpeechObjectTokenCategory *This,
  8102. REFIID riid,
  8103. void **ppvObject);
  8104. ULONG (STDMETHODCALLTYPE *AddRef)(
  8105. ISpeechObjectTokenCategory *This);
  8106. ULONG (STDMETHODCALLTYPE *Release)(
  8107. ISpeechObjectTokenCategory *This);
  8108. /*** IDispatch methods ***/
  8109. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  8110. ISpeechObjectTokenCategory *This,
  8111. UINT *pctinfo);
  8112. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  8113. ISpeechObjectTokenCategory *This,
  8114. UINT iTInfo,
  8115. LCID lcid,
  8116. ITypeInfo **ppTInfo);
  8117. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  8118. ISpeechObjectTokenCategory *This,
  8119. REFIID riid,
  8120. LPOLESTR *rgszNames,
  8121. UINT cNames,
  8122. LCID lcid,
  8123. DISPID *rgDispId);
  8124. HRESULT (STDMETHODCALLTYPE *Invoke)(
  8125. ISpeechObjectTokenCategory *This,
  8126. DISPID dispIdMember,
  8127. REFIID riid,
  8128. LCID lcid,
  8129. WORD wFlags,
  8130. DISPPARAMS *pDispParams,
  8131. VARIANT *pVarResult,
  8132. EXCEPINFO *pExcepInfo,
  8133. UINT *puArgErr);
  8134. /*** ISpeechObjectTokenCategory methods ***/
  8135. HRESULT (STDMETHODCALLTYPE *get_Id)(
  8136. ISpeechObjectTokenCategory *This,
  8137. BSTR *Id);
  8138. HRESULT (STDMETHODCALLTYPE *put_Default)(
  8139. ISpeechObjectTokenCategory *This,
  8140. const BSTR TokenId);
  8141. HRESULT (STDMETHODCALLTYPE *get_Default)(
  8142. ISpeechObjectTokenCategory *This,
  8143. BSTR *TokenId);
  8144. HRESULT (STDMETHODCALLTYPE *SetId)(
  8145. ISpeechObjectTokenCategory *This,
  8146. const BSTR Id,
  8147. VARIANT_BOOL CreateIfNotExist);
  8148. HRESULT (STDMETHODCALLTYPE *GetDataKey)(
  8149. ISpeechObjectTokenCategory *This,
  8150. SpeechDataKeyLocation Location,
  8151. ISpeechDataKey **DataKey);
  8152. HRESULT (STDMETHODCALLTYPE *EnumerateTokens)(
  8153. ISpeechObjectTokenCategory *This,
  8154. BSTR RequiredAttributes,
  8155. BSTR OptionalAttributes,
  8156. ISpeechObjectTokens **Tokens);
  8157. END_INTERFACE
  8158. } ISpeechObjectTokenCategoryVtbl;
  8159. interface ISpeechObjectTokenCategory {
  8160. CONST_VTBL ISpeechObjectTokenCategoryVtbl* lpVtbl;
  8161. };
  8162. #ifdef COBJMACROS
  8163. #ifndef WIDL_C_INLINE_WRAPPERS
  8164. /*** IUnknown methods ***/
  8165. #define ISpeechObjectTokenCategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  8166. #define ISpeechObjectTokenCategory_AddRef(This) (This)->lpVtbl->AddRef(This)
  8167. #define ISpeechObjectTokenCategory_Release(This) (This)->lpVtbl->Release(This)
  8168. /*** IDispatch methods ***/
  8169. #define ISpeechObjectTokenCategory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  8170. #define ISpeechObjectTokenCategory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  8171. #define ISpeechObjectTokenCategory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  8172. #define ISpeechObjectTokenCategory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  8173. /*** ISpeechObjectTokenCategory methods ***/
  8174. #define ISpeechObjectTokenCategory_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
  8175. #define ISpeechObjectTokenCategory_put_Default(This,TokenId) (This)->lpVtbl->put_Default(This,TokenId)
  8176. #define ISpeechObjectTokenCategory_get_Default(This,TokenId) (This)->lpVtbl->get_Default(This,TokenId)
  8177. #define ISpeechObjectTokenCategory_SetId(This,Id,CreateIfNotExist) (This)->lpVtbl->SetId(This,Id,CreateIfNotExist)
  8178. #define ISpeechObjectTokenCategory_GetDataKey(This,Location,DataKey) (This)->lpVtbl->GetDataKey(This,Location,DataKey)
  8179. #define ISpeechObjectTokenCategory_EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens) (This)->lpVtbl->EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens)
  8180. #else
  8181. /*** IUnknown methods ***/
  8182. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_QueryInterface(ISpeechObjectTokenCategory* This,REFIID riid,void **ppvObject) {
  8183. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  8184. }
  8185. static FORCEINLINE ULONG ISpeechObjectTokenCategory_AddRef(ISpeechObjectTokenCategory* This) {
  8186. return This->lpVtbl->AddRef(This);
  8187. }
  8188. static FORCEINLINE ULONG ISpeechObjectTokenCategory_Release(ISpeechObjectTokenCategory* This) {
  8189. return This->lpVtbl->Release(This);
  8190. }
  8191. /*** IDispatch methods ***/
  8192. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetTypeInfoCount(ISpeechObjectTokenCategory* This,UINT *pctinfo) {
  8193. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  8194. }
  8195. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetTypeInfo(ISpeechObjectTokenCategory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  8196. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  8197. }
  8198. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetIDsOfNames(ISpeechObjectTokenCategory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  8199. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  8200. }
  8201. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_Invoke(ISpeechObjectTokenCategory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  8202. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  8203. }
  8204. /*** ISpeechObjectTokenCategory methods ***/
  8205. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_get_Id(ISpeechObjectTokenCategory* This,BSTR *Id) {
  8206. return This->lpVtbl->get_Id(This,Id);
  8207. }
  8208. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_put_Default(ISpeechObjectTokenCategory* This,const BSTR TokenId) {
  8209. return This->lpVtbl->put_Default(This,TokenId);
  8210. }
  8211. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_get_Default(ISpeechObjectTokenCategory* This,BSTR *TokenId) {
  8212. return This->lpVtbl->get_Default(This,TokenId);
  8213. }
  8214. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_SetId(ISpeechObjectTokenCategory* This,const BSTR Id,VARIANT_BOOL CreateIfNotExist) {
  8215. return This->lpVtbl->SetId(This,Id,CreateIfNotExist);
  8216. }
  8217. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetDataKey(ISpeechObjectTokenCategory* This,SpeechDataKeyLocation Location,ISpeechDataKey **DataKey) {
  8218. return This->lpVtbl->GetDataKey(This,Location,DataKey);
  8219. }
  8220. static FORCEINLINE HRESULT ISpeechObjectTokenCategory_EnumerateTokens(ISpeechObjectTokenCategory* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **Tokens) {
  8221. return This->lpVtbl->EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens);
  8222. }
  8223. #endif
  8224. #endif
  8225. #endif
  8226. #endif /* __ISpeechObjectTokenCategory_INTERFACE_DEFINED__ */
  8227. typedef enum SpeechAudioFormatType {
  8228. SAFTDefault = -1,
  8229. SAFTNoAssignedFormat = 0,
  8230. SAFTText = 1,
  8231. SAFTNonStandardFormat = 2,
  8232. SAFTExtendedAudioFormat = 3,
  8233. SAFT8kHz8BitMono = 4,
  8234. SAFT8kHz8BitStereo = 5,
  8235. SAFT8kHz16BitMono = 6,
  8236. SAFT8kHz16BitStereo = 7,
  8237. SAFT11kHz8BitMono = 8,
  8238. SAFT11kHz8BitStereo = 9,
  8239. SAFT11kHz16BitMono = 10,
  8240. SAFT11kHz16BitStereo = 11,
  8241. SAFT12kHz8BitMono = 12,
  8242. SAFT12kHz8BitStereo = 13,
  8243. SAFT12kHz16BitMono = 14,
  8244. SAFT12kHz16BitStereo = 15,
  8245. SAFT16kHz8BitMono = 16,
  8246. SAFT16kHz8BitStereo = 17,
  8247. SAFT16kHz16BitMono = 18,
  8248. SAFT16kHz16BitStereo = 19,
  8249. SAFT22kHz8BitMono = 20,
  8250. SAFT22kHz8BitStereo = 21,
  8251. SAFT22kHz16BitMono = 22,
  8252. SAFT22kHz16BitStereo = 23,
  8253. SAFT24kHz8BitMono = 24,
  8254. SAFT24kHz8BitStereo = 25,
  8255. SAFT24kHz16BitMono = 26,
  8256. SAFT24kHz16BitStereo = 27,
  8257. SAFT32kHz8BitMono = 28,
  8258. SAFT32kHz8BitStereo = 29,
  8259. SAFT32kHz16BitMono = 30,
  8260. SAFT32kHz16BitStereo = 31,
  8261. SAFT44kHz8BitMono = 32,
  8262. SAFT44kHz8BitStereo = 33,
  8263. SAFT44kHz16BitMono = 34,
  8264. SAFT44kHz16BitStereo = 35,
  8265. SAFT48kHz8BitMono = 36,
  8266. SAFT48kHz8BitStereo = 37,
  8267. SAFT48kHz16BitMono = 38,
  8268. SAFT48kHz16BitStereo = 39,
  8269. SAFTTrueSpeech_8kHz1BitMono = 40,
  8270. SAFTCCITT_ALaw_8kHzMono = 41,
  8271. SAFTCCITT_ALaw_8kHzStereo = 42,
  8272. SAFTCCITT_ALaw_11kHzMono = 43,
  8273. SAFTCCITT_ALaw_11kHzStereo = 44,
  8274. SAFTCCITT_ALaw_22kHzMono = 45,
  8275. SAFTCCITT_ALaw_22kHzStereo = 46,
  8276. SAFTCCITT_ALaw_44kHzMono = 47,
  8277. SAFTCCITT_ALaw_44kHzStereo = 48,
  8278. SAFTCCITT_uLaw_8kHzMono = 49,
  8279. SAFTCCITT_uLaw_8kHzStereo = 50,
  8280. SAFTCCITT_uLaw_11kHzMono = 51,
  8281. SAFTCCITT_uLaw_11kHzStereo = 52,
  8282. SAFTCCITT_uLaw_22kHzMono = 53,
  8283. SAFTCCITT_uLaw_22kHzStereo = 54,
  8284. SAFTCCITT_uLaw_44kHzMono = 55,
  8285. SAFTCCITT_uLaw_44kHzStereo = 56,
  8286. SAFTADPCM_8kHzMono = 57,
  8287. SAFTADPCM_8kHzStereo = 58,
  8288. SAFTADPCM_11kHzMono = 59,
  8289. SAFTADPCM_11kHzStereo = 60,
  8290. SAFTADPCM_22kHzMono = 61,
  8291. SAFTADPCM_22kHzStereo = 62,
  8292. SAFTADPCM_44kHzMono = 63,
  8293. SAFTADPCM_44kHzStereo = 64,
  8294. SAFTGSM610_8kHzMono = 65,
  8295. SAFTGSM610_11kHzMono = 66,
  8296. SAFTGSM610_22kHzMono = 67,
  8297. SAFTGSM610_44kHzMono = 68
  8298. } SpeechAudioFormatType;
  8299. typedef enum DISPID_SpeechAudioFormat {
  8300. DISPID_SAFType = 1,
  8301. DISPID_SAFGuid = 2,
  8302. DISPID_SAFGetWaveFormatEx = 3,
  8303. DISPID_SAFSetWaveFormatEx = 4
  8304. } DISPID_SpeechAudioFormat;
  8305. typedef enum DISPID_SpeechBaseStream {
  8306. DISPID_SBSFormat = 1,
  8307. DISPID_SBSRead = 2,
  8308. DISPID_SBSWrite = 3,
  8309. DISPID_SBSSeek = 4
  8310. } DISPID_SpeechBaseStream;
  8311. typedef enum SpeechStreamSeekPositionType {
  8312. SSSPTRelativeToStart = STREAM_SEEK_SET,
  8313. SSSPTRelativeToCurrentPosition = STREAM_SEEK_CUR,
  8314. SSSPTRelativeToEnd = STREAM_SEEK_END
  8315. } SpeechStreamSeekPositionType;
  8316. typedef enum DISPID_SpeechAudio {
  8317. DISPID_SAStatus = 200,
  8318. DISPID_SABufferInfo = 201,
  8319. DISPID_SADefaultFormat = 202,
  8320. DISPID_SAVolume = 203,
  8321. DISPID_SABufferNotifySize = 204,
  8322. DISPID_SAEventHandle = 205,
  8323. DISPID_SASetState = 206
  8324. } DISPID_SpeechAudio;
  8325. typedef enum SpeechAudioState {
  8326. SASClosed = SPAS_CLOSED,
  8327. SASStop = SPAS_STOP,
  8328. SASPause = SPAS_PAUSE,
  8329. SASRun = SPAS_RUN
  8330. } SpeechAudioState;
  8331. typedef enum DISPID_SpeechMMSysAudio {
  8332. DISPID_SMSADeviceId = 300,
  8333. DISPID_SMSALineId = 301,
  8334. DISPID_SMSAMMHandle = 302
  8335. } DISPID_SpeechMMSysAudio;
  8336. typedef enum DISPID_SpeechFileStream {
  8337. DISPID_SFSOpen = 100,
  8338. DISPID_SFSClose = 101
  8339. } DISPID_SpeechFileStream;
  8340. typedef enum SpeechStreamFileMode {
  8341. SSFMOpenForRead = SPFM_OPEN_READONLY,
  8342. SSFMOpenReadWrite = SPFM_OPEN_READWRITE,
  8343. SSFMCreate = SPFM_CREATE,
  8344. SSFMCreateForWrite = SPFM_CREATE_ALWAYS
  8345. } SpeechStreamFileMode;
  8346. typedef enum DISPID_SpeechCustomStream {
  8347. DISPID_SCSBaseStream = 100
  8348. } DISPID_SpeechCustomStream;
  8349. typedef enum DISPID_SpeechMemoryStream {
  8350. DISPID_SMSSetData = 100,
  8351. DISPID_SMSGetData = 101
  8352. } DISPID_SpeechMemoryStream;
  8353. typedef enum DISPID_SpeechAudioStatus {
  8354. DISPID_SASFreeBufferSpace = 1,
  8355. DISPID_SASNonBlockingIO = 2,
  8356. DISPID_SASState = 3,
  8357. DISPID_SASCurrentSeekPosition = 4,
  8358. DISPID_SASCurrentDevicePosition = 5
  8359. } DISPID_SpeechAudioStatus;
  8360. typedef enum DISPID_SpeechAudioBufferInfo {
  8361. DISPID_SABIMinNotification = 1,
  8362. DISPID_SABIBufferSize = 2,
  8363. DISPID_SABIEventBias = 3
  8364. } DISPID_SpeechAudioBufferInfo;
  8365. typedef enum DISPID_SpeechWaveFormatEx {
  8366. DISPID_SWFEFormatTag = 1,
  8367. DISPID_SWFEChannels = 2,
  8368. DISPID_SWFESamplesPerSec = 3,
  8369. DISPID_SWFEAvgBytesPerSec = 4,
  8370. DISPID_SWFEBlockAlign = 5,
  8371. DISPID_SWFEBitsPerSample = 6,
  8372. DISPID_SWFEExtraData = 7
  8373. } DISPID_SpeechWaveFormatEx;
  8374. typedef enum DISPID_SpeechVoice {
  8375. DISPID_SVStatus = 1,
  8376. DISPID_SVVoice = 2,
  8377. DISPID_SVAudioOutput = 3,
  8378. DISPID_SVAudioOutputStream = 4,
  8379. DISPID_SVRate = 5,
  8380. DISPID_SVVolume = 6,
  8381. DISPID_SVAllowAudioOuputFormatChangesOnNextSet = 7,
  8382. DISPID_SVEventInterests = 8,
  8383. DISPID_SVPriority = 9,
  8384. DISPID_SVAlertBoundary = 10,
  8385. DISPID_SVSyncronousSpeakTimeout = 11,
  8386. DISPID_SVSpeak = 12,
  8387. DISPID_SVSpeakStream = 13,
  8388. DISPID_SVPause = 14,
  8389. DISPID_SVResume = 15,
  8390. DISPID_SVSkip = 16,
  8391. DISPID_SVGetVoices = 17,
  8392. DISPID_SVGetAudioOutputs = 18,
  8393. DISPID_SVWaitUntilDone = 19,
  8394. DISPID_SVSpeakCompleteEvent = 20,
  8395. DISPID_SVIsUISupported = 21,
  8396. DISPID_SVDisplayUI = 22
  8397. } DISPID_SpeechVoice;
  8398. typedef enum SpeechVoicePriority {
  8399. SVPNormal = SPVPRI_NORMAL,
  8400. SVPAlert = SPVPRI_ALERT,
  8401. SVPOver = SPVPRI_OVER
  8402. } SpeechVoicePriority;
  8403. typedef enum SpeechVoiceSpeakFlags {
  8404. SVSFDefault = SPF_DEFAULT,
  8405. SVSFlagsAsync = SPF_ASYNC,
  8406. SVSFPurgeBeforeSpeak = SPF_PURGEBEFORESPEAK,
  8407. SVSFIsFilename = SPF_IS_FILENAME,
  8408. SVSFIsXML = SPF_IS_XML,
  8409. SVSFIsNotXML = SPF_IS_NOT_XML,
  8410. SVSFPersistXML = SPF_PERSIST_XML,
  8411. SVSFNLPSpeakPunc = SPF_NLP_SPEAK_PUNC,
  8412. SVSFNLPMask = SPF_NLP_MASK,
  8413. SVSFVoiceMask = SPF_VOICE_MASK,
  8414. SVSFUnusedFlags = SPF_UNUSED_FLAGS
  8415. } SpeechVoiceSpeakFlags;
  8416. typedef enum SpeechVoiceEvents {
  8417. SVEStartInputStream = 0x2,
  8418. SVEEndInputStream = 0x4,
  8419. SVEVoiceChange = 0x8,
  8420. SVEBookmark = 0x10,
  8421. SVEWordBoundary = 0x20,
  8422. SVEPhoneme = 0x40,
  8423. SVESentenceBoundary = 0x80,
  8424. SVEViseme = 0x100,
  8425. SVEAudioLevel = 0x200,
  8426. SVEPrivate = 0x8000,
  8427. SVEAllEvents = 0x83fe
  8428. } SpeechVoiceEvents;
  8429. typedef enum DISPID_SpeechVoiceStatus {
  8430. DISPID_SVSCurrentStreamNumber = 1,
  8431. DISPID_SVSLastStreamNumberQueued = 2,
  8432. DISPID_SVSLastResult = 3,
  8433. DISPID_SVSRunningState = 4,
  8434. DISPID_SVSInputWordPosition = 5,
  8435. DISPID_SVSInputWordLength = 6,
  8436. DISPID_SVSInputSentencePosition = 7,
  8437. DISPID_SVSInputSentenceLength = 8,
  8438. DISPID_SVSLastBookmark = 9,
  8439. DISPID_SVSLastBookmarkId = 10,
  8440. DISPID_SVSPhonemeId = 11,
  8441. DISPID_SVSVisemeId = 12
  8442. } DISPID_SpeechVoiceStatus;
  8443. typedef enum SpeechRunState {
  8444. SRSEDone = SPRS_DONE,
  8445. SRSEIsSpeaking = SPRS_IS_SPEAKING
  8446. } SpeechRunState;
  8447. /*****************************************************************************
  8448. * ISpeechAudioFormat interface
  8449. */
  8450. #ifndef __ISpeechAudioFormat_INTERFACE_DEFINED__
  8451. #define __ISpeechAudioFormat_INTERFACE_DEFINED__
  8452. DEFINE_GUID(IID_ISpeechAudioFormat, 0xe6e9c590, 0x3e18, 0x40e3, 0x82,0x99, 0x06,0x1f,0x98,0xbd,0xe7,0xc7);
  8453. #if defined(__cplusplus) && !defined(CINTERFACE)
  8454. MIDL_INTERFACE("e6e9c590-3e18-40e3-8299-061f98bde7c7")
  8455. ISpeechAudioFormat : public IDispatch
  8456. {
  8457. virtual HRESULT STDMETHODCALLTYPE get_Type(
  8458. SpeechAudioFormatType *AudioFormat) = 0;
  8459. virtual HRESULT STDMETHODCALLTYPE put_Type(
  8460. SpeechAudioFormatType AudioFormat) = 0;
  8461. virtual HRESULT STDMETHODCALLTYPE get_Guid(
  8462. BSTR *Guid) = 0;
  8463. virtual HRESULT STDMETHODCALLTYPE put_Guid(
  8464. BSTR Guid) = 0;
  8465. virtual HRESULT STDMETHODCALLTYPE GetWaveFormatEx(
  8466. ISpeechWaveFormatEx **SpeechWaveFormatEx) = 0;
  8467. virtual HRESULT STDMETHODCALLTYPE SetWaveFormatEx(
  8468. ISpeechWaveFormatEx *SpeechWaveFormatEx) = 0;
  8469. };
  8470. #ifdef __CRT_UUID_DECL
  8471. __CRT_UUID_DECL(ISpeechAudioFormat, 0xe6e9c590, 0x3e18, 0x40e3, 0x82,0x99, 0x06,0x1f,0x98,0xbd,0xe7,0xc7)
  8472. #endif
  8473. #else
  8474. typedef struct ISpeechAudioFormatVtbl {
  8475. BEGIN_INTERFACE
  8476. /*** IUnknown methods ***/
  8477. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  8478. ISpeechAudioFormat *This,
  8479. REFIID riid,
  8480. void **ppvObject);
  8481. ULONG (STDMETHODCALLTYPE *AddRef)(
  8482. ISpeechAudioFormat *This);
  8483. ULONG (STDMETHODCALLTYPE *Release)(
  8484. ISpeechAudioFormat *This);
  8485. /*** IDispatch methods ***/
  8486. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  8487. ISpeechAudioFormat *This,
  8488. UINT *pctinfo);
  8489. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  8490. ISpeechAudioFormat *This,
  8491. UINT iTInfo,
  8492. LCID lcid,
  8493. ITypeInfo **ppTInfo);
  8494. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  8495. ISpeechAudioFormat *This,
  8496. REFIID riid,
  8497. LPOLESTR *rgszNames,
  8498. UINT cNames,
  8499. LCID lcid,
  8500. DISPID *rgDispId);
  8501. HRESULT (STDMETHODCALLTYPE *Invoke)(
  8502. ISpeechAudioFormat *This,
  8503. DISPID dispIdMember,
  8504. REFIID riid,
  8505. LCID lcid,
  8506. WORD wFlags,
  8507. DISPPARAMS *pDispParams,
  8508. VARIANT *pVarResult,
  8509. EXCEPINFO *pExcepInfo,
  8510. UINT *puArgErr);
  8511. /*** ISpeechAudioFormat methods ***/
  8512. HRESULT (STDMETHODCALLTYPE *get_Type)(
  8513. ISpeechAudioFormat *This,
  8514. SpeechAudioFormatType *AudioFormat);
  8515. HRESULT (STDMETHODCALLTYPE *put_Type)(
  8516. ISpeechAudioFormat *This,
  8517. SpeechAudioFormatType AudioFormat);
  8518. HRESULT (STDMETHODCALLTYPE *get_Guid)(
  8519. ISpeechAudioFormat *This,
  8520. BSTR *Guid);
  8521. HRESULT (STDMETHODCALLTYPE *put_Guid)(
  8522. ISpeechAudioFormat *This,
  8523. BSTR Guid);
  8524. HRESULT (STDMETHODCALLTYPE *GetWaveFormatEx)(
  8525. ISpeechAudioFormat *This,
  8526. ISpeechWaveFormatEx **SpeechWaveFormatEx);
  8527. HRESULT (STDMETHODCALLTYPE *SetWaveFormatEx)(
  8528. ISpeechAudioFormat *This,
  8529. ISpeechWaveFormatEx *SpeechWaveFormatEx);
  8530. END_INTERFACE
  8531. } ISpeechAudioFormatVtbl;
  8532. interface ISpeechAudioFormat {
  8533. CONST_VTBL ISpeechAudioFormatVtbl* lpVtbl;
  8534. };
  8535. #ifdef COBJMACROS
  8536. #ifndef WIDL_C_INLINE_WRAPPERS
  8537. /*** IUnknown methods ***/
  8538. #define ISpeechAudioFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  8539. #define ISpeechAudioFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
  8540. #define ISpeechAudioFormat_Release(This) (This)->lpVtbl->Release(This)
  8541. /*** IDispatch methods ***/
  8542. #define ISpeechAudioFormat_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  8543. #define ISpeechAudioFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  8544. #define ISpeechAudioFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  8545. #define ISpeechAudioFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  8546. /*** ISpeechAudioFormat methods ***/
  8547. #define ISpeechAudioFormat_get_Type(This,AudioFormat) (This)->lpVtbl->get_Type(This,AudioFormat)
  8548. #define ISpeechAudioFormat_put_Type(This,AudioFormat) (This)->lpVtbl->put_Type(This,AudioFormat)
  8549. #define ISpeechAudioFormat_get_Guid(This,Guid) (This)->lpVtbl->get_Guid(This,Guid)
  8550. #define ISpeechAudioFormat_put_Guid(This,Guid) (This)->lpVtbl->put_Guid(This,Guid)
  8551. #define ISpeechAudioFormat_GetWaveFormatEx(This,SpeechWaveFormatEx) (This)->lpVtbl->GetWaveFormatEx(This,SpeechWaveFormatEx)
  8552. #define ISpeechAudioFormat_SetWaveFormatEx(This,SpeechWaveFormatEx) (This)->lpVtbl->SetWaveFormatEx(This,SpeechWaveFormatEx)
  8553. #else
  8554. /*** IUnknown methods ***/
  8555. static FORCEINLINE HRESULT ISpeechAudioFormat_QueryInterface(ISpeechAudioFormat* This,REFIID riid,void **ppvObject) {
  8556. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  8557. }
  8558. static FORCEINLINE ULONG ISpeechAudioFormat_AddRef(ISpeechAudioFormat* This) {
  8559. return This->lpVtbl->AddRef(This);
  8560. }
  8561. static FORCEINLINE ULONG ISpeechAudioFormat_Release(ISpeechAudioFormat* This) {
  8562. return This->lpVtbl->Release(This);
  8563. }
  8564. /*** IDispatch methods ***/
  8565. static FORCEINLINE HRESULT ISpeechAudioFormat_GetTypeInfoCount(ISpeechAudioFormat* This,UINT *pctinfo) {
  8566. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  8567. }
  8568. static FORCEINLINE HRESULT ISpeechAudioFormat_GetTypeInfo(ISpeechAudioFormat* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  8569. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  8570. }
  8571. static FORCEINLINE HRESULT ISpeechAudioFormat_GetIDsOfNames(ISpeechAudioFormat* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  8572. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  8573. }
  8574. static FORCEINLINE HRESULT ISpeechAudioFormat_Invoke(ISpeechAudioFormat* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  8575. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  8576. }
  8577. /*** ISpeechAudioFormat methods ***/
  8578. static FORCEINLINE HRESULT ISpeechAudioFormat_get_Type(ISpeechAudioFormat* This,SpeechAudioFormatType *AudioFormat) {
  8579. return This->lpVtbl->get_Type(This,AudioFormat);
  8580. }
  8581. static FORCEINLINE HRESULT ISpeechAudioFormat_put_Type(ISpeechAudioFormat* This,SpeechAudioFormatType AudioFormat) {
  8582. return This->lpVtbl->put_Type(This,AudioFormat);
  8583. }
  8584. static FORCEINLINE HRESULT ISpeechAudioFormat_get_Guid(ISpeechAudioFormat* This,BSTR *Guid) {
  8585. return This->lpVtbl->get_Guid(This,Guid);
  8586. }
  8587. static FORCEINLINE HRESULT ISpeechAudioFormat_put_Guid(ISpeechAudioFormat* This,BSTR Guid) {
  8588. return This->lpVtbl->put_Guid(This,Guid);
  8589. }
  8590. static FORCEINLINE HRESULT ISpeechAudioFormat_GetWaveFormatEx(ISpeechAudioFormat* This,ISpeechWaveFormatEx **SpeechWaveFormatEx) {
  8591. return This->lpVtbl->GetWaveFormatEx(This,SpeechWaveFormatEx);
  8592. }
  8593. static FORCEINLINE HRESULT ISpeechAudioFormat_SetWaveFormatEx(ISpeechAudioFormat* This,ISpeechWaveFormatEx *SpeechWaveFormatEx) {
  8594. return This->lpVtbl->SetWaveFormatEx(This,SpeechWaveFormatEx);
  8595. }
  8596. #endif
  8597. #endif
  8598. #endif
  8599. #endif /* __ISpeechAudioFormat_INTERFACE_DEFINED__ */
  8600. /*****************************************************************************
  8601. * ISpeechBaseStream interface
  8602. */
  8603. #ifndef __ISpeechBaseStream_INTERFACE_DEFINED__
  8604. #define __ISpeechBaseStream_INTERFACE_DEFINED__
  8605. DEFINE_GUID(IID_ISpeechBaseStream, 0x6450336f, 0x7d49, 0x4ced, 0x80,0x97, 0x49,0xd6,0xde,0xe3,0x72,0x94);
  8606. #if defined(__cplusplus) && !defined(CINTERFACE)
  8607. MIDL_INTERFACE("6450336f-7d49-4ced-8097-49d6dee37294")
  8608. ISpeechBaseStream : public IDispatch
  8609. {
  8610. virtual HRESULT STDMETHODCALLTYPE get_Format(
  8611. ISpeechAudioFormat **AudioFormat) = 0;
  8612. virtual HRESULT STDMETHODCALLTYPE putref_Format(
  8613. ISpeechAudioFormat *AudioFormat) = 0;
  8614. virtual HRESULT STDMETHODCALLTYPE Read(
  8615. VARIANT *Buffer,
  8616. LONG NumberOfBytes,
  8617. LONG *BytesRead) = 0;
  8618. virtual HRESULT STDMETHODCALLTYPE Write(
  8619. VARIANT Buffer,
  8620. LONG *BytesWritten) = 0;
  8621. virtual HRESULT STDMETHODCALLTYPE Seek(
  8622. VARIANT Position,
  8623. SpeechStreamSeekPositionType Origin,
  8624. VARIANT *NewPosition) = 0;
  8625. };
  8626. #ifdef __CRT_UUID_DECL
  8627. __CRT_UUID_DECL(ISpeechBaseStream, 0x6450336f, 0x7d49, 0x4ced, 0x80,0x97, 0x49,0xd6,0xde,0xe3,0x72,0x94)
  8628. #endif
  8629. #else
  8630. typedef struct ISpeechBaseStreamVtbl {
  8631. BEGIN_INTERFACE
  8632. /*** IUnknown methods ***/
  8633. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  8634. ISpeechBaseStream *This,
  8635. REFIID riid,
  8636. void **ppvObject);
  8637. ULONG (STDMETHODCALLTYPE *AddRef)(
  8638. ISpeechBaseStream *This);
  8639. ULONG (STDMETHODCALLTYPE *Release)(
  8640. ISpeechBaseStream *This);
  8641. /*** IDispatch methods ***/
  8642. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  8643. ISpeechBaseStream *This,
  8644. UINT *pctinfo);
  8645. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  8646. ISpeechBaseStream *This,
  8647. UINT iTInfo,
  8648. LCID lcid,
  8649. ITypeInfo **ppTInfo);
  8650. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  8651. ISpeechBaseStream *This,
  8652. REFIID riid,
  8653. LPOLESTR *rgszNames,
  8654. UINT cNames,
  8655. LCID lcid,
  8656. DISPID *rgDispId);
  8657. HRESULT (STDMETHODCALLTYPE *Invoke)(
  8658. ISpeechBaseStream *This,
  8659. DISPID dispIdMember,
  8660. REFIID riid,
  8661. LCID lcid,
  8662. WORD wFlags,
  8663. DISPPARAMS *pDispParams,
  8664. VARIANT *pVarResult,
  8665. EXCEPINFO *pExcepInfo,
  8666. UINT *puArgErr);
  8667. /*** ISpeechBaseStream methods ***/
  8668. HRESULT (STDMETHODCALLTYPE *get_Format)(
  8669. ISpeechBaseStream *This,
  8670. ISpeechAudioFormat **AudioFormat);
  8671. HRESULT (STDMETHODCALLTYPE *putref_Format)(
  8672. ISpeechBaseStream *This,
  8673. ISpeechAudioFormat *AudioFormat);
  8674. HRESULT (STDMETHODCALLTYPE *Read)(
  8675. ISpeechBaseStream *This,
  8676. VARIANT *Buffer,
  8677. LONG NumberOfBytes,
  8678. LONG *BytesRead);
  8679. HRESULT (STDMETHODCALLTYPE *Write)(
  8680. ISpeechBaseStream *This,
  8681. VARIANT Buffer,
  8682. LONG *BytesWritten);
  8683. HRESULT (STDMETHODCALLTYPE *Seek)(
  8684. ISpeechBaseStream *This,
  8685. VARIANT Position,
  8686. SpeechStreamSeekPositionType Origin,
  8687. VARIANT *NewPosition);
  8688. END_INTERFACE
  8689. } ISpeechBaseStreamVtbl;
  8690. interface ISpeechBaseStream {
  8691. CONST_VTBL ISpeechBaseStreamVtbl* lpVtbl;
  8692. };
  8693. #ifdef COBJMACROS
  8694. #ifndef WIDL_C_INLINE_WRAPPERS
  8695. /*** IUnknown methods ***/
  8696. #define ISpeechBaseStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  8697. #define ISpeechBaseStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  8698. #define ISpeechBaseStream_Release(This) (This)->lpVtbl->Release(This)
  8699. /*** IDispatch methods ***/
  8700. #define ISpeechBaseStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  8701. #define ISpeechBaseStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  8702. #define ISpeechBaseStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  8703. #define ISpeechBaseStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  8704. /*** ISpeechBaseStream methods ***/
  8705. #define ISpeechBaseStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
  8706. #define ISpeechBaseStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
  8707. #define ISpeechBaseStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
  8708. #define ISpeechBaseStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
  8709. #define ISpeechBaseStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
  8710. #else
  8711. /*** IUnknown methods ***/
  8712. static FORCEINLINE HRESULT ISpeechBaseStream_QueryInterface(ISpeechBaseStream* This,REFIID riid,void **ppvObject) {
  8713. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  8714. }
  8715. static FORCEINLINE ULONG ISpeechBaseStream_AddRef(ISpeechBaseStream* This) {
  8716. return This->lpVtbl->AddRef(This);
  8717. }
  8718. static FORCEINLINE ULONG ISpeechBaseStream_Release(ISpeechBaseStream* This) {
  8719. return This->lpVtbl->Release(This);
  8720. }
  8721. /*** IDispatch methods ***/
  8722. static FORCEINLINE HRESULT ISpeechBaseStream_GetTypeInfoCount(ISpeechBaseStream* This,UINT *pctinfo) {
  8723. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  8724. }
  8725. static FORCEINLINE HRESULT ISpeechBaseStream_GetTypeInfo(ISpeechBaseStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  8726. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  8727. }
  8728. static FORCEINLINE HRESULT ISpeechBaseStream_GetIDsOfNames(ISpeechBaseStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  8729. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  8730. }
  8731. static FORCEINLINE HRESULT ISpeechBaseStream_Invoke(ISpeechBaseStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  8732. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  8733. }
  8734. /*** ISpeechBaseStream methods ***/
  8735. static FORCEINLINE HRESULT ISpeechBaseStream_get_Format(ISpeechBaseStream* This,ISpeechAudioFormat **AudioFormat) {
  8736. return This->lpVtbl->get_Format(This,AudioFormat);
  8737. }
  8738. static FORCEINLINE HRESULT ISpeechBaseStream_putref_Format(ISpeechBaseStream* This,ISpeechAudioFormat *AudioFormat) {
  8739. return This->lpVtbl->putref_Format(This,AudioFormat);
  8740. }
  8741. static FORCEINLINE HRESULT ISpeechBaseStream_Read(ISpeechBaseStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
  8742. return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
  8743. }
  8744. static FORCEINLINE HRESULT ISpeechBaseStream_Write(ISpeechBaseStream* This,VARIANT Buffer,LONG *BytesWritten) {
  8745. return This->lpVtbl->Write(This,Buffer,BytesWritten);
  8746. }
  8747. static FORCEINLINE HRESULT ISpeechBaseStream_Seek(ISpeechBaseStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
  8748. return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
  8749. }
  8750. #endif
  8751. #endif
  8752. #endif
  8753. #endif /* __ISpeechBaseStream_INTERFACE_DEFINED__ */
  8754. /*****************************************************************************
  8755. * ISpeechAudio interface
  8756. */
  8757. #ifndef __ISpeechAudio_INTERFACE_DEFINED__
  8758. #define __ISpeechAudio_INTERFACE_DEFINED__
  8759. DEFINE_GUID(IID_ISpeechAudio, 0xcff8e175, 0x019e, 0x11d3, 0xa0,0x8e, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5);
  8760. #if defined(__cplusplus) && !defined(CINTERFACE)
  8761. MIDL_INTERFACE("cff8e175-019e-11d3-a08e-00c04f8ef9b5")
  8762. ISpeechAudio : public ISpeechBaseStream
  8763. {
  8764. virtual HRESULT STDMETHODCALLTYPE get_Status(
  8765. ISpeechAudioStatus **Status) = 0;
  8766. virtual HRESULT STDMETHODCALLTYPE get_BufferInfo(
  8767. ISpeechAudioBufferInfo **BufferInfo) = 0;
  8768. virtual HRESULT STDMETHODCALLTYPE get_DefaultFormat(
  8769. ISpeechAudioFormat **StreamFormat) = 0;
  8770. virtual HRESULT STDMETHODCALLTYPE get_Volume(
  8771. LONG *Volume) = 0;
  8772. virtual HRESULT STDMETHODCALLTYPE put_Volume(
  8773. LONG Volume) = 0;
  8774. virtual HRESULT STDMETHODCALLTYPE get_BufferNotifySize(
  8775. LONG *BufferNotifySize) = 0;
  8776. virtual HRESULT STDMETHODCALLTYPE put_BufferNotifySize(
  8777. LONG BufferNotifySize) = 0;
  8778. virtual HRESULT STDMETHODCALLTYPE get_EventHandle(
  8779. LONG *EventHandle) = 0;
  8780. virtual HRESULT STDMETHODCALLTYPE SetState(
  8781. SpeechAudioState State) = 0;
  8782. };
  8783. #ifdef __CRT_UUID_DECL
  8784. __CRT_UUID_DECL(ISpeechAudio, 0xcff8e175, 0x019e, 0x11d3, 0xa0,0x8e, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5)
  8785. #endif
  8786. #else
  8787. typedef struct ISpeechAudioVtbl {
  8788. BEGIN_INTERFACE
  8789. /*** IUnknown methods ***/
  8790. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  8791. ISpeechAudio *This,
  8792. REFIID riid,
  8793. void **ppvObject);
  8794. ULONG (STDMETHODCALLTYPE *AddRef)(
  8795. ISpeechAudio *This);
  8796. ULONG (STDMETHODCALLTYPE *Release)(
  8797. ISpeechAudio *This);
  8798. /*** IDispatch methods ***/
  8799. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  8800. ISpeechAudio *This,
  8801. UINT *pctinfo);
  8802. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  8803. ISpeechAudio *This,
  8804. UINT iTInfo,
  8805. LCID lcid,
  8806. ITypeInfo **ppTInfo);
  8807. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  8808. ISpeechAudio *This,
  8809. REFIID riid,
  8810. LPOLESTR *rgszNames,
  8811. UINT cNames,
  8812. LCID lcid,
  8813. DISPID *rgDispId);
  8814. HRESULT (STDMETHODCALLTYPE *Invoke)(
  8815. ISpeechAudio *This,
  8816. DISPID dispIdMember,
  8817. REFIID riid,
  8818. LCID lcid,
  8819. WORD wFlags,
  8820. DISPPARAMS *pDispParams,
  8821. VARIANT *pVarResult,
  8822. EXCEPINFO *pExcepInfo,
  8823. UINT *puArgErr);
  8824. /*** ISpeechBaseStream methods ***/
  8825. HRESULT (STDMETHODCALLTYPE *get_Format)(
  8826. ISpeechAudio *This,
  8827. ISpeechAudioFormat **AudioFormat);
  8828. HRESULT (STDMETHODCALLTYPE *putref_Format)(
  8829. ISpeechAudio *This,
  8830. ISpeechAudioFormat *AudioFormat);
  8831. HRESULT (STDMETHODCALLTYPE *Read)(
  8832. ISpeechAudio *This,
  8833. VARIANT *Buffer,
  8834. LONG NumberOfBytes,
  8835. LONG *BytesRead);
  8836. HRESULT (STDMETHODCALLTYPE *Write)(
  8837. ISpeechAudio *This,
  8838. VARIANT Buffer,
  8839. LONG *BytesWritten);
  8840. HRESULT (STDMETHODCALLTYPE *Seek)(
  8841. ISpeechAudio *This,
  8842. VARIANT Position,
  8843. SpeechStreamSeekPositionType Origin,
  8844. VARIANT *NewPosition);
  8845. /*** ISpeechAudio methods ***/
  8846. HRESULT (STDMETHODCALLTYPE *get_Status)(
  8847. ISpeechAudio *This,
  8848. ISpeechAudioStatus **Status);
  8849. HRESULT (STDMETHODCALLTYPE *get_BufferInfo)(
  8850. ISpeechAudio *This,
  8851. ISpeechAudioBufferInfo **BufferInfo);
  8852. HRESULT (STDMETHODCALLTYPE *get_DefaultFormat)(
  8853. ISpeechAudio *This,
  8854. ISpeechAudioFormat **StreamFormat);
  8855. HRESULT (STDMETHODCALLTYPE *get_Volume)(
  8856. ISpeechAudio *This,
  8857. LONG *Volume);
  8858. HRESULT (STDMETHODCALLTYPE *put_Volume)(
  8859. ISpeechAudio *This,
  8860. LONG Volume);
  8861. HRESULT (STDMETHODCALLTYPE *get_BufferNotifySize)(
  8862. ISpeechAudio *This,
  8863. LONG *BufferNotifySize);
  8864. HRESULT (STDMETHODCALLTYPE *put_BufferNotifySize)(
  8865. ISpeechAudio *This,
  8866. LONG BufferNotifySize);
  8867. HRESULT (STDMETHODCALLTYPE *get_EventHandle)(
  8868. ISpeechAudio *This,
  8869. LONG *EventHandle);
  8870. HRESULT (STDMETHODCALLTYPE *SetState)(
  8871. ISpeechAudio *This,
  8872. SpeechAudioState State);
  8873. END_INTERFACE
  8874. } ISpeechAudioVtbl;
  8875. interface ISpeechAudio {
  8876. CONST_VTBL ISpeechAudioVtbl* lpVtbl;
  8877. };
  8878. #ifdef COBJMACROS
  8879. #ifndef WIDL_C_INLINE_WRAPPERS
  8880. /*** IUnknown methods ***/
  8881. #define ISpeechAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  8882. #define ISpeechAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
  8883. #define ISpeechAudio_Release(This) (This)->lpVtbl->Release(This)
  8884. /*** IDispatch methods ***/
  8885. #define ISpeechAudio_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  8886. #define ISpeechAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  8887. #define ISpeechAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  8888. #define ISpeechAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  8889. /*** ISpeechBaseStream methods ***/
  8890. #define ISpeechAudio_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
  8891. #define ISpeechAudio_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
  8892. #define ISpeechAudio_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
  8893. #define ISpeechAudio_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
  8894. #define ISpeechAudio_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
  8895. /*** ISpeechAudio methods ***/
  8896. #define ISpeechAudio_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
  8897. #define ISpeechAudio_get_BufferInfo(This,BufferInfo) (This)->lpVtbl->get_BufferInfo(This,BufferInfo)
  8898. #define ISpeechAudio_get_DefaultFormat(This,StreamFormat) (This)->lpVtbl->get_DefaultFormat(This,StreamFormat)
  8899. #define ISpeechAudio_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
  8900. #define ISpeechAudio_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
  8901. #define ISpeechAudio_get_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->get_BufferNotifySize(This,BufferNotifySize)
  8902. #define ISpeechAudio_put_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->put_BufferNotifySize(This,BufferNotifySize)
  8903. #define ISpeechAudio_get_EventHandle(This,EventHandle) (This)->lpVtbl->get_EventHandle(This,EventHandle)
  8904. #define ISpeechAudio_SetState(This,State) (This)->lpVtbl->SetState(This,State)
  8905. #else
  8906. /*** IUnknown methods ***/
  8907. static FORCEINLINE HRESULT ISpeechAudio_QueryInterface(ISpeechAudio* This,REFIID riid,void **ppvObject) {
  8908. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  8909. }
  8910. static FORCEINLINE ULONG ISpeechAudio_AddRef(ISpeechAudio* This) {
  8911. return This->lpVtbl->AddRef(This);
  8912. }
  8913. static FORCEINLINE ULONG ISpeechAudio_Release(ISpeechAudio* This) {
  8914. return This->lpVtbl->Release(This);
  8915. }
  8916. /*** IDispatch methods ***/
  8917. static FORCEINLINE HRESULT ISpeechAudio_GetTypeInfoCount(ISpeechAudio* This,UINT *pctinfo) {
  8918. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  8919. }
  8920. static FORCEINLINE HRESULT ISpeechAudio_GetTypeInfo(ISpeechAudio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  8921. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  8922. }
  8923. static FORCEINLINE HRESULT ISpeechAudio_GetIDsOfNames(ISpeechAudio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  8924. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  8925. }
  8926. static FORCEINLINE HRESULT ISpeechAudio_Invoke(ISpeechAudio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  8927. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  8928. }
  8929. /*** ISpeechBaseStream methods ***/
  8930. static FORCEINLINE HRESULT ISpeechAudio_get_Format(ISpeechAudio* This,ISpeechAudioFormat **AudioFormat) {
  8931. return This->lpVtbl->get_Format(This,AudioFormat);
  8932. }
  8933. static FORCEINLINE HRESULT ISpeechAudio_putref_Format(ISpeechAudio* This,ISpeechAudioFormat *AudioFormat) {
  8934. return This->lpVtbl->putref_Format(This,AudioFormat);
  8935. }
  8936. static FORCEINLINE HRESULT ISpeechAudio_Read(ISpeechAudio* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
  8937. return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
  8938. }
  8939. static FORCEINLINE HRESULT ISpeechAudio_Write(ISpeechAudio* This,VARIANT Buffer,LONG *BytesWritten) {
  8940. return This->lpVtbl->Write(This,Buffer,BytesWritten);
  8941. }
  8942. static FORCEINLINE HRESULT ISpeechAudio_Seek(ISpeechAudio* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
  8943. return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
  8944. }
  8945. /*** ISpeechAudio methods ***/
  8946. static FORCEINLINE HRESULT ISpeechAudio_get_Status(ISpeechAudio* This,ISpeechAudioStatus **Status) {
  8947. return This->lpVtbl->get_Status(This,Status);
  8948. }
  8949. static FORCEINLINE HRESULT ISpeechAudio_get_BufferInfo(ISpeechAudio* This,ISpeechAudioBufferInfo **BufferInfo) {
  8950. return This->lpVtbl->get_BufferInfo(This,BufferInfo);
  8951. }
  8952. static FORCEINLINE HRESULT ISpeechAudio_get_DefaultFormat(ISpeechAudio* This,ISpeechAudioFormat **StreamFormat) {
  8953. return This->lpVtbl->get_DefaultFormat(This,StreamFormat);
  8954. }
  8955. static FORCEINLINE HRESULT ISpeechAudio_get_Volume(ISpeechAudio* This,LONG *Volume) {
  8956. return This->lpVtbl->get_Volume(This,Volume);
  8957. }
  8958. static FORCEINLINE HRESULT ISpeechAudio_put_Volume(ISpeechAudio* This,LONG Volume) {
  8959. return This->lpVtbl->put_Volume(This,Volume);
  8960. }
  8961. static FORCEINLINE HRESULT ISpeechAudio_get_BufferNotifySize(ISpeechAudio* This,LONG *BufferNotifySize) {
  8962. return This->lpVtbl->get_BufferNotifySize(This,BufferNotifySize);
  8963. }
  8964. static FORCEINLINE HRESULT ISpeechAudio_put_BufferNotifySize(ISpeechAudio* This,LONG BufferNotifySize) {
  8965. return This->lpVtbl->put_BufferNotifySize(This,BufferNotifySize);
  8966. }
  8967. static FORCEINLINE HRESULT ISpeechAudio_get_EventHandle(ISpeechAudio* This,LONG *EventHandle) {
  8968. return This->lpVtbl->get_EventHandle(This,EventHandle);
  8969. }
  8970. static FORCEINLINE HRESULT ISpeechAudio_SetState(ISpeechAudio* This,SpeechAudioState State) {
  8971. return This->lpVtbl->SetState(This,State);
  8972. }
  8973. #endif
  8974. #endif
  8975. #endif
  8976. #endif /* __ISpeechAudio_INTERFACE_DEFINED__ */
  8977. /*****************************************************************************
  8978. * ISpeechMMSysAudio interface
  8979. */
  8980. #ifndef __ISpeechMMSysAudio_INTERFACE_DEFINED__
  8981. #define __ISpeechMMSysAudio_INTERFACE_DEFINED__
  8982. DEFINE_GUID(IID_ISpeechMMSysAudio, 0x3c76af6d, 0x1fd7, 0x4831, 0x81,0xd1, 0x3b,0x71,0xd5,0xa1,0x3c,0x44);
  8983. #if defined(__cplusplus) && !defined(CINTERFACE)
  8984. MIDL_INTERFACE("3c76af6d-1fd7-4831-81d1-3b71d5a13c44")
  8985. ISpeechMMSysAudio : public ISpeechAudio
  8986. {
  8987. virtual HRESULT STDMETHODCALLTYPE get_DeviceId(
  8988. LONG *DeviceId) = 0;
  8989. virtual HRESULT STDMETHODCALLTYPE put_DeviceId(
  8990. LONG DeviceId) = 0;
  8991. virtual HRESULT STDMETHODCALLTYPE get_LineId(
  8992. LONG *LineId) = 0;
  8993. virtual HRESULT STDMETHODCALLTYPE put_LineId(
  8994. LONG LineId) = 0;
  8995. virtual HRESULT STDMETHODCALLTYPE get_MMHandle(
  8996. LONG *Handle) = 0;
  8997. };
  8998. #ifdef __CRT_UUID_DECL
  8999. __CRT_UUID_DECL(ISpeechMMSysAudio, 0x3c76af6d, 0x1fd7, 0x4831, 0x81,0xd1, 0x3b,0x71,0xd5,0xa1,0x3c,0x44)
  9000. #endif
  9001. #else
  9002. typedef struct ISpeechMMSysAudioVtbl {
  9003. BEGIN_INTERFACE
  9004. /*** IUnknown methods ***/
  9005. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  9006. ISpeechMMSysAudio *This,
  9007. REFIID riid,
  9008. void **ppvObject);
  9009. ULONG (STDMETHODCALLTYPE *AddRef)(
  9010. ISpeechMMSysAudio *This);
  9011. ULONG (STDMETHODCALLTYPE *Release)(
  9012. ISpeechMMSysAudio *This);
  9013. /*** IDispatch methods ***/
  9014. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  9015. ISpeechMMSysAudio *This,
  9016. UINT *pctinfo);
  9017. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  9018. ISpeechMMSysAudio *This,
  9019. UINT iTInfo,
  9020. LCID lcid,
  9021. ITypeInfo **ppTInfo);
  9022. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  9023. ISpeechMMSysAudio *This,
  9024. REFIID riid,
  9025. LPOLESTR *rgszNames,
  9026. UINT cNames,
  9027. LCID lcid,
  9028. DISPID *rgDispId);
  9029. HRESULT (STDMETHODCALLTYPE *Invoke)(
  9030. ISpeechMMSysAudio *This,
  9031. DISPID dispIdMember,
  9032. REFIID riid,
  9033. LCID lcid,
  9034. WORD wFlags,
  9035. DISPPARAMS *pDispParams,
  9036. VARIANT *pVarResult,
  9037. EXCEPINFO *pExcepInfo,
  9038. UINT *puArgErr);
  9039. /*** ISpeechBaseStream methods ***/
  9040. HRESULT (STDMETHODCALLTYPE *get_Format)(
  9041. ISpeechMMSysAudio *This,
  9042. ISpeechAudioFormat **AudioFormat);
  9043. HRESULT (STDMETHODCALLTYPE *putref_Format)(
  9044. ISpeechMMSysAudio *This,
  9045. ISpeechAudioFormat *AudioFormat);
  9046. HRESULT (STDMETHODCALLTYPE *Read)(
  9047. ISpeechMMSysAudio *This,
  9048. VARIANT *Buffer,
  9049. LONG NumberOfBytes,
  9050. LONG *BytesRead);
  9051. HRESULT (STDMETHODCALLTYPE *Write)(
  9052. ISpeechMMSysAudio *This,
  9053. VARIANT Buffer,
  9054. LONG *BytesWritten);
  9055. HRESULT (STDMETHODCALLTYPE *Seek)(
  9056. ISpeechMMSysAudio *This,
  9057. VARIANT Position,
  9058. SpeechStreamSeekPositionType Origin,
  9059. VARIANT *NewPosition);
  9060. /*** ISpeechAudio methods ***/
  9061. HRESULT (STDMETHODCALLTYPE *get_Status)(
  9062. ISpeechMMSysAudio *This,
  9063. ISpeechAudioStatus **Status);
  9064. HRESULT (STDMETHODCALLTYPE *get_BufferInfo)(
  9065. ISpeechMMSysAudio *This,
  9066. ISpeechAudioBufferInfo **BufferInfo);
  9067. HRESULT (STDMETHODCALLTYPE *get_DefaultFormat)(
  9068. ISpeechMMSysAudio *This,
  9069. ISpeechAudioFormat **StreamFormat);
  9070. HRESULT (STDMETHODCALLTYPE *get_Volume)(
  9071. ISpeechMMSysAudio *This,
  9072. LONG *Volume);
  9073. HRESULT (STDMETHODCALLTYPE *put_Volume)(
  9074. ISpeechMMSysAudio *This,
  9075. LONG Volume);
  9076. HRESULT (STDMETHODCALLTYPE *get_BufferNotifySize)(
  9077. ISpeechMMSysAudio *This,
  9078. LONG *BufferNotifySize);
  9079. HRESULT (STDMETHODCALLTYPE *put_BufferNotifySize)(
  9080. ISpeechMMSysAudio *This,
  9081. LONG BufferNotifySize);
  9082. HRESULT (STDMETHODCALLTYPE *get_EventHandle)(
  9083. ISpeechMMSysAudio *This,
  9084. LONG *EventHandle);
  9085. HRESULT (STDMETHODCALLTYPE *SetState)(
  9086. ISpeechMMSysAudio *This,
  9087. SpeechAudioState State);
  9088. /*** ISpeechMMSysAudio methods ***/
  9089. HRESULT (STDMETHODCALLTYPE *get_DeviceId)(
  9090. ISpeechMMSysAudio *This,
  9091. LONG *DeviceId);
  9092. HRESULT (STDMETHODCALLTYPE *put_DeviceId)(
  9093. ISpeechMMSysAudio *This,
  9094. LONG DeviceId);
  9095. HRESULT (STDMETHODCALLTYPE *get_LineId)(
  9096. ISpeechMMSysAudio *This,
  9097. LONG *LineId);
  9098. HRESULT (STDMETHODCALLTYPE *put_LineId)(
  9099. ISpeechMMSysAudio *This,
  9100. LONG LineId);
  9101. HRESULT (STDMETHODCALLTYPE *get_MMHandle)(
  9102. ISpeechMMSysAudio *This,
  9103. LONG *Handle);
  9104. END_INTERFACE
  9105. } ISpeechMMSysAudioVtbl;
  9106. interface ISpeechMMSysAudio {
  9107. CONST_VTBL ISpeechMMSysAudioVtbl* lpVtbl;
  9108. };
  9109. #ifdef COBJMACROS
  9110. #ifndef WIDL_C_INLINE_WRAPPERS
  9111. /*** IUnknown methods ***/
  9112. #define ISpeechMMSysAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  9113. #define ISpeechMMSysAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
  9114. #define ISpeechMMSysAudio_Release(This) (This)->lpVtbl->Release(This)
  9115. /*** IDispatch methods ***/
  9116. #define ISpeechMMSysAudio_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  9117. #define ISpeechMMSysAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9118. #define ISpeechMMSysAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9119. #define ISpeechMMSysAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9120. /*** ISpeechBaseStream methods ***/
  9121. #define ISpeechMMSysAudio_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
  9122. #define ISpeechMMSysAudio_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
  9123. #define ISpeechMMSysAudio_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
  9124. #define ISpeechMMSysAudio_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
  9125. #define ISpeechMMSysAudio_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
  9126. /*** ISpeechAudio methods ***/
  9127. #define ISpeechMMSysAudio_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
  9128. #define ISpeechMMSysAudio_get_BufferInfo(This,BufferInfo) (This)->lpVtbl->get_BufferInfo(This,BufferInfo)
  9129. #define ISpeechMMSysAudio_get_DefaultFormat(This,StreamFormat) (This)->lpVtbl->get_DefaultFormat(This,StreamFormat)
  9130. #define ISpeechMMSysAudio_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
  9131. #define ISpeechMMSysAudio_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
  9132. #define ISpeechMMSysAudio_get_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->get_BufferNotifySize(This,BufferNotifySize)
  9133. #define ISpeechMMSysAudio_put_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->put_BufferNotifySize(This,BufferNotifySize)
  9134. #define ISpeechMMSysAudio_get_EventHandle(This,EventHandle) (This)->lpVtbl->get_EventHandle(This,EventHandle)
  9135. #define ISpeechMMSysAudio_SetState(This,State) (This)->lpVtbl->SetState(This,State)
  9136. /*** ISpeechMMSysAudio methods ***/
  9137. #define ISpeechMMSysAudio_get_DeviceId(This,DeviceId) (This)->lpVtbl->get_DeviceId(This,DeviceId)
  9138. #define ISpeechMMSysAudio_put_DeviceId(This,DeviceId) (This)->lpVtbl->put_DeviceId(This,DeviceId)
  9139. #define ISpeechMMSysAudio_get_LineId(This,LineId) (This)->lpVtbl->get_LineId(This,LineId)
  9140. #define ISpeechMMSysAudio_put_LineId(This,LineId) (This)->lpVtbl->put_LineId(This,LineId)
  9141. #define ISpeechMMSysAudio_get_MMHandle(This,Handle) (This)->lpVtbl->get_MMHandle(This,Handle)
  9142. #else
  9143. /*** IUnknown methods ***/
  9144. static FORCEINLINE HRESULT ISpeechMMSysAudio_QueryInterface(ISpeechMMSysAudio* This,REFIID riid,void **ppvObject) {
  9145. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  9146. }
  9147. static FORCEINLINE ULONG ISpeechMMSysAudio_AddRef(ISpeechMMSysAudio* This) {
  9148. return This->lpVtbl->AddRef(This);
  9149. }
  9150. static FORCEINLINE ULONG ISpeechMMSysAudio_Release(ISpeechMMSysAudio* This) {
  9151. return This->lpVtbl->Release(This);
  9152. }
  9153. /*** IDispatch methods ***/
  9154. static FORCEINLINE HRESULT ISpeechMMSysAudio_GetTypeInfoCount(ISpeechMMSysAudio* This,UINT *pctinfo) {
  9155. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  9156. }
  9157. static FORCEINLINE HRESULT ISpeechMMSysAudio_GetTypeInfo(ISpeechMMSysAudio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  9158. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  9159. }
  9160. static FORCEINLINE HRESULT ISpeechMMSysAudio_GetIDsOfNames(ISpeechMMSysAudio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  9161. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  9162. }
  9163. static FORCEINLINE HRESULT ISpeechMMSysAudio_Invoke(ISpeechMMSysAudio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  9164. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  9165. }
  9166. /*** ISpeechBaseStream methods ***/
  9167. static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Format(ISpeechMMSysAudio* This,ISpeechAudioFormat **AudioFormat) {
  9168. return This->lpVtbl->get_Format(This,AudioFormat);
  9169. }
  9170. static FORCEINLINE HRESULT ISpeechMMSysAudio_putref_Format(ISpeechMMSysAudio* This,ISpeechAudioFormat *AudioFormat) {
  9171. return This->lpVtbl->putref_Format(This,AudioFormat);
  9172. }
  9173. static FORCEINLINE HRESULT ISpeechMMSysAudio_Read(ISpeechMMSysAudio* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
  9174. return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
  9175. }
  9176. static FORCEINLINE HRESULT ISpeechMMSysAudio_Write(ISpeechMMSysAudio* This,VARIANT Buffer,LONG *BytesWritten) {
  9177. return This->lpVtbl->Write(This,Buffer,BytesWritten);
  9178. }
  9179. static FORCEINLINE HRESULT ISpeechMMSysAudio_Seek(ISpeechMMSysAudio* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
  9180. return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
  9181. }
  9182. /*** ISpeechAudio methods ***/
  9183. static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Status(ISpeechMMSysAudio* This,ISpeechAudioStatus **Status) {
  9184. return This->lpVtbl->get_Status(This,Status);
  9185. }
  9186. static FORCEINLINE HRESULT ISpeechMMSysAudio_get_BufferInfo(ISpeechMMSysAudio* This,ISpeechAudioBufferInfo **BufferInfo) {
  9187. return This->lpVtbl->get_BufferInfo(This,BufferInfo);
  9188. }
  9189. static FORCEINLINE HRESULT ISpeechMMSysAudio_get_DefaultFormat(ISpeechMMSysAudio* This,ISpeechAudioFormat **StreamFormat) {
  9190. return This->lpVtbl->get_DefaultFormat(This,StreamFormat);
  9191. }
  9192. static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Volume(ISpeechMMSysAudio* This,LONG *Volume) {
  9193. return This->lpVtbl->get_Volume(This,Volume);
  9194. }
  9195. static FORCEINLINE HRESULT ISpeechMMSysAudio_put_Volume(ISpeechMMSysAudio* This,LONG Volume) {
  9196. return This->lpVtbl->put_Volume(This,Volume);
  9197. }
  9198. static FORCEINLINE HRESULT ISpeechMMSysAudio_get_BufferNotifySize(ISpeechMMSysAudio* This,LONG *BufferNotifySize) {
  9199. return This->lpVtbl->get_BufferNotifySize(This,BufferNotifySize);
  9200. }
  9201. static FORCEINLINE HRESULT ISpeechMMSysAudio_put_BufferNotifySize(ISpeechMMSysAudio* This,LONG BufferNotifySize) {
  9202. return This->lpVtbl->put_BufferNotifySize(This,BufferNotifySize);
  9203. }
  9204. static FORCEINLINE HRESULT ISpeechMMSysAudio_get_EventHandle(ISpeechMMSysAudio* This,LONG *EventHandle) {
  9205. return This->lpVtbl->get_EventHandle(This,EventHandle);
  9206. }
  9207. static FORCEINLINE HRESULT ISpeechMMSysAudio_SetState(ISpeechMMSysAudio* This,SpeechAudioState State) {
  9208. return This->lpVtbl->SetState(This,State);
  9209. }
  9210. /*** ISpeechMMSysAudio methods ***/
  9211. static FORCEINLINE HRESULT ISpeechMMSysAudio_get_DeviceId(ISpeechMMSysAudio* This,LONG *DeviceId) {
  9212. return This->lpVtbl->get_DeviceId(This,DeviceId);
  9213. }
  9214. static FORCEINLINE HRESULT ISpeechMMSysAudio_put_DeviceId(ISpeechMMSysAudio* This,LONG DeviceId) {
  9215. return This->lpVtbl->put_DeviceId(This,DeviceId);
  9216. }
  9217. static FORCEINLINE HRESULT ISpeechMMSysAudio_get_LineId(ISpeechMMSysAudio* This,LONG *LineId) {
  9218. return This->lpVtbl->get_LineId(This,LineId);
  9219. }
  9220. static FORCEINLINE HRESULT ISpeechMMSysAudio_put_LineId(ISpeechMMSysAudio* This,LONG LineId) {
  9221. return This->lpVtbl->put_LineId(This,LineId);
  9222. }
  9223. static FORCEINLINE HRESULT ISpeechMMSysAudio_get_MMHandle(ISpeechMMSysAudio* This,LONG *Handle) {
  9224. return This->lpVtbl->get_MMHandle(This,Handle);
  9225. }
  9226. #endif
  9227. #endif
  9228. #endif
  9229. #endif /* __ISpeechMMSysAudio_INTERFACE_DEFINED__ */
  9230. /*****************************************************************************
  9231. * ISpeechFileStream interface
  9232. */
  9233. #ifndef __ISpeechFileStream_INTERFACE_DEFINED__
  9234. #define __ISpeechFileStream_INTERFACE_DEFINED__
  9235. DEFINE_GUID(IID_ISpeechFileStream, 0xaf67f125, 0xab39, 0x4e93, 0xb4,0xa2, 0xcc,0x2e,0x66,0xe1,0x82,0xa7);
  9236. #if defined(__cplusplus) && !defined(CINTERFACE)
  9237. MIDL_INTERFACE("af67f125-ab39-4e93-b4a2-cc2e66e182a7")
  9238. ISpeechFileStream : public ISpeechBaseStream
  9239. {
  9240. virtual HRESULT STDMETHODCALLTYPE Open(
  9241. BSTR FileName,
  9242. SpeechStreamFileMode FileMode = SSFMOpenForRead,
  9243. VARIANT_BOOL DoEvents = 0) = 0;
  9244. virtual HRESULT STDMETHODCALLTYPE Close(
  9245. ) = 0;
  9246. };
  9247. #ifdef __CRT_UUID_DECL
  9248. __CRT_UUID_DECL(ISpeechFileStream, 0xaf67f125, 0xab39, 0x4e93, 0xb4,0xa2, 0xcc,0x2e,0x66,0xe1,0x82,0xa7)
  9249. #endif
  9250. #else
  9251. typedef struct ISpeechFileStreamVtbl {
  9252. BEGIN_INTERFACE
  9253. /*** IUnknown methods ***/
  9254. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  9255. ISpeechFileStream *This,
  9256. REFIID riid,
  9257. void **ppvObject);
  9258. ULONG (STDMETHODCALLTYPE *AddRef)(
  9259. ISpeechFileStream *This);
  9260. ULONG (STDMETHODCALLTYPE *Release)(
  9261. ISpeechFileStream *This);
  9262. /*** IDispatch methods ***/
  9263. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  9264. ISpeechFileStream *This,
  9265. UINT *pctinfo);
  9266. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  9267. ISpeechFileStream *This,
  9268. UINT iTInfo,
  9269. LCID lcid,
  9270. ITypeInfo **ppTInfo);
  9271. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  9272. ISpeechFileStream *This,
  9273. REFIID riid,
  9274. LPOLESTR *rgszNames,
  9275. UINT cNames,
  9276. LCID lcid,
  9277. DISPID *rgDispId);
  9278. HRESULT (STDMETHODCALLTYPE *Invoke)(
  9279. ISpeechFileStream *This,
  9280. DISPID dispIdMember,
  9281. REFIID riid,
  9282. LCID lcid,
  9283. WORD wFlags,
  9284. DISPPARAMS *pDispParams,
  9285. VARIANT *pVarResult,
  9286. EXCEPINFO *pExcepInfo,
  9287. UINT *puArgErr);
  9288. /*** ISpeechBaseStream methods ***/
  9289. HRESULT (STDMETHODCALLTYPE *get_Format)(
  9290. ISpeechFileStream *This,
  9291. ISpeechAudioFormat **AudioFormat);
  9292. HRESULT (STDMETHODCALLTYPE *putref_Format)(
  9293. ISpeechFileStream *This,
  9294. ISpeechAudioFormat *AudioFormat);
  9295. HRESULT (STDMETHODCALLTYPE *Read)(
  9296. ISpeechFileStream *This,
  9297. VARIANT *Buffer,
  9298. LONG NumberOfBytes,
  9299. LONG *BytesRead);
  9300. HRESULT (STDMETHODCALLTYPE *Write)(
  9301. ISpeechFileStream *This,
  9302. VARIANT Buffer,
  9303. LONG *BytesWritten);
  9304. HRESULT (STDMETHODCALLTYPE *Seek)(
  9305. ISpeechFileStream *This,
  9306. VARIANT Position,
  9307. SpeechStreamSeekPositionType Origin,
  9308. VARIANT *NewPosition);
  9309. /*** ISpeechFileStream methods ***/
  9310. HRESULT (STDMETHODCALLTYPE *Open)(
  9311. ISpeechFileStream *This,
  9312. BSTR FileName,
  9313. SpeechStreamFileMode FileMode,
  9314. VARIANT_BOOL DoEvents);
  9315. HRESULT (STDMETHODCALLTYPE *Close)(
  9316. ISpeechFileStream *This);
  9317. END_INTERFACE
  9318. } ISpeechFileStreamVtbl;
  9319. interface ISpeechFileStream {
  9320. CONST_VTBL ISpeechFileStreamVtbl* lpVtbl;
  9321. };
  9322. #ifdef COBJMACROS
  9323. #ifndef WIDL_C_INLINE_WRAPPERS
  9324. /*** IUnknown methods ***/
  9325. #define ISpeechFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  9326. #define ISpeechFileStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  9327. #define ISpeechFileStream_Release(This) (This)->lpVtbl->Release(This)
  9328. /*** IDispatch methods ***/
  9329. #define ISpeechFileStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  9330. #define ISpeechFileStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9331. #define ISpeechFileStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9332. #define ISpeechFileStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9333. /*** ISpeechBaseStream methods ***/
  9334. #define ISpeechFileStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
  9335. #define ISpeechFileStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
  9336. #define ISpeechFileStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
  9337. #define ISpeechFileStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
  9338. #define ISpeechFileStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
  9339. /*** ISpeechFileStream methods ***/
  9340. #define ISpeechFileStream_Open(This,FileName,FileMode,DoEvents) (This)->lpVtbl->Open(This,FileName,FileMode,DoEvents)
  9341. #define ISpeechFileStream_Close(This) (This)->lpVtbl->Close(This)
  9342. #else
  9343. /*** IUnknown methods ***/
  9344. static FORCEINLINE HRESULT ISpeechFileStream_QueryInterface(ISpeechFileStream* This,REFIID riid,void **ppvObject) {
  9345. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  9346. }
  9347. static FORCEINLINE ULONG ISpeechFileStream_AddRef(ISpeechFileStream* This) {
  9348. return This->lpVtbl->AddRef(This);
  9349. }
  9350. static FORCEINLINE ULONG ISpeechFileStream_Release(ISpeechFileStream* This) {
  9351. return This->lpVtbl->Release(This);
  9352. }
  9353. /*** IDispatch methods ***/
  9354. static FORCEINLINE HRESULT ISpeechFileStream_GetTypeInfoCount(ISpeechFileStream* This,UINT *pctinfo) {
  9355. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  9356. }
  9357. static FORCEINLINE HRESULT ISpeechFileStream_GetTypeInfo(ISpeechFileStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  9358. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  9359. }
  9360. static FORCEINLINE HRESULT ISpeechFileStream_GetIDsOfNames(ISpeechFileStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  9361. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  9362. }
  9363. static FORCEINLINE HRESULT ISpeechFileStream_Invoke(ISpeechFileStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  9364. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  9365. }
  9366. /*** ISpeechBaseStream methods ***/
  9367. static FORCEINLINE HRESULT ISpeechFileStream_get_Format(ISpeechFileStream* This,ISpeechAudioFormat **AudioFormat) {
  9368. return This->lpVtbl->get_Format(This,AudioFormat);
  9369. }
  9370. static FORCEINLINE HRESULT ISpeechFileStream_putref_Format(ISpeechFileStream* This,ISpeechAudioFormat *AudioFormat) {
  9371. return This->lpVtbl->putref_Format(This,AudioFormat);
  9372. }
  9373. static FORCEINLINE HRESULT ISpeechFileStream_Read(ISpeechFileStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
  9374. return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
  9375. }
  9376. static FORCEINLINE HRESULT ISpeechFileStream_Write(ISpeechFileStream* This,VARIANT Buffer,LONG *BytesWritten) {
  9377. return This->lpVtbl->Write(This,Buffer,BytesWritten);
  9378. }
  9379. static FORCEINLINE HRESULT ISpeechFileStream_Seek(ISpeechFileStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
  9380. return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
  9381. }
  9382. /*** ISpeechFileStream methods ***/
  9383. static FORCEINLINE HRESULT ISpeechFileStream_Open(ISpeechFileStream* This,BSTR FileName,SpeechStreamFileMode FileMode,VARIANT_BOOL DoEvents) {
  9384. return This->lpVtbl->Open(This,FileName,FileMode,DoEvents);
  9385. }
  9386. static FORCEINLINE HRESULT ISpeechFileStream_Close(ISpeechFileStream* This) {
  9387. return This->lpVtbl->Close(This);
  9388. }
  9389. #endif
  9390. #endif
  9391. #endif
  9392. #endif /* __ISpeechFileStream_INTERFACE_DEFINED__ */
  9393. /*****************************************************************************
  9394. * ISpeechCustomStream interface
  9395. */
  9396. #ifndef __ISpeechCustomStream_INTERFACE_DEFINED__
  9397. #define __ISpeechCustomStream_INTERFACE_DEFINED__
  9398. DEFINE_GUID(IID_ISpeechCustomStream, 0x1a9e9f4f, 0x104f, 0x4db8, 0xa1,0x15, 0xef,0xd7,0xfd,0x0c,0x97,0xae);
  9399. #if defined(__cplusplus) && !defined(CINTERFACE)
  9400. MIDL_INTERFACE("1a9e9f4f-104f-4db8-a115-efd7fd0c97ae")
  9401. ISpeechCustomStream : public ISpeechBaseStream
  9402. {
  9403. virtual HRESULT STDMETHODCALLTYPE get_BaseStream(
  9404. IUnknown **ppUnkStream) = 0;
  9405. virtual HRESULT STDMETHODCALLTYPE putref_BaseStream(
  9406. IUnknown *pUnkStream) = 0;
  9407. };
  9408. #ifdef __CRT_UUID_DECL
  9409. __CRT_UUID_DECL(ISpeechCustomStream, 0x1a9e9f4f, 0x104f, 0x4db8, 0xa1,0x15, 0xef,0xd7,0xfd,0x0c,0x97,0xae)
  9410. #endif
  9411. #else
  9412. typedef struct ISpeechCustomStreamVtbl {
  9413. BEGIN_INTERFACE
  9414. /*** IUnknown methods ***/
  9415. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  9416. ISpeechCustomStream *This,
  9417. REFIID riid,
  9418. void **ppvObject);
  9419. ULONG (STDMETHODCALLTYPE *AddRef)(
  9420. ISpeechCustomStream *This);
  9421. ULONG (STDMETHODCALLTYPE *Release)(
  9422. ISpeechCustomStream *This);
  9423. /*** IDispatch methods ***/
  9424. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  9425. ISpeechCustomStream *This,
  9426. UINT *pctinfo);
  9427. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  9428. ISpeechCustomStream *This,
  9429. UINT iTInfo,
  9430. LCID lcid,
  9431. ITypeInfo **ppTInfo);
  9432. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  9433. ISpeechCustomStream *This,
  9434. REFIID riid,
  9435. LPOLESTR *rgszNames,
  9436. UINT cNames,
  9437. LCID lcid,
  9438. DISPID *rgDispId);
  9439. HRESULT (STDMETHODCALLTYPE *Invoke)(
  9440. ISpeechCustomStream *This,
  9441. DISPID dispIdMember,
  9442. REFIID riid,
  9443. LCID lcid,
  9444. WORD wFlags,
  9445. DISPPARAMS *pDispParams,
  9446. VARIANT *pVarResult,
  9447. EXCEPINFO *pExcepInfo,
  9448. UINT *puArgErr);
  9449. /*** ISpeechBaseStream methods ***/
  9450. HRESULT (STDMETHODCALLTYPE *get_Format)(
  9451. ISpeechCustomStream *This,
  9452. ISpeechAudioFormat **AudioFormat);
  9453. HRESULT (STDMETHODCALLTYPE *putref_Format)(
  9454. ISpeechCustomStream *This,
  9455. ISpeechAudioFormat *AudioFormat);
  9456. HRESULT (STDMETHODCALLTYPE *Read)(
  9457. ISpeechCustomStream *This,
  9458. VARIANT *Buffer,
  9459. LONG NumberOfBytes,
  9460. LONG *BytesRead);
  9461. HRESULT (STDMETHODCALLTYPE *Write)(
  9462. ISpeechCustomStream *This,
  9463. VARIANT Buffer,
  9464. LONG *BytesWritten);
  9465. HRESULT (STDMETHODCALLTYPE *Seek)(
  9466. ISpeechCustomStream *This,
  9467. VARIANT Position,
  9468. SpeechStreamSeekPositionType Origin,
  9469. VARIANT *NewPosition);
  9470. /*** ISpeechCustomStream methods ***/
  9471. HRESULT (STDMETHODCALLTYPE *get_BaseStream)(
  9472. ISpeechCustomStream *This,
  9473. IUnknown **ppUnkStream);
  9474. HRESULT (STDMETHODCALLTYPE *putref_BaseStream)(
  9475. ISpeechCustomStream *This,
  9476. IUnknown *pUnkStream);
  9477. END_INTERFACE
  9478. } ISpeechCustomStreamVtbl;
  9479. interface ISpeechCustomStream {
  9480. CONST_VTBL ISpeechCustomStreamVtbl* lpVtbl;
  9481. };
  9482. #ifdef COBJMACROS
  9483. #ifndef WIDL_C_INLINE_WRAPPERS
  9484. /*** IUnknown methods ***/
  9485. #define ISpeechCustomStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  9486. #define ISpeechCustomStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  9487. #define ISpeechCustomStream_Release(This) (This)->lpVtbl->Release(This)
  9488. /*** IDispatch methods ***/
  9489. #define ISpeechCustomStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  9490. #define ISpeechCustomStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9491. #define ISpeechCustomStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9492. #define ISpeechCustomStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9493. /*** ISpeechBaseStream methods ***/
  9494. #define ISpeechCustomStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
  9495. #define ISpeechCustomStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
  9496. #define ISpeechCustomStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
  9497. #define ISpeechCustomStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
  9498. #define ISpeechCustomStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
  9499. /*** ISpeechCustomStream methods ***/
  9500. #define ISpeechCustomStream_get_BaseStream(This,ppUnkStream) (This)->lpVtbl->get_BaseStream(This,ppUnkStream)
  9501. #define ISpeechCustomStream_putref_BaseStream(This,pUnkStream) (This)->lpVtbl->putref_BaseStream(This,pUnkStream)
  9502. #else
  9503. /*** IUnknown methods ***/
  9504. static FORCEINLINE HRESULT ISpeechCustomStream_QueryInterface(ISpeechCustomStream* This,REFIID riid,void **ppvObject) {
  9505. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  9506. }
  9507. static FORCEINLINE ULONG ISpeechCustomStream_AddRef(ISpeechCustomStream* This) {
  9508. return This->lpVtbl->AddRef(This);
  9509. }
  9510. static FORCEINLINE ULONG ISpeechCustomStream_Release(ISpeechCustomStream* This) {
  9511. return This->lpVtbl->Release(This);
  9512. }
  9513. /*** IDispatch methods ***/
  9514. static FORCEINLINE HRESULT ISpeechCustomStream_GetTypeInfoCount(ISpeechCustomStream* This,UINT *pctinfo) {
  9515. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  9516. }
  9517. static FORCEINLINE HRESULT ISpeechCustomStream_GetTypeInfo(ISpeechCustomStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  9518. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  9519. }
  9520. static FORCEINLINE HRESULT ISpeechCustomStream_GetIDsOfNames(ISpeechCustomStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  9521. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  9522. }
  9523. static FORCEINLINE HRESULT ISpeechCustomStream_Invoke(ISpeechCustomStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  9524. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  9525. }
  9526. /*** ISpeechBaseStream methods ***/
  9527. static FORCEINLINE HRESULT ISpeechCustomStream_get_Format(ISpeechCustomStream* This,ISpeechAudioFormat **AudioFormat) {
  9528. return This->lpVtbl->get_Format(This,AudioFormat);
  9529. }
  9530. static FORCEINLINE HRESULT ISpeechCustomStream_putref_Format(ISpeechCustomStream* This,ISpeechAudioFormat *AudioFormat) {
  9531. return This->lpVtbl->putref_Format(This,AudioFormat);
  9532. }
  9533. static FORCEINLINE HRESULT ISpeechCustomStream_Read(ISpeechCustomStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
  9534. return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
  9535. }
  9536. static FORCEINLINE HRESULT ISpeechCustomStream_Write(ISpeechCustomStream* This,VARIANT Buffer,LONG *BytesWritten) {
  9537. return This->lpVtbl->Write(This,Buffer,BytesWritten);
  9538. }
  9539. static FORCEINLINE HRESULT ISpeechCustomStream_Seek(ISpeechCustomStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
  9540. return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
  9541. }
  9542. /*** ISpeechCustomStream methods ***/
  9543. static FORCEINLINE HRESULT ISpeechCustomStream_get_BaseStream(ISpeechCustomStream* This,IUnknown **ppUnkStream) {
  9544. return This->lpVtbl->get_BaseStream(This,ppUnkStream);
  9545. }
  9546. static FORCEINLINE HRESULT ISpeechCustomStream_putref_BaseStream(ISpeechCustomStream* This,IUnknown *pUnkStream) {
  9547. return This->lpVtbl->putref_BaseStream(This,pUnkStream);
  9548. }
  9549. #endif
  9550. #endif
  9551. #endif
  9552. #endif /* __ISpeechCustomStream_INTERFACE_DEFINED__ */
  9553. /*****************************************************************************
  9554. * ISpeechMemoryStream interface
  9555. */
  9556. #ifndef __ISpeechMemoryStream_INTERFACE_DEFINED__
  9557. #define __ISpeechMemoryStream_INTERFACE_DEFINED__
  9558. DEFINE_GUID(IID_ISpeechMemoryStream, 0xeeb14b68, 0x808b, 0x4abe, 0xa5,0xea, 0xb5,0x1d,0xa7,0x58,0x80,0x08);
  9559. #if defined(__cplusplus) && !defined(CINTERFACE)
  9560. MIDL_INTERFACE("eeb14b68-808b-4abe-a5ea-b51da7588008")
  9561. ISpeechMemoryStream : public ISpeechBaseStream
  9562. {
  9563. virtual HRESULT STDMETHODCALLTYPE SetData(
  9564. VARIANT Data) = 0;
  9565. virtual HRESULT STDMETHODCALLTYPE GetData(
  9566. VARIANT *pData) = 0;
  9567. };
  9568. #ifdef __CRT_UUID_DECL
  9569. __CRT_UUID_DECL(ISpeechMemoryStream, 0xeeb14b68, 0x808b, 0x4abe, 0xa5,0xea, 0xb5,0x1d,0xa7,0x58,0x80,0x08)
  9570. #endif
  9571. #else
  9572. typedef struct ISpeechMemoryStreamVtbl {
  9573. BEGIN_INTERFACE
  9574. /*** IUnknown methods ***/
  9575. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  9576. ISpeechMemoryStream *This,
  9577. REFIID riid,
  9578. void **ppvObject);
  9579. ULONG (STDMETHODCALLTYPE *AddRef)(
  9580. ISpeechMemoryStream *This);
  9581. ULONG (STDMETHODCALLTYPE *Release)(
  9582. ISpeechMemoryStream *This);
  9583. /*** IDispatch methods ***/
  9584. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  9585. ISpeechMemoryStream *This,
  9586. UINT *pctinfo);
  9587. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  9588. ISpeechMemoryStream *This,
  9589. UINT iTInfo,
  9590. LCID lcid,
  9591. ITypeInfo **ppTInfo);
  9592. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  9593. ISpeechMemoryStream *This,
  9594. REFIID riid,
  9595. LPOLESTR *rgszNames,
  9596. UINT cNames,
  9597. LCID lcid,
  9598. DISPID *rgDispId);
  9599. HRESULT (STDMETHODCALLTYPE *Invoke)(
  9600. ISpeechMemoryStream *This,
  9601. DISPID dispIdMember,
  9602. REFIID riid,
  9603. LCID lcid,
  9604. WORD wFlags,
  9605. DISPPARAMS *pDispParams,
  9606. VARIANT *pVarResult,
  9607. EXCEPINFO *pExcepInfo,
  9608. UINT *puArgErr);
  9609. /*** ISpeechBaseStream methods ***/
  9610. HRESULT (STDMETHODCALLTYPE *get_Format)(
  9611. ISpeechMemoryStream *This,
  9612. ISpeechAudioFormat **AudioFormat);
  9613. HRESULT (STDMETHODCALLTYPE *putref_Format)(
  9614. ISpeechMemoryStream *This,
  9615. ISpeechAudioFormat *AudioFormat);
  9616. HRESULT (STDMETHODCALLTYPE *Read)(
  9617. ISpeechMemoryStream *This,
  9618. VARIANT *Buffer,
  9619. LONG NumberOfBytes,
  9620. LONG *BytesRead);
  9621. HRESULT (STDMETHODCALLTYPE *Write)(
  9622. ISpeechMemoryStream *This,
  9623. VARIANT Buffer,
  9624. LONG *BytesWritten);
  9625. HRESULT (STDMETHODCALLTYPE *Seek)(
  9626. ISpeechMemoryStream *This,
  9627. VARIANT Position,
  9628. SpeechStreamSeekPositionType Origin,
  9629. VARIANT *NewPosition);
  9630. /*** ISpeechMemoryStream methods ***/
  9631. HRESULT (STDMETHODCALLTYPE *SetData)(
  9632. ISpeechMemoryStream *This,
  9633. VARIANT Data);
  9634. HRESULT (STDMETHODCALLTYPE *GetData)(
  9635. ISpeechMemoryStream *This,
  9636. VARIANT *pData);
  9637. END_INTERFACE
  9638. } ISpeechMemoryStreamVtbl;
  9639. interface ISpeechMemoryStream {
  9640. CONST_VTBL ISpeechMemoryStreamVtbl* lpVtbl;
  9641. };
  9642. #ifdef COBJMACROS
  9643. #ifndef WIDL_C_INLINE_WRAPPERS
  9644. /*** IUnknown methods ***/
  9645. #define ISpeechMemoryStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  9646. #define ISpeechMemoryStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  9647. #define ISpeechMemoryStream_Release(This) (This)->lpVtbl->Release(This)
  9648. /*** IDispatch methods ***/
  9649. #define ISpeechMemoryStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  9650. #define ISpeechMemoryStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9651. #define ISpeechMemoryStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9652. #define ISpeechMemoryStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9653. /*** ISpeechBaseStream methods ***/
  9654. #define ISpeechMemoryStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
  9655. #define ISpeechMemoryStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
  9656. #define ISpeechMemoryStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
  9657. #define ISpeechMemoryStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
  9658. #define ISpeechMemoryStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
  9659. /*** ISpeechMemoryStream methods ***/
  9660. #define ISpeechMemoryStream_SetData(This,Data) (This)->lpVtbl->SetData(This,Data)
  9661. #define ISpeechMemoryStream_GetData(This,pData) (This)->lpVtbl->GetData(This,pData)
  9662. #else
  9663. /*** IUnknown methods ***/
  9664. static FORCEINLINE HRESULT ISpeechMemoryStream_QueryInterface(ISpeechMemoryStream* This,REFIID riid,void **ppvObject) {
  9665. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  9666. }
  9667. static FORCEINLINE ULONG ISpeechMemoryStream_AddRef(ISpeechMemoryStream* This) {
  9668. return This->lpVtbl->AddRef(This);
  9669. }
  9670. static FORCEINLINE ULONG ISpeechMemoryStream_Release(ISpeechMemoryStream* This) {
  9671. return This->lpVtbl->Release(This);
  9672. }
  9673. /*** IDispatch methods ***/
  9674. static FORCEINLINE HRESULT ISpeechMemoryStream_GetTypeInfoCount(ISpeechMemoryStream* This,UINT *pctinfo) {
  9675. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  9676. }
  9677. static FORCEINLINE HRESULT ISpeechMemoryStream_GetTypeInfo(ISpeechMemoryStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  9678. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  9679. }
  9680. static FORCEINLINE HRESULT ISpeechMemoryStream_GetIDsOfNames(ISpeechMemoryStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  9681. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  9682. }
  9683. static FORCEINLINE HRESULT ISpeechMemoryStream_Invoke(ISpeechMemoryStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  9684. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  9685. }
  9686. /*** ISpeechBaseStream methods ***/
  9687. static FORCEINLINE HRESULT ISpeechMemoryStream_get_Format(ISpeechMemoryStream* This,ISpeechAudioFormat **AudioFormat) {
  9688. return This->lpVtbl->get_Format(This,AudioFormat);
  9689. }
  9690. static FORCEINLINE HRESULT ISpeechMemoryStream_putref_Format(ISpeechMemoryStream* This,ISpeechAudioFormat *AudioFormat) {
  9691. return This->lpVtbl->putref_Format(This,AudioFormat);
  9692. }
  9693. static FORCEINLINE HRESULT ISpeechMemoryStream_Read(ISpeechMemoryStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
  9694. return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
  9695. }
  9696. static FORCEINLINE HRESULT ISpeechMemoryStream_Write(ISpeechMemoryStream* This,VARIANT Buffer,LONG *BytesWritten) {
  9697. return This->lpVtbl->Write(This,Buffer,BytesWritten);
  9698. }
  9699. static FORCEINLINE HRESULT ISpeechMemoryStream_Seek(ISpeechMemoryStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
  9700. return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
  9701. }
  9702. /*** ISpeechMemoryStream methods ***/
  9703. static FORCEINLINE HRESULT ISpeechMemoryStream_SetData(ISpeechMemoryStream* This,VARIANT Data) {
  9704. return This->lpVtbl->SetData(This,Data);
  9705. }
  9706. static FORCEINLINE HRESULT ISpeechMemoryStream_GetData(ISpeechMemoryStream* This,VARIANT *pData) {
  9707. return This->lpVtbl->GetData(This,pData);
  9708. }
  9709. #endif
  9710. #endif
  9711. #endif
  9712. #endif /* __ISpeechMemoryStream_INTERFACE_DEFINED__ */
  9713. /*****************************************************************************
  9714. * ISpeechAudioStatus interface
  9715. */
  9716. #ifndef __ISpeechAudioStatus_INTERFACE_DEFINED__
  9717. #define __ISpeechAudioStatus_INTERFACE_DEFINED__
  9718. DEFINE_GUID(IID_ISpeechAudioStatus, 0xc62d9c91, 0x7458, 0x47f6, 0x86,0x2d, 0x1e,0xf8,0x6f,0xb0,0xb2,0x78);
  9719. #if defined(__cplusplus) && !defined(CINTERFACE)
  9720. MIDL_INTERFACE("c62d9c91-7458-47f6-862d-1ef86fb0b278")
  9721. ISpeechAudioStatus : public IDispatch
  9722. {
  9723. virtual HRESULT STDMETHODCALLTYPE get_FreeBufferSpace(
  9724. LONG *FreeBufferSpace) = 0;
  9725. virtual HRESULT STDMETHODCALLTYPE get_NonBlockingIO(
  9726. LONG *NonBlockingIO) = 0;
  9727. virtual HRESULT STDMETHODCALLTYPE get_State(
  9728. SpeechAudioState *State) = 0;
  9729. virtual HRESULT STDMETHODCALLTYPE get_CurrentSeekPosition(
  9730. VARIANT *CurrentSeekPosition) = 0;
  9731. virtual HRESULT STDMETHODCALLTYPE get_CurrentDevicePosition(
  9732. VARIANT *CurrentDevicePosition) = 0;
  9733. };
  9734. #ifdef __CRT_UUID_DECL
  9735. __CRT_UUID_DECL(ISpeechAudioStatus, 0xc62d9c91, 0x7458, 0x47f6, 0x86,0x2d, 0x1e,0xf8,0x6f,0xb0,0xb2,0x78)
  9736. #endif
  9737. #else
  9738. typedef struct ISpeechAudioStatusVtbl {
  9739. BEGIN_INTERFACE
  9740. /*** IUnknown methods ***/
  9741. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  9742. ISpeechAudioStatus *This,
  9743. REFIID riid,
  9744. void **ppvObject);
  9745. ULONG (STDMETHODCALLTYPE *AddRef)(
  9746. ISpeechAudioStatus *This);
  9747. ULONG (STDMETHODCALLTYPE *Release)(
  9748. ISpeechAudioStatus *This);
  9749. /*** IDispatch methods ***/
  9750. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  9751. ISpeechAudioStatus *This,
  9752. UINT *pctinfo);
  9753. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  9754. ISpeechAudioStatus *This,
  9755. UINT iTInfo,
  9756. LCID lcid,
  9757. ITypeInfo **ppTInfo);
  9758. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  9759. ISpeechAudioStatus *This,
  9760. REFIID riid,
  9761. LPOLESTR *rgszNames,
  9762. UINT cNames,
  9763. LCID lcid,
  9764. DISPID *rgDispId);
  9765. HRESULT (STDMETHODCALLTYPE *Invoke)(
  9766. ISpeechAudioStatus *This,
  9767. DISPID dispIdMember,
  9768. REFIID riid,
  9769. LCID lcid,
  9770. WORD wFlags,
  9771. DISPPARAMS *pDispParams,
  9772. VARIANT *pVarResult,
  9773. EXCEPINFO *pExcepInfo,
  9774. UINT *puArgErr);
  9775. /*** ISpeechAudioStatus methods ***/
  9776. HRESULT (STDMETHODCALLTYPE *get_FreeBufferSpace)(
  9777. ISpeechAudioStatus *This,
  9778. LONG *FreeBufferSpace);
  9779. HRESULT (STDMETHODCALLTYPE *get_NonBlockingIO)(
  9780. ISpeechAudioStatus *This,
  9781. LONG *NonBlockingIO);
  9782. HRESULT (STDMETHODCALLTYPE *get_State)(
  9783. ISpeechAudioStatus *This,
  9784. SpeechAudioState *State);
  9785. HRESULT (STDMETHODCALLTYPE *get_CurrentSeekPosition)(
  9786. ISpeechAudioStatus *This,
  9787. VARIANT *CurrentSeekPosition);
  9788. HRESULT (STDMETHODCALLTYPE *get_CurrentDevicePosition)(
  9789. ISpeechAudioStatus *This,
  9790. VARIANT *CurrentDevicePosition);
  9791. END_INTERFACE
  9792. } ISpeechAudioStatusVtbl;
  9793. interface ISpeechAudioStatus {
  9794. CONST_VTBL ISpeechAudioStatusVtbl* lpVtbl;
  9795. };
  9796. #ifdef COBJMACROS
  9797. #ifndef WIDL_C_INLINE_WRAPPERS
  9798. /*** IUnknown methods ***/
  9799. #define ISpeechAudioStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  9800. #define ISpeechAudioStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
  9801. #define ISpeechAudioStatus_Release(This) (This)->lpVtbl->Release(This)
  9802. /*** IDispatch methods ***/
  9803. #define ISpeechAudioStatus_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  9804. #define ISpeechAudioStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9805. #define ISpeechAudioStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9806. #define ISpeechAudioStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9807. /*** ISpeechAudioStatus methods ***/
  9808. #define ISpeechAudioStatus_get_FreeBufferSpace(This,FreeBufferSpace) (This)->lpVtbl->get_FreeBufferSpace(This,FreeBufferSpace)
  9809. #define ISpeechAudioStatus_get_NonBlockingIO(This,NonBlockingIO) (This)->lpVtbl->get_NonBlockingIO(This,NonBlockingIO)
  9810. #define ISpeechAudioStatus_get_State(This,State) (This)->lpVtbl->get_State(This,State)
  9811. #define ISpeechAudioStatus_get_CurrentSeekPosition(This,CurrentSeekPosition) (This)->lpVtbl->get_CurrentSeekPosition(This,CurrentSeekPosition)
  9812. #define ISpeechAudioStatus_get_CurrentDevicePosition(This,CurrentDevicePosition) (This)->lpVtbl->get_CurrentDevicePosition(This,CurrentDevicePosition)
  9813. #else
  9814. /*** IUnknown methods ***/
  9815. static FORCEINLINE HRESULT ISpeechAudioStatus_QueryInterface(ISpeechAudioStatus* This,REFIID riid,void **ppvObject) {
  9816. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  9817. }
  9818. static FORCEINLINE ULONG ISpeechAudioStatus_AddRef(ISpeechAudioStatus* This) {
  9819. return This->lpVtbl->AddRef(This);
  9820. }
  9821. static FORCEINLINE ULONG ISpeechAudioStatus_Release(ISpeechAudioStatus* This) {
  9822. return This->lpVtbl->Release(This);
  9823. }
  9824. /*** IDispatch methods ***/
  9825. static FORCEINLINE HRESULT ISpeechAudioStatus_GetTypeInfoCount(ISpeechAudioStatus* This,UINT *pctinfo) {
  9826. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  9827. }
  9828. static FORCEINLINE HRESULT ISpeechAudioStatus_GetTypeInfo(ISpeechAudioStatus* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  9829. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  9830. }
  9831. static FORCEINLINE HRESULT ISpeechAudioStatus_GetIDsOfNames(ISpeechAudioStatus* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  9832. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  9833. }
  9834. static FORCEINLINE HRESULT ISpeechAudioStatus_Invoke(ISpeechAudioStatus* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  9835. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  9836. }
  9837. /*** ISpeechAudioStatus methods ***/
  9838. static FORCEINLINE HRESULT ISpeechAudioStatus_get_FreeBufferSpace(ISpeechAudioStatus* This,LONG *FreeBufferSpace) {
  9839. return This->lpVtbl->get_FreeBufferSpace(This,FreeBufferSpace);
  9840. }
  9841. static FORCEINLINE HRESULT ISpeechAudioStatus_get_NonBlockingIO(ISpeechAudioStatus* This,LONG *NonBlockingIO) {
  9842. return This->lpVtbl->get_NonBlockingIO(This,NonBlockingIO);
  9843. }
  9844. static FORCEINLINE HRESULT ISpeechAudioStatus_get_State(ISpeechAudioStatus* This,SpeechAudioState *State) {
  9845. return This->lpVtbl->get_State(This,State);
  9846. }
  9847. static FORCEINLINE HRESULT ISpeechAudioStatus_get_CurrentSeekPosition(ISpeechAudioStatus* This,VARIANT *CurrentSeekPosition) {
  9848. return This->lpVtbl->get_CurrentSeekPosition(This,CurrentSeekPosition);
  9849. }
  9850. static FORCEINLINE HRESULT ISpeechAudioStatus_get_CurrentDevicePosition(ISpeechAudioStatus* This,VARIANT *CurrentDevicePosition) {
  9851. return This->lpVtbl->get_CurrentDevicePosition(This,CurrentDevicePosition);
  9852. }
  9853. #endif
  9854. #endif
  9855. #endif
  9856. #endif /* __ISpeechAudioStatus_INTERFACE_DEFINED__ */
  9857. /*****************************************************************************
  9858. * ISpeechAudioBufferInfo interface
  9859. */
  9860. #ifndef __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
  9861. #define __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
  9862. DEFINE_GUID(IID_ISpeechAudioBufferInfo, 0x11b103d8, 0x1142, 0x4edf, 0xa0,0x93, 0x82,0xfb,0x39,0x15,0xf8,0xcc);
  9863. #if defined(__cplusplus) && !defined(CINTERFACE)
  9864. MIDL_INTERFACE("11b103d8-1142-4edf-a093-82fb3915f8cc")
  9865. ISpeechAudioBufferInfo : public IDispatch
  9866. {
  9867. virtual HRESULT STDMETHODCALLTYPE get_MinNotification(
  9868. LONG *MinNotification) = 0;
  9869. virtual HRESULT STDMETHODCALLTYPE put_MinNotification(
  9870. LONG MinNotification) = 0;
  9871. virtual HRESULT STDMETHODCALLTYPE get_BufferSize(
  9872. LONG *BufferSize) = 0;
  9873. virtual HRESULT STDMETHODCALLTYPE put_BufferSize(
  9874. LONG BufferSize) = 0;
  9875. virtual HRESULT STDMETHODCALLTYPE get_EventBias(
  9876. LONG *EventBias) = 0;
  9877. virtual HRESULT STDMETHODCALLTYPE put_EventBias(
  9878. LONG EventBias) = 0;
  9879. };
  9880. #ifdef __CRT_UUID_DECL
  9881. __CRT_UUID_DECL(ISpeechAudioBufferInfo, 0x11b103d8, 0x1142, 0x4edf, 0xa0,0x93, 0x82,0xfb,0x39,0x15,0xf8,0xcc)
  9882. #endif
  9883. #else
  9884. typedef struct ISpeechAudioBufferInfoVtbl {
  9885. BEGIN_INTERFACE
  9886. /*** IUnknown methods ***/
  9887. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  9888. ISpeechAudioBufferInfo *This,
  9889. REFIID riid,
  9890. void **ppvObject);
  9891. ULONG (STDMETHODCALLTYPE *AddRef)(
  9892. ISpeechAudioBufferInfo *This);
  9893. ULONG (STDMETHODCALLTYPE *Release)(
  9894. ISpeechAudioBufferInfo *This);
  9895. /*** IDispatch methods ***/
  9896. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  9897. ISpeechAudioBufferInfo *This,
  9898. UINT *pctinfo);
  9899. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  9900. ISpeechAudioBufferInfo *This,
  9901. UINT iTInfo,
  9902. LCID lcid,
  9903. ITypeInfo **ppTInfo);
  9904. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  9905. ISpeechAudioBufferInfo *This,
  9906. REFIID riid,
  9907. LPOLESTR *rgszNames,
  9908. UINT cNames,
  9909. LCID lcid,
  9910. DISPID *rgDispId);
  9911. HRESULT (STDMETHODCALLTYPE *Invoke)(
  9912. ISpeechAudioBufferInfo *This,
  9913. DISPID dispIdMember,
  9914. REFIID riid,
  9915. LCID lcid,
  9916. WORD wFlags,
  9917. DISPPARAMS *pDispParams,
  9918. VARIANT *pVarResult,
  9919. EXCEPINFO *pExcepInfo,
  9920. UINT *puArgErr);
  9921. /*** ISpeechAudioBufferInfo methods ***/
  9922. HRESULT (STDMETHODCALLTYPE *get_MinNotification)(
  9923. ISpeechAudioBufferInfo *This,
  9924. LONG *MinNotification);
  9925. HRESULT (STDMETHODCALLTYPE *put_MinNotification)(
  9926. ISpeechAudioBufferInfo *This,
  9927. LONG MinNotification);
  9928. HRESULT (STDMETHODCALLTYPE *get_BufferSize)(
  9929. ISpeechAudioBufferInfo *This,
  9930. LONG *BufferSize);
  9931. HRESULT (STDMETHODCALLTYPE *put_BufferSize)(
  9932. ISpeechAudioBufferInfo *This,
  9933. LONG BufferSize);
  9934. HRESULT (STDMETHODCALLTYPE *get_EventBias)(
  9935. ISpeechAudioBufferInfo *This,
  9936. LONG *EventBias);
  9937. HRESULT (STDMETHODCALLTYPE *put_EventBias)(
  9938. ISpeechAudioBufferInfo *This,
  9939. LONG EventBias);
  9940. END_INTERFACE
  9941. } ISpeechAudioBufferInfoVtbl;
  9942. interface ISpeechAudioBufferInfo {
  9943. CONST_VTBL ISpeechAudioBufferInfoVtbl* lpVtbl;
  9944. };
  9945. #ifdef COBJMACROS
  9946. #ifndef WIDL_C_INLINE_WRAPPERS
  9947. /*** IUnknown methods ***/
  9948. #define ISpeechAudioBufferInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  9949. #define ISpeechAudioBufferInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
  9950. #define ISpeechAudioBufferInfo_Release(This) (This)->lpVtbl->Release(This)
  9951. /*** IDispatch methods ***/
  9952. #define ISpeechAudioBufferInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  9953. #define ISpeechAudioBufferInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  9954. #define ISpeechAudioBufferInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  9955. #define ISpeechAudioBufferInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  9956. /*** ISpeechAudioBufferInfo methods ***/
  9957. #define ISpeechAudioBufferInfo_get_MinNotification(This,MinNotification) (This)->lpVtbl->get_MinNotification(This,MinNotification)
  9958. #define ISpeechAudioBufferInfo_put_MinNotification(This,MinNotification) (This)->lpVtbl->put_MinNotification(This,MinNotification)
  9959. #define ISpeechAudioBufferInfo_get_BufferSize(This,BufferSize) (This)->lpVtbl->get_BufferSize(This,BufferSize)
  9960. #define ISpeechAudioBufferInfo_put_BufferSize(This,BufferSize) (This)->lpVtbl->put_BufferSize(This,BufferSize)
  9961. #define ISpeechAudioBufferInfo_get_EventBias(This,EventBias) (This)->lpVtbl->get_EventBias(This,EventBias)
  9962. #define ISpeechAudioBufferInfo_put_EventBias(This,EventBias) (This)->lpVtbl->put_EventBias(This,EventBias)
  9963. #else
  9964. /*** IUnknown methods ***/
  9965. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_QueryInterface(ISpeechAudioBufferInfo* This,REFIID riid,void **ppvObject) {
  9966. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  9967. }
  9968. static FORCEINLINE ULONG ISpeechAudioBufferInfo_AddRef(ISpeechAudioBufferInfo* This) {
  9969. return This->lpVtbl->AddRef(This);
  9970. }
  9971. static FORCEINLINE ULONG ISpeechAudioBufferInfo_Release(ISpeechAudioBufferInfo* This) {
  9972. return This->lpVtbl->Release(This);
  9973. }
  9974. /*** IDispatch methods ***/
  9975. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_GetTypeInfoCount(ISpeechAudioBufferInfo* This,UINT *pctinfo) {
  9976. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  9977. }
  9978. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_GetTypeInfo(ISpeechAudioBufferInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  9979. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  9980. }
  9981. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_GetIDsOfNames(ISpeechAudioBufferInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  9982. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  9983. }
  9984. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_Invoke(ISpeechAudioBufferInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  9985. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  9986. }
  9987. /*** ISpeechAudioBufferInfo methods ***/
  9988. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_get_MinNotification(ISpeechAudioBufferInfo* This,LONG *MinNotification) {
  9989. return This->lpVtbl->get_MinNotification(This,MinNotification);
  9990. }
  9991. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_put_MinNotification(ISpeechAudioBufferInfo* This,LONG MinNotification) {
  9992. return This->lpVtbl->put_MinNotification(This,MinNotification);
  9993. }
  9994. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_get_BufferSize(ISpeechAudioBufferInfo* This,LONG *BufferSize) {
  9995. return This->lpVtbl->get_BufferSize(This,BufferSize);
  9996. }
  9997. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_put_BufferSize(ISpeechAudioBufferInfo* This,LONG BufferSize) {
  9998. return This->lpVtbl->put_BufferSize(This,BufferSize);
  9999. }
  10000. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_get_EventBias(ISpeechAudioBufferInfo* This,LONG *EventBias) {
  10001. return This->lpVtbl->get_EventBias(This,EventBias);
  10002. }
  10003. static FORCEINLINE HRESULT ISpeechAudioBufferInfo_put_EventBias(ISpeechAudioBufferInfo* This,LONG EventBias) {
  10004. return This->lpVtbl->put_EventBias(This,EventBias);
  10005. }
  10006. #endif
  10007. #endif
  10008. #endif
  10009. #endif /* __ISpeechAudioBufferInfo_INTERFACE_DEFINED__ */
  10010. /*****************************************************************************
  10011. * ISpeechWaveFormatEx interface
  10012. */
  10013. #ifndef __ISpeechWaveFormatEx_INTERFACE_DEFINED__
  10014. #define __ISpeechWaveFormatEx_INTERFACE_DEFINED__
  10015. DEFINE_GUID(IID_ISpeechWaveFormatEx, 0x7a1ef0d5, 0x1581, 0x4741, 0x88,0xe4, 0x20,0x9a,0x49,0xf1,0x1a,0x10);
  10016. #if defined(__cplusplus) && !defined(CINTERFACE)
  10017. MIDL_INTERFACE("7a1ef0d5-1581-4741-88e4-209a49f11a10")
  10018. ISpeechWaveFormatEx : public IDispatch
  10019. {
  10020. virtual HRESULT STDMETHODCALLTYPE get_FormatTag(
  10021. short *FormatTag) = 0;
  10022. virtual HRESULT STDMETHODCALLTYPE put_FormatTag(
  10023. short FormatTag) = 0;
  10024. virtual HRESULT STDMETHODCALLTYPE get_Channels(
  10025. short *Channels) = 0;
  10026. virtual HRESULT STDMETHODCALLTYPE put_Channels(
  10027. short Channels) = 0;
  10028. virtual HRESULT STDMETHODCALLTYPE get_SamplesPerSec(
  10029. LONG *SamplesPerSec) = 0;
  10030. virtual HRESULT STDMETHODCALLTYPE put_SamplesPerSec(
  10031. LONG SamplesPerSec) = 0;
  10032. virtual HRESULT STDMETHODCALLTYPE get_AvgBytesPerSec(
  10033. LONG *AvgBytesPerSec) = 0;
  10034. virtual HRESULT STDMETHODCALLTYPE put_AvgBytesPerSec(
  10035. LONG AvgBytesPerSec) = 0;
  10036. virtual HRESULT STDMETHODCALLTYPE get_BlockAlign(
  10037. short *BlockAlign) = 0;
  10038. virtual HRESULT STDMETHODCALLTYPE put_BlockAlign(
  10039. short BlockAlign) = 0;
  10040. virtual HRESULT STDMETHODCALLTYPE get_BitsPerSample(
  10041. short *BitsPerSample) = 0;
  10042. virtual HRESULT STDMETHODCALLTYPE put_BitsPerSample(
  10043. short BitsPerSample) = 0;
  10044. virtual HRESULT STDMETHODCALLTYPE get_ExtraData(
  10045. VARIANT *ExtraData) = 0;
  10046. virtual HRESULT STDMETHODCALLTYPE put_ExtraData(
  10047. VARIANT ExtraData) = 0;
  10048. };
  10049. #ifdef __CRT_UUID_DECL
  10050. __CRT_UUID_DECL(ISpeechWaveFormatEx, 0x7a1ef0d5, 0x1581, 0x4741, 0x88,0xe4, 0x20,0x9a,0x49,0xf1,0x1a,0x10)
  10051. #endif
  10052. #else
  10053. typedef struct ISpeechWaveFormatExVtbl {
  10054. BEGIN_INTERFACE
  10055. /*** IUnknown methods ***/
  10056. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  10057. ISpeechWaveFormatEx *This,
  10058. REFIID riid,
  10059. void **ppvObject);
  10060. ULONG (STDMETHODCALLTYPE *AddRef)(
  10061. ISpeechWaveFormatEx *This);
  10062. ULONG (STDMETHODCALLTYPE *Release)(
  10063. ISpeechWaveFormatEx *This);
  10064. /*** IDispatch methods ***/
  10065. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  10066. ISpeechWaveFormatEx *This,
  10067. UINT *pctinfo);
  10068. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  10069. ISpeechWaveFormatEx *This,
  10070. UINT iTInfo,
  10071. LCID lcid,
  10072. ITypeInfo **ppTInfo);
  10073. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  10074. ISpeechWaveFormatEx *This,
  10075. REFIID riid,
  10076. LPOLESTR *rgszNames,
  10077. UINT cNames,
  10078. LCID lcid,
  10079. DISPID *rgDispId);
  10080. HRESULT (STDMETHODCALLTYPE *Invoke)(
  10081. ISpeechWaveFormatEx *This,
  10082. DISPID dispIdMember,
  10083. REFIID riid,
  10084. LCID lcid,
  10085. WORD wFlags,
  10086. DISPPARAMS *pDispParams,
  10087. VARIANT *pVarResult,
  10088. EXCEPINFO *pExcepInfo,
  10089. UINT *puArgErr);
  10090. /*** ISpeechWaveFormatEx methods ***/
  10091. HRESULT (STDMETHODCALLTYPE *get_FormatTag)(
  10092. ISpeechWaveFormatEx *This,
  10093. short *FormatTag);
  10094. HRESULT (STDMETHODCALLTYPE *put_FormatTag)(
  10095. ISpeechWaveFormatEx *This,
  10096. short FormatTag);
  10097. HRESULT (STDMETHODCALLTYPE *get_Channels)(
  10098. ISpeechWaveFormatEx *This,
  10099. short *Channels);
  10100. HRESULT (STDMETHODCALLTYPE *put_Channels)(
  10101. ISpeechWaveFormatEx *This,
  10102. short Channels);
  10103. HRESULT (STDMETHODCALLTYPE *get_SamplesPerSec)(
  10104. ISpeechWaveFormatEx *This,
  10105. LONG *SamplesPerSec);
  10106. HRESULT (STDMETHODCALLTYPE *put_SamplesPerSec)(
  10107. ISpeechWaveFormatEx *This,
  10108. LONG SamplesPerSec);
  10109. HRESULT (STDMETHODCALLTYPE *get_AvgBytesPerSec)(
  10110. ISpeechWaveFormatEx *This,
  10111. LONG *AvgBytesPerSec);
  10112. HRESULT (STDMETHODCALLTYPE *put_AvgBytesPerSec)(
  10113. ISpeechWaveFormatEx *This,
  10114. LONG AvgBytesPerSec);
  10115. HRESULT (STDMETHODCALLTYPE *get_BlockAlign)(
  10116. ISpeechWaveFormatEx *This,
  10117. short *BlockAlign);
  10118. HRESULT (STDMETHODCALLTYPE *put_BlockAlign)(
  10119. ISpeechWaveFormatEx *This,
  10120. short BlockAlign);
  10121. HRESULT (STDMETHODCALLTYPE *get_BitsPerSample)(
  10122. ISpeechWaveFormatEx *This,
  10123. short *BitsPerSample);
  10124. HRESULT (STDMETHODCALLTYPE *put_BitsPerSample)(
  10125. ISpeechWaveFormatEx *This,
  10126. short BitsPerSample);
  10127. HRESULT (STDMETHODCALLTYPE *get_ExtraData)(
  10128. ISpeechWaveFormatEx *This,
  10129. VARIANT *ExtraData);
  10130. HRESULT (STDMETHODCALLTYPE *put_ExtraData)(
  10131. ISpeechWaveFormatEx *This,
  10132. VARIANT ExtraData);
  10133. END_INTERFACE
  10134. } ISpeechWaveFormatExVtbl;
  10135. interface ISpeechWaveFormatEx {
  10136. CONST_VTBL ISpeechWaveFormatExVtbl* lpVtbl;
  10137. };
  10138. #ifdef COBJMACROS
  10139. #ifndef WIDL_C_INLINE_WRAPPERS
  10140. /*** IUnknown methods ***/
  10141. #define ISpeechWaveFormatEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  10142. #define ISpeechWaveFormatEx_AddRef(This) (This)->lpVtbl->AddRef(This)
  10143. #define ISpeechWaveFormatEx_Release(This) (This)->lpVtbl->Release(This)
  10144. /*** IDispatch methods ***/
  10145. #define ISpeechWaveFormatEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  10146. #define ISpeechWaveFormatEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  10147. #define ISpeechWaveFormatEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  10148. #define ISpeechWaveFormatEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  10149. /*** ISpeechWaveFormatEx methods ***/
  10150. #define ISpeechWaveFormatEx_get_FormatTag(This,FormatTag) (This)->lpVtbl->get_FormatTag(This,FormatTag)
  10151. #define ISpeechWaveFormatEx_put_FormatTag(This,FormatTag) (This)->lpVtbl->put_FormatTag(This,FormatTag)
  10152. #define ISpeechWaveFormatEx_get_Channels(This,Channels) (This)->lpVtbl->get_Channels(This,Channels)
  10153. #define ISpeechWaveFormatEx_put_Channels(This,Channels) (This)->lpVtbl->put_Channels(This,Channels)
  10154. #define ISpeechWaveFormatEx_get_SamplesPerSec(This,SamplesPerSec) (This)->lpVtbl->get_SamplesPerSec(This,SamplesPerSec)
  10155. #define ISpeechWaveFormatEx_put_SamplesPerSec(This,SamplesPerSec) (This)->lpVtbl->put_SamplesPerSec(This,SamplesPerSec)
  10156. #define ISpeechWaveFormatEx_get_AvgBytesPerSec(This,AvgBytesPerSec) (This)->lpVtbl->get_AvgBytesPerSec(This,AvgBytesPerSec)
  10157. #define ISpeechWaveFormatEx_put_AvgBytesPerSec(This,AvgBytesPerSec) (This)->lpVtbl->put_AvgBytesPerSec(This,AvgBytesPerSec)
  10158. #define ISpeechWaveFormatEx_get_BlockAlign(This,BlockAlign) (This)->lpVtbl->get_BlockAlign(This,BlockAlign)
  10159. #define ISpeechWaveFormatEx_put_BlockAlign(This,BlockAlign) (This)->lpVtbl->put_BlockAlign(This,BlockAlign)
  10160. #define ISpeechWaveFormatEx_get_BitsPerSample(This,BitsPerSample) (This)->lpVtbl->get_BitsPerSample(This,BitsPerSample)
  10161. #define ISpeechWaveFormatEx_put_BitsPerSample(This,BitsPerSample) (This)->lpVtbl->put_BitsPerSample(This,BitsPerSample)
  10162. #define ISpeechWaveFormatEx_get_ExtraData(This,ExtraData) (This)->lpVtbl->get_ExtraData(This,ExtraData)
  10163. #define ISpeechWaveFormatEx_put_ExtraData(This,ExtraData) (This)->lpVtbl->put_ExtraData(This,ExtraData)
  10164. #else
  10165. /*** IUnknown methods ***/
  10166. static FORCEINLINE HRESULT ISpeechWaveFormatEx_QueryInterface(ISpeechWaveFormatEx* This,REFIID riid,void **ppvObject) {
  10167. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  10168. }
  10169. static FORCEINLINE ULONG ISpeechWaveFormatEx_AddRef(ISpeechWaveFormatEx* This) {
  10170. return This->lpVtbl->AddRef(This);
  10171. }
  10172. static FORCEINLINE ULONG ISpeechWaveFormatEx_Release(ISpeechWaveFormatEx* This) {
  10173. return This->lpVtbl->Release(This);
  10174. }
  10175. /*** IDispatch methods ***/
  10176. static FORCEINLINE HRESULT ISpeechWaveFormatEx_GetTypeInfoCount(ISpeechWaveFormatEx* This,UINT *pctinfo) {
  10177. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  10178. }
  10179. static FORCEINLINE HRESULT ISpeechWaveFormatEx_GetTypeInfo(ISpeechWaveFormatEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  10180. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  10181. }
  10182. static FORCEINLINE HRESULT ISpeechWaveFormatEx_GetIDsOfNames(ISpeechWaveFormatEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  10183. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  10184. }
  10185. static FORCEINLINE HRESULT ISpeechWaveFormatEx_Invoke(ISpeechWaveFormatEx* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  10186. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  10187. }
  10188. /*** ISpeechWaveFormatEx methods ***/
  10189. static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_FormatTag(ISpeechWaveFormatEx* This,short *FormatTag) {
  10190. return This->lpVtbl->get_FormatTag(This,FormatTag);
  10191. }
  10192. static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_FormatTag(ISpeechWaveFormatEx* This,short FormatTag) {
  10193. return This->lpVtbl->put_FormatTag(This,FormatTag);
  10194. }
  10195. static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_Channels(ISpeechWaveFormatEx* This,short *Channels) {
  10196. return This->lpVtbl->get_Channels(This,Channels);
  10197. }
  10198. static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_Channels(ISpeechWaveFormatEx* This,short Channels) {
  10199. return This->lpVtbl->put_Channels(This,Channels);
  10200. }
  10201. static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_SamplesPerSec(ISpeechWaveFormatEx* This,LONG *SamplesPerSec) {
  10202. return This->lpVtbl->get_SamplesPerSec(This,SamplesPerSec);
  10203. }
  10204. static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_SamplesPerSec(ISpeechWaveFormatEx* This,LONG SamplesPerSec) {
  10205. return This->lpVtbl->put_SamplesPerSec(This,SamplesPerSec);
  10206. }
  10207. static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_AvgBytesPerSec(ISpeechWaveFormatEx* This,LONG *AvgBytesPerSec) {
  10208. return This->lpVtbl->get_AvgBytesPerSec(This,AvgBytesPerSec);
  10209. }
  10210. static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_AvgBytesPerSec(ISpeechWaveFormatEx* This,LONG AvgBytesPerSec) {
  10211. return This->lpVtbl->put_AvgBytesPerSec(This,AvgBytesPerSec);
  10212. }
  10213. static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_BlockAlign(ISpeechWaveFormatEx* This,short *BlockAlign) {
  10214. return This->lpVtbl->get_BlockAlign(This,BlockAlign);
  10215. }
  10216. static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_BlockAlign(ISpeechWaveFormatEx* This,short BlockAlign) {
  10217. return This->lpVtbl->put_BlockAlign(This,BlockAlign);
  10218. }
  10219. static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_BitsPerSample(ISpeechWaveFormatEx* This,short *BitsPerSample) {
  10220. return This->lpVtbl->get_BitsPerSample(This,BitsPerSample);
  10221. }
  10222. static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_BitsPerSample(ISpeechWaveFormatEx* This,short BitsPerSample) {
  10223. return This->lpVtbl->put_BitsPerSample(This,BitsPerSample);
  10224. }
  10225. static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_ExtraData(ISpeechWaveFormatEx* This,VARIANT *ExtraData) {
  10226. return This->lpVtbl->get_ExtraData(This,ExtraData);
  10227. }
  10228. static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_ExtraData(ISpeechWaveFormatEx* This,VARIANT ExtraData) {
  10229. return This->lpVtbl->put_ExtraData(This,ExtraData);
  10230. }
  10231. #endif
  10232. #endif
  10233. #endif
  10234. #endif /* __ISpeechWaveFormatEx_INTERFACE_DEFINED__ */
  10235. /*****************************************************************************
  10236. * ISpeechVoice interface
  10237. */
  10238. #ifndef __ISpeechVoice_INTERFACE_DEFINED__
  10239. #define __ISpeechVoice_INTERFACE_DEFINED__
  10240. DEFINE_GUID(IID_ISpeechVoice, 0x269316d8, 0x57bd, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96);
  10241. #if defined(__cplusplus) && !defined(CINTERFACE)
  10242. MIDL_INTERFACE("269316d8-57bd-11d2-9eee-00c04f797396")
  10243. ISpeechVoice : public IDispatch
  10244. {
  10245. virtual HRESULT STDMETHODCALLTYPE get_Status(
  10246. ISpeechVoiceStatus **Status) = 0;
  10247. virtual HRESULT STDMETHODCALLTYPE get_Voice(
  10248. ISpeechObjectToken **Voice) = 0;
  10249. virtual HRESULT STDMETHODCALLTYPE putref_Voice(
  10250. ISpeechObjectToken *Voice) = 0;
  10251. virtual HRESULT STDMETHODCALLTYPE get_AudioOutput(
  10252. ISpeechObjectToken **AudioOutput) = 0;
  10253. virtual HRESULT STDMETHODCALLTYPE putref_AudioOutput(
  10254. ISpeechObjectToken *AudioOutput) = 0;
  10255. virtual HRESULT STDMETHODCALLTYPE get_AudioOutputStream(
  10256. ISpeechBaseStream **AudioOutputStream) = 0;
  10257. virtual HRESULT STDMETHODCALLTYPE putref_AudioOutputStream(
  10258. ISpeechBaseStream *AudioOutputStream) = 0;
  10259. virtual HRESULT STDMETHODCALLTYPE get_Rate(
  10260. LONG *Rate) = 0;
  10261. virtual HRESULT STDMETHODCALLTYPE put_Rate(
  10262. LONG Rate) = 0;
  10263. virtual HRESULT STDMETHODCALLTYPE get_Volume(
  10264. LONG *Volume) = 0;
  10265. virtual HRESULT STDMETHODCALLTYPE put_Volume(
  10266. LONG Volume) = 0;
  10267. virtual HRESULT STDMETHODCALLTYPE put_AllowAudioOutputFormatChangesOnNextSet(
  10268. VARIANT_BOOL Allow) = 0;
  10269. virtual HRESULT STDMETHODCALLTYPE get_AllowAudioOutputFormatChangesOnNextSet(
  10270. VARIANT_BOOL *Allow) = 0;
  10271. virtual HRESULT STDMETHODCALLTYPE get_EventInterests(
  10272. SpeechVoiceEvents *EventInterestFlags) = 0;
  10273. virtual HRESULT STDMETHODCALLTYPE put_EventInterests(
  10274. SpeechVoiceEvents EventInterestFlags) = 0;
  10275. virtual HRESULT STDMETHODCALLTYPE put_Priority(
  10276. SpeechVoicePriority Priority) = 0;
  10277. virtual HRESULT STDMETHODCALLTYPE get_Priority(
  10278. SpeechVoicePriority *Priority) = 0;
  10279. virtual HRESULT STDMETHODCALLTYPE put_AlertBoundary(
  10280. SpeechVoiceEvents Boundary) = 0;
  10281. virtual HRESULT STDMETHODCALLTYPE get_AlertBoundary(
  10282. SpeechVoiceEvents *Boundary) = 0;
  10283. virtual HRESULT STDMETHODCALLTYPE put_SynchronousSpeakTimeout(
  10284. LONG msTimeout) = 0;
  10285. virtual HRESULT STDMETHODCALLTYPE get_SynchronousSpeakTimeout(
  10286. LONG *msTimeout) = 0;
  10287. virtual HRESULT STDMETHODCALLTYPE Speak(
  10288. BSTR Text,
  10289. SpeechVoiceSpeakFlags Flags,
  10290. LONG *StreamNumber) = 0;
  10291. virtual HRESULT STDMETHODCALLTYPE SpeakStream(
  10292. ISpeechBaseStream *Stream,
  10293. SpeechVoiceSpeakFlags Flags,
  10294. LONG *StreamNumber) = 0;
  10295. virtual HRESULT STDMETHODCALLTYPE Pause(
  10296. ) = 0;
  10297. virtual HRESULT STDMETHODCALLTYPE Resume(
  10298. ) = 0;
  10299. virtual HRESULT STDMETHODCALLTYPE Skip(
  10300. const BSTR Type,
  10301. LONG NumItems,
  10302. LONG *NumSkipped) = 0;
  10303. virtual HRESULT STDMETHODCALLTYPE GetVoices(
  10304. BSTR RequiredAttributes,
  10305. BSTR OptionalAttributes,
  10306. ISpeechObjectTokens **ObjectTokens) = 0;
  10307. virtual HRESULT STDMETHODCALLTYPE GetAudioOutputs(
  10308. BSTR RequiredAttributes,
  10309. BSTR OptionalAttributes,
  10310. ISpeechObjectTokens **ObjectTokens) = 0;
  10311. virtual HRESULT STDMETHODCALLTYPE WaitUntilDone(
  10312. LONG msTimeout,
  10313. VARIANT_BOOL *Done) = 0;
  10314. virtual HRESULT STDMETHODCALLTYPE SpeakCompleteEvent(
  10315. LONG *Handle) = 0;
  10316. virtual HRESULT STDMETHODCALLTYPE IsUISupported(
  10317. const BSTR TypeOfUI,
  10318. const VARIANT *ExtraData,
  10319. VARIANT_BOOL *Supported) = 0;
  10320. virtual HRESULT STDMETHODCALLTYPE DisplayUI(
  10321. LONG hWndParent,
  10322. BSTR Title,
  10323. const BSTR TypeOfUI,
  10324. const VARIANT *ExtraData = 0) = 0;
  10325. };
  10326. #ifdef __CRT_UUID_DECL
  10327. __CRT_UUID_DECL(ISpeechVoice, 0x269316d8, 0x57bd, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96)
  10328. #endif
  10329. #else
  10330. typedef struct ISpeechVoiceVtbl {
  10331. BEGIN_INTERFACE
  10332. /*** IUnknown methods ***/
  10333. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  10334. ISpeechVoice *This,
  10335. REFIID riid,
  10336. void **ppvObject);
  10337. ULONG (STDMETHODCALLTYPE *AddRef)(
  10338. ISpeechVoice *This);
  10339. ULONG (STDMETHODCALLTYPE *Release)(
  10340. ISpeechVoice *This);
  10341. /*** IDispatch methods ***/
  10342. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  10343. ISpeechVoice *This,
  10344. UINT *pctinfo);
  10345. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  10346. ISpeechVoice *This,
  10347. UINT iTInfo,
  10348. LCID lcid,
  10349. ITypeInfo **ppTInfo);
  10350. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  10351. ISpeechVoice *This,
  10352. REFIID riid,
  10353. LPOLESTR *rgszNames,
  10354. UINT cNames,
  10355. LCID lcid,
  10356. DISPID *rgDispId);
  10357. HRESULT (STDMETHODCALLTYPE *Invoke)(
  10358. ISpeechVoice *This,
  10359. DISPID dispIdMember,
  10360. REFIID riid,
  10361. LCID lcid,
  10362. WORD wFlags,
  10363. DISPPARAMS *pDispParams,
  10364. VARIANT *pVarResult,
  10365. EXCEPINFO *pExcepInfo,
  10366. UINT *puArgErr);
  10367. /*** ISpeechVoice methods ***/
  10368. HRESULT (STDMETHODCALLTYPE *get_Status)(
  10369. ISpeechVoice *This,
  10370. ISpeechVoiceStatus **Status);
  10371. HRESULT (STDMETHODCALLTYPE *get_Voice)(
  10372. ISpeechVoice *This,
  10373. ISpeechObjectToken **Voice);
  10374. HRESULT (STDMETHODCALLTYPE *putref_Voice)(
  10375. ISpeechVoice *This,
  10376. ISpeechObjectToken *Voice);
  10377. HRESULT (STDMETHODCALLTYPE *get_AudioOutput)(
  10378. ISpeechVoice *This,
  10379. ISpeechObjectToken **AudioOutput);
  10380. HRESULT (STDMETHODCALLTYPE *putref_AudioOutput)(
  10381. ISpeechVoice *This,
  10382. ISpeechObjectToken *AudioOutput);
  10383. HRESULT (STDMETHODCALLTYPE *get_AudioOutputStream)(
  10384. ISpeechVoice *This,
  10385. ISpeechBaseStream **AudioOutputStream);
  10386. HRESULT (STDMETHODCALLTYPE *putref_AudioOutputStream)(
  10387. ISpeechVoice *This,
  10388. ISpeechBaseStream *AudioOutputStream);
  10389. HRESULT (STDMETHODCALLTYPE *get_Rate)(
  10390. ISpeechVoice *This,
  10391. LONG *Rate);
  10392. HRESULT (STDMETHODCALLTYPE *put_Rate)(
  10393. ISpeechVoice *This,
  10394. LONG Rate);
  10395. HRESULT (STDMETHODCALLTYPE *get_Volume)(
  10396. ISpeechVoice *This,
  10397. LONG *Volume);
  10398. HRESULT (STDMETHODCALLTYPE *put_Volume)(
  10399. ISpeechVoice *This,
  10400. LONG Volume);
  10401. HRESULT (STDMETHODCALLTYPE *put_AllowAudioOutputFormatChangesOnNextSet)(
  10402. ISpeechVoice *This,
  10403. VARIANT_BOOL Allow);
  10404. HRESULT (STDMETHODCALLTYPE *get_AllowAudioOutputFormatChangesOnNextSet)(
  10405. ISpeechVoice *This,
  10406. VARIANT_BOOL *Allow);
  10407. HRESULT (STDMETHODCALLTYPE *get_EventInterests)(
  10408. ISpeechVoice *This,
  10409. SpeechVoiceEvents *EventInterestFlags);
  10410. HRESULT (STDMETHODCALLTYPE *put_EventInterests)(
  10411. ISpeechVoice *This,
  10412. SpeechVoiceEvents EventInterestFlags);
  10413. HRESULT (STDMETHODCALLTYPE *put_Priority)(
  10414. ISpeechVoice *This,
  10415. SpeechVoicePriority Priority);
  10416. HRESULT (STDMETHODCALLTYPE *get_Priority)(
  10417. ISpeechVoice *This,
  10418. SpeechVoicePriority *Priority);
  10419. HRESULT (STDMETHODCALLTYPE *put_AlertBoundary)(
  10420. ISpeechVoice *This,
  10421. SpeechVoiceEvents Boundary);
  10422. HRESULT (STDMETHODCALLTYPE *get_AlertBoundary)(
  10423. ISpeechVoice *This,
  10424. SpeechVoiceEvents *Boundary);
  10425. HRESULT (STDMETHODCALLTYPE *put_SynchronousSpeakTimeout)(
  10426. ISpeechVoice *This,
  10427. LONG msTimeout);
  10428. HRESULT (STDMETHODCALLTYPE *get_SynchronousSpeakTimeout)(
  10429. ISpeechVoice *This,
  10430. LONG *msTimeout);
  10431. HRESULT (STDMETHODCALLTYPE *Speak)(
  10432. ISpeechVoice *This,
  10433. BSTR Text,
  10434. SpeechVoiceSpeakFlags Flags,
  10435. LONG *StreamNumber);
  10436. HRESULT (STDMETHODCALLTYPE *SpeakStream)(
  10437. ISpeechVoice *This,
  10438. ISpeechBaseStream *Stream,
  10439. SpeechVoiceSpeakFlags Flags,
  10440. LONG *StreamNumber);
  10441. HRESULT (STDMETHODCALLTYPE *Pause)(
  10442. ISpeechVoice *This);
  10443. HRESULT (STDMETHODCALLTYPE *Resume)(
  10444. ISpeechVoice *This);
  10445. HRESULT (STDMETHODCALLTYPE *Skip)(
  10446. ISpeechVoice *This,
  10447. const BSTR Type,
  10448. LONG NumItems,
  10449. LONG *NumSkipped);
  10450. HRESULT (STDMETHODCALLTYPE *GetVoices)(
  10451. ISpeechVoice *This,
  10452. BSTR RequiredAttributes,
  10453. BSTR OptionalAttributes,
  10454. ISpeechObjectTokens **ObjectTokens);
  10455. HRESULT (STDMETHODCALLTYPE *GetAudioOutputs)(
  10456. ISpeechVoice *This,
  10457. BSTR RequiredAttributes,
  10458. BSTR OptionalAttributes,
  10459. ISpeechObjectTokens **ObjectTokens);
  10460. HRESULT (STDMETHODCALLTYPE *WaitUntilDone)(
  10461. ISpeechVoice *This,
  10462. LONG msTimeout,
  10463. VARIANT_BOOL *Done);
  10464. HRESULT (STDMETHODCALLTYPE *SpeakCompleteEvent)(
  10465. ISpeechVoice *This,
  10466. LONG *Handle);
  10467. HRESULT (STDMETHODCALLTYPE *IsUISupported)(
  10468. ISpeechVoice *This,
  10469. const BSTR TypeOfUI,
  10470. const VARIANT *ExtraData,
  10471. VARIANT_BOOL *Supported);
  10472. HRESULT (STDMETHODCALLTYPE *DisplayUI)(
  10473. ISpeechVoice *This,
  10474. LONG hWndParent,
  10475. BSTR Title,
  10476. const BSTR TypeOfUI,
  10477. const VARIANT *ExtraData);
  10478. END_INTERFACE
  10479. } ISpeechVoiceVtbl;
  10480. interface ISpeechVoice {
  10481. CONST_VTBL ISpeechVoiceVtbl* lpVtbl;
  10482. };
  10483. #ifdef COBJMACROS
  10484. #ifndef WIDL_C_INLINE_WRAPPERS
  10485. /*** IUnknown methods ***/
  10486. #define ISpeechVoice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  10487. #define ISpeechVoice_AddRef(This) (This)->lpVtbl->AddRef(This)
  10488. #define ISpeechVoice_Release(This) (This)->lpVtbl->Release(This)
  10489. /*** IDispatch methods ***/
  10490. #define ISpeechVoice_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  10491. #define ISpeechVoice_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  10492. #define ISpeechVoice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  10493. #define ISpeechVoice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  10494. /*** ISpeechVoice methods ***/
  10495. #define ISpeechVoice_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
  10496. #define ISpeechVoice_get_Voice(This,Voice) (This)->lpVtbl->get_Voice(This,Voice)
  10497. #define ISpeechVoice_putref_Voice(This,Voice) (This)->lpVtbl->putref_Voice(This,Voice)
  10498. #define ISpeechVoice_get_AudioOutput(This,AudioOutput) (This)->lpVtbl->get_AudioOutput(This,AudioOutput)
  10499. #define ISpeechVoice_putref_AudioOutput(This,AudioOutput) (This)->lpVtbl->putref_AudioOutput(This,AudioOutput)
  10500. #define ISpeechVoice_get_AudioOutputStream(This,AudioOutputStream) (This)->lpVtbl->get_AudioOutputStream(This,AudioOutputStream)
  10501. #define ISpeechVoice_putref_AudioOutputStream(This,AudioOutputStream) (This)->lpVtbl->putref_AudioOutputStream(This,AudioOutputStream)
  10502. #define ISpeechVoice_get_Rate(This,Rate) (This)->lpVtbl->get_Rate(This,Rate)
  10503. #define ISpeechVoice_put_Rate(This,Rate) (This)->lpVtbl->put_Rate(This,Rate)
  10504. #define ISpeechVoice_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
  10505. #define ISpeechVoice_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
  10506. #define ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->put_AllowAudioOutputFormatChangesOnNextSet(This,Allow)
  10507. #define ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->get_AllowAudioOutputFormatChangesOnNextSet(This,Allow)
  10508. #define ISpeechVoice_get_EventInterests(This,EventInterestFlags) (This)->lpVtbl->get_EventInterests(This,EventInterestFlags)
  10509. #define ISpeechVoice_put_EventInterests(This,EventInterestFlags) (This)->lpVtbl->put_EventInterests(This,EventInterestFlags)
  10510. #define ISpeechVoice_put_Priority(This,Priority) (This)->lpVtbl->put_Priority(This,Priority)
  10511. #define ISpeechVoice_get_Priority(This,Priority) (This)->lpVtbl->get_Priority(This,Priority)
  10512. #define ISpeechVoice_put_AlertBoundary(This,Boundary) (This)->lpVtbl->put_AlertBoundary(This,Boundary)
  10513. #define ISpeechVoice_get_AlertBoundary(This,Boundary) (This)->lpVtbl->get_AlertBoundary(This,Boundary)
  10514. #define ISpeechVoice_put_SynchronousSpeakTimeout(This,msTimeout) (This)->lpVtbl->put_SynchronousSpeakTimeout(This,msTimeout)
  10515. #define ISpeechVoice_get_SynchronousSpeakTimeout(This,msTimeout) (This)->lpVtbl->get_SynchronousSpeakTimeout(This,msTimeout)
  10516. #define ISpeechVoice_Speak(This,Text,Flags,StreamNumber) (This)->lpVtbl->Speak(This,Text,Flags,StreamNumber)
  10517. #define ISpeechVoice_SpeakStream(This,Stream,Flags,StreamNumber) (This)->lpVtbl->SpeakStream(This,Stream,Flags,StreamNumber)
  10518. #define ISpeechVoice_Pause(This) (This)->lpVtbl->Pause(This)
  10519. #define ISpeechVoice_Resume(This) (This)->lpVtbl->Resume(This)
  10520. #define ISpeechVoice_Skip(This,Type,NumItems,NumSkipped) (This)->lpVtbl->Skip(This,Type,NumItems,NumSkipped)
  10521. #define ISpeechVoice_GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
  10522. #define ISpeechVoice_GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
  10523. #define ISpeechVoice_WaitUntilDone(This,msTimeout,Done) (This)->lpVtbl->WaitUntilDone(This,msTimeout,Done)
  10524. #define ISpeechVoice_SpeakCompleteEvent(This,Handle) (This)->lpVtbl->SpeakCompleteEvent(This,Handle)
  10525. #define ISpeechVoice_IsUISupported(This,TypeOfUI,ExtraData,Supported) (This)->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported)
  10526. #define ISpeechVoice_DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData) (This)->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData)
  10527. #else
  10528. /*** IUnknown methods ***/
  10529. static FORCEINLINE HRESULT ISpeechVoice_QueryInterface(ISpeechVoice* This,REFIID riid,void **ppvObject) {
  10530. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  10531. }
  10532. static FORCEINLINE ULONG ISpeechVoice_AddRef(ISpeechVoice* This) {
  10533. return This->lpVtbl->AddRef(This);
  10534. }
  10535. static FORCEINLINE ULONG ISpeechVoice_Release(ISpeechVoice* This) {
  10536. return This->lpVtbl->Release(This);
  10537. }
  10538. /*** IDispatch methods ***/
  10539. static FORCEINLINE HRESULT ISpeechVoice_GetTypeInfoCount(ISpeechVoice* This,UINT *pctinfo) {
  10540. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  10541. }
  10542. static FORCEINLINE HRESULT ISpeechVoice_GetTypeInfo(ISpeechVoice* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  10543. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  10544. }
  10545. static FORCEINLINE HRESULT ISpeechVoice_GetIDsOfNames(ISpeechVoice* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  10546. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  10547. }
  10548. static FORCEINLINE HRESULT ISpeechVoice_Invoke(ISpeechVoice* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  10549. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  10550. }
  10551. /*** ISpeechVoice methods ***/
  10552. static FORCEINLINE HRESULT ISpeechVoice_get_Status(ISpeechVoice* This,ISpeechVoiceStatus **Status) {
  10553. return This->lpVtbl->get_Status(This,Status);
  10554. }
  10555. static FORCEINLINE HRESULT ISpeechVoice_get_Voice(ISpeechVoice* This,ISpeechObjectToken **Voice) {
  10556. return This->lpVtbl->get_Voice(This,Voice);
  10557. }
  10558. static FORCEINLINE HRESULT ISpeechVoice_putref_Voice(ISpeechVoice* This,ISpeechObjectToken *Voice) {
  10559. return This->lpVtbl->putref_Voice(This,Voice);
  10560. }
  10561. static FORCEINLINE HRESULT ISpeechVoice_get_AudioOutput(ISpeechVoice* This,ISpeechObjectToken **AudioOutput) {
  10562. return This->lpVtbl->get_AudioOutput(This,AudioOutput);
  10563. }
  10564. static FORCEINLINE HRESULT ISpeechVoice_putref_AudioOutput(ISpeechVoice* This,ISpeechObjectToken *AudioOutput) {
  10565. return This->lpVtbl->putref_AudioOutput(This,AudioOutput);
  10566. }
  10567. static FORCEINLINE HRESULT ISpeechVoice_get_AudioOutputStream(ISpeechVoice* This,ISpeechBaseStream **AudioOutputStream) {
  10568. return This->lpVtbl->get_AudioOutputStream(This,AudioOutputStream);
  10569. }
  10570. static FORCEINLINE HRESULT ISpeechVoice_putref_AudioOutputStream(ISpeechVoice* This,ISpeechBaseStream *AudioOutputStream) {
  10571. return This->lpVtbl->putref_AudioOutputStream(This,AudioOutputStream);
  10572. }
  10573. static FORCEINLINE HRESULT ISpeechVoice_get_Rate(ISpeechVoice* This,LONG *Rate) {
  10574. return This->lpVtbl->get_Rate(This,Rate);
  10575. }
  10576. static FORCEINLINE HRESULT ISpeechVoice_put_Rate(ISpeechVoice* This,LONG Rate) {
  10577. return This->lpVtbl->put_Rate(This,Rate);
  10578. }
  10579. static FORCEINLINE HRESULT ISpeechVoice_get_Volume(ISpeechVoice* This,LONG *Volume) {
  10580. return This->lpVtbl->get_Volume(This,Volume);
  10581. }
  10582. static FORCEINLINE HRESULT ISpeechVoice_put_Volume(ISpeechVoice* This,LONG Volume) {
  10583. return This->lpVtbl->put_Volume(This,Volume);
  10584. }
  10585. static FORCEINLINE HRESULT ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet(ISpeechVoice* This,VARIANT_BOOL Allow) {
  10586. return This->lpVtbl->put_AllowAudioOutputFormatChangesOnNextSet(This,Allow);
  10587. }
  10588. static FORCEINLINE HRESULT ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet(ISpeechVoice* This,VARIANT_BOOL *Allow) {
  10589. return This->lpVtbl->get_AllowAudioOutputFormatChangesOnNextSet(This,Allow);
  10590. }
  10591. static FORCEINLINE HRESULT ISpeechVoice_get_EventInterests(ISpeechVoice* This,SpeechVoiceEvents *EventInterestFlags) {
  10592. return This->lpVtbl->get_EventInterests(This,EventInterestFlags);
  10593. }
  10594. static FORCEINLINE HRESULT ISpeechVoice_put_EventInterests(ISpeechVoice* This,SpeechVoiceEvents EventInterestFlags) {
  10595. return This->lpVtbl->put_EventInterests(This,EventInterestFlags);
  10596. }
  10597. static FORCEINLINE HRESULT ISpeechVoice_put_Priority(ISpeechVoice* This,SpeechVoicePriority Priority) {
  10598. return This->lpVtbl->put_Priority(This,Priority);
  10599. }
  10600. static FORCEINLINE HRESULT ISpeechVoice_get_Priority(ISpeechVoice* This,SpeechVoicePriority *Priority) {
  10601. return This->lpVtbl->get_Priority(This,Priority);
  10602. }
  10603. static FORCEINLINE HRESULT ISpeechVoice_put_AlertBoundary(ISpeechVoice* This,SpeechVoiceEvents Boundary) {
  10604. return This->lpVtbl->put_AlertBoundary(This,Boundary);
  10605. }
  10606. static FORCEINLINE HRESULT ISpeechVoice_get_AlertBoundary(ISpeechVoice* This,SpeechVoiceEvents *Boundary) {
  10607. return This->lpVtbl->get_AlertBoundary(This,Boundary);
  10608. }
  10609. static FORCEINLINE HRESULT ISpeechVoice_put_SynchronousSpeakTimeout(ISpeechVoice* This,LONG msTimeout) {
  10610. return This->lpVtbl->put_SynchronousSpeakTimeout(This,msTimeout);
  10611. }
  10612. static FORCEINLINE HRESULT ISpeechVoice_get_SynchronousSpeakTimeout(ISpeechVoice* This,LONG *msTimeout) {
  10613. return This->lpVtbl->get_SynchronousSpeakTimeout(This,msTimeout);
  10614. }
  10615. static FORCEINLINE HRESULT ISpeechVoice_Speak(ISpeechVoice* This,BSTR Text,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
  10616. return This->lpVtbl->Speak(This,Text,Flags,StreamNumber);
  10617. }
  10618. static FORCEINLINE HRESULT ISpeechVoice_SpeakStream(ISpeechVoice* This,ISpeechBaseStream *Stream,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
  10619. return This->lpVtbl->SpeakStream(This,Stream,Flags,StreamNumber);
  10620. }
  10621. static FORCEINLINE HRESULT ISpeechVoice_Pause(ISpeechVoice* This) {
  10622. return This->lpVtbl->Pause(This);
  10623. }
  10624. static FORCEINLINE HRESULT ISpeechVoice_Resume(ISpeechVoice* This) {
  10625. return This->lpVtbl->Resume(This);
  10626. }
  10627. static FORCEINLINE HRESULT ISpeechVoice_Skip(ISpeechVoice* This,const BSTR Type,LONG NumItems,LONG *NumSkipped) {
  10628. return This->lpVtbl->Skip(This,Type,NumItems,NumSkipped);
  10629. }
  10630. static FORCEINLINE HRESULT ISpeechVoice_GetVoices(ISpeechVoice* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
  10631. return This->lpVtbl->GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
  10632. }
  10633. static FORCEINLINE HRESULT ISpeechVoice_GetAudioOutputs(ISpeechVoice* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
  10634. return This->lpVtbl->GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
  10635. }
  10636. static FORCEINLINE HRESULT ISpeechVoice_WaitUntilDone(ISpeechVoice* This,LONG msTimeout,VARIANT_BOOL *Done) {
  10637. return This->lpVtbl->WaitUntilDone(This,msTimeout,Done);
  10638. }
  10639. static FORCEINLINE HRESULT ISpeechVoice_SpeakCompleteEvent(ISpeechVoice* This,LONG *Handle) {
  10640. return This->lpVtbl->SpeakCompleteEvent(This,Handle);
  10641. }
  10642. static FORCEINLINE HRESULT ISpeechVoice_IsUISupported(ISpeechVoice* This,const BSTR TypeOfUI,const VARIANT *ExtraData,VARIANT_BOOL *Supported) {
  10643. return This->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported);
  10644. }
  10645. static FORCEINLINE HRESULT ISpeechVoice_DisplayUI(ISpeechVoice* This,LONG hWndParent,BSTR Title,const BSTR TypeOfUI,const VARIANT *ExtraData) {
  10646. return This->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData);
  10647. }
  10648. #endif
  10649. #endif
  10650. #endif
  10651. #endif /* __ISpeechVoice_INTERFACE_DEFINED__ */
  10652. /*****************************************************************************
  10653. * ISpeechVoiceStatus interface
  10654. */
  10655. #ifndef __ISpeechVoiceStatus_INTERFACE_DEFINED__
  10656. #define __ISpeechVoiceStatus_INTERFACE_DEFINED__
  10657. DEFINE_GUID(IID_ISpeechVoiceStatus, 0x8be47b07, 0x57f6, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96);
  10658. #if defined(__cplusplus) && !defined(CINTERFACE)
  10659. MIDL_INTERFACE("8be47b07-57f6-11d2-9eee-00c04f797396")
  10660. ISpeechVoiceStatus : public IDispatch
  10661. {
  10662. virtual HRESULT STDMETHODCALLTYPE get_CurrentStreamNumber(
  10663. LONG *StreamNumber) = 0;
  10664. virtual HRESULT STDMETHODCALLTYPE get_LastStreamNumberQueued(
  10665. LONG *StreamNumber) = 0;
  10666. virtual HRESULT STDMETHODCALLTYPE get_LastHResult(
  10667. LONG *HResult) = 0;
  10668. virtual HRESULT STDMETHODCALLTYPE get_RunningState(
  10669. SpeechRunState *State) = 0;
  10670. virtual HRESULT STDMETHODCALLTYPE get_InputWordPosition(
  10671. LONG *Position) = 0;
  10672. virtual HRESULT STDMETHODCALLTYPE get_InputWordLength(
  10673. LONG *Length) = 0;
  10674. virtual HRESULT STDMETHODCALLTYPE get_InputSentencePosition(
  10675. LONG *Position) = 0;
  10676. virtual HRESULT STDMETHODCALLTYPE get_InputSentenceLength(
  10677. LONG *Length) = 0;
  10678. virtual HRESULT STDMETHODCALLTYPE get_LastBookmark(
  10679. BSTR *Bookmark) = 0;
  10680. virtual HRESULT STDMETHODCALLTYPE get_LastBookmarkId(
  10681. LONG *BookmarkId) = 0;
  10682. virtual HRESULT STDMETHODCALLTYPE get_PhonemeId(
  10683. short *PhoneId) = 0;
  10684. virtual HRESULT STDMETHODCALLTYPE get_VisemeId(
  10685. short *VisemeId) = 0;
  10686. };
  10687. #ifdef __CRT_UUID_DECL
  10688. __CRT_UUID_DECL(ISpeechVoiceStatus, 0x8be47b07, 0x57f6, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96)
  10689. #endif
  10690. #else
  10691. typedef struct ISpeechVoiceStatusVtbl {
  10692. BEGIN_INTERFACE
  10693. /*** IUnknown methods ***/
  10694. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  10695. ISpeechVoiceStatus *This,
  10696. REFIID riid,
  10697. void **ppvObject);
  10698. ULONG (STDMETHODCALLTYPE *AddRef)(
  10699. ISpeechVoiceStatus *This);
  10700. ULONG (STDMETHODCALLTYPE *Release)(
  10701. ISpeechVoiceStatus *This);
  10702. /*** IDispatch methods ***/
  10703. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  10704. ISpeechVoiceStatus *This,
  10705. UINT *pctinfo);
  10706. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  10707. ISpeechVoiceStatus *This,
  10708. UINT iTInfo,
  10709. LCID lcid,
  10710. ITypeInfo **ppTInfo);
  10711. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  10712. ISpeechVoiceStatus *This,
  10713. REFIID riid,
  10714. LPOLESTR *rgszNames,
  10715. UINT cNames,
  10716. LCID lcid,
  10717. DISPID *rgDispId);
  10718. HRESULT (STDMETHODCALLTYPE *Invoke)(
  10719. ISpeechVoiceStatus *This,
  10720. DISPID dispIdMember,
  10721. REFIID riid,
  10722. LCID lcid,
  10723. WORD wFlags,
  10724. DISPPARAMS *pDispParams,
  10725. VARIANT *pVarResult,
  10726. EXCEPINFO *pExcepInfo,
  10727. UINT *puArgErr);
  10728. /*** ISpeechVoiceStatus methods ***/
  10729. HRESULT (STDMETHODCALLTYPE *get_CurrentStreamNumber)(
  10730. ISpeechVoiceStatus *This,
  10731. LONG *StreamNumber);
  10732. HRESULT (STDMETHODCALLTYPE *get_LastStreamNumberQueued)(
  10733. ISpeechVoiceStatus *This,
  10734. LONG *StreamNumber);
  10735. HRESULT (STDMETHODCALLTYPE *get_LastHResult)(
  10736. ISpeechVoiceStatus *This,
  10737. LONG *HResult);
  10738. HRESULT (STDMETHODCALLTYPE *get_RunningState)(
  10739. ISpeechVoiceStatus *This,
  10740. SpeechRunState *State);
  10741. HRESULT (STDMETHODCALLTYPE *get_InputWordPosition)(
  10742. ISpeechVoiceStatus *This,
  10743. LONG *Position);
  10744. HRESULT (STDMETHODCALLTYPE *get_InputWordLength)(
  10745. ISpeechVoiceStatus *This,
  10746. LONG *Length);
  10747. HRESULT (STDMETHODCALLTYPE *get_InputSentencePosition)(
  10748. ISpeechVoiceStatus *This,
  10749. LONG *Position);
  10750. HRESULT (STDMETHODCALLTYPE *get_InputSentenceLength)(
  10751. ISpeechVoiceStatus *This,
  10752. LONG *Length);
  10753. HRESULT (STDMETHODCALLTYPE *get_LastBookmark)(
  10754. ISpeechVoiceStatus *This,
  10755. BSTR *Bookmark);
  10756. HRESULT (STDMETHODCALLTYPE *get_LastBookmarkId)(
  10757. ISpeechVoiceStatus *This,
  10758. LONG *BookmarkId);
  10759. HRESULT (STDMETHODCALLTYPE *get_PhonemeId)(
  10760. ISpeechVoiceStatus *This,
  10761. short *PhoneId);
  10762. HRESULT (STDMETHODCALLTYPE *get_VisemeId)(
  10763. ISpeechVoiceStatus *This,
  10764. short *VisemeId);
  10765. END_INTERFACE
  10766. } ISpeechVoiceStatusVtbl;
  10767. interface ISpeechVoiceStatus {
  10768. CONST_VTBL ISpeechVoiceStatusVtbl* lpVtbl;
  10769. };
  10770. #ifdef COBJMACROS
  10771. #ifndef WIDL_C_INLINE_WRAPPERS
  10772. /*** IUnknown methods ***/
  10773. #define ISpeechVoiceStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  10774. #define ISpeechVoiceStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
  10775. #define ISpeechVoiceStatus_Release(This) (This)->lpVtbl->Release(This)
  10776. /*** IDispatch methods ***/
  10777. #define ISpeechVoiceStatus_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  10778. #define ISpeechVoiceStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  10779. #define ISpeechVoiceStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  10780. #define ISpeechVoiceStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  10781. /*** ISpeechVoiceStatus methods ***/
  10782. #define ISpeechVoiceStatus_get_CurrentStreamNumber(This,StreamNumber) (This)->lpVtbl->get_CurrentStreamNumber(This,StreamNumber)
  10783. #define ISpeechVoiceStatus_get_LastStreamNumberQueued(This,StreamNumber) (This)->lpVtbl->get_LastStreamNumberQueued(This,StreamNumber)
  10784. #define ISpeechVoiceStatus_get_LastHResult(This,HResult) (This)->lpVtbl->get_LastHResult(This,HResult)
  10785. #define ISpeechVoiceStatus_get_RunningState(This,State) (This)->lpVtbl->get_RunningState(This,State)
  10786. #define ISpeechVoiceStatus_get_InputWordPosition(This,Position) (This)->lpVtbl->get_InputWordPosition(This,Position)
  10787. #define ISpeechVoiceStatus_get_InputWordLength(This,Length) (This)->lpVtbl->get_InputWordLength(This,Length)
  10788. #define ISpeechVoiceStatus_get_InputSentencePosition(This,Position) (This)->lpVtbl->get_InputSentencePosition(This,Position)
  10789. #define ISpeechVoiceStatus_get_InputSentenceLength(This,Length) (This)->lpVtbl->get_InputSentenceLength(This,Length)
  10790. #define ISpeechVoiceStatus_get_LastBookmark(This,Bookmark) (This)->lpVtbl->get_LastBookmark(This,Bookmark)
  10791. #define ISpeechVoiceStatus_get_LastBookmarkId(This,BookmarkId) (This)->lpVtbl->get_LastBookmarkId(This,BookmarkId)
  10792. #define ISpeechVoiceStatus_get_PhonemeId(This,PhoneId) (This)->lpVtbl->get_PhonemeId(This,PhoneId)
  10793. #define ISpeechVoiceStatus_get_VisemeId(This,VisemeId) (This)->lpVtbl->get_VisemeId(This,VisemeId)
  10794. #else
  10795. /*** IUnknown methods ***/
  10796. static FORCEINLINE HRESULT ISpeechVoiceStatus_QueryInterface(ISpeechVoiceStatus* This,REFIID riid,void **ppvObject) {
  10797. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  10798. }
  10799. static FORCEINLINE ULONG ISpeechVoiceStatus_AddRef(ISpeechVoiceStatus* This) {
  10800. return This->lpVtbl->AddRef(This);
  10801. }
  10802. static FORCEINLINE ULONG ISpeechVoiceStatus_Release(ISpeechVoiceStatus* This) {
  10803. return This->lpVtbl->Release(This);
  10804. }
  10805. /*** IDispatch methods ***/
  10806. static FORCEINLINE HRESULT ISpeechVoiceStatus_GetTypeInfoCount(ISpeechVoiceStatus* This,UINT *pctinfo) {
  10807. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  10808. }
  10809. static FORCEINLINE HRESULT ISpeechVoiceStatus_GetTypeInfo(ISpeechVoiceStatus* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  10810. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  10811. }
  10812. static FORCEINLINE HRESULT ISpeechVoiceStatus_GetIDsOfNames(ISpeechVoiceStatus* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  10813. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  10814. }
  10815. static FORCEINLINE HRESULT ISpeechVoiceStatus_Invoke(ISpeechVoiceStatus* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  10816. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  10817. }
  10818. /*** ISpeechVoiceStatus methods ***/
  10819. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_CurrentStreamNumber(ISpeechVoiceStatus* This,LONG *StreamNumber) {
  10820. return This->lpVtbl->get_CurrentStreamNumber(This,StreamNumber);
  10821. }
  10822. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastStreamNumberQueued(ISpeechVoiceStatus* This,LONG *StreamNumber) {
  10823. return This->lpVtbl->get_LastStreamNumberQueued(This,StreamNumber);
  10824. }
  10825. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastHResult(ISpeechVoiceStatus* This,LONG *HResult) {
  10826. return This->lpVtbl->get_LastHResult(This,HResult);
  10827. }
  10828. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_RunningState(ISpeechVoiceStatus* This,SpeechRunState *State) {
  10829. return This->lpVtbl->get_RunningState(This,State);
  10830. }
  10831. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputWordPosition(ISpeechVoiceStatus* This,LONG *Position) {
  10832. return This->lpVtbl->get_InputWordPosition(This,Position);
  10833. }
  10834. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputWordLength(ISpeechVoiceStatus* This,LONG *Length) {
  10835. return This->lpVtbl->get_InputWordLength(This,Length);
  10836. }
  10837. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputSentencePosition(ISpeechVoiceStatus* This,LONG *Position) {
  10838. return This->lpVtbl->get_InputSentencePosition(This,Position);
  10839. }
  10840. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputSentenceLength(ISpeechVoiceStatus* This,LONG *Length) {
  10841. return This->lpVtbl->get_InputSentenceLength(This,Length);
  10842. }
  10843. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastBookmark(ISpeechVoiceStatus* This,BSTR *Bookmark) {
  10844. return This->lpVtbl->get_LastBookmark(This,Bookmark);
  10845. }
  10846. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastBookmarkId(ISpeechVoiceStatus* This,LONG *BookmarkId) {
  10847. return This->lpVtbl->get_LastBookmarkId(This,BookmarkId);
  10848. }
  10849. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_PhonemeId(ISpeechVoiceStatus* This,short *PhoneId) {
  10850. return This->lpVtbl->get_PhonemeId(This,PhoneId);
  10851. }
  10852. static FORCEINLINE HRESULT ISpeechVoiceStatus_get_VisemeId(ISpeechVoiceStatus* This,short *VisemeId) {
  10853. return This->lpVtbl->get_VisemeId(This,VisemeId);
  10854. }
  10855. #endif
  10856. #endif
  10857. #endif
  10858. #endif /* __ISpeechVoiceStatus_INTERFACE_DEFINED__ */
  10859. typedef enum SpeechVisemeType {
  10860. SVP_0 = 0,
  10861. SVP_1 = 1,
  10862. SVP_2 = 2,
  10863. SVP_3 = 3,
  10864. SVP_4 = 4,
  10865. SVP_5 = 5,
  10866. SVP_6 = 6,
  10867. SVP_7 = 7,
  10868. SVP_8 = 8,
  10869. SVP_9 = 9,
  10870. SVP_10 = 10,
  10871. SVP_11 = 11,
  10872. SVP_12 = 12,
  10873. SVP_13 = 13,
  10874. SVP_14 = 14,
  10875. SVP_15 = 15,
  10876. SVP_16 = 16,
  10877. SVP_17 = 17,
  10878. SVP_18 = 18,
  10879. SVP_19 = 19,
  10880. SVP_20 = 20,
  10881. SVP_21 = 21
  10882. } SpeechVisemeType;
  10883. typedef enum SpeechVisemeFeature {
  10884. SVF_None = 0,
  10885. SVF_Stressed = SPVFEATURE_STRESSED,
  10886. SVF_Emphasis = SPVFEATURE_EMPHASIS
  10887. } SpeechVisemeFeature;
  10888. typedef enum DISPID_SpeechVoiceEvent {
  10889. DISPID_SVEStreamStart = 1,
  10890. DISPID_SVEStreamEnd = 2,
  10891. DISPID_SVEVoiceChange = 3,
  10892. DISPID_SVEBookmark = 4,
  10893. DISPID_SVEWord = 5,
  10894. DISPID_SVEPhoneme = 6,
  10895. DISPID_SVESentenceBoundary = 7,
  10896. DISPID_SVEViseme = 8,
  10897. DISPID_SVEAudioLevel = 9,
  10898. DISPID_SVEEnginePrivate = 10
  10899. } DISPID_SpeechVoiceEvent;
  10900. typedef enum DISPID_SpeechRecognizer {
  10901. DISPID_SRRecognizer = 1,
  10902. DISPID_SRAllowAudioInputFormatChangesOnNextSet = 2,
  10903. DISPID_SRAudioInput = 3,
  10904. DISPID_SRAudioInputStream = 4,
  10905. DISPID_SRIsShared = 5,
  10906. DISPID_SRState = 6,
  10907. DISPID_SRStatus = 7,
  10908. DISPID_SRProfile = 8,
  10909. DISPID_SREmulateRecognition = 9,
  10910. DISPID_SRCreateRecoContext = 10,
  10911. DISPID_SRGetFormat = 11,
  10912. DISPID_SRSetPropertyNumber = 12,
  10913. DISPID_SRGetPropertyNumber = 13,
  10914. DISPID_SRSetPropertyString = 14,
  10915. DISPID_SRGetPropertyString = 15,
  10916. DISPID_SRIsUISupported = 16,
  10917. DISPID_SRDisplayUI = 17,
  10918. DISPID_SRGetRecognizers = 18,
  10919. DISPID_SVGetAudioInputs = 19,
  10920. DISPID_SVGetProfiles = 20
  10921. } DISPID_SpeechRecognizer;
  10922. typedef enum SpeechRecognizerState {
  10923. SRSInactive = SPRST_INACTIVE,
  10924. SRSActive = SPRST_ACTIVE,
  10925. SRSActiveAlways = SPRST_ACTIVE_ALWAYS,
  10926. SRSInactiveWithPurge = SPRST_INACTIVE_WITH_PURGE
  10927. } SpeechRecognizerState;
  10928. typedef enum SpeechDisplayAttributes {
  10929. SDA_No_Trailing_Space = 0,
  10930. SDA_One_Trailing_Space = SPAF_ONE_TRAILING_SPACE,
  10931. SDA_Two_Trailing_Spaces = SPAF_TWO_TRAILING_SPACES,
  10932. SDA_Consume_Leading_Spaces = SPAF_CONSUME_LEADING_SPACES
  10933. } SpeechDisplayAttributes;
  10934. typedef enum SpeechFormatType {
  10935. SFTInput = SPWF_INPUT,
  10936. SFTSREngine = SPWF_SRENGINE
  10937. } SpeechFormatType;
  10938. typedef enum DISPID_SpeechRecognizerStatus {
  10939. DISPID_SRSAudioStatus = 1,
  10940. DISPID_SRSCurrentStreamPosition = 2,
  10941. DISPID_SRSCurrentStreamNumber = 3,
  10942. DISPID_SRSNumberOfActiveRules = 4,
  10943. DISPID_SRSClsidEngine = 5,
  10944. DISPID_SRSSupportedLanguages = 6
  10945. } DISPID_SpeechRecognizerStatus;
  10946. typedef enum DISPID_SpeechRecoContext {
  10947. DISPID_SRCRecognizer = 1,
  10948. DISPID_SRCAudioInInterferenceStatus = 2,
  10949. DISPID_SRCRequestedUIType = 3,
  10950. DISPID_SRCVoice = 4,
  10951. DISPID_SRAllowVoiceFormatMatchingOnNextSet = 5,
  10952. DISPID_SRCVoicePurgeEvent = 6,
  10953. DISPID_SRCEventInterests = 7,
  10954. DISPID_SRCCmdMaxAlternates = 8,
  10955. DISPID_SRCState = 9,
  10956. DISPID_SRCRetainedAudio = 10,
  10957. DISPID_SRCRetainedAudioFormat = 11,
  10958. DISPID_SRCPause = 12,
  10959. DISPID_SRCResume = 13,
  10960. DISPID_SRCCreateGrammar = 14,
  10961. DISPID_SRCCreateResultFromMemory = 15,
  10962. DISPID_SRCBookmark = 16,
  10963. DISPID_SRCSetAdaptationData = 17
  10964. } DISPID_SpeechRecoContext;
  10965. typedef enum SpeechRetainedAudioOptions {
  10966. SRAONone = SPAO_NONE,
  10967. SRAORetainAudio = SPAO_RETAIN_AUDIO
  10968. } SpeechRetainedAudioOptions;
  10969. typedef enum SpeechBookmarkOptions {
  10970. SBONone = SPBO_NONE,
  10971. SBOPause = SPBO_PAUSE
  10972. } SpeechBookmarkOptions;
  10973. typedef enum SpeechInterference {
  10974. SINone = SPINTERFERENCE_NONE,
  10975. SINoise = SPINTERFERENCE_NOISE,
  10976. SINoSignal = SPINTERFERENCE_NOSIGNAL,
  10977. SITooLoud = SPINTERFERENCE_TOOLOUD,
  10978. SITooQuiet = SPINTERFERENCE_TOOQUIET,
  10979. SITooFast = SPINTERFERENCE_TOOFAST,
  10980. SITooSlow = SPINTERFERENCE_TOOSLOW
  10981. } SpeechInterference;
  10982. typedef enum SpeechRecoEvents {
  10983. SREStreamEnd = 0x1,
  10984. SRESoundStart = 0x2,
  10985. SRESoundEnd = 0x4,
  10986. SREPhraseStart = 0x8,
  10987. SRERecognition = 0x10,
  10988. SREHypothesis = 0x20,
  10989. SREBookmark = 0x40,
  10990. SREPropertyNumChange = 0x80,
  10991. SREPropertyStringChange = 0x100,
  10992. SREFalseRecognition = 0x200,
  10993. SREInterference = 0x400,
  10994. SRERequestUI = 0x800,
  10995. SREStateChange = 0x1000,
  10996. SREAdaptation = 0x2000,
  10997. SREStreamStart = 0x4000,
  10998. SRERecoOtherContext = 0x8000,
  10999. SREAudioLevel = 0x10000,
  11000. SREPrivate = 0x40000,
  11001. SREAllEvents = 0x5ffff
  11002. } SpeechRecoEvents;
  11003. typedef enum SpeechRecoContextState {
  11004. SRCS_Disabled = SPCS_DISABLED,
  11005. SRCS_Enabled = SPCS_ENABLED
  11006. } SpeechRecoContextState;
  11007. typedef enum DISPIDSPRG {
  11008. DISPID_SRGId = 1,
  11009. DISPID_SRGRecoContext = 2,
  11010. DISPID_SRGState = 3,
  11011. DISPID_SRGRules = 4,
  11012. DISPID_SRGReset = 5,
  11013. DISPID_SRGCommit = 6,
  11014. DISPID_SRGCmdLoadFromFile = 7,
  11015. DISPID_SRGCmdLoadFromObject = 8,
  11016. DISPID_SRGCmdLoadFromResource = 9,
  11017. DISPID_SRGCmdLoadFromMemory = 10,
  11018. DISPID_SRGCmdLoadFromProprietaryGrammar = 11,
  11019. DISPID_SRGCmdSetRuleState = 12,
  11020. DISPID_SRGCmdSetRuleIdState = 13,
  11021. DISPID_SRGDictationLoad = 14,
  11022. DISPID_SRGDictationUnload = 15,
  11023. DISPID_SRGDictationSetState = 16,
  11024. DISPID_SRGSetWordSequenceData = 17,
  11025. DISPID_SRGSetTextSelection = 18,
  11026. DISPID_SRGIsPronounceable = 19
  11027. } DISPIDSPRG;
  11028. typedef enum SpeechLoadOption {
  11029. SLOStatic = SPLO_STATIC,
  11030. SLODynamic = SPLO_DYNAMIC
  11031. } SpeechLoadOption;
  11032. typedef enum SpeechWordPronounceable {
  11033. SWPUnknownWordUnpronounceable = SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE,
  11034. SWPUnknownWordPronounceable = SPWP_UNKNOWN_WORD_PRONOUNCEABLE,
  11035. SWPKnownWordPronounceable = SPWP_KNOWN_WORD_PRONOUNCEABLE
  11036. } SpeechWordPronounceable;
  11037. typedef enum SpeechGrammarState {
  11038. SGSEnabled = SPGS_ENABLED,
  11039. SGSDisabled = SPGS_DISABLED,
  11040. SGSExclusive = SPGS_EXCLUSIVE
  11041. } SpeechGrammarState;
  11042. typedef enum SpeechRuleState {
  11043. SGDSInactive = SPRS_INACTIVE,
  11044. SGDSActive = SPRS_ACTIVE,
  11045. SGDSActiveWithAutoPause = SPRS_ACTIVE_WITH_AUTO_PAUSE
  11046. } SpeechRuleState;
  11047. typedef enum SpeechRuleAttributes {
  11048. SRATopLevel = SPRAF_TopLevel,
  11049. SRADefaultToActive = SPRAF_Active,
  11050. SRAExport = SPRAF_Export,
  11051. SRAImport = SPRAF_Import,
  11052. SRAInterpreter = SPRAF_Interpreter,
  11053. SRADynamic = SPRAF_Dynamic
  11054. } SpeechRuleAttributes;
  11055. typedef enum SpeechGrammarWordType {
  11056. SGDisplay = SPWT_DISPLAY,
  11057. SGLexical = SPWT_LEXICAL,
  11058. SGPronounciation = SPWT_PRONUNCIATION
  11059. } SpeechGrammarWordType;
  11060. typedef enum DISPID_SpeechRecoContextEvents {
  11061. DISPID_SRCEStartStream = 1,
  11062. DISPID_SRCEEndStream = 2,
  11063. DISPID_SRCEBookmark = 3,
  11064. DISPID_SRCESoundStart = 4,
  11065. DISPID_SRCESoundEnd = 5,
  11066. DISPID_SRCEPhraseStart = 6,
  11067. DISPID_SRCERecognition = 7,
  11068. DISPID_SRCEHypothesis = 8,
  11069. DISPID_SRCEPropertyNumberChange = 9,
  11070. DISPID_SRCEPropertyStringChange = 10,
  11071. DISPID_SRCEFalseRecognition = 11,
  11072. DISPID_SRCEInterference = 12,
  11073. DISPID_SRCERequestUI = 13,
  11074. DISPID_SRCERecognizerStateChange = 14,
  11075. DISPID_SRCEAdaptation = 15,
  11076. DISPID_SRCERecognitionForOtherContext = 16,
  11077. DISPID_SRCEAudioLevel = 17,
  11078. DISPID_SRCEEnginePrivate = 18
  11079. } DISPID_SpeechRecoContextEvents;
  11080. typedef enum SpeechRecognitionType {
  11081. SRTStandard = 0,
  11082. SRTAutopause = SPREF_AutoPause,
  11083. SRTEmulated = SPREF_Emulated
  11084. } SpeechRecognitionType;
  11085. typedef enum DISPID_SpeechGrammarRule {
  11086. DISPID_SGRAttributes = 1,
  11087. DISPID_SGRInitialState = 2,
  11088. DISPID_SGRName = 3,
  11089. DISPID_SGRId = 4,
  11090. DISPID_SGRClear = 5,
  11091. DISPID_SGRAddResource = 6,
  11092. DISPID_SGRAddState = 7
  11093. } DISPID_SpeechGrammarRule;
  11094. typedef enum DISPID_SpeechGrammarRules {
  11095. DISPID_SGRsCount = 1,
  11096. DISPID_SGRsDynamic = 2,
  11097. DISPID_SGRsAdd = 3,
  11098. DISPID_SGRsCommit = 4,
  11099. DISPID_SGRsCommitAndSave = 5,
  11100. DISPID_SGRsFindRule = 6,
  11101. DISPID_SGRsItem = DISPID_VALUE,
  11102. DISPID_SGRs_NewEnum = DISPID_NEWENUM
  11103. } DISPID_SpeechGrammarRules;
  11104. typedef enum DISPID_SpeechGrammarRuleState {
  11105. DISPID_SGRSRule = 1,
  11106. DISPID_SGRSTransitions = 2,
  11107. DISPID_SGRSAddWordTransition = 3,
  11108. DISPID_SGRSAddRuleTransition = 4,
  11109. DISPID_SGRSAddSpecialTransition = 5
  11110. } DISPID_SpeechGrammarRuleState;
  11111. typedef enum SpeechSpecialTransitionType {
  11112. SSTTWildcard = 1,
  11113. SSTTDictation = 2,
  11114. SSTTTextBuffer = 3
  11115. } SpeechSpecialTransitionType;
  11116. typedef enum DISPID_SpeechGrammarRuleStateTransitions {
  11117. DISPID_SGRSTsCount = 1,
  11118. DISPID_SGRSTsItem = DISPID_VALUE,
  11119. DISPID_SGRSTs_NewEnum = DISPID_NEWENUM
  11120. } DISPID_SpeechGrammarRuleStateTransitions;
  11121. typedef enum DISPID_SpeechGrammarRuleStateTransition {
  11122. DISPID_SGRSTType = 1,
  11123. DISPID_SGRSTText = 2,
  11124. DISPID_SGRSTRule = 3,
  11125. DISPID_SGRSTWeight = 4,
  11126. DISPID_SGRSTPropertyName = 5,
  11127. DISPID_SGRSTPropertyId = 6,
  11128. DISPID_SGRSTPropertyValue = 7,
  11129. DISPID_SGRSTNextState = 8
  11130. } DISPID_SpeechGrammarRuleStateTransition;
  11131. typedef enum SpeechGrammarRuleStateTransitionType {
  11132. SGRSTTEpsilon = 0,
  11133. SGRSTTWord = 1,
  11134. SGRSTTRule = 2,
  11135. SGRSTTDictation = 3,
  11136. SGRSTTWildcard = 4,
  11137. SGRSTTTextBuffer = 5
  11138. } SpeechGrammarRuleStateTransitionType;
  11139. typedef enum DISPIDSPTSI {
  11140. DISPIDSPTSI_ActiveOffset = 1,
  11141. DISPIDSPTSI_ActiveLength = 2,
  11142. DISPIDSPTSI_SelectionOffset = 3,
  11143. DISPIDSPTSI_SelectionLength = 4
  11144. } DISPIDSPTSI;
  11145. typedef enum DISPID_SpeechRecoResult {
  11146. DISPID_SRRRecoContext = 1,
  11147. DISPID_SRRTimes = 2,
  11148. DISPID_SRRAudioFormat = 3,
  11149. DISPID_SRRPhraseInfo = 4,
  11150. DISPID_SRRAlternates = 5,
  11151. DISPID_SRRAudio = 6,
  11152. DISPID_SRRSpeakAudio = 7,
  11153. DISPID_SRRSaveToMemory = 8,
  11154. DISPID_SRRDiscardResultInfo = 9
  11155. } DISPID_SpeechRecoResult;
  11156. typedef enum SpeechDiscardType {
  11157. SDTProperty = SPDF_PROPERTY,
  11158. SDTReplacement = SPDF_REPLACEMENT,
  11159. SDTRule = SPDF_RULE,
  11160. SDTDisplayText = SPDF_DISPLAYTEXT,
  11161. SDTLexicalForm = SPDF_LEXICALFORM,
  11162. SDTPronunciation = SPDF_PRONUNCIATION,
  11163. SDTAudio = SPDF_AUDIO,
  11164. SDTAlternates = SPDF_ALTERNATES,
  11165. SDTAll = SPDF_ALL
  11166. } SpeechDiscardType;
  11167. typedef enum DISPID_SpeechPhraseBuilder {
  11168. DISPID_SPPBRestorePhraseFromMemory = 1
  11169. } DISPID_SpeechPhraseBuilder;
  11170. typedef enum DISPID_SpeechRecoResultTimes {
  11171. DISPID_SRRTStreamTime = 1,
  11172. DISPID_SRRTLength = 2,
  11173. DISPID_SRRTTickCount = 3,
  11174. DISPID_SRRTOffsetFromStart = 4
  11175. } DISPID_SpeechRecoResultTimes;
  11176. typedef enum DISPID_SpeechPhraseAlternate {
  11177. DISPID_SPARecoResult = 1,
  11178. DISPID_SPAStartElementInResult = 2,
  11179. DISPID_SPANumberOfElementsInResult = 3,
  11180. DISPID_SPAPhraseInfo = 4,
  11181. DISPID_SPACommit = 5
  11182. } DISPID_SpeechPhraseAlternate;
  11183. typedef enum DISPID_SpeechPhraseAlternates {
  11184. DISPID_SPAsCount = 1,
  11185. DISPID_SPAsItem = DISPID_VALUE,
  11186. DISPID_SPAs_NewEnum = DISPID_NEWENUM
  11187. } DISPID_SpeechPhraseAlternates;
  11188. typedef enum DISPID_SpeechPhraseInfo {
  11189. DISPID_SPILanguageId = 1,
  11190. DISPID_SPIGrammarId = 2,
  11191. DISPID_SPIStartTime = 3,
  11192. DISPID_SPIAudioStreamPosition = 4,
  11193. DISPID_SPIAudioSizeBytes = 5,
  11194. DISPID_SPIRetainedSizeBytes = 6,
  11195. DISPID_SPIAudioSizeTime = 7,
  11196. DISPID_SPIRule = 8,
  11197. DISPID_SPIProperties = 9,
  11198. DISPID_SPIElements = 10,
  11199. DISPID_SPIReplacements = 11,
  11200. DISPID_SPIEngineId = 12,
  11201. DISPID_SPIEnginePrivateData = 13,
  11202. DISPID_SPISaveToMemory = 14,
  11203. DISPID_SPIGetText = 15,
  11204. DISPID_SPIGetDisplayAttributes = 16
  11205. } DISPID_SpeechPhraseInfo;
  11206. typedef enum DISPID_SpeechPhraseElement {
  11207. DISPID_SPEAudioTimeOffset = 1,
  11208. DISPID_SPEAudioSizeTime = 2,
  11209. DISPID_SPEAudioStreamOffset = 3,
  11210. DISPID_SPEAudioSizeBytes = 4,
  11211. DISPID_SPERetainedStreamOffset = 5,
  11212. DISPID_SPERetainedSizeBytes = 6,
  11213. DISPID_SPEDisplayText = 7,
  11214. DISPID_SPELexicalForm = 8,
  11215. DISPID_SPEPronunciation = 9,
  11216. DISPID_SPEDisplayAttributes = 10,
  11217. DISPID_SPERequiredConfidence = 11,
  11218. DISPID_SPEActualConfidence = 12,
  11219. DISPID_SPEEngineConfidence = 13
  11220. } DISPID_SpeechPhraseElement;
  11221. typedef enum SpeechEngineConfidence {
  11222. SECLowConfidence = -1,
  11223. SECNormalConfidence = 0,
  11224. SECHighConfidence = 1
  11225. } SpeechEngineConfidence;
  11226. typedef enum DISPID_SpeechPhraseElements {
  11227. DISPID_SPEsCount = 1,
  11228. DISPID_SPEsItem = DISPID_VALUE,
  11229. DISPID_SPEs_NewEnum = DISPID_NEWENUM
  11230. } DISPID_SpeechPhraseElements;
  11231. typedef enum DISPID_SpeechPhraseReplacement {
  11232. DISPID_SPRDisplayAttributes = 1,
  11233. DISPID_SPRText = 2,
  11234. DISPID_SPRFirstElement = 3,
  11235. DISPID_SPRNumberOfElements = 4
  11236. } DISPID_SpeechPhraseReplacement;
  11237. typedef enum DISPID_SpeechPhraseReplacements {
  11238. DISPID_SPRsCount = 1,
  11239. DISPID_SPRsItem = DISPID_VALUE,
  11240. DISPID_SPRs_NewEnum = DISPID_NEWENUM
  11241. } DISPID_SpeechPhraseReplacements;
  11242. typedef enum DISPID_SpeechPhraseProperty {
  11243. DISPID_SPPName = 1,
  11244. DISPID_SPPId = 2,
  11245. DISPID_SPPValue = 3,
  11246. DISPID_SPPFirstElement = 4,
  11247. DISPID_SPPNumberOfElements = 5,
  11248. DISPID_SPPEngineConfidence = 6,
  11249. DISPID_SPPConfidence = 7,
  11250. DISPID_SPPParent = 8,
  11251. DISPID_SPPChildren = 9
  11252. } DISPID_SpeechPhraseProperty;
  11253. typedef enum DISPID_SpeechPhraseProperties {
  11254. DISPID_SPPsCount = 1,
  11255. DISPID_SPPsItem = DISPID_VALUE,
  11256. DISPID_SPPs_NewEnum = DISPID_NEWENUM
  11257. } DISPID_SpeechPhraseProperties;
  11258. typedef enum DISPID_SpeechPhraseRule {
  11259. DISPID_SPRuleName = 1,
  11260. DISPID_SPRuleId = 2,
  11261. DISPID_SPRuleFirstElement = 3,
  11262. DISPID_SPRuleNumberOfElements = 4,
  11263. DISPID_SPRuleParent = 5,
  11264. DISPID_SPRuleChildren = 6,
  11265. DISPID_SPRuleConfidence = 7,
  11266. DISPID_SPRuleEngineConfidence = 8
  11267. } DISPID_SpeechPhraseRule;
  11268. typedef enum DISPID_SpeechPhraseRules {
  11269. DISPID_SPRulesCount = 1,
  11270. DISPID_SPRulesItem = DISPID_VALUE,
  11271. DISPID_SPRules_NewEnum = DISPID_NEWENUM
  11272. } DISPID_SpeechPhraseRules;
  11273. typedef enum DISPID_SpeechLexicon {
  11274. DISPID_SLGenerationId = 1,
  11275. DISPID_SLGetWords = 2,
  11276. DISPID_SLAddPronunciation = 3,
  11277. DISPID_SLAddPronunciationByPhoneIds = 4,
  11278. DISPID_SLRemovePronunciation = 5,
  11279. DISPID_SLRemovePronunciationByPhoneIds = 6,
  11280. DISPID_SLGetPronunciations = 7,
  11281. DISPID_SLGetGenerationChange = 8
  11282. } DISPID_SpeechLexicon;
  11283. typedef enum SpeechLexiconType {
  11284. SLTUser = eLEXTYPE_USER,
  11285. SLTApp = eLEXTYPE_APP
  11286. } SpeechLexiconType;
  11287. typedef enum SpeechPartOfSpeech {
  11288. SPSNotOverriden = SPPS_NotOverriden,
  11289. SPSUnknown = SPPS_Unknown,
  11290. SPSNoun = SPPS_Noun,
  11291. SPSVerb = SPPS_Verb,
  11292. SPSModifier = SPPS_Modifier,
  11293. SPSFunction = SPPS_Function,
  11294. SPSInterjection = SPPS_Interjection
  11295. } SpeechPartOfSpeech;
  11296. typedef enum DISPID_SpeechLexiconWords {
  11297. DISPID_SLWsCount = 1,
  11298. DISPID_SLWsItem = DISPID_VALUE,
  11299. DISPID_SLWs_NewEnum = DISPID_NEWENUM
  11300. } DISPID_SpeechLexiconWords;
  11301. typedef enum SpeechWordType {
  11302. SWTAdded = eWORDTYPE_ADDED,
  11303. SWTDeleted = eWORDTYPE_DELETED
  11304. } SpeechWordType;
  11305. typedef enum DISPID_SpeechLexiconWord {
  11306. DISPID_SLWLangId = 1,
  11307. DISPID_SLWType = 2,
  11308. DISPID_SLWWord = 3,
  11309. DISPID_SLWPronunciations = 4
  11310. } DISPID_SpeechLexiconWord;
  11311. typedef enum DISPID_SpeechLexiconProns {
  11312. DISPID_SLPsCount = 1,
  11313. DISPID_SLPsItem = DISPID_VALUE,
  11314. DISPID_SLPs_NewEnum = DISPID_NEWENUM
  11315. } DISPID_SpeechLexiconProns;
  11316. typedef enum DISPID_SpeechLexiconPronunciation {
  11317. DISPID_SLPType = 1,
  11318. DISPID_SLPLangId = 2,
  11319. DISPID_SLPPartOfSpeech = 3,
  11320. DISPID_SLPPhoneIds = 4,
  11321. DISPID_SLPSymbolic = 5
  11322. } DISPID_SpeechLexiconPronunciation;
  11323. typedef enum DISPID_SpeechPhoneConverter {
  11324. DISPID_SPCLangId = 1,
  11325. DISPID_SPCPhoneToId = 2,
  11326. DISPID_SPCIdToPhone = 3
  11327. } DISPID_SpeechPhoneConverter;
  11328. /*****************************************************************************
  11329. * _ISpeechVoiceEvents dispinterface
  11330. */
  11331. #ifndef ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__
  11332. #define ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__
  11333. DEFINE_GUID(DIID__ISpeechVoiceEvents, 0xa372acd1, 0x3bef, 0x4bbd, 0x8f,0xfb, 0xcb,0x3e,0x2b,0x41,0x6a,0xf8);
  11334. #if defined(__cplusplus) && !defined(CINTERFACE)
  11335. MIDL_INTERFACE("a372acd1-3bef-4bbd-8ffb-cb3e2b416af8")
  11336. _ISpeechVoiceEvents : public IDispatch
  11337. {
  11338. };
  11339. #ifdef __CRT_UUID_DECL
  11340. __CRT_UUID_DECL(_ISpeechVoiceEvents, 0xa372acd1, 0x3bef, 0x4bbd, 0x8f,0xfb, 0xcb,0x3e,0x2b,0x41,0x6a,0xf8)
  11341. #endif
  11342. #else
  11343. typedef struct _ISpeechVoiceEventsVtbl {
  11344. BEGIN_INTERFACE
  11345. /*** IUnknown methods ***/
  11346. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  11347. _ISpeechVoiceEvents *This,
  11348. REFIID riid,
  11349. void **ppvObject);
  11350. ULONG (STDMETHODCALLTYPE *AddRef)(
  11351. _ISpeechVoiceEvents *This);
  11352. ULONG (STDMETHODCALLTYPE *Release)(
  11353. _ISpeechVoiceEvents *This);
  11354. /*** IDispatch methods ***/
  11355. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  11356. _ISpeechVoiceEvents *This,
  11357. UINT *pctinfo);
  11358. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  11359. _ISpeechVoiceEvents *This,
  11360. UINT iTInfo,
  11361. LCID lcid,
  11362. ITypeInfo **ppTInfo);
  11363. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  11364. _ISpeechVoiceEvents *This,
  11365. REFIID riid,
  11366. LPOLESTR *rgszNames,
  11367. UINT cNames,
  11368. LCID lcid,
  11369. DISPID *rgDispId);
  11370. HRESULT (STDMETHODCALLTYPE *Invoke)(
  11371. _ISpeechVoiceEvents *This,
  11372. DISPID dispIdMember,
  11373. REFIID riid,
  11374. LCID lcid,
  11375. WORD wFlags,
  11376. DISPPARAMS *pDispParams,
  11377. VARIANT *pVarResult,
  11378. EXCEPINFO *pExcepInfo,
  11379. UINT *puArgErr);
  11380. END_INTERFACE
  11381. } _ISpeechVoiceEventsVtbl;
  11382. interface _ISpeechVoiceEvents {
  11383. CONST_VTBL _ISpeechVoiceEventsVtbl* lpVtbl;
  11384. };
  11385. #ifdef COBJMACROS
  11386. #ifndef WIDL_C_INLINE_WRAPPERS
  11387. /*** IUnknown methods ***/
  11388. #define _ISpeechVoiceEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  11389. #define _ISpeechVoiceEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  11390. #define _ISpeechVoiceEvents_Release(This) (This)->lpVtbl->Release(This)
  11391. /*** IDispatch methods ***/
  11392. #define _ISpeechVoiceEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  11393. #define _ISpeechVoiceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  11394. #define _ISpeechVoiceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  11395. #define _ISpeechVoiceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  11396. #else
  11397. /*** IUnknown methods ***/
  11398. static FORCEINLINE HRESULT _ISpeechVoiceEvents_QueryInterface(_ISpeechVoiceEvents* This,REFIID riid,void **ppvObject) {
  11399. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  11400. }
  11401. static FORCEINLINE ULONG _ISpeechVoiceEvents_AddRef(_ISpeechVoiceEvents* This) {
  11402. return This->lpVtbl->AddRef(This);
  11403. }
  11404. static FORCEINLINE ULONG _ISpeechVoiceEvents_Release(_ISpeechVoiceEvents* This) {
  11405. return This->lpVtbl->Release(This);
  11406. }
  11407. /*** IDispatch methods ***/
  11408. static FORCEINLINE HRESULT _ISpeechVoiceEvents_GetTypeInfoCount(_ISpeechVoiceEvents* This,UINT *pctinfo) {
  11409. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  11410. }
  11411. static FORCEINLINE HRESULT _ISpeechVoiceEvents_GetTypeInfo(_ISpeechVoiceEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  11412. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  11413. }
  11414. static FORCEINLINE HRESULT _ISpeechVoiceEvents_GetIDsOfNames(_ISpeechVoiceEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  11415. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  11416. }
  11417. static FORCEINLINE HRESULT _ISpeechVoiceEvents_Invoke(_ISpeechVoiceEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  11418. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  11419. }
  11420. #endif
  11421. #endif
  11422. #endif
  11423. #endif /* ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__ */
  11424. /*****************************************************************************
  11425. * ISpeechRecognizer interface
  11426. */
  11427. #ifndef __ISpeechRecognizer_INTERFACE_DEFINED__
  11428. #define __ISpeechRecognizer_INTERFACE_DEFINED__
  11429. DEFINE_GUID(IID_ISpeechRecognizer, 0x2d5f1c0c, 0xbd75, 0x4b08, 0x94,0x78, 0x3b,0x11,0xfe,0xa2,0x58,0x6c);
  11430. #if defined(__cplusplus) && !defined(CINTERFACE)
  11431. MIDL_INTERFACE("2d5f1c0c-bd75-4b08-9478-3b11fea2586c")
  11432. ISpeechRecognizer : public IDispatch
  11433. {
  11434. virtual HRESULT STDMETHODCALLTYPE putref_Recognizer(
  11435. ISpeechObjectToken *Recognizer) = 0;
  11436. virtual HRESULT STDMETHODCALLTYPE get_Recognizer(
  11437. ISpeechObjectToken **Recognizer) = 0;
  11438. virtual HRESULT STDMETHODCALLTYPE put_AllowAudioInputFormatChangesOnNextSet(
  11439. VARIANT_BOOL Allow) = 0;
  11440. virtual HRESULT STDMETHODCALLTYPE get_AllowAudioInputFormatChangesOnNextSet(
  11441. VARIANT_BOOL *Allow) = 0;
  11442. virtual HRESULT STDMETHODCALLTYPE putref_AudioInput(
  11443. ISpeechObjectToken *AudioInput = 0) = 0;
  11444. virtual HRESULT STDMETHODCALLTYPE get_AudioInput(
  11445. ISpeechObjectToken **AudioInput) = 0;
  11446. virtual HRESULT STDMETHODCALLTYPE putref_AudioInputStream(
  11447. ISpeechBaseStream *AudioInputStream = 0) = 0;
  11448. virtual HRESULT STDMETHODCALLTYPE get_AudioInputStream(
  11449. ISpeechBaseStream **AudioInputStream) = 0;
  11450. virtual HRESULT STDMETHODCALLTYPE get_IsShared(
  11451. VARIANT_BOOL *Shared) = 0;
  11452. virtual HRESULT STDMETHODCALLTYPE put_State(
  11453. SpeechRecognizerState State) = 0;
  11454. virtual HRESULT STDMETHODCALLTYPE get_State(
  11455. SpeechRecognizerState *State) = 0;
  11456. virtual HRESULT STDMETHODCALLTYPE get_Status(
  11457. ISpeechRecognizerStatus **Status) = 0;
  11458. virtual HRESULT STDMETHODCALLTYPE putref_Profile(
  11459. ISpeechObjectToken *Profile = 0) = 0;
  11460. virtual HRESULT STDMETHODCALLTYPE get_Profile(
  11461. ISpeechObjectToken **Profile) = 0;
  11462. virtual HRESULT STDMETHODCALLTYPE EmulateRecognition(
  11463. VARIANT TextElements,
  11464. VARIANT *ElementDisplayAttributes = 0,
  11465. LONG LanguageId = 0) = 0;
  11466. virtual HRESULT STDMETHODCALLTYPE CreateRecoContext(
  11467. ISpeechRecoContext **NewContext) = 0;
  11468. virtual HRESULT STDMETHODCALLTYPE GetFormat(
  11469. SpeechFormatType Type,
  11470. ISpeechAudioFormat **Format) = 0;
  11471. virtual HRESULT STDMETHODCALLTYPE SetPropertyNumber(
  11472. const BSTR Name,
  11473. LONG Value,
  11474. VARIANT_BOOL *Supported) = 0;
  11475. virtual HRESULT STDMETHODCALLTYPE GetPropertyNumber(
  11476. const BSTR Name,
  11477. LONG *Value,
  11478. VARIANT_BOOL *Supported) = 0;
  11479. virtual HRESULT STDMETHODCALLTYPE SetPropertyString(
  11480. const BSTR Name,
  11481. const BSTR Value,
  11482. VARIANT_BOOL *Supported) = 0;
  11483. virtual HRESULT STDMETHODCALLTYPE GetPropertyString(
  11484. const BSTR Name,
  11485. BSTR *Value,
  11486. VARIANT_BOOL *Supported) = 0;
  11487. virtual HRESULT STDMETHODCALLTYPE IsUISupported(
  11488. const BSTR TypeOfUI,
  11489. const VARIANT *ExtraData,
  11490. VARIANT_BOOL *Supported) = 0;
  11491. virtual HRESULT STDMETHODCALLTYPE DisplayUI(
  11492. LONG hWndParent,
  11493. BSTR Title,
  11494. const BSTR TypeOfUI,
  11495. const VARIANT *ExtraData = 0) = 0;
  11496. virtual HRESULT STDMETHODCALLTYPE GetRecognizers(
  11497. BSTR RequiredAttributes,
  11498. BSTR OptionalAttributes,
  11499. ISpeechObjectTokens **ObjectTokens) = 0;
  11500. virtual HRESULT STDMETHODCALLTYPE GetAudioInputs(
  11501. BSTR RequiredAttributes,
  11502. BSTR OptionalAttributes,
  11503. ISpeechObjectTokens **ObjectTokens) = 0;
  11504. virtual HRESULT STDMETHODCALLTYPE GetProfiles(
  11505. BSTR RequiredAttributes,
  11506. BSTR OptionalAttributes,
  11507. ISpeechObjectTokens **ObjectTokens) = 0;
  11508. };
  11509. #ifdef __CRT_UUID_DECL
  11510. __CRT_UUID_DECL(ISpeechRecognizer, 0x2d5f1c0c, 0xbd75, 0x4b08, 0x94,0x78, 0x3b,0x11,0xfe,0xa2,0x58,0x6c)
  11511. #endif
  11512. #else
  11513. typedef struct ISpeechRecognizerVtbl {
  11514. BEGIN_INTERFACE
  11515. /*** IUnknown methods ***/
  11516. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  11517. ISpeechRecognizer *This,
  11518. REFIID riid,
  11519. void **ppvObject);
  11520. ULONG (STDMETHODCALLTYPE *AddRef)(
  11521. ISpeechRecognizer *This);
  11522. ULONG (STDMETHODCALLTYPE *Release)(
  11523. ISpeechRecognizer *This);
  11524. /*** IDispatch methods ***/
  11525. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  11526. ISpeechRecognizer *This,
  11527. UINT *pctinfo);
  11528. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  11529. ISpeechRecognizer *This,
  11530. UINT iTInfo,
  11531. LCID lcid,
  11532. ITypeInfo **ppTInfo);
  11533. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  11534. ISpeechRecognizer *This,
  11535. REFIID riid,
  11536. LPOLESTR *rgszNames,
  11537. UINT cNames,
  11538. LCID lcid,
  11539. DISPID *rgDispId);
  11540. HRESULT (STDMETHODCALLTYPE *Invoke)(
  11541. ISpeechRecognizer *This,
  11542. DISPID dispIdMember,
  11543. REFIID riid,
  11544. LCID lcid,
  11545. WORD wFlags,
  11546. DISPPARAMS *pDispParams,
  11547. VARIANT *pVarResult,
  11548. EXCEPINFO *pExcepInfo,
  11549. UINT *puArgErr);
  11550. /*** ISpeechRecognizer methods ***/
  11551. HRESULT (STDMETHODCALLTYPE *putref_Recognizer)(
  11552. ISpeechRecognizer *This,
  11553. ISpeechObjectToken *Recognizer);
  11554. HRESULT (STDMETHODCALLTYPE *get_Recognizer)(
  11555. ISpeechRecognizer *This,
  11556. ISpeechObjectToken **Recognizer);
  11557. HRESULT (STDMETHODCALLTYPE *put_AllowAudioInputFormatChangesOnNextSet)(
  11558. ISpeechRecognizer *This,
  11559. VARIANT_BOOL Allow);
  11560. HRESULT (STDMETHODCALLTYPE *get_AllowAudioInputFormatChangesOnNextSet)(
  11561. ISpeechRecognizer *This,
  11562. VARIANT_BOOL *Allow);
  11563. HRESULT (STDMETHODCALLTYPE *putref_AudioInput)(
  11564. ISpeechRecognizer *This,
  11565. ISpeechObjectToken *AudioInput);
  11566. HRESULT (STDMETHODCALLTYPE *get_AudioInput)(
  11567. ISpeechRecognizer *This,
  11568. ISpeechObjectToken **AudioInput);
  11569. HRESULT (STDMETHODCALLTYPE *putref_AudioInputStream)(
  11570. ISpeechRecognizer *This,
  11571. ISpeechBaseStream *AudioInputStream);
  11572. HRESULT (STDMETHODCALLTYPE *get_AudioInputStream)(
  11573. ISpeechRecognizer *This,
  11574. ISpeechBaseStream **AudioInputStream);
  11575. HRESULT (STDMETHODCALLTYPE *get_IsShared)(
  11576. ISpeechRecognizer *This,
  11577. VARIANT_BOOL *Shared);
  11578. HRESULT (STDMETHODCALLTYPE *put_State)(
  11579. ISpeechRecognizer *This,
  11580. SpeechRecognizerState State);
  11581. HRESULT (STDMETHODCALLTYPE *get_State)(
  11582. ISpeechRecognizer *This,
  11583. SpeechRecognizerState *State);
  11584. HRESULT (STDMETHODCALLTYPE *get_Status)(
  11585. ISpeechRecognizer *This,
  11586. ISpeechRecognizerStatus **Status);
  11587. HRESULT (STDMETHODCALLTYPE *putref_Profile)(
  11588. ISpeechRecognizer *This,
  11589. ISpeechObjectToken *Profile);
  11590. HRESULT (STDMETHODCALLTYPE *get_Profile)(
  11591. ISpeechRecognizer *This,
  11592. ISpeechObjectToken **Profile);
  11593. HRESULT (STDMETHODCALLTYPE *EmulateRecognition)(
  11594. ISpeechRecognizer *This,
  11595. VARIANT TextElements,
  11596. VARIANT *ElementDisplayAttributes,
  11597. LONG LanguageId);
  11598. HRESULT (STDMETHODCALLTYPE *CreateRecoContext)(
  11599. ISpeechRecognizer *This,
  11600. ISpeechRecoContext **NewContext);
  11601. HRESULT (STDMETHODCALLTYPE *GetFormat)(
  11602. ISpeechRecognizer *This,
  11603. SpeechFormatType Type,
  11604. ISpeechAudioFormat **Format);
  11605. HRESULT (STDMETHODCALLTYPE *SetPropertyNumber)(
  11606. ISpeechRecognizer *This,
  11607. const BSTR Name,
  11608. LONG Value,
  11609. VARIANT_BOOL *Supported);
  11610. HRESULT (STDMETHODCALLTYPE *GetPropertyNumber)(
  11611. ISpeechRecognizer *This,
  11612. const BSTR Name,
  11613. LONG *Value,
  11614. VARIANT_BOOL *Supported);
  11615. HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
  11616. ISpeechRecognizer *This,
  11617. const BSTR Name,
  11618. const BSTR Value,
  11619. VARIANT_BOOL *Supported);
  11620. HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
  11621. ISpeechRecognizer *This,
  11622. const BSTR Name,
  11623. BSTR *Value,
  11624. VARIANT_BOOL *Supported);
  11625. HRESULT (STDMETHODCALLTYPE *IsUISupported)(
  11626. ISpeechRecognizer *This,
  11627. const BSTR TypeOfUI,
  11628. const VARIANT *ExtraData,
  11629. VARIANT_BOOL *Supported);
  11630. HRESULT (STDMETHODCALLTYPE *DisplayUI)(
  11631. ISpeechRecognizer *This,
  11632. LONG hWndParent,
  11633. BSTR Title,
  11634. const BSTR TypeOfUI,
  11635. const VARIANT *ExtraData);
  11636. HRESULT (STDMETHODCALLTYPE *GetRecognizers)(
  11637. ISpeechRecognizer *This,
  11638. BSTR RequiredAttributes,
  11639. BSTR OptionalAttributes,
  11640. ISpeechObjectTokens **ObjectTokens);
  11641. HRESULT (STDMETHODCALLTYPE *GetAudioInputs)(
  11642. ISpeechRecognizer *This,
  11643. BSTR RequiredAttributes,
  11644. BSTR OptionalAttributes,
  11645. ISpeechObjectTokens **ObjectTokens);
  11646. HRESULT (STDMETHODCALLTYPE *GetProfiles)(
  11647. ISpeechRecognizer *This,
  11648. BSTR RequiredAttributes,
  11649. BSTR OptionalAttributes,
  11650. ISpeechObjectTokens **ObjectTokens);
  11651. END_INTERFACE
  11652. } ISpeechRecognizerVtbl;
  11653. interface ISpeechRecognizer {
  11654. CONST_VTBL ISpeechRecognizerVtbl* lpVtbl;
  11655. };
  11656. #ifdef COBJMACROS
  11657. #ifndef WIDL_C_INLINE_WRAPPERS
  11658. /*** IUnknown methods ***/
  11659. #define ISpeechRecognizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  11660. #define ISpeechRecognizer_AddRef(This) (This)->lpVtbl->AddRef(This)
  11661. #define ISpeechRecognizer_Release(This) (This)->lpVtbl->Release(This)
  11662. /*** IDispatch methods ***/
  11663. #define ISpeechRecognizer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  11664. #define ISpeechRecognizer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  11665. #define ISpeechRecognizer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  11666. #define ISpeechRecognizer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  11667. /*** ISpeechRecognizer methods ***/
  11668. #define ISpeechRecognizer_putref_Recognizer(This,Recognizer) (This)->lpVtbl->putref_Recognizer(This,Recognizer)
  11669. #define ISpeechRecognizer_get_Recognizer(This,Recognizer) (This)->lpVtbl->get_Recognizer(This,Recognizer)
  11670. #define ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->put_AllowAudioInputFormatChangesOnNextSet(This,Allow)
  11671. #define ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->get_AllowAudioInputFormatChangesOnNextSet(This,Allow)
  11672. #define ISpeechRecognizer_putref_AudioInput(This,AudioInput) (This)->lpVtbl->putref_AudioInput(This,AudioInput)
  11673. #define ISpeechRecognizer_get_AudioInput(This,AudioInput) (This)->lpVtbl->get_AudioInput(This,AudioInput)
  11674. #define ISpeechRecognizer_putref_AudioInputStream(This,AudioInputStream) (This)->lpVtbl->putref_AudioInputStream(This,AudioInputStream)
  11675. #define ISpeechRecognizer_get_AudioInputStream(This,AudioInputStream) (This)->lpVtbl->get_AudioInputStream(This,AudioInputStream)
  11676. #define ISpeechRecognizer_get_IsShared(This,Shared) (This)->lpVtbl->get_IsShared(This,Shared)
  11677. #define ISpeechRecognizer_put_State(This,State) (This)->lpVtbl->put_State(This,State)
  11678. #define ISpeechRecognizer_get_State(This,State) (This)->lpVtbl->get_State(This,State)
  11679. #define ISpeechRecognizer_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
  11680. #define ISpeechRecognizer_putref_Profile(This,Profile) (This)->lpVtbl->putref_Profile(This,Profile)
  11681. #define ISpeechRecognizer_get_Profile(This,Profile) (This)->lpVtbl->get_Profile(This,Profile)
  11682. #define ISpeechRecognizer_EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId) (This)->lpVtbl->EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId)
  11683. #define ISpeechRecognizer_CreateRecoContext(This,NewContext) (This)->lpVtbl->CreateRecoContext(This,NewContext)
  11684. #define ISpeechRecognizer_GetFormat(This,Type,Format) (This)->lpVtbl->GetFormat(This,Type,Format)
  11685. #define ISpeechRecognizer_SetPropertyNumber(This,Name,Value,Supported) (This)->lpVtbl->SetPropertyNumber(This,Name,Value,Supported)
  11686. #define ISpeechRecognizer_GetPropertyNumber(This,Name,Value,Supported) (This)->lpVtbl->GetPropertyNumber(This,Name,Value,Supported)
  11687. #define ISpeechRecognizer_SetPropertyString(This,Name,Value,Supported) (This)->lpVtbl->SetPropertyString(This,Name,Value,Supported)
  11688. #define ISpeechRecognizer_GetPropertyString(This,Name,Value,Supported) (This)->lpVtbl->GetPropertyString(This,Name,Value,Supported)
  11689. #define ISpeechRecognizer_IsUISupported(This,TypeOfUI,ExtraData,Supported) (This)->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported)
  11690. #define ISpeechRecognizer_DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData) (This)->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData)
  11691. #define ISpeechRecognizer_GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
  11692. #define ISpeechRecognizer_GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
  11693. #define ISpeechRecognizer_GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
  11694. #else
  11695. /*** IUnknown methods ***/
  11696. static FORCEINLINE HRESULT ISpeechRecognizer_QueryInterface(ISpeechRecognizer* This,REFIID riid,void **ppvObject) {
  11697. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  11698. }
  11699. static FORCEINLINE ULONG ISpeechRecognizer_AddRef(ISpeechRecognizer* This) {
  11700. return This->lpVtbl->AddRef(This);
  11701. }
  11702. static FORCEINLINE ULONG ISpeechRecognizer_Release(ISpeechRecognizer* This) {
  11703. return This->lpVtbl->Release(This);
  11704. }
  11705. /*** IDispatch methods ***/
  11706. static FORCEINLINE HRESULT ISpeechRecognizer_GetTypeInfoCount(ISpeechRecognizer* This,UINT *pctinfo) {
  11707. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  11708. }
  11709. static FORCEINLINE HRESULT ISpeechRecognizer_GetTypeInfo(ISpeechRecognizer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  11710. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  11711. }
  11712. static FORCEINLINE HRESULT ISpeechRecognizer_GetIDsOfNames(ISpeechRecognizer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  11713. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  11714. }
  11715. static FORCEINLINE HRESULT ISpeechRecognizer_Invoke(ISpeechRecognizer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  11716. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  11717. }
  11718. /*** ISpeechRecognizer methods ***/
  11719. static FORCEINLINE HRESULT ISpeechRecognizer_putref_Recognizer(ISpeechRecognizer* This,ISpeechObjectToken *Recognizer) {
  11720. return This->lpVtbl->putref_Recognizer(This,Recognizer);
  11721. }
  11722. static FORCEINLINE HRESULT ISpeechRecognizer_get_Recognizer(ISpeechRecognizer* This,ISpeechObjectToken **Recognizer) {
  11723. return This->lpVtbl->get_Recognizer(This,Recognizer);
  11724. }
  11725. static FORCEINLINE HRESULT ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet(ISpeechRecognizer* This,VARIANT_BOOL Allow) {
  11726. return This->lpVtbl->put_AllowAudioInputFormatChangesOnNextSet(This,Allow);
  11727. }
  11728. static FORCEINLINE HRESULT ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet(ISpeechRecognizer* This,VARIANT_BOOL *Allow) {
  11729. return This->lpVtbl->get_AllowAudioInputFormatChangesOnNextSet(This,Allow);
  11730. }
  11731. static FORCEINLINE HRESULT ISpeechRecognizer_putref_AudioInput(ISpeechRecognizer* This,ISpeechObjectToken *AudioInput) {
  11732. return This->lpVtbl->putref_AudioInput(This,AudioInput);
  11733. }
  11734. static FORCEINLINE HRESULT ISpeechRecognizer_get_AudioInput(ISpeechRecognizer* This,ISpeechObjectToken **AudioInput) {
  11735. return This->lpVtbl->get_AudioInput(This,AudioInput);
  11736. }
  11737. static FORCEINLINE HRESULT ISpeechRecognizer_putref_AudioInputStream(ISpeechRecognizer* This,ISpeechBaseStream *AudioInputStream) {
  11738. return This->lpVtbl->putref_AudioInputStream(This,AudioInputStream);
  11739. }
  11740. static FORCEINLINE HRESULT ISpeechRecognizer_get_AudioInputStream(ISpeechRecognizer* This,ISpeechBaseStream **AudioInputStream) {
  11741. return This->lpVtbl->get_AudioInputStream(This,AudioInputStream);
  11742. }
  11743. static FORCEINLINE HRESULT ISpeechRecognizer_get_IsShared(ISpeechRecognizer* This,VARIANT_BOOL *Shared) {
  11744. return This->lpVtbl->get_IsShared(This,Shared);
  11745. }
  11746. static FORCEINLINE HRESULT ISpeechRecognizer_put_State(ISpeechRecognizer* This,SpeechRecognizerState State) {
  11747. return This->lpVtbl->put_State(This,State);
  11748. }
  11749. static FORCEINLINE HRESULT ISpeechRecognizer_get_State(ISpeechRecognizer* This,SpeechRecognizerState *State) {
  11750. return This->lpVtbl->get_State(This,State);
  11751. }
  11752. static FORCEINLINE HRESULT ISpeechRecognizer_get_Status(ISpeechRecognizer* This,ISpeechRecognizerStatus **Status) {
  11753. return This->lpVtbl->get_Status(This,Status);
  11754. }
  11755. static FORCEINLINE HRESULT ISpeechRecognizer_putref_Profile(ISpeechRecognizer* This,ISpeechObjectToken *Profile) {
  11756. return This->lpVtbl->putref_Profile(This,Profile);
  11757. }
  11758. static FORCEINLINE HRESULT ISpeechRecognizer_get_Profile(ISpeechRecognizer* This,ISpeechObjectToken **Profile) {
  11759. return This->lpVtbl->get_Profile(This,Profile);
  11760. }
  11761. static FORCEINLINE HRESULT ISpeechRecognizer_EmulateRecognition(ISpeechRecognizer* This,VARIANT TextElements,VARIANT *ElementDisplayAttributes,LONG LanguageId) {
  11762. return This->lpVtbl->EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId);
  11763. }
  11764. static FORCEINLINE HRESULT ISpeechRecognizer_CreateRecoContext(ISpeechRecognizer* This,ISpeechRecoContext **NewContext) {
  11765. return This->lpVtbl->CreateRecoContext(This,NewContext);
  11766. }
  11767. static FORCEINLINE HRESULT ISpeechRecognizer_GetFormat(ISpeechRecognizer* This,SpeechFormatType Type,ISpeechAudioFormat **Format) {
  11768. return This->lpVtbl->GetFormat(This,Type,Format);
  11769. }
  11770. static FORCEINLINE HRESULT ISpeechRecognizer_SetPropertyNumber(ISpeechRecognizer* This,const BSTR Name,LONG Value,VARIANT_BOOL *Supported) {
  11771. return This->lpVtbl->SetPropertyNumber(This,Name,Value,Supported);
  11772. }
  11773. static FORCEINLINE HRESULT ISpeechRecognizer_GetPropertyNumber(ISpeechRecognizer* This,const BSTR Name,LONG *Value,VARIANT_BOOL *Supported) {
  11774. return This->lpVtbl->GetPropertyNumber(This,Name,Value,Supported);
  11775. }
  11776. static FORCEINLINE HRESULT ISpeechRecognizer_SetPropertyString(ISpeechRecognizer* This,const BSTR Name,const BSTR Value,VARIANT_BOOL *Supported) {
  11777. return This->lpVtbl->SetPropertyString(This,Name,Value,Supported);
  11778. }
  11779. static FORCEINLINE HRESULT ISpeechRecognizer_GetPropertyString(ISpeechRecognizer* This,const BSTR Name,BSTR *Value,VARIANT_BOOL *Supported) {
  11780. return This->lpVtbl->GetPropertyString(This,Name,Value,Supported);
  11781. }
  11782. static FORCEINLINE HRESULT ISpeechRecognizer_IsUISupported(ISpeechRecognizer* This,const BSTR TypeOfUI,const VARIANT *ExtraData,VARIANT_BOOL *Supported) {
  11783. return This->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported);
  11784. }
  11785. static FORCEINLINE HRESULT ISpeechRecognizer_DisplayUI(ISpeechRecognizer* This,LONG hWndParent,BSTR Title,const BSTR TypeOfUI,const VARIANT *ExtraData) {
  11786. return This->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData);
  11787. }
  11788. static FORCEINLINE HRESULT ISpeechRecognizer_GetRecognizers(ISpeechRecognizer* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
  11789. return This->lpVtbl->GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
  11790. }
  11791. static FORCEINLINE HRESULT ISpeechRecognizer_GetAudioInputs(ISpeechRecognizer* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
  11792. return This->lpVtbl->GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
  11793. }
  11794. static FORCEINLINE HRESULT ISpeechRecognizer_GetProfiles(ISpeechRecognizer* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
  11795. return This->lpVtbl->GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
  11796. }
  11797. #endif
  11798. #endif
  11799. #endif
  11800. #endif /* __ISpeechRecognizer_INTERFACE_DEFINED__ */
  11801. /*****************************************************************************
  11802. * ISpeechRecognizerStatus interface
  11803. */
  11804. #ifndef __ISpeechRecognizerStatus_INTERFACE_DEFINED__
  11805. #define __ISpeechRecognizerStatus_INTERFACE_DEFINED__
  11806. DEFINE_GUID(IID_ISpeechRecognizerStatus, 0xbff9e781, 0x53ec, 0x484e, 0xbb,0x8a, 0x0e,0x1b,0x55,0x51,0xe3,0x5c);
  11807. #if defined(__cplusplus) && !defined(CINTERFACE)
  11808. MIDL_INTERFACE("bff9e781-53ec-484e-bb8a-0e1b5551e35c")
  11809. ISpeechRecognizerStatus : public IDispatch
  11810. {
  11811. virtual HRESULT STDMETHODCALLTYPE get_AudioStatus(
  11812. ISpeechAudioStatus **AudioStatus) = 0;
  11813. virtual HRESULT STDMETHODCALLTYPE get_CurrentStreamPosition(
  11814. VARIANT *pCurrentStreamPos) = 0;
  11815. virtual HRESULT STDMETHODCALLTYPE get_CurrentStreamNumber(
  11816. LONG *StreamNumber) = 0;
  11817. virtual HRESULT STDMETHODCALLTYPE get_NumberOfActiveRules(
  11818. LONG *NumberOfActiveRules) = 0;
  11819. virtual HRESULT STDMETHODCALLTYPE get_ClsidEngine(
  11820. BSTR *ClsidEngine) = 0;
  11821. virtual HRESULT STDMETHODCALLTYPE get_SupportedLanguages(
  11822. VARIANT *SupportedLanguages) = 0;
  11823. };
  11824. #ifdef __CRT_UUID_DECL
  11825. __CRT_UUID_DECL(ISpeechRecognizerStatus, 0xbff9e781, 0x53ec, 0x484e, 0xbb,0x8a, 0x0e,0x1b,0x55,0x51,0xe3,0x5c)
  11826. #endif
  11827. #else
  11828. typedef struct ISpeechRecognizerStatusVtbl {
  11829. BEGIN_INTERFACE
  11830. /*** IUnknown methods ***/
  11831. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  11832. ISpeechRecognizerStatus *This,
  11833. REFIID riid,
  11834. void **ppvObject);
  11835. ULONG (STDMETHODCALLTYPE *AddRef)(
  11836. ISpeechRecognizerStatus *This);
  11837. ULONG (STDMETHODCALLTYPE *Release)(
  11838. ISpeechRecognizerStatus *This);
  11839. /*** IDispatch methods ***/
  11840. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  11841. ISpeechRecognizerStatus *This,
  11842. UINT *pctinfo);
  11843. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  11844. ISpeechRecognizerStatus *This,
  11845. UINT iTInfo,
  11846. LCID lcid,
  11847. ITypeInfo **ppTInfo);
  11848. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  11849. ISpeechRecognizerStatus *This,
  11850. REFIID riid,
  11851. LPOLESTR *rgszNames,
  11852. UINT cNames,
  11853. LCID lcid,
  11854. DISPID *rgDispId);
  11855. HRESULT (STDMETHODCALLTYPE *Invoke)(
  11856. ISpeechRecognizerStatus *This,
  11857. DISPID dispIdMember,
  11858. REFIID riid,
  11859. LCID lcid,
  11860. WORD wFlags,
  11861. DISPPARAMS *pDispParams,
  11862. VARIANT *pVarResult,
  11863. EXCEPINFO *pExcepInfo,
  11864. UINT *puArgErr);
  11865. /*** ISpeechRecognizerStatus methods ***/
  11866. HRESULT (STDMETHODCALLTYPE *get_AudioStatus)(
  11867. ISpeechRecognizerStatus *This,
  11868. ISpeechAudioStatus **AudioStatus);
  11869. HRESULT (STDMETHODCALLTYPE *get_CurrentStreamPosition)(
  11870. ISpeechRecognizerStatus *This,
  11871. VARIANT *pCurrentStreamPos);
  11872. HRESULT (STDMETHODCALLTYPE *get_CurrentStreamNumber)(
  11873. ISpeechRecognizerStatus *This,
  11874. LONG *StreamNumber);
  11875. HRESULT (STDMETHODCALLTYPE *get_NumberOfActiveRules)(
  11876. ISpeechRecognizerStatus *This,
  11877. LONG *NumberOfActiveRules);
  11878. HRESULT (STDMETHODCALLTYPE *get_ClsidEngine)(
  11879. ISpeechRecognizerStatus *This,
  11880. BSTR *ClsidEngine);
  11881. HRESULT (STDMETHODCALLTYPE *get_SupportedLanguages)(
  11882. ISpeechRecognizerStatus *This,
  11883. VARIANT *SupportedLanguages);
  11884. END_INTERFACE
  11885. } ISpeechRecognizerStatusVtbl;
  11886. interface ISpeechRecognizerStatus {
  11887. CONST_VTBL ISpeechRecognizerStatusVtbl* lpVtbl;
  11888. };
  11889. #ifdef COBJMACROS
  11890. #ifndef WIDL_C_INLINE_WRAPPERS
  11891. /*** IUnknown methods ***/
  11892. #define ISpeechRecognizerStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  11893. #define ISpeechRecognizerStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
  11894. #define ISpeechRecognizerStatus_Release(This) (This)->lpVtbl->Release(This)
  11895. /*** IDispatch methods ***/
  11896. #define ISpeechRecognizerStatus_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  11897. #define ISpeechRecognizerStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  11898. #define ISpeechRecognizerStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  11899. #define ISpeechRecognizerStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  11900. /*** ISpeechRecognizerStatus methods ***/
  11901. #define ISpeechRecognizerStatus_get_AudioStatus(This,AudioStatus) (This)->lpVtbl->get_AudioStatus(This,AudioStatus)
  11902. #define ISpeechRecognizerStatus_get_CurrentStreamPosition(This,pCurrentStreamPos) (This)->lpVtbl->get_CurrentStreamPosition(This,pCurrentStreamPos)
  11903. #define ISpeechRecognizerStatus_get_CurrentStreamNumber(This,StreamNumber) (This)->lpVtbl->get_CurrentStreamNumber(This,StreamNumber)
  11904. #define ISpeechRecognizerStatus_get_NumberOfActiveRules(This,NumberOfActiveRules) (This)->lpVtbl->get_NumberOfActiveRules(This,NumberOfActiveRules)
  11905. #define ISpeechRecognizerStatus_get_ClsidEngine(This,ClsidEngine) (This)->lpVtbl->get_ClsidEngine(This,ClsidEngine)
  11906. #define ISpeechRecognizerStatus_get_SupportedLanguages(This,SupportedLanguages) (This)->lpVtbl->get_SupportedLanguages(This,SupportedLanguages)
  11907. #else
  11908. /*** IUnknown methods ***/
  11909. static FORCEINLINE HRESULT ISpeechRecognizerStatus_QueryInterface(ISpeechRecognizerStatus* This,REFIID riid,void **ppvObject) {
  11910. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  11911. }
  11912. static FORCEINLINE ULONG ISpeechRecognizerStatus_AddRef(ISpeechRecognizerStatus* This) {
  11913. return This->lpVtbl->AddRef(This);
  11914. }
  11915. static FORCEINLINE ULONG ISpeechRecognizerStatus_Release(ISpeechRecognizerStatus* This) {
  11916. return This->lpVtbl->Release(This);
  11917. }
  11918. /*** IDispatch methods ***/
  11919. static FORCEINLINE HRESULT ISpeechRecognizerStatus_GetTypeInfoCount(ISpeechRecognizerStatus* This,UINT *pctinfo) {
  11920. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  11921. }
  11922. static FORCEINLINE HRESULT ISpeechRecognizerStatus_GetTypeInfo(ISpeechRecognizerStatus* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  11923. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  11924. }
  11925. static FORCEINLINE HRESULT ISpeechRecognizerStatus_GetIDsOfNames(ISpeechRecognizerStatus* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  11926. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  11927. }
  11928. static FORCEINLINE HRESULT ISpeechRecognizerStatus_Invoke(ISpeechRecognizerStatus* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  11929. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  11930. }
  11931. /*** ISpeechRecognizerStatus methods ***/
  11932. static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_AudioStatus(ISpeechRecognizerStatus* This,ISpeechAudioStatus **AudioStatus) {
  11933. return This->lpVtbl->get_AudioStatus(This,AudioStatus);
  11934. }
  11935. static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_CurrentStreamPosition(ISpeechRecognizerStatus* This,VARIANT *pCurrentStreamPos) {
  11936. return This->lpVtbl->get_CurrentStreamPosition(This,pCurrentStreamPos);
  11937. }
  11938. static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_CurrentStreamNumber(ISpeechRecognizerStatus* This,LONG *StreamNumber) {
  11939. return This->lpVtbl->get_CurrentStreamNumber(This,StreamNumber);
  11940. }
  11941. static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_NumberOfActiveRules(ISpeechRecognizerStatus* This,LONG *NumberOfActiveRules) {
  11942. return This->lpVtbl->get_NumberOfActiveRules(This,NumberOfActiveRules);
  11943. }
  11944. static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_ClsidEngine(ISpeechRecognizerStatus* This,BSTR *ClsidEngine) {
  11945. return This->lpVtbl->get_ClsidEngine(This,ClsidEngine);
  11946. }
  11947. static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_SupportedLanguages(ISpeechRecognizerStatus* This,VARIANT *SupportedLanguages) {
  11948. return This->lpVtbl->get_SupportedLanguages(This,SupportedLanguages);
  11949. }
  11950. #endif
  11951. #endif
  11952. #endif
  11953. #endif /* __ISpeechRecognizerStatus_INTERFACE_DEFINED__ */
  11954. /*****************************************************************************
  11955. * ISpeechRecoContext interface
  11956. */
  11957. #ifndef __ISpeechRecoContext_INTERFACE_DEFINED__
  11958. #define __ISpeechRecoContext_INTERFACE_DEFINED__
  11959. DEFINE_GUID(IID_ISpeechRecoContext, 0x580aa49d, 0x7e1e, 0x4809, 0xb8,0xe2, 0x57,0xda,0x80,0x61,0x04,0xb8);
  11960. #if defined(__cplusplus) && !defined(CINTERFACE)
  11961. MIDL_INTERFACE("580aa49d-7e1e-4809-b8e2-57da806104b8")
  11962. ISpeechRecoContext : public IDispatch
  11963. {
  11964. virtual HRESULT STDMETHODCALLTYPE get_Recognizer(
  11965. ISpeechRecognizer **Recognizer) = 0;
  11966. virtual HRESULT STDMETHODCALLTYPE get_AudioInputInterferenceStatus(
  11967. SpeechInterference *Interference) = 0;
  11968. virtual HRESULT STDMETHODCALLTYPE get_RequestedUIType(
  11969. BSTR *UIType) = 0;
  11970. virtual HRESULT STDMETHODCALLTYPE putref_Voice(
  11971. ISpeechVoice *Voice) = 0;
  11972. virtual HRESULT STDMETHODCALLTYPE get_Voice(
  11973. ISpeechVoice **Voice) = 0;
  11974. virtual HRESULT STDMETHODCALLTYPE put_AllowVoiceFormatMatchingOnNextSet(
  11975. VARIANT_BOOL Allow) = 0;
  11976. virtual HRESULT STDMETHODCALLTYPE get_AllowVoiceFormatMatchingOnNextSet(
  11977. VARIANT_BOOL *pAllow) = 0;
  11978. virtual HRESULT STDMETHODCALLTYPE put_VoicePurgeEvent(
  11979. SpeechRecoEvents EventInterest) = 0;
  11980. virtual HRESULT STDMETHODCALLTYPE get_VoicePurgeEvent(
  11981. SpeechRecoEvents *EventInterest) = 0;
  11982. virtual HRESULT STDMETHODCALLTYPE put_EventInterests(
  11983. SpeechRecoEvents EventInterest) = 0;
  11984. virtual HRESULT STDMETHODCALLTYPE get_EventInterests(
  11985. SpeechRecoEvents *EventInterest) = 0;
  11986. virtual HRESULT STDMETHODCALLTYPE put_CmdMaxAlternates(
  11987. LONG MaxAlternates) = 0;
  11988. virtual HRESULT STDMETHODCALLTYPE get_CmdMaxAlternates(
  11989. LONG *MaxAlternates) = 0;
  11990. virtual HRESULT STDMETHODCALLTYPE put_State(
  11991. SpeechRecoContextState State) = 0;
  11992. virtual HRESULT STDMETHODCALLTYPE get_State(
  11993. SpeechRecoContextState *State) = 0;
  11994. virtual HRESULT STDMETHODCALLTYPE put_RetainedAudio(
  11995. SpeechRetainedAudioOptions Option) = 0;
  11996. virtual HRESULT STDMETHODCALLTYPE get_RetainedAudio(
  11997. SpeechRetainedAudioOptions *Option) = 0;
  11998. virtual HRESULT STDMETHODCALLTYPE putref_RetainedAudioFormat(
  11999. ISpeechAudioFormat *Format) = 0;
  12000. virtual HRESULT STDMETHODCALLTYPE get_RetainedAudioFormat(
  12001. ISpeechAudioFormat **Format) = 0;
  12002. virtual HRESULT STDMETHODCALLTYPE Pause(
  12003. ) = 0;
  12004. virtual HRESULT STDMETHODCALLTYPE Resume(
  12005. ) = 0;
  12006. virtual HRESULT STDMETHODCALLTYPE CreateGrammar(
  12007. VARIANT GrammarId,
  12008. ISpeechRecoGrammar **Grammar) = 0;
  12009. virtual HRESULT STDMETHODCALLTYPE CreateResultFromMemory(
  12010. VARIANT *ResultBlock,
  12011. ISpeechRecoResult **Result) = 0;
  12012. virtual HRESULT STDMETHODCALLTYPE Bookmark(
  12013. SpeechBookmarkOptions Options,
  12014. VARIANT StreamPos,
  12015. VARIANT BookmarkId) = 0;
  12016. virtual HRESULT STDMETHODCALLTYPE SetAdaptationData(
  12017. BSTR AdaptationString) = 0;
  12018. };
  12019. #ifdef __CRT_UUID_DECL
  12020. __CRT_UUID_DECL(ISpeechRecoContext, 0x580aa49d, 0x7e1e, 0x4809, 0xb8,0xe2, 0x57,0xda,0x80,0x61,0x04,0xb8)
  12021. #endif
  12022. #else
  12023. typedef struct ISpeechRecoContextVtbl {
  12024. BEGIN_INTERFACE
  12025. /*** IUnknown methods ***/
  12026. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  12027. ISpeechRecoContext *This,
  12028. REFIID riid,
  12029. void **ppvObject);
  12030. ULONG (STDMETHODCALLTYPE *AddRef)(
  12031. ISpeechRecoContext *This);
  12032. ULONG (STDMETHODCALLTYPE *Release)(
  12033. ISpeechRecoContext *This);
  12034. /*** IDispatch methods ***/
  12035. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  12036. ISpeechRecoContext *This,
  12037. UINT *pctinfo);
  12038. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  12039. ISpeechRecoContext *This,
  12040. UINT iTInfo,
  12041. LCID lcid,
  12042. ITypeInfo **ppTInfo);
  12043. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  12044. ISpeechRecoContext *This,
  12045. REFIID riid,
  12046. LPOLESTR *rgszNames,
  12047. UINT cNames,
  12048. LCID lcid,
  12049. DISPID *rgDispId);
  12050. HRESULT (STDMETHODCALLTYPE *Invoke)(
  12051. ISpeechRecoContext *This,
  12052. DISPID dispIdMember,
  12053. REFIID riid,
  12054. LCID lcid,
  12055. WORD wFlags,
  12056. DISPPARAMS *pDispParams,
  12057. VARIANT *pVarResult,
  12058. EXCEPINFO *pExcepInfo,
  12059. UINT *puArgErr);
  12060. /*** ISpeechRecoContext methods ***/
  12061. HRESULT (STDMETHODCALLTYPE *get_Recognizer)(
  12062. ISpeechRecoContext *This,
  12063. ISpeechRecognizer **Recognizer);
  12064. HRESULT (STDMETHODCALLTYPE *get_AudioInputInterferenceStatus)(
  12065. ISpeechRecoContext *This,
  12066. SpeechInterference *Interference);
  12067. HRESULT (STDMETHODCALLTYPE *get_RequestedUIType)(
  12068. ISpeechRecoContext *This,
  12069. BSTR *UIType);
  12070. HRESULT (STDMETHODCALLTYPE *putref_Voice)(
  12071. ISpeechRecoContext *This,
  12072. ISpeechVoice *Voice);
  12073. HRESULT (STDMETHODCALLTYPE *get_Voice)(
  12074. ISpeechRecoContext *This,
  12075. ISpeechVoice **Voice);
  12076. HRESULT (STDMETHODCALLTYPE *put_AllowVoiceFormatMatchingOnNextSet)(
  12077. ISpeechRecoContext *This,
  12078. VARIANT_BOOL Allow);
  12079. HRESULT (STDMETHODCALLTYPE *get_AllowVoiceFormatMatchingOnNextSet)(
  12080. ISpeechRecoContext *This,
  12081. VARIANT_BOOL *pAllow);
  12082. HRESULT (STDMETHODCALLTYPE *put_VoicePurgeEvent)(
  12083. ISpeechRecoContext *This,
  12084. SpeechRecoEvents EventInterest);
  12085. HRESULT (STDMETHODCALLTYPE *get_VoicePurgeEvent)(
  12086. ISpeechRecoContext *This,
  12087. SpeechRecoEvents *EventInterest);
  12088. HRESULT (STDMETHODCALLTYPE *put_EventInterests)(
  12089. ISpeechRecoContext *This,
  12090. SpeechRecoEvents EventInterest);
  12091. HRESULT (STDMETHODCALLTYPE *get_EventInterests)(
  12092. ISpeechRecoContext *This,
  12093. SpeechRecoEvents *EventInterest);
  12094. HRESULT (STDMETHODCALLTYPE *put_CmdMaxAlternates)(
  12095. ISpeechRecoContext *This,
  12096. LONG MaxAlternates);
  12097. HRESULT (STDMETHODCALLTYPE *get_CmdMaxAlternates)(
  12098. ISpeechRecoContext *This,
  12099. LONG *MaxAlternates);
  12100. HRESULT (STDMETHODCALLTYPE *put_State)(
  12101. ISpeechRecoContext *This,
  12102. SpeechRecoContextState State);
  12103. HRESULT (STDMETHODCALLTYPE *get_State)(
  12104. ISpeechRecoContext *This,
  12105. SpeechRecoContextState *State);
  12106. HRESULT (STDMETHODCALLTYPE *put_RetainedAudio)(
  12107. ISpeechRecoContext *This,
  12108. SpeechRetainedAudioOptions Option);
  12109. HRESULT (STDMETHODCALLTYPE *get_RetainedAudio)(
  12110. ISpeechRecoContext *This,
  12111. SpeechRetainedAudioOptions *Option);
  12112. HRESULT (STDMETHODCALLTYPE *putref_RetainedAudioFormat)(
  12113. ISpeechRecoContext *This,
  12114. ISpeechAudioFormat *Format);
  12115. HRESULT (STDMETHODCALLTYPE *get_RetainedAudioFormat)(
  12116. ISpeechRecoContext *This,
  12117. ISpeechAudioFormat **Format);
  12118. HRESULT (STDMETHODCALLTYPE *Pause)(
  12119. ISpeechRecoContext *This);
  12120. HRESULT (STDMETHODCALLTYPE *Resume)(
  12121. ISpeechRecoContext *This);
  12122. HRESULT (STDMETHODCALLTYPE *CreateGrammar)(
  12123. ISpeechRecoContext *This,
  12124. VARIANT GrammarId,
  12125. ISpeechRecoGrammar **Grammar);
  12126. HRESULT (STDMETHODCALLTYPE *CreateResultFromMemory)(
  12127. ISpeechRecoContext *This,
  12128. VARIANT *ResultBlock,
  12129. ISpeechRecoResult **Result);
  12130. HRESULT (STDMETHODCALLTYPE *Bookmark)(
  12131. ISpeechRecoContext *This,
  12132. SpeechBookmarkOptions Options,
  12133. VARIANT StreamPos,
  12134. VARIANT BookmarkId);
  12135. HRESULT (STDMETHODCALLTYPE *SetAdaptationData)(
  12136. ISpeechRecoContext *This,
  12137. BSTR AdaptationString);
  12138. END_INTERFACE
  12139. } ISpeechRecoContextVtbl;
  12140. interface ISpeechRecoContext {
  12141. CONST_VTBL ISpeechRecoContextVtbl* lpVtbl;
  12142. };
  12143. #ifdef COBJMACROS
  12144. #ifndef WIDL_C_INLINE_WRAPPERS
  12145. /*** IUnknown methods ***/
  12146. #define ISpeechRecoContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  12147. #define ISpeechRecoContext_AddRef(This) (This)->lpVtbl->AddRef(This)
  12148. #define ISpeechRecoContext_Release(This) (This)->lpVtbl->Release(This)
  12149. /*** IDispatch methods ***/
  12150. #define ISpeechRecoContext_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  12151. #define ISpeechRecoContext_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  12152. #define ISpeechRecoContext_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  12153. #define ISpeechRecoContext_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  12154. /*** ISpeechRecoContext methods ***/
  12155. #define ISpeechRecoContext_get_Recognizer(This,Recognizer) (This)->lpVtbl->get_Recognizer(This,Recognizer)
  12156. #define ISpeechRecoContext_get_AudioInputInterferenceStatus(This,Interference) (This)->lpVtbl->get_AudioInputInterferenceStatus(This,Interference)
  12157. #define ISpeechRecoContext_get_RequestedUIType(This,UIType) (This)->lpVtbl->get_RequestedUIType(This,UIType)
  12158. #define ISpeechRecoContext_putref_Voice(This,Voice) (This)->lpVtbl->putref_Voice(This,Voice)
  12159. #define ISpeechRecoContext_get_Voice(This,Voice) (This)->lpVtbl->get_Voice(This,Voice)
  12160. #define ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet(This,Allow) (This)->lpVtbl->put_AllowVoiceFormatMatchingOnNextSet(This,Allow)
  12161. #define ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet(This,pAllow) (This)->lpVtbl->get_AllowVoiceFormatMatchingOnNextSet(This,pAllow)
  12162. #define ISpeechRecoContext_put_VoicePurgeEvent(This,EventInterest) (This)->lpVtbl->put_VoicePurgeEvent(This,EventInterest)
  12163. #define ISpeechRecoContext_get_VoicePurgeEvent(This,EventInterest) (This)->lpVtbl->get_VoicePurgeEvent(This,EventInterest)
  12164. #define ISpeechRecoContext_put_EventInterests(This,EventInterest) (This)->lpVtbl->put_EventInterests(This,EventInterest)
  12165. #define ISpeechRecoContext_get_EventInterests(This,EventInterest) (This)->lpVtbl->get_EventInterests(This,EventInterest)
  12166. #define ISpeechRecoContext_put_CmdMaxAlternates(This,MaxAlternates) (This)->lpVtbl->put_CmdMaxAlternates(This,MaxAlternates)
  12167. #define ISpeechRecoContext_get_CmdMaxAlternates(This,MaxAlternates) (This)->lpVtbl->get_CmdMaxAlternates(This,MaxAlternates)
  12168. #define ISpeechRecoContext_put_State(This,State) (This)->lpVtbl->put_State(This,State)
  12169. #define ISpeechRecoContext_get_State(This,State) (This)->lpVtbl->get_State(This,State)
  12170. #define ISpeechRecoContext_put_RetainedAudio(This,Option) (This)->lpVtbl->put_RetainedAudio(This,Option)
  12171. #define ISpeechRecoContext_get_RetainedAudio(This,Option) (This)->lpVtbl->get_RetainedAudio(This,Option)
  12172. #define ISpeechRecoContext_putref_RetainedAudioFormat(This,Format) (This)->lpVtbl->putref_RetainedAudioFormat(This,Format)
  12173. #define ISpeechRecoContext_get_RetainedAudioFormat(This,Format) (This)->lpVtbl->get_RetainedAudioFormat(This,Format)
  12174. #define ISpeechRecoContext_Pause(This) (This)->lpVtbl->Pause(This)
  12175. #define ISpeechRecoContext_Resume(This) (This)->lpVtbl->Resume(This)
  12176. #define ISpeechRecoContext_CreateGrammar(This,GrammarId,Grammar) (This)->lpVtbl->CreateGrammar(This,GrammarId,Grammar)
  12177. #define ISpeechRecoContext_CreateResultFromMemory(This,ResultBlock,Result) (This)->lpVtbl->CreateResultFromMemory(This,ResultBlock,Result)
  12178. #define ISpeechRecoContext_Bookmark(This,Options,StreamPos,BookmarkId) (This)->lpVtbl->Bookmark(This,Options,StreamPos,BookmarkId)
  12179. #define ISpeechRecoContext_SetAdaptationData(This,AdaptationString) (This)->lpVtbl->SetAdaptationData(This,AdaptationString)
  12180. #else
  12181. /*** IUnknown methods ***/
  12182. static FORCEINLINE HRESULT ISpeechRecoContext_QueryInterface(ISpeechRecoContext* This,REFIID riid,void **ppvObject) {
  12183. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  12184. }
  12185. static FORCEINLINE ULONG ISpeechRecoContext_AddRef(ISpeechRecoContext* This) {
  12186. return This->lpVtbl->AddRef(This);
  12187. }
  12188. static FORCEINLINE ULONG ISpeechRecoContext_Release(ISpeechRecoContext* This) {
  12189. return This->lpVtbl->Release(This);
  12190. }
  12191. /*** IDispatch methods ***/
  12192. static FORCEINLINE HRESULT ISpeechRecoContext_GetTypeInfoCount(ISpeechRecoContext* This,UINT *pctinfo) {
  12193. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  12194. }
  12195. static FORCEINLINE HRESULT ISpeechRecoContext_GetTypeInfo(ISpeechRecoContext* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  12196. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  12197. }
  12198. static FORCEINLINE HRESULT ISpeechRecoContext_GetIDsOfNames(ISpeechRecoContext* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  12199. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  12200. }
  12201. static FORCEINLINE HRESULT ISpeechRecoContext_Invoke(ISpeechRecoContext* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  12202. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  12203. }
  12204. /*** ISpeechRecoContext methods ***/
  12205. static FORCEINLINE HRESULT ISpeechRecoContext_get_Recognizer(ISpeechRecoContext* This,ISpeechRecognizer **Recognizer) {
  12206. return This->lpVtbl->get_Recognizer(This,Recognizer);
  12207. }
  12208. static FORCEINLINE HRESULT ISpeechRecoContext_get_AudioInputInterferenceStatus(ISpeechRecoContext* This,SpeechInterference *Interference) {
  12209. return This->lpVtbl->get_AudioInputInterferenceStatus(This,Interference);
  12210. }
  12211. static FORCEINLINE HRESULT ISpeechRecoContext_get_RequestedUIType(ISpeechRecoContext* This,BSTR *UIType) {
  12212. return This->lpVtbl->get_RequestedUIType(This,UIType);
  12213. }
  12214. static FORCEINLINE HRESULT ISpeechRecoContext_putref_Voice(ISpeechRecoContext* This,ISpeechVoice *Voice) {
  12215. return This->lpVtbl->putref_Voice(This,Voice);
  12216. }
  12217. static FORCEINLINE HRESULT ISpeechRecoContext_get_Voice(ISpeechRecoContext* This,ISpeechVoice **Voice) {
  12218. return This->lpVtbl->get_Voice(This,Voice);
  12219. }
  12220. static FORCEINLINE HRESULT ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet(ISpeechRecoContext* This,VARIANT_BOOL Allow) {
  12221. return This->lpVtbl->put_AllowVoiceFormatMatchingOnNextSet(This,Allow);
  12222. }
  12223. static FORCEINLINE HRESULT ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet(ISpeechRecoContext* This,VARIANT_BOOL *pAllow) {
  12224. return This->lpVtbl->get_AllowVoiceFormatMatchingOnNextSet(This,pAllow);
  12225. }
  12226. static FORCEINLINE HRESULT ISpeechRecoContext_put_VoicePurgeEvent(ISpeechRecoContext* This,SpeechRecoEvents EventInterest) {
  12227. return This->lpVtbl->put_VoicePurgeEvent(This,EventInterest);
  12228. }
  12229. static FORCEINLINE HRESULT ISpeechRecoContext_get_VoicePurgeEvent(ISpeechRecoContext* This,SpeechRecoEvents *EventInterest) {
  12230. return This->lpVtbl->get_VoicePurgeEvent(This,EventInterest);
  12231. }
  12232. static FORCEINLINE HRESULT ISpeechRecoContext_put_EventInterests(ISpeechRecoContext* This,SpeechRecoEvents EventInterest) {
  12233. return This->lpVtbl->put_EventInterests(This,EventInterest);
  12234. }
  12235. static FORCEINLINE HRESULT ISpeechRecoContext_get_EventInterests(ISpeechRecoContext* This,SpeechRecoEvents *EventInterest) {
  12236. return This->lpVtbl->get_EventInterests(This,EventInterest);
  12237. }
  12238. static FORCEINLINE HRESULT ISpeechRecoContext_put_CmdMaxAlternates(ISpeechRecoContext* This,LONG MaxAlternates) {
  12239. return This->lpVtbl->put_CmdMaxAlternates(This,MaxAlternates);
  12240. }
  12241. static FORCEINLINE HRESULT ISpeechRecoContext_get_CmdMaxAlternates(ISpeechRecoContext* This,LONG *MaxAlternates) {
  12242. return This->lpVtbl->get_CmdMaxAlternates(This,MaxAlternates);
  12243. }
  12244. static FORCEINLINE HRESULT ISpeechRecoContext_put_State(ISpeechRecoContext* This,SpeechRecoContextState State) {
  12245. return This->lpVtbl->put_State(This,State);
  12246. }
  12247. static FORCEINLINE HRESULT ISpeechRecoContext_get_State(ISpeechRecoContext* This,SpeechRecoContextState *State) {
  12248. return This->lpVtbl->get_State(This,State);
  12249. }
  12250. static FORCEINLINE HRESULT ISpeechRecoContext_put_RetainedAudio(ISpeechRecoContext* This,SpeechRetainedAudioOptions Option) {
  12251. return This->lpVtbl->put_RetainedAudio(This,Option);
  12252. }
  12253. static FORCEINLINE HRESULT ISpeechRecoContext_get_RetainedAudio(ISpeechRecoContext* This,SpeechRetainedAudioOptions *Option) {
  12254. return This->lpVtbl->get_RetainedAudio(This,Option);
  12255. }
  12256. static FORCEINLINE HRESULT ISpeechRecoContext_putref_RetainedAudioFormat(ISpeechRecoContext* This,ISpeechAudioFormat *Format) {
  12257. return This->lpVtbl->putref_RetainedAudioFormat(This,Format);
  12258. }
  12259. static FORCEINLINE HRESULT ISpeechRecoContext_get_RetainedAudioFormat(ISpeechRecoContext* This,ISpeechAudioFormat **Format) {
  12260. return This->lpVtbl->get_RetainedAudioFormat(This,Format);
  12261. }
  12262. static FORCEINLINE HRESULT ISpeechRecoContext_Pause(ISpeechRecoContext* This) {
  12263. return This->lpVtbl->Pause(This);
  12264. }
  12265. static FORCEINLINE HRESULT ISpeechRecoContext_Resume(ISpeechRecoContext* This) {
  12266. return This->lpVtbl->Resume(This);
  12267. }
  12268. static FORCEINLINE HRESULT ISpeechRecoContext_CreateGrammar(ISpeechRecoContext* This,VARIANT GrammarId,ISpeechRecoGrammar **Grammar) {
  12269. return This->lpVtbl->CreateGrammar(This,GrammarId,Grammar);
  12270. }
  12271. static FORCEINLINE HRESULT ISpeechRecoContext_CreateResultFromMemory(ISpeechRecoContext* This,VARIANT *ResultBlock,ISpeechRecoResult **Result) {
  12272. return This->lpVtbl->CreateResultFromMemory(This,ResultBlock,Result);
  12273. }
  12274. static FORCEINLINE HRESULT ISpeechRecoContext_Bookmark(ISpeechRecoContext* This,SpeechBookmarkOptions Options,VARIANT StreamPos,VARIANT BookmarkId) {
  12275. return This->lpVtbl->Bookmark(This,Options,StreamPos,BookmarkId);
  12276. }
  12277. static FORCEINLINE HRESULT ISpeechRecoContext_SetAdaptationData(ISpeechRecoContext* This,BSTR AdaptationString) {
  12278. return This->lpVtbl->SetAdaptationData(This,AdaptationString);
  12279. }
  12280. #endif
  12281. #endif
  12282. #endif
  12283. #endif /* __ISpeechRecoContext_INTERFACE_DEFINED__ */
  12284. /*****************************************************************************
  12285. * ISpeechRecoGrammar interface
  12286. */
  12287. #ifndef __ISpeechRecoGrammar_INTERFACE_DEFINED__
  12288. #define __ISpeechRecoGrammar_INTERFACE_DEFINED__
  12289. DEFINE_GUID(IID_ISpeechRecoGrammar, 0xb6d6f79f, 0x2158, 0x4e50, 0xb5,0xbc, 0x9a,0x9c,0xcd,0x85,0x2a,0x09);
  12290. #if defined(__cplusplus) && !defined(CINTERFACE)
  12291. MIDL_INTERFACE("b6d6f79f-2158-4e50-b5bc-9a9ccd852a09")
  12292. ISpeechRecoGrammar : public IDispatch
  12293. {
  12294. virtual HRESULT STDMETHODCALLTYPE get_Id(
  12295. VARIANT *Id) = 0;
  12296. virtual HRESULT STDMETHODCALLTYPE get_RecoContext(
  12297. ISpeechRecoContext **RecoContext) = 0;
  12298. virtual HRESULT STDMETHODCALLTYPE put_State(
  12299. SpeechGrammarState State) = 0;
  12300. virtual HRESULT STDMETHODCALLTYPE get_State(
  12301. SpeechGrammarState *State) = 0;
  12302. virtual HRESULT STDMETHODCALLTYPE get_Rules(
  12303. ISpeechGrammarRules **Rules) = 0;
  12304. virtual HRESULT STDMETHODCALLTYPE Reset(
  12305. SpeechLanguageId NewLanguage = 0) = 0;
  12306. virtual HRESULT STDMETHODCALLTYPE CmdLoadFromFile(
  12307. const BSTR FileName,
  12308. SpeechLoadOption LoadOption = SLOStatic) = 0;
  12309. virtual HRESULT STDMETHODCALLTYPE CmdLoadFromObject(
  12310. const BSTR ClassId,
  12311. const BSTR GrammarName,
  12312. SpeechLoadOption LoadOption = SLOStatic) = 0;
  12313. virtual HRESULT STDMETHODCALLTYPE CmdLoadFromResource(
  12314. LONG hModule,
  12315. VARIANT ResourceName,
  12316. VARIANT ResourceType,
  12317. SpeechLanguageId LanguageId,
  12318. SpeechLoadOption LoadOption = SLOStatic) = 0;
  12319. virtual HRESULT STDMETHODCALLTYPE CmdLoadFromMemory(
  12320. VARIANT GrammarData,
  12321. SpeechLoadOption LoadOption = SLOStatic) = 0;
  12322. virtual HRESULT STDMETHODCALLTYPE CmdLoadFromProprietaryGrammar(
  12323. const BSTR ProprietaryGuid,
  12324. const BSTR ProprietaryString,
  12325. VARIANT ProprietaryData,
  12326. SpeechLoadOption LoadOption = SLOStatic) = 0;
  12327. virtual HRESULT STDMETHODCALLTYPE CmdSetRuleState(
  12328. const BSTR Name,
  12329. SpeechRuleState State) = 0;
  12330. virtual HRESULT STDMETHODCALLTYPE CmdSetRuleIdState(
  12331. LONG RuleId,
  12332. SpeechRuleState State) = 0;
  12333. virtual HRESULT STDMETHODCALLTYPE DictationLoad(
  12334. const BSTR TopicName = L"",
  12335. SpeechLoadOption LoadOption = SLOStatic) = 0;
  12336. virtual HRESULT STDMETHODCALLTYPE DictationUnload(
  12337. ) = 0;
  12338. virtual HRESULT STDMETHODCALLTYPE DictationSetState(
  12339. SpeechRuleState State) = 0;
  12340. virtual HRESULT STDMETHODCALLTYPE SetWordSequenceData(
  12341. const BSTR Text,
  12342. LONG TextLength,
  12343. ISpeechTextSelectionInformation *Info) = 0;
  12344. virtual HRESULT STDMETHODCALLTYPE SetTextSelection(
  12345. ISpeechTextSelectionInformation *Info) = 0;
  12346. virtual HRESULT STDMETHODCALLTYPE IsPronounceable(
  12347. const BSTR Word,
  12348. SpeechWordPronounceable *WordPronounceable) = 0;
  12349. };
  12350. #ifdef __CRT_UUID_DECL
  12351. __CRT_UUID_DECL(ISpeechRecoGrammar, 0xb6d6f79f, 0x2158, 0x4e50, 0xb5,0xbc, 0x9a,0x9c,0xcd,0x85,0x2a,0x09)
  12352. #endif
  12353. #else
  12354. typedef struct ISpeechRecoGrammarVtbl {
  12355. BEGIN_INTERFACE
  12356. /*** IUnknown methods ***/
  12357. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  12358. ISpeechRecoGrammar *This,
  12359. REFIID riid,
  12360. void **ppvObject);
  12361. ULONG (STDMETHODCALLTYPE *AddRef)(
  12362. ISpeechRecoGrammar *This);
  12363. ULONG (STDMETHODCALLTYPE *Release)(
  12364. ISpeechRecoGrammar *This);
  12365. /*** IDispatch methods ***/
  12366. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  12367. ISpeechRecoGrammar *This,
  12368. UINT *pctinfo);
  12369. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  12370. ISpeechRecoGrammar *This,
  12371. UINT iTInfo,
  12372. LCID lcid,
  12373. ITypeInfo **ppTInfo);
  12374. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  12375. ISpeechRecoGrammar *This,
  12376. REFIID riid,
  12377. LPOLESTR *rgszNames,
  12378. UINT cNames,
  12379. LCID lcid,
  12380. DISPID *rgDispId);
  12381. HRESULT (STDMETHODCALLTYPE *Invoke)(
  12382. ISpeechRecoGrammar *This,
  12383. DISPID dispIdMember,
  12384. REFIID riid,
  12385. LCID lcid,
  12386. WORD wFlags,
  12387. DISPPARAMS *pDispParams,
  12388. VARIANT *pVarResult,
  12389. EXCEPINFO *pExcepInfo,
  12390. UINT *puArgErr);
  12391. /*** ISpeechRecoGrammar methods ***/
  12392. HRESULT (STDMETHODCALLTYPE *get_Id)(
  12393. ISpeechRecoGrammar *This,
  12394. VARIANT *Id);
  12395. HRESULT (STDMETHODCALLTYPE *get_RecoContext)(
  12396. ISpeechRecoGrammar *This,
  12397. ISpeechRecoContext **RecoContext);
  12398. HRESULT (STDMETHODCALLTYPE *put_State)(
  12399. ISpeechRecoGrammar *This,
  12400. SpeechGrammarState State);
  12401. HRESULT (STDMETHODCALLTYPE *get_State)(
  12402. ISpeechRecoGrammar *This,
  12403. SpeechGrammarState *State);
  12404. HRESULT (STDMETHODCALLTYPE *get_Rules)(
  12405. ISpeechRecoGrammar *This,
  12406. ISpeechGrammarRules **Rules);
  12407. HRESULT (STDMETHODCALLTYPE *Reset)(
  12408. ISpeechRecoGrammar *This,
  12409. SpeechLanguageId NewLanguage);
  12410. HRESULT (STDMETHODCALLTYPE *CmdLoadFromFile)(
  12411. ISpeechRecoGrammar *This,
  12412. const BSTR FileName,
  12413. SpeechLoadOption LoadOption);
  12414. HRESULT (STDMETHODCALLTYPE *CmdLoadFromObject)(
  12415. ISpeechRecoGrammar *This,
  12416. const BSTR ClassId,
  12417. const BSTR GrammarName,
  12418. SpeechLoadOption LoadOption);
  12419. HRESULT (STDMETHODCALLTYPE *CmdLoadFromResource)(
  12420. ISpeechRecoGrammar *This,
  12421. LONG hModule,
  12422. VARIANT ResourceName,
  12423. VARIANT ResourceType,
  12424. SpeechLanguageId LanguageId,
  12425. SpeechLoadOption LoadOption);
  12426. HRESULT (STDMETHODCALLTYPE *CmdLoadFromMemory)(
  12427. ISpeechRecoGrammar *This,
  12428. VARIANT GrammarData,
  12429. SpeechLoadOption LoadOption);
  12430. HRESULT (STDMETHODCALLTYPE *CmdLoadFromProprietaryGrammar)(
  12431. ISpeechRecoGrammar *This,
  12432. const BSTR ProprietaryGuid,
  12433. const BSTR ProprietaryString,
  12434. VARIANT ProprietaryData,
  12435. SpeechLoadOption LoadOption);
  12436. HRESULT (STDMETHODCALLTYPE *CmdSetRuleState)(
  12437. ISpeechRecoGrammar *This,
  12438. const BSTR Name,
  12439. SpeechRuleState State);
  12440. HRESULT (STDMETHODCALLTYPE *CmdSetRuleIdState)(
  12441. ISpeechRecoGrammar *This,
  12442. LONG RuleId,
  12443. SpeechRuleState State);
  12444. HRESULT (STDMETHODCALLTYPE *DictationLoad)(
  12445. ISpeechRecoGrammar *This,
  12446. const BSTR TopicName,
  12447. SpeechLoadOption LoadOption);
  12448. HRESULT (STDMETHODCALLTYPE *DictationUnload)(
  12449. ISpeechRecoGrammar *This);
  12450. HRESULT (STDMETHODCALLTYPE *DictationSetState)(
  12451. ISpeechRecoGrammar *This,
  12452. SpeechRuleState State);
  12453. HRESULT (STDMETHODCALLTYPE *SetWordSequenceData)(
  12454. ISpeechRecoGrammar *This,
  12455. const BSTR Text,
  12456. LONG TextLength,
  12457. ISpeechTextSelectionInformation *Info);
  12458. HRESULT (STDMETHODCALLTYPE *SetTextSelection)(
  12459. ISpeechRecoGrammar *This,
  12460. ISpeechTextSelectionInformation *Info);
  12461. HRESULT (STDMETHODCALLTYPE *IsPronounceable)(
  12462. ISpeechRecoGrammar *This,
  12463. const BSTR Word,
  12464. SpeechWordPronounceable *WordPronounceable);
  12465. END_INTERFACE
  12466. } ISpeechRecoGrammarVtbl;
  12467. interface ISpeechRecoGrammar {
  12468. CONST_VTBL ISpeechRecoGrammarVtbl* lpVtbl;
  12469. };
  12470. #ifdef COBJMACROS
  12471. #ifndef WIDL_C_INLINE_WRAPPERS
  12472. /*** IUnknown methods ***/
  12473. #define ISpeechRecoGrammar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  12474. #define ISpeechRecoGrammar_AddRef(This) (This)->lpVtbl->AddRef(This)
  12475. #define ISpeechRecoGrammar_Release(This) (This)->lpVtbl->Release(This)
  12476. /*** IDispatch methods ***/
  12477. #define ISpeechRecoGrammar_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  12478. #define ISpeechRecoGrammar_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  12479. #define ISpeechRecoGrammar_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  12480. #define ISpeechRecoGrammar_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  12481. /*** ISpeechRecoGrammar methods ***/
  12482. #define ISpeechRecoGrammar_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
  12483. #define ISpeechRecoGrammar_get_RecoContext(This,RecoContext) (This)->lpVtbl->get_RecoContext(This,RecoContext)
  12484. #define ISpeechRecoGrammar_put_State(This,State) (This)->lpVtbl->put_State(This,State)
  12485. #define ISpeechRecoGrammar_get_State(This,State) (This)->lpVtbl->get_State(This,State)
  12486. #define ISpeechRecoGrammar_get_Rules(This,Rules) (This)->lpVtbl->get_Rules(This,Rules)
  12487. #define ISpeechRecoGrammar_Reset(This,NewLanguage) (This)->lpVtbl->Reset(This,NewLanguage)
  12488. #define ISpeechRecoGrammar_CmdLoadFromFile(This,FileName,LoadOption) (This)->lpVtbl->CmdLoadFromFile(This,FileName,LoadOption)
  12489. #define ISpeechRecoGrammar_CmdLoadFromObject(This,ClassId,GrammarName,LoadOption) (This)->lpVtbl->CmdLoadFromObject(This,ClassId,GrammarName,LoadOption)
  12490. #define ISpeechRecoGrammar_CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption) (This)->lpVtbl->CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption)
  12491. #define ISpeechRecoGrammar_CmdLoadFromMemory(This,GrammarData,LoadOption) (This)->lpVtbl->CmdLoadFromMemory(This,GrammarData,LoadOption)
  12492. #define ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption) (This)->lpVtbl->CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption)
  12493. #define ISpeechRecoGrammar_CmdSetRuleState(This,Name,State) (This)->lpVtbl->CmdSetRuleState(This,Name,State)
  12494. #define ISpeechRecoGrammar_CmdSetRuleIdState(This,RuleId,State) (This)->lpVtbl->CmdSetRuleIdState(This,RuleId,State)
  12495. #define ISpeechRecoGrammar_DictationLoad(This,TopicName,LoadOption) (This)->lpVtbl->DictationLoad(This,TopicName,LoadOption)
  12496. #define ISpeechRecoGrammar_DictationUnload(This) (This)->lpVtbl->DictationUnload(This)
  12497. #define ISpeechRecoGrammar_DictationSetState(This,State) (This)->lpVtbl->DictationSetState(This,State)
  12498. #define ISpeechRecoGrammar_SetWordSequenceData(This,Text,TextLength,Info) (This)->lpVtbl->SetWordSequenceData(This,Text,TextLength,Info)
  12499. #define ISpeechRecoGrammar_SetTextSelection(This,Info) (This)->lpVtbl->SetTextSelection(This,Info)
  12500. #define ISpeechRecoGrammar_IsPronounceable(This,Word,WordPronounceable) (This)->lpVtbl->IsPronounceable(This,Word,WordPronounceable)
  12501. #else
  12502. /*** IUnknown methods ***/
  12503. static FORCEINLINE HRESULT ISpeechRecoGrammar_QueryInterface(ISpeechRecoGrammar* This,REFIID riid,void **ppvObject) {
  12504. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  12505. }
  12506. static FORCEINLINE ULONG ISpeechRecoGrammar_AddRef(ISpeechRecoGrammar* This) {
  12507. return This->lpVtbl->AddRef(This);
  12508. }
  12509. static FORCEINLINE ULONG ISpeechRecoGrammar_Release(ISpeechRecoGrammar* This) {
  12510. return This->lpVtbl->Release(This);
  12511. }
  12512. /*** IDispatch methods ***/
  12513. static FORCEINLINE HRESULT ISpeechRecoGrammar_GetTypeInfoCount(ISpeechRecoGrammar* This,UINT *pctinfo) {
  12514. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  12515. }
  12516. static FORCEINLINE HRESULT ISpeechRecoGrammar_GetTypeInfo(ISpeechRecoGrammar* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  12517. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  12518. }
  12519. static FORCEINLINE HRESULT ISpeechRecoGrammar_GetIDsOfNames(ISpeechRecoGrammar* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  12520. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  12521. }
  12522. static FORCEINLINE HRESULT ISpeechRecoGrammar_Invoke(ISpeechRecoGrammar* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  12523. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  12524. }
  12525. /*** ISpeechRecoGrammar methods ***/
  12526. static FORCEINLINE HRESULT ISpeechRecoGrammar_get_Id(ISpeechRecoGrammar* This,VARIANT *Id) {
  12527. return This->lpVtbl->get_Id(This,Id);
  12528. }
  12529. static FORCEINLINE HRESULT ISpeechRecoGrammar_get_RecoContext(ISpeechRecoGrammar* This,ISpeechRecoContext **RecoContext) {
  12530. return This->lpVtbl->get_RecoContext(This,RecoContext);
  12531. }
  12532. static FORCEINLINE HRESULT ISpeechRecoGrammar_put_State(ISpeechRecoGrammar* This,SpeechGrammarState State) {
  12533. return This->lpVtbl->put_State(This,State);
  12534. }
  12535. static FORCEINLINE HRESULT ISpeechRecoGrammar_get_State(ISpeechRecoGrammar* This,SpeechGrammarState *State) {
  12536. return This->lpVtbl->get_State(This,State);
  12537. }
  12538. static FORCEINLINE HRESULT ISpeechRecoGrammar_get_Rules(ISpeechRecoGrammar* This,ISpeechGrammarRules **Rules) {
  12539. return This->lpVtbl->get_Rules(This,Rules);
  12540. }
  12541. static FORCEINLINE HRESULT ISpeechRecoGrammar_Reset(ISpeechRecoGrammar* This,SpeechLanguageId NewLanguage) {
  12542. return This->lpVtbl->Reset(This,NewLanguage);
  12543. }
  12544. static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromFile(ISpeechRecoGrammar* This,const BSTR FileName,SpeechLoadOption LoadOption) {
  12545. return This->lpVtbl->CmdLoadFromFile(This,FileName,LoadOption);
  12546. }
  12547. static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromObject(ISpeechRecoGrammar* This,const BSTR ClassId,const BSTR GrammarName,SpeechLoadOption LoadOption) {
  12548. return This->lpVtbl->CmdLoadFromObject(This,ClassId,GrammarName,LoadOption);
  12549. }
  12550. static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromResource(ISpeechRecoGrammar* This,LONG hModule,VARIANT ResourceName,VARIANT ResourceType,SpeechLanguageId LanguageId,SpeechLoadOption LoadOption) {
  12551. return This->lpVtbl->CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption);
  12552. }
  12553. static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromMemory(ISpeechRecoGrammar* This,VARIANT GrammarData,SpeechLoadOption LoadOption) {
  12554. return This->lpVtbl->CmdLoadFromMemory(This,GrammarData,LoadOption);
  12555. }
  12556. static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar(ISpeechRecoGrammar* This,const BSTR ProprietaryGuid,const BSTR ProprietaryString,VARIANT ProprietaryData,SpeechLoadOption LoadOption) {
  12557. return This->lpVtbl->CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption);
  12558. }
  12559. static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdSetRuleState(ISpeechRecoGrammar* This,const BSTR Name,SpeechRuleState State) {
  12560. return This->lpVtbl->CmdSetRuleState(This,Name,State);
  12561. }
  12562. static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdSetRuleIdState(ISpeechRecoGrammar* This,LONG RuleId,SpeechRuleState State) {
  12563. return This->lpVtbl->CmdSetRuleIdState(This,RuleId,State);
  12564. }
  12565. static FORCEINLINE HRESULT ISpeechRecoGrammar_DictationLoad(ISpeechRecoGrammar* This,const BSTR TopicName,SpeechLoadOption LoadOption) {
  12566. return This->lpVtbl->DictationLoad(This,TopicName,LoadOption);
  12567. }
  12568. static FORCEINLINE HRESULT ISpeechRecoGrammar_DictationUnload(ISpeechRecoGrammar* This) {
  12569. return This->lpVtbl->DictationUnload(This);
  12570. }
  12571. static FORCEINLINE HRESULT ISpeechRecoGrammar_DictationSetState(ISpeechRecoGrammar* This,SpeechRuleState State) {
  12572. return This->lpVtbl->DictationSetState(This,State);
  12573. }
  12574. static FORCEINLINE HRESULT ISpeechRecoGrammar_SetWordSequenceData(ISpeechRecoGrammar* This,const BSTR Text,LONG TextLength,ISpeechTextSelectionInformation *Info) {
  12575. return This->lpVtbl->SetWordSequenceData(This,Text,TextLength,Info);
  12576. }
  12577. static FORCEINLINE HRESULT ISpeechRecoGrammar_SetTextSelection(ISpeechRecoGrammar* This,ISpeechTextSelectionInformation *Info) {
  12578. return This->lpVtbl->SetTextSelection(This,Info);
  12579. }
  12580. static FORCEINLINE HRESULT ISpeechRecoGrammar_IsPronounceable(ISpeechRecoGrammar* This,const BSTR Word,SpeechWordPronounceable *WordPronounceable) {
  12581. return This->lpVtbl->IsPronounceable(This,Word,WordPronounceable);
  12582. }
  12583. #endif
  12584. #endif
  12585. #endif
  12586. #endif /* __ISpeechRecoGrammar_INTERFACE_DEFINED__ */
  12587. /*****************************************************************************
  12588. * _ISpeechRecoContextEvents dispinterface
  12589. */
  12590. #ifndef ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__
  12591. #define ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__
  12592. DEFINE_GUID(DIID__ISpeechRecoContextEvents, 0x7b8fcb42, 0x0e9d, 0x4f00, 0xa0,0x48, 0x7b,0x04,0xd6,0x17,0x9d,0x3d);
  12593. #if defined(__cplusplus) && !defined(CINTERFACE)
  12594. MIDL_INTERFACE("7b8fcb42-0e9d-4f00-a048-7b04d6179d3d")
  12595. _ISpeechRecoContextEvents : public IDispatch
  12596. {
  12597. };
  12598. #ifdef __CRT_UUID_DECL
  12599. __CRT_UUID_DECL(_ISpeechRecoContextEvents, 0x7b8fcb42, 0x0e9d, 0x4f00, 0xa0,0x48, 0x7b,0x04,0xd6,0x17,0x9d,0x3d)
  12600. #endif
  12601. #else
  12602. typedef struct _ISpeechRecoContextEventsVtbl {
  12603. BEGIN_INTERFACE
  12604. /*** IUnknown methods ***/
  12605. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  12606. _ISpeechRecoContextEvents *This,
  12607. REFIID riid,
  12608. void **ppvObject);
  12609. ULONG (STDMETHODCALLTYPE *AddRef)(
  12610. _ISpeechRecoContextEvents *This);
  12611. ULONG (STDMETHODCALLTYPE *Release)(
  12612. _ISpeechRecoContextEvents *This);
  12613. /*** IDispatch methods ***/
  12614. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  12615. _ISpeechRecoContextEvents *This,
  12616. UINT *pctinfo);
  12617. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  12618. _ISpeechRecoContextEvents *This,
  12619. UINT iTInfo,
  12620. LCID lcid,
  12621. ITypeInfo **ppTInfo);
  12622. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  12623. _ISpeechRecoContextEvents *This,
  12624. REFIID riid,
  12625. LPOLESTR *rgszNames,
  12626. UINT cNames,
  12627. LCID lcid,
  12628. DISPID *rgDispId);
  12629. HRESULT (STDMETHODCALLTYPE *Invoke)(
  12630. _ISpeechRecoContextEvents *This,
  12631. DISPID dispIdMember,
  12632. REFIID riid,
  12633. LCID lcid,
  12634. WORD wFlags,
  12635. DISPPARAMS *pDispParams,
  12636. VARIANT *pVarResult,
  12637. EXCEPINFO *pExcepInfo,
  12638. UINT *puArgErr);
  12639. END_INTERFACE
  12640. } _ISpeechRecoContextEventsVtbl;
  12641. interface _ISpeechRecoContextEvents {
  12642. CONST_VTBL _ISpeechRecoContextEventsVtbl* lpVtbl;
  12643. };
  12644. #ifdef COBJMACROS
  12645. #ifndef WIDL_C_INLINE_WRAPPERS
  12646. /*** IUnknown methods ***/
  12647. #define _ISpeechRecoContextEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  12648. #define _ISpeechRecoContextEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  12649. #define _ISpeechRecoContextEvents_Release(This) (This)->lpVtbl->Release(This)
  12650. /*** IDispatch methods ***/
  12651. #define _ISpeechRecoContextEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  12652. #define _ISpeechRecoContextEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  12653. #define _ISpeechRecoContextEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  12654. #define _ISpeechRecoContextEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  12655. #else
  12656. /*** IUnknown methods ***/
  12657. static FORCEINLINE HRESULT _ISpeechRecoContextEvents_QueryInterface(_ISpeechRecoContextEvents* This,REFIID riid,void **ppvObject) {
  12658. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  12659. }
  12660. static FORCEINLINE ULONG _ISpeechRecoContextEvents_AddRef(_ISpeechRecoContextEvents* This) {
  12661. return This->lpVtbl->AddRef(This);
  12662. }
  12663. static FORCEINLINE ULONG _ISpeechRecoContextEvents_Release(_ISpeechRecoContextEvents* This) {
  12664. return This->lpVtbl->Release(This);
  12665. }
  12666. /*** IDispatch methods ***/
  12667. static FORCEINLINE HRESULT _ISpeechRecoContextEvents_GetTypeInfoCount(_ISpeechRecoContextEvents* This,UINT *pctinfo) {
  12668. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  12669. }
  12670. static FORCEINLINE HRESULT _ISpeechRecoContextEvents_GetTypeInfo(_ISpeechRecoContextEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  12671. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  12672. }
  12673. static FORCEINLINE HRESULT _ISpeechRecoContextEvents_GetIDsOfNames(_ISpeechRecoContextEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  12674. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  12675. }
  12676. static FORCEINLINE HRESULT _ISpeechRecoContextEvents_Invoke(_ISpeechRecoContextEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  12677. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  12678. }
  12679. #endif
  12680. #endif
  12681. #endif
  12682. #endif /* ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__ */
  12683. /*****************************************************************************
  12684. * ISpeechGrammarRule interface
  12685. */
  12686. #ifndef __ISpeechGrammarRule_INTERFACE_DEFINED__
  12687. #define __ISpeechGrammarRule_INTERFACE_DEFINED__
  12688. DEFINE_GUID(IID_ISpeechGrammarRule, 0xafe719cf, 0x5dd1, 0x44f2, 0x99,0x9c, 0x7a,0x39,0x9f,0x1c,0xfc,0xcc);
  12689. #if defined(__cplusplus) && !defined(CINTERFACE)
  12690. MIDL_INTERFACE("afe719cf-5dd1-44f2-999c-7a399f1cfccc")
  12691. ISpeechGrammarRule : public IDispatch
  12692. {
  12693. virtual HRESULT STDMETHODCALLTYPE get_Attributes(
  12694. SpeechRuleAttributes *Attributes) = 0;
  12695. virtual HRESULT STDMETHODCALLTYPE get_InitialState(
  12696. ISpeechGrammarRuleState **State) = 0;
  12697. virtual HRESULT STDMETHODCALLTYPE get_Name(
  12698. BSTR *Name) = 0;
  12699. virtual HRESULT STDMETHODCALLTYPE get_Id(
  12700. LONG *Id) = 0;
  12701. virtual HRESULT STDMETHODCALLTYPE Clear(
  12702. ) = 0;
  12703. virtual HRESULT STDMETHODCALLTYPE AddResource(
  12704. const BSTR ResourceName,
  12705. const BSTR ResourceValue) = 0;
  12706. virtual HRESULT STDMETHODCALLTYPE AddState(
  12707. ISpeechGrammarRuleState **State) = 0;
  12708. };
  12709. #ifdef __CRT_UUID_DECL
  12710. __CRT_UUID_DECL(ISpeechGrammarRule, 0xafe719cf, 0x5dd1, 0x44f2, 0x99,0x9c, 0x7a,0x39,0x9f,0x1c,0xfc,0xcc)
  12711. #endif
  12712. #else
  12713. typedef struct ISpeechGrammarRuleVtbl {
  12714. BEGIN_INTERFACE
  12715. /*** IUnknown methods ***/
  12716. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  12717. ISpeechGrammarRule *This,
  12718. REFIID riid,
  12719. void **ppvObject);
  12720. ULONG (STDMETHODCALLTYPE *AddRef)(
  12721. ISpeechGrammarRule *This);
  12722. ULONG (STDMETHODCALLTYPE *Release)(
  12723. ISpeechGrammarRule *This);
  12724. /*** IDispatch methods ***/
  12725. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  12726. ISpeechGrammarRule *This,
  12727. UINT *pctinfo);
  12728. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  12729. ISpeechGrammarRule *This,
  12730. UINT iTInfo,
  12731. LCID lcid,
  12732. ITypeInfo **ppTInfo);
  12733. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  12734. ISpeechGrammarRule *This,
  12735. REFIID riid,
  12736. LPOLESTR *rgszNames,
  12737. UINT cNames,
  12738. LCID lcid,
  12739. DISPID *rgDispId);
  12740. HRESULT (STDMETHODCALLTYPE *Invoke)(
  12741. ISpeechGrammarRule *This,
  12742. DISPID dispIdMember,
  12743. REFIID riid,
  12744. LCID lcid,
  12745. WORD wFlags,
  12746. DISPPARAMS *pDispParams,
  12747. VARIANT *pVarResult,
  12748. EXCEPINFO *pExcepInfo,
  12749. UINT *puArgErr);
  12750. /*** ISpeechGrammarRule methods ***/
  12751. HRESULT (STDMETHODCALLTYPE *get_Attributes)(
  12752. ISpeechGrammarRule *This,
  12753. SpeechRuleAttributes *Attributes);
  12754. HRESULT (STDMETHODCALLTYPE *get_InitialState)(
  12755. ISpeechGrammarRule *This,
  12756. ISpeechGrammarRuleState **State);
  12757. HRESULT (STDMETHODCALLTYPE *get_Name)(
  12758. ISpeechGrammarRule *This,
  12759. BSTR *Name);
  12760. HRESULT (STDMETHODCALLTYPE *get_Id)(
  12761. ISpeechGrammarRule *This,
  12762. LONG *Id);
  12763. HRESULT (STDMETHODCALLTYPE *Clear)(
  12764. ISpeechGrammarRule *This);
  12765. HRESULT (STDMETHODCALLTYPE *AddResource)(
  12766. ISpeechGrammarRule *This,
  12767. const BSTR ResourceName,
  12768. const BSTR ResourceValue);
  12769. HRESULT (STDMETHODCALLTYPE *AddState)(
  12770. ISpeechGrammarRule *This,
  12771. ISpeechGrammarRuleState **State);
  12772. END_INTERFACE
  12773. } ISpeechGrammarRuleVtbl;
  12774. interface ISpeechGrammarRule {
  12775. CONST_VTBL ISpeechGrammarRuleVtbl* lpVtbl;
  12776. };
  12777. #ifdef COBJMACROS
  12778. #ifndef WIDL_C_INLINE_WRAPPERS
  12779. /*** IUnknown methods ***/
  12780. #define ISpeechGrammarRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  12781. #define ISpeechGrammarRule_AddRef(This) (This)->lpVtbl->AddRef(This)
  12782. #define ISpeechGrammarRule_Release(This) (This)->lpVtbl->Release(This)
  12783. /*** IDispatch methods ***/
  12784. #define ISpeechGrammarRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  12785. #define ISpeechGrammarRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  12786. #define ISpeechGrammarRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  12787. #define ISpeechGrammarRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  12788. /*** ISpeechGrammarRule methods ***/
  12789. #define ISpeechGrammarRule_get_Attributes(This,Attributes) (This)->lpVtbl->get_Attributes(This,Attributes)
  12790. #define ISpeechGrammarRule_get_InitialState(This,State) (This)->lpVtbl->get_InitialState(This,State)
  12791. #define ISpeechGrammarRule_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
  12792. #define ISpeechGrammarRule_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
  12793. #define ISpeechGrammarRule_Clear(This) (This)->lpVtbl->Clear(This)
  12794. #define ISpeechGrammarRule_AddResource(This,ResourceName,ResourceValue) (This)->lpVtbl->AddResource(This,ResourceName,ResourceValue)
  12795. #define ISpeechGrammarRule_AddState(This,State) (This)->lpVtbl->AddState(This,State)
  12796. #else
  12797. /*** IUnknown methods ***/
  12798. static FORCEINLINE HRESULT ISpeechGrammarRule_QueryInterface(ISpeechGrammarRule* This,REFIID riid,void **ppvObject) {
  12799. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  12800. }
  12801. static FORCEINLINE ULONG ISpeechGrammarRule_AddRef(ISpeechGrammarRule* This) {
  12802. return This->lpVtbl->AddRef(This);
  12803. }
  12804. static FORCEINLINE ULONG ISpeechGrammarRule_Release(ISpeechGrammarRule* This) {
  12805. return This->lpVtbl->Release(This);
  12806. }
  12807. /*** IDispatch methods ***/
  12808. static FORCEINLINE HRESULT ISpeechGrammarRule_GetTypeInfoCount(ISpeechGrammarRule* This,UINT *pctinfo) {
  12809. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  12810. }
  12811. static FORCEINLINE HRESULT ISpeechGrammarRule_GetTypeInfo(ISpeechGrammarRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  12812. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  12813. }
  12814. static FORCEINLINE HRESULT ISpeechGrammarRule_GetIDsOfNames(ISpeechGrammarRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  12815. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  12816. }
  12817. static FORCEINLINE HRESULT ISpeechGrammarRule_Invoke(ISpeechGrammarRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  12818. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  12819. }
  12820. /*** ISpeechGrammarRule methods ***/
  12821. static FORCEINLINE HRESULT ISpeechGrammarRule_get_Attributes(ISpeechGrammarRule* This,SpeechRuleAttributes *Attributes) {
  12822. return This->lpVtbl->get_Attributes(This,Attributes);
  12823. }
  12824. static FORCEINLINE HRESULT ISpeechGrammarRule_get_InitialState(ISpeechGrammarRule* This,ISpeechGrammarRuleState **State) {
  12825. return This->lpVtbl->get_InitialState(This,State);
  12826. }
  12827. static FORCEINLINE HRESULT ISpeechGrammarRule_get_Name(ISpeechGrammarRule* This,BSTR *Name) {
  12828. return This->lpVtbl->get_Name(This,Name);
  12829. }
  12830. static FORCEINLINE HRESULT ISpeechGrammarRule_get_Id(ISpeechGrammarRule* This,LONG *Id) {
  12831. return This->lpVtbl->get_Id(This,Id);
  12832. }
  12833. static FORCEINLINE HRESULT ISpeechGrammarRule_Clear(ISpeechGrammarRule* This) {
  12834. return This->lpVtbl->Clear(This);
  12835. }
  12836. static FORCEINLINE HRESULT ISpeechGrammarRule_AddResource(ISpeechGrammarRule* This,const BSTR ResourceName,const BSTR ResourceValue) {
  12837. return This->lpVtbl->AddResource(This,ResourceName,ResourceValue);
  12838. }
  12839. static FORCEINLINE HRESULT ISpeechGrammarRule_AddState(ISpeechGrammarRule* This,ISpeechGrammarRuleState **State) {
  12840. return This->lpVtbl->AddState(This,State);
  12841. }
  12842. #endif
  12843. #endif
  12844. #endif
  12845. #endif /* __ISpeechGrammarRule_INTERFACE_DEFINED__ */
  12846. /*****************************************************************************
  12847. * ISpeechGrammarRules interface
  12848. */
  12849. #ifndef __ISpeechGrammarRules_INTERFACE_DEFINED__
  12850. #define __ISpeechGrammarRules_INTERFACE_DEFINED__
  12851. DEFINE_GUID(IID_ISpeechGrammarRules, 0x6ffa3b44, 0xfc2d, 0x40d1, 0x8a,0xfc, 0x32,0x91,0x1c,0x7f,0x1a,0xd1);
  12852. #if defined(__cplusplus) && !defined(CINTERFACE)
  12853. MIDL_INTERFACE("6ffa3b44-fc2d-40d1-8afc-32911c7f1ad1")
  12854. ISpeechGrammarRules : public IDispatch
  12855. {
  12856. virtual HRESULT STDMETHODCALLTYPE get_Count(
  12857. LONG *Count) = 0;
  12858. virtual HRESULT STDMETHODCALLTYPE FindRule(
  12859. VARIANT RuleNameOrId,
  12860. ISpeechGrammarRule **Rule) = 0;
  12861. virtual HRESULT STDMETHODCALLTYPE Item(
  12862. LONG Index,
  12863. ISpeechGrammarRule **Rule) = 0;
  12864. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  12865. IUnknown **EnumVARIANT) = 0;
  12866. virtual HRESULT STDMETHODCALLTYPE get_Dynamic(
  12867. VARIANT_BOOL *Dynamic) = 0;
  12868. virtual HRESULT STDMETHODCALLTYPE Add(
  12869. BSTR RuleName,
  12870. SpeechRuleAttributes Attributes,
  12871. LONG RuleId,
  12872. ISpeechGrammarRule **Rule) = 0;
  12873. virtual HRESULT STDMETHODCALLTYPE Commit(
  12874. ) = 0;
  12875. virtual HRESULT STDMETHODCALLTYPE CommitAndSave(
  12876. BSTR *ErrorText,
  12877. VARIANT *SaveStream) = 0;
  12878. };
  12879. #ifdef __CRT_UUID_DECL
  12880. __CRT_UUID_DECL(ISpeechGrammarRules, 0x6ffa3b44, 0xfc2d, 0x40d1, 0x8a,0xfc, 0x32,0x91,0x1c,0x7f,0x1a,0xd1)
  12881. #endif
  12882. #else
  12883. typedef struct ISpeechGrammarRulesVtbl {
  12884. BEGIN_INTERFACE
  12885. /*** IUnknown methods ***/
  12886. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  12887. ISpeechGrammarRules *This,
  12888. REFIID riid,
  12889. void **ppvObject);
  12890. ULONG (STDMETHODCALLTYPE *AddRef)(
  12891. ISpeechGrammarRules *This);
  12892. ULONG (STDMETHODCALLTYPE *Release)(
  12893. ISpeechGrammarRules *This);
  12894. /*** IDispatch methods ***/
  12895. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  12896. ISpeechGrammarRules *This,
  12897. UINT *pctinfo);
  12898. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  12899. ISpeechGrammarRules *This,
  12900. UINT iTInfo,
  12901. LCID lcid,
  12902. ITypeInfo **ppTInfo);
  12903. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  12904. ISpeechGrammarRules *This,
  12905. REFIID riid,
  12906. LPOLESTR *rgszNames,
  12907. UINT cNames,
  12908. LCID lcid,
  12909. DISPID *rgDispId);
  12910. HRESULT (STDMETHODCALLTYPE *Invoke)(
  12911. ISpeechGrammarRules *This,
  12912. DISPID dispIdMember,
  12913. REFIID riid,
  12914. LCID lcid,
  12915. WORD wFlags,
  12916. DISPPARAMS *pDispParams,
  12917. VARIANT *pVarResult,
  12918. EXCEPINFO *pExcepInfo,
  12919. UINT *puArgErr);
  12920. /*** ISpeechGrammarRules methods ***/
  12921. HRESULT (STDMETHODCALLTYPE *get_Count)(
  12922. ISpeechGrammarRules *This,
  12923. LONG *Count);
  12924. HRESULT (STDMETHODCALLTYPE *FindRule)(
  12925. ISpeechGrammarRules *This,
  12926. VARIANT RuleNameOrId,
  12927. ISpeechGrammarRule **Rule);
  12928. HRESULT (STDMETHODCALLTYPE *Item)(
  12929. ISpeechGrammarRules *This,
  12930. LONG Index,
  12931. ISpeechGrammarRule **Rule);
  12932. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  12933. ISpeechGrammarRules *This,
  12934. IUnknown **EnumVARIANT);
  12935. HRESULT (STDMETHODCALLTYPE *get_Dynamic)(
  12936. ISpeechGrammarRules *This,
  12937. VARIANT_BOOL *Dynamic);
  12938. HRESULT (STDMETHODCALLTYPE *Add)(
  12939. ISpeechGrammarRules *This,
  12940. BSTR RuleName,
  12941. SpeechRuleAttributes Attributes,
  12942. LONG RuleId,
  12943. ISpeechGrammarRule **Rule);
  12944. HRESULT (STDMETHODCALLTYPE *Commit)(
  12945. ISpeechGrammarRules *This);
  12946. HRESULT (STDMETHODCALLTYPE *CommitAndSave)(
  12947. ISpeechGrammarRules *This,
  12948. BSTR *ErrorText,
  12949. VARIANT *SaveStream);
  12950. END_INTERFACE
  12951. } ISpeechGrammarRulesVtbl;
  12952. interface ISpeechGrammarRules {
  12953. CONST_VTBL ISpeechGrammarRulesVtbl* lpVtbl;
  12954. };
  12955. #ifdef COBJMACROS
  12956. #ifndef WIDL_C_INLINE_WRAPPERS
  12957. /*** IUnknown methods ***/
  12958. #define ISpeechGrammarRules_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  12959. #define ISpeechGrammarRules_AddRef(This) (This)->lpVtbl->AddRef(This)
  12960. #define ISpeechGrammarRules_Release(This) (This)->lpVtbl->Release(This)
  12961. /*** IDispatch methods ***/
  12962. #define ISpeechGrammarRules_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  12963. #define ISpeechGrammarRules_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  12964. #define ISpeechGrammarRules_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  12965. #define ISpeechGrammarRules_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  12966. /*** ISpeechGrammarRules methods ***/
  12967. #define ISpeechGrammarRules_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  12968. #define ISpeechGrammarRules_FindRule(This,RuleNameOrId,Rule) (This)->lpVtbl->FindRule(This,RuleNameOrId,Rule)
  12969. #define ISpeechGrammarRules_Item(This,Index,Rule) (This)->lpVtbl->Item(This,Index,Rule)
  12970. #define ISpeechGrammarRules_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
  12971. #define ISpeechGrammarRules_get_Dynamic(This,Dynamic) (This)->lpVtbl->get_Dynamic(This,Dynamic)
  12972. #define ISpeechGrammarRules_Add(This,RuleName,Attributes,RuleId,Rule) (This)->lpVtbl->Add(This,RuleName,Attributes,RuleId,Rule)
  12973. #define ISpeechGrammarRules_Commit(This) (This)->lpVtbl->Commit(This)
  12974. #define ISpeechGrammarRules_CommitAndSave(This,ErrorText,SaveStream) (This)->lpVtbl->CommitAndSave(This,ErrorText,SaveStream)
  12975. #else
  12976. /*** IUnknown methods ***/
  12977. static FORCEINLINE HRESULT ISpeechGrammarRules_QueryInterface(ISpeechGrammarRules* This,REFIID riid,void **ppvObject) {
  12978. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  12979. }
  12980. static FORCEINLINE ULONG ISpeechGrammarRules_AddRef(ISpeechGrammarRules* This) {
  12981. return This->lpVtbl->AddRef(This);
  12982. }
  12983. static FORCEINLINE ULONG ISpeechGrammarRules_Release(ISpeechGrammarRules* This) {
  12984. return This->lpVtbl->Release(This);
  12985. }
  12986. /*** IDispatch methods ***/
  12987. static FORCEINLINE HRESULT ISpeechGrammarRules_GetTypeInfoCount(ISpeechGrammarRules* This,UINT *pctinfo) {
  12988. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  12989. }
  12990. static FORCEINLINE HRESULT ISpeechGrammarRules_GetTypeInfo(ISpeechGrammarRules* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  12991. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  12992. }
  12993. static FORCEINLINE HRESULT ISpeechGrammarRules_GetIDsOfNames(ISpeechGrammarRules* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  12994. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  12995. }
  12996. static FORCEINLINE HRESULT ISpeechGrammarRules_Invoke(ISpeechGrammarRules* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  12997. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  12998. }
  12999. /*** ISpeechGrammarRules methods ***/
  13000. static FORCEINLINE HRESULT ISpeechGrammarRules_get_Count(ISpeechGrammarRules* This,LONG *Count) {
  13001. return This->lpVtbl->get_Count(This,Count);
  13002. }
  13003. static FORCEINLINE HRESULT ISpeechGrammarRules_FindRule(ISpeechGrammarRules* This,VARIANT RuleNameOrId,ISpeechGrammarRule **Rule) {
  13004. return This->lpVtbl->FindRule(This,RuleNameOrId,Rule);
  13005. }
  13006. static FORCEINLINE HRESULT ISpeechGrammarRules_Item(ISpeechGrammarRules* This,LONG Index,ISpeechGrammarRule **Rule) {
  13007. return This->lpVtbl->Item(This,Index,Rule);
  13008. }
  13009. static FORCEINLINE HRESULT ISpeechGrammarRules_get__NewEnum(ISpeechGrammarRules* This,IUnknown **EnumVARIANT) {
  13010. return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
  13011. }
  13012. static FORCEINLINE HRESULT ISpeechGrammarRules_get_Dynamic(ISpeechGrammarRules* This,VARIANT_BOOL *Dynamic) {
  13013. return This->lpVtbl->get_Dynamic(This,Dynamic);
  13014. }
  13015. static FORCEINLINE HRESULT ISpeechGrammarRules_Add(ISpeechGrammarRules* This,BSTR RuleName,SpeechRuleAttributes Attributes,LONG RuleId,ISpeechGrammarRule **Rule) {
  13016. return This->lpVtbl->Add(This,RuleName,Attributes,RuleId,Rule);
  13017. }
  13018. static FORCEINLINE HRESULT ISpeechGrammarRules_Commit(ISpeechGrammarRules* This) {
  13019. return This->lpVtbl->Commit(This);
  13020. }
  13021. static FORCEINLINE HRESULT ISpeechGrammarRules_CommitAndSave(ISpeechGrammarRules* This,BSTR *ErrorText,VARIANT *SaveStream) {
  13022. return This->lpVtbl->CommitAndSave(This,ErrorText,SaveStream);
  13023. }
  13024. #endif
  13025. #endif
  13026. #endif
  13027. #endif /* __ISpeechGrammarRules_INTERFACE_DEFINED__ */
  13028. /*****************************************************************************
  13029. * ISpeechGrammarRuleState interface
  13030. */
  13031. #ifndef __ISpeechGrammarRuleState_INTERFACE_DEFINED__
  13032. #define __ISpeechGrammarRuleState_INTERFACE_DEFINED__
  13033. DEFINE_GUID(IID_ISpeechGrammarRuleState, 0xd4286f2c, 0xee67, 0x45ae, 0xb9,0x28, 0x28,0xd6,0x95,0x36,0x2e,0xda);
  13034. #if defined(__cplusplus) && !defined(CINTERFACE)
  13035. MIDL_INTERFACE("d4286f2c-ee67-45ae-b928-28d695362eda")
  13036. ISpeechGrammarRuleState : public IDispatch
  13037. {
  13038. virtual HRESULT STDMETHODCALLTYPE get_Rule(
  13039. ISpeechGrammarRule **Rule) = 0;
  13040. virtual HRESULT STDMETHODCALLTYPE get_Transitions(
  13041. ISpeechGrammarRuleStateTransitions **Transitions) = 0;
  13042. virtual HRESULT STDMETHODCALLTYPE AddWordTransition(
  13043. ISpeechGrammarRuleState *DestState,
  13044. const BSTR Words,
  13045. const BSTR Separators = L" ",
  13046. SpeechGrammarWordType Type = SGLexical,
  13047. const BSTR PropertyName = L"",
  13048. LONG PropertyId = 0,
  13049. VARIANT *PropertyValue = 0,
  13050. float Weight = 1) = 0;
  13051. virtual HRESULT STDMETHODCALLTYPE AddRuleTransition(
  13052. ISpeechGrammarRuleState *DestinationState,
  13053. ISpeechGrammarRule *Rule,
  13054. const BSTR PropertyName = L"",
  13055. LONG PropertyId = 0,
  13056. VARIANT *PropertyValue = 0,
  13057. float Weight = 1) = 0;
  13058. virtual HRESULT STDMETHODCALLTYPE AddSpecialTransition(
  13059. ISpeechGrammarRuleState *DestinationState,
  13060. SpeechSpecialTransitionType Type,
  13061. const BSTR PropertyName = L"",
  13062. LONG PropertyId = 0,
  13063. VARIANT *PropertyValue = 0,
  13064. float Weight = 1) = 0;
  13065. };
  13066. #ifdef __CRT_UUID_DECL
  13067. __CRT_UUID_DECL(ISpeechGrammarRuleState, 0xd4286f2c, 0xee67, 0x45ae, 0xb9,0x28, 0x28,0xd6,0x95,0x36,0x2e,0xda)
  13068. #endif
  13069. #else
  13070. typedef struct ISpeechGrammarRuleStateVtbl {
  13071. BEGIN_INTERFACE
  13072. /*** IUnknown methods ***/
  13073. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  13074. ISpeechGrammarRuleState *This,
  13075. REFIID riid,
  13076. void **ppvObject);
  13077. ULONG (STDMETHODCALLTYPE *AddRef)(
  13078. ISpeechGrammarRuleState *This);
  13079. ULONG (STDMETHODCALLTYPE *Release)(
  13080. ISpeechGrammarRuleState *This);
  13081. /*** IDispatch methods ***/
  13082. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  13083. ISpeechGrammarRuleState *This,
  13084. UINT *pctinfo);
  13085. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  13086. ISpeechGrammarRuleState *This,
  13087. UINT iTInfo,
  13088. LCID lcid,
  13089. ITypeInfo **ppTInfo);
  13090. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  13091. ISpeechGrammarRuleState *This,
  13092. REFIID riid,
  13093. LPOLESTR *rgszNames,
  13094. UINT cNames,
  13095. LCID lcid,
  13096. DISPID *rgDispId);
  13097. HRESULT (STDMETHODCALLTYPE *Invoke)(
  13098. ISpeechGrammarRuleState *This,
  13099. DISPID dispIdMember,
  13100. REFIID riid,
  13101. LCID lcid,
  13102. WORD wFlags,
  13103. DISPPARAMS *pDispParams,
  13104. VARIANT *pVarResult,
  13105. EXCEPINFO *pExcepInfo,
  13106. UINT *puArgErr);
  13107. /*** ISpeechGrammarRuleState methods ***/
  13108. HRESULT (STDMETHODCALLTYPE *get_Rule)(
  13109. ISpeechGrammarRuleState *This,
  13110. ISpeechGrammarRule **Rule);
  13111. HRESULT (STDMETHODCALLTYPE *get_Transitions)(
  13112. ISpeechGrammarRuleState *This,
  13113. ISpeechGrammarRuleStateTransitions **Transitions);
  13114. HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
  13115. ISpeechGrammarRuleState *This,
  13116. ISpeechGrammarRuleState *DestState,
  13117. const BSTR Words,
  13118. const BSTR Separators,
  13119. SpeechGrammarWordType Type,
  13120. const BSTR PropertyName,
  13121. LONG PropertyId,
  13122. VARIANT *PropertyValue,
  13123. float Weight);
  13124. HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
  13125. ISpeechGrammarRuleState *This,
  13126. ISpeechGrammarRuleState *DestinationState,
  13127. ISpeechGrammarRule *Rule,
  13128. const BSTR PropertyName,
  13129. LONG PropertyId,
  13130. VARIANT *PropertyValue,
  13131. float Weight);
  13132. HRESULT (STDMETHODCALLTYPE *AddSpecialTransition)(
  13133. ISpeechGrammarRuleState *This,
  13134. ISpeechGrammarRuleState *DestinationState,
  13135. SpeechSpecialTransitionType Type,
  13136. const BSTR PropertyName,
  13137. LONG PropertyId,
  13138. VARIANT *PropertyValue,
  13139. float Weight);
  13140. END_INTERFACE
  13141. } ISpeechGrammarRuleStateVtbl;
  13142. interface ISpeechGrammarRuleState {
  13143. CONST_VTBL ISpeechGrammarRuleStateVtbl* lpVtbl;
  13144. };
  13145. #ifdef COBJMACROS
  13146. #ifndef WIDL_C_INLINE_WRAPPERS
  13147. /*** IUnknown methods ***/
  13148. #define ISpeechGrammarRuleState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  13149. #define ISpeechGrammarRuleState_AddRef(This) (This)->lpVtbl->AddRef(This)
  13150. #define ISpeechGrammarRuleState_Release(This) (This)->lpVtbl->Release(This)
  13151. /*** IDispatch methods ***/
  13152. #define ISpeechGrammarRuleState_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  13153. #define ISpeechGrammarRuleState_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  13154. #define ISpeechGrammarRuleState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  13155. #define ISpeechGrammarRuleState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  13156. /*** ISpeechGrammarRuleState methods ***/
  13157. #define ISpeechGrammarRuleState_get_Rule(This,Rule) (This)->lpVtbl->get_Rule(This,Rule)
  13158. #define ISpeechGrammarRuleState_get_Transitions(This,Transitions) (This)->lpVtbl->get_Transitions(This,Transitions)
  13159. #define ISpeechGrammarRuleState_AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight) (This)->lpVtbl->AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight)
  13160. #define ISpeechGrammarRuleState_AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight) (This)->lpVtbl->AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight)
  13161. #define ISpeechGrammarRuleState_AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight) (This)->lpVtbl->AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight)
  13162. #else
  13163. /*** IUnknown methods ***/
  13164. static FORCEINLINE HRESULT ISpeechGrammarRuleState_QueryInterface(ISpeechGrammarRuleState* This,REFIID riid,void **ppvObject) {
  13165. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  13166. }
  13167. static FORCEINLINE ULONG ISpeechGrammarRuleState_AddRef(ISpeechGrammarRuleState* This) {
  13168. return This->lpVtbl->AddRef(This);
  13169. }
  13170. static FORCEINLINE ULONG ISpeechGrammarRuleState_Release(ISpeechGrammarRuleState* This) {
  13171. return This->lpVtbl->Release(This);
  13172. }
  13173. /*** IDispatch methods ***/
  13174. static FORCEINLINE HRESULT ISpeechGrammarRuleState_GetTypeInfoCount(ISpeechGrammarRuleState* This,UINT *pctinfo) {
  13175. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  13176. }
  13177. static FORCEINLINE HRESULT ISpeechGrammarRuleState_GetTypeInfo(ISpeechGrammarRuleState* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  13178. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  13179. }
  13180. static FORCEINLINE HRESULT ISpeechGrammarRuleState_GetIDsOfNames(ISpeechGrammarRuleState* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  13181. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  13182. }
  13183. static FORCEINLINE HRESULT ISpeechGrammarRuleState_Invoke(ISpeechGrammarRuleState* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  13184. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  13185. }
  13186. /*** ISpeechGrammarRuleState methods ***/
  13187. static FORCEINLINE HRESULT ISpeechGrammarRuleState_get_Rule(ISpeechGrammarRuleState* This,ISpeechGrammarRule **Rule) {
  13188. return This->lpVtbl->get_Rule(This,Rule);
  13189. }
  13190. static FORCEINLINE HRESULT ISpeechGrammarRuleState_get_Transitions(ISpeechGrammarRuleState* This,ISpeechGrammarRuleStateTransitions **Transitions) {
  13191. return This->lpVtbl->get_Transitions(This,Transitions);
  13192. }
  13193. static FORCEINLINE HRESULT ISpeechGrammarRuleState_AddWordTransition(ISpeechGrammarRuleState* This,ISpeechGrammarRuleState *DestState,const BSTR Words,const BSTR Separators,SpeechGrammarWordType Type,const BSTR PropertyName,LONG PropertyId,VARIANT *PropertyValue,float Weight) {
  13194. return This->lpVtbl->AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight);
  13195. }
  13196. static FORCEINLINE HRESULT ISpeechGrammarRuleState_AddRuleTransition(ISpeechGrammarRuleState* This,ISpeechGrammarRuleState *DestinationState,ISpeechGrammarRule *Rule,const BSTR PropertyName,LONG PropertyId,VARIANT *PropertyValue,float Weight) {
  13197. return This->lpVtbl->AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight);
  13198. }
  13199. static FORCEINLINE HRESULT ISpeechGrammarRuleState_AddSpecialTransition(ISpeechGrammarRuleState* This,ISpeechGrammarRuleState *DestinationState,SpeechSpecialTransitionType Type,const BSTR PropertyName,LONG PropertyId,VARIANT *PropertyValue,float Weight) {
  13200. return This->lpVtbl->AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight);
  13201. }
  13202. #endif
  13203. #endif
  13204. #endif
  13205. #endif /* __ISpeechGrammarRuleState_INTERFACE_DEFINED__ */
  13206. /*****************************************************************************
  13207. * ISpeechGrammarRuleStateTransitions interface
  13208. */
  13209. #ifndef __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__
  13210. #define __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__
  13211. DEFINE_GUID(IID_ISpeechGrammarRuleStateTransitions, 0xeabce657, 0x75bc, 0x44a2, 0xaa,0x7f, 0xc5,0x64,0x76,0x74,0x29,0x63);
  13212. #if defined(__cplusplus) && !defined(CINTERFACE)
  13213. MIDL_INTERFACE("eabce657-75bc-44a2-aa7f-c56476742963")
  13214. ISpeechGrammarRuleStateTransitions : public IDispatch
  13215. {
  13216. virtual HRESULT STDMETHODCALLTYPE get_Count(
  13217. LONG *Count) = 0;
  13218. virtual HRESULT STDMETHODCALLTYPE Item(
  13219. LONG Index,
  13220. ISpeechGrammarRuleStateTransition **Transition) = 0;
  13221. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  13222. IUnknown **EnumVARIANT) = 0;
  13223. };
  13224. #ifdef __CRT_UUID_DECL
  13225. __CRT_UUID_DECL(ISpeechGrammarRuleStateTransitions, 0xeabce657, 0x75bc, 0x44a2, 0xaa,0x7f, 0xc5,0x64,0x76,0x74,0x29,0x63)
  13226. #endif
  13227. #else
  13228. typedef struct ISpeechGrammarRuleStateTransitionsVtbl {
  13229. BEGIN_INTERFACE
  13230. /*** IUnknown methods ***/
  13231. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  13232. ISpeechGrammarRuleStateTransitions *This,
  13233. REFIID riid,
  13234. void **ppvObject);
  13235. ULONG (STDMETHODCALLTYPE *AddRef)(
  13236. ISpeechGrammarRuleStateTransitions *This);
  13237. ULONG (STDMETHODCALLTYPE *Release)(
  13238. ISpeechGrammarRuleStateTransitions *This);
  13239. /*** IDispatch methods ***/
  13240. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  13241. ISpeechGrammarRuleStateTransitions *This,
  13242. UINT *pctinfo);
  13243. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  13244. ISpeechGrammarRuleStateTransitions *This,
  13245. UINT iTInfo,
  13246. LCID lcid,
  13247. ITypeInfo **ppTInfo);
  13248. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  13249. ISpeechGrammarRuleStateTransitions *This,
  13250. REFIID riid,
  13251. LPOLESTR *rgszNames,
  13252. UINT cNames,
  13253. LCID lcid,
  13254. DISPID *rgDispId);
  13255. HRESULT (STDMETHODCALLTYPE *Invoke)(
  13256. ISpeechGrammarRuleStateTransitions *This,
  13257. DISPID dispIdMember,
  13258. REFIID riid,
  13259. LCID lcid,
  13260. WORD wFlags,
  13261. DISPPARAMS *pDispParams,
  13262. VARIANT *pVarResult,
  13263. EXCEPINFO *pExcepInfo,
  13264. UINT *puArgErr);
  13265. /*** ISpeechGrammarRuleStateTransitions methods ***/
  13266. HRESULT (STDMETHODCALLTYPE *get_Count)(
  13267. ISpeechGrammarRuleStateTransitions *This,
  13268. LONG *Count);
  13269. HRESULT (STDMETHODCALLTYPE *Item)(
  13270. ISpeechGrammarRuleStateTransitions *This,
  13271. LONG Index,
  13272. ISpeechGrammarRuleStateTransition **Transition);
  13273. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  13274. ISpeechGrammarRuleStateTransitions *This,
  13275. IUnknown **EnumVARIANT);
  13276. END_INTERFACE
  13277. } ISpeechGrammarRuleStateTransitionsVtbl;
  13278. interface ISpeechGrammarRuleStateTransitions {
  13279. CONST_VTBL ISpeechGrammarRuleStateTransitionsVtbl* lpVtbl;
  13280. };
  13281. #ifdef COBJMACROS
  13282. #ifndef WIDL_C_INLINE_WRAPPERS
  13283. /*** IUnknown methods ***/
  13284. #define ISpeechGrammarRuleStateTransitions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  13285. #define ISpeechGrammarRuleStateTransitions_AddRef(This) (This)->lpVtbl->AddRef(This)
  13286. #define ISpeechGrammarRuleStateTransitions_Release(This) (This)->lpVtbl->Release(This)
  13287. /*** IDispatch methods ***/
  13288. #define ISpeechGrammarRuleStateTransitions_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  13289. #define ISpeechGrammarRuleStateTransitions_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  13290. #define ISpeechGrammarRuleStateTransitions_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  13291. #define ISpeechGrammarRuleStateTransitions_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  13292. /*** ISpeechGrammarRuleStateTransitions methods ***/
  13293. #define ISpeechGrammarRuleStateTransitions_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  13294. #define ISpeechGrammarRuleStateTransitions_Item(This,Index,Transition) (This)->lpVtbl->Item(This,Index,Transition)
  13295. #define ISpeechGrammarRuleStateTransitions_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
  13296. #else
  13297. /*** IUnknown methods ***/
  13298. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_QueryInterface(ISpeechGrammarRuleStateTransitions* This,REFIID riid,void **ppvObject) {
  13299. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  13300. }
  13301. static FORCEINLINE ULONG ISpeechGrammarRuleStateTransitions_AddRef(ISpeechGrammarRuleStateTransitions* This) {
  13302. return This->lpVtbl->AddRef(This);
  13303. }
  13304. static FORCEINLINE ULONG ISpeechGrammarRuleStateTransitions_Release(ISpeechGrammarRuleStateTransitions* This) {
  13305. return This->lpVtbl->Release(This);
  13306. }
  13307. /*** IDispatch methods ***/
  13308. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_GetTypeInfoCount(ISpeechGrammarRuleStateTransitions* This,UINT *pctinfo) {
  13309. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  13310. }
  13311. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_GetTypeInfo(ISpeechGrammarRuleStateTransitions* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  13312. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  13313. }
  13314. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_GetIDsOfNames(ISpeechGrammarRuleStateTransitions* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  13315. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  13316. }
  13317. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_Invoke(ISpeechGrammarRuleStateTransitions* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  13318. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  13319. }
  13320. /*** ISpeechGrammarRuleStateTransitions methods ***/
  13321. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_get_Count(ISpeechGrammarRuleStateTransitions* This,LONG *Count) {
  13322. return This->lpVtbl->get_Count(This,Count);
  13323. }
  13324. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_Item(ISpeechGrammarRuleStateTransitions* This,LONG Index,ISpeechGrammarRuleStateTransition **Transition) {
  13325. return This->lpVtbl->Item(This,Index,Transition);
  13326. }
  13327. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_get__NewEnum(ISpeechGrammarRuleStateTransitions* This,IUnknown **EnumVARIANT) {
  13328. return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
  13329. }
  13330. #endif
  13331. #endif
  13332. #endif
  13333. #endif /* __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__ */
  13334. /*****************************************************************************
  13335. * ISpeechGrammarRuleStateTransition interface
  13336. */
  13337. #ifndef __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__
  13338. #define __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__
  13339. DEFINE_GUID(IID_ISpeechGrammarRuleStateTransition, 0xcafd1db1, 0x41d1, 0x4a06, 0x98,0x63, 0xe2,0xe8,0x1d,0xa1,0x7a,0x9a);
  13340. #if defined(__cplusplus) && !defined(CINTERFACE)
  13341. MIDL_INTERFACE("cafd1db1-41d1-4a06-9863-e2e81da17a9a")
  13342. ISpeechGrammarRuleStateTransition : public IDispatch
  13343. {
  13344. virtual HRESULT STDMETHODCALLTYPE get_Type(
  13345. SpeechGrammarRuleStateTransitionType *Type) = 0;
  13346. virtual HRESULT STDMETHODCALLTYPE get_Text(
  13347. BSTR *Text) = 0;
  13348. virtual HRESULT STDMETHODCALLTYPE get_Rule(
  13349. ISpeechGrammarRule **Rule) = 0;
  13350. virtual HRESULT STDMETHODCALLTYPE get_Weight(
  13351. VARIANT *Weight) = 0;
  13352. virtual HRESULT STDMETHODCALLTYPE get_PropertyName(
  13353. BSTR *PropertyName) = 0;
  13354. virtual HRESULT STDMETHODCALLTYPE get_PropertyId(
  13355. LONG *PropertyId) = 0;
  13356. virtual HRESULT STDMETHODCALLTYPE get_PropertyValue(
  13357. VARIANT *PropertyValue) = 0;
  13358. virtual HRESULT STDMETHODCALLTYPE get_NextState(
  13359. ISpeechGrammarRuleState **NextState) = 0;
  13360. };
  13361. #ifdef __CRT_UUID_DECL
  13362. __CRT_UUID_DECL(ISpeechGrammarRuleStateTransition, 0xcafd1db1, 0x41d1, 0x4a06, 0x98,0x63, 0xe2,0xe8,0x1d,0xa1,0x7a,0x9a)
  13363. #endif
  13364. #else
  13365. typedef struct ISpeechGrammarRuleStateTransitionVtbl {
  13366. BEGIN_INTERFACE
  13367. /*** IUnknown methods ***/
  13368. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  13369. ISpeechGrammarRuleStateTransition *This,
  13370. REFIID riid,
  13371. void **ppvObject);
  13372. ULONG (STDMETHODCALLTYPE *AddRef)(
  13373. ISpeechGrammarRuleStateTransition *This);
  13374. ULONG (STDMETHODCALLTYPE *Release)(
  13375. ISpeechGrammarRuleStateTransition *This);
  13376. /*** IDispatch methods ***/
  13377. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  13378. ISpeechGrammarRuleStateTransition *This,
  13379. UINT *pctinfo);
  13380. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  13381. ISpeechGrammarRuleStateTransition *This,
  13382. UINT iTInfo,
  13383. LCID lcid,
  13384. ITypeInfo **ppTInfo);
  13385. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  13386. ISpeechGrammarRuleStateTransition *This,
  13387. REFIID riid,
  13388. LPOLESTR *rgszNames,
  13389. UINT cNames,
  13390. LCID lcid,
  13391. DISPID *rgDispId);
  13392. HRESULT (STDMETHODCALLTYPE *Invoke)(
  13393. ISpeechGrammarRuleStateTransition *This,
  13394. DISPID dispIdMember,
  13395. REFIID riid,
  13396. LCID lcid,
  13397. WORD wFlags,
  13398. DISPPARAMS *pDispParams,
  13399. VARIANT *pVarResult,
  13400. EXCEPINFO *pExcepInfo,
  13401. UINT *puArgErr);
  13402. /*** ISpeechGrammarRuleStateTransition methods ***/
  13403. HRESULT (STDMETHODCALLTYPE *get_Type)(
  13404. ISpeechGrammarRuleStateTransition *This,
  13405. SpeechGrammarRuleStateTransitionType *Type);
  13406. HRESULT (STDMETHODCALLTYPE *get_Text)(
  13407. ISpeechGrammarRuleStateTransition *This,
  13408. BSTR *Text);
  13409. HRESULT (STDMETHODCALLTYPE *get_Rule)(
  13410. ISpeechGrammarRuleStateTransition *This,
  13411. ISpeechGrammarRule **Rule);
  13412. HRESULT (STDMETHODCALLTYPE *get_Weight)(
  13413. ISpeechGrammarRuleStateTransition *This,
  13414. VARIANT *Weight);
  13415. HRESULT (STDMETHODCALLTYPE *get_PropertyName)(
  13416. ISpeechGrammarRuleStateTransition *This,
  13417. BSTR *PropertyName);
  13418. HRESULT (STDMETHODCALLTYPE *get_PropertyId)(
  13419. ISpeechGrammarRuleStateTransition *This,
  13420. LONG *PropertyId);
  13421. HRESULT (STDMETHODCALLTYPE *get_PropertyValue)(
  13422. ISpeechGrammarRuleStateTransition *This,
  13423. VARIANT *PropertyValue);
  13424. HRESULT (STDMETHODCALLTYPE *get_NextState)(
  13425. ISpeechGrammarRuleStateTransition *This,
  13426. ISpeechGrammarRuleState **NextState);
  13427. END_INTERFACE
  13428. } ISpeechGrammarRuleStateTransitionVtbl;
  13429. interface ISpeechGrammarRuleStateTransition {
  13430. CONST_VTBL ISpeechGrammarRuleStateTransitionVtbl* lpVtbl;
  13431. };
  13432. #ifdef COBJMACROS
  13433. #ifndef WIDL_C_INLINE_WRAPPERS
  13434. /*** IUnknown methods ***/
  13435. #define ISpeechGrammarRuleStateTransition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  13436. #define ISpeechGrammarRuleStateTransition_AddRef(This) (This)->lpVtbl->AddRef(This)
  13437. #define ISpeechGrammarRuleStateTransition_Release(This) (This)->lpVtbl->Release(This)
  13438. /*** IDispatch methods ***/
  13439. #define ISpeechGrammarRuleStateTransition_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  13440. #define ISpeechGrammarRuleStateTransition_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  13441. #define ISpeechGrammarRuleStateTransition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  13442. #define ISpeechGrammarRuleStateTransition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  13443. /*** ISpeechGrammarRuleStateTransition methods ***/
  13444. #define ISpeechGrammarRuleStateTransition_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
  13445. #define ISpeechGrammarRuleStateTransition_get_Text(This,Text) (This)->lpVtbl->get_Text(This,Text)
  13446. #define ISpeechGrammarRuleStateTransition_get_Rule(This,Rule) (This)->lpVtbl->get_Rule(This,Rule)
  13447. #define ISpeechGrammarRuleStateTransition_get_Weight(This,Weight) (This)->lpVtbl->get_Weight(This,Weight)
  13448. #define ISpeechGrammarRuleStateTransition_get_PropertyName(This,PropertyName) (This)->lpVtbl->get_PropertyName(This,PropertyName)
  13449. #define ISpeechGrammarRuleStateTransition_get_PropertyId(This,PropertyId) (This)->lpVtbl->get_PropertyId(This,PropertyId)
  13450. #define ISpeechGrammarRuleStateTransition_get_PropertyValue(This,PropertyValue) (This)->lpVtbl->get_PropertyValue(This,PropertyValue)
  13451. #define ISpeechGrammarRuleStateTransition_get_NextState(This,NextState) (This)->lpVtbl->get_NextState(This,NextState)
  13452. #else
  13453. /*** IUnknown methods ***/
  13454. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_QueryInterface(ISpeechGrammarRuleStateTransition* This,REFIID riid,void **ppvObject) {
  13455. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  13456. }
  13457. static FORCEINLINE ULONG ISpeechGrammarRuleStateTransition_AddRef(ISpeechGrammarRuleStateTransition* This) {
  13458. return This->lpVtbl->AddRef(This);
  13459. }
  13460. static FORCEINLINE ULONG ISpeechGrammarRuleStateTransition_Release(ISpeechGrammarRuleStateTransition* This) {
  13461. return This->lpVtbl->Release(This);
  13462. }
  13463. /*** IDispatch methods ***/
  13464. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_GetTypeInfoCount(ISpeechGrammarRuleStateTransition* This,UINT *pctinfo) {
  13465. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  13466. }
  13467. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_GetTypeInfo(ISpeechGrammarRuleStateTransition* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  13468. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  13469. }
  13470. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_GetIDsOfNames(ISpeechGrammarRuleStateTransition* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  13471. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  13472. }
  13473. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_Invoke(ISpeechGrammarRuleStateTransition* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  13474. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  13475. }
  13476. /*** ISpeechGrammarRuleStateTransition methods ***/
  13477. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Type(ISpeechGrammarRuleStateTransition* This,SpeechGrammarRuleStateTransitionType *Type) {
  13478. return This->lpVtbl->get_Type(This,Type);
  13479. }
  13480. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Text(ISpeechGrammarRuleStateTransition* This,BSTR *Text) {
  13481. return This->lpVtbl->get_Text(This,Text);
  13482. }
  13483. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Rule(ISpeechGrammarRuleStateTransition* This,ISpeechGrammarRule **Rule) {
  13484. return This->lpVtbl->get_Rule(This,Rule);
  13485. }
  13486. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Weight(ISpeechGrammarRuleStateTransition* This,VARIANT *Weight) {
  13487. return This->lpVtbl->get_Weight(This,Weight);
  13488. }
  13489. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_PropertyName(ISpeechGrammarRuleStateTransition* This,BSTR *PropertyName) {
  13490. return This->lpVtbl->get_PropertyName(This,PropertyName);
  13491. }
  13492. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_PropertyId(ISpeechGrammarRuleStateTransition* This,LONG *PropertyId) {
  13493. return This->lpVtbl->get_PropertyId(This,PropertyId);
  13494. }
  13495. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_PropertyValue(ISpeechGrammarRuleStateTransition* This,VARIANT *PropertyValue) {
  13496. return This->lpVtbl->get_PropertyValue(This,PropertyValue);
  13497. }
  13498. static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_NextState(ISpeechGrammarRuleStateTransition* This,ISpeechGrammarRuleState **NextState) {
  13499. return This->lpVtbl->get_NextState(This,NextState);
  13500. }
  13501. #endif
  13502. #endif
  13503. #endif
  13504. #endif /* __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__ */
  13505. /*****************************************************************************
  13506. * ISpeechTextSelectionInformation interface
  13507. */
  13508. #ifndef __ISpeechTextSelectionInformation_INTERFACE_DEFINED__
  13509. #define __ISpeechTextSelectionInformation_INTERFACE_DEFINED__
  13510. DEFINE_GUID(IID_ISpeechTextSelectionInformation, 0x3b9c7e7a, 0x6eee, 0x4ded, 0x90,0x92, 0x11,0x65,0x72,0x79,0xad,0xbe);
  13511. #if defined(__cplusplus) && !defined(CINTERFACE)
  13512. MIDL_INTERFACE("3b9c7e7a-6eee-4ded-9092-11657279adbe")
  13513. ISpeechTextSelectionInformation : public IDispatch
  13514. {
  13515. virtual HRESULT STDMETHODCALLTYPE put_ActiveOffset(
  13516. LONG ActiveOffset) = 0;
  13517. virtual HRESULT STDMETHODCALLTYPE get_ActiveOffset(
  13518. LONG *ActiveOffset) = 0;
  13519. virtual HRESULT STDMETHODCALLTYPE put_ActiveLength(
  13520. LONG ActiveLength) = 0;
  13521. virtual HRESULT STDMETHODCALLTYPE get_ActiveLength(
  13522. LONG *ActiveLength) = 0;
  13523. virtual HRESULT STDMETHODCALLTYPE put_SelectionOffset(
  13524. LONG SelectionOffset) = 0;
  13525. virtual HRESULT STDMETHODCALLTYPE get_SelectionOffset(
  13526. LONG *SelectionOffset) = 0;
  13527. virtual HRESULT STDMETHODCALLTYPE put_SelectionLength(
  13528. LONG SelectionLength) = 0;
  13529. virtual HRESULT STDMETHODCALLTYPE get_SelectionLength(
  13530. LONG *SelectionLength) = 0;
  13531. };
  13532. #ifdef __CRT_UUID_DECL
  13533. __CRT_UUID_DECL(ISpeechTextSelectionInformation, 0x3b9c7e7a, 0x6eee, 0x4ded, 0x90,0x92, 0x11,0x65,0x72,0x79,0xad,0xbe)
  13534. #endif
  13535. #else
  13536. typedef struct ISpeechTextSelectionInformationVtbl {
  13537. BEGIN_INTERFACE
  13538. /*** IUnknown methods ***/
  13539. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  13540. ISpeechTextSelectionInformation *This,
  13541. REFIID riid,
  13542. void **ppvObject);
  13543. ULONG (STDMETHODCALLTYPE *AddRef)(
  13544. ISpeechTextSelectionInformation *This);
  13545. ULONG (STDMETHODCALLTYPE *Release)(
  13546. ISpeechTextSelectionInformation *This);
  13547. /*** IDispatch methods ***/
  13548. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  13549. ISpeechTextSelectionInformation *This,
  13550. UINT *pctinfo);
  13551. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  13552. ISpeechTextSelectionInformation *This,
  13553. UINT iTInfo,
  13554. LCID lcid,
  13555. ITypeInfo **ppTInfo);
  13556. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  13557. ISpeechTextSelectionInformation *This,
  13558. REFIID riid,
  13559. LPOLESTR *rgszNames,
  13560. UINT cNames,
  13561. LCID lcid,
  13562. DISPID *rgDispId);
  13563. HRESULT (STDMETHODCALLTYPE *Invoke)(
  13564. ISpeechTextSelectionInformation *This,
  13565. DISPID dispIdMember,
  13566. REFIID riid,
  13567. LCID lcid,
  13568. WORD wFlags,
  13569. DISPPARAMS *pDispParams,
  13570. VARIANT *pVarResult,
  13571. EXCEPINFO *pExcepInfo,
  13572. UINT *puArgErr);
  13573. /*** ISpeechTextSelectionInformation methods ***/
  13574. HRESULT (STDMETHODCALLTYPE *put_ActiveOffset)(
  13575. ISpeechTextSelectionInformation *This,
  13576. LONG ActiveOffset);
  13577. HRESULT (STDMETHODCALLTYPE *get_ActiveOffset)(
  13578. ISpeechTextSelectionInformation *This,
  13579. LONG *ActiveOffset);
  13580. HRESULT (STDMETHODCALLTYPE *put_ActiveLength)(
  13581. ISpeechTextSelectionInformation *This,
  13582. LONG ActiveLength);
  13583. HRESULT (STDMETHODCALLTYPE *get_ActiveLength)(
  13584. ISpeechTextSelectionInformation *This,
  13585. LONG *ActiveLength);
  13586. HRESULT (STDMETHODCALLTYPE *put_SelectionOffset)(
  13587. ISpeechTextSelectionInformation *This,
  13588. LONG SelectionOffset);
  13589. HRESULT (STDMETHODCALLTYPE *get_SelectionOffset)(
  13590. ISpeechTextSelectionInformation *This,
  13591. LONG *SelectionOffset);
  13592. HRESULT (STDMETHODCALLTYPE *put_SelectionLength)(
  13593. ISpeechTextSelectionInformation *This,
  13594. LONG SelectionLength);
  13595. HRESULT (STDMETHODCALLTYPE *get_SelectionLength)(
  13596. ISpeechTextSelectionInformation *This,
  13597. LONG *SelectionLength);
  13598. END_INTERFACE
  13599. } ISpeechTextSelectionInformationVtbl;
  13600. interface ISpeechTextSelectionInformation {
  13601. CONST_VTBL ISpeechTextSelectionInformationVtbl* lpVtbl;
  13602. };
  13603. #ifdef COBJMACROS
  13604. #ifndef WIDL_C_INLINE_WRAPPERS
  13605. /*** IUnknown methods ***/
  13606. #define ISpeechTextSelectionInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  13607. #define ISpeechTextSelectionInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
  13608. #define ISpeechTextSelectionInformation_Release(This) (This)->lpVtbl->Release(This)
  13609. /*** IDispatch methods ***/
  13610. #define ISpeechTextSelectionInformation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  13611. #define ISpeechTextSelectionInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  13612. #define ISpeechTextSelectionInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  13613. #define ISpeechTextSelectionInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  13614. /*** ISpeechTextSelectionInformation methods ***/
  13615. #define ISpeechTextSelectionInformation_put_ActiveOffset(This,ActiveOffset) (This)->lpVtbl->put_ActiveOffset(This,ActiveOffset)
  13616. #define ISpeechTextSelectionInformation_get_ActiveOffset(This,ActiveOffset) (This)->lpVtbl->get_ActiveOffset(This,ActiveOffset)
  13617. #define ISpeechTextSelectionInformation_put_ActiveLength(This,ActiveLength) (This)->lpVtbl->put_ActiveLength(This,ActiveLength)
  13618. #define ISpeechTextSelectionInformation_get_ActiveLength(This,ActiveLength) (This)->lpVtbl->get_ActiveLength(This,ActiveLength)
  13619. #define ISpeechTextSelectionInformation_put_SelectionOffset(This,SelectionOffset) (This)->lpVtbl->put_SelectionOffset(This,SelectionOffset)
  13620. #define ISpeechTextSelectionInformation_get_SelectionOffset(This,SelectionOffset) (This)->lpVtbl->get_SelectionOffset(This,SelectionOffset)
  13621. #define ISpeechTextSelectionInformation_put_SelectionLength(This,SelectionLength) (This)->lpVtbl->put_SelectionLength(This,SelectionLength)
  13622. #define ISpeechTextSelectionInformation_get_SelectionLength(This,SelectionLength) (This)->lpVtbl->get_SelectionLength(This,SelectionLength)
  13623. #else
  13624. /*** IUnknown methods ***/
  13625. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_QueryInterface(ISpeechTextSelectionInformation* This,REFIID riid,void **ppvObject) {
  13626. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  13627. }
  13628. static FORCEINLINE ULONG ISpeechTextSelectionInformation_AddRef(ISpeechTextSelectionInformation* This) {
  13629. return This->lpVtbl->AddRef(This);
  13630. }
  13631. static FORCEINLINE ULONG ISpeechTextSelectionInformation_Release(ISpeechTextSelectionInformation* This) {
  13632. return This->lpVtbl->Release(This);
  13633. }
  13634. /*** IDispatch methods ***/
  13635. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_GetTypeInfoCount(ISpeechTextSelectionInformation* This,UINT *pctinfo) {
  13636. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  13637. }
  13638. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_GetTypeInfo(ISpeechTextSelectionInformation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  13639. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  13640. }
  13641. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_GetIDsOfNames(ISpeechTextSelectionInformation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  13642. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  13643. }
  13644. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_Invoke(ISpeechTextSelectionInformation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  13645. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  13646. }
  13647. /*** ISpeechTextSelectionInformation methods ***/
  13648. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_ActiveOffset(ISpeechTextSelectionInformation* This,LONG ActiveOffset) {
  13649. return This->lpVtbl->put_ActiveOffset(This,ActiveOffset);
  13650. }
  13651. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_ActiveOffset(ISpeechTextSelectionInformation* This,LONG *ActiveOffset) {
  13652. return This->lpVtbl->get_ActiveOffset(This,ActiveOffset);
  13653. }
  13654. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_ActiveLength(ISpeechTextSelectionInformation* This,LONG ActiveLength) {
  13655. return This->lpVtbl->put_ActiveLength(This,ActiveLength);
  13656. }
  13657. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_ActiveLength(ISpeechTextSelectionInformation* This,LONG *ActiveLength) {
  13658. return This->lpVtbl->get_ActiveLength(This,ActiveLength);
  13659. }
  13660. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_SelectionOffset(ISpeechTextSelectionInformation* This,LONG SelectionOffset) {
  13661. return This->lpVtbl->put_SelectionOffset(This,SelectionOffset);
  13662. }
  13663. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_SelectionOffset(ISpeechTextSelectionInformation* This,LONG *SelectionOffset) {
  13664. return This->lpVtbl->get_SelectionOffset(This,SelectionOffset);
  13665. }
  13666. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_SelectionLength(ISpeechTextSelectionInformation* This,LONG SelectionLength) {
  13667. return This->lpVtbl->put_SelectionLength(This,SelectionLength);
  13668. }
  13669. static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_SelectionLength(ISpeechTextSelectionInformation* This,LONG *SelectionLength) {
  13670. return This->lpVtbl->get_SelectionLength(This,SelectionLength);
  13671. }
  13672. #endif
  13673. #endif
  13674. #endif
  13675. #endif /* __ISpeechTextSelectionInformation_INTERFACE_DEFINED__ */
  13676. /*****************************************************************************
  13677. * ISpeechRecoResult interface
  13678. */
  13679. #ifndef __ISpeechRecoResult_INTERFACE_DEFINED__
  13680. #define __ISpeechRecoResult_INTERFACE_DEFINED__
  13681. DEFINE_GUID(IID_ISpeechRecoResult, 0xed2879cf, 0xced9, 0x4ee6, 0xa5,0x34, 0xde,0x01,0x91,0xd5,0x46,0x8d);
  13682. #if defined(__cplusplus) && !defined(CINTERFACE)
  13683. MIDL_INTERFACE("ed2879cf-ced9-4ee6-a534-de0191d5468d")
  13684. ISpeechRecoResult : public IDispatch
  13685. {
  13686. virtual HRESULT STDMETHODCALLTYPE get_RecoContext(
  13687. ISpeechRecoContext **RecoContext) = 0;
  13688. virtual HRESULT STDMETHODCALLTYPE get_Times(
  13689. ISpeechRecoResultTimes **Times) = 0;
  13690. virtual HRESULT STDMETHODCALLTYPE putref_AudioFormat(
  13691. ISpeechAudioFormat *Format) = 0;
  13692. virtual HRESULT STDMETHODCALLTYPE get_AudioFormat(
  13693. ISpeechAudioFormat **Format) = 0;
  13694. virtual HRESULT STDMETHODCALLTYPE get_PhraseInfo(
  13695. ISpeechPhraseInfo **PhraseInfo) = 0;
  13696. virtual HRESULT STDMETHODCALLTYPE Alternates(
  13697. LONG RequestCount,
  13698. LONG StartElement,
  13699. LONG Elements,
  13700. ISpeechPhraseAlternates **Alternates) = 0;
  13701. virtual HRESULT STDMETHODCALLTYPE Audio(
  13702. LONG StartElement,
  13703. LONG Elements,
  13704. ISpeechMemoryStream **Stream) = 0;
  13705. virtual HRESULT STDMETHODCALLTYPE SpeakAudio(
  13706. LONG StartElement,
  13707. LONG Elements,
  13708. SpeechVoiceSpeakFlags Flags,
  13709. LONG *StreamNumber) = 0;
  13710. virtual HRESULT STDMETHODCALLTYPE SaveToMemory(
  13711. VARIANT *ResultBlock) = 0;
  13712. virtual HRESULT STDMETHODCALLTYPE DiscardResultInfo(
  13713. SpeechDiscardType ValueTypes) = 0;
  13714. };
  13715. #ifdef __CRT_UUID_DECL
  13716. __CRT_UUID_DECL(ISpeechRecoResult, 0xed2879cf, 0xced9, 0x4ee6, 0xa5,0x34, 0xde,0x01,0x91,0xd5,0x46,0x8d)
  13717. #endif
  13718. #else
  13719. typedef struct ISpeechRecoResultVtbl {
  13720. BEGIN_INTERFACE
  13721. /*** IUnknown methods ***/
  13722. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  13723. ISpeechRecoResult *This,
  13724. REFIID riid,
  13725. void **ppvObject);
  13726. ULONG (STDMETHODCALLTYPE *AddRef)(
  13727. ISpeechRecoResult *This);
  13728. ULONG (STDMETHODCALLTYPE *Release)(
  13729. ISpeechRecoResult *This);
  13730. /*** IDispatch methods ***/
  13731. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  13732. ISpeechRecoResult *This,
  13733. UINT *pctinfo);
  13734. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  13735. ISpeechRecoResult *This,
  13736. UINT iTInfo,
  13737. LCID lcid,
  13738. ITypeInfo **ppTInfo);
  13739. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  13740. ISpeechRecoResult *This,
  13741. REFIID riid,
  13742. LPOLESTR *rgszNames,
  13743. UINT cNames,
  13744. LCID lcid,
  13745. DISPID *rgDispId);
  13746. HRESULT (STDMETHODCALLTYPE *Invoke)(
  13747. ISpeechRecoResult *This,
  13748. DISPID dispIdMember,
  13749. REFIID riid,
  13750. LCID lcid,
  13751. WORD wFlags,
  13752. DISPPARAMS *pDispParams,
  13753. VARIANT *pVarResult,
  13754. EXCEPINFO *pExcepInfo,
  13755. UINT *puArgErr);
  13756. /*** ISpeechRecoResult methods ***/
  13757. HRESULT (STDMETHODCALLTYPE *get_RecoContext)(
  13758. ISpeechRecoResult *This,
  13759. ISpeechRecoContext **RecoContext);
  13760. HRESULT (STDMETHODCALLTYPE *get_Times)(
  13761. ISpeechRecoResult *This,
  13762. ISpeechRecoResultTimes **Times);
  13763. HRESULT (STDMETHODCALLTYPE *putref_AudioFormat)(
  13764. ISpeechRecoResult *This,
  13765. ISpeechAudioFormat *Format);
  13766. HRESULT (STDMETHODCALLTYPE *get_AudioFormat)(
  13767. ISpeechRecoResult *This,
  13768. ISpeechAudioFormat **Format);
  13769. HRESULT (STDMETHODCALLTYPE *get_PhraseInfo)(
  13770. ISpeechRecoResult *This,
  13771. ISpeechPhraseInfo **PhraseInfo);
  13772. HRESULT (STDMETHODCALLTYPE *Alternates)(
  13773. ISpeechRecoResult *This,
  13774. LONG RequestCount,
  13775. LONG StartElement,
  13776. LONG Elements,
  13777. ISpeechPhraseAlternates **Alternates);
  13778. HRESULT (STDMETHODCALLTYPE *Audio)(
  13779. ISpeechRecoResult *This,
  13780. LONG StartElement,
  13781. LONG Elements,
  13782. ISpeechMemoryStream **Stream);
  13783. HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
  13784. ISpeechRecoResult *This,
  13785. LONG StartElement,
  13786. LONG Elements,
  13787. SpeechVoiceSpeakFlags Flags,
  13788. LONG *StreamNumber);
  13789. HRESULT (STDMETHODCALLTYPE *SaveToMemory)(
  13790. ISpeechRecoResult *This,
  13791. VARIANT *ResultBlock);
  13792. HRESULT (STDMETHODCALLTYPE *DiscardResultInfo)(
  13793. ISpeechRecoResult *This,
  13794. SpeechDiscardType ValueTypes);
  13795. END_INTERFACE
  13796. } ISpeechRecoResultVtbl;
  13797. interface ISpeechRecoResult {
  13798. CONST_VTBL ISpeechRecoResultVtbl* lpVtbl;
  13799. };
  13800. #ifdef COBJMACROS
  13801. #ifndef WIDL_C_INLINE_WRAPPERS
  13802. /*** IUnknown methods ***/
  13803. #define ISpeechRecoResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  13804. #define ISpeechRecoResult_AddRef(This) (This)->lpVtbl->AddRef(This)
  13805. #define ISpeechRecoResult_Release(This) (This)->lpVtbl->Release(This)
  13806. /*** IDispatch methods ***/
  13807. #define ISpeechRecoResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  13808. #define ISpeechRecoResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  13809. #define ISpeechRecoResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  13810. #define ISpeechRecoResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  13811. /*** ISpeechRecoResult methods ***/
  13812. #define ISpeechRecoResult_get_RecoContext(This,RecoContext) (This)->lpVtbl->get_RecoContext(This,RecoContext)
  13813. #define ISpeechRecoResult_get_Times(This,Times) (This)->lpVtbl->get_Times(This,Times)
  13814. #define ISpeechRecoResult_putref_AudioFormat(This,Format) (This)->lpVtbl->putref_AudioFormat(This,Format)
  13815. #define ISpeechRecoResult_get_AudioFormat(This,Format) (This)->lpVtbl->get_AudioFormat(This,Format)
  13816. #define ISpeechRecoResult_get_PhraseInfo(This,PhraseInfo) (This)->lpVtbl->get_PhraseInfo(This,PhraseInfo)
  13817. #define ISpeechRecoResult_Alternates(This,RequestCount,StartElement,Elements,Alternates) (This)->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates)
  13818. #define ISpeechRecoResult_Audio(This,StartElement,Elements,Stream) (This)->lpVtbl->Audio(This,StartElement,Elements,Stream)
  13819. #define ISpeechRecoResult_SpeakAudio(This,StartElement,Elements,Flags,StreamNumber) (This)->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber)
  13820. #define ISpeechRecoResult_SaveToMemory(This,ResultBlock) (This)->lpVtbl->SaveToMemory(This,ResultBlock)
  13821. #define ISpeechRecoResult_DiscardResultInfo(This,ValueTypes) (This)->lpVtbl->DiscardResultInfo(This,ValueTypes)
  13822. #else
  13823. /*** IUnknown methods ***/
  13824. static FORCEINLINE HRESULT ISpeechRecoResult_QueryInterface(ISpeechRecoResult* This,REFIID riid,void **ppvObject) {
  13825. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  13826. }
  13827. static FORCEINLINE ULONG ISpeechRecoResult_AddRef(ISpeechRecoResult* This) {
  13828. return This->lpVtbl->AddRef(This);
  13829. }
  13830. static FORCEINLINE ULONG ISpeechRecoResult_Release(ISpeechRecoResult* This) {
  13831. return This->lpVtbl->Release(This);
  13832. }
  13833. /*** IDispatch methods ***/
  13834. static FORCEINLINE HRESULT ISpeechRecoResult_GetTypeInfoCount(ISpeechRecoResult* This,UINT *pctinfo) {
  13835. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  13836. }
  13837. static FORCEINLINE HRESULT ISpeechRecoResult_GetTypeInfo(ISpeechRecoResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  13838. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  13839. }
  13840. static FORCEINLINE HRESULT ISpeechRecoResult_GetIDsOfNames(ISpeechRecoResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  13841. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  13842. }
  13843. static FORCEINLINE HRESULT ISpeechRecoResult_Invoke(ISpeechRecoResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  13844. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  13845. }
  13846. /*** ISpeechRecoResult methods ***/
  13847. static FORCEINLINE HRESULT ISpeechRecoResult_get_RecoContext(ISpeechRecoResult* This,ISpeechRecoContext **RecoContext) {
  13848. return This->lpVtbl->get_RecoContext(This,RecoContext);
  13849. }
  13850. static FORCEINLINE HRESULT ISpeechRecoResult_get_Times(ISpeechRecoResult* This,ISpeechRecoResultTimes **Times) {
  13851. return This->lpVtbl->get_Times(This,Times);
  13852. }
  13853. static FORCEINLINE HRESULT ISpeechRecoResult_putref_AudioFormat(ISpeechRecoResult* This,ISpeechAudioFormat *Format) {
  13854. return This->lpVtbl->putref_AudioFormat(This,Format);
  13855. }
  13856. static FORCEINLINE HRESULT ISpeechRecoResult_get_AudioFormat(ISpeechRecoResult* This,ISpeechAudioFormat **Format) {
  13857. return This->lpVtbl->get_AudioFormat(This,Format);
  13858. }
  13859. static FORCEINLINE HRESULT ISpeechRecoResult_get_PhraseInfo(ISpeechRecoResult* This,ISpeechPhraseInfo **PhraseInfo) {
  13860. return This->lpVtbl->get_PhraseInfo(This,PhraseInfo);
  13861. }
  13862. static FORCEINLINE HRESULT ISpeechRecoResult_Alternates(ISpeechRecoResult* This,LONG RequestCount,LONG StartElement,LONG Elements,ISpeechPhraseAlternates **Alternates) {
  13863. return This->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates);
  13864. }
  13865. static FORCEINLINE HRESULT ISpeechRecoResult_Audio(ISpeechRecoResult* This,LONG StartElement,LONG Elements,ISpeechMemoryStream **Stream) {
  13866. return This->lpVtbl->Audio(This,StartElement,Elements,Stream);
  13867. }
  13868. static FORCEINLINE HRESULT ISpeechRecoResult_SpeakAudio(ISpeechRecoResult* This,LONG StartElement,LONG Elements,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
  13869. return This->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber);
  13870. }
  13871. static FORCEINLINE HRESULT ISpeechRecoResult_SaveToMemory(ISpeechRecoResult* This,VARIANT *ResultBlock) {
  13872. return This->lpVtbl->SaveToMemory(This,ResultBlock);
  13873. }
  13874. static FORCEINLINE HRESULT ISpeechRecoResult_DiscardResultInfo(ISpeechRecoResult* This,SpeechDiscardType ValueTypes) {
  13875. return This->lpVtbl->DiscardResultInfo(This,ValueTypes);
  13876. }
  13877. #endif
  13878. #endif
  13879. #endif
  13880. #endif /* __ISpeechRecoResult_INTERFACE_DEFINED__ */
  13881. /*****************************************************************************
  13882. * ISpeechPhraseInfoBuilder interface
  13883. */
  13884. #ifndef __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__
  13885. #define __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__
  13886. DEFINE_GUID(IID_ISpeechPhraseInfoBuilder, 0x3b151836, 0xdf3a, 0x4e0a, 0x84,0x6c, 0xd2,0xad,0xc9,0x33,0x43,0x33);
  13887. #if defined(__cplusplus) && !defined(CINTERFACE)
  13888. MIDL_INTERFACE("3b151836-df3a-4e0a-846c-d2adc9334333")
  13889. ISpeechPhraseInfoBuilder : public IDispatch
  13890. {
  13891. virtual HRESULT STDMETHODCALLTYPE RestorePhraseFromMemory(
  13892. VARIANT *PhraseInMemory,
  13893. ISpeechPhraseInfo **PhraseInfo) = 0;
  13894. };
  13895. #ifdef __CRT_UUID_DECL
  13896. __CRT_UUID_DECL(ISpeechPhraseInfoBuilder, 0x3b151836, 0xdf3a, 0x4e0a, 0x84,0x6c, 0xd2,0xad,0xc9,0x33,0x43,0x33)
  13897. #endif
  13898. #else
  13899. typedef struct ISpeechPhraseInfoBuilderVtbl {
  13900. BEGIN_INTERFACE
  13901. /*** IUnknown methods ***/
  13902. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  13903. ISpeechPhraseInfoBuilder *This,
  13904. REFIID riid,
  13905. void **ppvObject);
  13906. ULONG (STDMETHODCALLTYPE *AddRef)(
  13907. ISpeechPhraseInfoBuilder *This);
  13908. ULONG (STDMETHODCALLTYPE *Release)(
  13909. ISpeechPhraseInfoBuilder *This);
  13910. /*** IDispatch methods ***/
  13911. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  13912. ISpeechPhraseInfoBuilder *This,
  13913. UINT *pctinfo);
  13914. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  13915. ISpeechPhraseInfoBuilder *This,
  13916. UINT iTInfo,
  13917. LCID lcid,
  13918. ITypeInfo **ppTInfo);
  13919. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  13920. ISpeechPhraseInfoBuilder *This,
  13921. REFIID riid,
  13922. LPOLESTR *rgszNames,
  13923. UINT cNames,
  13924. LCID lcid,
  13925. DISPID *rgDispId);
  13926. HRESULT (STDMETHODCALLTYPE *Invoke)(
  13927. ISpeechPhraseInfoBuilder *This,
  13928. DISPID dispIdMember,
  13929. REFIID riid,
  13930. LCID lcid,
  13931. WORD wFlags,
  13932. DISPPARAMS *pDispParams,
  13933. VARIANT *pVarResult,
  13934. EXCEPINFO *pExcepInfo,
  13935. UINT *puArgErr);
  13936. /*** ISpeechPhraseInfoBuilder methods ***/
  13937. HRESULT (STDMETHODCALLTYPE *RestorePhraseFromMemory)(
  13938. ISpeechPhraseInfoBuilder *This,
  13939. VARIANT *PhraseInMemory,
  13940. ISpeechPhraseInfo **PhraseInfo);
  13941. END_INTERFACE
  13942. } ISpeechPhraseInfoBuilderVtbl;
  13943. interface ISpeechPhraseInfoBuilder {
  13944. CONST_VTBL ISpeechPhraseInfoBuilderVtbl* lpVtbl;
  13945. };
  13946. #ifdef COBJMACROS
  13947. #ifndef WIDL_C_INLINE_WRAPPERS
  13948. /*** IUnknown methods ***/
  13949. #define ISpeechPhraseInfoBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  13950. #define ISpeechPhraseInfoBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
  13951. #define ISpeechPhraseInfoBuilder_Release(This) (This)->lpVtbl->Release(This)
  13952. /*** IDispatch methods ***/
  13953. #define ISpeechPhraseInfoBuilder_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  13954. #define ISpeechPhraseInfoBuilder_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  13955. #define ISpeechPhraseInfoBuilder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  13956. #define ISpeechPhraseInfoBuilder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  13957. /*** ISpeechPhraseInfoBuilder methods ***/
  13958. #define ISpeechPhraseInfoBuilder_RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo) (This)->lpVtbl->RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo)
  13959. #else
  13960. /*** IUnknown methods ***/
  13961. static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_QueryInterface(ISpeechPhraseInfoBuilder* This,REFIID riid,void **ppvObject) {
  13962. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  13963. }
  13964. static FORCEINLINE ULONG ISpeechPhraseInfoBuilder_AddRef(ISpeechPhraseInfoBuilder* This) {
  13965. return This->lpVtbl->AddRef(This);
  13966. }
  13967. static FORCEINLINE ULONG ISpeechPhraseInfoBuilder_Release(ISpeechPhraseInfoBuilder* This) {
  13968. return This->lpVtbl->Release(This);
  13969. }
  13970. /*** IDispatch methods ***/
  13971. static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_GetTypeInfoCount(ISpeechPhraseInfoBuilder* This,UINT *pctinfo) {
  13972. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  13973. }
  13974. static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_GetTypeInfo(ISpeechPhraseInfoBuilder* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  13975. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  13976. }
  13977. static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_GetIDsOfNames(ISpeechPhraseInfoBuilder* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  13978. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  13979. }
  13980. static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_Invoke(ISpeechPhraseInfoBuilder* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  13981. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  13982. }
  13983. /*** ISpeechPhraseInfoBuilder methods ***/
  13984. static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_RestorePhraseFromMemory(ISpeechPhraseInfoBuilder* This,VARIANT *PhraseInMemory,ISpeechPhraseInfo **PhraseInfo) {
  13985. return This->lpVtbl->RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo);
  13986. }
  13987. #endif
  13988. #endif
  13989. #endif
  13990. #endif /* __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__ */
  13991. /*****************************************************************************
  13992. * ISpeechRecoResultTimes interface
  13993. */
  13994. #ifndef __ISpeechRecoResultTimes_INTERFACE_DEFINED__
  13995. #define __ISpeechRecoResultTimes_INTERFACE_DEFINED__
  13996. DEFINE_GUID(IID_ISpeechRecoResultTimes, 0x62b3b8fb, 0xf6e7, 0x41be, 0xbd,0xcb, 0x05,0x6b,0x1c,0x29,0xef,0xc0);
  13997. #if defined(__cplusplus) && !defined(CINTERFACE)
  13998. MIDL_INTERFACE("62b3b8fb-f6e7-41be-bdcb-056b1c29efc0")
  13999. ISpeechRecoResultTimes : public IDispatch
  14000. {
  14001. virtual HRESULT STDMETHODCALLTYPE get_StreamTime(
  14002. VARIANT *Time) = 0;
  14003. virtual HRESULT STDMETHODCALLTYPE get_Length(
  14004. VARIANT *Length) = 0;
  14005. virtual HRESULT STDMETHODCALLTYPE get_TickCount(
  14006. LONG *TickCount) = 0;
  14007. virtual HRESULT STDMETHODCALLTYPE get_OffsetFromStart(
  14008. VARIANT *OffsetFromStart) = 0;
  14009. };
  14010. #ifdef __CRT_UUID_DECL
  14011. __CRT_UUID_DECL(ISpeechRecoResultTimes, 0x62b3b8fb, 0xf6e7, 0x41be, 0xbd,0xcb, 0x05,0x6b,0x1c,0x29,0xef,0xc0)
  14012. #endif
  14013. #else
  14014. typedef struct ISpeechRecoResultTimesVtbl {
  14015. BEGIN_INTERFACE
  14016. /*** IUnknown methods ***/
  14017. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  14018. ISpeechRecoResultTimes *This,
  14019. REFIID riid,
  14020. void **ppvObject);
  14021. ULONG (STDMETHODCALLTYPE *AddRef)(
  14022. ISpeechRecoResultTimes *This);
  14023. ULONG (STDMETHODCALLTYPE *Release)(
  14024. ISpeechRecoResultTimes *This);
  14025. /*** IDispatch methods ***/
  14026. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  14027. ISpeechRecoResultTimes *This,
  14028. UINT *pctinfo);
  14029. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  14030. ISpeechRecoResultTimes *This,
  14031. UINT iTInfo,
  14032. LCID lcid,
  14033. ITypeInfo **ppTInfo);
  14034. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  14035. ISpeechRecoResultTimes *This,
  14036. REFIID riid,
  14037. LPOLESTR *rgszNames,
  14038. UINT cNames,
  14039. LCID lcid,
  14040. DISPID *rgDispId);
  14041. HRESULT (STDMETHODCALLTYPE *Invoke)(
  14042. ISpeechRecoResultTimes *This,
  14043. DISPID dispIdMember,
  14044. REFIID riid,
  14045. LCID lcid,
  14046. WORD wFlags,
  14047. DISPPARAMS *pDispParams,
  14048. VARIANT *pVarResult,
  14049. EXCEPINFO *pExcepInfo,
  14050. UINT *puArgErr);
  14051. /*** ISpeechRecoResultTimes methods ***/
  14052. HRESULT (STDMETHODCALLTYPE *get_StreamTime)(
  14053. ISpeechRecoResultTimes *This,
  14054. VARIANT *Time);
  14055. HRESULT (STDMETHODCALLTYPE *get_Length)(
  14056. ISpeechRecoResultTimes *This,
  14057. VARIANT *Length);
  14058. HRESULT (STDMETHODCALLTYPE *get_TickCount)(
  14059. ISpeechRecoResultTimes *This,
  14060. LONG *TickCount);
  14061. HRESULT (STDMETHODCALLTYPE *get_OffsetFromStart)(
  14062. ISpeechRecoResultTimes *This,
  14063. VARIANT *OffsetFromStart);
  14064. END_INTERFACE
  14065. } ISpeechRecoResultTimesVtbl;
  14066. interface ISpeechRecoResultTimes {
  14067. CONST_VTBL ISpeechRecoResultTimesVtbl* lpVtbl;
  14068. };
  14069. #ifdef COBJMACROS
  14070. #ifndef WIDL_C_INLINE_WRAPPERS
  14071. /*** IUnknown methods ***/
  14072. #define ISpeechRecoResultTimes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  14073. #define ISpeechRecoResultTimes_AddRef(This) (This)->lpVtbl->AddRef(This)
  14074. #define ISpeechRecoResultTimes_Release(This) (This)->lpVtbl->Release(This)
  14075. /*** IDispatch methods ***/
  14076. #define ISpeechRecoResultTimes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  14077. #define ISpeechRecoResultTimes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  14078. #define ISpeechRecoResultTimes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  14079. #define ISpeechRecoResultTimes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  14080. /*** ISpeechRecoResultTimes methods ***/
  14081. #define ISpeechRecoResultTimes_get_StreamTime(This,Time) (This)->lpVtbl->get_StreamTime(This,Time)
  14082. #define ISpeechRecoResultTimes_get_Length(This,Length) (This)->lpVtbl->get_Length(This,Length)
  14083. #define ISpeechRecoResultTimes_get_TickCount(This,TickCount) (This)->lpVtbl->get_TickCount(This,TickCount)
  14084. #define ISpeechRecoResultTimes_get_OffsetFromStart(This,OffsetFromStart) (This)->lpVtbl->get_OffsetFromStart(This,OffsetFromStart)
  14085. #else
  14086. /*** IUnknown methods ***/
  14087. static FORCEINLINE HRESULT ISpeechRecoResultTimes_QueryInterface(ISpeechRecoResultTimes* This,REFIID riid,void **ppvObject) {
  14088. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  14089. }
  14090. static FORCEINLINE ULONG ISpeechRecoResultTimes_AddRef(ISpeechRecoResultTimes* This) {
  14091. return This->lpVtbl->AddRef(This);
  14092. }
  14093. static FORCEINLINE ULONG ISpeechRecoResultTimes_Release(ISpeechRecoResultTimes* This) {
  14094. return This->lpVtbl->Release(This);
  14095. }
  14096. /*** IDispatch methods ***/
  14097. static FORCEINLINE HRESULT ISpeechRecoResultTimes_GetTypeInfoCount(ISpeechRecoResultTimes* This,UINT *pctinfo) {
  14098. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  14099. }
  14100. static FORCEINLINE HRESULT ISpeechRecoResultTimes_GetTypeInfo(ISpeechRecoResultTimes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  14101. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  14102. }
  14103. static FORCEINLINE HRESULT ISpeechRecoResultTimes_GetIDsOfNames(ISpeechRecoResultTimes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  14104. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  14105. }
  14106. static FORCEINLINE HRESULT ISpeechRecoResultTimes_Invoke(ISpeechRecoResultTimes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  14107. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  14108. }
  14109. /*** ISpeechRecoResultTimes methods ***/
  14110. static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_StreamTime(ISpeechRecoResultTimes* This,VARIANT *Time) {
  14111. return This->lpVtbl->get_StreamTime(This,Time);
  14112. }
  14113. static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_Length(ISpeechRecoResultTimes* This,VARIANT *Length) {
  14114. return This->lpVtbl->get_Length(This,Length);
  14115. }
  14116. static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_TickCount(ISpeechRecoResultTimes* This,LONG *TickCount) {
  14117. return This->lpVtbl->get_TickCount(This,TickCount);
  14118. }
  14119. static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_OffsetFromStart(ISpeechRecoResultTimes* This,VARIANT *OffsetFromStart) {
  14120. return This->lpVtbl->get_OffsetFromStart(This,OffsetFromStart);
  14121. }
  14122. #endif
  14123. #endif
  14124. #endif
  14125. #endif /* __ISpeechRecoResultTimes_INTERFACE_DEFINED__ */
  14126. /*****************************************************************************
  14127. * ISpeechPhraseAlternate interface
  14128. */
  14129. #ifndef __ISpeechPhraseAlternate_INTERFACE_DEFINED__
  14130. #define __ISpeechPhraseAlternate_INTERFACE_DEFINED__
  14131. DEFINE_GUID(IID_ISpeechPhraseAlternate, 0x27864a2a, 0x2b9f, 0x4cb8, 0x92,0xd3, 0x0d,0x27,0x22,0xfd,0x1e,0x73);
  14132. #if defined(__cplusplus) && !defined(CINTERFACE)
  14133. MIDL_INTERFACE("27864a2a-2b9f-4cb8-92d3-0d2722fd1e73")
  14134. ISpeechPhraseAlternate : public IDispatch
  14135. {
  14136. virtual HRESULT STDMETHODCALLTYPE get_RecoResult(
  14137. ISpeechRecoResult **RecoResult) = 0;
  14138. virtual HRESULT STDMETHODCALLTYPE get_StartElementInResult(
  14139. LONG *StartElement) = 0;
  14140. virtual HRESULT STDMETHODCALLTYPE get_NumberOfElementsInResult(
  14141. LONG *NumberOfElements) = 0;
  14142. virtual HRESULT STDMETHODCALLTYPE get_PhraseInfo(
  14143. ISpeechPhraseInfo **PhraseInfo) = 0;
  14144. virtual HRESULT STDMETHODCALLTYPE Commit(
  14145. ) = 0;
  14146. };
  14147. #ifdef __CRT_UUID_DECL
  14148. __CRT_UUID_DECL(ISpeechPhraseAlternate, 0x27864a2a, 0x2b9f, 0x4cb8, 0x92,0xd3, 0x0d,0x27,0x22,0xfd,0x1e,0x73)
  14149. #endif
  14150. #else
  14151. typedef struct ISpeechPhraseAlternateVtbl {
  14152. BEGIN_INTERFACE
  14153. /*** IUnknown methods ***/
  14154. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  14155. ISpeechPhraseAlternate *This,
  14156. REFIID riid,
  14157. void **ppvObject);
  14158. ULONG (STDMETHODCALLTYPE *AddRef)(
  14159. ISpeechPhraseAlternate *This);
  14160. ULONG (STDMETHODCALLTYPE *Release)(
  14161. ISpeechPhraseAlternate *This);
  14162. /*** IDispatch methods ***/
  14163. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  14164. ISpeechPhraseAlternate *This,
  14165. UINT *pctinfo);
  14166. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  14167. ISpeechPhraseAlternate *This,
  14168. UINT iTInfo,
  14169. LCID lcid,
  14170. ITypeInfo **ppTInfo);
  14171. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  14172. ISpeechPhraseAlternate *This,
  14173. REFIID riid,
  14174. LPOLESTR *rgszNames,
  14175. UINT cNames,
  14176. LCID lcid,
  14177. DISPID *rgDispId);
  14178. HRESULT (STDMETHODCALLTYPE *Invoke)(
  14179. ISpeechPhraseAlternate *This,
  14180. DISPID dispIdMember,
  14181. REFIID riid,
  14182. LCID lcid,
  14183. WORD wFlags,
  14184. DISPPARAMS *pDispParams,
  14185. VARIANT *pVarResult,
  14186. EXCEPINFO *pExcepInfo,
  14187. UINT *puArgErr);
  14188. /*** ISpeechPhraseAlternate methods ***/
  14189. HRESULT (STDMETHODCALLTYPE *get_RecoResult)(
  14190. ISpeechPhraseAlternate *This,
  14191. ISpeechRecoResult **RecoResult);
  14192. HRESULT (STDMETHODCALLTYPE *get_StartElementInResult)(
  14193. ISpeechPhraseAlternate *This,
  14194. LONG *StartElement);
  14195. HRESULT (STDMETHODCALLTYPE *get_NumberOfElementsInResult)(
  14196. ISpeechPhraseAlternate *This,
  14197. LONG *NumberOfElements);
  14198. HRESULT (STDMETHODCALLTYPE *get_PhraseInfo)(
  14199. ISpeechPhraseAlternate *This,
  14200. ISpeechPhraseInfo **PhraseInfo);
  14201. HRESULT (STDMETHODCALLTYPE *Commit)(
  14202. ISpeechPhraseAlternate *This);
  14203. END_INTERFACE
  14204. } ISpeechPhraseAlternateVtbl;
  14205. interface ISpeechPhraseAlternate {
  14206. CONST_VTBL ISpeechPhraseAlternateVtbl* lpVtbl;
  14207. };
  14208. #ifdef COBJMACROS
  14209. #ifndef WIDL_C_INLINE_WRAPPERS
  14210. /*** IUnknown methods ***/
  14211. #define ISpeechPhraseAlternate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  14212. #define ISpeechPhraseAlternate_AddRef(This) (This)->lpVtbl->AddRef(This)
  14213. #define ISpeechPhraseAlternate_Release(This) (This)->lpVtbl->Release(This)
  14214. /*** IDispatch methods ***/
  14215. #define ISpeechPhraseAlternate_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  14216. #define ISpeechPhraseAlternate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  14217. #define ISpeechPhraseAlternate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  14218. #define ISpeechPhraseAlternate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  14219. /*** ISpeechPhraseAlternate methods ***/
  14220. #define ISpeechPhraseAlternate_get_RecoResult(This,RecoResult) (This)->lpVtbl->get_RecoResult(This,RecoResult)
  14221. #define ISpeechPhraseAlternate_get_StartElementInResult(This,StartElement) (This)->lpVtbl->get_StartElementInResult(This,StartElement)
  14222. #define ISpeechPhraseAlternate_get_NumberOfElementsInResult(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElementsInResult(This,NumberOfElements)
  14223. #define ISpeechPhraseAlternate_get_PhraseInfo(This,PhraseInfo) (This)->lpVtbl->get_PhraseInfo(This,PhraseInfo)
  14224. #define ISpeechPhraseAlternate_Commit(This) (This)->lpVtbl->Commit(This)
  14225. #else
  14226. /*** IUnknown methods ***/
  14227. static FORCEINLINE HRESULT ISpeechPhraseAlternate_QueryInterface(ISpeechPhraseAlternate* This,REFIID riid,void **ppvObject) {
  14228. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  14229. }
  14230. static FORCEINLINE ULONG ISpeechPhraseAlternate_AddRef(ISpeechPhraseAlternate* This) {
  14231. return This->lpVtbl->AddRef(This);
  14232. }
  14233. static FORCEINLINE ULONG ISpeechPhraseAlternate_Release(ISpeechPhraseAlternate* This) {
  14234. return This->lpVtbl->Release(This);
  14235. }
  14236. /*** IDispatch methods ***/
  14237. static FORCEINLINE HRESULT ISpeechPhraseAlternate_GetTypeInfoCount(ISpeechPhraseAlternate* This,UINT *pctinfo) {
  14238. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  14239. }
  14240. static FORCEINLINE HRESULT ISpeechPhraseAlternate_GetTypeInfo(ISpeechPhraseAlternate* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  14241. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  14242. }
  14243. static FORCEINLINE HRESULT ISpeechPhraseAlternate_GetIDsOfNames(ISpeechPhraseAlternate* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  14244. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  14245. }
  14246. static FORCEINLINE HRESULT ISpeechPhraseAlternate_Invoke(ISpeechPhraseAlternate* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  14247. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  14248. }
  14249. /*** ISpeechPhraseAlternate methods ***/
  14250. static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_RecoResult(ISpeechPhraseAlternate* This,ISpeechRecoResult **RecoResult) {
  14251. return This->lpVtbl->get_RecoResult(This,RecoResult);
  14252. }
  14253. static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_StartElementInResult(ISpeechPhraseAlternate* This,LONG *StartElement) {
  14254. return This->lpVtbl->get_StartElementInResult(This,StartElement);
  14255. }
  14256. static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_NumberOfElementsInResult(ISpeechPhraseAlternate* This,LONG *NumberOfElements) {
  14257. return This->lpVtbl->get_NumberOfElementsInResult(This,NumberOfElements);
  14258. }
  14259. static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_PhraseInfo(ISpeechPhraseAlternate* This,ISpeechPhraseInfo **PhraseInfo) {
  14260. return This->lpVtbl->get_PhraseInfo(This,PhraseInfo);
  14261. }
  14262. static FORCEINLINE HRESULT ISpeechPhraseAlternate_Commit(ISpeechPhraseAlternate* This) {
  14263. return This->lpVtbl->Commit(This);
  14264. }
  14265. #endif
  14266. #endif
  14267. #endif
  14268. #endif /* __ISpeechPhraseAlternate_INTERFACE_DEFINED__ */
  14269. /*****************************************************************************
  14270. * ISpeechPhraseAlternates interface
  14271. */
  14272. #ifndef __ISpeechPhraseAlternates_INTERFACE_DEFINED__
  14273. #define __ISpeechPhraseAlternates_INTERFACE_DEFINED__
  14274. DEFINE_GUID(IID_ISpeechPhraseAlternates, 0xb238b6d5, 0xf276, 0x4c3d, 0xa6,0xc1, 0x29,0x74,0x80,0x1c,0x3c,0xc2);
  14275. #if defined(__cplusplus) && !defined(CINTERFACE)
  14276. MIDL_INTERFACE("b238b6d5-f276-4c3d-a6c1-2974801c3cc2")
  14277. ISpeechPhraseAlternates : public IDispatch
  14278. {
  14279. virtual HRESULT STDMETHODCALLTYPE get_Count(
  14280. LONG *Count) = 0;
  14281. virtual HRESULT STDMETHODCALLTYPE Item(
  14282. LONG Index,
  14283. ISpeechPhraseAlternate **PhraseAlternate) = 0;
  14284. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  14285. IUnknown **EnumVARIANT) = 0;
  14286. };
  14287. #ifdef __CRT_UUID_DECL
  14288. __CRT_UUID_DECL(ISpeechPhraseAlternates, 0xb238b6d5, 0xf276, 0x4c3d, 0xa6,0xc1, 0x29,0x74,0x80,0x1c,0x3c,0xc2)
  14289. #endif
  14290. #else
  14291. typedef struct ISpeechPhraseAlternatesVtbl {
  14292. BEGIN_INTERFACE
  14293. /*** IUnknown methods ***/
  14294. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  14295. ISpeechPhraseAlternates *This,
  14296. REFIID riid,
  14297. void **ppvObject);
  14298. ULONG (STDMETHODCALLTYPE *AddRef)(
  14299. ISpeechPhraseAlternates *This);
  14300. ULONG (STDMETHODCALLTYPE *Release)(
  14301. ISpeechPhraseAlternates *This);
  14302. /*** IDispatch methods ***/
  14303. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  14304. ISpeechPhraseAlternates *This,
  14305. UINT *pctinfo);
  14306. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  14307. ISpeechPhraseAlternates *This,
  14308. UINT iTInfo,
  14309. LCID lcid,
  14310. ITypeInfo **ppTInfo);
  14311. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  14312. ISpeechPhraseAlternates *This,
  14313. REFIID riid,
  14314. LPOLESTR *rgszNames,
  14315. UINT cNames,
  14316. LCID lcid,
  14317. DISPID *rgDispId);
  14318. HRESULT (STDMETHODCALLTYPE *Invoke)(
  14319. ISpeechPhraseAlternates *This,
  14320. DISPID dispIdMember,
  14321. REFIID riid,
  14322. LCID lcid,
  14323. WORD wFlags,
  14324. DISPPARAMS *pDispParams,
  14325. VARIANT *pVarResult,
  14326. EXCEPINFO *pExcepInfo,
  14327. UINT *puArgErr);
  14328. /*** ISpeechPhraseAlternates methods ***/
  14329. HRESULT (STDMETHODCALLTYPE *get_Count)(
  14330. ISpeechPhraseAlternates *This,
  14331. LONG *Count);
  14332. HRESULT (STDMETHODCALLTYPE *Item)(
  14333. ISpeechPhraseAlternates *This,
  14334. LONG Index,
  14335. ISpeechPhraseAlternate **PhraseAlternate);
  14336. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  14337. ISpeechPhraseAlternates *This,
  14338. IUnknown **EnumVARIANT);
  14339. END_INTERFACE
  14340. } ISpeechPhraseAlternatesVtbl;
  14341. interface ISpeechPhraseAlternates {
  14342. CONST_VTBL ISpeechPhraseAlternatesVtbl* lpVtbl;
  14343. };
  14344. #ifdef COBJMACROS
  14345. #ifndef WIDL_C_INLINE_WRAPPERS
  14346. /*** IUnknown methods ***/
  14347. #define ISpeechPhraseAlternates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  14348. #define ISpeechPhraseAlternates_AddRef(This) (This)->lpVtbl->AddRef(This)
  14349. #define ISpeechPhraseAlternates_Release(This) (This)->lpVtbl->Release(This)
  14350. /*** IDispatch methods ***/
  14351. #define ISpeechPhraseAlternates_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  14352. #define ISpeechPhraseAlternates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  14353. #define ISpeechPhraseAlternates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  14354. #define ISpeechPhraseAlternates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  14355. /*** ISpeechPhraseAlternates methods ***/
  14356. #define ISpeechPhraseAlternates_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  14357. #define ISpeechPhraseAlternates_Item(This,Index,PhraseAlternate) (This)->lpVtbl->Item(This,Index,PhraseAlternate)
  14358. #define ISpeechPhraseAlternates_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
  14359. #else
  14360. /*** IUnknown methods ***/
  14361. static FORCEINLINE HRESULT ISpeechPhraseAlternates_QueryInterface(ISpeechPhraseAlternates* This,REFIID riid,void **ppvObject) {
  14362. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  14363. }
  14364. static FORCEINLINE ULONG ISpeechPhraseAlternates_AddRef(ISpeechPhraseAlternates* This) {
  14365. return This->lpVtbl->AddRef(This);
  14366. }
  14367. static FORCEINLINE ULONG ISpeechPhraseAlternates_Release(ISpeechPhraseAlternates* This) {
  14368. return This->lpVtbl->Release(This);
  14369. }
  14370. /*** IDispatch methods ***/
  14371. static FORCEINLINE HRESULT ISpeechPhraseAlternates_GetTypeInfoCount(ISpeechPhraseAlternates* This,UINT *pctinfo) {
  14372. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  14373. }
  14374. static FORCEINLINE HRESULT ISpeechPhraseAlternates_GetTypeInfo(ISpeechPhraseAlternates* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  14375. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  14376. }
  14377. static FORCEINLINE HRESULT ISpeechPhraseAlternates_GetIDsOfNames(ISpeechPhraseAlternates* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  14378. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  14379. }
  14380. static FORCEINLINE HRESULT ISpeechPhraseAlternates_Invoke(ISpeechPhraseAlternates* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  14381. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  14382. }
  14383. /*** ISpeechPhraseAlternates methods ***/
  14384. static FORCEINLINE HRESULT ISpeechPhraseAlternates_get_Count(ISpeechPhraseAlternates* This,LONG *Count) {
  14385. return This->lpVtbl->get_Count(This,Count);
  14386. }
  14387. static FORCEINLINE HRESULT ISpeechPhraseAlternates_Item(ISpeechPhraseAlternates* This,LONG Index,ISpeechPhraseAlternate **PhraseAlternate) {
  14388. return This->lpVtbl->Item(This,Index,PhraseAlternate);
  14389. }
  14390. static FORCEINLINE HRESULT ISpeechPhraseAlternates_get__NewEnum(ISpeechPhraseAlternates* This,IUnknown **EnumVARIANT) {
  14391. return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
  14392. }
  14393. #endif
  14394. #endif
  14395. #endif
  14396. #endif /* __ISpeechPhraseAlternates_INTERFACE_DEFINED__ */
  14397. /*****************************************************************************
  14398. * ISpeechPhraseInfo interface
  14399. */
  14400. #ifndef __ISpeechPhraseInfo_INTERFACE_DEFINED__
  14401. #define __ISpeechPhraseInfo_INTERFACE_DEFINED__
  14402. DEFINE_GUID(IID_ISpeechPhraseInfo, 0x961559cf, 0x4e67, 0x4662, 0x8b,0xf0, 0xd9,0x3f,0x1f,0xcd,0x61,0xb3);
  14403. #if defined(__cplusplus) && !defined(CINTERFACE)
  14404. MIDL_INTERFACE("961559cf-4e67-4662-8bf0-d93f1fcd61b3")
  14405. ISpeechPhraseInfo : public IDispatch
  14406. {
  14407. virtual HRESULT STDMETHODCALLTYPE get_LanguageId(
  14408. LONG *LanguageId) = 0;
  14409. virtual HRESULT STDMETHODCALLTYPE get_GrammarId(
  14410. VARIANT *GrammarId) = 0;
  14411. virtual HRESULT STDMETHODCALLTYPE get_StartTime(
  14412. VARIANT *StartTime) = 0;
  14413. virtual HRESULT STDMETHODCALLTYPE get_AudioStreamPosition(
  14414. VARIANT *AudioStreamPosition) = 0;
  14415. virtual HRESULT STDMETHODCALLTYPE get_AudioSizeBytes(
  14416. LONG *pAudioSizeBytes) = 0;
  14417. virtual HRESULT STDMETHODCALLTYPE get_RetainedSizeBytes(
  14418. LONG *RetainedSizeBytes) = 0;
  14419. virtual HRESULT STDMETHODCALLTYPE get_AudioSizeTime(
  14420. LONG *AudioSizeTime) = 0;
  14421. virtual HRESULT STDMETHODCALLTYPE get_Rule(
  14422. ISpeechPhraseRule **Rule) = 0;
  14423. virtual HRESULT STDMETHODCALLTYPE get_Properties(
  14424. ISpeechPhraseProperties **Properties) = 0;
  14425. virtual HRESULT STDMETHODCALLTYPE get_Elements(
  14426. ISpeechPhraseElements **Elements) = 0;
  14427. virtual HRESULT STDMETHODCALLTYPE get_Replacements(
  14428. ISpeechPhraseReplacements **Replacements) = 0;
  14429. virtual HRESULT STDMETHODCALLTYPE get_EngineId(
  14430. BSTR *EngineIdGuid) = 0;
  14431. virtual HRESULT STDMETHODCALLTYPE get_EnginePrivateData(
  14432. VARIANT *PrivateData) = 0;
  14433. virtual HRESULT STDMETHODCALLTYPE SaveToMemory(
  14434. VARIANT *PhraseBlock) = 0;
  14435. virtual HRESULT STDMETHODCALLTYPE GetText(
  14436. LONG StartElement,
  14437. LONG Elements,
  14438. VARIANT_BOOL UseReplacements,
  14439. BSTR *Text) = 0;
  14440. virtual HRESULT STDMETHODCALLTYPE GetDisplayAttributes(
  14441. LONG StartElement,
  14442. LONG Elements,
  14443. VARIANT_BOOL UseReplacements,
  14444. SpeechDisplayAttributes *DisplayAttributes) = 0;
  14445. };
  14446. #ifdef __CRT_UUID_DECL
  14447. __CRT_UUID_DECL(ISpeechPhraseInfo, 0x961559cf, 0x4e67, 0x4662, 0x8b,0xf0, 0xd9,0x3f,0x1f,0xcd,0x61,0xb3)
  14448. #endif
  14449. #else
  14450. typedef struct ISpeechPhraseInfoVtbl {
  14451. BEGIN_INTERFACE
  14452. /*** IUnknown methods ***/
  14453. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  14454. ISpeechPhraseInfo *This,
  14455. REFIID riid,
  14456. void **ppvObject);
  14457. ULONG (STDMETHODCALLTYPE *AddRef)(
  14458. ISpeechPhraseInfo *This);
  14459. ULONG (STDMETHODCALLTYPE *Release)(
  14460. ISpeechPhraseInfo *This);
  14461. /*** IDispatch methods ***/
  14462. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  14463. ISpeechPhraseInfo *This,
  14464. UINT *pctinfo);
  14465. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  14466. ISpeechPhraseInfo *This,
  14467. UINT iTInfo,
  14468. LCID lcid,
  14469. ITypeInfo **ppTInfo);
  14470. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  14471. ISpeechPhraseInfo *This,
  14472. REFIID riid,
  14473. LPOLESTR *rgszNames,
  14474. UINT cNames,
  14475. LCID lcid,
  14476. DISPID *rgDispId);
  14477. HRESULT (STDMETHODCALLTYPE *Invoke)(
  14478. ISpeechPhraseInfo *This,
  14479. DISPID dispIdMember,
  14480. REFIID riid,
  14481. LCID lcid,
  14482. WORD wFlags,
  14483. DISPPARAMS *pDispParams,
  14484. VARIANT *pVarResult,
  14485. EXCEPINFO *pExcepInfo,
  14486. UINT *puArgErr);
  14487. /*** ISpeechPhraseInfo methods ***/
  14488. HRESULT (STDMETHODCALLTYPE *get_LanguageId)(
  14489. ISpeechPhraseInfo *This,
  14490. LONG *LanguageId);
  14491. HRESULT (STDMETHODCALLTYPE *get_GrammarId)(
  14492. ISpeechPhraseInfo *This,
  14493. VARIANT *GrammarId);
  14494. HRESULT (STDMETHODCALLTYPE *get_StartTime)(
  14495. ISpeechPhraseInfo *This,
  14496. VARIANT *StartTime);
  14497. HRESULT (STDMETHODCALLTYPE *get_AudioStreamPosition)(
  14498. ISpeechPhraseInfo *This,
  14499. VARIANT *AudioStreamPosition);
  14500. HRESULT (STDMETHODCALLTYPE *get_AudioSizeBytes)(
  14501. ISpeechPhraseInfo *This,
  14502. LONG *pAudioSizeBytes);
  14503. HRESULT (STDMETHODCALLTYPE *get_RetainedSizeBytes)(
  14504. ISpeechPhraseInfo *This,
  14505. LONG *RetainedSizeBytes);
  14506. HRESULT (STDMETHODCALLTYPE *get_AudioSizeTime)(
  14507. ISpeechPhraseInfo *This,
  14508. LONG *AudioSizeTime);
  14509. HRESULT (STDMETHODCALLTYPE *get_Rule)(
  14510. ISpeechPhraseInfo *This,
  14511. ISpeechPhraseRule **Rule);
  14512. HRESULT (STDMETHODCALLTYPE *get_Properties)(
  14513. ISpeechPhraseInfo *This,
  14514. ISpeechPhraseProperties **Properties);
  14515. HRESULT (STDMETHODCALLTYPE *get_Elements)(
  14516. ISpeechPhraseInfo *This,
  14517. ISpeechPhraseElements **Elements);
  14518. HRESULT (STDMETHODCALLTYPE *get_Replacements)(
  14519. ISpeechPhraseInfo *This,
  14520. ISpeechPhraseReplacements **Replacements);
  14521. HRESULT (STDMETHODCALLTYPE *get_EngineId)(
  14522. ISpeechPhraseInfo *This,
  14523. BSTR *EngineIdGuid);
  14524. HRESULT (STDMETHODCALLTYPE *get_EnginePrivateData)(
  14525. ISpeechPhraseInfo *This,
  14526. VARIANT *PrivateData);
  14527. HRESULT (STDMETHODCALLTYPE *SaveToMemory)(
  14528. ISpeechPhraseInfo *This,
  14529. VARIANT *PhraseBlock);
  14530. HRESULT (STDMETHODCALLTYPE *GetText)(
  14531. ISpeechPhraseInfo *This,
  14532. LONG StartElement,
  14533. LONG Elements,
  14534. VARIANT_BOOL UseReplacements,
  14535. BSTR *Text);
  14536. HRESULT (STDMETHODCALLTYPE *GetDisplayAttributes)(
  14537. ISpeechPhraseInfo *This,
  14538. LONG StartElement,
  14539. LONG Elements,
  14540. VARIANT_BOOL UseReplacements,
  14541. SpeechDisplayAttributes *DisplayAttributes);
  14542. END_INTERFACE
  14543. } ISpeechPhraseInfoVtbl;
  14544. interface ISpeechPhraseInfo {
  14545. CONST_VTBL ISpeechPhraseInfoVtbl* lpVtbl;
  14546. };
  14547. #ifdef COBJMACROS
  14548. #ifndef WIDL_C_INLINE_WRAPPERS
  14549. /*** IUnknown methods ***/
  14550. #define ISpeechPhraseInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  14551. #define ISpeechPhraseInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
  14552. #define ISpeechPhraseInfo_Release(This) (This)->lpVtbl->Release(This)
  14553. /*** IDispatch methods ***/
  14554. #define ISpeechPhraseInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  14555. #define ISpeechPhraseInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  14556. #define ISpeechPhraseInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  14557. #define ISpeechPhraseInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  14558. /*** ISpeechPhraseInfo methods ***/
  14559. #define ISpeechPhraseInfo_get_LanguageId(This,LanguageId) (This)->lpVtbl->get_LanguageId(This,LanguageId)
  14560. #define ISpeechPhraseInfo_get_GrammarId(This,GrammarId) (This)->lpVtbl->get_GrammarId(This,GrammarId)
  14561. #define ISpeechPhraseInfo_get_StartTime(This,StartTime) (This)->lpVtbl->get_StartTime(This,StartTime)
  14562. #define ISpeechPhraseInfo_get_AudioStreamPosition(This,AudioStreamPosition) (This)->lpVtbl->get_AudioStreamPosition(This,AudioStreamPosition)
  14563. #define ISpeechPhraseInfo_get_AudioSizeBytes(This,pAudioSizeBytes) (This)->lpVtbl->get_AudioSizeBytes(This,pAudioSizeBytes)
  14564. #define ISpeechPhraseInfo_get_RetainedSizeBytes(This,RetainedSizeBytes) (This)->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes)
  14565. #define ISpeechPhraseInfo_get_AudioSizeTime(This,AudioSizeTime) (This)->lpVtbl->get_AudioSizeTime(This,AudioSizeTime)
  14566. #define ISpeechPhraseInfo_get_Rule(This,Rule) (This)->lpVtbl->get_Rule(This,Rule)
  14567. #define ISpeechPhraseInfo_get_Properties(This,Properties) (This)->lpVtbl->get_Properties(This,Properties)
  14568. #define ISpeechPhraseInfo_get_Elements(This,Elements) (This)->lpVtbl->get_Elements(This,Elements)
  14569. #define ISpeechPhraseInfo_get_Replacements(This,Replacements) (This)->lpVtbl->get_Replacements(This,Replacements)
  14570. #define ISpeechPhraseInfo_get_EngineId(This,EngineIdGuid) (This)->lpVtbl->get_EngineId(This,EngineIdGuid)
  14571. #define ISpeechPhraseInfo_get_EnginePrivateData(This,PrivateData) (This)->lpVtbl->get_EnginePrivateData(This,PrivateData)
  14572. #define ISpeechPhraseInfo_SaveToMemory(This,PhraseBlock) (This)->lpVtbl->SaveToMemory(This,PhraseBlock)
  14573. #define ISpeechPhraseInfo_GetText(This,StartElement,Elements,UseReplacements,Text) (This)->lpVtbl->GetText(This,StartElement,Elements,UseReplacements,Text)
  14574. #define ISpeechPhraseInfo_GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes) (This)->lpVtbl->GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes)
  14575. #else
  14576. /*** IUnknown methods ***/
  14577. static FORCEINLINE HRESULT ISpeechPhraseInfo_QueryInterface(ISpeechPhraseInfo* This,REFIID riid,void **ppvObject) {
  14578. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  14579. }
  14580. static FORCEINLINE ULONG ISpeechPhraseInfo_AddRef(ISpeechPhraseInfo* This) {
  14581. return This->lpVtbl->AddRef(This);
  14582. }
  14583. static FORCEINLINE ULONG ISpeechPhraseInfo_Release(ISpeechPhraseInfo* This) {
  14584. return This->lpVtbl->Release(This);
  14585. }
  14586. /*** IDispatch methods ***/
  14587. static FORCEINLINE HRESULT ISpeechPhraseInfo_GetTypeInfoCount(ISpeechPhraseInfo* This,UINT *pctinfo) {
  14588. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  14589. }
  14590. static FORCEINLINE HRESULT ISpeechPhraseInfo_GetTypeInfo(ISpeechPhraseInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  14591. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  14592. }
  14593. static FORCEINLINE HRESULT ISpeechPhraseInfo_GetIDsOfNames(ISpeechPhraseInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  14594. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  14595. }
  14596. static FORCEINLINE HRESULT ISpeechPhraseInfo_Invoke(ISpeechPhraseInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  14597. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  14598. }
  14599. /*** ISpeechPhraseInfo methods ***/
  14600. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_LanguageId(ISpeechPhraseInfo* This,LONG *LanguageId) {
  14601. return This->lpVtbl->get_LanguageId(This,LanguageId);
  14602. }
  14603. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_GrammarId(ISpeechPhraseInfo* This,VARIANT *GrammarId) {
  14604. return This->lpVtbl->get_GrammarId(This,GrammarId);
  14605. }
  14606. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_StartTime(ISpeechPhraseInfo* This,VARIANT *StartTime) {
  14607. return This->lpVtbl->get_StartTime(This,StartTime);
  14608. }
  14609. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_AudioStreamPosition(ISpeechPhraseInfo* This,VARIANT *AudioStreamPosition) {
  14610. return This->lpVtbl->get_AudioStreamPosition(This,AudioStreamPosition);
  14611. }
  14612. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_AudioSizeBytes(ISpeechPhraseInfo* This,LONG *pAudioSizeBytes) {
  14613. return This->lpVtbl->get_AudioSizeBytes(This,pAudioSizeBytes);
  14614. }
  14615. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_RetainedSizeBytes(ISpeechPhraseInfo* This,LONG *RetainedSizeBytes) {
  14616. return This->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes);
  14617. }
  14618. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_AudioSizeTime(ISpeechPhraseInfo* This,LONG *AudioSizeTime) {
  14619. return This->lpVtbl->get_AudioSizeTime(This,AudioSizeTime);
  14620. }
  14621. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Rule(ISpeechPhraseInfo* This,ISpeechPhraseRule **Rule) {
  14622. return This->lpVtbl->get_Rule(This,Rule);
  14623. }
  14624. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Properties(ISpeechPhraseInfo* This,ISpeechPhraseProperties **Properties) {
  14625. return This->lpVtbl->get_Properties(This,Properties);
  14626. }
  14627. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Elements(ISpeechPhraseInfo* This,ISpeechPhraseElements **Elements) {
  14628. return This->lpVtbl->get_Elements(This,Elements);
  14629. }
  14630. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Replacements(ISpeechPhraseInfo* This,ISpeechPhraseReplacements **Replacements) {
  14631. return This->lpVtbl->get_Replacements(This,Replacements);
  14632. }
  14633. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_EngineId(ISpeechPhraseInfo* This,BSTR *EngineIdGuid) {
  14634. return This->lpVtbl->get_EngineId(This,EngineIdGuid);
  14635. }
  14636. static FORCEINLINE HRESULT ISpeechPhraseInfo_get_EnginePrivateData(ISpeechPhraseInfo* This,VARIANT *PrivateData) {
  14637. return This->lpVtbl->get_EnginePrivateData(This,PrivateData);
  14638. }
  14639. static FORCEINLINE HRESULT ISpeechPhraseInfo_SaveToMemory(ISpeechPhraseInfo* This,VARIANT *PhraseBlock) {
  14640. return This->lpVtbl->SaveToMemory(This,PhraseBlock);
  14641. }
  14642. static FORCEINLINE HRESULT ISpeechPhraseInfo_GetText(ISpeechPhraseInfo* This,LONG StartElement,LONG Elements,VARIANT_BOOL UseReplacements,BSTR *Text) {
  14643. return This->lpVtbl->GetText(This,StartElement,Elements,UseReplacements,Text);
  14644. }
  14645. static FORCEINLINE HRESULT ISpeechPhraseInfo_GetDisplayAttributes(ISpeechPhraseInfo* This,LONG StartElement,LONG Elements,VARIANT_BOOL UseReplacements,SpeechDisplayAttributes *DisplayAttributes) {
  14646. return This->lpVtbl->GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes);
  14647. }
  14648. #endif
  14649. #endif
  14650. #endif
  14651. #endif /* __ISpeechPhraseInfo_INTERFACE_DEFINED__ */
  14652. /*****************************************************************************
  14653. * ISpeechPhraseElement interface
  14654. */
  14655. #ifndef __ISpeechPhraseElement_INTERFACE_DEFINED__
  14656. #define __ISpeechPhraseElement_INTERFACE_DEFINED__
  14657. DEFINE_GUID(IID_ISpeechPhraseElement, 0xe6176f96, 0xe373, 0x4801, 0xb2,0x23, 0x3b,0x62,0xc0,0x68,0xc0,0xb4);
  14658. #if defined(__cplusplus) && !defined(CINTERFACE)
  14659. MIDL_INTERFACE("e6176f96-e373-4801-b223-3b62c068c0b4")
  14660. ISpeechPhraseElement : public IDispatch
  14661. {
  14662. virtual HRESULT STDMETHODCALLTYPE get_AudioTimeOffset(
  14663. LONG *AudioTimeOffset) = 0;
  14664. virtual HRESULT STDMETHODCALLTYPE get_AudioSizeTime(
  14665. LONG *AudioSizeTime) = 0;
  14666. virtual HRESULT STDMETHODCALLTYPE get_AudioStreamOffset(
  14667. LONG *AudioStreamOffset) = 0;
  14668. virtual HRESULT STDMETHODCALLTYPE get_AudioSizeBytes(
  14669. LONG *AudioSizeBytes) = 0;
  14670. virtual HRESULT STDMETHODCALLTYPE get_RetainedStreamOffset(
  14671. LONG *RetainedStreamOffset) = 0;
  14672. virtual HRESULT STDMETHODCALLTYPE get_RetainedSizeBytes(
  14673. LONG *RetainedSizeBytes) = 0;
  14674. virtual HRESULT STDMETHODCALLTYPE get_DisplayText(
  14675. BSTR *DisplayText) = 0;
  14676. virtual HRESULT STDMETHODCALLTYPE get_LexicalForm(
  14677. BSTR *LexicalForm) = 0;
  14678. virtual HRESULT STDMETHODCALLTYPE get_Pronunciation(
  14679. VARIANT *Pronunciation) = 0;
  14680. virtual HRESULT STDMETHODCALLTYPE get_DisplayAttributes(
  14681. SpeechDisplayAttributes *DisplayAttributes) = 0;
  14682. virtual HRESULT STDMETHODCALLTYPE get_RequiredConfidence(
  14683. SpeechEngineConfidence *RequiredConfidence) = 0;
  14684. virtual HRESULT STDMETHODCALLTYPE get_ActualConfidence(
  14685. SpeechEngineConfidence *ActualConfidence) = 0;
  14686. virtual HRESULT STDMETHODCALLTYPE get_EngineConfidence(
  14687. float *EngineConfidence) = 0;
  14688. };
  14689. #ifdef __CRT_UUID_DECL
  14690. __CRT_UUID_DECL(ISpeechPhraseElement, 0xe6176f96, 0xe373, 0x4801, 0xb2,0x23, 0x3b,0x62,0xc0,0x68,0xc0,0xb4)
  14691. #endif
  14692. #else
  14693. typedef struct ISpeechPhraseElementVtbl {
  14694. BEGIN_INTERFACE
  14695. /*** IUnknown methods ***/
  14696. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  14697. ISpeechPhraseElement *This,
  14698. REFIID riid,
  14699. void **ppvObject);
  14700. ULONG (STDMETHODCALLTYPE *AddRef)(
  14701. ISpeechPhraseElement *This);
  14702. ULONG (STDMETHODCALLTYPE *Release)(
  14703. ISpeechPhraseElement *This);
  14704. /*** IDispatch methods ***/
  14705. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  14706. ISpeechPhraseElement *This,
  14707. UINT *pctinfo);
  14708. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  14709. ISpeechPhraseElement *This,
  14710. UINT iTInfo,
  14711. LCID lcid,
  14712. ITypeInfo **ppTInfo);
  14713. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  14714. ISpeechPhraseElement *This,
  14715. REFIID riid,
  14716. LPOLESTR *rgszNames,
  14717. UINT cNames,
  14718. LCID lcid,
  14719. DISPID *rgDispId);
  14720. HRESULT (STDMETHODCALLTYPE *Invoke)(
  14721. ISpeechPhraseElement *This,
  14722. DISPID dispIdMember,
  14723. REFIID riid,
  14724. LCID lcid,
  14725. WORD wFlags,
  14726. DISPPARAMS *pDispParams,
  14727. VARIANT *pVarResult,
  14728. EXCEPINFO *pExcepInfo,
  14729. UINT *puArgErr);
  14730. /*** ISpeechPhraseElement methods ***/
  14731. HRESULT (STDMETHODCALLTYPE *get_AudioTimeOffset)(
  14732. ISpeechPhraseElement *This,
  14733. LONG *AudioTimeOffset);
  14734. HRESULT (STDMETHODCALLTYPE *get_AudioSizeTime)(
  14735. ISpeechPhraseElement *This,
  14736. LONG *AudioSizeTime);
  14737. HRESULT (STDMETHODCALLTYPE *get_AudioStreamOffset)(
  14738. ISpeechPhraseElement *This,
  14739. LONG *AudioStreamOffset);
  14740. HRESULT (STDMETHODCALLTYPE *get_AudioSizeBytes)(
  14741. ISpeechPhraseElement *This,
  14742. LONG *AudioSizeBytes);
  14743. HRESULT (STDMETHODCALLTYPE *get_RetainedStreamOffset)(
  14744. ISpeechPhraseElement *This,
  14745. LONG *RetainedStreamOffset);
  14746. HRESULT (STDMETHODCALLTYPE *get_RetainedSizeBytes)(
  14747. ISpeechPhraseElement *This,
  14748. LONG *RetainedSizeBytes);
  14749. HRESULT (STDMETHODCALLTYPE *get_DisplayText)(
  14750. ISpeechPhraseElement *This,
  14751. BSTR *DisplayText);
  14752. HRESULT (STDMETHODCALLTYPE *get_LexicalForm)(
  14753. ISpeechPhraseElement *This,
  14754. BSTR *LexicalForm);
  14755. HRESULT (STDMETHODCALLTYPE *get_Pronunciation)(
  14756. ISpeechPhraseElement *This,
  14757. VARIANT *Pronunciation);
  14758. HRESULT (STDMETHODCALLTYPE *get_DisplayAttributes)(
  14759. ISpeechPhraseElement *This,
  14760. SpeechDisplayAttributes *DisplayAttributes);
  14761. HRESULT (STDMETHODCALLTYPE *get_RequiredConfidence)(
  14762. ISpeechPhraseElement *This,
  14763. SpeechEngineConfidence *RequiredConfidence);
  14764. HRESULT (STDMETHODCALLTYPE *get_ActualConfidence)(
  14765. ISpeechPhraseElement *This,
  14766. SpeechEngineConfidence *ActualConfidence);
  14767. HRESULT (STDMETHODCALLTYPE *get_EngineConfidence)(
  14768. ISpeechPhraseElement *This,
  14769. float *EngineConfidence);
  14770. END_INTERFACE
  14771. } ISpeechPhraseElementVtbl;
  14772. interface ISpeechPhraseElement {
  14773. CONST_VTBL ISpeechPhraseElementVtbl* lpVtbl;
  14774. };
  14775. #ifdef COBJMACROS
  14776. #ifndef WIDL_C_INLINE_WRAPPERS
  14777. /*** IUnknown methods ***/
  14778. #define ISpeechPhraseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  14779. #define ISpeechPhraseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
  14780. #define ISpeechPhraseElement_Release(This) (This)->lpVtbl->Release(This)
  14781. /*** IDispatch methods ***/
  14782. #define ISpeechPhraseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  14783. #define ISpeechPhraseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  14784. #define ISpeechPhraseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  14785. #define ISpeechPhraseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  14786. /*** ISpeechPhraseElement methods ***/
  14787. #define ISpeechPhraseElement_get_AudioTimeOffset(This,AudioTimeOffset) (This)->lpVtbl->get_AudioTimeOffset(This,AudioTimeOffset)
  14788. #define ISpeechPhraseElement_get_AudioSizeTime(This,AudioSizeTime) (This)->lpVtbl->get_AudioSizeTime(This,AudioSizeTime)
  14789. #define ISpeechPhraseElement_get_AudioStreamOffset(This,AudioStreamOffset) (This)->lpVtbl->get_AudioStreamOffset(This,AudioStreamOffset)
  14790. #define ISpeechPhraseElement_get_AudioSizeBytes(This,AudioSizeBytes) (This)->lpVtbl->get_AudioSizeBytes(This,AudioSizeBytes)
  14791. #define ISpeechPhraseElement_get_RetainedStreamOffset(This,RetainedStreamOffset) (This)->lpVtbl->get_RetainedStreamOffset(This,RetainedStreamOffset)
  14792. #define ISpeechPhraseElement_get_RetainedSizeBytes(This,RetainedSizeBytes) (This)->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes)
  14793. #define ISpeechPhraseElement_get_DisplayText(This,DisplayText) (This)->lpVtbl->get_DisplayText(This,DisplayText)
  14794. #define ISpeechPhraseElement_get_LexicalForm(This,LexicalForm) (This)->lpVtbl->get_LexicalForm(This,LexicalForm)
  14795. #define ISpeechPhraseElement_get_Pronunciation(This,Pronunciation) (This)->lpVtbl->get_Pronunciation(This,Pronunciation)
  14796. #define ISpeechPhraseElement_get_DisplayAttributes(This,DisplayAttributes) (This)->lpVtbl->get_DisplayAttributes(This,DisplayAttributes)
  14797. #define ISpeechPhraseElement_get_RequiredConfidence(This,RequiredConfidence) (This)->lpVtbl->get_RequiredConfidence(This,RequiredConfidence)
  14798. #define ISpeechPhraseElement_get_ActualConfidence(This,ActualConfidence) (This)->lpVtbl->get_ActualConfidence(This,ActualConfidence)
  14799. #define ISpeechPhraseElement_get_EngineConfidence(This,EngineConfidence) (This)->lpVtbl->get_EngineConfidence(This,EngineConfidence)
  14800. #else
  14801. /*** IUnknown methods ***/
  14802. static FORCEINLINE HRESULT ISpeechPhraseElement_QueryInterface(ISpeechPhraseElement* This,REFIID riid,void **ppvObject) {
  14803. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  14804. }
  14805. static FORCEINLINE ULONG ISpeechPhraseElement_AddRef(ISpeechPhraseElement* This) {
  14806. return This->lpVtbl->AddRef(This);
  14807. }
  14808. static FORCEINLINE ULONG ISpeechPhraseElement_Release(ISpeechPhraseElement* This) {
  14809. return This->lpVtbl->Release(This);
  14810. }
  14811. /*** IDispatch methods ***/
  14812. static FORCEINLINE HRESULT ISpeechPhraseElement_GetTypeInfoCount(ISpeechPhraseElement* This,UINT *pctinfo) {
  14813. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  14814. }
  14815. static FORCEINLINE HRESULT ISpeechPhraseElement_GetTypeInfo(ISpeechPhraseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  14816. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  14817. }
  14818. static FORCEINLINE HRESULT ISpeechPhraseElement_GetIDsOfNames(ISpeechPhraseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  14819. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  14820. }
  14821. static FORCEINLINE HRESULT ISpeechPhraseElement_Invoke(ISpeechPhraseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  14822. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  14823. }
  14824. /*** ISpeechPhraseElement methods ***/
  14825. static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioTimeOffset(ISpeechPhraseElement* This,LONG *AudioTimeOffset) {
  14826. return This->lpVtbl->get_AudioTimeOffset(This,AudioTimeOffset);
  14827. }
  14828. static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioSizeTime(ISpeechPhraseElement* This,LONG *AudioSizeTime) {
  14829. return This->lpVtbl->get_AudioSizeTime(This,AudioSizeTime);
  14830. }
  14831. static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioStreamOffset(ISpeechPhraseElement* This,LONG *AudioStreamOffset) {
  14832. return This->lpVtbl->get_AudioStreamOffset(This,AudioStreamOffset);
  14833. }
  14834. static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioSizeBytes(ISpeechPhraseElement* This,LONG *AudioSizeBytes) {
  14835. return This->lpVtbl->get_AudioSizeBytes(This,AudioSizeBytes);
  14836. }
  14837. static FORCEINLINE HRESULT ISpeechPhraseElement_get_RetainedStreamOffset(ISpeechPhraseElement* This,LONG *RetainedStreamOffset) {
  14838. return This->lpVtbl->get_RetainedStreamOffset(This,RetainedStreamOffset);
  14839. }
  14840. static FORCEINLINE HRESULT ISpeechPhraseElement_get_RetainedSizeBytes(ISpeechPhraseElement* This,LONG *RetainedSizeBytes) {
  14841. return This->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes);
  14842. }
  14843. static FORCEINLINE HRESULT ISpeechPhraseElement_get_DisplayText(ISpeechPhraseElement* This,BSTR *DisplayText) {
  14844. return This->lpVtbl->get_DisplayText(This,DisplayText);
  14845. }
  14846. static FORCEINLINE HRESULT ISpeechPhraseElement_get_LexicalForm(ISpeechPhraseElement* This,BSTR *LexicalForm) {
  14847. return This->lpVtbl->get_LexicalForm(This,LexicalForm);
  14848. }
  14849. static FORCEINLINE HRESULT ISpeechPhraseElement_get_Pronunciation(ISpeechPhraseElement* This,VARIANT *Pronunciation) {
  14850. return This->lpVtbl->get_Pronunciation(This,Pronunciation);
  14851. }
  14852. static FORCEINLINE HRESULT ISpeechPhraseElement_get_DisplayAttributes(ISpeechPhraseElement* This,SpeechDisplayAttributes *DisplayAttributes) {
  14853. return This->lpVtbl->get_DisplayAttributes(This,DisplayAttributes);
  14854. }
  14855. static FORCEINLINE HRESULT ISpeechPhraseElement_get_RequiredConfidence(ISpeechPhraseElement* This,SpeechEngineConfidence *RequiredConfidence) {
  14856. return This->lpVtbl->get_RequiredConfidence(This,RequiredConfidence);
  14857. }
  14858. static FORCEINLINE HRESULT ISpeechPhraseElement_get_ActualConfidence(ISpeechPhraseElement* This,SpeechEngineConfidence *ActualConfidence) {
  14859. return This->lpVtbl->get_ActualConfidence(This,ActualConfidence);
  14860. }
  14861. static FORCEINLINE HRESULT ISpeechPhraseElement_get_EngineConfidence(ISpeechPhraseElement* This,float *EngineConfidence) {
  14862. return This->lpVtbl->get_EngineConfidence(This,EngineConfidence);
  14863. }
  14864. #endif
  14865. #endif
  14866. #endif
  14867. #endif /* __ISpeechPhraseElement_INTERFACE_DEFINED__ */
  14868. /*****************************************************************************
  14869. * ISpeechPhraseElements interface
  14870. */
  14871. #ifndef __ISpeechPhraseElements_INTERFACE_DEFINED__
  14872. #define __ISpeechPhraseElements_INTERFACE_DEFINED__
  14873. DEFINE_GUID(IID_ISpeechPhraseElements, 0x0626b328, 0x3478, 0x467d, 0xa0,0xb3, 0xd0,0x85,0x3b,0x93,0xdd,0xa3);
  14874. #if defined(__cplusplus) && !defined(CINTERFACE)
  14875. MIDL_INTERFACE("0626b328-3478-467d-a0b3-d0853b93dda3")
  14876. ISpeechPhraseElements : public IDispatch
  14877. {
  14878. virtual HRESULT STDMETHODCALLTYPE get_Count(
  14879. LONG *Count) = 0;
  14880. virtual HRESULT STDMETHODCALLTYPE Item(
  14881. LONG Index,
  14882. ISpeechPhraseElement **Element) = 0;
  14883. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  14884. IUnknown **EnumVARIANT) = 0;
  14885. };
  14886. #ifdef __CRT_UUID_DECL
  14887. __CRT_UUID_DECL(ISpeechPhraseElements, 0x0626b328, 0x3478, 0x467d, 0xa0,0xb3, 0xd0,0x85,0x3b,0x93,0xdd,0xa3)
  14888. #endif
  14889. #else
  14890. typedef struct ISpeechPhraseElementsVtbl {
  14891. BEGIN_INTERFACE
  14892. /*** IUnknown methods ***/
  14893. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  14894. ISpeechPhraseElements *This,
  14895. REFIID riid,
  14896. void **ppvObject);
  14897. ULONG (STDMETHODCALLTYPE *AddRef)(
  14898. ISpeechPhraseElements *This);
  14899. ULONG (STDMETHODCALLTYPE *Release)(
  14900. ISpeechPhraseElements *This);
  14901. /*** IDispatch methods ***/
  14902. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  14903. ISpeechPhraseElements *This,
  14904. UINT *pctinfo);
  14905. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  14906. ISpeechPhraseElements *This,
  14907. UINT iTInfo,
  14908. LCID lcid,
  14909. ITypeInfo **ppTInfo);
  14910. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  14911. ISpeechPhraseElements *This,
  14912. REFIID riid,
  14913. LPOLESTR *rgszNames,
  14914. UINT cNames,
  14915. LCID lcid,
  14916. DISPID *rgDispId);
  14917. HRESULT (STDMETHODCALLTYPE *Invoke)(
  14918. ISpeechPhraseElements *This,
  14919. DISPID dispIdMember,
  14920. REFIID riid,
  14921. LCID lcid,
  14922. WORD wFlags,
  14923. DISPPARAMS *pDispParams,
  14924. VARIANT *pVarResult,
  14925. EXCEPINFO *pExcepInfo,
  14926. UINT *puArgErr);
  14927. /*** ISpeechPhraseElements methods ***/
  14928. HRESULT (STDMETHODCALLTYPE *get_Count)(
  14929. ISpeechPhraseElements *This,
  14930. LONG *Count);
  14931. HRESULT (STDMETHODCALLTYPE *Item)(
  14932. ISpeechPhraseElements *This,
  14933. LONG Index,
  14934. ISpeechPhraseElement **Element);
  14935. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  14936. ISpeechPhraseElements *This,
  14937. IUnknown **EnumVARIANT);
  14938. END_INTERFACE
  14939. } ISpeechPhraseElementsVtbl;
  14940. interface ISpeechPhraseElements {
  14941. CONST_VTBL ISpeechPhraseElementsVtbl* lpVtbl;
  14942. };
  14943. #ifdef COBJMACROS
  14944. #ifndef WIDL_C_INLINE_WRAPPERS
  14945. /*** IUnknown methods ***/
  14946. #define ISpeechPhraseElements_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  14947. #define ISpeechPhraseElements_AddRef(This) (This)->lpVtbl->AddRef(This)
  14948. #define ISpeechPhraseElements_Release(This) (This)->lpVtbl->Release(This)
  14949. /*** IDispatch methods ***/
  14950. #define ISpeechPhraseElements_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  14951. #define ISpeechPhraseElements_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  14952. #define ISpeechPhraseElements_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  14953. #define ISpeechPhraseElements_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  14954. /*** ISpeechPhraseElements methods ***/
  14955. #define ISpeechPhraseElements_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  14956. #define ISpeechPhraseElements_Item(This,Index,Element) (This)->lpVtbl->Item(This,Index,Element)
  14957. #define ISpeechPhraseElements_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
  14958. #else
  14959. /*** IUnknown methods ***/
  14960. static FORCEINLINE HRESULT ISpeechPhraseElements_QueryInterface(ISpeechPhraseElements* This,REFIID riid,void **ppvObject) {
  14961. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  14962. }
  14963. static FORCEINLINE ULONG ISpeechPhraseElements_AddRef(ISpeechPhraseElements* This) {
  14964. return This->lpVtbl->AddRef(This);
  14965. }
  14966. static FORCEINLINE ULONG ISpeechPhraseElements_Release(ISpeechPhraseElements* This) {
  14967. return This->lpVtbl->Release(This);
  14968. }
  14969. /*** IDispatch methods ***/
  14970. static FORCEINLINE HRESULT ISpeechPhraseElements_GetTypeInfoCount(ISpeechPhraseElements* This,UINT *pctinfo) {
  14971. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  14972. }
  14973. static FORCEINLINE HRESULT ISpeechPhraseElements_GetTypeInfo(ISpeechPhraseElements* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  14974. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  14975. }
  14976. static FORCEINLINE HRESULT ISpeechPhraseElements_GetIDsOfNames(ISpeechPhraseElements* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  14977. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  14978. }
  14979. static FORCEINLINE HRESULT ISpeechPhraseElements_Invoke(ISpeechPhraseElements* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  14980. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  14981. }
  14982. /*** ISpeechPhraseElements methods ***/
  14983. static FORCEINLINE HRESULT ISpeechPhraseElements_get_Count(ISpeechPhraseElements* This,LONG *Count) {
  14984. return This->lpVtbl->get_Count(This,Count);
  14985. }
  14986. static FORCEINLINE HRESULT ISpeechPhraseElements_Item(ISpeechPhraseElements* This,LONG Index,ISpeechPhraseElement **Element) {
  14987. return This->lpVtbl->Item(This,Index,Element);
  14988. }
  14989. static FORCEINLINE HRESULT ISpeechPhraseElements_get__NewEnum(ISpeechPhraseElements* This,IUnknown **EnumVARIANT) {
  14990. return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
  14991. }
  14992. #endif
  14993. #endif
  14994. #endif
  14995. #endif /* __ISpeechPhraseElements_INTERFACE_DEFINED__ */
  14996. /*****************************************************************************
  14997. * ISpeechPhraseReplacement interface
  14998. */
  14999. #ifndef __ISpeechPhraseReplacement_INTERFACE_DEFINED__
  15000. #define __ISpeechPhraseReplacement_INTERFACE_DEFINED__
  15001. DEFINE_GUID(IID_ISpeechPhraseReplacement, 0x2890a410, 0x53a7, 0x4fb5, 0x94,0xec, 0x06,0xd4,0x99,0x8e,0x3d,0x02);
  15002. #if defined(__cplusplus) && !defined(CINTERFACE)
  15003. MIDL_INTERFACE("2890a410-53a7-4fb5-94ec-06d4998e3d02")
  15004. ISpeechPhraseReplacement : public IDispatch
  15005. {
  15006. virtual HRESULT STDMETHODCALLTYPE get_DisplayAttributes(
  15007. SpeechDisplayAttributes *DisplayAttributes) = 0;
  15008. virtual HRESULT STDMETHODCALLTYPE get_Text(
  15009. BSTR *Text) = 0;
  15010. virtual HRESULT STDMETHODCALLTYPE get_FirstElement(
  15011. LONG *FirstElement) = 0;
  15012. virtual HRESULT STDMETHODCALLTYPE get_NumberOfElements(
  15013. LONG *NumberOfElements) = 0;
  15014. };
  15015. #ifdef __CRT_UUID_DECL
  15016. __CRT_UUID_DECL(ISpeechPhraseReplacement, 0x2890a410, 0x53a7, 0x4fb5, 0x94,0xec, 0x06,0xd4,0x99,0x8e,0x3d,0x02)
  15017. #endif
  15018. #else
  15019. typedef struct ISpeechPhraseReplacementVtbl {
  15020. BEGIN_INTERFACE
  15021. /*** IUnknown methods ***/
  15022. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  15023. ISpeechPhraseReplacement *This,
  15024. REFIID riid,
  15025. void **ppvObject);
  15026. ULONG (STDMETHODCALLTYPE *AddRef)(
  15027. ISpeechPhraseReplacement *This);
  15028. ULONG (STDMETHODCALLTYPE *Release)(
  15029. ISpeechPhraseReplacement *This);
  15030. /*** IDispatch methods ***/
  15031. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  15032. ISpeechPhraseReplacement *This,
  15033. UINT *pctinfo);
  15034. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  15035. ISpeechPhraseReplacement *This,
  15036. UINT iTInfo,
  15037. LCID lcid,
  15038. ITypeInfo **ppTInfo);
  15039. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  15040. ISpeechPhraseReplacement *This,
  15041. REFIID riid,
  15042. LPOLESTR *rgszNames,
  15043. UINT cNames,
  15044. LCID lcid,
  15045. DISPID *rgDispId);
  15046. HRESULT (STDMETHODCALLTYPE *Invoke)(
  15047. ISpeechPhraseReplacement *This,
  15048. DISPID dispIdMember,
  15049. REFIID riid,
  15050. LCID lcid,
  15051. WORD wFlags,
  15052. DISPPARAMS *pDispParams,
  15053. VARIANT *pVarResult,
  15054. EXCEPINFO *pExcepInfo,
  15055. UINT *puArgErr);
  15056. /*** ISpeechPhraseReplacement methods ***/
  15057. HRESULT (STDMETHODCALLTYPE *get_DisplayAttributes)(
  15058. ISpeechPhraseReplacement *This,
  15059. SpeechDisplayAttributes *DisplayAttributes);
  15060. HRESULT (STDMETHODCALLTYPE *get_Text)(
  15061. ISpeechPhraseReplacement *This,
  15062. BSTR *Text);
  15063. HRESULT (STDMETHODCALLTYPE *get_FirstElement)(
  15064. ISpeechPhraseReplacement *This,
  15065. LONG *FirstElement);
  15066. HRESULT (STDMETHODCALLTYPE *get_NumberOfElements)(
  15067. ISpeechPhraseReplacement *This,
  15068. LONG *NumberOfElements);
  15069. END_INTERFACE
  15070. } ISpeechPhraseReplacementVtbl;
  15071. interface ISpeechPhraseReplacement {
  15072. CONST_VTBL ISpeechPhraseReplacementVtbl* lpVtbl;
  15073. };
  15074. #ifdef COBJMACROS
  15075. #ifndef WIDL_C_INLINE_WRAPPERS
  15076. /*** IUnknown methods ***/
  15077. #define ISpeechPhraseReplacement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  15078. #define ISpeechPhraseReplacement_AddRef(This) (This)->lpVtbl->AddRef(This)
  15079. #define ISpeechPhraseReplacement_Release(This) (This)->lpVtbl->Release(This)
  15080. /*** IDispatch methods ***/
  15081. #define ISpeechPhraseReplacement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  15082. #define ISpeechPhraseReplacement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  15083. #define ISpeechPhraseReplacement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  15084. #define ISpeechPhraseReplacement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  15085. /*** ISpeechPhraseReplacement methods ***/
  15086. #define ISpeechPhraseReplacement_get_DisplayAttributes(This,DisplayAttributes) (This)->lpVtbl->get_DisplayAttributes(This,DisplayAttributes)
  15087. #define ISpeechPhraseReplacement_get_Text(This,Text) (This)->lpVtbl->get_Text(This,Text)
  15088. #define ISpeechPhraseReplacement_get_FirstElement(This,FirstElement) (This)->lpVtbl->get_FirstElement(This,FirstElement)
  15089. #define ISpeechPhraseReplacement_get_NumberOfElements(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElements(This,NumberOfElements)
  15090. #else
  15091. /*** IUnknown methods ***/
  15092. static FORCEINLINE HRESULT ISpeechPhraseReplacement_QueryInterface(ISpeechPhraseReplacement* This,REFIID riid,void **ppvObject) {
  15093. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  15094. }
  15095. static FORCEINLINE ULONG ISpeechPhraseReplacement_AddRef(ISpeechPhraseReplacement* This) {
  15096. return This->lpVtbl->AddRef(This);
  15097. }
  15098. static FORCEINLINE ULONG ISpeechPhraseReplacement_Release(ISpeechPhraseReplacement* This) {
  15099. return This->lpVtbl->Release(This);
  15100. }
  15101. /*** IDispatch methods ***/
  15102. static FORCEINLINE HRESULT ISpeechPhraseReplacement_GetTypeInfoCount(ISpeechPhraseReplacement* This,UINT *pctinfo) {
  15103. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  15104. }
  15105. static FORCEINLINE HRESULT ISpeechPhraseReplacement_GetTypeInfo(ISpeechPhraseReplacement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  15106. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  15107. }
  15108. static FORCEINLINE HRESULT ISpeechPhraseReplacement_GetIDsOfNames(ISpeechPhraseReplacement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  15109. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  15110. }
  15111. static FORCEINLINE HRESULT ISpeechPhraseReplacement_Invoke(ISpeechPhraseReplacement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  15112. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  15113. }
  15114. /*** ISpeechPhraseReplacement methods ***/
  15115. static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_DisplayAttributes(ISpeechPhraseReplacement* This,SpeechDisplayAttributes *DisplayAttributes) {
  15116. return This->lpVtbl->get_DisplayAttributes(This,DisplayAttributes);
  15117. }
  15118. static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_Text(ISpeechPhraseReplacement* This,BSTR *Text) {
  15119. return This->lpVtbl->get_Text(This,Text);
  15120. }
  15121. static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_FirstElement(ISpeechPhraseReplacement* This,LONG *FirstElement) {
  15122. return This->lpVtbl->get_FirstElement(This,FirstElement);
  15123. }
  15124. static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_NumberOfElements(ISpeechPhraseReplacement* This,LONG *NumberOfElements) {
  15125. return This->lpVtbl->get_NumberOfElements(This,NumberOfElements);
  15126. }
  15127. #endif
  15128. #endif
  15129. #endif
  15130. #endif /* __ISpeechPhraseReplacement_INTERFACE_DEFINED__ */
  15131. /*****************************************************************************
  15132. * ISpeechPhraseReplacements interface
  15133. */
  15134. #ifndef __ISpeechPhraseReplacements_INTERFACE_DEFINED__
  15135. #define __ISpeechPhraseReplacements_INTERFACE_DEFINED__
  15136. DEFINE_GUID(IID_ISpeechPhraseReplacements, 0x38bc662f, 0x2257, 0x4525, 0x95,0x9e, 0x20,0x69,0xd2,0x59,0x6c,0x05);
  15137. #if defined(__cplusplus) && !defined(CINTERFACE)
  15138. MIDL_INTERFACE("38bc662f-2257-4525-959e-2069d2596c05")
  15139. ISpeechPhraseReplacements : public IDispatch
  15140. {
  15141. virtual HRESULT STDMETHODCALLTYPE get_Count(
  15142. LONG *Count) = 0;
  15143. virtual HRESULT STDMETHODCALLTYPE Item(
  15144. LONG Index,
  15145. ISpeechPhraseReplacement **Reps) = 0;
  15146. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  15147. IUnknown **EnumVARIANT) = 0;
  15148. };
  15149. #ifdef __CRT_UUID_DECL
  15150. __CRT_UUID_DECL(ISpeechPhraseReplacements, 0x38bc662f, 0x2257, 0x4525, 0x95,0x9e, 0x20,0x69,0xd2,0x59,0x6c,0x05)
  15151. #endif
  15152. #else
  15153. typedef struct ISpeechPhraseReplacementsVtbl {
  15154. BEGIN_INTERFACE
  15155. /*** IUnknown methods ***/
  15156. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  15157. ISpeechPhraseReplacements *This,
  15158. REFIID riid,
  15159. void **ppvObject);
  15160. ULONG (STDMETHODCALLTYPE *AddRef)(
  15161. ISpeechPhraseReplacements *This);
  15162. ULONG (STDMETHODCALLTYPE *Release)(
  15163. ISpeechPhraseReplacements *This);
  15164. /*** IDispatch methods ***/
  15165. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  15166. ISpeechPhraseReplacements *This,
  15167. UINT *pctinfo);
  15168. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  15169. ISpeechPhraseReplacements *This,
  15170. UINT iTInfo,
  15171. LCID lcid,
  15172. ITypeInfo **ppTInfo);
  15173. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  15174. ISpeechPhraseReplacements *This,
  15175. REFIID riid,
  15176. LPOLESTR *rgszNames,
  15177. UINT cNames,
  15178. LCID lcid,
  15179. DISPID *rgDispId);
  15180. HRESULT (STDMETHODCALLTYPE *Invoke)(
  15181. ISpeechPhraseReplacements *This,
  15182. DISPID dispIdMember,
  15183. REFIID riid,
  15184. LCID lcid,
  15185. WORD wFlags,
  15186. DISPPARAMS *pDispParams,
  15187. VARIANT *pVarResult,
  15188. EXCEPINFO *pExcepInfo,
  15189. UINT *puArgErr);
  15190. /*** ISpeechPhraseReplacements methods ***/
  15191. HRESULT (STDMETHODCALLTYPE *get_Count)(
  15192. ISpeechPhraseReplacements *This,
  15193. LONG *Count);
  15194. HRESULT (STDMETHODCALLTYPE *Item)(
  15195. ISpeechPhraseReplacements *This,
  15196. LONG Index,
  15197. ISpeechPhraseReplacement **Reps);
  15198. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  15199. ISpeechPhraseReplacements *This,
  15200. IUnknown **EnumVARIANT);
  15201. END_INTERFACE
  15202. } ISpeechPhraseReplacementsVtbl;
  15203. interface ISpeechPhraseReplacements {
  15204. CONST_VTBL ISpeechPhraseReplacementsVtbl* lpVtbl;
  15205. };
  15206. #ifdef COBJMACROS
  15207. #ifndef WIDL_C_INLINE_WRAPPERS
  15208. /*** IUnknown methods ***/
  15209. #define ISpeechPhraseReplacements_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  15210. #define ISpeechPhraseReplacements_AddRef(This) (This)->lpVtbl->AddRef(This)
  15211. #define ISpeechPhraseReplacements_Release(This) (This)->lpVtbl->Release(This)
  15212. /*** IDispatch methods ***/
  15213. #define ISpeechPhraseReplacements_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  15214. #define ISpeechPhraseReplacements_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  15215. #define ISpeechPhraseReplacements_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  15216. #define ISpeechPhraseReplacements_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  15217. /*** ISpeechPhraseReplacements methods ***/
  15218. #define ISpeechPhraseReplacements_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  15219. #define ISpeechPhraseReplacements_Item(This,Index,Reps) (This)->lpVtbl->Item(This,Index,Reps)
  15220. #define ISpeechPhraseReplacements_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
  15221. #else
  15222. /*** IUnknown methods ***/
  15223. static FORCEINLINE HRESULT ISpeechPhraseReplacements_QueryInterface(ISpeechPhraseReplacements* This,REFIID riid,void **ppvObject) {
  15224. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  15225. }
  15226. static FORCEINLINE ULONG ISpeechPhraseReplacements_AddRef(ISpeechPhraseReplacements* This) {
  15227. return This->lpVtbl->AddRef(This);
  15228. }
  15229. static FORCEINLINE ULONG ISpeechPhraseReplacements_Release(ISpeechPhraseReplacements* This) {
  15230. return This->lpVtbl->Release(This);
  15231. }
  15232. /*** IDispatch methods ***/
  15233. static FORCEINLINE HRESULT ISpeechPhraseReplacements_GetTypeInfoCount(ISpeechPhraseReplacements* This,UINT *pctinfo) {
  15234. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  15235. }
  15236. static FORCEINLINE HRESULT ISpeechPhraseReplacements_GetTypeInfo(ISpeechPhraseReplacements* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  15237. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  15238. }
  15239. static FORCEINLINE HRESULT ISpeechPhraseReplacements_GetIDsOfNames(ISpeechPhraseReplacements* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  15240. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  15241. }
  15242. static FORCEINLINE HRESULT ISpeechPhraseReplacements_Invoke(ISpeechPhraseReplacements* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  15243. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  15244. }
  15245. /*** ISpeechPhraseReplacements methods ***/
  15246. static FORCEINLINE HRESULT ISpeechPhraseReplacements_get_Count(ISpeechPhraseReplacements* This,LONG *Count) {
  15247. return This->lpVtbl->get_Count(This,Count);
  15248. }
  15249. static FORCEINLINE HRESULT ISpeechPhraseReplacements_Item(ISpeechPhraseReplacements* This,LONG Index,ISpeechPhraseReplacement **Reps) {
  15250. return This->lpVtbl->Item(This,Index,Reps);
  15251. }
  15252. static FORCEINLINE HRESULT ISpeechPhraseReplacements_get__NewEnum(ISpeechPhraseReplacements* This,IUnknown **EnumVARIANT) {
  15253. return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
  15254. }
  15255. #endif
  15256. #endif
  15257. #endif
  15258. #endif /* __ISpeechPhraseReplacements_INTERFACE_DEFINED__ */
  15259. /*****************************************************************************
  15260. * ISpeechPhraseProperty interface
  15261. */
  15262. #ifndef __ISpeechPhraseProperty_INTERFACE_DEFINED__
  15263. #define __ISpeechPhraseProperty_INTERFACE_DEFINED__
  15264. DEFINE_GUID(IID_ISpeechPhraseProperty, 0xce563d48, 0x961e, 0x4732, 0xa2,0xe1, 0x37,0x8a,0x42,0xb4,0x30,0xbe);
  15265. #if defined(__cplusplus) && !defined(CINTERFACE)
  15266. MIDL_INTERFACE("ce563d48-961e-4732-a2e1-378a42b430be")
  15267. ISpeechPhraseProperty : public IDispatch
  15268. {
  15269. virtual HRESULT STDMETHODCALLTYPE get_Name(
  15270. BSTR *Name) = 0;
  15271. virtual HRESULT STDMETHODCALLTYPE get_Id(
  15272. LONG *Id) = 0;
  15273. virtual HRESULT STDMETHODCALLTYPE get_Value(
  15274. VARIANT *Value) = 0;
  15275. virtual HRESULT STDMETHODCALLTYPE get_FirstElement(
  15276. LONG *FirstElement) = 0;
  15277. virtual HRESULT STDMETHODCALLTYPE get_NumberOfElements(
  15278. LONG *NumberOfElements) = 0;
  15279. virtual HRESULT STDMETHODCALLTYPE get_EngineConfidence(
  15280. float *Confidence) = 0;
  15281. virtual HRESULT STDMETHODCALLTYPE get_Confidence(
  15282. SpeechEngineConfidence *Confidence) = 0;
  15283. virtual HRESULT STDMETHODCALLTYPE get_Parent(
  15284. ISpeechPhraseProperty **ParentProperty) = 0;
  15285. virtual HRESULT STDMETHODCALLTYPE get_Children(
  15286. ISpeechPhraseProperties **Children) = 0;
  15287. };
  15288. #ifdef __CRT_UUID_DECL
  15289. __CRT_UUID_DECL(ISpeechPhraseProperty, 0xce563d48, 0x961e, 0x4732, 0xa2,0xe1, 0x37,0x8a,0x42,0xb4,0x30,0xbe)
  15290. #endif
  15291. #else
  15292. typedef struct ISpeechPhrasePropertyVtbl {
  15293. BEGIN_INTERFACE
  15294. /*** IUnknown methods ***/
  15295. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  15296. ISpeechPhraseProperty *This,
  15297. REFIID riid,
  15298. void **ppvObject);
  15299. ULONG (STDMETHODCALLTYPE *AddRef)(
  15300. ISpeechPhraseProperty *This);
  15301. ULONG (STDMETHODCALLTYPE *Release)(
  15302. ISpeechPhraseProperty *This);
  15303. /*** IDispatch methods ***/
  15304. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  15305. ISpeechPhraseProperty *This,
  15306. UINT *pctinfo);
  15307. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  15308. ISpeechPhraseProperty *This,
  15309. UINT iTInfo,
  15310. LCID lcid,
  15311. ITypeInfo **ppTInfo);
  15312. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  15313. ISpeechPhraseProperty *This,
  15314. REFIID riid,
  15315. LPOLESTR *rgszNames,
  15316. UINT cNames,
  15317. LCID lcid,
  15318. DISPID *rgDispId);
  15319. HRESULT (STDMETHODCALLTYPE *Invoke)(
  15320. ISpeechPhraseProperty *This,
  15321. DISPID dispIdMember,
  15322. REFIID riid,
  15323. LCID lcid,
  15324. WORD wFlags,
  15325. DISPPARAMS *pDispParams,
  15326. VARIANT *pVarResult,
  15327. EXCEPINFO *pExcepInfo,
  15328. UINT *puArgErr);
  15329. /*** ISpeechPhraseProperty methods ***/
  15330. HRESULT (STDMETHODCALLTYPE *get_Name)(
  15331. ISpeechPhraseProperty *This,
  15332. BSTR *Name);
  15333. HRESULT (STDMETHODCALLTYPE *get_Id)(
  15334. ISpeechPhraseProperty *This,
  15335. LONG *Id);
  15336. HRESULT (STDMETHODCALLTYPE *get_Value)(
  15337. ISpeechPhraseProperty *This,
  15338. VARIANT *Value);
  15339. HRESULT (STDMETHODCALLTYPE *get_FirstElement)(
  15340. ISpeechPhraseProperty *This,
  15341. LONG *FirstElement);
  15342. HRESULT (STDMETHODCALLTYPE *get_NumberOfElements)(
  15343. ISpeechPhraseProperty *This,
  15344. LONG *NumberOfElements);
  15345. HRESULT (STDMETHODCALLTYPE *get_EngineConfidence)(
  15346. ISpeechPhraseProperty *This,
  15347. float *Confidence);
  15348. HRESULT (STDMETHODCALLTYPE *get_Confidence)(
  15349. ISpeechPhraseProperty *This,
  15350. SpeechEngineConfidence *Confidence);
  15351. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  15352. ISpeechPhraseProperty *This,
  15353. ISpeechPhraseProperty **ParentProperty);
  15354. HRESULT (STDMETHODCALLTYPE *get_Children)(
  15355. ISpeechPhraseProperty *This,
  15356. ISpeechPhraseProperties **Children);
  15357. END_INTERFACE
  15358. } ISpeechPhrasePropertyVtbl;
  15359. interface ISpeechPhraseProperty {
  15360. CONST_VTBL ISpeechPhrasePropertyVtbl* lpVtbl;
  15361. };
  15362. #ifdef COBJMACROS
  15363. #ifndef WIDL_C_INLINE_WRAPPERS
  15364. /*** IUnknown methods ***/
  15365. #define ISpeechPhraseProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  15366. #define ISpeechPhraseProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
  15367. #define ISpeechPhraseProperty_Release(This) (This)->lpVtbl->Release(This)
  15368. /*** IDispatch methods ***/
  15369. #define ISpeechPhraseProperty_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  15370. #define ISpeechPhraseProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  15371. #define ISpeechPhraseProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  15372. #define ISpeechPhraseProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  15373. /*** ISpeechPhraseProperty methods ***/
  15374. #define ISpeechPhraseProperty_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
  15375. #define ISpeechPhraseProperty_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
  15376. #define ISpeechPhraseProperty_get_Value(This,Value) (This)->lpVtbl->get_Value(This,Value)
  15377. #define ISpeechPhraseProperty_get_FirstElement(This,FirstElement) (This)->lpVtbl->get_FirstElement(This,FirstElement)
  15378. #define ISpeechPhraseProperty_get_NumberOfElements(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElements(This,NumberOfElements)
  15379. #define ISpeechPhraseProperty_get_EngineConfidence(This,Confidence) (This)->lpVtbl->get_EngineConfidence(This,Confidence)
  15380. #define ISpeechPhraseProperty_get_Confidence(This,Confidence) (This)->lpVtbl->get_Confidence(This,Confidence)
  15381. #define ISpeechPhraseProperty_get_Parent(This,ParentProperty) (This)->lpVtbl->get_Parent(This,ParentProperty)
  15382. #define ISpeechPhraseProperty_get_Children(This,Children) (This)->lpVtbl->get_Children(This,Children)
  15383. #else
  15384. /*** IUnknown methods ***/
  15385. static FORCEINLINE HRESULT ISpeechPhraseProperty_QueryInterface(ISpeechPhraseProperty* This,REFIID riid,void **ppvObject) {
  15386. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  15387. }
  15388. static FORCEINLINE ULONG ISpeechPhraseProperty_AddRef(ISpeechPhraseProperty* This) {
  15389. return This->lpVtbl->AddRef(This);
  15390. }
  15391. static FORCEINLINE ULONG ISpeechPhraseProperty_Release(ISpeechPhraseProperty* This) {
  15392. return This->lpVtbl->Release(This);
  15393. }
  15394. /*** IDispatch methods ***/
  15395. static FORCEINLINE HRESULT ISpeechPhraseProperty_GetTypeInfoCount(ISpeechPhraseProperty* This,UINT *pctinfo) {
  15396. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  15397. }
  15398. static FORCEINLINE HRESULT ISpeechPhraseProperty_GetTypeInfo(ISpeechPhraseProperty* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  15399. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  15400. }
  15401. static FORCEINLINE HRESULT ISpeechPhraseProperty_GetIDsOfNames(ISpeechPhraseProperty* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  15402. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  15403. }
  15404. static FORCEINLINE HRESULT ISpeechPhraseProperty_Invoke(ISpeechPhraseProperty* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  15405. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  15406. }
  15407. /*** ISpeechPhraseProperty methods ***/
  15408. static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Name(ISpeechPhraseProperty* This,BSTR *Name) {
  15409. return This->lpVtbl->get_Name(This,Name);
  15410. }
  15411. static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Id(ISpeechPhraseProperty* This,LONG *Id) {
  15412. return This->lpVtbl->get_Id(This,Id);
  15413. }
  15414. static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Value(ISpeechPhraseProperty* This,VARIANT *Value) {
  15415. return This->lpVtbl->get_Value(This,Value);
  15416. }
  15417. static FORCEINLINE HRESULT ISpeechPhraseProperty_get_FirstElement(ISpeechPhraseProperty* This,LONG *FirstElement) {
  15418. return This->lpVtbl->get_FirstElement(This,FirstElement);
  15419. }
  15420. static FORCEINLINE HRESULT ISpeechPhraseProperty_get_NumberOfElements(ISpeechPhraseProperty* This,LONG *NumberOfElements) {
  15421. return This->lpVtbl->get_NumberOfElements(This,NumberOfElements);
  15422. }
  15423. static FORCEINLINE HRESULT ISpeechPhraseProperty_get_EngineConfidence(ISpeechPhraseProperty* This,float *Confidence) {
  15424. return This->lpVtbl->get_EngineConfidence(This,Confidence);
  15425. }
  15426. static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Confidence(ISpeechPhraseProperty* This,SpeechEngineConfidence *Confidence) {
  15427. return This->lpVtbl->get_Confidence(This,Confidence);
  15428. }
  15429. static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Parent(ISpeechPhraseProperty* This,ISpeechPhraseProperty **ParentProperty) {
  15430. return This->lpVtbl->get_Parent(This,ParentProperty);
  15431. }
  15432. static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Children(ISpeechPhraseProperty* This,ISpeechPhraseProperties **Children) {
  15433. return This->lpVtbl->get_Children(This,Children);
  15434. }
  15435. #endif
  15436. #endif
  15437. #endif
  15438. #endif /* __ISpeechPhraseProperty_INTERFACE_DEFINED__ */
  15439. /*****************************************************************************
  15440. * ISpeechPhraseProperties interface
  15441. */
  15442. #ifndef __ISpeechPhraseProperties_INTERFACE_DEFINED__
  15443. #define __ISpeechPhraseProperties_INTERFACE_DEFINED__
  15444. DEFINE_GUID(IID_ISpeechPhraseProperties, 0x08166b47, 0x102e, 0x4b23, 0xa5,0x99, 0xbd,0xb9,0x8d,0xbf,0xd1,0xf4);
  15445. #if defined(__cplusplus) && !defined(CINTERFACE)
  15446. MIDL_INTERFACE("08166b47-102e-4b23-a599-bdb98dbfd1f4")
  15447. ISpeechPhraseProperties : public IDispatch
  15448. {
  15449. virtual HRESULT STDMETHODCALLTYPE get_Count(
  15450. LONG *Count) = 0;
  15451. virtual HRESULT STDMETHODCALLTYPE Item(
  15452. LONG Index,
  15453. ISpeechPhraseProperty **Property) = 0;
  15454. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  15455. IUnknown **EnumVARIANT) = 0;
  15456. };
  15457. #ifdef __CRT_UUID_DECL
  15458. __CRT_UUID_DECL(ISpeechPhraseProperties, 0x08166b47, 0x102e, 0x4b23, 0xa5,0x99, 0xbd,0xb9,0x8d,0xbf,0xd1,0xf4)
  15459. #endif
  15460. #else
  15461. typedef struct ISpeechPhrasePropertiesVtbl {
  15462. BEGIN_INTERFACE
  15463. /*** IUnknown methods ***/
  15464. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  15465. ISpeechPhraseProperties *This,
  15466. REFIID riid,
  15467. void **ppvObject);
  15468. ULONG (STDMETHODCALLTYPE *AddRef)(
  15469. ISpeechPhraseProperties *This);
  15470. ULONG (STDMETHODCALLTYPE *Release)(
  15471. ISpeechPhraseProperties *This);
  15472. /*** IDispatch methods ***/
  15473. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  15474. ISpeechPhraseProperties *This,
  15475. UINT *pctinfo);
  15476. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  15477. ISpeechPhraseProperties *This,
  15478. UINT iTInfo,
  15479. LCID lcid,
  15480. ITypeInfo **ppTInfo);
  15481. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  15482. ISpeechPhraseProperties *This,
  15483. REFIID riid,
  15484. LPOLESTR *rgszNames,
  15485. UINT cNames,
  15486. LCID lcid,
  15487. DISPID *rgDispId);
  15488. HRESULT (STDMETHODCALLTYPE *Invoke)(
  15489. ISpeechPhraseProperties *This,
  15490. DISPID dispIdMember,
  15491. REFIID riid,
  15492. LCID lcid,
  15493. WORD wFlags,
  15494. DISPPARAMS *pDispParams,
  15495. VARIANT *pVarResult,
  15496. EXCEPINFO *pExcepInfo,
  15497. UINT *puArgErr);
  15498. /*** ISpeechPhraseProperties methods ***/
  15499. HRESULT (STDMETHODCALLTYPE *get_Count)(
  15500. ISpeechPhraseProperties *This,
  15501. LONG *Count);
  15502. HRESULT (STDMETHODCALLTYPE *Item)(
  15503. ISpeechPhraseProperties *This,
  15504. LONG Index,
  15505. ISpeechPhraseProperty **Property);
  15506. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  15507. ISpeechPhraseProperties *This,
  15508. IUnknown **EnumVARIANT);
  15509. END_INTERFACE
  15510. } ISpeechPhrasePropertiesVtbl;
  15511. interface ISpeechPhraseProperties {
  15512. CONST_VTBL ISpeechPhrasePropertiesVtbl* lpVtbl;
  15513. };
  15514. #ifdef COBJMACROS
  15515. #ifndef WIDL_C_INLINE_WRAPPERS
  15516. /*** IUnknown methods ***/
  15517. #define ISpeechPhraseProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  15518. #define ISpeechPhraseProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
  15519. #define ISpeechPhraseProperties_Release(This) (This)->lpVtbl->Release(This)
  15520. /*** IDispatch methods ***/
  15521. #define ISpeechPhraseProperties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  15522. #define ISpeechPhraseProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  15523. #define ISpeechPhraseProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  15524. #define ISpeechPhraseProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  15525. /*** ISpeechPhraseProperties methods ***/
  15526. #define ISpeechPhraseProperties_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  15527. #define ISpeechPhraseProperties_Item(This,Index,Property) (This)->lpVtbl->Item(This,Index,Property)
  15528. #define ISpeechPhraseProperties_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
  15529. #else
  15530. /*** IUnknown methods ***/
  15531. static FORCEINLINE HRESULT ISpeechPhraseProperties_QueryInterface(ISpeechPhraseProperties* This,REFIID riid,void **ppvObject) {
  15532. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  15533. }
  15534. static FORCEINLINE ULONG ISpeechPhraseProperties_AddRef(ISpeechPhraseProperties* This) {
  15535. return This->lpVtbl->AddRef(This);
  15536. }
  15537. static FORCEINLINE ULONG ISpeechPhraseProperties_Release(ISpeechPhraseProperties* This) {
  15538. return This->lpVtbl->Release(This);
  15539. }
  15540. /*** IDispatch methods ***/
  15541. static FORCEINLINE HRESULT ISpeechPhraseProperties_GetTypeInfoCount(ISpeechPhraseProperties* This,UINT *pctinfo) {
  15542. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  15543. }
  15544. static FORCEINLINE HRESULT ISpeechPhraseProperties_GetTypeInfo(ISpeechPhraseProperties* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  15545. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  15546. }
  15547. static FORCEINLINE HRESULT ISpeechPhraseProperties_GetIDsOfNames(ISpeechPhraseProperties* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  15548. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  15549. }
  15550. static FORCEINLINE HRESULT ISpeechPhraseProperties_Invoke(ISpeechPhraseProperties* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  15551. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  15552. }
  15553. /*** ISpeechPhraseProperties methods ***/
  15554. static FORCEINLINE HRESULT ISpeechPhraseProperties_get_Count(ISpeechPhraseProperties* This,LONG *Count) {
  15555. return This->lpVtbl->get_Count(This,Count);
  15556. }
  15557. static FORCEINLINE HRESULT ISpeechPhraseProperties_Item(ISpeechPhraseProperties* This,LONG Index,ISpeechPhraseProperty **Property) {
  15558. return This->lpVtbl->Item(This,Index,Property);
  15559. }
  15560. static FORCEINLINE HRESULT ISpeechPhraseProperties_get__NewEnum(ISpeechPhraseProperties* This,IUnknown **EnumVARIANT) {
  15561. return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
  15562. }
  15563. #endif
  15564. #endif
  15565. #endif
  15566. #endif /* __ISpeechPhraseProperties_INTERFACE_DEFINED__ */
  15567. /*****************************************************************************
  15568. * ISpeechPhraseRule interface
  15569. */
  15570. #ifndef __ISpeechPhraseRule_INTERFACE_DEFINED__
  15571. #define __ISpeechPhraseRule_INTERFACE_DEFINED__
  15572. DEFINE_GUID(IID_ISpeechPhraseRule, 0xa7bfe112, 0xa4a0, 0x48d9, 0xb6,0x02, 0xc3,0x13,0x84,0x3f,0x69,0x64);
  15573. #if defined(__cplusplus) && !defined(CINTERFACE)
  15574. MIDL_INTERFACE("a7bfe112-a4a0-48d9-b602-c313843f6964")
  15575. ISpeechPhraseRule : public IDispatch
  15576. {
  15577. virtual HRESULT STDMETHODCALLTYPE get_Name(
  15578. BSTR *Name) = 0;
  15579. virtual HRESULT STDMETHODCALLTYPE get_Id(
  15580. LONG *Id) = 0;
  15581. virtual HRESULT STDMETHODCALLTYPE get_FirstElement(
  15582. LONG *FirstElement) = 0;
  15583. virtual HRESULT STDMETHODCALLTYPE get_NumberOfElements(
  15584. LONG *NumberOfElements) = 0;
  15585. virtual HRESULT STDMETHODCALLTYPE get_Parent(
  15586. ISpeechPhraseRule **Parent) = 0;
  15587. virtual HRESULT STDMETHODCALLTYPE get_Children(
  15588. ISpeechPhraseRules **Children) = 0;
  15589. virtual HRESULT STDMETHODCALLTYPE get_Confidence(
  15590. SpeechEngineConfidence *ActualConfidence) = 0;
  15591. virtual HRESULT STDMETHODCALLTYPE get_EngineConfidence(
  15592. float *EngineConfidence) = 0;
  15593. };
  15594. #ifdef __CRT_UUID_DECL
  15595. __CRT_UUID_DECL(ISpeechPhraseRule, 0xa7bfe112, 0xa4a0, 0x48d9, 0xb6,0x02, 0xc3,0x13,0x84,0x3f,0x69,0x64)
  15596. #endif
  15597. #else
  15598. typedef struct ISpeechPhraseRuleVtbl {
  15599. BEGIN_INTERFACE
  15600. /*** IUnknown methods ***/
  15601. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  15602. ISpeechPhraseRule *This,
  15603. REFIID riid,
  15604. void **ppvObject);
  15605. ULONG (STDMETHODCALLTYPE *AddRef)(
  15606. ISpeechPhraseRule *This);
  15607. ULONG (STDMETHODCALLTYPE *Release)(
  15608. ISpeechPhraseRule *This);
  15609. /*** IDispatch methods ***/
  15610. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  15611. ISpeechPhraseRule *This,
  15612. UINT *pctinfo);
  15613. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  15614. ISpeechPhraseRule *This,
  15615. UINT iTInfo,
  15616. LCID lcid,
  15617. ITypeInfo **ppTInfo);
  15618. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  15619. ISpeechPhraseRule *This,
  15620. REFIID riid,
  15621. LPOLESTR *rgszNames,
  15622. UINT cNames,
  15623. LCID lcid,
  15624. DISPID *rgDispId);
  15625. HRESULT (STDMETHODCALLTYPE *Invoke)(
  15626. ISpeechPhraseRule *This,
  15627. DISPID dispIdMember,
  15628. REFIID riid,
  15629. LCID lcid,
  15630. WORD wFlags,
  15631. DISPPARAMS *pDispParams,
  15632. VARIANT *pVarResult,
  15633. EXCEPINFO *pExcepInfo,
  15634. UINT *puArgErr);
  15635. /*** ISpeechPhraseRule methods ***/
  15636. HRESULT (STDMETHODCALLTYPE *get_Name)(
  15637. ISpeechPhraseRule *This,
  15638. BSTR *Name);
  15639. HRESULT (STDMETHODCALLTYPE *get_Id)(
  15640. ISpeechPhraseRule *This,
  15641. LONG *Id);
  15642. HRESULT (STDMETHODCALLTYPE *get_FirstElement)(
  15643. ISpeechPhraseRule *This,
  15644. LONG *FirstElement);
  15645. HRESULT (STDMETHODCALLTYPE *get_NumberOfElements)(
  15646. ISpeechPhraseRule *This,
  15647. LONG *NumberOfElements);
  15648. HRESULT (STDMETHODCALLTYPE *get_Parent)(
  15649. ISpeechPhraseRule *This,
  15650. ISpeechPhraseRule **Parent);
  15651. HRESULT (STDMETHODCALLTYPE *get_Children)(
  15652. ISpeechPhraseRule *This,
  15653. ISpeechPhraseRules **Children);
  15654. HRESULT (STDMETHODCALLTYPE *get_Confidence)(
  15655. ISpeechPhraseRule *This,
  15656. SpeechEngineConfidence *ActualConfidence);
  15657. HRESULT (STDMETHODCALLTYPE *get_EngineConfidence)(
  15658. ISpeechPhraseRule *This,
  15659. float *EngineConfidence);
  15660. END_INTERFACE
  15661. } ISpeechPhraseRuleVtbl;
  15662. interface ISpeechPhraseRule {
  15663. CONST_VTBL ISpeechPhraseRuleVtbl* lpVtbl;
  15664. };
  15665. #ifdef COBJMACROS
  15666. #ifndef WIDL_C_INLINE_WRAPPERS
  15667. /*** IUnknown methods ***/
  15668. #define ISpeechPhraseRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  15669. #define ISpeechPhraseRule_AddRef(This) (This)->lpVtbl->AddRef(This)
  15670. #define ISpeechPhraseRule_Release(This) (This)->lpVtbl->Release(This)
  15671. /*** IDispatch methods ***/
  15672. #define ISpeechPhraseRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  15673. #define ISpeechPhraseRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  15674. #define ISpeechPhraseRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  15675. #define ISpeechPhraseRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  15676. /*** ISpeechPhraseRule methods ***/
  15677. #define ISpeechPhraseRule_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
  15678. #define ISpeechPhraseRule_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
  15679. #define ISpeechPhraseRule_get_FirstElement(This,FirstElement) (This)->lpVtbl->get_FirstElement(This,FirstElement)
  15680. #define ISpeechPhraseRule_get_NumberOfElements(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElements(This,NumberOfElements)
  15681. #define ISpeechPhraseRule_get_Parent(This,Parent) (This)->lpVtbl->get_Parent(This,Parent)
  15682. #define ISpeechPhraseRule_get_Children(This,Children) (This)->lpVtbl->get_Children(This,Children)
  15683. #define ISpeechPhraseRule_get_Confidence(This,ActualConfidence) (This)->lpVtbl->get_Confidence(This,ActualConfidence)
  15684. #define ISpeechPhraseRule_get_EngineConfidence(This,EngineConfidence) (This)->lpVtbl->get_EngineConfidence(This,EngineConfidence)
  15685. #else
  15686. /*** IUnknown methods ***/
  15687. static FORCEINLINE HRESULT ISpeechPhraseRule_QueryInterface(ISpeechPhraseRule* This,REFIID riid,void **ppvObject) {
  15688. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  15689. }
  15690. static FORCEINLINE ULONG ISpeechPhraseRule_AddRef(ISpeechPhraseRule* This) {
  15691. return This->lpVtbl->AddRef(This);
  15692. }
  15693. static FORCEINLINE ULONG ISpeechPhraseRule_Release(ISpeechPhraseRule* This) {
  15694. return This->lpVtbl->Release(This);
  15695. }
  15696. /*** IDispatch methods ***/
  15697. static FORCEINLINE HRESULT ISpeechPhraseRule_GetTypeInfoCount(ISpeechPhraseRule* This,UINT *pctinfo) {
  15698. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  15699. }
  15700. static FORCEINLINE HRESULT ISpeechPhraseRule_GetTypeInfo(ISpeechPhraseRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  15701. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  15702. }
  15703. static FORCEINLINE HRESULT ISpeechPhraseRule_GetIDsOfNames(ISpeechPhraseRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  15704. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  15705. }
  15706. static FORCEINLINE HRESULT ISpeechPhraseRule_Invoke(ISpeechPhraseRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  15707. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  15708. }
  15709. /*** ISpeechPhraseRule methods ***/
  15710. static FORCEINLINE HRESULT ISpeechPhraseRule_get_Name(ISpeechPhraseRule* This,BSTR *Name) {
  15711. return This->lpVtbl->get_Name(This,Name);
  15712. }
  15713. static FORCEINLINE HRESULT ISpeechPhraseRule_get_Id(ISpeechPhraseRule* This,LONG *Id) {
  15714. return This->lpVtbl->get_Id(This,Id);
  15715. }
  15716. static FORCEINLINE HRESULT ISpeechPhraseRule_get_FirstElement(ISpeechPhraseRule* This,LONG *FirstElement) {
  15717. return This->lpVtbl->get_FirstElement(This,FirstElement);
  15718. }
  15719. static FORCEINLINE HRESULT ISpeechPhraseRule_get_NumberOfElements(ISpeechPhraseRule* This,LONG *NumberOfElements) {
  15720. return This->lpVtbl->get_NumberOfElements(This,NumberOfElements);
  15721. }
  15722. static FORCEINLINE HRESULT ISpeechPhraseRule_get_Parent(ISpeechPhraseRule* This,ISpeechPhraseRule **Parent) {
  15723. return This->lpVtbl->get_Parent(This,Parent);
  15724. }
  15725. static FORCEINLINE HRESULT ISpeechPhraseRule_get_Children(ISpeechPhraseRule* This,ISpeechPhraseRules **Children) {
  15726. return This->lpVtbl->get_Children(This,Children);
  15727. }
  15728. static FORCEINLINE HRESULT ISpeechPhraseRule_get_Confidence(ISpeechPhraseRule* This,SpeechEngineConfidence *ActualConfidence) {
  15729. return This->lpVtbl->get_Confidence(This,ActualConfidence);
  15730. }
  15731. static FORCEINLINE HRESULT ISpeechPhraseRule_get_EngineConfidence(ISpeechPhraseRule* This,float *EngineConfidence) {
  15732. return This->lpVtbl->get_EngineConfidence(This,EngineConfidence);
  15733. }
  15734. #endif
  15735. #endif
  15736. #endif
  15737. #endif /* __ISpeechPhraseRule_INTERFACE_DEFINED__ */
  15738. /*****************************************************************************
  15739. * ISpeechPhraseRules interface
  15740. */
  15741. #ifndef __ISpeechPhraseRules_INTERFACE_DEFINED__
  15742. #define __ISpeechPhraseRules_INTERFACE_DEFINED__
  15743. DEFINE_GUID(IID_ISpeechPhraseRules, 0x9047d593, 0x01dd, 0x4b72, 0x81,0xa3, 0xe4,0xa0,0xca,0x69,0xf4,0x07);
  15744. #if defined(__cplusplus) && !defined(CINTERFACE)
  15745. MIDL_INTERFACE("9047d593-01dd-4b72-81a3-e4a0ca69f407")
  15746. ISpeechPhraseRules : public IDispatch
  15747. {
  15748. virtual HRESULT STDMETHODCALLTYPE get_Count(
  15749. LONG *Count) = 0;
  15750. virtual HRESULT STDMETHODCALLTYPE Item(
  15751. LONG Index,
  15752. ISpeechPhraseRule **Rule) = 0;
  15753. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  15754. IUnknown **EnumVARIANT) = 0;
  15755. };
  15756. #ifdef __CRT_UUID_DECL
  15757. __CRT_UUID_DECL(ISpeechPhraseRules, 0x9047d593, 0x01dd, 0x4b72, 0x81,0xa3, 0xe4,0xa0,0xca,0x69,0xf4,0x07)
  15758. #endif
  15759. #else
  15760. typedef struct ISpeechPhraseRulesVtbl {
  15761. BEGIN_INTERFACE
  15762. /*** IUnknown methods ***/
  15763. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  15764. ISpeechPhraseRules *This,
  15765. REFIID riid,
  15766. void **ppvObject);
  15767. ULONG (STDMETHODCALLTYPE *AddRef)(
  15768. ISpeechPhraseRules *This);
  15769. ULONG (STDMETHODCALLTYPE *Release)(
  15770. ISpeechPhraseRules *This);
  15771. /*** IDispatch methods ***/
  15772. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  15773. ISpeechPhraseRules *This,
  15774. UINT *pctinfo);
  15775. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  15776. ISpeechPhraseRules *This,
  15777. UINT iTInfo,
  15778. LCID lcid,
  15779. ITypeInfo **ppTInfo);
  15780. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  15781. ISpeechPhraseRules *This,
  15782. REFIID riid,
  15783. LPOLESTR *rgszNames,
  15784. UINT cNames,
  15785. LCID lcid,
  15786. DISPID *rgDispId);
  15787. HRESULT (STDMETHODCALLTYPE *Invoke)(
  15788. ISpeechPhraseRules *This,
  15789. DISPID dispIdMember,
  15790. REFIID riid,
  15791. LCID lcid,
  15792. WORD wFlags,
  15793. DISPPARAMS *pDispParams,
  15794. VARIANT *pVarResult,
  15795. EXCEPINFO *pExcepInfo,
  15796. UINT *puArgErr);
  15797. /*** ISpeechPhraseRules methods ***/
  15798. HRESULT (STDMETHODCALLTYPE *get_Count)(
  15799. ISpeechPhraseRules *This,
  15800. LONG *Count);
  15801. HRESULT (STDMETHODCALLTYPE *Item)(
  15802. ISpeechPhraseRules *This,
  15803. LONG Index,
  15804. ISpeechPhraseRule **Rule);
  15805. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  15806. ISpeechPhraseRules *This,
  15807. IUnknown **EnumVARIANT);
  15808. END_INTERFACE
  15809. } ISpeechPhraseRulesVtbl;
  15810. interface ISpeechPhraseRules {
  15811. CONST_VTBL ISpeechPhraseRulesVtbl* lpVtbl;
  15812. };
  15813. #ifdef COBJMACROS
  15814. #ifndef WIDL_C_INLINE_WRAPPERS
  15815. /*** IUnknown methods ***/
  15816. #define ISpeechPhraseRules_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  15817. #define ISpeechPhraseRules_AddRef(This) (This)->lpVtbl->AddRef(This)
  15818. #define ISpeechPhraseRules_Release(This) (This)->lpVtbl->Release(This)
  15819. /*** IDispatch methods ***/
  15820. #define ISpeechPhraseRules_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  15821. #define ISpeechPhraseRules_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  15822. #define ISpeechPhraseRules_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  15823. #define ISpeechPhraseRules_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  15824. /*** ISpeechPhraseRules methods ***/
  15825. #define ISpeechPhraseRules_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  15826. #define ISpeechPhraseRules_Item(This,Index,Rule) (This)->lpVtbl->Item(This,Index,Rule)
  15827. #define ISpeechPhraseRules_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
  15828. #else
  15829. /*** IUnknown methods ***/
  15830. static FORCEINLINE HRESULT ISpeechPhraseRules_QueryInterface(ISpeechPhraseRules* This,REFIID riid,void **ppvObject) {
  15831. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  15832. }
  15833. static FORCEINLINE ULONG ISpeechPhraseRules_AddRef(ISpeechPhraseRules* This) {
  15834. return This->lpVtbl->AddRef(This);
  15835. }
  15836. static FORCEINLINE ULONG ISpeechPhraseRules_Release(ISpeechPhraseRules* This) {
  15837. return This->lpVtbl->Release(This);
  15838. }
  15839. /*** IDispatch methods ***/
  15840. static FORCEINLINE HRESULT ISpeechPhraseRules_GetTypeInfoCount(ISpeechPhraseRules* This,UINT *pctinfo) {
  15841. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  15842. }
  15843. static FORCEINLINE HRESULT ISpeechPhraseRules_GetTypeInfo(ISpeechPhraseRules* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  15844. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  15845. }
  15846. static FORCEINLINE HRESULT ISpeechPhraseRules_GetIDsOfNames(ISpeechPhraseRules* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  15847. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  15848. }
  15849. static FORCEINLINE HRESULT ISpeechPhraseRules_Invoke(ISpeechPhraseRules* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  15850. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  15851. }
  15852. /*** ISpeechPhraseRules methods ***/
  15853. static FORCEINLINE HRESULT ISpeechPhraseRules_get_Count(ISpeechPhraseRules* This,LONG *Count) {
  15854. return This->lpVtbl->get_Count(This,Count);
  15855. }
  15856. static FORCEINLINE HRESULT ISpeechPhraseRules_Item(ISpeechPhraseRules* This,LONG Index,ISpeechPhraseRule **Rule) {
  15857. return This->lpVtbl->Item(This,Index,Rule);
  15858. }
  15859. static FORCEINLINE HRESULT ISpeechPhraseRules_get__NewEnum(ISpeechPhraseRules* This,IUnknown **EnumVARIANT) {
  15860. return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
  15861. }
  15862. #endif
  15863. #endif
  15864. #endif
  15865. #endif /* __ISpeechPhraseRules_INTERFACE_DEFINED__ */
  15866. /*****************************************************************************
  15867. * ISpeechLexiconWords interface
  15868. */
  15869. #ifndef __ISpeechLexiconWords_INTERFACE_DEFINED__
  15870. #define __ISpeechLexiconWords_INTERFACE_DEFINED__
  15871. DEFINE_GUID(IID_ISpeechLexiconWords, 0x8d199862, 0x415e, 0x47d5, 0xac,0x4f, 0xfa,0xa6,0x08,0xb4,0x24,0xe6);
  15872. #if defined(__cplusplus) && !defined(CINTERFACE)
  15873. MIDL_INTERFACE("8d199862-415e-47d5-ac4f-faa608b424e6")
  15874. ISpeechLexiconWords : public IDispatch
  15875. {
  15876. virtual HRESULT STDMETHODCALLTYPE get_Count(
  15877. LONG *Count) = 0;
  15878. virtual HRESULT STDMETHODCALLTYPE Item(
  15879. LONG Index,
  15880. ISpeechLexiconWord **Word) = 0;
  15881. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  15882. IUnknown **EnumVARIANT) = 0;
  15883. };
  15884. #ifdef __CRT_UUID_DECL
  15885. __CRT_UUID_DECL(ISpeechLexiconWords, 0x8d199862, 0x415e, 0x47d5, 0xac,0x4f, 0xfa,0xa6,0x08,0xb4,0x24,0xe6)
  15886. #endif
  15887. #else
  15888. typedef struct ISpeechLexiconWordsVtbl {
  15889. BEGIN_INTERFACE
  15890. /*** IUnknown methods ***/
  15891. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  15892. ISpeechLexiconWords *This,
  15893. REFIID riid,
  15894. void **ppvObject);
  15895. ULONG (STDMETHODCALLTYPE *AddRef)(
  15896. ISpeechLexiconWords *This);
  15897. ULONG (STDMETHODCALLTYPE *Release)(
  15898. ISpeechLexiconWords *This);
  15899. /*** IDispatch methods ***/
  15900. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  15901. ISpeechLexiconWords *This,
  15902. UINT *pctinfo);
  15903. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  15904. ISpeechLexiconWords *This,
  15905. UINT iTInfo,
  15906. LCID lcid,
  15907. ITypeInfo **ppTInfo);
  15908. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  15909. ISpeechLexiconWords *This,
  15910. REFIID riid,
  15911. LPOLESTR *rgszNames,
  15912. UINT cNames,
  15913. LCID lcid,
  15914. DISPID *rgDispId);
  15915. HRESULT (STDMETHODCALLTYPE *Invoke)(
  15916. ISpeechLexiconWords *This,
  15917. DISPID dispIdMember,
  15918. REFIID riid,
  15919. LCID lcid,
  15920. WORD wFlags,
  15921. DISPPARAMS *pDispParams,
  15922. VARIANT *pVarResult,
  15923. EXCEPINFO *pExcepInfo,
  15924. UINT *puArgErr);
  15925. /*** ISpeechLexiconWords methods ***/
  15926. HRESULT (STDMETHODCALLTYPE *get_Count)(
  15927. ISpeechLexiconWords *This,
  15928. LONG *Count);
  15929. HRESULT (STDMETHODCALLTYPE *Item)(
  15930. ISpeechLexiconWords *This,
  15931. LONG Index,
  15932. ISpeechLexiconWord **Word);
  15933. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  15934. ISpeechLexiconWords *This,
  15935. IUnknown **EnumVARIANT);
  15936. END_INTERFACE
  15937. } ISpeechLexiconWordsVtbl;
  15938. interface ISpeechLexiconWords {
  15939. CONST_VTBL ISpeechLexiconWordsVtbl* lpVtbl;
  15940. };
  15941. #ifdef COBJMACROS
  15942. #ifndef WIDL_C_INLINE_WRAPPERS
  15943. /*** IUnknown methods ***/
  15944. #define ISpeechLexiconWords_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  15945. #define ISpeechLexiconWords_AddRef(This) (This)->lpVtbl->AddRef(This)
  15946. #define ISpeechLexiconWords_Release(This) (This)->lpVtbl->Release(This)
  15947. /*** IDispatch methods ***/
  15948. #define ISpeechLexiconWords_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  15949. #define ISpeechLexiconWords_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  15950. #define ISpeechLexiconWords_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  15951. #define ISpeechLexiconWords_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  15952. /*** ISpeechLexiconWords methods ***/
  15953. #define ISpeechLexiconWords_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  15954. #define ISpeechLexiconWords_Item(This,Index,Word) (This)->lpVtbl->Item(This,Index,Word)
  15955. #define ISpeechLexiconWords_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
  15956. #else
  15957. /*** IUnknown methods ***/
  15958. static FORCEINLINE HRESULT ISpeechLexiconWords_QueryInterface(ISpeechLexiconWords* This,REFIID riid,void **ppvObject) {
  15959. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  15960. }
  15961. static FORCEINLINE ULONG ISpeechLexiconWords_AddRef(ISpeechLexiconWords* This) {
  15962. return This->lpVtbl->AddRef(This);
  15963. }
  15964. static FORCEINLINE ULONG ISpeechLexiconWords_Release(ISpeechLexiconWords* This) {
  15965. return This->lpVtbl->Release(This);
  15966. }
  15967. /*** IDispatch methods ***/
  15968. static FORCEINLINE HRESULT ISpeechLexiconWords_GetTypeInfoCount(ISpeechLexiconWords* This,UINT *pctinfo) {
  15969. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  15970. }
  15971. static FORCEINLINE HRESULT ISpeechLexiconWords_GetTypeInfo(ISpeechLexiconWords* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  15972. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  15973. }
  15974. static FORCEINLINE HRESULT ISpeechLexiconWords_GetIDsOfNames(ISpeechLexiconWords* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  15975. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  15976. }
  15977. static FORCEINLINE HRESULT ISpeechLexiconWords_Invoke(ISpeechLexiconWords* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  15978. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  15979. }
  15980. /*** ISpeechLexiconWords methods ***/
  15981. static FORCEINLINE HRESULT ISpeechLexiconWords_get_Count(ISpeechLexiconWords* This,LONG *Count) {
  15982. return This->lpVtbl->get_Count(This,Count);
  15983. }
  15984. static FORCEINLINE HRESULT ISpeechLexiconWords_Item(ISpeechLexiconWords* This,LONG Index,ISpeechLexiconWord **Word) {
  15985. return This->lpVtbl->Item(This,Index,Word);
  15986. }
  15987. static FORCEINLINE HRESULT ISpeechLexiconWords_get__NewEnum(ISpeechLexiconWords* This,IUnknown **EnumVARIANT) {
  15988. return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
  15989. }
  15990. #endif
  15991. #endif
  15992. #endif
  15993. #endif /* __ISpeechLexiconWords_INTERFACE_DEFINED__ */
  15994. /*****************************************************************************
  15995. * ISpeechLexicon interface
  15996. */
  15997. #ifndef __ISpeechLexicon_INTERFACE_DEFINED__
  15998. #define __ISpeechLexicon_INTERFACE_DEFINED__
  15999. DEFINE_GUID(IID_ISpeechLexicon, 0x3da7627a, 0xc7ae, 0x4b23, 0x87,0x08, 0x63,0x8c,0x50,0x36,0x2c,0x25);
  16000. #if defined(__cplusplus) && !defined(CINTERFACE)
  16001. MIDL_INTERFACE("3da7627a-c7ae-4b23-8708-638c50362c25")
  16002. ISpeechLexicon : public IDispatch
  16003. {
  16004. virtual HRESULT STDMETHODCALLTYPE get_GenerationId(
  16005. LONG *GenerationId) = 0;
  16006. virtual HRESULT STDMETHODCALLTYPE GetWords(
  16007. SpeechLexiconType Flags,
  16008. LONG *GenerationID,
  16009. ISpeechLexiconWords **Words) = 0;
  16010. virtual HRESULT STDMETHODCALLTYPE AddPronunciation(
  16011. BSTR bstrWord,
  16012. SpeechLanguageId LangId,
  16013. SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
  16014. BSTR bstrPronunciation = L"") = 0;
  16015. virtual HRESULT STDMETHODCALLTYPE AddPronunciationByPhoneIds(
  16016. BSTR bstrWord,
  16017. SpeechLanguageId LangId,
  16018. SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
  16019. VARIANT *PhoneIds = 0) = 0;
  16020. virtual HRESULT STDMETHODCALLTYPE RemovePronunciation(
  16021. BSTR bstrWord,
  16022. SpeechLanguageId LangId,
  16023. SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
  16024. BSTR bstrPronunciation = L"") = 0;
  16025. virtual HRESULT STDMETHODCALLTYPE RemovePronunciationByPhoneIds(
  16026. BSTR bstrWord,
  16027. SpeechLanguageId LangId,
  16028. SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
  16029. VARIANT *PhoneIds = 0) = 0;
  16030. virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
  16031. BSTR bstrWord,
  16032. SpeechLanguageId LangId,
  16033. SpeechLexiconType TypeFlags,
  16034. ISpeechLexiconPronunciations **ppPronunciations) = 0;
  16035. virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
  16036. LONG *GenerationID,
  16037. ISpeechLexiconWords **ppWords) = 0;
  16038. };
  16039. #ifdef __CRT_UUID_DECL
  16040. __CRT_UUID_DECL(ISpeechLexicon, 0x3da7627a, 0xc7ae, 0x4b23, 0x87,0x08, 0x63,0x8c,0x50,0x36,0x2c,0x25)
  16041. #endif
  16042. #else
  16043. typedef struct ISpeechLexiconVtbl {
  16044. BEGIN_INTERFACE
  16045. /*** IUnknown methods ***/
  16046. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  16047. ISpeechLexicon *This,
  16048. REFIID riid,
  16049. void **ppvObject);
  16050. ULONG (STDMETHODCALLTYPE *AddRef)(
  16051. ISpeechLexicon *This);
  16052. ULONG (STDMETHODCALLTYPE *Release)(
  16053. ISpeechLexicon *This);
  16054. /*** IDispatch methods ***/
  16055. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  16056. ISpeechLexicon *This,
  16057. UINT *pctinfo);
  16058. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  16059. ISpeechLexicon *This,
  16060. UINT iTInfo,
  16061. LCID lcid,
  16062. ITypeInfo **ppTInfo);
  16063. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  16064. ISpeechLexicon *This,
  16065. REFIID riid,
  16066. LPOLESTR *rgszNames,
  16067. UINT cNames,
  16068. LCID lcid,
  16069. DISPID *rgDispId);
  16070. HRESULT (STDMETHODCALLTYPE *Invoke)(
  16071. ISpeechLexicon *This,
  16072. DISPID dispIdMember,
  16073. REFIID riid,
  16074. LCID lcid,
  16075. WORD wFlags,
  16076. DISPPARAMS *pDispParams,
  16077. VARIANT *pVarResult,
  16078. EXCEPINFO *pExcepInfo,
  16079. UINT *puArgErr);
  16080. /*** ISpeechLexicon methods ***/
  16081. HRESULT (STDMETHODCALLTYPE *get_GenerationId)(
  16082. ISpeechLexicon *This,
  16083. LONG *GenerationId);
  16084. HRESULT (STDMETHODCALLTYPE *GetWords)(
  16085. ISpeechLexicon *This,
  16086. SpeechLexiconType Flags,
  16087. LONG *GenerationID,
  16088. ISpeechLexiconWords **Words);
  16089. HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
  16090. ISpeechLexicon *This,
  16091. BSTR bstrWord,
  16092. SpeechLanguageId LangId,
  16093. SpeechPartOfSpeech PartOfSpeech,
  16094. BSTR bstrPronunciation);
  16095. HRESULT (STDMETHODCALLTYPE *AddPronunciationByPhoneIds)(
  16096. ISpeechLexicon *This,
  16097. BSTR bstrWord,
  16098. SpeechLanguageId LangId,
  16099. SpeechPartOfSpeech PartOfSpeech,
  16100. VARIANT *PhoneIds);
  16101. HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
  16102. ISpeechLexicon *This,
  16103. BSTR bstrWord,
  16104. SpeechLanguageId LangId,
  16105. SpeechPartOfSpeech PartOfSpeech,
  16106. BSTR bstrPronunciation);
  16107. HRESULT (STDMETHODCALLTYPE *RemovePronunciationByPhoneIds)(
  16108. ISpeechLexicon *This,
  16109. BSTR bstrWord,
  16110. SpeechLanguageId LangId,
  16111. SpeechPartOfSpeech PartOfSpeech,
  16112. VARIANT *PhoneIds);
  16113. HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
  16114. ISpeechLexicon *This,
  16115. BSTR bstrWord,
  16116. SpeechLanguageId LangId,
  16117. SpeechLexiconType TypeFlags,
  16118. ISpeechLexiconPronunciations **ppPronunciations);
  16119. HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
  16120. ISpeechLexicon *This,
  16121. LONG *GenerationID,
  16122. ISpeechLexiconWords **ppWords);
  16123. END_INTERFACE
  16124. } ISpeechLexiconVtbl;
  16125. interface ISpeechLexicon {
  16126. CONST_VTBL ISpeechLexiconVtbl* lpVtbl;
  16127. };
  16128. #ifdef COBJMACROS
  16129. #ifndef WIDL_C_INLINE_WRAPPERS
  16130. /*** IUnknown methods ***/
  16131. #define ISpeechLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  16132. #define ISpeechLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
  16133. #define ISpeechLexicon_Release(This) (This)->lpVtbl->Release(This)
  16134. /*** IDispatch methods ***/
  16135. #define ISpeechLexicon_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  16136. #define ISpeechLexicon_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  16137. #define ISpeechLexicon_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  16138. #define ISpeechLexicon_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  16139. /*** ISpeechLexicon methods ***/
  16140. #define ISpeechLexicon_get_GenerationId(This,GenerationId) (This)->lpVtbl->get_GenerationId(This,GenerationId)
  16141. #define ISpeechLexicon_GetWords(This,Flags,GenerationID,Words) (This)->lpVtbl->GetWords(This,Flags,GenerationID,Words)
  16142. #define ISpeechLexicon_AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation) (This)->lpVtbl->AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation)
  16143. #define ISpeechLexicon_AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds) (This)->lpVtbl->AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds)
  16144. #define ISpeechLexicon_RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation) (This)->lpVtbl->RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation)
  16145. #define ISpeechLexicon_RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds) (This)->lpVtbl->RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds)
  16146. #define ISpeechLexicon_GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations) (This)->lpVtbl->GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations)
  16147. #define ISpeechLexicon_GetGenerationChange(This,GenerationID,ppWords) (This)->lpVtbl->GetGenerationChange(This,GenerationID,ppWords)
  16148. #else
  16149. /*** IUnknown methods ***/
  16150. static FORCEINLINE HRESULT ISpeechLexicon_QueryInterface(ISpeechLexicon* This,REFIID riid,void **ppvObject) {
  16151. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  16152. }
  16153. static FORCEINLINE ULONG ISpeechLexicon_AddRef(ISpeechLexicon* This) {
  16154. return This->lpVtbl->AddRef(This);
  16155. }
  16156. static FORCEINLINE ULONG ISpeechLexicon_Release(ISpeechLexicon* This) {
  16157. return This->lpVtbl->Release(This);
  16158. }
  16159. /*** IDispatch methods ***/
  16160. static FORCEINLINE HRESULT ISpeechLexicon_GetTypeInfoCount(ISpeechLexicon* This,UINT *pctinfo) {
  16161. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  16162. }
  16163. static FORCEINLINE HRESULT ISpeechLexicon_GetTypeInfo(ISpeechLexicon* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  16164. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  16165. }
  16166. static FORCEINLINE HRESULT ISpeechLexicon_GetIDsOfNames(ISpeechLexicon* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  16167. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  16168. }
  16169. static FORCEINLINE HRESULT ISpeechLexicon_Invoke(ISpeechLexicon* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  16170. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  16171. }
  16172. /*** ISpeechLexicon methods ***/
  16173. static FORCEINLINE HRESULT ISpeechLexicon_get_GenerationId(ISpeechLexicon* This,LONG *GenerationId) {
  16174. return This->lpVtbl->get_GenerationId(This,GenerationId);
  16175. }
  16176. static FORCEINLINE HRESULT ISpeechLexicon_GetWords(ISpeechLexicon* This,SpeechLexiconType Flags,LONG *GenerationID,ISpeechLexiconWords **Words) {
  16177. return This->lpVtbl->GetWords(This,Flags,GenerationID,Words);
  16178. }
  16179. static FORCEINLINE HRESULT ISpeechLexicon_AddPronunciation(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,BSTR bstrPronunciation) {
  16180. return This->lpVtbl->AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation);
  16181. }
  16182. static FORCEINLINE HRESULT ISpeechLexicon_AddPronunciationByPhoneIds(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,VARIANT *PhoneIds) {
  16183. return This->lpVtbl->AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds);
  16184. }
  16185. static FORCEINLINE HRESULT ISpeechLexicon_RemovePronunciation(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,BSTR bstrPronunciation) {
  16186. return This->lpVtbl->RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation);
  16187. }
  16188. static FORCEINLINE HRESULT ISpeechLexicon_RemovePronunciationByPhoneIds(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,VARIANT *PhoneIds) {
  16189. return This->lpVtbl->RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds);
  16190. }
  16191. static FORCEINLINE HRESULT ISpeechLexicon_GetPronunciations(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechLexiconType TypeFlags,ISpeechLexiconPronunciations **ppPronunciations) {
  16192. return This->lpVtbl->GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations);
  16193. }
  16194. static FORCEINLINE HRESULT ISpeechLexicon_GetGenerationChange(ISpeechLexicon* This,LONG *GenerationID,ISpeechLexiconWords **ppWords) {
  16195. return This->lpVtbl->GetGenerationChange(This,GenerationID,ppWords);
  16196. }
  16197. #endif
  16198. #endif
  16199. #endif
  16200. #endif /* __ISpeechLexicon_INTERFACE_DEFINED__ */
  16201. /*****************************************************************************
  16202. * ISpeechLexiconWord interface
  16203. */
  16204. #ifndef __ISpeechLexiconWord_INTERFACE_DEFINED__
  16205. #define __ISpeechLexiconWord_INTERFACE_DEFINED__
  16206. DEFINE_GUID(IID_ISpeechLexiconWord, 0x4e5b933c, 0xc9be, 0x48ed, 0x88,0x42, 0x1e,0xe5,0x1b,0xb1,0xd4,0xff);
  16207. #if defined(__cplusplus) && !defined(CINTERFACE)
  16208. MIDL_INTERFACE("4e5b933c-c9be-48ed-8842-1ee51bb1d4ff")
  16209. ISpeechLexiconWord : public IDispatch
  16210. {
  16211. virtual HRESULT STDMETHODCALLTYPE get_LangId(
  16212. SpeechLanguageId *LangId) = 0;
  16213. virtual HRESULT STDMETHODCALLTYPE get_Type(
  16214. SpeechWordType *WordType) = 0;
  16215. virtual HRESULT STDMETHODCALLTYPE get_Word(
  16216. BSTR *Word) = 0;
  16217. virtual HRESULT STDMETHODCALLTYPE get_Pronunciations(
  16218. ISpeechLexiconPronunciations **Pronunciations) = 0;
  16219. };
  16220. #ifdef __CRT_UUID_DECL
  16221. __CRT_UUID_DECL(ISpeechLexiconWord, 0x4e5b933c, 0xc9be, 0x48ed, 0x88,0x42, 0x1e,0xe5,0x1b,0xb1,0xd4,0xff)
  16222. #endif
  16223. #else
  16224. typedef struct ISpeechLexiconWordVtbl {
  16225. BEGIN_INTERFACE
  16226. /*** IUnknown methods ***/
  16227. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  16228. ISpeechLexiconWord *This,
  16229. REFIID riid,
  16230. void **ppvObject);
  16231. ULONG (STDMETHODCALLTYPE *AddRef)(
  16232. ISpeechLexiconWord *This);
  16233. ULONG (STDMETHODCALLTYPE *Release)(
  16234. ISpeechLexiconWord *This);
  16235. /*** IDispatch methods ***/
  16236. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  16237. ISpeechLexiconWord *This,
  16238. UINT *pctinfo);
  16239. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  16240. ISpeechLexiconWord *This,
  16241. UINT iTInfo,
  16242. LCID lcid,
  16243. ITypeInfo **ppTInfo);
  16244. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  16245. ISpeechLexiconWord *This,
  16246. REFIID riid,
  16247. LPOLESTR *rgszNames,
  16248. UINT cNames,
  16249. LCID lcid,
  16250. DISPID *rgDispId);
  16251. HRESULT (STDMETHODCALLTYPE *Invoke)(
  16252. ISpeechLexiconWord *This,
  16253. DISPID dispIdMember,
  16254. REFIID riid,
  16255. LCID lcid,
  16256. WORD wFlags,
  16257. DISPPARAMS *pDispParams,
  16258. VARIANT *pVarResult,
  16259. EXCEPINFO *pExcepInfo,
  16260. UINT *puArgErr);
  16261. /*** ISpeechLexiconWord methods ***/
  16262. HRESULT (STDMETHODCALLTYPE *get_LangId)(
  16263. ISpeechLexiconWord *This,
  16264. SpeechLanguageId *LangId);
  16265. HRESULT (STDMETHODCALLTYPE *get_Type)(
  16266. ISpeechLexiconWord *This,
  16267. SpeechWordType *WordType);
  16268. HRESULT (STDMETHODCALLTYPE *get_Word)(
  16269. ISpeechLexiconWord *This,
  16270. BSTR *Word);
  16271. HRESULT (STDMETHODCALLTYPE *get_Pronunciations)(
  16272. ISpeechLexiconWord *This,
  16273. ISpeechLexiconPronunciations **Pronunciations);
  16274. END_INTERFACE
  16275. } ISpeechLexiconWordVtbl;
  16276. interface ISpeechLexiconWord {
  16277. CONST_VTBL ISpeechLexiconWordVtbl* lpVtbl;
  16278. };
  16279. #ifdef COBJMACROS
  16280. #ifndef WIDL_C_INLINE_WRAPPERS
  16281. /*** IUnknown methods ***/
  16282. #define ISpeechLexiconWord_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  16283. #define ISpeechLexiconWord_AddRef(This) (This)->lpVtbl->AddRef(This)
  16284. #define ISpeechLexiconWord_Release(This) (This)->lpVtbl->Release(This)
  16285. /*** IDispatch methods ***/
  16286. #define ISpeechLexiconWord_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  16287. #define ISpeechLexiconWord_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  16288. #define ISpeechLexiconWord_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  16289. #define ISpeechLexiconWord_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  16290. /*** ISpeechLexiconWord methods ***/
  16291. #define ISpeechLexiconWord_get_LangId(This,LangId) (This)->lpVtbl->get_LangId(This,LangId)
  16292. #define ISpeechLexiconWord_get_Type(This,WordType) (This)->lpVtbl->get_Type(This,WordType)
  16293. #define ISpeechLexiconWord_get_Word(This,Word) (This)->lpVtbl->get_Word(This,Word)
  16294. #define ISpeechLexiconWord_get_Pronunciations(This,Pronunciations) (This)->lpVtbl->get_Pronunciations(This,Pronunciations)
  16295. #else
  16296. /*** IUnknown methods ***/
  16297. static FORCEINLINE HRESULT ISpeechLexiconWord_QueryInterface(ISpeechLexiconWord* This,REFIID riid,void **ppvObject) {
  16298. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  16299. }
  16300. static FORCEINLINE ULONG ISpeechLexiconWord_AddRef(ISpeechLexiconWord* This) {
  16301. return This->lpVtbl->AddRef(This);
  16302. }
  16303. static FORCEINLINE ULONG ISpeechLexiconWord_Release(ISpeechLexiconWord* This) {
  16304. return This->lpVtbl->Release(This);
  16305. }
  16306. /*** IDispatch methods ***/
  16307. static FORCEINLINE HRESULT ISpeechLexiconWord_GetTypeInfoCount(ISpeechLexiconWord* This,UINT *pctinfo) {
  16308. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  16309. }
  16310. static FORCEINLINE HRESULT ISpeechLexiconWord_GetTypeInfo(ISpeechLexiconWord* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  16311. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  16312. }
  16313. static FORCEINLINE HRESULT ISpeechLexiconWord_GetIDsOfNames(ISpeechLexiconWord* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  16314. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  16315. }
  16316. static FORCEINLINE HRESULT ISpeechLexiconWord_Invoke(ISpeechLexiconWord* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  16317. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  16318. }
  16319. /*** ISpeechLexiconWord methods ***/
  16320. static FORCEINLINE HRESULT ISpeechLexiconWord_get_LangId(ISpeechLexiconWord* This,SpeechLanguageId *LangId) {
  16321. return This->lpVtbl->get_LangId(This,LangId);
  16322. }
  16323. static FORCEINLINE HRESULT ISpeechLexiconWord_get_Type(ISpeechLexiconWord* This,SpeechWordType *WordType) {
  16324. return This->lpVtbl->get_Type(This,WordType);
  16325. }
  16326. static FORCEINLINE HRESULT ISpeechLexiconWord_get_Word(ISpeechLexiconWord* This,BSTR *Word) {
  16327. return This->lpVtbl->get_Word(This,Word);
  16328. }
  16329. static FORCEINLINE HRESULT ISpeechLexiconWord_get_Pronunciations(ISpeechLexiconWord* This,ISpeechLexiconPronunciations **Pronunciations) {
  16330. return This->lpVtbl->get_Pronunciations(This,Pronunciations);
  16331. }
  16332. #endif
  16333. #endif
  16334. #endif
  16335. #endif /* __ISpeechLexiconWord_INTERFACE_DEFINED__ */
  16336. /*****************************************************************************
  16337. * ISpeechLexiconPronunciations interface
  16338. */
  16339. #ifndef __ISpeechLexiconPronunciations_INTERFACE_DEFINED__
  16340. #define __ISpeechLexiconPronunciations_INTERFACE_DEFINED__
  16341. DEFINE_GUID(IID_ISpeechLexiconPronunciations, 0x72829128, 0x5682, 0x4704, 0xa0,0xd4, 0x3e,0x2b,0xb6,0xf2,0xea,0xd3);
  16342. #if defined(__cplusplus) && !defined(CINTERFACE)
  16343. MIDL_INTERFACE("72829128-5682-4704-a0d4-3e2bb6f2ead3")
  16344. ISpeechLexiconPronunciations : public IDispatch
  16345. {
  16346. virtual HRESULT STDMETHODCALLTYPE get_Count(
  16347. LONG *Count) = 0;
  16348. virtual HRESULT STDMETHODCALLTYPE Item(
  16349. LONG Index,
  16350. ISpeechLexiconPronunciation **Pronunciation) = 0;
  16351. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  16352. IUnknown **EnumVARIANT) = 0;
  16353. };
  16354. #ifdef __CRT_UUID_DECL
  16355. __CRT_UUID_DECL(ISpeechLexiconPronunciations, 0x72829128, 0x5682, 0x4704, 0xa0,0xd4, 0x3e,0x2b,0xb6,0xf2,0xea,0xd3)
  16356. #endif
  16357. #else
  16358. typedef struct ISpeechLexiconPronunciationsVtbl {
  16359. BEGIN_INTERFACE
  16360. /*** IUnknown methods ***/
  16361. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  16362. ISpeechLexiconPronunciations *This,
  16363. REFIID riid,
  16364. void **ppvObject);
  16365. ULONG (STDMETHODCALLTYPE *AddRef)(
  16366. ISpeechLexiconPronunciations *This);
  16367. ULONG (STDMETHODCALLTYPE *Release)(
  16368. ISpeechLexiconPronunciations *This);
  16369. /*** IDispatch methods ***/
  16370. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  16371. ISpeechLexiconPronunciations *This,
  16372. UINT *pctinfo);
  16373. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  16374. ISpeechLexiconPronunciations *This,
  16375. UINT iTInfo,
  16376. LCID lcid,
  16377. ITypeInfo **ppTInfo);
  16378. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  16379. ISpeechLexiconPronunciations *This,
  16380. REFIID riid,
  16381. LPOLESTR *rgszNames,
  16382. UINT cNames,
  16383. LCID lcid,
  16384. DISPID *rgDispId);
  16385. HRESULT (STDMETHODCALLTYPE *Invoke)(
  16386. ISpeechLexiconPronunciations *This,
  16387. DISPID dispIdMember,
  16388. REFIID riid,
  16389. LCID lcid,
  16390. WORD wFlags,
  16391. DISPPARAMS *pDispParams,
  16392. VARIANT *pVarResult,
  16393. EXCEPINFO *pExcepInfo,
  16394. UINT *puArgErr);
  16395. /*** ISpeechLexiconPronunciations methods ***/
  16396. HRESULT (STDMETHODCALLTYPE *get_Count)(
  16397. ISpeechLexiconPronunciations *This,
  16398. LONG *Count);
  16399. HRESULT (STDMETHODCALLTYPE *Item)(
  16400. ISpeechLexiconPronunciations *This,
  16401. LONG Index,
  16402. ISpeechLexiconPronunciation **Pronunciation);
  16403. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  16404. ISpeechLexiconPronunciations *This,
  16405. IUnknown **EnumVARIANT);
  16406. END_INTERFACE
  16407. } ISpeechLexiconPronunciationsVtbl;
  16408. interface ISpeechLexiconPronunciations {
  16409. CONST_VTBL ISpeechLexiconPronunciationsVtbl* lpVtbl;
  16410. };
  16411. #ifdef COBJMACROS
  16412. #ifndef WIDL_C_INLINE_WRAPPERS
  16413. /*** IUnknown methods ***/
  16414. #define ISpeechLexiconPronunciations_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  16415. #define ISpeechLexiconPronunciations_AddRef(This) (This)->lpVtbl->AddRef(This)
  16416. #define ISpeechLexiconPronunciations_Release(This) (This)->lpVtbl->Release(This)
  16417. /*** IDispatch methods ***/
  16418. #define ISpeechLexiconPronunciations_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  16419. #define ISpeechLexiconPronunciations_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  16420. #define ISpeechLexiconPronunciations_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  16421. #define ISpeechLexiconPronunciations_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  16422. /*** ISpeechLexiconPronunciations methods ***/
  16423. #define ISpeechLexiconPronunciations_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  16424. #define ISpeechLexiconPronunciations_Item(This,Index,Pronunciation) (This)->lpVtbl->Item(This,Index,Pronunciation)
  16425. #define ISpeechLexiconPronunciations_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
  16426. #else
  16427. /*** IUnknown methods ***/
  16428. static FORCEINLINE HRESULT ISpeechLexiconPronunciations_QueryInterface(ISpeechLexiconPronunciations* This,REFIID riid,void **ppvObject) {
  16429. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  16430. }
  16431. static FORCEINLINE ULONG ISpeechLexiconPronunciations_AddRef(ISpeechLexiconPronunciations* This) {
  16432. return This->lpVtbl->AddRef(This);
  16433. }
  16434. static FORCEINLINE ULONG ISpeechLexiconPronunciations_Release(ISpeechLexiconPronunciations* This) {
  16435. return This->lpVtbl->Release(This);
  16436. }
  16437. /*** IDispatch methods ***/
  16438. static FORCEINLINE HRESULT ISpeechLexiconPronunciations_GetTypeInfoCount(ISpeechLexiconPronunciations* This,UINT *pctinfo) {
  16439. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  16440. }
  16441. static FORCEINLINE HRESULT ISpeechLexiconPronunciations_GetTypeInfo(ISpeechLexiconPronunciations* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  16442. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  16443. }
  16444. static FORCEINLINE HRESULT ISpeechLexiconPronunciations_GetIDsOfNames(ISpeechLexiconPronunciations* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  16445. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  16446. }
  16447. static FORCEINLINE HRESULT ISpeechLexiconPronunciations_Invoke(ISpeechLexiconPronunciations* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  16448. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  16449. }
  16450. /*** ISpeechLexiconPronunciations methods ***/
  16451. static FORCEINLINE HRESULT ISpeechLexiconPronunciations_get_Count(ISpeechLexiconPronunciations* This,LONG *Count) {
  16452. return This->lpVtbl->get_Count(This,Count);
  16453. }
  16454. static FORCEINLINE HRESULT ISpeechLexiconPronunciations_Item(ISpeechLexiconPronunciations* This,LONG Index,ISpeechLexiconPronunciation **Pronunciation) {
  16455. return This->lpVtbl->Item(This,Index,Pronunciation);
  16456. }
  16457. static FORCEINLINE HRESULT ISpeechLexiconPronunciations_get__NewEnum(ISpeechLexiconPronunciations* This,IUnknown **EnumVARIANT) {
  16458. return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
  16459. }
  16460. #endif
  16461. #endif
  16462. #endif
  16463. #endif /* __ISpeechLexiconPronunciations_INTERFACE_DEFINED__ */
  16464. /*****************************************************************************
  16465. * ISpeechLexiconPronunciation interface
  16466. */
  16467. #ifndef __ISpeechLexiconPronunciation_INTERFACE_DEFINED__
  16468. #define __ISpeechLexiconPronunciation_INTERFACE_DEFINED__
  16469. DEFINE_GUID(IID_ISpeechLexiconPronunciation, 0x95252c5d, 0x9e43, 0x4f4a, 0x98,0x99, 0x48,0xee,0x73,0x35,0x2f,0x9f);
  16470. #if defined(__cplusplus) && !defined(CINTERFACE)
  16471. MIDL_INTERFACE("95252c5d-9e43-4f4a-9899-48ee73352f9f")
  16472. ISpeechLexiconPronunciation : public IDispatch
  16473. {
  16474. virtual HRESULT STDMETHODCALLTYPE get_Type(
  16475. SpeechLexiconType *LexiconType) = 0;
  16476. virtual HRESULT STDMETHODCALLTYPE get_LangId(
  16477. SpeechLanguageId *LangId) = 0;
  16478. virtual HRESULT STDMETHODCALLTYPE get_PartOfSpeech(
  16479. SpeechPartOfSpeech *PartOfSpeech) = 0;
  16480. virtual HRESULT STDMETHODCALLTYPE get_PhoneIds(
  16481. VARIANT *PhoneIds) = 0;
  16482. virtual HRESULT STDMETHODCALLTYPE get_Symbolic(
  16483. BSTR *Symbolic) = 0;
  16484. };
  16485. #ifdef __CRT_UUID_DECL
  16486. __CRT_UUID_DECL(ISpeechLexiconPronunciation, 0x95252c5d, 0x9e43, 0x4f4a, 0x98,0x99, 0x48,0xee,0x73,0x35,0x2f,0x9f)
  16487. #endif
  16488. #else
  16489. typedef struct ISpeechLexiconPronunciationVtbl {
  16490. BEGIN_INTERFACE
  16491. /*** IUnknown methods ***/
  16492. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  16493. ISpeechLexiconPronunciation *This,
  16494. REFIID riid,
  16495. void **ppvObject);
  16496. ULONG (STDMETHODCALLTYPE *AddRef)(
  16497. ISpeechLexiconPronunciation *This);
  16498. ULONG (STDMETHODCALLTYPE *Release)(
  16499. ISpeechLexiconPronunciation *This);
  16500. /*** IDispatch methods ***/
  16501. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  16502. ISpeechLexiconPronunciation *This,
  16503. UINT *pctinfo);
  16504. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  16505. ISpeechLexiconPronunciation *This,
  16506. UINT iTInfo,
  16507. LCID lcid,
  16508. ITypeInfo **ppTInfo);
  16509. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  16510. ISpeechLexiconPronunciation *This,
  16511. REFIID riid,
  16512. LPOLESTR *rgszNames,
  16513. UINT cNames,
  16514. LCID lcid,
  16515. DISPID *rgDispId);
  16516. HRESULT (STDMETHODCALLTYPE *Invoke)(
  16517. ISpeechLexiconPronunciation *This,
  16518. DISPID dispIdMember,
  16519. REFIID riid,
  16520. LCID lcid,
  16521. WORD wFlags,
  16522. DISPPARAMS *pDispParams,
  16523. VARIANT *pVarResult,
  16524. EXCEPINFO *pExcepInfo,
  16525. UINT *puArgErr);
  16526. /*** ISpeechLexiconPronunciation methods ***/
  16527. HRESULT (STDMETHODCALLTYPE *get_Type)(
  16528. ISpeechLexiconPronunciation *This,
  16529. SpeechLexiconType *LexiconType);
  16530. HRESULT (STDMETHODCALLTYPE *get_LangId)(
  16531. ISpeechLexiconPronunciation *This,
  16532. SpeechLanguageId *LangId);
  16533. HRESULT (STDMETHODCALLTYPE *get_PartOfSpeech)(
  16534. ISpeechLexiconPronunciation *This,
  16535. SpeechPartOfSpeech *PartOfSpeech);
  16536. HRESULT (STDMETHODCALLTYPE *get_PhoneIds)(
  16537. ISpeechLexiconPronunciation *This,
  16538. VARIANT *PhoneIds);
  16539. HRESULT (STDMETHODCALLTYPE *get_Symbolic)(
  16540. ISpeechLexiconPronunciation *This,
  16541. BSTR *Symbolic);
  16542. END_INTERFACE
  16543. } ISpeechLexiconPronunciationVtbl;
  16544. interface ISpeechLexiconPronunciation {
  16545. CONST_VTBL ISpeechLexiconPronunciationVtbl* lpVtbl;
  16546. };
  16547. #ifdef COBJMACROS
  16548. #ifndef WIDL_C_INLINE_WRAPPERS
  16549. /*** IUnknown methods ***/
  16550. #define ISpeechLexiconPronunciation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  16551. #define ISpeechLexiconPronunciation_AddRef(This) (This)->lpVtbl->AddRef(This)
  16552. #define ISpeechLexiconPronunciation_Release(This) (This)->lpVtbl->Release(This)
  16553. /*** IDispatch methods ***/
  16554. #define ISpeechLexiconPronunciation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  16555. #define ISpeechLexiconPronunciation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  16556. #define ISpeechLexiconPronunciation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  16557. #define ISpeechLexiconPronunciation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  16558. /*** ISpeechLexiconPronunciation methods ***/
  16559. #define ISpeechLexiconPronunciation_get_Type(This,LexiconType) (This)->lpVtbl->get_Type(This,LexiconType)
  16560. #define ISpeechLexiconPronunciation_get_LangId(This,LangId) (This)->lpVtbl->get_LangId(This,LangId)
  16561. #define ISpeechLexiconPronunciation_get_PartOfSpeech(This,PartOfSpeech) (This)->lpVtbl->get_PartOfSpeech(This,PartOfSpeech)
  16562. #define ISpeechLexiconPronunciation_get_PhoneIds(This,PhoneIds) (This)->lpVtbl->get_PhoneIds(This,PhoneIds)
  16563. #define ISpeechLexiconPronunciation_get_Symbolic(This,Symbolic) (This)->lpVtbl->get_Symbolic(This,Symbolic)
  16564. #else
  16565. /*** IUnknown methods ***/
  16566. static FORCEINLINE HRESULT ISpeechLexiconPronunciation_QueryInterface(ISpeechLexiconPronunciation* This,REFIID riid,void **ppvObject) {
  16567. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  16568. }
  16569. static FORCEINLINE ULONG ISpeechLexiconPronunciation_AddRef(ISpeechLexiconPronunciation* This) {
  16570. return This->lpVtbl->AddRef(This);
  16571. }
  16572. static FORCEINLINE ULONG ISpeechLexiconPronunciation_Release(ISpeechLexiconPronunciation* This) {
  16573. return This->lpVtbl->Release(This);
  16574. }
  16575. /*** IDispatch methods ***/
  16576. static FORCEINLINE HRESULT ISpeechLexiconPronunciation_GetTypeInfoCount(ISpeechLexiconPronunciation* This,UINT *pctinfo) {
  16577. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  16578. }
  16579. static FORCEINLINE HRESULT ISpeechLexiconPronunciation_GetTypeInfo(ISpeechLexiconPronunciation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  16580. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  16581. }
  16582. static FORCEINLINE HRESULT ISpeechLexiconPronunciation_GetIDsOfNames(ISpeechLexiconPronunciation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  16583. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  16584. }
  16585. static FORCEINLINE HRESULT ISpeechLexiconPronunciation_Invoke(ISpeechLexiconPronunciation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  16586. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  16587. }
  16588. /*** ISpeechLexiconPronunciation methods ***/
  16589. static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_Type(ISpeechLexiconPronunciation* This,SpeechLexiconType *LexiconType) {
  16590. return This->lpVtbl->get_Type(This,LexiconType);
  16591. }
  16592. static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_LangId(ISpeechLexiconPronunciation* This,SpeechLanguageId *LangId) {
  16593. return This->lpVtbl->get_LangId(This,LangId);
  16594. }
  16595. static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_PartOfSpeech(ISpeechLexiconPronunciation* This,SpeechPartOfSpeech *PartOfSpeech) {
  16596. return This->lpVtbl->get_PartOfSpeech(This,PartOfSpeech);
  16597. }
  16598. static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_PhoneIds(ISpeechLexiconPronunciation* This,VARIANT *PhoneIds) {
  16599. return This->lpVtbl->get_PhoneIds(This,PhoneIds);
  16600. }
  16601. static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_Symbolic(ISpeechLexiconPronunciation* This,BSTR *Symbolic) {
  16602. return This->lpVtbl->get_Symbolic(This,Symbolic);
  16603. }
  16604. #endif
  16605. #endif
  16606. #endif
  16607. #endif /* __ISpeechLexiconPronunciation_INTERFACE_DEFINED__ */
  16608. /*****************************************************************************
  16609. * ISpeechPhoneConverter interface
  16610. */
  16611. #ifndef __ISpeechPhoneConverter_INTERFACE_DEFINED__
  16612. #define __ISpeechPhoneConverter_INTERFACE_DEFINED__
  16613. DEFINE_GUID(IID_ISpeechPhoneConverter, 0xc3e4f353, 0x433f, 0x43d6, 0x89,0xa1, 0x6a,0x62,0xa7,0x05,0x4c,0x3d);
  16614. #if defined(__cplusplus) && !defined(CINTERFACE)
  16615. MIDL_INTERFACE("c3e4f353-433f-43d6-89a1-6a62a7054c3d")
  16616. ISpeechPhoneConverter : public IDispatch
  16617. {
  16618. virtual HRESULT STDMETHODCALLTYPE get_LanguageId(
  16619. SpeechLanguageId *LanguageId) = 0;
  16620. virtual HRESULT STDMETHODCALLTYPE put_LanguageId(
  16621. SpeechLanguageId LanguageId) = 0;
  16622. virtual HRESULT STDMETHODCALLTYPE PhoneToId(
  16623. const BSTR Phonemes,
  16624. VARIANT *IdArray) = 0;
  16625. virtual HRESULT STDMETHODCALLTYPE IdToPhone(
  16626. const VARIANT IdArray,
  16627. BSTR *Phonemes) = 0;
  16628. };
  16629. #ifdef __CRT_UUID_DECL
  16630. __CRT_UUID_DECL(ISpeechPhoneConverter, 0xc3e4f353, 0x433f, 0x43d6, 0x89,0xa1, 0x6a,0x62,0xa7,0x05,0x4c,0x3d)
  16631. #endif
  16632. #else
  16633. typedef struct ISpeechPhoneConverterVtbl {
  16634. BEGIN_INTERFACE
  16635. /*** IUnknown methods ***/
  16636. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  16637. ISpeechPhoneConverter *This,
  16638. REFIID riid,
  16639. void **ppvObject);
  16640. ULONG (STDMETHODCALLTYPE *AddRef)(
  16641. ISpeechPhoneConverter *This);
  16642. ULONG (STDMETHODCALLTYPE *Release)(
  16643. ISpeechPhoneConverter *This);
  16644. /*** IDispatch methods ***/
  16645. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  16646. ISpeechPhoneConverter *This,
  16647. UINT *pctinfo);
  16648. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  16649. ISpeechPhoneConverter *This,
  16650. UINT iTInfo,
  16651. LCID lcid,
  16652. ITypeInfo **ppTInfo);
  16653. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  16654. ISpeechPhoneConverter *This,
  16655. REFIID riid,
  16656. LPOLESTR *rgszNames,
  16657. UINT cNames,
  16658. LCID lcid,
  16659. DISPID *rgDispId);
  16660. HRESULT (STDMETHODCALLTYPE *Invoke)(
  16661. ISpeechPhoneConverter *This,
  16662. DISPID dispIdMember,
  16663. REFIID riid,
  16664. LCID lcid,
  16665. WORD wFlags,
  16666. DISPPARAMS *pDispParams,
  16667. VARIANT *pVarResult,
  16668. EXCEPINFO *pExcepInfo,
  16669. UINT *puArgErr);
  16670. /*** ISpeechPhoneConverter methods ***/
  16671. HRESULT (STDMETHODCALLTYPE *get_LanguageId)(
  16672. ISpeechPhoneConverter *This,
  16673. SpeechLanguageId *LanguageId);
  16674. HRESULT (STDMETHODCALLTYPE *put_LanguageId)(
  16675. ISpeechPhoneConverter *This,
  16676. SpeechLanguageId LanguageId);
  16677. HRESULT (STDMETHODCALLTYPE *PhoneToId)(
  16678. ISpeechPhoneConverter *This,
  16679. const BSTR Phonemes,
  16680. VARIANT *IdArray);
  16681. HRESULT (STDMETHODCALLTYPE *IdToPhone)(
  16682. ISpeechPhoneConverter *This,
  16683. const VARIANT IdArray,
  16684. BSTR *Phonemes);
  16685. END_INTERFACE
  16686. } ISpeechPhoneConverterVtbl;
  16687. interface ISpeechPhoneConverter {
  16688. CONST_VTBL ISpeechPhoneConverterVtbl* lpVtbl;
  16689. };
  16690. #ifdef COBJMACROS
  16691. #ifndef WIDL_C_INLINE_WRAPPERS
  16692. /*** IUnknown methods ***/
  16693. #define ISpeechPhoneConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  16694. #define ISpeechPhoneConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
  16695. #define ISpeechPhoneConverter_Release(This) (This)->lpVtbl->Release(This)
  16696. /*** IDispatch methods ***/
  16697. #define ISpeechPhoneConverter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  16698. #define ISpeechPhoneConverter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  16699. #define ISpeechPhoneConverter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  16700. #define ISpeechPhoneConverter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  16701. /*** ISpeechPhoneConverter methods ***/
  16702. #define ISpeechPhoneConverter_get_LanguageId(This,LanguageId) (This)->lpVtbl->get_LanguageId(This,LanguageId)
  16703. #define ISpeechPhoneConverter_put_LanguageId(This,LanguageId) (This)->lpVtbl->put_LanguageId(This,LanguageId)
  16704. #define ISpeechPhoneConverter_PhoneToId(This,Phonemes,IdArray) (This)->lpVtbl->PhoneToId(This,Phonemes,IdArray)
  16705. #define ISpeechPhoneConverter_IdToPhone(This,IdArray,Phonemes) (This)->lpVtbl->IdToPhone(This,IdArray,Phonemes)
  16706. #else
  16707. /*** IUnknown methods ***/
  16708. static FORCEINLINE HRESULT ISpeechPhoneConverter_QueryInterface(ISpeechPhoneConverter* This,REFIID riid,void **ppvObject) {
  16709. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  16710. }
  16711. static FORCEINLINE ULONG ISpeechPhoneConverter_AddRef(ISpeechPhoneConverter* This) {
  16712. return This->lpVtbl->AddRef(This);
  16713. }
  16714. static FORCEINLINE ULONG ISpeechPhoneConverter_Release(ISpeechPhoneConverter* This) {
  16715. return This->lpVtbl->Release(This);
  16716. }
  16717. /*** IDispatch methods ***/
  16718. static FORCEINLINE HRESULT ISpeechPhoneConverter_GetTypeInfoCount(ISpeechPhoneConverter* This,UINT *pctinfo) {
  16719. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  16720. }
  16721. static FORCEINLINE HRESULT ISpeechPhoneConverter_GetTypeInfo(ISpeechPhoneConverter* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  16722. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  16723. }
  16724. static FORCEINLINE HRESULT ISpeechPhoneConverter_GetIDsOfNames(ISpeechPhoneConverter* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  16725. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  16726. }
  16727. static FORCEINLINE HRESULT ISpeechPhoneConverter_Invoke(ISpeechPhoneConverter* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  16728. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  16729. }
  16730. /*** ISpeechPhoneConverter methods ***/
  16731. static FORCEINLINE HRESULT ISpeechPhoneConverter_get_LanguageId(ISpeechPhoneConverter* This,SpeechLanguageId *LanguageId) {
  16732. return This->lpVtbl->get_LanguageId(This,LanguageId);
  16733. }
  16734. static FORCEINLINE HRESULT ISpeechPhoneConverter_put_LanguageId(ISpeechPhoneConverter* This,SpeechLanguageId LanguageId) {
  16735. return This->lpVtbl->put_LanguageId(This,LanguageId);
  16736. }
  16737. static FORCEINLINE HRESULT ISpeechPhoneConverter_PhoneToId(ISpeechPhoneConverter* This,const BSTR Phonemes,VARIANT *IdArray) {
  16738. return This->lpVtbl->PhoneToId(This,Phonemes,IdArray);
  16739. }
  16740. static FORCEINLINE HRESULT ISpeechPhoneConverter_IdToPhone(ISpeechPhoneConverter* This,const VARIANT IdArray,BSTR *Phonemes) {
  16741. return This->lpVtbl->IdToPhone(This,IdArray,Phonemes);
  16742. }
  16743. #endif
  16744. #endif
  16745. #endif
  16746. #endif /* __ISpeechPhoneConverter_INTERFACE_DEFINED__ */
  16747. /*****************************************************************************
  16748. * SpNotifyTranslator coclass
  16749. */
  16750. DEFINE_GUID(CLSID_SpNotifyTranslator, 0xe2ae5372, 0x5d40, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  16751. #ifdef __cplusplus
  16752. class DECLSPEC_UUID("e2ae5372-5d40-11d2-960e-00c04f8ee628") SpNotifyTranslator;
  16753. #ifdef __CRT_UUID_DECL
  16754. __CRT_UUID_DECL(SpNotifyTranslator, 0xe2ae5372, 0x5d40, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
  16755. #endif
  16756. #endif
  16757. /*****************************************************************************
  16758. * SpObjectTokenCategory coclass
  16759. */
  16760. DEFINE_GUID(CLSID_SpObjectTokenCategory, 0xa910187f, 0x0c7a, 0x45ac, 0x92,0xcc, 0x59,0xed,0xaf,0xb7,0x7b,0x53);
  16761. #ifdef __cplusplus
  16762. class DECLSPEC_UUID("a910187f-0c7a-45ac-92cc-59edafb77b53") SpObjectTokenCategory;
  16763. #ifdef __CRT_UUID_DECL
  16764. __CRT_UUID_DECL(SpObjectTokenCategory, 0xa910187f, 0x0c7a, 0x45ac, 0x92,0xcc, 0x59,0xed,0xaf,0xb7,0x7b,0x53)
  16765. #endif
  16766. #endif
  16767. /*****************************************************************************
  16768. * SpObjectToken coclass
  16769. */
  16770. DEFINE_GUID(CLSID_SpObjectToken, 0xef411752, 0x3736, 0x4cb4, 0x9c,0x8c, 0x8e,0xf4,0xcc,0xb5,0x8e,0xfe);
  16771. #ifdef __cplusplus
  16772. class DECLSPEC_UUID("ef411752-3736-4cb4-9c8c-8ef4ccb58efe") SpObjectToken;
  16773. #ifdef __CRT_UUID_DECL
  16774. __CRT_UUID_DECL(SpObjectToken, 0xef411752, 0x3736, 0x4cb4, 0x9c,0x8c, 0x8e,0xf4,0xcc,0xb5,0x8e,0xfe)
  16775. #endif
  16776. #endif
  16777. /*****************************************************************************
  16778. * SpResourceManager coclass
  16779. */
  16780. DEFINE_GUID(CLSID_SpResourceManager, 0x96749373, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96);
  16781. #ifdef __cplusplus
  16782. class DECLSPEC_UUID("96749373-3391-11d2-9ee3-00c04f797396") SpResourceManager;
  16783. #ifdef __CRT_UUID_DECL
  16784. __CRT_UUID_DECL(SpResourceManager, 0x96749373, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96)
  16785. #endif
  16786. #endif
  16787. /*****************************************************************************
  16788. * SpStreamFormatConverter coclass
  16789. */
  16790. DEFINE_GUID(CLSID_SpStreamFormatConverter, 0x7013943a, 0xe2ec, 0x11d2, 0xa0,0x86, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5);
  16791. #ifdef __cplusplus
  16792. class DECLSPEC_UUID("7013943a-e2ec-11d2-a086-00c04f8ef9b5") SpStreamFormatConverter;
  16793. #ifdef __CRT_UUID_DECL
  16794. __CRT_UUID_DECL(SpStreamFormatConverter, 0x7013943a, 0xe2ec, 0x11d2, 0xa0,0x86, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5)
  16795. #endif
  16796. #endif
  16797. /*****************************************************************************
  16798. * SpMMAudioEnum coclass
  16799. */
  16800. DEFINE_GUID(CLSID_SpMMAudioEnum, 0xab1890a0, 0xe91f, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
  16801. #ifdef __cplusplus
  16802. class DECLSPEC_UUID("ab1890a0-e91f-11d2-bb91-00c04f8ee6c0") SpMMAudioEnum;
  16803. #ifdef __CRT_UUID_DECL
  16804. __CRT_UUID_DECL(SpMMAudioEnum, 0xab1890a0, 0xe91f, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
  16805. #endif
  16806. #endif
  16807. /*****************************************************************************
  16808. * SpMMAudioIn coclass
  16809. */
  16810. DEFINE_GUID(CLSID_SpMMAudioIn, 0xcf3d2e50, 0x53f2, 0x11d2, 0x96,0x0c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  16811. #ifdef __cplusplus
  16812. class DECLSPEC_UUID("cf3d2e50-53f2-11d2-960c-00c04f8ee628") SpMMAudioIn;
  16813. #ifdef __CRT_UUID_DECL
  16814. __CRT_UUID_DECL(SpMMAudioIn, 0xcf3d2e50, 0x53f2, 0x11d2, 0x96,0x0c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
  16815. #endif
  16816. #endif
  16817. /*****************************************************************************
  16818. * SpMMAudioOut coclass
  16819. */
  16820. DEFINE_GUID(CLSID_SpMMAudioOut, 0xa8c680eb, 0x3d32, 0x11d2, 0x9e,0xe7, 0x00,0xc0,0x4f,0x79,0x73,0x96);
  16821. #ifdef __cplusplus
  16822. class DECLSPEC_UUID("a8c680eb-3d32-11d2-9ee7-00c04f797396") SpMMAudioOut;
  16823. #ifdef __CRT_UUID_DECL
  16824. __CRT_UUID_DECL(SpMMAudioOut, 0xa8c680eb, 0x3d32, 0x11d2, 0x9e,0xe7, 0x00,0xc0,0x4f,0x79,0x73,0x96)
  16825. #endif
  16826. #endif
  16827. /*****************************************************************************
  16828. * SpStream coclass
  16829. */
  16830. DEFINE_GUID(CLSID_SpStream, 0x715d9c59, 0x4442, 0x11d2, 0x96,0x05, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  16831. #ifdef __cplusplus
  16832. class DECLSPEC_UUID("715d9c59-4442-11d2-9605-00c04f8ee628") SpStream;
  16833. #ifdef __CRT_UUID_DECL
  16834. __CRT_UUID_DECL(SpStream, 0x715d9c59, 0x4442, 0x11d2, 0x96,0x05, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
  16835. #endif
  16836. #endif
  16837. /*****************************************************************************
  16838. * SpVoice coclass
  16839. */
  16840. DEFINE_GUID(CLSID_SpVoice, 0x96749377, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96);
  16841. #ifdef __cplusplus
  16842. class DECLSPEC_UUID("96749377-3391-11d2-9ee3-00c04f797396") SpVoice;
  16843. #ifdef __CRT_UUID_DECL
  16844. __CRT_UUID_DECL(SpVoice, 0x96749377, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96)
  16845. #endif
  16846. #endif
  16847. /*****************************************************************************
  16848. * SpSharedRecoContext coclass
  16849. */
  16850. DEFINE_GUID(CLSID_SpSharedRecoContext, 0x47206204, 0x5eca, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  16851. #ifdef __cplusplus
  16852. class DECLSPEC_UUID("47206204-5eca-11d2-960f-00c04f8ee628") SpSharedRecoContext;
  16853. #ifdef __CRT_UUID_DECL
  16854. __CRT_UUID_DECL(SpSharedRecoContext, 0x47206204, 0x5eca, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
  16855. #endif
  16856. #endif
  16857. /*****************************************************************************
  16858. * SpInprocRecognizer coclass
  16859. */
  16860. DEFINE_GUID(CLSID_SpInprocRecognizer, 0x41b89b6b, 0x9399, 0x11d2, 0x96,0x23, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
  16861. #ifdef __cplusplus
  16862. class DECLSPEC_UUID("41b89b6b-9399-11d2-9623-00c04f8ee628") SpInprocRecognizer;
  16863. #ifdef __CRT_UUID_DECL
  16864. __CRT_UUID_DECL(SpInprocRecognizer, 0x41b89b6b, 0x9399, 0x11d2, 0x96,0x23, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
  16865. #endif
  16866. #endif
  16867. /*****************************************************************************
  16868. * SpSharedRecognizer coclass
  16869. */
  16870. DEFINE_GUID(CLSID_SpSharedRecognizer, 0x3bee4890, 0x4fe9, 0x4a37, 0x8c,0x1e, 0x5e,0x7e,0x12,0x79,0x1c,0x1f);
  16871. #ifdef __cplusplus
  16872. class DECLSPEC_UUID("3bee4890-4fe9-4a37-8c1e-5e7e12791c1f") SpSharedRecognizer;
  16873. #ifdef __CRT_UUID_DECL
  16874. __CRT_UUID_DECL(SpSharedRecognizer, 0x3bee4890, 0x4fe9, 0x4a37, 0x8c,0x1e, 0x5e,0x7e,0x12,0x79,0x1c,0x1f)
  16875. #endif
  16876. #endif
  16877. /*****************************************************************************
  16878. * SpLexicon coclass
  16879. */
  16880. DEFINE_GUID(CLSID_SpLexicon, 0x0655e396, 0x25d0, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c);
  16881. #ifdef __cplusplus
  16882. class DECLSPEC_UUID("0655e396-25d0-11d3-9c26-00c04f8ef87c") SpLexicon;
  16883. #ifdef __CRT_UUID_DECL
  16884. __CRT_UUID_DECL(SpLexicon, 0x0655e396, 0x25d0, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c)
  16885. #endif
  16886. #endif
  16887. /*****************************************************************************
  16888. * SpUnCompressedLexicon coclass
  16889. */
  16890. DEFINE_GUID(CLSID_SpUnCompressedLexicon, 0xc9e37c15, 0xdf92, 0x4727, 0x85,0xd6, 0x72,0xe5,0xee,0xb6,0x99,0x5a);
  16891. #ifdef __cplusplus
  16892. class DECLSPEC_UUID("c9e37c15-df92-4727-85d6-72e5eeb6995a") SpUnCompressedLexicon;
  16893. #ifdef __CRT_UUID_DECL
  16894. __CRT_UUID_DECL(SpUnCompressedLexicon, 0xc9e37c15, 0xdf92, 0x4727, 0x85,0xd6, 0x72,0xe5,0xee,0xb6,0x99,0x5a)
  16895. #endif
  16896. #endif
  16897. /*****************************************************************************
  16898. * SpCompressedLexicon coclass
  16899. */
  16900. DEFINE_GUID(CLSID_SpCompressedLexicon, 0x90903716, 0x2f42, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c);
  16901. #ifdef __cplusplus
  16902. class DECLSPEC_UUID("90903716-2f42-11d3-9c26-00c04f8ef87c") SpCompressedLexicon;
  16903. #ifdef __CRT_UUID_DECL
  16904. __CRT_UUID_DECL(SpCompressedLexicon, 0x90903716, 0x2f42, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c)
  16905. #endif
  16906. #endif
  16907. /*****************************************************************************
  16908. * SpPhoneConverter coclass
  16909. */
  16910. DEFINE_GUID(CLSID_SpPhoneConverter, 0x9185f743, 0x1143, 0x4c28, 0x86,0xb5, 0xbf,0xf1,0x4f,0x20,0xe5,0xc8);
  16911. #ifdef __cplusplus
  16912. class DECLSPEC_UUID("9185f743-1143-4c28-86b5-bff14f20e5c8") SpPhoneConverter;
  16913. #ifdef __CRT_UUID_DECL
  16914. __CRT_UUID_DECL(SpPhoneConverter, 0x9185f743, 0x1143, 0x4c28, 0x86,0xb5, 0xbf,0xf1,0x4f,0x20,0xe5,0xc8)
  16915. #endif
  16916. #endif
  16917. /*****************************************************************************
  16918. * SpNullPhoneConverter coclass
  16919. */
  16920. DEFINE_GUID(CLSID_SpNullPhoneConverter, 0x455f24e9, 0x7396, 0x4a16, 0x97,0x15, 0x7c,0x0f,0xdb,0xe3,0xef,0xe3);
  16921. #ifdef __cplusplus
  16922. class DECLSPEC_UUID("455f24e9-7396-4a16-9715-7c0fdbe3efe3") SpNullPhoneConverter;
  16923. #ifdef __CRT_UUID_DECL
  16924. __CRT_UUID_DECL(SpNullPhoneConverter, 0x455f24e9, 0x7396, 0x4a16, 0x97,0x15, 0x7c,0x0f,0xdb,0xe3,0xef,0xe3)
  16925. #endif
  16926. #endif
  16927. /*****************************************************************************
  16928. * SpTextSelectionInformation coclass
  16929. */
  16930. DEFINE_GUID(CLSID_SpTextSelectionInformation, 0x0f92030a, 0xcbfd, 0x4ab8, 0xa1,0x64, 0xff,0x59,0x85,0x54,0x7f,0xf6);
  16931. #ifdef __cplusplus
  16932. class DECLSPEC_UUID("0f92030a-cbfd-4ab8-a164-ff5985547ff6") SpTextSelectionInformation;
  16933. #ifdef __CRT_UUID_DECL
  16934. __CRT_UUID_DECL(SpTextSelectionInformation, 0x0f92030a, 0xcbfd, 0x4ab8, 0xa1,0x64, 0xff,0x59,0x85,0x54,0x7f,0xf6)
  16935. #endif
  16936. #endif
  16937. /*****************************************************************************
  16938. * SpPhraseInfoBuilder coclass
  16939. */
  16940. DEFINE_GUID(CLSID_SpPhraseInfoBuilder, 0xc23fc28d, 0xc55f, 0x4720, 0x8b,0x32, 0x91,0xf7,0x3c,0x2b,0xd5,0xd1);
  16941. #ifdef __cplusplus
  16942. class DECLSPEC_UUID("c23fc28d-c55f-4720-8b32-91f73c2bd5d1") SpPhraseInfoBuilder;
  16943. #ifdef __CRT_UUID_DECL
  16944. __CRT_UUID_DECL(SpPhraseInfoBuilder, 0xc23fc28d, 0xc55f, 0x4720, 0x8b,0x32, 0x91,0xf7,0x3c,0x2b,0xd5,0xd1)
  16945. #endif
  16946. #endif
  16947. /*****************************************************************************
  16948. * SpAudioFormat coclass
  16949. */
  16950. DEFINE_GUID(CLSID_SpAudioFormat, 0x9ef96870, 0xe160, 0x4792, 0x82,0x0d, 0x48,0xcf,0x06,0x49,0xe4,0xec);
  16951. #ifdef __cplusplus
  16952. class DECLSPEC_UUID("9ef96870-e160-4792-820d-48cf0649e4ec") SpAudioFormat;
  16953. #ifdef __CRT_UUID_DECL
  16954. __CRT_UUID_DECL(SpAudioFormat, 0x9ef96870, 0xe160, 0x4792, 0x82,0x0d, 0x48,0xcf,0x06,0x49,0xe4,0xec)
  16955. #endif
  16956. #endif
  16957. /*****************************************************************************
  16958. * SpWaveFormatEx coclass
  16959. */
  16960. DEFINE_GUID(CLSID_SpWaveFormatEx, 0xc79a574c, 0x63be, 0x44b9, 0x80,0x1f, 0x28,0x3f,0x87,0xf8,0x98,0xbe);
  16961. #ifdef __cplusplus
  16962. class DECLSPEC_UUID("c79a574c-63be-44b9-801f-283f87f898be") SpWaveFormatEx;
  16963. #ifdef __CRT_UUID_DECL
  16964. __CRT_UUID_DECL(SpWaveFormatEx, 0xc79a574c, 0x63be, 0x44b9, 0x80,0x1f, 0x28,0x3f,0x87,0xf8,0x98,0xbe)
  16965. #endif
  16966. #endif
  16967. /*****************************************************************************
  16968. * SpInProcRecoContext coclass
  16969. */
  16970. DEFINE_GUID(CLSID_SpInProcRecoContext, 0x73ad6842, 0xace0, 0x45e8, 0xa4,0xdd, 0x87,0x95,0x88,0x1a,0x2c,0x2a);
  16971. #ifdef __cplusplus
  16972. class DECLSPEC_UUID("73ad6842-ace0-45e8-a4dd-8795881a2c2a") SpInProcRecoContext;
  16973. #ifdef __CRT_UUID_DECL
  16974. __CRT_UUID_DECL(SpInProcRecoContext, 0x73ad6842, 0xace0, 0x45e8, 0xa4,0xdd, 0x87,0x95,0x88,0x1a,0x2c,0x2a)
  16975. #endif
  16976. #endif
  16977. /*****************************************************************************
  16978. * SpCustomStream coclass
  16979. */
  16980. DEFINE_GUID(CLSID_SpCustomStream, 0x8dbef13f, 0x1948, 0x4aa8, 0x8c,0xf0, 0x04,0x8e,0xeb,0xed,0x95,0xd8);
  16981. #ifdef __cplusplus
  16982. class DECLSPEC_UUID("8dbef13f-1948-4aa8-8cf0-048eebed95d8") SpCustomStream;
  16983. #ifdef __CRT_UUID_DECL
  16984. __CRT_UUID_DECL(SpCustomStream, 0x8dbef13f, 0x1948, 0x4aa8, 0x8c,0xf0, 0x04,0x8e,0xeb,0xed,0x95,0xd8)
  16985. #endif
  16986. #endif
  16987. /*****************************************************************************
  16988. * SpFileStream coclass
  16989. */
  16990. DEFINE_GUID(CLSID_SpFileStream, 0x947812b3, 0x2ae1, 0x4644, 0xba,0x86, 0x9e,0x90,0xde,0xd7,0xec,0x91);
  16991. #ifdef __cplusplus
  16992. class DECLSPEC_UUID("947812b3-2ae1-4644-ba86-9e90ded7ec91") SpFileStream;
  16993. #ifdef __CRT_UUID_DECL
  16994. __CRT_UUID_DECL(SpFileStream, 0x947812b3, 0x2ae1, 0x4644, 0xba,0x86, 0x9e,0x90,0xde,0xd7,0xec,0x91)
  16995. #endif
  16996. #endif
  16997. /*****************************************************************************
  16998. * SpMemoryStream coclass
  16999. */
  17000. DEFINE_GUID(CLSID_SpMemoryStream, 0x5fb7ef7d, 0xdff4, 0x468a, 0xb6,0xb7, 0x2f,0xcb,0xd1,0x88,0xf9,0x94);
  17001. #ifdef __cplusplus
  17002. class DECLSPEC_UUID("5fb7ef7d-dff4-468a-b6b7-2fcbd188f994") SpMemoryStream;
  17003. #ifdef __CRT_UUID_DECL
  17004. __CRT_UUID_DECL(SpMemoryStream, 0x5fb7ef7d, 0xdff4, 0x468a, 0xb6,0xb7, 0x2f,0xcb,0xd1,0x88,0xf9,0x94)
  17005. #endif
  17006. #endif
  17007. #endif /* __SpeechLib_LIBRARY_DEFINED__ */
  17008. /* Begin additional prototypes for all interfaces */
  17009. ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
  17010. unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
  17011. unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
  17012. void __RPC_USER HWND_UserFree (ULONG *, HWND *);
  17013. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  17014. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  17015. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  17016. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  17017. ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
  17018. unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
  17019. unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
  17020. void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
  17021. /* End additional prototypes */
  17022. #ifdef __cplusplus
  17023. }
  17024. #endif
  17025. #endif /* __sapi51_h__ */