dimm.h 148 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025
  1. /*** Autogenerated by WIDL 7.7 from include/dimm.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 __dimm_h__
  14. #define __dimm_h__
  15. /* Forward declarations */
  16. #ifndef __IEnumInputContext_FWD_DEFINED__
  17. #define __IEnumInputContext_FWD_DEFINED__
  18. typedef interface IEnumInputContext IEnumInputContext;
  19. #ifdef __cplusplus
  20. interface IEnumInputContext;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IActiveIMMRegistrar_FWD_DEFINED__
  24. #define __IActiveIMMRegistrar_FWD_DEFINED__
  25. typedef interface IActiveIMMRegistrar IActiveIMMRegistrar;
  26. #ifdef __cplusplus
  27. interface IActiveIMMRegistrar;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IActiveIMMMessagePumpOwner_FWD_DEFINED__
  31. #define __IActiveIMMMessagePumpOwner_FWD_DEFINED__
  32. typedef interface IActiveIMMMessagePumpOwner IActiveIMMMessagePumpOwner;
  33. #ifdef __cplusplus
  34. interface IActiveIMMMessagePumpOwner;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IActiveIMMApp_FWD_DEFINED__
  38. #define __IActiveIMMApp_FWD_DEFINED__
  39. typedef interface IActiveIMMApp IActiveIMMApp;
  40. #ifdef __cplusplus
  41. interface IActiveIMMApp;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __IActiveIMMIME_FWD_DEFINED__
  45. #define __IActiveIMMIME_FWD_DEFINED__
  46. typedef interface IActiveIMMIME IActiveIMMIME;
  47. #ifdef __cplusplus
  48. interface IActiveIMMIME;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __IActiveIME_FWD_DEFINED__
  52. #define __IActiveIME_FWD_DEFINED__
  53. typedef interface IActiveIME IActiveIME;
  54. #ifdef __cplusplus
  55. interface IActiveIME;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __IActiveIME2_FWD_DEFINED__
  59. #define __IActiveIME2_FWD_DEFINED__
  60. typedef interface IActiveIME2 IActiveIME2;
  61. #ifdef __cplusplus
  62. interface IActiveIME2;
  63. #endif /* __cplusplus */
  64. #endif
  65. #ifndef __IEnumRegisterWordA_FWD_DEFINED__
  66. #define __IEnumRegisterWordA_FWD_DEFINED__
  67. typedef interface IEnumRegisterWordA IEnumRegisterWordA;
  68. #ifdef __cplusplus
  69. interface IEnumRegisterWordA;
  70. #endif /* __cplusplus */
  71. #endif
  72. #ifndef __IEnumRegisterWordW_FWD_DEFINED__
  73. #define __IEnumRegisterWordW_FWD_DEFINED__
  74. typedef interface IEnumRegisterWordW IEnumRegisterWordW;
  75. #ifdef __cplusplus
  76. interface IEnumRegisterWordW;
  77. #endif /* __cplusplus */
  78. #endif
  79. #ifndef __CActiveIMM_FWD_DEFINED__
  80. #define __CActiveIMM_FWD_DEFINED__
  81. #ifdef __cplusplus
  82. typedef class CActiveIMM CActiveIMM;
  83. #else
  84. typedef struct CActiveIMM CActiveIMM;
  85. #endif /* defined __cplusplus */
  86. #endif /* defined __CActiveIMM_FWD_DEFINED__ */
  87. /* Headers for imported files */
  88. #include <unknwn.h>
  89. #ifdef __cplusplus
  90. extern "C" {
  91. #endif
  92. /**
  93. * This file is part of the mingw-w64 runtime package.
  94. * No warranty is given; refer to the file DISCLAIMER within this package.
  95. */
  96. #ifndef __IEnumRegisterWordA_FWD_DEFINED__
  97. #define __IEnumRegisterWordA_FWD_DEFINED__
  98. typedef interface IEnumRegisterWordA IEnumRegisterWordA;
  99. #ifdef __cplusplus
  100. interface IEnumRegisterWordA;
  101. #endif /* __cplusplus */
  102. #endif
  103. #ifndef __IEnumRegisterWordW_FWD_DEFINED__
  104. #define __IEnumRegisterWordW_FWD_DEFINED__
  105. typedef interface IEnumRegisterWordW IEnumRegisterWordW;
  106. #ifdef __cplusplus
  107. interface IEnumRegisterWordW;
  108. #endif /* __cplusplus */
  109. #endif
  110. #include <winapifamily.h>
  111. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  112. #ifndef __ActiveIMM_LIBRARY_DEFINED__
  113. #define __ActiveIMM_LIBRARY_DEFINED__
  114. DEFINE_GUID(LIBID_ActiveIMM, 0x4955dd30, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
  115. #include <imm.h>
  116. #if 0
  117. typedef WORD LANGID;
  118. typedef struct __WIDL_dimm_generated_name_0000000C {
  119. LPSTR lpReading;
  120. LPSTR lpWord;
  121. } REGISTERWORDA;
  122. typedef struct __WIDL_dimm_generated_name_0000000D {
  123. LPWSTR lpReading;
  124. LPWSTR lpWord;
  125. } REGISTERWORDW;
  126. typedef struct __WIDL_dimm_generated_name_0000000E {
  127. LONG lfHeight;
  128. LONG lfWidth;
  129. LONG lfEscapement;
  130. LONG lfOrientation;
  131. LONG lfWeight;
  132. BYTE lfItalic;
  133. BYTE lfUnderline;
  134. BYTE lfStrikeOut;
  135. BYTE lfCharSet;
  136. BYTE lfOutPrecision;
  137. BYTE lfClipPrecision;
  138. BYTE lfQuality;
  139. BYTE lfPitchAndFamily;
  140. CHAR lfFaceName[32];
  141. } LOGFONTA;
  142. typedef struct __WIDL_dimm_generated_name_0000000F {
  143. LONG lfHeight;
  144. LONG lfWidth;
  145. LONG lfEscapement;
  146. LONG lfOrientation;
  147. LONG lfWeight;
  148. BYTE lfItalic;
  149. BYTE lfUnderline;
  150. BYTE lfStrikeOut;
  151. BYTE lfCharSet;
  152. BYTE lfOutPrecision;
  153. BYTE lfClipPrecision;
  154. BYTE lfQuality;
  155. BYTE lfPitchAndFamily;
  156. WCHAR lfFaceName[32];
  157. } LOGFONTW;
  158. typedef DWORD HIMC;
  159. typedef DWORD HIMCC;
  160. typedef struct __WIDL_dimm_generated_name_00000010 {
  161. DWORD dwIndex;
  162. DWORD dwStyle;
  163. POINT ptCurrentPos;
  164. RECT rcArea;
  165. } CANDIDATEFORM;
  166. typedef struct __WIDL_dimm_generated_name_00000011 {
  167. DWORD dwStyle;
  168. POINT ptCurrentPos;
  169. RECT rcArea;
  170. } COMPOSITIONFORM;
  171. typedef struct __WIDL_dimm_generated_name_00000012 {
  172. DWORD dwSize;
  173. DWORD dwStyle;
  174. DWORD dwCount;
  175. DWORD dwSelection;
  176. DWORD dwPageStart;
  177. DWORD dwPageSize;
  178. DWORD dwOffset[1];
  179. } CANDIDATELIST;
  180. typedef struct __WIDL_dimm_generated_name_00000013 {
  181. DWORD dwStyle;
  182. CHAR szDescription[32];
  183. } STYLEBUFA;
  184. typedef struct __WIDL_dimm_generated_name_00000014 {
  185. DWORD dwStyle;
  186. WCHAR szDescription[32];
  187. } STYLEBUFW;
  188. typedef WORD ATOM;
  189. typedef struct __WIDL_dimm_generated_name_00000015 {
  190. UINT cbSize;
  191. UINT fType;
  192. UINT fState;
  193. UINT wID;
  194. HBITMAP hbmpChecked;
  195. HBITMAP hbmpUnchecked;
  196. DWORD dwItemData;
  197. CHAR szString[80];
  198. HBITMAP hbmpItem;
  199. } IMEMENUITEMINFOA;
  200. typedef struct __WIDL_dimm_generated_name_00000016 {
  201. UINT cbSize;
  202. UINT fType;
  203. UINT fState;
  204. UINT wID;
  205. HBITMAP hbmpChecked;
  206. HBITMAP hbmpUnchecked;
  207. DWORD dwItemData;
  208. WCHAR szString[80];
  209. HBITMAP hbmpItem;
  210. } IMEMENUITEMINFOW;
  211. #endif
  212. #ifndef _DDKIMM_H_
  213. typedef struct __WIDL_dimm_generated_name_00000017 {
  214. HWND hWnd;
  215. WINBOOL fOpen;
  216. POINT ptStatusWndPos;
  217. POINT ptSoftKbdPos;
  218. DWORD fdwConversion;
  219. DWORD fdwSentence;
  220. union {
  221. LOGFONTA A;
  222. LOGFONTW W;
  223. } lfFont;
  224. COMPOSITIONFORM cfCompForm;
  225. CANDIDATEFORM cfCandForm[4];
  226. HIMCC hCompStr;
  227. HIMCC hCandInfo;
  228. HIMCC hGuideLine;
  229. HIMCC hPrivate;
  230. DWORD dwNumMsgBuf;
  231. HIMCC hMsgBuf;
  232. DWORD fdwInit;
  233. DWORD dwReserve[3];
  234. } INPUTCONTEXT;
  235. typedef struct __WIDL_dimm_generated_name_00000018 {
  236. DWORD dwPrivateDataSize;
  237. DWORD fdwProperty;
  238. DWORD fdwConversionCaps;
  239. DWORD fdwSentenceCaps;
  240. DWORD fdwUICaps;
  241. DWORD fdwSCSCaps;
  242. DWORD fdwSelectCaps;
  243. } IMEINFO;
  244. #endif
  245. /*****************************************************************************
  246. * IEnumInputContext interface
  247. */
  248. #ifndef __IEnumInputContext_INTERFACE_DEFINED__
  249. #define __IEnumInputContext_INTERFACE_DEFINED__
  250. DEFINE_GUID(IID_IEnumInputContext, 0x09b5eab0, 0xf997, 0x11d1, 0x93,0xd4, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
  251. #if defined(__cplusplus) && !defined(CINTERFACE)
  252. MIDL_INTERFACE("09b5eab0-f997-11d1-93d4-0060b067b86e")
  253. IEnumInputContext : public IUnknown
  254. {
  255. virtual HRESULT STDMETHODCALLTYPE Clone(
  256. IEnumInputContext **ppEnum) = 0;
  257. virtual HRESULT STDMETHODCALLTYPE Next(
  258. ULONG ulCount,
  259. HIMC *rgInputContext,
  260. ULONG *pcFetched) = 0;
  261. virtual HRESULT STDMETHODCALLTYPE Reset(
  262. ) = 0;
  263. virtual HRESULT STDMETHODCALLTYPE Skip(
  264. ULONG ulCount) = 0;
  265. };
  266. #ifdef __CRT_UUID_DECL
  267. __CRT_UUID_DECL(IEnumInputContext, 0x09b5eab0, 0xf997, 0x11d1, 0x93,0xd4, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
  268. #endif
  269. #else
  270. typedef struct IEnumInputContextVtbl {
  271. BEGIN_INTERFACE
  272. /*** IUnknown methods ***/
  273. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  274. IEnumInputContext *This,
  275. REFIID riid,
  276. void **ppvObject);
  277. ULONG (STDMETHODCALLTYPE *AddRef)(
  278. IEnumInputContext *This);
  279. ULONG (STDMETHODCALLTYPE *Release)(
  280. IEnumInputContext *This);
  281. /*** IEnumInputContext methods ***/
  282. HRESULT (STDMETHODCALLTYPE *Clone)(
  283. IEnumInputContext *This,
  284. IEnumInputContext **ppEnum);
  285. HRESULT (STDMETHODCALLTYPE *Next)(
  286. IEnumInputContext *This,
  287. ULONG ulCount,
  288. HIMC *rgInputContext,
  289. ULONG *pcFetched);
  290. HRESULT (STDMETHODCALLTYPE *Reset)(
  291. IEnumInputContext *This);
  292. HRESULT (STDMETHODCALLTYPE *Skip)(
  293. IEnumInputContext *This,
  294. ULONG ulCount);
  295. END_INTERFACE
  296. } IEnumInputContextVtbl;
  297. interface IEnumInputContext {
  298. CONST_VTBL IEnumInputContextVtbl* lpVtbl;
  299. };
  300. #ifdef COBJMACROS
  301. #ifndef WIDL_C_INLINE_WRAPPERS
  302. /*** IUnknown methods ***/
  303. #define IEnumInputContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  304. #define IEnumInputContext_AddRef(This) (This)->lpVtbl->AddRef(This)
  305. #define IEnumInputContext_Release(This) (This)->lpVtbl->Release(This)
  306. /*** IEnumInputContext methods ***/
  307. #define IEnumInputContext_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
  308. #define IEnumInputContext_Next(This,ulCount,rgInputContext,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgInputContext,pcFetched)
  309. #define IEnumInputContext_Reset(This) (This)->lpVtbl->Reset(This)
  310. #define IEnumInputContext_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
  311. #else
  312. /*** IUnknown methods ***/
  313. static FORCEINLINE HRESULT IEnumInputContext_QueryInterface(IEnumInputContext* This,REFIID riid,void **ppvObject) {
  314. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  315. }
  316. static FORCEINLINE ULONG IEnumInputContext_AddRef(IEnumInputContext* This) {
  317. return This->lpVtbl->AddRef(This);
  318. }
  319. static FORCEINLINE ULONG IEnumInputContext_Release(IEnumInputContext* This) {
  320. return This->lpVtbl->Release(This);
  321. }
  322. /*** IEnumInputContext methods ***/
  323. static FORCEINLINE HRESULT IEnumInputContext_Clone(IEnumInputContext* This,IEnumInputContext **ppEnum) {
  324. return This->lpVtbl->Clone(This,ppEnum);
  325. }
  326. static FORCEINLINE HRESULT IEnumInputContext_Next(IEnumInputContext* This,ULONG ulCount,HIMC *rgInputContext,ULONG *pcFetched) {
  327. return This->lpVtbl->Next(This,ulCount,rgInputContext,pcFetched);
  328. }
  329. static FORCEINLINE HRESULT IEnumInputContext_Reset(IEnumInputContext* This) {
  330. return This->lpVtbl->Reset(This);
  331. }
  332. static FORCEINLINE HRESULT IEnumInputContext_Skip(IEnumInputContext* This,ULONG ulCount) {
  333. return This->lpVtbl->Skip(This,ulCount);
  334. }
  335. #endif
  336. #endif
  337. #endif
  338. #endif /* __IEnumInputContext_INTERFACE_DEFINED__ */
  339. /*****************************************************************************
  340. * IActiveIMMRegistrar interface
  341. */
  342. #ifndef __IActiveIMMRegistrar_INTERFACE_DEFINED__
  343. #define __IActiveIMMRegistrar_INTERFACE_DEFINED__
  344. DEFINE_GUID(IID_IActiveIMMRegistrar, 0xb3458082, 0xbd00, 0x11d1, 0x93,0x9b, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
  345. #if defined(__cplusplus) && !defined(CINTERFACE)
  346. MIDL_INTERFACE("b3458082-bd00-11d1-939b-0060b067b86e")
  347. IActiveIMMRegistrar : public IUnknown
  348. {
  349. virtual HRESULT STDMETHODCALLTYPE RegisterIME(
  350. REFCLSID rclsid,
  351. LANGID lgid,
  352. LPCWSTR pszIconFile,
  353. LPCWSTR pszDesc) = 0;
  354. virtual HRESULT STDMETHODCALLTYPE UnregisterIME(
  355. REFCLSID rclsid) = 0;
  356. };
  357. #ifdef __CRT_UUID_DECL
  358. __CRT_UUID_DECL(IActiveIMMRegistrar, 0xb3458082, 0xbd00, 0x11d1, 0x93,0x9b, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
  359. #endif
  360. #else
  361. typedef struct IActiveIMMRegistrarVtbl {
  362. BEGIN_INTERFACE
  363. /*** IUnknown methods ***/
  364. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  365. IActiveIMMRegistrar *This,
  366. REFIID riid,
  367. void **ppvObject);
  368. ULONG (STDMETHODCALLTYPE *AddRef)(
  369. IActiveIMMRegistrar *This);
  370. ULONG (STDMETHODCALLTYPE *Release)(
  371. IActiveIMMRegistrar *This);
  372. /*** IActiveIMMRegistrar methods ***/
  373. HRESULT (STDMETHODCALLTYPE *RegisterIME)(
  374. IActiveIMMRegistrar *This,
  375. REFCLSID rclsid,
  376. LANGID lgid,
  377. LPCWSTR pszIconFile,
  378. LPCWSTR pszDesc);
  379. HRESULT (STDMETHODCALLTYPE *UnregisterIME)(
  380. IActiveIMMRegistrar *This,
  381. REFCLSID rclsid);
  382. END_INTERFACE
  383. } IActiveIMMRegistrarVtbl;
  384. interface IActiveIMMRegistrar {
  385. CONST_VTBL IActiveIMMRegistrarVtbl* lpVtbl;
  386. };
  387. #ifdef COBJMACROS
  388. #ifndef WIDL_C_INLINE_WRAPPERS
  389. /*** IUnknown methods ***/
  390. #define IActiveIMMRegistrar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  391. #define IActiveIMMRegistrar_AddRef(This) (This)->lpVtbl->AddRef(This)
  392. #define IActiveIMMRegistrar_Release(This) (This)->lpVtbl->Release(This)
  393. /*** IActiveIMMRegistrar methods ***/
  394. #define IActiveIMMRegistrar_RegisterIME(This,rclsid,lgid,pszIconFile,pszDesc) (This)->lpVtbl->RegisterIME(This,rclsid,lgid,pszIconFile,pszDesc)
  395. #define IActiveIMMRegistrar_UnregisterIME(This,rclsid) (This)->lpVtbl->UnregisterIME(This,rclsid)
  396. #else
  397. /*** IUnknown methods ***/
  398. static FORCEINLINE HRESULT IActiveIMMRegistrar_QueryInterface(IActiveIMMRegistrar* This,REFIID riid,void **ppvObject) {
  399. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  400. }
  401. static FORCEINLINE ULONG IActiveIMMRegistrar_AddRef(IActiveIMMRegistrar* This) {
  402. return This->lpVtbl->AddRef(This);
  403. }
  404. static FORCEINLINE ULONG IActiveIMMRegistrar_Release(IActiveIMMRegistrar* This) {
  405. return This->lpVtbl->Release(This);
  406. }
  407. /*** IActiveIMMRegistrar methods ***/
  408. static FORCEINLINE HRESULT IActiveIMMRegistrar_RegisterIME(IActiveIMMRegistrar* This,REFCLSID rclsid,LANGID lgid,LPCWSTR pszIconFile,LPCWSTR pszDesc) {
  409. return This->lpVtbl->RegisterIME(This,rclsid,lgid,pszIconFile,pszDesc);
  410. }
  411. static FORCEINLINE HRESULT IActiveIMMRegistrar_UnregisterIME(IActiveIMMRegistrar* This,REFCLSID rclsid) {
  412. return This->lpVtbl->UnregisterIME(This,rclsid);
  413. }
  414. #endif
  415. #endif
  416. #endif
  417. #endif /* __IActiveIMMRegistrar_INTERFACE_DEFINED__ */
  418. /*****************************************************************************
  419. * IActiveIMMMessagePumpOwner interface
  420. */
  421. #ifndef __IActiveIMMMessagePumpOwner_INTERFACE_DEFINED__
  422. #define __IActiveIMMMessagePumpOwner_INTERFACE_DEFINED__
  423. DEFINE_GUID(IID_IActiveIMMMessagePumpOwner, 0xb5cf2cfa, 0x8aeb, 0x11d1, 0x93,0x64, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
  424. #if defined(__cplusplus) && !defined(CINTERFACE)
  425. MIDL_INTERFACE("b5cf2cfa-8aeb-11d1-9364-0060b067b86e")
  426. IActiveIMMMessagePumpOwner : public IUnknown
  427. {
  428. virtual HRESULT STDMETHODCALLTYPE Start(
  429. ) = 0;
  430. virtual HRESULT STDMETHODCALLTYPE End(
  431. ) = 0;
  432. virtual HRESULT STDMETHODCALLTYPE OnTranslateMessage(
  433. const MSG *pMsg) = 0;
  434. virtual HRESULT STDMETHODCALLTYPE Pause(
  435. DWORD *pdwCookie) = 0;
  436. virtual HRESULT STDMETHODCALLTYPE Resume(
  437. DWORD dwCookie) = 0;
  438. };
  439. #ifdef __CRT_UUID_DECL
  440. __CRT_UUID_DECL(IActiveIMMMessagePumpOwner, 0xb5cf2cfa, 0x8aeb, 0x11d1, 0x93,0x64, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
  441. #endif
  442. #else
  443. typedef struct IActiveIMMMessagePumpOwnerVtbl {
  444. BEGIN_INTERFACE
  445. /*** IUnknown methods ***/
  446. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  447. IActiveIMMMessagePumpOwner *This,
  448. REFIID riid,
  449. void **ppvObject);
  450. ULONG (STDMETHODCALLTYPE *AddRef)(
  451. IActiveIMMMessagePumpOwner *This);
  452. ULONG (STDMETHODCALLTYPE *Release)(
  453. IActiveIMMMessagePumpOwner *This);
  454. /*** IActiveIMMMessagePumpOwner methods ***/
  455. HRESULT (STDMETHODCALLTYPE *Start)(
  456. IActiveIMMMessagePumpOwner *This);
  457. HRESULT (STDMETHODCALLTYPE *End)(
  458. IActiveIMMMessagePumpOwner *This);
  459. HRESULT (STDMETHODCALLTYPE *OnTranslateMessage)(
  460. IActiveIMMMessagePumpOwner *This,
  461. const MSG *pMsg);
  462. HRESULT (STDMETHODCALLTYPE *Pause)(
  463. IActiveIMMMessagePumpOwner *This,
  464. DWORD *pdwCookie);
  465. HRESULT (STDMETHODCALLTYPE *Resume)(
  466. IActiveIMMMessagePumpOwner *This,
  467. DWORD dwCookie);
  468. END_INTERFACE
  469. } IActiveIMMMessagePumpOwnerVtbl;
  470. interface IActiveIMMMessagePumpOwner {
  471. CONST_VTBL IActiveIMMMessagePumpOwnerVtbl* lpVtbl;
  472. };
  473. #ifdef COBJMACROS
  474. #ifndef WIDL_C_INLINE_WRAPPERS
  475. /*** IUnknown methods ***/
  476. #define IActiveIMMMessagePumpOwner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  477. #define IActiveIMMMessagePumpOwner_AddRef(This) (This)->lpVtbl->AddRef(This)
  478. #define IActiveIMMMessagePumpOwner_Release(This) (This)->lpVtbl->Release(This)
  479. /*** IActiveIMMMessagePumpOwner methods ***/
  480. #define IActiveIMMMessagePumpOwner_Start(This) (This)->lpVtbl->Start(This)
  481. #define IActiveIMMMessagePumpOwner_End(This) (This)->lpVtbl->End(This)
  482. #define IActiveIMMMessagePumpOwner_OnTranslateMessage(This,pMsg) (This)->lpVtbl->OnTranslateMessage(This,pMsg)
  483. #define IActiveIMMMessagePumpOwner_Pause(This,pdwCookie) (This)->lpVtbl->Pause(This,pdwCookie)
  484. #define IActiveIMMMessagePumpOwner_Resume(This,dwCookie) (This)->lpVtbl->Resume(This,dwCookie)
  485. #else
  486. /*** IUnknown methods ***/
  487. static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_QueryInterface(IActiveIMMMessagePumpOwner* This,REFIID riid,void **ppvObject) {
  488. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  489. }
  490. static FORCEINLINE ULONG IActiveIMMMessagePumpOwner_AddRef(IActiveIMMMessagePumpOwner* This) {
  491. return This->lpVtbl->AddRef(This);
  492. }
  493. static FORCEINLINE ULONG IActiveIMMMessagePumpOwner_Release(IActiveIMMMessagePumpOwner* This) {
  494. return This->lpVtbl->Release(This);
  495. }
  496. /*** IActiveIMMMessagePumpOwner methods ***/
  497. static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_Start(IActiveIMMMessagePumpOwner* This) {
  498. return This->lpVtbl->Start(This);
  499. }
  500. static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_End(IActiveIMMMessagePumpOwner* This) {
  501. return This->lpVtbl->End(This);
  502. }
  503. static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_OnTranslateMessage(IActiveIMMMessagePumpOwner* This,const MSG *pMsg) {
  504. return This->lpVtbl->OnTranslateMessage(This,pMsg);
  505. }
  506. static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_Pause(IActiveIMMMessagePumpOwner* This,DWORD *pdwCookie) {
  507. return This->lpVtbl->Pause(This,pdwCookie);
  508. }
  509. static FORCEINLINE HRESULT IActiveIMMMessagePumpOwner_Resume(IActiveIMMMessagePumpOwner* This,DWORD dwCookie) {
  510. return This->lpVtbl->Resume(This,dwCookie);
  511. }
  512. #endif
  513. #endif
  514. #endif
  515. #endif /* __IActiveIMMMessagePumpOwner_INTERFACE_DEFINED__ */
  516. /*****************************************************************************
  517. * IActiveIMMApp interface
  518. */
  519. #ifndef __IActiveIMMApp_INTERFACE_DEFINED__
  520. #define __IActiveIMMApp_INTERFACE_DEFINED__
  521. DEFINE_GUID(IID_IActiveIMMApp, 0x08c0e040, 0x62d1, 0x11d1, 0x93,0x26, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
  522. #if defined(__cplusplus) && !defined(CINTERFACE)
  523. MIDL_INTERFACE("08c0e040-62d1-11d1-9326-0060b067b86e")
  524. IActiveIMMApp : public IUnknown
  525. {
  526. virtual HRESULT STDMETHODCALLTYPE AssociateContext(
  527. HWND hWnd,
  528. HIMC hIME,
  529. HIMC *phPrev) = 0;
  530. virtual HRESULT STDMETHODCALLTYPE ConfigureIMEA(
  531. HKL hKL,
  532. HWND hWnd,
  533. DWORD dwMode,
  534. REGISTERWORDA *pData) = 0;
  535. virtual HRESULT STDMETHODCALLTYPE ConfigureIMEW(
  536. HKL hKL,
  537. HWND hWnd,
  538. DWORD dwMode,
  539. REGISTERWORDW *pData) = 0;
  540. virtual HRESULT STDMETHODCALLTYPE CreateContext(
  541. HIMC *phIMC) = 0;
  542. virtual HRESULT STDMETHODCALLTYPE DestroyContext(
  543. HIMC hIME) = 0;
  544. virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordA(
  545. HKL hKL,
  546. LPSTR szReading,
  547. DWORD dwStyle,
  548. LPSTR szRegister,
  549. LPVOID pData,
  550. IEnumRegisterWordA **pEnum) = 0;
  551. virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordW(
  552. HKL hKL,
  553. LPWSTR szReading,
  554. DWORD dwStyle,
  555. LPWSTR szRegister,
  556. LPVOID pData,
  557. IEnumRegisterWordW **pEnum) = 0;
  558. virtual HRESULT STDMETHODCALLTYPE EscapeA(
  559. HKL hKL,
  560. HIMC hIMC,
  561. UINT uEscape,
  562. LPVOID pData,
  563. LRESULT *plResult) = 0;
  564. virtual HRESULT STDMETHODCALLTYPE EscapeW(
  565. HKL hKL,
  566. HIMC hIMC,
  567. UINT uEscape,
  568. LPVOID pData,
  569. LRESULT *plResult) = 0;
  570. virtual HRESULT STDMETHODCALLTYPE GetCandidateListA(
  571. HIMC hIMC,
  572. DWORD dwIndex,
  573. UINT uBufLen,
  574. CANDIDATELIST *pCandList,
  575. UINT *puCopied) = 0;
  576. virtual HRESULT STDMETHODCALLTYPE GetCandidateListW(
  577. HIMC hIMC,
  578. DWORD dwIndex,
  579. UINT uBufLen,
  580. CANDIDATELIST *pCandList,
  581. UINT *puCopied) = 0;
  582. virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountA(
  583. HIMC hIMC,
  584. DWORD *pdwListSize,
  585. DWORD *pdwBufLen) = 0;
  586. virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountW(
  587. HIMC hIMC,
  588. DWORD *pdwListSize,
  589. DWORD *pdwBufLen) = 0;
  590. virtual HRESULT STDMETHODCALLTYPE GetCandidateWindow(
  591. HIMC hIMC,
  592. DWORD dwIndex,
  593. CANDIDATEFORM *pCandidate) = 0;
  594. virtual HRESULT STDMETHODCALLTYPE GetCompositionFontA(
  595. HIMC hIMC,
  596. LOGFONTA *plf) = 0;
  597. virtual HRESULT STDMETHODCALLTYPE GetCompositionFontW(
  598. HIMC hIMC,
  599. LOGFONTW *plf) = 0;
  600. virtual HRESULT STDMETHODCALLTYPE GetCompositionStringA(
  601. HIMC hIMC,
  602. DWORD dwIndex,
  603. DWORD dwBufLen,
  604. LONG *plCopied,
  605. LPVOID pBuf) = 0;
  606. virtual HRESULT STDMETHODCALLTYPE GetCompositionStringW(
  607. HIMC hIMC,
  608. DWORD dwIndex,
  609. DWORD dwBufLen,
  610. LONG *plCopied,
  611. LPVOID pBuf) = 0;
  612. virtual HRESULT STDMETHODCALLTYPE GetCompositionWindow(
  613. HIMC hIMC,
  614. COMPOSITIONFORM *pCompForm) = 0;
  615. virtual HRESULT STDMETHODCALLTYPE GetContext(
  616. HWND hWnd,
  617. HIMC *phIMC) = 0;
  618. virtual HRESULT STDMETHODCALLTYPE GetConversionListA(
  619. HKL hKL,
  620. HIMC hIMC,
  621. LPSTR pSrc,
  622. UINT uBufLen,
  623. UINT uFlag,
  624. CANDIDATELIST *pDst,
  625. UINT *puCopied) = 0;
  626. virtual HRESULT STDMETHODCALLTYPE GetConversionListW(
  627. HKL hKL,
  628. HIMC hIMC,
  629. LPWSTR pSrc,
  630. UINT uBufLen,
  631. UINT uFlag,
  632. CANDIDATELIST *pDst,
  633. UINT *puCopied) = 0;
  634. virtual HRESULT STDMETHODCALLTYPE GetConversionStatus(
  635. HIMC hIMC,
  636. DWORD *pfdwConversion,
  637. DWORD *pfdwSentence) = 0;
  638. virtual HRESULT STDMETHODCALLTYPE GetDefaultIMEWnd(
  639. HWND hWnd,
  640. HWND *phDefWnd) = 0;
  641. virtual HRESULT STDMETHODCALLTYPE GetDescriptionA(
  642. HKL hKL,
  643. UINT uBufLen,
  644. LPSTR szDescription,
  645. UINT *puCopied) = 0;
  646. virtual HRESULT STDMETHODCALLTYPE GetDescriptionW(
  647. HKL hKL,
  648. UINT uBufLen,
  649. LPWSTR szDescription,
  650. UINT *puCopied) = 0;
  651. virtual HRESULT STDMETHODCALLTYPE GetGuideLineA(
  652. HIMC hIMC,
  653. DWORD dwIndex,
  654. DWORD dwBufLen,
  655. LPSTR pBuf,
  656. DWORD *pdwResult) = 0;
  657. virtual HRESULT STDMETHODCALLTYPE GetGuideLineW(
  658. HIMC hIMC,
  659. DWORD dwIndex,
  660. DWORD dwBufLen,
  661. LPWSTR pBuf,
  662. DWORD *pdwResult) = 0;
  663. virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameA(
  664. HKL hKL,
  665. UINT uBufLen,
  666. LPSTR szFileName,
  667. UINT *puCopied) = 0;
  668. virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameW(
  669. HKL hKL,
  670. UINT uBufLen,
  671. LPWSTR szFileName,
  672. UINT *puCopied) = 0;
  673. virtual HRESULT STDMETHODCALLTYPE GetOpenStatus(
  674. HIMC hIMC) = 0;
  675. virtual HRESULT STDMETHODCALLTYPE GetProperty(
  676. HKL hKL,
  677. DWORD fdwIndex,
  678. DWORD *pdwProperty) = 0;
  679. virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleA(
  680. HKL hKL,
  681. UINT nItem,
  682. STYLEBUFA *pStyleBuf,
  683. UINT *puCopied) = 0;
  684. virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleW(
  685. HKL hKL,
  686. UINT nItem,
  687. STYLEBUFW *pStyleBuf,
  688. UINT *puCopied) = 0;
  689. virtual HRESULT STDMETHODCALLTYPE GetStatusWindowPos(
  690. HIMC hIMC,
  691. POINT *pptPos) = 0;
  692. virtual HRESULT STDMETHODCALLTYPE GetVirtualKey(
  693. HWND hWnd,
  694. UINT *puVirtualKey) = 0;
  695. virtual HRESULT STDMETHODCALLTYPE InstallIMEA(
  696. LPSTR szIMEFileName,
  697. LPSTR szLayoutText,
  698. HKL *phKL) = 0;
  699. virtual HRESULT STDMETHODCALLTYPE InstallIMEW(
  700. LPWSTR szIMEFileName,
  701. LPWSTR szLayoutText,
  702. HKL *phKL) = 0;
  703. virtual HRESULT STDMETHODCALLTYPE IsIME(
  704. HKL hKL) = 0;
  705. virtual HRESULT STDMETHODCALLTYPE IsUIMessageA(
  706. HWND hWndIME,
  707. UINT msg,
  708. WPARAM wParam,
  709. LPARAM lParam) = 0;
  710. virtual HRESULT STDMETHODCALLTYPE IsUIMessageW(
  711. HWND hWndIME,
  712. UINT msg,
  713. WPARAM wParam,
  714. LPARAM lParam) = 0;
  715. virtual HRESULT STDMETHODCALLTYPE NotifyIME(
  716. HIMC hIMC,
  717. DWORD dwAction,
  718. DWORD dwIndex,
  719. DWORD dwValue) = 0;
  720. virtual HRESULT STDMETHODCALLTYPE RegisterWordA(
  721. HKL hKL,
  722. LPSTR szReading,
  723. DWORD dwStyle,
  724. LPSTR szRegister) = 0;
  725. virtual HRESULT STDMETHODCALLTYPE RegisterWordW(
  726. HKL hKL,
  727. LPWSTR szReading,
  728. DWORD dwStyle,
  729. LPWSTR szRegister) = 0;
  730. virtual HRESULT STDMETHODCALLTYPE ReleaseContext(
  731. HWND hWnd,
  732. HIMC hIMC) = 0;
  733. virtual HRESULT STDMETHODCALLTYPE SetCandidateWindow(
  734. HIMC hIMC,
  735. CANDIDATEFORM *pCandidate) = 0;
  736. virtual HRESULT STDMETHODCALLTYPE SetCompositionFontA(
  737. HIMC hIMC,
  738. LOGFONTA *plf) = 0;
  739. virtual HRESULT STDMETHODCALLTYPE SetCompositionFontW(
  740. HIMC hIMC,
  741. LOGFONTW *plf) = 0;
  742. virtual HRESULT STDMETHODCALLTYPE SetCompositionStringA(
  743. HIMC hIMC,
  744. DWORD dwIndex,
  745. LPVOID pComp,
  746. DWORD dwCompLen,
  747. LPVOID pRead,
  748. DWORD dwReadLen) = 0;
  749. virtual HRESULT STDMETHODCALLTYPE SetCompositionStringW(
  750. HIMC hIMC,
  751. DWORD dwIndex,
  752. LPVOID pComp,
  753. DWORD dwCompLen,
  754. LPVOID pRead,
  755. DWORD dwReadLen) = 0;
  756. virtual HRESULT STDMETHODCALLTYPE SetCompositionWindow(
  757. HIMC hIMC,
  758. COMPOSITIONFORM *pCompForm) = 0;
  759. virtual HRESULT STDMETHODCALLTYPE SetConversionStatus(
  760. HIMC hIMC,
  761. DWORD fdwConversion,
  762. DWORD fdwSentence) = 0;
  763. virtual HRESULT STDMETHODCALLTYPE SetOpenStatus(
  764. HIMC hIMC,
  765. WINBOOL fOpen) = 0;
  766. virtual HRESULT STDMETHODCALLTYPE SetStatusWindowPos(
  767. HIMC hIMC,
  768. POINT *pptPos) = 0;
  769. virtual HRESULT STDMETHODCALLTYPE SimulateHotKey(
  770. HWND hWnd,
  771. DWORD dwHotKeyID) = 0;
  772. virtual HRESULT STDMETHODCALLTYPE UnregisterWordA(
  773. HKL hKL,
  774. LPSTR szReading,
  775. DWORD dwStyle,
  776. LPSTR szUnregister) = 0;
  777. virtual HRESULT STDMETHODCALLTYPE UnregisterWordW(
  778. HKL hKL,
  779. LPWSTR szReading,
  780. DWORD dwStyle,
  781. LPWSTR szUnregister) = 0;
  782. virtual HRESULT STDMETHODCALLTYPE Activate(
  783. WINBOOL fRestoreLayout) = 0;
  784. virtual HRESULT STDMETHODCALLTYPE Deactivate(
  785. ) = 0;
  786. virtual HRESULT STDMETHODCALLTYPE OnDefWindowProc(
  787. HWND hWnd,
  788. UINT Msg,
  789. WPARAM wParam,
  790. LPARAM lParam,
  791. LRESULT *plResult) = 0;
  792. virtual HRESULT STDMETHODCALLTYPE FilterClientWindows(
  793. ATOM *aaClassList,
  794. UINT uSize) = 0;
  795. virtual HRESULT STDMETHODCALLTYPE GetCodePageA(
  796. HKL hKL,
  797. UINT *uCodePage) = 0;
  798. virtual HRESULT STDMETHODCALLTYPE GetLangId(
  799. HKL hKL,
  800. LANGID *plid) = 0;
  801. virtual HRESULT STDMETHODCALLTYPE AssociateContextEx(
  802. HWND hWnd,
  803. HIMC hIMC,
  804. DWORD dwFlags) = 0;
  805. virtual HRESULT STDMETHODCALLTYPE DisableIME(
  806. DWORD idThread) = 0;
  807. virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsA(
  808. HIMC hIMC,
  809. DWORD dwFlags,
  810. DWORD dwType,
  811. IMEMENUITEMINFOA *pImeParentMenu,
  812. IMEMENUITEMINFOA *pImeMenu,
  813. DWORD dwSize,
  814. DWORD *pdwResult) = 0;
  815. virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsW(
  816. HIMC hIMC,
  817. DWORD dwFlags,
  818. DWORD dwType,
  819. IMEMENUITEMINFOW *pImeParentMenu,
  820. IMEMENUITEMINFOW *pImeMenu,
  821. DWORD dwSize,
  822. DWORD *pdwResult) = 0;
  823. virtual HRESULT STDMETHODCALLTYPE EnumInputContext(
  824. DWORD idThread,
  825. IEnumInputContext **ppEnum) = 0;
  826. };
  827. #ifdef __CRT_UUID_DECL
  828. __CRT_UUID_DECL(IActiveIMMApp, 0x08c0e040, 0x62d1, 0x11d1, 0x93,0x26, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
  829. #endif
  830. #else
  831. typedef struct IActiveIMMAppVtbl {
  832. BEGIN_INTERFACE
  833. /*** IUnknown methods ***/
  834. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  835. IActiveIMMApp *This,
  836. REFIID riid,
  837. void **ppvObject);
  838. ULONG (STDMETHODCALLTYPE *AddRef)(
  839. IActiveIMMApp *This);
  840. ULONG (STDMETHODCALLTYPE *Release)(
  841. IActiveIMMApp *This);
  842. /*** IActiveIMMApp methods ***/
  843. HRESULT (STDMETHODCALLTYPE *AssociateContext)(
  844. IActiveIMMApp *This,
  845. HWND hWnd,
  846. HIMC hIME,
  847. HIMC *phPrev);
  848. HRESULT (STDMETHODCALLTYPE *ConfigureIMEA)(
  849. IActiveIMMApp *This,
  850. HKL hKL,
  851. HWND hWnd,
  852. DWORD dwMode,
  853. REGISTERWORDA *pData);
  854. HRESULT (STDMETHODCALLTYPE *ConfigureIMEW)(
  855. IActiveIMMApp *This,
  856. HKL hKL,
  857. HWND hWnd,
  858. DWORD dwMode,
  859. REGISTERWORDW *pData);
  860. HRESULT (STDMETHODCALLTYPE *CreateContext)(
  861. IActiveIMMApp *This,
  862. HIMC *phIMC);
  863. HRESULT (STDMETHODCALLTYPE *DestroyContext)(
  864. IActiveIMMApp *This,
  865. HIMC hIME);
  866. HRESULT (STDMETHODCALLTYPE *EnumRegisterWordA)(
  867. IActiveIMMApp *This,
  868. HKL hKL,
  869. LPSTR szReading,
  870. DWORD dwStyle,
  871. LPSTR szRegister,
  872. LPVOID pData,
  873. IEnumRegisterWordA **pEnum);
  874. HRESULT (STDMETHODCALLTYPE *EnumRegisterWordW)(
  875. IActiveIMMApp *This,
  876. HKL hKL,
  877. LPWSTR szReading,
  878. DWORD dwStyle,
  879. LPWSTR szRegister,
  880. LPVOID pData,
  881. IEnumRegisterWordW **pEnum);
  882. HRESULT (STDMETHODCALLTYPE *EscapeA)(
  883. IActiveIMMApp *This,
  884. HKL hKL,
  885. HIMC hIMC,
  886. UINT uEscape,
  887. LPVOID pData,
  888. LRESULT *plResult);
  889. HRESULT (STDMETHODCALLTYPE *EscapeW)(
  890. IActiveIMMApp *This,
  891. HKL hKL,
  892. HIMC hIMC,
  893. UINT uEscape,
  894. LPVOID pData,
  895. LRESULT *plResult);
  896. HRESULT (STDMETHODCALLTYPE *GetCandidateListA)(
  897. IActiveIMMApp *This,
  898. HIMC hIMC,
  899. DWORD dwIndex,
  900. UINT uBufLen,
  901. CANDIDATELIST *pCandList,
  902. UINT *puCopied);
  903. HRESULT (STDMETHODCALLTYPE *GetCandidateListW)(
  904. IActiveIMMApp *This,
  905. HIMC hIMC,
  906. DWORD dwIndex,
  907. UINT uBufLen,
  908. CANDIDATELIST *pCandList,
  909. UINT *puCopied);
  910. HRESULT (STDMETHODCALLTYPE *GetCandidateListCountA)(
  911. IActiveIMMApp *This,
  912. HIMC hIMC,
  913. DWORD *pdwListSize,
  914. DWORD *pdwBufLen);
  915. HRESULT (STDMETHODCALLTYPE *GetCandidateListCountW)(
  916. IActiveIMMApp *This,
  917. HIMC hIMC,
  918. DWORD *pdwListSize,
  919. DWORD *pdwBufLen);
  920. HRESULT (STDMETHODCALLTYPE *GetCandidateWindow)(
  921. IActiveIMMApp *This,
  922. HIMC hIMC,
  923. DWORD dwIndex,
  924. CANDIDATEFORM *pCandidate);
  925. HRESULT (STDMETHODCALLTYPE *GetCompositionFontA)(
  926. IActiveIMMApp *This,
  927. HIMC hIMC,
  928. LOGFONTA *plf);
  929. HRESULT (STDMETHODCALLTYPE *GetCompositionFontW)(
  930. IActiveIMMApp *This,
  931. HIMC hIMC,
  932. LOGFONTW *plf);
  933. HRESULT (STDMETHODCALLTYPE *GetCompositionStringA)(
  934. IActiveIMMApp *This,
  935. HIMC hIMC,
  936. DWORD dwIndex,
  937. DWORD dwBufLen,
  938. LONG *plCopied,
  939. LPVOID pBuf);
  940. HRESULT (STDMETHODCALLTYPE *GetCompositionStringW)(
  941. IActiveIMMApp *This,
  942. HIMC hIMC,
  943. DWORD dwIndex,
  944. DWORD dwBufLen,
  945. LONG *plCopied,
  946. LPVOID pBuf);
  947. HRESULT (STDMETHODCALLTYPE *GetCompositionWindow)(
  948. IActiveIMMApp *This,
  949. HIMC hIMC,
  950. COMPOSITIONFORM *pCompForm);
  951. HRESULT (STDMETHODCALLTYPE *GetContext)(
  952. IActiveIMMApp *This,
  953. HWND hWnd,
  954. HIMC *phIMC);
  955. HRESULT (STDMETHODCALLTYPE *GetConversionListA)(
  956. IActiveIMMApp *This,
  957. HKL hKL,
  958. HIMC hIMC,
  959. LPSTR pSrc,
  960. UINT uBufLen,
  961. UINT uFlag,
  962. CANDIDATELIST *pDst,
  963. UINT *puCopied);
  964. HRESULT (STDMETHODCALLTYPE *GetConversionListW)(
  965. IActiveIMMApp *This,
  966. HKL hKL,
  967. HIMC hIMC,
  968. LPWSTR pSrc,
  969. UINT uBufLen,
  970. UINT uFlag,
  971. CANDIDATELIST *pDst,
  972. UINT *puCopied);
  973. HRESULT (STDMETHODCALLTYPE *GetConversionStatus)(
  974. IActiveIMMApp *This,
  975. HIMC hIMC,
  976. DWORD *pfdwConversion,
  977. DWORD *pfdwSentence);
  978. HRESULT (STDMETHODCALLTYPE *GetDefaultIMEWnd)(
  979. IActiveIMMApp *This,
  980. HWND hWnd,
  981. HWND *phDefWnd);
  982. HRESULT (STDMETHODCALLTYPE *GetDescriptionA)(
  983. IActiveIMMApp *This,
  984. HKL hKL,
  985. UINT uBufLen,
  986. LPSTR szDescription,
  987. UINT *puCopied);
  988. HRESULT (STDMETHODCALLTYPE *GetDescriptionW)(
  989. IActiveIMMApp *This,
  990. HKL hKL,
  991. UINT uBufLen,
  992. LPWSTR szDescription,
  993. UINT *puCopied);
  994. HRESULT (STDMETHODCALLTYPE *GetGuideLineA)(
  995. IActiveIMMApp *This,
  996. HIMC hIMC,
  997. DWORD dwIndex,
  998. DWORD dwBufLen,
  999. LPSTR pBuf,
  1000. DWORD *pdwResult);
  1001. HRESULT (STDMETHODCALLTYPE *GetGuideLineW)(
  1002. IActiveIMMApp *This,
  1003. HIMC hIMC,
  1004. DWORD dwIndex,
  1005. DWORD dwBufLen,
  1006. LPWSTR pBuf,
  1007. DWORD *pdwResult);
  1008. HRESULT (STDMETHODCALLTYPE *GetIMEFileNameA)(
  1009. IActiveIMMApp *This,
  1010. HKL hKL,
  1011. UINT uBufLen,
  1012. LPSTR szFileName,
  1013. UINT *puCopied);
  1014. HRESULT (STDMETHODCALLTYPE *GetIMEFileNameW)(
  1015. IActiveIMMApp *This,
  1016. HKL hKL,
  1017. UINT uBufLen,
  1018. LPWSTR szFileName,
  1019. UINT *puCopied);
  1020. HRESULT (STDMETHODCALLTYPE *GetOpenStatus)(
  1021. IActiveIMMApp *This,
  1022. HIMC hIMC);
  1023. HRESULT (STDMETHODCALLTYPE *GetProperty)(
  1024. IActiveIMMApp *This,
  1025. HKL hKL,
  1026. DWORD fdwIndex,
  1027. DWORD *pdwProperty);
  1028. HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleA)(
  1029. IActiveIMMApp *This,
  1030. HKL hKL,
  1031. UINT nItem,
  1032. STYLEBUFA *pStyleBuf,
  1033. UINT *puCopied);
  1034. HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleW)(
  1035. IActiveIMMApp *This,
  1036. HKL hKL,
  1037. UINT nItem,
  1038. STYLEBUFW *pStyleBuf,
  1039. UINT *puCopied);
  1040. HRESULT (STDMETHODCALLTYPE *GetStatusWindowPos)(
  1041. IActiveIMMApp *This,
  1042. HIMC hIMC,
  1043. POINT *pptPos);
  1044. HRESULT (STDMETHODCALLTYPE *GetVirtualKey)(
  1045. IActiveIMMApp *This,
  1046. HWND hWnd,
  1047. UINT *puVirtualKey);
  1048. HRESULT (STDMETHODCALLTYPE *InstallIMEA)(
  1049. IActiveIMMApp *This,
  1050. LPSTR szIMEFileName,
  1051. LPSTR szLayoutText,
  1052. HKL *phKL);
  1053. HRESULT (STDMETHODCALLTYPE *InstallIMEW)(
  1054. IActiveIMMApp *This,
  1055. LPWSTR szIMEFileName,
  1056. LPWSTR szLayoutText,
  1057. HKL *phKL);
  1058. HRESULT (STDMETHODCALLTYPE *IsIME)(
  1059. IActiveIMMApp *This,
  1060. HKL hKL);
  1061. HRESULT (STDMETHODCALLTYPE *IsUIMessageA)(
  1062. IActiveIMMApp *This,
  1063. HWND hWndIME,
  1064. UINT msg,
  1065. WPARAM wParam,
  1066. LPARAM lParam);
  1067. HRESULT (STDMETHODCALLTYPE *IsUIMessageW)(
  1068. IActiveIMMApp *This,
  1069. HWND hWndIME,
  1070. UINT msg,
  1071. WPARAM wParam,
  1072. LPARAM lParam);
  1073. HRESULT (STDMETHODCALLTYPE *NotifyIME)(
  1074. IActiveIMMApp *This,
  1075. HIMC hIMC,
  1076. DWORD dwAction,
  1077. DWORD dwIndex,
  1078. DWORD dwValue);
  1079. HRESULT (STDMETHODCALLTYPE *RegisterWordA)(
  1080. IActiveIMMApp *This,
  1081. HKL hKL,
  1082. LPSTR szReading,
  1083. DWORD dwStyle,
  1084. LPSTR szRegister);
  1085. HRESULT (STDMETHODCALLTYPE *RegisterWordW)(
  1086. IActiveIMMApp *This,
  1087. HKL hKL,
  1088. LPWSTR szReading,
  1089. DWORD dwStyle,
  1090. LPWSTR szRegister);
  1091. HRESULT (STDMETHODCALLTYPE *ReleaseContext)(
  1092. IActiveIMMApp *This,
  1093. HWND hWnd,
  1094. HIMC hIMC);
  1095. HRESULT (STDMETHODCALLTYPE *SetCandidateWindow)(
  1096. IActiveIMMApp *This,
  1097. HIMC hIMC,
  1098. CANDIDATEFORM *pCandidate);
  1099. HRESULT (STDMETHODCALLTYPE *SetCompositionFontA)(
  1100. IActiveIMMApp *This,
  1101. HIMC hIMC,
  1102. LOGFONTA *plf);
  1103. HRESULT (STDMETHODCALLTYPE *SetCompositionFontW)(
  1104. IActiveIMMApp *This,
  1105. HIMC hIMC,
  1106. LOGFONTW *plf);
  1107. HRESULT (STDMETHODCALLTYPE *SetCompositionStringA)(
  1108. IActiveIMMApp *This,
  1109. HIMC hIMC,
  1110. DWORD dwIndex,
  1111. LPVOID pComp,
  1112. DWORD dwCompLen,
  1113. LPVOID pRead,
  1114. DWORD dwReadLen);
  1115. HRESULT (STDMETHODCALLTYPE *SetCompositionStringW)(
  1116. IActiveIMMApp *This,
  1117. HIMC hIMC,
  1118. DWORD dwIndex,
  1119. LPVOID pComp,
  1120. DWORD dwCompLen,
  1121. LPVOID pRead,
  1122. DWORD dwReadLen);
  1123. HRESULT (STDMETHODCALLTYPE *SetCompositionWindow)(
  1124. IActiveIMMApp *This,
  1125. HIMC hIMC,
  1126. COMPOSITIONFORM *pCompForm);
  1127. HRESULT (STDMETHODCALLTYPE *SetConversionStatus)(
  1128. IActiveIMMApp *This,
  1129. HIMC hIMC,
  1130. DWORD fdwConversion,
  1131. DWORD fdwSentence);
  1132. HRESULT (STDMETHODCALLTYPE *SetOpenStatus)(
  1133. IActiveIMMApp *This,
  1134. HIMC hIMC,
  1135. WINBOOL fOpen);
  1136. HRESULT (STDMETHODCALLTYPE *SetStatusWindowPos)(
  1137. IActiveIMMApp *This,
  1138. HIMC hIMC,
  1139. POINT *pptPos);
  1140. HRESULT (STDMETHODCALLTYPE *SimulateHotKey)(
  1141. IActiveIMMApp *This,
  1142. HWND hWnd,
  1143. DWORD dwHotKeyID);
  1144. HRESULT (STDMETHODCALLTYPE *UnregisterWordA)(
  1145. IActiveIMMApp *This,
  1146. HKL hKL,
  1147. LPSTR szReading,
  1148. DWORD dwStyle,
  1149. LPSTR szUnregister);
  1150. HRESULT (STDMETHODCALLTYPE *UnregisterWordW)(
  1151. IActiveIMMApp *This,
  1152. HKL hKL,
  1153. LPWSTR szReading,
  1154. DWORD dwStyle,
  1155. LPWSTR szUnregister);
  1156. HRESULT (STDMETHODCALLTYPE *Activate)(
  1157. IActiveIMMApp *This,
  1158. WINBOOL fRestoreLayout);
  1159. HRESULT (STDMETHODCALLTYPE *Deactivate)(
  1160. IActiveIMMApp *This);
  1161. HRESULT (STDMETHODCALLTYPE *OnDefWindowProc)(
  1162. IActiveIMMApp *This,
  1163. HWND hWnd,
  1164. UINT Msg,
  1165. WPARAM wParam,
  1166. LPARAM lParam,
  1167. LRESULT *plResult);
  1168. HRESULT (STDMETHODCALLTYPE *FilterClientWindows)(
  1169. IActiveIMMApp *This,
  1170. ATOM *aaClassList,
  1171. UINT uSize);
  1172. HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
  1173. IActiveIMMApp *This,
  1174. HKL hKL,
  1175. UINT *uCodePage);
  1176. HRESULT (STDMETHODCALLTYPE *GetLangId)(
  1177. IActiveIMMApp *This,
  1178. HKL hKL,
  1179. LANGID *plid);
  1180. HRESULT (STDMETHODCALLTYPE *AssociateContextEx)(
  1181. IActiveIMMApp *This,
  1182. HWND hWnd,
  1183. HIMC hIMC,
  1184. DWORD dwFlags);
  1185. HRESULT (STDMETHODCALLTYPE *DisableIME)(
  1186. IActiveIMMApp *This,
  1187. DWORD idThread);
  1188. HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsA)(
  1189. IActiveIMMApp *This,
  1190. HIMC hIMC,
  1191. DWORD dwFlags,
  1192. DWORD dwType,
  1193. IMEMENUITEMINFOA *pImeParentMenu,
  1194. IMEMENUITEMINFOA *pImeMenu,
  1195. DWORD dwSize,
  1196. DWORD *pdwResult);
  1197. HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsW)(
  1198. IActiveIMMApp *This,
  1199. HIMC hIMC,
  1200. DWORD dwFlags,
  1201. DWORD dwType,
  1202. IMEMENUITEMINFOW *pImeParentMenu,
  1203. IMEMENUITEMINFOW *pImeMenu,
  1204. DWORD dwSize,
  1205. DWORD *pdwResult);
  1206. HRESULT (STDMETHODCALLTYPE *EnumInputContext)(
  1207. IActiveIMMApp *This,
  1208. DWORD idThread,
  1209. IEnumInputContext **ppEnum);
  1210. END_INTERFACE
  1211. } IActiveIMMAppVtbl;
  1212. interface IActiveIMMApp {
  1213. CONST_VTBL IActiveIMMAppVtbl* lpVtbl;
  1214. };
  1215. #ifdef COBJMACROS
  1216. #ifndef WIDL_C_INLINE_WRAPPERS
  1217. /*** IUnknown methods ***/
  1218. #define IActiveIMMApp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1219. #define IActiveIMMApp_AddRef(This) (This)->lpVtbl->AddRef(This)
  1220. #define IActiveIMMApp_Release(This) (This)->lpVtbl->Release(This)
  1221. /*** IActiveIMMApp methods ***/
  1222. #define IActiveIMMApp_AssociateContext(This,hWnd,hIME,phPrev) (This)->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev)
  1223. #define IActiveIMMApp_ConfigureIMEA(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData)
  1224. #define IActiveIMMApp_ConfigureIMEW(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData)
  1225. #define IActiveIMMApp_CreateContext(This,phIMC) (This)->lpVtbl->CreateContext(This,phIMC)
  1226. #define IActiveIMMApp_DestroyContext(This,hIME) (This)->lpVtbl->DestroyContext(This,hIME)
  1227. #define IActiveIMMApp_EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
  1228. #define IActiveIMMApp_EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
  1229. #define IActiveIMMApp_EscapeA(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult)
  1230. #define IActiveIMMApp_EscapeW(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult)
  1231. #define IActiveIMMApp_GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
  1232. #define IActiveIMMApp_GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
  1233. #define IActiveIMMApp_GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen)
  1234. #define IActiveIMMApp_GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen)
  1235. #define IActiveIMMApp_GetCandidateWindow(This,hIMC,dwIndex,pCandidate) (This)->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate)
  1236. #define IActiveIMMApp_GetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontA(This,hIMC,plf)
  1237. #define IActiveIMMApp_GetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontW(This,hIMC,plf)
  1238. #define IActiveIMMApp_GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
  1239. #define IActiveIMMApp_GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
  1240. #define IActiveIMMApp_GetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm)
  1241. #define IActiveIMMApp_GetContext(This,hWnd,phIMC) (This)->lpVtbl->GetContext(This,hWnd,phIMC)
  1242. #define IActiveIMMApp_GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
  1243. #define IActiveIMMApp_GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
  1244. #define IActiveIMMApp_GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence) (This)->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence)
  1245. #define IActiveIMMApp_GetDefaultIMEWnd(This,hWnd,phDefWnd) (This)->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd)
  1246. #define IActiveIMMApp_GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied)
  1247. #define IActiveIMMApp_GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied)
  1248. #define IActiveIMMApp_GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
  1249. #define IActiveIMMApp_GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
  1250. #define IActiveIMMApp_GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied)
  1251. #define IActiveIMMApp_GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied)
  1252. #define IActiveIMMApp_GetOpenStatus(This,hIMC) (This)->lpVtbl->GetOpenStatus(This,hIMC)
  1253. #define IActiveIMMApp_GetProperty(This,hKL,fdwIndex,pdwProperty) (This)->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty)
  1254. #define IActiveIMMApp_GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied)
  1255. #define IActiveIMMApp_GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied)
  1256. #define IActiveIMMApp_GetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos)
  1257. #define IActiveIMMApp_GetVirtualKey(This,hWnd,puVirtualKey) (This)->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey)
  1258. #define IActiveIMMApp_InstallIMEA(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL)
  1259. #define IActiveIMMApp_InstallIMEW(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL)
  1260. #define IActiveIMMApp_IsIME(This,hKL) (This)->lpVtbl->IsIME(This,hKL)
  1261. #define IActiveIMMApp_IsUIMessageA(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam)
  1262. #define IActiveIMMApp_IsUIMessageW(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam)
  1263. #define IActiveIMMApp_NotifyIME(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue)
  1264. #define IActiveIMMApp_RegisterWordA(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister)
  1265. #define IActiveIMMApp_RegisterWordW(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister)
  1266. #define IActiveIMMApp_ReleaseContext(This,hWnd,hIMC) (This)->lpVtbl->ReleaseContext(This,hWnd,hIMC)
  1267. #define IActiveIMMApp_SetCandidateWindow(This,hIMC,pCandidate) (This)->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate)
  1268. #define IActiveIMMApp_SetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontA(This,hIMC,plf)
  1269. #define IActiveIMMApp_SetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontW(This,hIMC,plf)
  1270. #define IActiveIMMApp_SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
  1271. #define IActiveIMMApp_SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
  1272. #define IActiveIMMApp_SetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm)
  1273. #define IActiveIMMApp_SetConversionStatus(This,hIMC,fdwConversion,fdwSentence) (This)->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence)
  1274. #define IActiveIMMApp_SetOpenStatus(This,hIMC,fOpen) (This)->lpVtbl->SetOpenStatus(This,hIMC,fOpen)
  1275. #define IActiveIMMApp_SetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos)
  1276. #define IActiveIMMApp_SimulateHotKey(This,hWnd,dwHotKeyID) (This)->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID)
  1277. #define IActiveIMMApp_UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister)
  1278. #define IActiveIMMApp_UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister)
  1279. #define IActiveIMMApp_Activate(This,fRestoreLayout) (This)->lpVtbl->Activate(This,fRestoreLayout)
  1280. #define IActiveIMMApp_Deactivate(This) (This)->lpVtbl->Deactivate(This)
  1281. #define IActiveIMMApp_OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult) (This)->lpVtbl->OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult)
  1282. #define IActiveIMMApp_FilterClientWindows(This,aaClassList,uSize) (This)->lpVtbl->FilterClientWindows(This,aaClassList,uSize)
  1283. #define IActiveIMMApp_GetCodePageA(This,hKL,uCodePage) (This)->lpVtbl->GetCodePageA(This,hKL,uCodePage)
  1284. #define IActiveIMMApp_GetLangId(This,hKL,plid) (This)->lpVtbl->GetLangId(This,hKL,plid)
  1285. #define IActiveIMMApp_AssociateContextEx(This,hWnd,hIMC,dwFlags) (This)->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags)
  1286. #define IActiveIMMApp_DisableIME(This,idThread) (This)->lpVtbl->DisableIME(This,idThread)
  1287. #define IActiveIMMApp_GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
  1288. #define IActiveIMMApp_GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
  1289. #define IActiveIMMApp_EnumInputContext(This,idThread,ppEnum) (This)->lpVtbl->EnumInputContext(This,idThread,ppEnum)
  1290. #else
  1291. /*** IUnknown methods ***/
  1292. static FORCEINLINE HRESULT IActiveIMMApp_QueryInterface(IActiveIMMApp* This,REFIID riid,void **ppvObject) {
  1293. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1294. }
  1295. static FORCEINLINE ULONG IActiveIMMApp_AddRef(IActiveIMMApp* This) {
  1296. return This->lpVtbl->AddRef(This);
  1297. }
  1298. static FORCEINLINE ULONG IActiveIMMApp_Release(IActiveIMMApp* This) {
  1299. return This->lpVtbl->Release(This);
  1300. }
  1301. /*** IActiveIMMApp methods ***/
  1302. static FORCEINLINE HRESULT IActiveIMMApp_AssociateContext(IActiveIMMApp* This,HWND hWnd,HIMC hIME,HIMC *phPrev) {
  1303. return This->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev);
  1304. }
  1305. static FORCEINLINE HRESULT IActiveIMMApp_ConfigureIMEA(IActiveIMMApp* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDA *pData) {
  1306. return This->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData);
  1307. }
  1308. static FORCEINLINE HRESULT IActiveIMMApp_ConfigureIMEW(IActiveIMMApp* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pData) {
  1309. return This->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData);
  1310. }
  1311. static FORCEINLINE HRESULT IActiveIMMApp_CreateContext(IActiveIMMApp* This,HIMC *phIMC) {
  1312. return This->lpVtbl->CreateContext(This,phIMC);
  1313. }
  1314. static FORCEINLINE HRESULT IActiveIMMApp_DestroyContext(IActiveIMMApp* This,HIMC hIME) {
  1315. return This->lpVtbl->DestroyContext(This,hIME);
  1316. }
  1317. static FORCEINLINE HRESULT IActiveIMMApp_EnumRegisterWordA(IActiveIMMApp* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister,LPVOID pData,IEnumRegisterWordA **pEnum) {
  1318. return This->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
  1319. }
  1320. static FORCEINLINE HRESULT IActiveIMMApp_EnumRegisterWordW(IActiveIMMApp* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **pEnum) {
  1321. return This->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
  1322. }
  1323. static FORCEINLINE HRESULT IActiveIMMApp_EscapeA(IActiveIMMApp* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
  1324. return This->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult);
  1325. }
  1326. static FORCEINLINE HRESULT IActiveIMMApp_EscapeW(IActiveIMMApp* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
  1327. return This->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult);
  1328. }
  1329. static FORCEINLINE HRESULT IActiveIMMApp_GetCandidateListA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
  1330. return This->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
  1331. }
  1332. static FORCEINLINE HRESULT IActiveIMMApp_GetCandidateListW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
  1333. return This->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
  1334. }
  1335. static FORCEINLINE HRESULT IActiveIMMApp_GetCandidateListCountA(IActiveIMMApp* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
  1336. return This->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen);
  1337. }
  1338. static FORCEINLINE HRESULT IActiveIMMApp_GetCandidateListCountW(IActiveIMMApp* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
  1339. return This->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen);
  1340. }
  1341. static FORCEINLINE HRESULT IActiveIMMApp_GetCandidateWindow(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,CANDIDATEFORM *pCandidate) {
  1342. return This->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate);
  1343. }
  1344. static FORCEINLINE HRESULT IActiveIMMApp_GetCompositionFontA(IActiveIMMApp* This,HIMC hIMC,LOGFONTA *plf) {
  1345. return This->lpVtbl->GetCompositionFontA(This,hIMC,plf);
  1346. }
  1347. static FORCEINLINE HRESULT IActiveIMMApp_GetCompositionFontW(IActiveIMMApp* This,HIMC hIMC,LOGFONTW *plf) {
  1348. return This->lpVtbl->GetCompositionFontW(This,hIMC,plf);
  1349. }
  1350. static FORCEINLINE HRESULT IActiveIMMApp_GetCompositionStringA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
  1351. return This->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
  1352. }
  1353. static FORCEINLINE HRESULT IActiveIMMApp_GetCompositionStringW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
  1354. return This->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
  1355. }
  1356. static FORCEINLINE HRESULT IActiveIMMApp_GetCompositionWindow(IActiveIMMApp* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
  1357. return This->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm);
  1358. }
  1359. static FORCEINLINE HRESULT IActiveIMMApp_GetContext(IActiveIMMApp* This,HWND hWnd,HIMC *phIMC) {
  1360. return This->lpVtbl->GetContext(This,hWnd,phIMC);
  1361. }
  1362. static FORCEINLINE HRESULT IActiveIMMApp_GetConversionListA(IActiveIMMApp* This,HKL hKL,HIMC hIMC,LPSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
  1363. return This->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
  1364. }
  1365. static FORCEINLINE HRESULT IActiveIMMApp_GetConversionListW(IActiveIMMApp* This,HKL hKL,HIMC hIMC,LPWSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
  1366. return This->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
  1367. }
  1368. static FORCEINLINE HRESULT IActiveIMMApp_GetConversionStatus(IActiveIMMApp* This,HIMC hIMC,DWORD *pfdwConversion,DWORD *pfdwSentence) {
  1369. return This->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence);
  1370. }
  1371. static FORCEINLINE HRESULT IActiveIMMApp_GetDefaultIMEWnd(IActiveIMMApp* This,HWND hWnd,HWND *phDefWnd) {
  1372. return This->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd);
  1373. }
  1374. static FORCEINLINE HRESULT IActiveIMMApp_GetDescriptionA(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPSTR szDescription,UINT *puCopied) {
  1375. return This->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied);
  1376. }
  1377. static FORCEINLINE HRESULT IActiveIMMApp_GetDescriptionW(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPWSTR szDescription,UINT *puCopied) {
  1378. return This->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied);
  1379. }
  1380. static FORCEINLINE HRESULT IActiveIMMApp_GetGuideLineA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPSTR pBuf,DWORD *pdwResult) {
  1381. return This->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
  1382. }
  1383. static FORCEINLINE HRESULT IActiveIMMApp_GetGuideLineW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPWSTR pBuf,DWORD *pdwResult) {
  1384. return This->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
  1385. }
  1386. static FORCEINLINE HRESULT IActiveIMMApp_GetIMEFileNameA(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPSTR szFileName,UINT *puCopied) {
  1387. return This->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied);
  1388. }
  1389. static FORCEINLINE HRESULT IActiveIMMApp_GetIMEFileNameW(IActiveIMMApp* This,HKL hKL,UINT uBufLen,LPWSTR szFileName,UINT *puCopied) {
  1390. return This->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied);
  1391. }
  1392. static FORCEINLINE HRESULT IActiveIMMApp_GetOpenStatus(IActiveIMMApp* This,HIMC hIMC) {
  1393. return This->lpVtbl->GetOpenStatus(This,hIMC);
  1394. }
  1395. static FORCEINLINE HRESULT IActiveIMMApp_GetProperty(IActiveIMMApp* This,HKL hKL,DWORD fdwIndex,DWORD *pdwProperty) {
  1396. return This->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty);
  1397. }
  1398. static FORCEINLINE HRESULT IActiveIMMApp_GetRegisterWordStyleA(IActiveIMMApp* This,HKL hKL,UINT nItem,STYLEBUFA *pStyleBuf,UINT *puCopied) {
  1399. return This->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied);
  1400. }
  1401. static FORCEINLINE HRESULT IActiveIMMApp_GetRegisterWordStyleW(IActiveIMMApp* This,HKL hKL,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puCopied) {
  1402. return This->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied);
  1403. }
  1404. static FORCEINLINE HRESULT IActiveIMMApp_GetStatusWindowPos(IActiveIMMApp* This,HIMC hIMC,POINT *pptPos) {
  1405. return This->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos);
  1406. }
  1407. static FORCEINLINE HRESULT IActiveIMMApp_GetVirtualKey(IActiveIMMApp* This,HWND hWnd,UINT *puVirtualKey) {
  1408. return This->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey);
  1409. }
  1410. static FORCEINLINE HRESULT IActiveIMMApp_InstallIMEA(IActiveIMMApp* This,LPSTR szIMEFileName,LPSTR szLayoutText,HKL *phKL) {
  1411. return This->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL);
  1412. }
  1413. static FORCEINLINE HRESULT IActiveIMMApp_InstallIMEW(IActiveIMMApp* This,LPWSTR szIMEFileName,LPWSTR szLayoutText,HKL *phKL) {
  1414. return This->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL);
  1415. }
  1416. static FORCEINLINE HRESULT IActiveIMMApp_IsIME(IActiveIMMApp* This,HKL hKL) {
  1417. return This->lpVtbl->IsIME(This,hKL);
  1418. }
  1419. static FORCEINLINE HRESULT IActiveIMMApp_IsUIMessageA(IActiveIMMApp* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
  1420. return This->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam);
  1421. }
  1422. static FORCEINLINE HRESULT IActiveIMMApp_IsUIMessageW(IActiveIMMApp* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
  1423. return This->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam);
  1424. }
  1425. static FORCEINLINE HRESULT IActiveIMMApp_NotifyIME(IActiveIMMApp* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
  1426. return This->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue);
  1427. }
  1428. static FORCEINLINE HRESULT IActiveIMMApp_RegisterWordA(IActiveIMMApp* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister) {
  1429. return This->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister);
  1430. }
  1431. static FORCEINLINE HRESULT IActiveIMMApp_RegisterWordW(IActiveIMMApp* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister) {
  1432. return This->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister);
  1433. }
  1434. static FORCEINLINE HRESULT IActiveIMMApp_ReleaseContext(IActiveIMMApp* This,HWND hWnd,HIMC hIMC) {
  1435. return This->lpVtbl->ReleaseContext(This,hWnd,hIMC);
  1436. }
  1437. static FORCEINLINE HRESULT IActiveIMMApp_SetCandidateWindow(IActiveIMMApp* This,HIMC hIMC,CANDIDATEFORM *pCandidate) {
  1438. return This->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate);
  1439. }
  1440. static FORCEINLINE HRESULT IActiveIMMApp_SetCompositionFontA(IActiveIMMApp* This,HIMC hIMC,LOGFONTA *plf) {
  1441. return This->lpVtbl->SetCompositionFontA(This,hIMC,plf);
  1442. }
  1443. static FORCEINLINE HRESULT IActiveIMMApp_SetCompositionFontW(IActiveIMMApp* This,HIMC hIMC,LOGFONTW *plf) {
  1444. return This->lpVtbl->SetCompositionFontW(This,hIMC,plf);
  1445. }
  1446. static FORCEINLINE HRESULT IActiveIMMApp_SetCompositionStringA(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
  1447. return This->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
  1448. }
  1449. static FORCEINLINE HRESULT IActiveIMMApp_SetCompositionStringW(IActiveIMMApp* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
  1450. return This->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
  1451. }
  1452. static FORCEINLINE HRESULT IActiveIMMApp_SetCompositionWindow(IActiveIMMApp* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
  1453. return This->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm);
  1454. }
  1455. static FORCEINLINE HRESULT IActiveIMMApp_SetConversionStatus(IActiveIMMApp* This,HIMC hIMC,DWORD fdwConversion,DWORD fdwSentence) {
  1456. return This->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence);
  1457. }
  1458. static FORCEINLINE HRESULT IActiveIMMApp_SetOpenStatus(IActiveIMMApp* This,HIMC hIMC,WINBOOL fOpen) {
  1459. return This->lpVtbl->SetOpenStatus(This,hIMC,fOpen);
  1460. }
  1461. static FORCEINLINE HRESULT IActiveIMMApp_SetStatusWindowPos(IActiveIMMApp* This,HIMC hIMC,POINT *pptPos) {
  1462. return This->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos);
  1463. }
  1464. static FORCEINLINE HRESULT IActiveIMMApp_SimulateHotKey(IActiveIMMApp* This,HWND hWnd,DWORD dwHotKeyID) {
  1465. return This->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID);
  1466. }
  1467. static FORCEINLINE HRESULT IActiveIMMApp_UnregisterWordA(IActiveIMMApp* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szUnregister) {
  1468. return This->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister);
  1469. }
  1470. static FORCEINLINE HRESULT IActiveIMMApp_UnregisterWordW(IActiveIMMApp* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szUnregister) {
  1471. return This->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister);
  1472. }
  1473. static FORCEINLINE HRESULT IActiveIMMApp_Activate(IActiveIMMApp* This,WINBOOL fRestoreLayout) {
  1474. return This->lpVtbl->Activate(This,fRestoreLayout);
  1475. }
  1476. static FORCEINLINE HRESULT IActiveIMMApp_Deactivate(IActiveIMMApp* This) {
  1477. return This->lpVtbl->Deactivate(This);
  1478. }
  1479. static FORCEINLINE HRESULT IActiveIMMApp_OnDefWindowProc(IActiveIMMApp* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
  1480. return This->lpVtbl->OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult);
  1481. }
  1482. static FORCEINLINE HRESULT IActiveIMMApp_FilterClientWindows(IActiveIMMApp* This,ATOM *aaClassList,UINT uSize) {
  1483. return This->lpVtbl->FilterClientWindows(This,aaClassList,uSize);
  1484. }
  1485. static FORCEINLINE HRESULT IActiveIMMApp_GetCodePageA(IActiveIMMApp* This,HKL hKL,UINT *uCodePage) {
  1486. return This->lpVtbl->GetCodePageA(This,hKL,uCodePage);
  1487. }
  1488. static FORCEINLINE HRESULT IActiveIMMApp_GetLangId(IActiveIMMApp* This,HKL hKL,LANGID *plid) {
  1489. return This->lpVtbl->GetLangId(This,hKL,plid);
  1490. }
  1491. static FORCEINLINE HRESULT IActiveIMMApp_AssociateContextEx(IActiveIMMApp* This,HWND hWnd,HIMC hIMC,DWORD dwFlags) {
  1492. return This->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags);
  1493. }
  1494. static FORCEINLINE HRESULT IActiveIMMApp_DisableIME(IActiveIMMApp* This,DWORD idThread) {
  1495. return This->lpVtbl->DisableIME(This,idThread);
  1496. }
  1497. static FORCEINLINE HRESULT IActiveIMMApp_GetImeMenuItemsA(IActiveIMMApp* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOA *pImeParentMenu,IMEMENUITEMINFOA *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
  1498. return This->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
  1499. }
  1500. static FORCEINLINE HRESULT IActiveIMMApp_GetImeMenuItemsW(IActiveIMMApp* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOW *pImeParentMenu,IMEMENUITEMINFOW *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
  1501. return This->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
  1502. }
  1503. static FORCEINLINE HRESULT IActiveIMMApp_EnumInputContext(IActiveIMMApp* This,DWORD idThread,IEnumInputContext **ppEnum) {
  1504. return This->lpVtbl->EnumInputContext(This,idThread,ppEnum);
  1505. }
  1506. #endif
  1507. #endif
  1508. #endif
  1509. #endif /* __IActiveIMMApp_INTERFACE_DEFINED__ */
  1510. /*****************************************************************************
  1511. * IActiveIMMIME interface
  1512. */
  1513. #ifndef __IActiveIMMIME_INTERFACE_DEFINED__
  1514. #define __IActiveIMMIME_INTERFACE_DEFINED__
  1515. DEFINE_GUID(IID_IActiveIMMIME, 0x08c03411, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
  1516. #if defined(__cplusplus) && !defined(CINTERFACE)
  1517. MIDL_INTERFACE("08c03411-f96b-11d0-a475-00aa006bcc59")
  1518. IActiveIMMIME : public IUnknown
  1519. {
  1520. virtual HRESULT STDMETHODCALLTYPE AssociateContext(
  1521. HWND hWnd,
  1522. HIMC hIME,
  1523. HIMC *phPrev) = 0;
  1524. virtual HRESULT STDMETHODCALLTYPE ConfigureIMEA(
  1525. HKL hKL,
  1526. HWND hWnd,
  1527. DWORD dwMode,
  1528. REGISTERWORDA *pData) = 0;
  1529. virtual HRESULT STDMETHODCALLTYPE ConfigureIMEW(
  1530. HKL hKL,
  1531. HWND hWnd,
  1532. DWORD dwMode,
  1533. REGISTERWORDW *pData) = 0;
  1534. virtual HRESULT STDMETHODCALLTYPE CreateContext(
  1535. HIMC *phIMC) = 0;
  1536. virtual HRESULT STDMETHODCALLTYPE DestroyContext(
  1537. HIMC hIME) = 0;
  1538. virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordA(
  1539. HKL hKL,
  1540. LPSTR szReading,
  1541. DWORD dwStyle,
  1542. LPSTR szRegister,
  1543. LPVOID pData,
  1544. IEnumRegisterWordA **pEnum) = 0;
  1545. virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordW(
  1546. HKL hKL,
  1547. LPWSTR szReading,
  1548. DWORD dwStyle,
  1549. LPWSTR szRegister,
  1550. LPVOID pData,
  1551. IEnumRegisterWordW **pEnum) = 0;
  1552. virtual HRESULT STDMETHODCALLTYPE EscapeA(
  1553. HKL hKL,
  1554. HIMC hIMC,
  1555. UINT uEscape,
  1556. LPVOID pData,
  1557. LRESULT *plResult) = 0;
  1558. virtual HRESULT STDMETHODCALLTYPE EscapeW(
  1559. HKL hKL,
  1560. HIMC hIMC,
  1561. UINT uEscape,
  1562. LPVOID pData,
  1563. LRESULT *plResult) = 0;
  1564. virtual HRESULT STDMETHODCALLTYPE GetCandidateListA(
  1565. HIMC hIMC,
  1566. DWORD dwIndex,
  1567. UINT uBufLen,
  1568. CANDIDATELIST *pCandList,
  1569. UINT *puCopied) = 0;
  1570. virtual HRESULT STDMETHODCALLTYPE GetCandidateListW(
  1571. HIMC hIMC,
  1572. DWORD dwIndex,
  1573. UINT uBufLen,
  1574. CANDIDATELIST *pCandList,
  1575. UINT *puCopied) = 0;
  1576. virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountA(
  1577. HIMC hIMC,
  1578. DWORD *pdwListSize,
  1579. DWORD *pdwBufLen) = 0;
  1580. virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountW(
  1581. HIMC hIMC,
  1582. DWORD *pdwListSize,
  1583. DWORD *pdwBufLen) = 0;
  1584. virtual HRESULT STDMETHODCALLTYPE GetCandidateWindow(
  1585. HIMC hIMC,
  1586. DWORD dwIndex,
  1587. CANDIDATEFORM *pCandidate) = 0;
  1588. virtual HRESULT STDMETHODCALLTYPE GetCompositionFontA(
  1589. HIMC hIMC,
  1590. LOGFONTA *plf) = 0;
  1591. virtual HRESULT STDMETHODCALLTYPE GetCompositionFontW(
  1592. HIMC hIMC,
  1593. LOGFONTW *plf) = 0;
  1594. virtual HRESULT STDMETHODCALLTYPE GetCompositionStringA(
  1595. HIMC hIMC,
  1596. DWORD dwIndex,
  1597. DWORD dwBufLen,
  1598. LONG *plCopied,
  1599. LPVOID pBuf) = 0;
  1600. virtual HRESULT STDMETHODCALLTYPE GetCompositionStringW(
  1601. HIMC hIMC,
  1602. DWORD dwIndex,
  1603. DWORD dwBufLen,
  1604. LONG *plCopied,
  1605. LPVOID pBuf) = 0;
  1606. virtual HRESULT STDMETHODCALLTYPE GetCompositionWindow(
  1607. HIMC hIMC,
  1608. COMPOSITIONFORM *pCompForm) = 0;
  1609. virtual HRESULT STDMETHODCALLTYPE GetContext(
  1610. HWND hWnd,
  1611. HIMC *phIMC) = 0;
  1612. virtual HRESULT STDMETHODCALLTYPE GetConversionListA(
  1613. HKL hKL,
  1614. HIMC hIMC,
  1615. LPSTR pSrc,
  1616. UINT uBufLen,
  1617. UINT uFlag,
  1618. CANDIDATELIST *pDst,
  1619. UINT *puCopied) = 0;
  1620. virtual HRESULT STDMETHODCALLTYPE GetConversionListW(
  1621. HKL hKL,
  1622. HIMC hIMC,
  1623. LPWSTR pSrc,
  1624. UINT uBufLen,
  1625. UINT uFlag,
  1626. CANDIDATELIST *pDst,
  1627. UINT *puCopied) = 0;
  1628. virtual HRESULT STDMETHODCALLTYPE GetConversionStatus(
  1629. HIMC hIMC,
  1630. DWORD *pfdwConversion,
  1631. DWORD *pfdwSentence) = 0;
  1632. virtual HRESULT STDMETHODCALLTYPE GetDefaultIMEWnd(
  1633. HWND hWnd,
  1634. HWND *phDefWnd) = 0;
  1635. virtual HRESULT STDMETHODCALLTYPE GetDescriptionA(
  1636. HKL hKL,
  1637. UINT uBufLen,
  1638. LPSTR szDescription,
  1639. UINT *puCopied) = 0;
  1640. virtual HRESULT STDMETHODCALLTYPE GetDescriptionW(
  1641. HKL hKL,
  1642. UINT uBufLen,
  1643. LPWSTR szDescription,
  1644. UINT *puCopied) = 0;
  1645. virtual HRESULT STDMETHODCALLTYPE GetGuideLineA(
  1646. HIMC hIMC,
  1647. DWORD dwIndex,
  1648. DWORD dwBufLen,
  1649. LPSTR pBuf,
  1650. DWORD *pdwResult) = 0;
  1651. virtual HRESULT STDMETHODCALLTYPE GetGuideLineW(
  1652. HIMC hIMC,
  1653. DWORD dwIndex,
  1654. DWORD dwBufLen,
  1655. LPWSTR pBuf,
  1656. DWORD *pdwResult) = 0;
  1657. virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameA(
  1658. HKL hKL,
  1659. UINT uBufLen,
  1660. LPSTR szFileName,
  1661. UINT *puCopied) = 0;
  1662. virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameW(
  1663. HKL hKL,
  1664. UINT uBufLen,
  1665. LPWSTR szFileName,
  1666. UINT *puCopied) = 0;
  1667. virtual HRESULT STDMETHODCALLTYPE GetOpenStatus(
  1668. HIMC hIMC) = 0;
  1669. virtual HRESULT STDMETHODCALLTYPE GetProperty(
  1670. HKL hKL,
  1671. DWORD fdwIndex,
  1672. DWORD *pdwProperty) = 0;
  1673. virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleA(
  1674. HKL hKL,
  1675. UINT nItem,
  1676. STYLEBUFA *pStyleBuf,
  1677. UINT *puCopied) = 0;
  1678. virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleW(
  1679. HKL hKL,
  1680. UINT nItem,
  1681. STYLEBUFW *pStyleBuf,
  1682. UINT *puCopied) = 0;
  1683. virtual HRESULT STDMETHODCALLTYPE GetStatusWindowPos(
  1684. HIMC hIMC,
  1685. POINT *pptPos) = 0;
  1686. virtual HRESULT STDMETHODCALLTYPE GetVirtualKey(
  1687. HWND hWnd,
  1688. UINT *puVirtualKey) = 0;
  1689. virtual HRESULT STDMETHODCALLTYPE InstallIMEA(
  1690. LPSTR szIMEFileName,
  1691. LPSTR szLayoutText,
  1692. HKL *phKL) = 0;
  1693. virtual HRESULT STDMETHODCALLTYPE InstallIMEW(
  1694. LPWSTR szIMEFileName,
  1695. LPWSTR szLayoutText,
  1696. HKL *phKL) = 0;
  1697. virtual HRESULT STDMETHODCALLTYPE IsIME(
  1698. HKL hKL) = 0;
  1699. virtual HRESULT STDMETHODCALLTYPE IsUIMessageA(
  1700. HWND hWndIME,
  1701. UINT msg,
  1702. WPARAM wParam,
  1703. LPARAM lParam) = 0;
  1704. virtual HRESULT STDMETHODCALLTYPE IsUIMessageW(
  1705. HWND hWndIME,
  1706. UINT msg,
  1707. WPARAM wParam,
  1708. LPARAM lParam) = 0;
  1709. virtual HRESULT STDMETHODCALLTYPE NotifyIME(
  1710. HIMC hIMC,
  1711. DWORD dwAction,
  1712. DWORD dwIndex,
  1713. DWORD dwValue) = 0;
  1714. virtual HRESULT STDMETHODCALLTYPE RegisterWordA(
  1715. HKL hKL,
  1716. LPSTR szReading,
  1717. DWORD dwStyle,
  1718. LPSTR szRegister) = 0;
  1719. virtual HRESULT STDMETHODCALLTYPE RegisterWordW(
  1720. HKL hKL,
  1721. LPWSTR szReading,
  1722. DWORD dwStyle,
  1723. LPWSTR szRegister) = 0;
  1724. virtual HRESULT STDMETHODCALLTYPE ReleaseContext(
  1725. HWND hWnd,
  1726. HIMC hIMC) = 0;
  1727. virtual HRESULT STDMETHODCALLTYPE SetCandidateWindow(
  1728. HIMC hIMC,
  1729. CANDIDATEFORM *pCandidate) = 0;
  1730. virtual HRESULT STDMETHODCALLTYPE SetCompositionFontA(
  1731. HIMC hIMC,
  1732. LOGFONTA *plf) = 0;
  1733. virtual HRESULT STDMETHODCALLTYPE SetCompositionFontW(
  1734. HIMC hIMC,
  1735. LOGFONTW *plf) = 0;
  1736. virtual HRESULT STDMETHODCALLTYPE SetCompositionStringA(
  1737. HIMC hIMC,
  1738. DWORD dwIndex,
  1739. LPVOID pComp,
  1740. DWORD dwCompLen,
  1741. LPVOID pRead,
  1742. DWORD dwReadLen) = 0;
  1743. virtual HRESULT STDMETHODCALLTYPE SetCompositionStringW(
  1744. HIMC hIMC,
  1745. DWORD dwIndex,
  1746. LPVOID pComp,
  1747. DWORD dwCompLen,
  1748. LPVOID pRead,
  1749. DWORD dwReadLen) = 0;
  1750. virtual HRESULT STDMETHODCALLTYPE SetCompositionWindow(
  1751. HIMC hIMC,
  1752. COMPOSITIONFORM *pCompForm) = 0;
  1753. virtual HRESULT STDMETHODCALLTYPE SetConversionStatus(
  1754. HIMC hIMC,
  1755. DWORD fdwConversion,
  1756. DWORD fdwSentence) = 0;
  1757. virtual HRESULT STDMETHODCALLTYPE SetOpenStatus(
  1758. HIMC hIMC,
  1759. WINBOOL fOpen) = 0;
  1760. virtual HRESULT STDMETHODCALLTYPE SetStatusWindowPos(
  1761. HIMC hIMC,
  1762. POINT *pptPos) = 0;
  1763. virtual HRESULT STDMETHODCALLTYPE SimulateHotKey(
  1764. HWND hWnd,
  1765. DWORD dwHotKeyID) = 0;
  1766. virtual HRESULT STDMETHODCALLTYPE UnregisterWordA(
  1767. HKL hKL,
  1768. LPSTR szReading,
  1769. DWORD dwStyle,
  1770. LPSTR szUnregister) = 0;
  1771. virtual HRESULT STDMETHODCALLTYPE UnregisterWordW(
  1772. HKL hKL,
  1773. LPWSTR szReading,
  1774. DWORD dwStyle,
  1775. LPWSTR szUnregister) = 0;
  1776. virtual HRESULT STDMETHODCALLTYPE GenerateMessage(
  1777. HIMC hIMC) = 0;
  1778. virtual HRESULT STDMETHODCALLTYPE LockIMC(
  1779. HIMC hIMC,
  1780. INPUTCONTEXT **ppIMC) = 0;
  1781. virtual HRESULT STDMETHODCALLTYPE UnlockIMC(
  1782. HIMC hIMC) = 0;
  1783. virtual HRESULT STDMETHODCALLTYPE GetIMCLockCount(
  1784. HIMC hIMC,
  1785. DWORD *pdwLockCount) = 0;
  1786. virtual HRESULT STDMETHODCALLTYPE CreateIMCC(
  1787. DWORD dwSize,
  1788. HIMCC *phIMCC) = 0;
  1789. virtual HRESULT STDMETHODCALLTYPE DestroyIMCC(
  1790. HIMCC hIMCC) = 0;
  1791. virtual HRESULT STDMETHODCALLTYPE LockIMCC(
  1792. HIMCC hIMCC,
  1793. void **ppv) = 0;
  1794. virtual HRESULT STDMETHODCALLTYPE UnlockIMCC(
  1795. HIMCC hIMCC) = 0;
  1796. virtual HRESULT STDMETHODCALLTYPE ReSizeIMCC(
  1797. HIMCC hIMCC,
  1798. DWORD dwSize,
  1799. HIMCC *phIMCC) = 0;
  1800. virtual HRESULT STDMETHODCALLTYPE GetIMCCSize(
  1801. HIMCC hIMCC,
  1802. DWORD *pdwSize) = 0;
  1803. virtual HRESULT STDMETHODCALLTYPE GetIMCCLockCount(
  1804. HIMCC hIMCC,
  1805. DWORD *pdwLockCount) = 0;
  1806. virtual HRESULT STDMETHODCALLTYPE GetHotKey(
  1807. DWORD dwHotKeyID,
  1808. UINT *puModifiers,
  1809. UINT *puVKey,
  1810. HKL *phKL) = 0;
  1811. virtual HRESULT STDMETHODCALLTYPE SetHotKey(
  1812. DWORD dwHotKeyID,
  1813. UINT uModifiers,
  1814. UINT uVKey,
  1815. HKL hKL) = 0;
  1816. virtual HRESULT STDMETHODCALLTYPE CreateSoftKeyboard(
  1817. UINT uType,
  1818. HWND hOwner,
  1819. int x,
  1820. int y,
  1821. HWND *phSoftKbdWnd) = 0;
  1822. virtual HRESULT STDMETHODCALLTYPE DestroySoftKeyboard(
  1823. HWND hSoftKbdWnd) = 0;
  1824. virtual HRESULT STDMETHODCALLTYPE ShowSoftKeyboard(
  1825. HWND hSoftKbdWnd,
  1826. int nCmdShow) = 0;
  1827. virtual HRESULT STDMETHODCALLTYPE GetCodePageA(
  1828. HKL hKL,
  1829. UINT *uCodePage) = 0;
  1830. virtual HRESULT STDMETHODCALLTYPE GetLangId(
  1831. HKL hKL,
  1832. LANGID *plid) = 0;
  1833. virtual HRESULT STDMETHODCALLTYPE KeybdEvent(
  1834. LANGID lgidIME,
  1835. BYTE bVk,
  1836. BYTE bScan,
  1837. DWORD dwFlags,
  1838. DWORD dwExtraInfo) = 0;
  1839. virtual HRESULT STDMETHODCALLTYPE LockModal(
  1840. ) = 0;
  1841. virtual HRESULT STDMETHODCALLTYPE UnlockModal(
  1842. ) = 0;
  1843. virtual HRESULT STDMETHODCALLTYPE AssociateContextEx(
  1844. HWND hWnd,
  1845. HIMC hIMC,
  1846. DWORD dwFlags) = 0;
  1847. virtual HRESULT STDMETHODCALLTYPE DisableIME(
  1848. DWORD idThread) = 0;
  1849. virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsA(
  1850. HIMC hIMC,
  1851. DWORD dwFlags,
  1852. DWORD dwType,
  1853. IMEMENUITEMINFOA *pImeParentMenu,
  1854. IMEMENUITEMINFOA *pImeMenu,
  1855. DWORD dwSize,
  1856. DWORD *pdwResult) = 0;
  1857. virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsW(
  1858. HIMC hIMC,
  1859. DWORD dwFlags,
  1860. DWORD dwType,
  1861. IMEMENUITEMINFOW *pImeParentMenu,
  1862. IMEMENUITEMINFOW *pImeMenu,
  1863. DWORD dwSize,
  1864. DWORD *pdwResult) = 0;
  1865. virtual HRESULT STDMETHODCALLTYPE EnumInputContext(
  1866. DWORD idThread,
  1867. IEnumInputContext **ppEnum) = 0;
  1868. virtual HRESULT STDMETHODCALLTYPE RequestMessageA(
  1869. HIMC hIMC,
  1870. WPARAM wParam,
  1871. LPARAM lParam,
  1872. LRESULT *plResult) = 0;
  1873. virtual HRESULT STDMETHODCALLTYPE RequestMessageW(
  1874. HIMC hIMC,
  1875. WPARAM wParam,
  1876. LPARAM lParam,
  1877. LRESULT *plResult) = 0;
  1878. virtual HRESULT STDMETHODCALLTYPE SendIMCA(
  1879. HWND hWnd,
  1880. UINT uMsg,
  1881. WPARAM wParam,
  1882. LPARAM lParam,
  1883. LRESULT *plResult) = 0;
  1884. virtual HRESULT STDMETHODCALLTYPE SendIMCW(
  1885. HWND hWnd,
  1886. UINT uMsg,
  1887. WPARAM wParam,
  1888. LPARAM lParam,
  1889. LRESULT *plResult) = 0;
  1890. virtual HRESULT STDMETHODCALLTYPE IsSleeping(
  1891. ) = 0;
  1892. };
  1893. #ifdef __CRT_UUID_DECL
  1894. __CRT_UUID_DECL(IActiveIMMIME, 0x08c03411, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
  1895. #endif
  1896. #else
  1897. typedef struct IActiveIMMIMEVtbl {
  1898. BEGIN_INTERFACE
  1899. /*** IUnknown methods ***/
  1900. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1901. IActiveIMMIME *This,
  1902. REFIID riid,
  1903. void **ppvObject);
  1904. ULONG (STDMETHODCALLTYPE *AddRef)(
  1905. IActiveIMMIME *This);
  1906. ULONG (STDMETHODCALLTYPE *Release)(
  1907. IActiveIMMIME *This);
  1908. /*** IActiveIMMIME methods ***/
  1909. HRESULT (STDMETHODCALLTYPE *AssociateContext)(
  1910. IActiveIMMIME *This,
  1911. HWND hWnd,
  1912. HIMC hIME,
  1913. HIMC *phPrev);
  1914. HRESULT (STDMETHODCALLTYPE *ConfigureIMEA)(
  1915. IActiveIMMIME *This,
  1916. HKL hKL,
  1917. HWND hWnd,
  1918. DWORD dwMode,
  1919. REGISTERWORDA *pData);
  1920. HRESULT (STDMETHODCALLTYPE *ConfigureIMEW)(
  1921. IActiveIMMIME *This,
  1922. HKL hKL,
  1923. HWND hWnd,
  1924. DWORD dwMode,
  1925. REGISTERWORDW *pData);
  1926. HRESULT (STDMETHODCALLTYPE *CreateContext)(
  1927. IActiveIMMIME *This,
  1928. HIMC *phIMC);
  1929. HRESULT (STDMETHODCALLTYPE *DestroyContext)(
  1930. IActiveIMMIME *This,
  1931. HIMC hIME);
  1932. HRESULT (STDMETHODCALLTYPE *EnumRegisterWordA)(
  1933. IActiveIMMIME *This,
  1934. HKL hKL,
  1935. LPSTR szReading,
  1936. DWORD dwStyle,
  1937. LPSTR szRegister,
  1938. LPVOID pData,
  1939. IEnumRegisterWordA **pEnum);
  1940. HRESULT (STDMETHODCALLTYPE *EnumRegisterWordW)(
  1941. IActiveIMMIME *This,
  1942. HKL hKL,
  1943. LPWSTR szReading,
  1944. DWORD dwStyle,
  1945. LPWSTR szRegister,
  1946. LPVOID pData,
  1947. IEnumRegisterWordW **pEnum);
  1948. HRESULT (STDMETHODCALLTYPE *EscapeA)(
  1949. IActiveIMMIME *This,
  1950. HKL hKL,
  1951. HIMC hIMC,
  1952. UINT uEscape,
  1953. LPVOID pData,
  1954. LRESULT *plResult);
  1955. HRESULT (STDMETHODCALLTYPE *EscapeW)(
  1956. IActiveIMMIME *This,
  1957. HKL hKL,
  1958. HIMC hIMC,
  1959. UINT uEscape,
  1960. LPVOID pData,
  1961. LRESULT *plResult);
  1962. HRESULT (STDMETHODCALLTYPE *GetCandidateListA)(
  1963. IActiveIMMIME *This,
  1964. HIMC hIMC,
  1965. DWORD dwIndex,
  1966. UINT uBufLen,
  1967. CANDIDATELIST *pCandList,
  1968. UINT *puCopied);
  1969. HRESULT (STDMETHODCALLTYPE *GetCandidateListW)(
  1970. IActiveIMMIME *This,
  1971. HIMC hIMC,
  1972. DWORD dwIndex,
  1973. UINT uBufLen,
  1974. CANDIDATELIST *pCandList,
  1975. UINT *puCopied);
  1976. HRESULT (STDMETHODCALLTYPE *GetCandidateListCountA)(
  1977. IActiveIMMIME *This,
  1978. HIMC hIMC,
  1979. DWORD *pdwListSize,
  1980. DWORD *pdwBufLen);
  1981. HRESULT (STDMETHODCALLTYPE *GetCandidateListCountW)(
  1982. IActiveIMMIME *This,
  1983. HIMC hIMC,
  1984. DWORD *pdwListSize,
  1985. DWORD *pdwBufLen);
  1986. HRESULT (STDMETHODCALLTYPE *GetCandidateWindow)(
  1987. IActiveIMMIME *This,
  1988. HIMC hIMC,
  1989. DWORD dwIndex,
  1990. CANDIDATEFORM *pCandidate);
  1991. HRESULT (STDMETHODCALLTYPE *GetCompositionFontA)(
  1992. IActiveIMMIME *This,
  1993. HIMC hIMC,
  1994. LOGFONTA *plf);
  1995. HRESULT (STDMETHODCALLTYPE *GetCompositionFontW)(
  1996. IActiveIMMIME *This,
  1997. HIMC hIMC,
  1998. LOGFONTW *plf);
  1999. HRESULT (STDMETHODCALLTYPE *GetCompositionStringA)(
  2000. IActiveIMMIME *This,
  2001. HIMC hIMC,
  2002. DWORD dwIndex,
  2003. DWORD dwBufLen,
  2004. LONG *plCopied,
  2005. LPVOID pBuf);
  2006. HRESULT (STDMETHODCALLTYPE *GetCompositionStringW)(
  2007. IActiveIMMIME *This,
  2008. HIMC hIMC,
  2009. DWORD dwIndex,
  2010. DWORD dwBufLen,
  2011. LONG *plCopied,
  2012. LPVOID pBuf);
  2013. HRESULT (STDMETHODCALLTYPE *GetCompositionWindow)(
  2014. IActiveIMMIME *This,
  2015. HIMC hIMC,
  2016. COMPOSITIONFORM *pCompForm);
  2017. HRESULT (STDMETHODCALLTYPE *GetContext)(
  2018. IActiveIMMIME *This,
  2019. HWND hWnd,
  2020. HIMC *phIMC);
  2021. HRESULT (STDMETHODCALLTYPE *GetConversionListA)(
  2022. IActiveIMMIME *This,
  2023. HKL hKL,
  2024. HIMC hIMC,
  2025. LPSTR pSrc,
  2026. UINT uBufLen,
  2027. UINT uFlag,
  2028. CANDIDATELIST *pDst,
  2029. UINT *puCopied);
  2030. HRESULT (STDMETHODCALLTYPE *GetConversionListW)(
  2031. IActiveIMMIME *This,
  2032. HKL hKL,
  2033. HIMC hIMC,
  2034. LPWSTR pSrc,
  2035. UINT uBufLen,
  2036. UINT uFlag,
  2037. CANDIDATELIST *pDst,
  2038. UINT *puCopied);
  2039. HRESULT (STDMETHODCALLTYPE *GetConversionStatus)(
  2040. IActiveIMMIME *This,
  2041. HIMC hIMC,
  2042. DWORD *pfdwConversion,
  2043. DWORD *pfdwSentence);
  2044. HRESULT (STDMETHODCALLTYPE *GetDefaultIMEWnd)(
  2045. IActiveIMMIME *This,
  2046. HWND hWnd,
  2047. HWND *phDefWnd);
  2048. HRESULT (STDMETHODCALLTYPE *GetDescriptionA)(
  2049. IActiveIMMIME *This,
  2050. HKL hKL,
  2051. UINT uBufLen,
  2052. LPSTR szDescription,
  2053. UINT *puCopied);
  2054. HRESULT (STDMETHODCALLTYPE *GetDescriptionW)(
  2055. IActiveIMMIME *This,
  2056. HKL hKL,
  2057. UINT uBufLen,
  2058. LPWSTR szDescription,
  2059. UINT *puCopied);
  2060. HRESULT (STDMETHODCALLTYPE *GetGuideLineA)(
  2061. IActiveIMMIME *This,
  2062. HIMC hIMC,
  2063. DWORD dwIndex,
  2064. DWORD dwBufLen,
  2065. LPSTR pBuf,
  2066. DWORD *pdwResult);
  2067. HRESULT (STDMETHODCALLTYPE *GetGuideLineW)(
  2068. IActiveIMMIME *This,
  2069. HIMC hIMC,
  2070. DWORD dwIndex,
  2071. DWORD dwBufLen,
  2072. LPWSTR pBuf,
  2073. DWORD *pdwResult);
  2074. HRESULT (STDMETHODCALLTYPE *GetIMEFileNameA)(
  2075. IActiveIMMIME *This,
  2076. HKL hKL,
  2077. UINT uBufLen,
  2078. LPSTR szFileName,
  2079. UINT *puCopied);
  2080. HRESULT (STDMETHODCALLTYPE *GetIMEFileNameW)(
  2081. IActiveIMMIME *This,
  2082. HKL hKL,
  2083. UINT uBufLen,
  2084. LPWSTR szFileName,
  2085. UINT *puCopied);
  2086. HRESULT (STDMETHODCALLTYPE *GetOpenStatus)(
  2087. IActiveIMMIME *This,
  2088. HIMC hIMC);
  2089. HRESULT (STDMETHODCALLTYPE *GetProperty)(
  2090. IActiveIMMIME *This,
  2091. HKL hKL,
  2092. DWORD fdwIndex,
  2093. DWORD *pdwProperty);
  2094. HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleA)(
  2095. IActiveIMMIME *This,
  2096. HKL hKL,
  2097. UINT nItem,
  2098. STYLEBUFA *pStyleBuf,
  2099. UINT *puCopied);
  2100. HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyleW)(
  2101. IActiveIMMIME *This,
  2102. HKL hKL,
  2103. UINT nItem,
  2104. STYLEBUFW *pStyleBuf,
  2105. UINT *puCopied);
  2106. HRESULT (STDMETHODCALLTYPE *GetStatusWindowPos)(
  2107. IActiveIMMIME *This,
  2108. HIMC hIMC,
  2109. POINT *pptPos);
  2110. HRESULT (STDMETHODCALLTYPE *GetVirtualKey)(
  2111. IActiveIMMIME *This,
  2112. HWND hWnd,
  2113. UINT *puVirtualKey);
  2114. HRESULT (STDMETHODCALLTYPE *InstallIMEA)(
  2115. IActiveIMMIME *This,
  2116. LPSTR szIMEFileName,
  2117. LPSTR szLayoutText,
  2118. HKL *phKL);
  2119. HRESULT (STDMETHODCALLTYPE *InstallIMEW)(
  2120. IActiveIMMIME *This,
  2121. LPWSTR szIMEFileName,
  2122. LPWSTR szLayoutText,
  2123. HKL *phKL);
  2124. HRESULT (STDMETHODCALLTYPE *IsIME)(
  2125. IActiveIMMIME *This,
  2126. HKL hKL);
  2127. HRESULT (STDMETHODCALLTYPE *IsUIMessageA)(
  2128. IActiveIMMIME *This,
  2129. HWND hWndIME,
  2130. UINT msg,
  2131. WPARAM wParam,
  2132. LPARAM lParam);
  2133. HRESULT (STDMETHODCALLTYPE *IsUIMessageW)(
  2134. IActiveIMMIME *This,
  2135. HWND hWndIME,
  2136. UINT msg,
  2137. WPARAM wParam,
  2138. LPARAM lParam);
  2139. HRESULT (STDMETHODCALLTYPE *NotifyIME)(
  2140. IActiveIMMIME *This,
  2141. HIMC hIMC,
  2142. DWORD dwAction,
  2143. DWORD dwIndex,
  2144. DWORD dwValue);
  2145. HRESULT (STDMETHODCALLTYPE *RegisterWordA)(
  2146. IActiveIMMIME *This,
  2147. HKL hKL,
  2148. LPSTR szReading,
  2149. DWORD dwStyle,
  2150. LPSTR szRegister);
  2151. HRESULT (STDMETHODCALLTYPE *RegisterWordW)(
  2152. IActiveIMMIME *This,
  2153. HKL hKL,
  2154. LPWSTR szReading,
  2155. DWORD dwStyle,
  2156. LPWSTR szRegister);
  2157. HRESULT (STDMETHODCALLTYPE *ReleaseContext)(
  2158. IActiveIMMIME *This,
  2159. HWND hWnd,
  2160. HIMC hIMC);
  2161. HRESULT (STDMETHODCALLTYPE *SetCandidateWindow)(
  2162. IActiveIMMIME *This,
  2163. HIMC hIMC,
  2164. CANDIDATEFORM *pCandidate);
  2165. HRESULT (STDMETHODCALLTYPE *SetCompositionFontA)(
  2166. IActiveIMMIME *This,
  2167. HIMC hIMC,
  2168. LOGFONTA *plf);
  2169. HRESULT (STDMETHODCALLTYPE *SetCompositionFontW)(
  2170. IActiveIMMIME *This,
  2171. HIMC hIMC,
  2172. LOGFONTW *plf);
  2173. HRESULT (STDMETHODCALLTYPE *SetCompositionStringA)(
  2174. IActiveIMMIME *This,
  2175. HIMC hIMC,
  2176. DWORD dwIndex,
  2177. LPVOID pComp,
  2178. DWORD dwCompLen,
  2179. LPVOID pRead,
  2180. DWORD dwReadLen);
  2181. HRESULT (STDMETHODCALLTYPE *SetCompositionStringW)(
  2182. IActiveIMMIME *This,
  2183. HIMC hIMC,
  2184. DWORD dwIndex,
  2185. LPVOID pComp,
  2186. DWORD dwCompLen,
  2187. LPVOID pRead,
  2188. DWORD dwReadLen);
  2189. HRESULT (STDMETHODCALLTYPE *SetCompositionWindow)(
  2190. IActiveIMMIME *This,
  2191. HIMC hIMC,
  2192. COMPOSITIONFORM *pCompForm);
  2193. HRESULT (STDMETHODCALLTYPE *SetConversionStatus)(
  2194. IActiveIMMIME *This,
  2195. HIMC hIMC,
  2196. DWORD fdwConversion,
  2197. DWORD fdwSentence);
  2198. HRESULT (STDMETHODCALLTYPE *SetOpenStatus)(
  2199. IActiveIMMIME *This,
  2200. HIMC hIMC,
  2201. WINBOOL fOpen);
  2202. HRESULT (STDMETHODCALLTYPE *SetStatusWindowPos)(
  2203. IActiveIMMIME *This,
  2204. HIMC hIMC,
  2205. POINT *pptPos);
  2206. HRESULT (STDMETHODCALLTYPE *SimulateHotKey)(
  2207. IActiveIMMIME *This,
  2208. HWND hWnd,
  2209. DWORD dwHotKeyID);
  2210. HRESULT (STDMETHODCALLTYPE *UnregisterWordA)(
  2211. IActiveIMMIME *This,
  2212. HKL hKL,
  2213. LPSTR szReading,
  2214. DWORD dwStyle,
  2215. LPSTR szUnregister);
  2216. HRESULT (STDMETHODCALLTYPE *UnregisterWordW)(
  2217. IActiveIMMIME *This,
  2218. HKL hKL,
  2219. LPWSTR szReading,
  2220. DWORD dwStyle,
  2221. LPWSTR szUnregister);
  2222. HRESULT (STDMETHODCALLTYPE *GenerateMessage)(
  2223. IActiveIMMIME *This,
  2224. HIMC hIMC);
  2225. HRESULT (STDMETHODCALLTYPE *LockIMC)(
  2226. IActiveIMMIME *This,
  2227. HIMC hIMC,
  2228. INPUTCONTEXT **ppIMC);
  2229. HRESULT (STDMETHODCALLTYPE *UnlockIMC)(
  2230. IActiveIMMIME *This,
  2231. HIMC hIMC);
  2232. HRESULT (STDMETHODCALLTYPE *GetIMCLockCount)(
  2233. IActiveIMMIME *This,
  2234. HIMC hIMC,
  2235. DWORD *pdwLockCount);
  2236. HRESULT (STDMETHODCALLTYPE *CreateIMCC)(
  2237. IActiveIMMIME *This,
  2238. DWORD dwSize,
  2239. HIMCC *phIMCC);
  2240. HRESULT (STDMETHODCALLTYPE *DestroyIMCC)(
  2241. IActiveIMMIME *This,
  2242. HIMCC hIMCC);
  2243. HRESULT (STDMETHODCALLTYPE *LockIMCC)(
  2244. IActiveIMMIME *This,
  2245. HIMCC hIMCC,
  2246. void **ppv);
  2247. HRESULT (STDMETHODCALLTYPE *UnlockIMCC)(
  2248. IActiveIMMIME *This,
  2249. HIMCC hIMCC);
  2250. HRESULT (STDMETHODCALLTYPE *ReSizeIMCC)(
  2251. IActiveIMMIME *This,
  2252. HIMCC hIMCC,
  2253. DWORD dwSize,
  2254. HIMCC *phIMCC);
  2255. HRESULT (STDMETHODCALLTYPE *GetIMCCSize)(
  2256. IActiveIMMIME *This,
  2257. HIMCC hIMCC,
  2258. DWORD *pdwSize);
  2259. HRESULT (STDMETHODCALLTYPE *GetIMCCLockCount)(
  2260. IActiveIMMIME *This,
  2261. HIMCC hIMCC,
  2262. DWORD *pdwLockCount);
  2263. HRESULT (STDMETHODCALLTYPE *GetHotKey)(
  2264. IActiveIMMIME *This,
  2265. DWORD dwHotKeyID,
  2266. UINT *puModifiers,
  2267. UINT *puVKey,
  2268. HKL *phKL);
  2269. HRESULT (STDMETHODCALLTYPE *SetHotKey)(
  2270. IActiveIMMIME *This,
  2271. DWORD dwHotKeyID,
  2272. UINT uModifiers,
  2273. UINT uVKey,
  2274. HKL hKL);
  2275. HRESULT (STDMETHODCALLTYPE *CreateSoftKeyboard)(
  2276. IActiveIMMIME *This,
  2277. UINT uType,
  2278. HWND hOwner,
  2279. int x,
  2280. int y,
  2281. HWND *phSoftKbdWnd);
  2282. HRESULT (STDMETHODCALLTYPE *DestroySoftKeyboard)(
  2283. IActiveIMMIME *This,
  2284. HWND hSoftKbdWnd);
  2285. HRESULT (STDMETHODCALLTYPE *ShowSoftKeyboard)(
  2286. IActiveIMMIME *This,
  2287. HWND hSoftKbdWnd,
  2288. int nCmdShow);
  2289. HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
  2290. IActiveIMMIME *This,
  2291. HKL hKL,
  2292. UINT *uCodePage);
  2293. HRESULT (STDMETHODCALLTYPE *GetLangId)(
  2294. IActiveIMMIME *This,
  2295. HKL hKL,
  2296. LANGID *plid);
  2297. HRESULT (STDMETHODCALLTYPE *KeybdEvent)(
  2298. IActiveIMMIME *This,
  2299. LANGID lgidIME,
  2300. BYTE bVk,
  2301. BYTE bScan,
  2302. DWORD dwFlags,
  2303. DWORD dwExtraInfo);
  2304. HRESULT (STDMETHODCALLTYPE *LockModal)(
  2305. IActiveIMMIME *This);
  2306. HRESULT (STDMETHODCALLTYPE *UnlockModal)(
  2307. IActiveIMMIME *This);
  2308. HRESULT (STDMETHODCALLTYPE *AssociateContextEx)(
  2309. IActiveIMMIME *This,
  2310. HWND hWnd,
  2311. HIMC hIMC,
  2312. DWORD dwFlags);
  2313. HRESULT (STDMETHODCALLTYPE *DisableIME)(
  2314. IActiveIMMIME *This,
  2315. DWORD idThread);
  2316. HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsA)(
  2317. IActiveIMMIME *This,
  2318. HIMC hIMC,
  2319. DWORD dwFlags,
  2320. DWORD dwType,
  2321. IMEMENUITEMINFOA *pImeParentMenu,
  2322. IMEMENUITEMINFOA *pImeMenu,
  2323. DWORD dwSize,
  2324. DWORD *pdwResult);
  2325. HRESULT (STDMETHODCALLTYPE *GetImeMenuItemsW)(
  2326. IActiveIMMIME *This,
  2327. HIMC hIMC,
  2328. DWORD dwFlags,
  2329. DWORD dwType,
  2330. IMEMENUITEMINFOW *pImeParentMenu,
  2331. IMEMENUITEMINFOW *pImeMenu,
  2332. DWORD dwSize,
  2333. DWORD *pdwResult);
  2334. HRESULT (STDMETHODCALLTYPE *EnumInputContext)(
  2335. IActiveIMMIME *This,
  2336. DWORD idThread,
  2337. IEnumInputContext **ppEnum);
  2338. HRESULT (STDMETHODCALLTYPE *RequestMessageA)(
  2339. IActiveIMMIME *This,
  2340. HIMC hIMC,
  2341. WPARAM wParam,
  2342. LPARAM lParam,
  2343. LRESULT *plResult);
  2344. HRESULT (STDMETHODCALLTYPE *RequestMessageW)(
  2345. IActiveIMMIME *This,
  2346. HIMC hIMC,
  2347. WPARAM wParam,
  2348. LPARAM lParam,
  2349. LRESULT *plResult);
  2350. HRESULT (STDMETHODCALLTYPE *SendIMCA)(
  2351. IActiveIMMIME *This,
  2352. HWND hWnd,
  2353. UINT uMsg,
  2354. WPARAM wParam,
  2355. LPARAM lParam,
  2356. LRESULT *plResult);
  2357. HRESULT (STDMETHODCALLTYPE *SendIMCW)(
  2358. IActiveIMMIME *This,
  2359. HWND hWnd,
  2360. UINT uMsg,
  2361. WPARAM wParam,
  2362. LPARAM lParam,
  2363. LRESULT *plResult);
  2364. HRESULT (STDMETHODCALLTYPE *IsSleeping)(
  2365. IActiveIMMIME *This);
  2366. END_INTERFACE
  2367. } IActiveIMMIMEVtbl;
  2368. interface IActiveIMMIME {
  2369. CONST_VTBL IActiveIMMIMEVtbl* lpVtbl;
  2370. };
  2371. #ifdef COBJMACROS
  2372. #ifndef WIDL_C_INLINE_WRAPPERS
  2373. /*** IUnknown methods ***/
  2374. #define IActiveIMMIME_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2375. #define IActiveIMMIME_AddRef(This) (This)->lpVtbl->AddRef(This)
  2376. #define IActiveIMMIME_Release(This) (This)->lpVtbl->Release(This)
  2377. /*** IActiveIMMIME methods ***/
  2378. #define IActiveIMMIME_AssociateContext(This,hWnd,hIME,phPrev) (This)->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev)
  2379. #define IActiveIMMIME_ConfigureIMEA(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData)
  2380. #define IActiveIMMIME_ConfigureIMEW(This,hKL,hWnd,dwMode,pData) (This)->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData)
  2381. #define IActiveIMMIME_CreateContext(This,phIMC) (This)->lpVtbl->CreateContext(This,phIMC)
  2382. #define IActiveIMMIME_DestroyContext(This,hIME) (This)->lpVtbl->DestroyContext(This,hIME)
  2383. #define IActiveIMMIME_EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
  2384. #define IActiveIMMIME_EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) (This)->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)
  2385. #define IActiveIMMIME_EscapeA(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult)
  2386. #define IActiveIMMIME_EscapeW(This,hKL,hIMC,uEscape,pData,plResult) (This)->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult)
  2387. #define IActiveIMMIME_GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
  2388. #define IActiveIMMIME_GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) (This)->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)
  2389. #define IActiveIMMIME_GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen)
  2390. #define IActiveIMMIME_GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen) (This)->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen)
  2391. #define IActiveIMMIME_GetCandidateWindow(This,hIMC,dwIndex,pCandidate) (This)->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate)
  2392. #define IActiveIMMIME_GetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontA(This,hIMC,plf)
  2393. #define IActiveIMMIME_GetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->GetCompositionFontW(This,hIMC,plf)
  2394. #define IActiveIMMIME_GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
  2395. #define IActiveIMMIME_GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) (This)->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)
  2396. #define IActiveIMMIME_GetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm)
  2397. #define IActiveIMMIME_GetContext(This,hWnd,phIMC) (This)->lpVtbl->GetContext(This,hWnd,phIMC)
  2398. #define IActiveIMMIME_GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
  2399. #define IActiveIMMIME_GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) (This)->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)
  2400. #define IActiveIMMIME_GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence) (This)->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence)
  2401. #define IActiveIMMIME_GetDefaultIMEWnd(This,hWnd,phDefWnd) (This)->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd)
  2402. #define IActiveIMMIME_GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied)
  2403. #define IActiveIMMIME_GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied) (This)->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied)
  2404. #define IActiveIMMIME_GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
  2405. #define IActiveIMMIME_GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) (This)->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)
  2406. #define IActiveIMMIME_GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied)
  2407. #define IActiveIMMIME_GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied) (This)->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied)
  2408. #define IActiveIMMIME_GetOpenStatus(This,hIMC) (This)->lpVtbl->GetOpenStatus(This,hIMC)
  2409. #define IActiveIMMIME_GetProperty(This,hKL,fdwIndex,pdwProperty) (This)->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty)
  2410. #define IActiveIMMIME_GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied)
  2411. #define IActiveIMMIME_GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied) (This)->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied)
  2412. #define IActiveIMMIME_GetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos)
  2413. #define IActiveIMMIME_GetVirtualKey(This,hWnd,puVirtualKey) (This)->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey)
  2414. #define IActiveIMMIME_InstallIMEA(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL)
  2415. #define IActiveIMMIME_InstallIMEW(This,szIMEFileName,szLayoutText,phKL) (This)->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL)
  2416. #define IActiveIMMIME_IsIME(This,hKL) (This)->lpVtbl->IsIME(This,hKL)
  2417. #define IActiveIMMIME_IsUIMessageA(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam)
  2418. #define IActiveIMMIME_IsUIMessageW(This,hWndIME,msg,wParam,lParam) (This)->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam)
  2419. #define IActiveIMMIME_NotifyIME(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue)
  2420. #define IActiveIMMIME_RegisterWordA(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister)
  2421. #define IActiveIMMIME_RegisterWordW(This,hKL,szReading,dwStyle,szRegister) (This)->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister)
  2422. #define IActiveIMMIME_ReleaseContext(This,hWnd,hIMC) (This)->lpVtbl->ReleaseContext(This,hWnd,hIMC)
  2423. #define IActiveIMMIME_SetCandidateWindow(This,hIMC,pCandidate) (This)->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate)
  2424. #define IActiveIMMIME_SetCompositionFontA(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontA(This,hIMC,plf)
  2425. #define IActiveIMMIME_SetCompositionFontW(This,hIMC,plf) (This)->lpVtbl->SetCompositionFontW(This,hIMC,plf)
  2426. #define IActiveIMMIME_SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
  2427. #define IActiveIMMIME_SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
  2428. #define IActiveIMMIME_SetCompositionWindow(This,hIMC,pCompForm) (This)->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm)
  2429. #define IActiveIMMIME_SetConversionStatus(This,hIMC,fdwConversion,fdwSentence) (This)->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence)
  2430. #define IActiveIMMIME_SetOpenStatus(This,hIMC,fOpen) (This)->lpVtbl->SetOpenStatus(This,hIMC,fOpen)
  2431. #define IActiveIMMIME_SetStatusWindowPos(This,hIMC,pptPos) (This)->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos)
  2432. #define IActiveIMMIME_SimulateHotKey(This,hWnd,dwHotKeyID) (This)->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID)
  2433. #define IActiveIMMIME_UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister)
  2434. #define IActiveIMMIME_UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister) (This)->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister)
  2435. #define IActiveIMMIME_GenerateMessage(This,hIMC) (This)->lpVtbl->GenerateMessage(This,hIMC)
  2436. #define IActiveIMMIME_LockIMC(This,hIMC,ppIMC) (This)->lpVtbl->LockIMC(This,hIMC,ppIMC)
  2437. #define IActiveIMMIME_UnlockIMC(This,hIMC) (This)->lpVtbl->UnlockIMC(This,hIMC)
  2438. #define IActiveIMMIME_GetIMCLockCount(This,hIMC,pdwLockCount) (This)->lpVtbl->GetIMCLockCount(This,hIMC,pdwLockCount)
  2439. #define IActiveIMMIME_CreateIMCC(This,dwSize,phIMCC) (This)->lpVtbl->CreateIMCC(This,dwSize,phIMCC)
  2440. #define IActiveIMMIME_DestroyIMCC(This,hIMCC) (This)->lpVtbl->DestroyIMCC(This,hIMCC)
  2441. #define IActiveIMMIME_LockIMCC(This,hIMCC,ppv) (This)->lpVtbl->LockIMCC(This,hIMCC,ppv)
  2442. #define IActiveIMMIME_UnlockIMCC(This,hIMCC) (This)->lpVtbl->UnlockIMCC(This,hIMCC)
  2443. #define IActiveIMMIME_ReSizeIMCC(This,hIMCC,dwSize,phIMCC) (This)->lpVtbl->ReSizeIMCC(This,hIMCC,dwSize,phIMCC)
  2444. #define IActiveIMMIME_GetIMCCSize(This,hIMCC,pdwSize) (This)->lpVtbl->GetIMCCSize(This,hIMCC,pdwSize)
  2445. #define IActiveIMMIME_GetIMCCLockCount(This,hIMCC,pdwLockCount) (This)->lpVtbl->GetIMCCLockCount(This,hIMCC,pdwLockCount)
  2446. #define IActiveIMMIME_GetHotKey(This,dwHotKeyID,puModifiers,puVKey,phKL) (This)->lpVtbl->GetHotKey(This,dwHotKeyID,puModifiers,puVKey,phKL)
  2447. #define IActiveIMMIME_SetHotKey(This,dwHotKeyID,uModifiers,uVKey,hKL) (This)->lpVtbl->SetHotKey(This,dwHotKeyID,uModifiers,uVKey,hKL)
  2448. #define IActiveIMMIME_CreateSoftKeyboard(This,uType,hOwner,x,y,phSoftKbdWnd) (This)->lpVtbl->CreateSoftKeyboard(This,uType,hOwner,x,y,phSoftKbdWnd)
  2449. #define IActiveIMMIME_DestroySoftKeyboard(This,hSoftKbdWnd) (This)->lpVtbl->DestroySoftKeyboard(This,hSoftKbdWnd)
  2450. #define IActiveIMMIME_ShowSoftKeyboard(This,hSoftKbdWnd,nCmdShow) (This)->lpVtbl->ShowSoftKeyboard(This,hSoftKbdWnd,nCmdShow)
  2451. #define IActiveIMMIME_GetCodePageA(This,hKL,uCodePage) (This)->lpVtbl->GetCodePageA(This,hKL,uCodePage)
  2452. #define IActiveIMMIME_GetLangId(This,hKL,plid) (This)->lpVtbl->GetLangId(This,hKL,plid)
  2453. #define IActiveIMMIME_KeybdEvent(This,lgidIME,bVk,bScan,dwFlags,dwExtraInfo) (This)->lpVtbl->KeybdEvent(This,lgidIME,bVk,bScan,dwFlags,dwExtraInfo)
  2454. #define IActiveIMMIME_LockModal(This) (This)->lpVtbl->LockModal(This)
  2455. #define IActiveIMMIME_UnlockModal(This) (This)->lpVtbl->UnlockModal(This)
  2456. #define IActiveIMMIME_AssociateContextEx(This,hWnd,hIMC,dwFlags) (This)->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags)
  2457. #define IActiveIMMIME_DisableIME(This,idThread) (This)->lpVtbl->DisableIME(This,idThread)
  2458. #define IActiveIMMIME_GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
  2459. #define IActiveIMMIME_GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) (This)->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)
  2460. #define IActiveIMMIME_EnumInputContext(This,idThread,ppEnum) (This)->lpVtbl->EnumInputContext(This,idThread,ppEnum)
  2461. #define IActiveIMMIME_RequestMessageA(This,hIMC,wParam,lParam,plResult) (This)->lpVtbl->RequestMessageA(This,hIMC,wParam,lParam,plResult)
  2462. #define IActiveIMMIME_RequestMessageW(This,hIMC,wParam,lParam,plResult) (This)->lpVtbl->RequestMessageW(This,hIMC,wParam,lParam,plResult)
  2463. #define IActiveIMMIME_SendIMCA(This,hWnd,uMsg,wParam,lParam,plResult) (This)->lpVtbl->SendIMCA(This,hWnd,uMsg,wParam,lParam,plResult)
  2464. #define IActiveIMMIME_SendIMCW(This,hWnd,uMsg,wParam,lParam,plResult) (This)->lpVtbl->SendIMCW(This,hWnd,uMsg,wParam,lParam,plResult)
  2465. #define IActiveIMMIME_IsSleeping(This) (This)->lpVtbl->IsSleeping(This)
  2466. #else
  2467. /*** IUnknown methods ***/
  2468. static FORCEINLINE HRESULT IActiveIMMIME_QueryInterface(IActiveIMMIME* This,REFIID riid,void **ppvObject) {
  2469. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2470. }
  2471. static FORCEINLINE ULONG IActiveIMMIME_AddRef(IActiveIMMIME* This) {
  2472. return This->lpVtbl->AddRef(This);
  2473. }
  2474. static FORCEINLINE ULONG IActiveIMMIME_Release(IActiveIMMIME* This) {
  2475. return This->lpVtbl->Release(This);
  2476. }
  2477. /*** IActiveIMMIME methods ***/
  2478. static FORCEINLINE HRESULT IActiveIMMIME_AssociateContext(IActiveIMMIME* This,HWND hWnd,HIMC hIME,HIMC *phPrev) {
  2479. return This->lpVtbl->AssociateContext(This,hWnd,hIME,phPrev);
  2480. }
  2481. static FORCEINLINE HRESULT IActiveIMMIME_ConfigureIMEA(IActiveIMMIME* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDA *pData) {
  2482. return This->lpVtbl->ConfigureIMEA(This,hKL,hWnd,dwMode,pData);
  2483. }
  2484. static FORCEINLINE HRESULT IActiveIMMIME_ConfigureIMEW(IActiveIMMIME* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pData) {
  2485. return This->lpVtbl->ConfigureIMEW(This,hKL,hWnd,dwMode,pData);
  2486. }
  2487. static FORCEINLINE HRESULT IActiveIMMIME_CreateContext(IActiveIMMIME* This,HIMC *phIMC) {
  2488. return This->lpVtbl->CreateContext(This,phIMC);
  2489. }
  2490. static FORCEINLINE HRESULT IActiveIMMIME_DestroyContext(IActiveIMMIME* This,HIMC hIME) {
  2491. return This->lpVtbl->DestroyContext(This,hIME);
  2492. }
  2493. static FORCEINLINE HRESULT IActiveIMMIME_EnumRegisterWordA(IActiveIMMIME* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister,LPVOID pData,IEnumRegisterWordA **pEnum) {
  2494. return This->lpVtbl->EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
  2495. }
  2496. static FORCEINLINE HRESULT IActiveIMMIME_EnumRegisterWordW(IActiveIMMIME* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **pEnum) {
  2497. return This->lpVtbl->EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum);
  2498. }
  2499. static FORCEINLINE HRESULT IActiveIMMIME_EscapeA(IActiveIMMIME* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
  2500. return This->lpVtbl->EscapeA(This,hKL,hIMC,uEscape,pData,plResult);
  2501. }
  2502. static FORCEINLINE HRESULT IActiveIMMIME_EscapeW(IActiveIMMIME* This,HKL hKL,HIMC hIMC,UINT uEscape,LPVOID pData,LRESULT *plResult) {
  2503. return This->lpVtbl->EscapeW(This,hKL,hIMC,uEscape,pData,plResult);
  2504. }
  2505. static FORCEINLINE HRESULT IActiveIMMIME_GetCandidateListA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
  2506. return This->lpVtbl->GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
  2507. }
  2508. static FORCEINLINE HRESULT IActiveIMMIME_GetCandidateListW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,UINT uBufLen,CANDIDATELIST *pCandList,UINT *puCopied) {
  2509. return This->lpVtbl->GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied);
  2510. }
  2511. static FORCEINLINE HRESULT IActiveIMMIME_GetCandidateListCountA(IActiveIMMIME* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
  2512. return This->lpVtbl->GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen);
  2513. }
  2514. static FORCEINLINE HRESULT IActiveIMMIME_GetCandidateListCountW(IActiveIMMIME* This,HIMC hIMC,DWORD *pdwListSize,DWORD *pdwBufLen) {
  2515. return This->lpVtbl->GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen);
  2516. }
  2517. static FORCEINLINE HRESULT IActiveIMMIME_GetCandidateWindow(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,CANDIDATEFORM *pCandidate) {
  2518. return This->lpVtbl->GetCandidateWindow(This,hIMC,dwIndex,pCandidate);
  2519. }
  2520. static FORCEINLINE HRESULT IActiveIMMIME_GetCompositionFontA(IActiveIMMIME* This,HIMC hIMC,LOGFONTA *plf) {
  2521. return This->lpVtbl->GetCompositionFontA(This,hIMC,plf);
  2522. }
  2523. static FORCEINLINE HRESULT IActiveIMMIME_GetCompositionFontW(IActiveIMMIME* This,HIMC hIMC,LOGFONTW *plf) {
  2524. return This->lpVtbl->GetCompositionFontW(This,hIMC,plf);
  2525. }
  2526. static FORCEINLINE HRESULT IActiveIMMIME_GetCompositionStringA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
  2527. return This->lpVtbl->GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
  2528. }
  2529. static FORCEINLINE HRESULT IActiveIMMIME_GetCompositionStringW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LONG *plCopied,LPVOID pBuf) {
  2530. return This->lpVtbl->GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf);
  2531. }
  2532. static FORCEINLINE HRESULT IActiveIMMIME_GetCompositionWindow(IActiveIMMIME* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
  2533. return This->lpVtbl->GetCompositionWindow(This,hIMC,pCompForm);
  2534. }
  2535. static FORCEINLINE HRESULT IActiveIMMIME_GetContext(IActiveIMMIME* This,HWND hWnd,HIMC *phIMC) {
  2536. return This->lpVtbl->GetContext(This,hWnd,phIMC);
  2537. }
  2538. static FORCEINLINE HRESULT IActiveIMMIME_GetConversionListA(IActiveIMMIME* This,HKL hKL,HIMC hIMC,LPSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
  2539. return This->lpVtbl->GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
  2540. }
  2541. static FORCEINLINE HRESULT IActiveIMMIME_GetConversionListW(IActiveIMMIME* This,HKL hKL,HIMC hIMC,LPWSTR pSrc,UINT uBufLen,UINT uFlag,CANDIDATELIST *pDst,UINT *puCopied) {
  2542. return This->lpVtbl->GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied);
  2543. }
  2544. static FORCEINLINE HRESULT IActiveIMMIME_GetConversionStatus(IActiveIMMIME* This,HIMC hIMC,DWORD *pfdwConversion,DWORD *pfdwSentence) {
  2545. return This->lpVtbl->GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence);
  2546. }
  2547. static FORCEINLINE HRESULT IActiveIMMIME_GetDefaultIMEWnd(IActiveIMMIME* This,HWND hWnd,HWND *phDefWnd) {
  2548. return This->lpVtbl->GetDefaultIMEWnd(This,hWnd,phDefWnd);
  2549. }
  2550. static FORCEINLINE HRESULT IActiveIMMIME_GetDescriptionA(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPSTR szDescription,UINT *puCopied) {
  2551. return This->lpVtbl->GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied);
  2552. }
  2553. static FORCEINLINE HRESULT IActiveIMMIME_GetDescriptionW(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPWSTR szDescription,UINT *puCopied) {
  2554. return This->lpVtbl->GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied);
  2555. }
  2556. static FORCEINLINE HRESULT IActiveIMMIME_GetGuideLineA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPSTR pBuf,DWORD *pdwResult) {
  2557. return This->lpVtbl->GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
  2558. }
  2559. static FORCEINLINE HRESULT IActiveIMMIME_GetGuideLineW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,DWORD dwBufLen,LPWSTR pBuf,DWORD *pdwResult) {
  2560. return This->lpVtbl->GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult);
  2561. }
  2562. static FORCEINLINE HRESULT IActiveIMMIME_GetIMEFileNameA(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPSTR szFileName,UINT *puCopied) {
  2563. return This->lpVtbl->GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied);
  2564. }
  2565. static FORCEINLINE HRESULT IActiveIMMIME_GetIMEFileNameW(IActiveIMMIME* This,HKL hKL,UINT uBufLen,LPWSTR szFileName,UINT *puCopied) {
  2566. return This->lpVtbl->GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied);
  2567. }
  2568. static FORCEINLINE HRESULT IActiveIMMIME_GetOpenStatus(IActiveIMMIME* This,HIMC hIMC) {
  2569. return This->lpVtbl->GetOpenStatus(This,hIMC);
  2570. }
  2571. static FORCEINLINE HRESULT IActiveIMMIME_GetProperty(IActiveIMMIME* This,HKL hKL,DWORD fdwIndex,DWORD *pdwProperty) {
  2572. return This->lpVtbl->GetProperty(This,hKL,fdwIndex,pdwProperty);
  2573. }
  2574. static FORCEINLINE HRESULT IActiveIMMIME_GetRegisterWordStyleA(IActiveIMMIME* This,HKL hKL,UINT nItem,STYLEBUFA *pStyleBuf,UINT *puCopied) {
  2575. return This->lpVtbl->GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied);
  2576. }
  2577. static FORCEINLINE HRESULT IActiveIMMIME_GetRegisterWordStyleW(IActiveIMMIME* This,HKL hKL,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puCopied) {
  2578. return This->lpVtbl->GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied);
  2579. }
  2580. static FORCEINLINE HRESULT IActiveIMMIME_GetStatusWindowPos(IActiveIMMIME* This,HIMC hIMC,POINT *pptPos) {
  2581. return This->lpVtbl->GetStatusWindowPos(This,hIMC,pptPos);
  2582. }
  2583. static FORCEINLINE HRESULT IActiveIMMIME_GetVirtualKey(IActiveIMMIME* This,HWND hWnd,UINT *puVirtualKey) {
  2584. return This->lpVtbl->GetVirtualKey(This,hWnd,puVirtualKey);
  2585. }
  2586. static FORCEINLINE HRESULT IActiveIMMIME_InstallIMEA(IActiveIMMIME* This,LPSTR szIMEFileName,LPSTR szLayoutText,HKL *phKL) {
  2587. return This->lpVtbl->InstallIMEA(This,szIMEFileName,szLayoutText,phKL);
  2588. }
  2589. static FORCEINLINE HRESULT IActiveIMMIME_InstallIMEW(IActiveIMMIME* This,LPWSTR szIMEFileName,LPWSTR szLayoutText,HKL *phKL) {
  2590. return This->lpVtbl->InstallIMEW(This,szIMEFileName,szLayoutText,phKL);
  2591. }
  2592. static FORCEINLINE HRESULT IActiveIMMIME_IsIME(IActiveIMMIME* This,HKL hKL) {
  2593. return This->lpVtbl->IsIME(This,hKL);
  2594. }
  2595. static FORCEINLINE HRESULT IActiveIMMIME_IsUIMessageA(IActiveIMMIME* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
  2596. return This->lpVtbl->IsUIMessageA(This,hWndIME,msg,wParam,lParam);
  2597. }
  2598. static FORCEINLINE HRESULT IActiveIMMIME_IsUIMessageW(IActiveIMMIME* This,HWND hWndIME,UINT msg,WPARAM wParam,LPARAM lParam) {
  2599. return This->lpVtbl->IsUIMessageW(This,hWndIME,msg,wParam,lParam);
  2600. }
  2601. static FORCEINLINE HRESULT IActiveIMMIME_NotifyIME(IActiveIMMIME* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
  2602. return This->lpVtbl->NotifyIME(This,hIMC,dwAction,dwIndex,dwValue);
  2603. }
  2604. static FORCEINLINE HRESULT IActiveIMMIME_RegisterWordA(IActiveIMMIME* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szRegister) {
  2605. return This->lpVtbl->RegisterWordA(This,hKL,szReading,dwStyle,szRegister);
  2606. }
  2607. static FORCEINLINE HRESULT IActiveIMMIME_RegisterWordW(IActiveIMMIME* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister) {
  2608. return This->lpVtbl->RegisterWordW(This,hKL,szReading,dwStyle,szRegister);
  2609. }
  2610. static FORCEINLINE HRESULT IActiveIMMIME_ReleaseContext(IActiveIMMIME* This,HWND hWnd,HIMC hIMC) {
  2611. return This->lpVtbl->ReleaseContext(This,hWnd,hIMC);
  2612. }
  2613. static FORCEINLINE HRESULT IActiveIMMIME_SetCandidateWindow(IActiveIMMIME* This,HIMC hIMC,CANDIDATEFORM *pCandidate) {
  2614. return This->lpVtbl->SetCandidateWindow(This,hIMC,pCandidate);
  2615. }
  2616. static FORCEINLINE HRESULT IActiveIMMIME_SetCompositionFontA(IActiveIMMIME* This,HIMC hIMC,LOGFONTA *plf) {
  2617. return This->lpVtbl->SetCompositionFontA(This,hIMC,plf);
  2618. }
  2619. static FORCEINLINE HRESULT IActiveIMMIME_SetCompositionFontW(IActiveIMMIME* This,HIMC hIMC,LOGFONTW *plf) {
  2620. return This->lpVtbl->SetCompositionFontW(This,hIMC,plf);
  2621. }
  2622. static FORCEINLINE HRESULT IActiveIMMIME_SetCompositionStringA(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
  2623. return This->lpVtbl->SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
  2624. }
  2625. static FORCEINLINE HRESULT IActiveIMMIME_SetCompositionStringW(IActiveIMMIME* This,HIMC hIMC,DWORD dwIndex,LPVOID pComp,DWORD dwCompLen,LPVOID pRead,DWORD dwReadLen) {
  2626. return This->lpVtbl->SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
  2627. }
  2628. static FORCEINLINE HRESULT IActiveIMMIME_SetCompositionWindow(IActiveIMMIME* This,HIMC hIMC,COMPOSITIONFORM *pCompForm) {
  2629. return This->lpVtbl->SetCompositionWindow(This,hIMC,pCompForm);
  2630. }
  2631. static FORCEINLINE HRESULT IActiveIMMIME_SetConversionStatus(IActiveIMMIME* This,HIMC hIMC,DWORD fdwConversion,DWORD fdwSentence) {
  2632. return This->lpVtbl->SetConversionStatus(This,hIMC,fdwConversion,fdwSentence);
  2633. }
  2634. static FORCEINLINE HRESULT IActiveIMMIME_SetOpenStatus(IActiveIMMIME* This,HIMC hIMC,WINBOOL fOpen) {
  2635. return This->lpVtbl->SetOpenStatus(This,hIMC,fOpen);
  2636. }
  2637. static FORCEINLINE HRESULT IActiveIMMIME_SetStatusWindowPos(IActiveIMMIME* This,HIMC hIMC,POINT *pptPos) {
  2638. return This->lpVtbl->SetStatusWindowPos(This,hIMC,pptPos);
  2639. }
  2640. static FORCEINLINE HRESULT IActiveIMMIME_SimulateHotKey(IActiveIMMIME* This,HWND hWnd,DWORD dwHotKeyID) {
  2641. return This->lpVtbl->SimulateHotKey(This,hWnd,dwHotKeyID);
  2642. }
  2643. static FORCEINLINE HRESULT IActiveIMMIME_UnregisterWordA(IActiveIMMIME* This,HKL hKL,LPSTR szReading,DWORD dwStyle,LPSTR szUnregister) {
  2644. return This->lpVtbl->UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister);
  2645. }
  2646. static FORCEINLINE HRESULT IActiveIMMIME_UnregisterWordW(IActiveIMMIME* This,HKL hKL,LPWSTR szReading,DWORD dwStyle,LPWSTR szUnregister) {
  2647. return This->lpVtbl->UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister);
  2648. }
  2649. static FORCEINLINE HRESULT IActiveIMMIME_GenerateMessage(IActiveIMMIME* This,HIMC hIMC) {
  2650. return This->lpVtbl->GenerateMessage(This,hIMC);
  2651. }
  2652. static FORCEINLINE HRESULT IActiveIMMIME_LockIMC(IActiveIMMIME* This,HIMC hIMC,INPUTCONTEXT **ppIMC) {
  2653. return This->lpVtbl->LockIMC(This,hIMC,ppIMC);
  2654. }
  2655. static FORCEINLINE HRESULT IActiveIMMIME_UnlockIMC(IActiveIMMIME* This,HIMC hIMC) {
  2656. return This->lpVtbl->UnlockIMC(This,hIMC);
  2657. }
  2658. static FORCEINLINE HRESULT IActiveIMMIME_GetIMCLockCount(IActiveIMMIME* This,HIMC hIMC,DWORD *pdwLockCount) {
  2659. return This->lpVtbl->GetIMCLockCount(This,hIMC,pdwLockCount);
  2660. }
  2661. static FORCEINLINE HRESULT IActiveIMMIME_CreateIMCC(IActiveIMMIME* This,DWORD dwSize,HIMCC *phIMCC) {
  2662. return This->lpVtbl->CreateIMCC(This,dwSize,phIMCC);
  2663. }
  2664. static FORCEINLINE HRESULT IActiveIMMIME_DestroyIMCC(IActiveIMMIME* This,HIMCC hIMCC) {
  2665. return This->lpVtbl->DestroyIMCC(This,hIMCC);
  2666. }
  2667. static FORCEINLINE HRESULT IActiveIMMIME_LockIMCC(IActiveIMMIME* This,HIMCC hIMCC,void **ppv) {
  2668. return This->lpVtbl->LockIMCC(This,hIMCC,ppv);
  2669. }
  2670. static FORCEINLINE HRESULT IActiveIMMIME_UnlockIMCC(IActiveIMMIME* This,HIMCC hIMCC) {
  2671. return This->lpVtbl->UnlockIMCC(This,hIMCC);
  2672. }
  2673. static FORCEINLINE HRESULT IActiveIMMIME_ReSizeIMCC(IActiveIMMIME* This,HIMCC hIMCC,DWORD dwSize,HIMCC *phIMCC) {
  2674. return This->lpVtbl->ReSizeIMCC(This,hIMCC,dwSize,phIMCC);
  2675. }
  2676. static FORCEINLINE HRESULT IActiveIMMIME_GetIMCCSize(IActiveIMMIME* This,HIMCC hIMCC,DWORD *pdwSize) {
  2677. return This->lpVtbl->GetIMCCSize(This,hIMCC,pdwSize);
  2678. }
  2679. static FORCEINLINE HRESULT IActiveIMMIME_GetIMCCLockCount(IActiveIMMIME* This,HIMCC hIMCC,DWORD *pdwLockCount) {
  2680. return This->lpVtbl->GetIMCCLockCount(This,hIMCC,pdwLockCount);
  2681. }
  2682. static FORCEINLINE HRESULT IActiveIMMIME_GetHotKey(IActiveIMMIME* This,DWORD dwHotKeyID,UINT *puModifiers,UINT *puVKey,HKL *phKL) {
  2683. return This->lpVtbl->GetHotKey(This,dwHotKeyID,puModifiers,puVKey,phKL);
  2684. }
  2685. static FORCEINLINE HRESULT IActiveIMMIME_SetHotKey(IActiveIMMIME* This,DWORD dwHotKeyID,UINT uModifiers,UINT uVKey,HKL hKL) {
  2686. return This->lpVtbl->SetHotKey(This,dwHotKeyID,uModifiers,uVKey,hKL);
  2687. }
  2688. static FORCEINLINE HRESULT IActiveIMMIME_CreateSoftKeyboard(IActiveIMMIME* This,UINT uType,HWND hOwner,int x,int y,HWND *phSoftKbdWnd) {
  2689. return This->lpVtbl->CreateSoftKeyboard(This,uType,hOwner,x,y,phSoftKbdWnd);
  2690. }
  2691. static FORCEINLINE HRESULT IActiveIMMIME_DestroySoftKeyboard(IActiveIMMIME* This,HWND hSoftKbdWnd) {
  2692. return This->lpVtbl->DestroySoftKeyboard(This,hSoftKbdWnd);
  2693. }
  2694. static FORCEINLINE HRESULT IActiveIMMIME_ShowSoftKeyboard(IActiveIMMIME* This,HWND hSoftKbdWnd,int nCmdShow) {
  2695. return This->lpVtbl->ShowSoftKeyboard(This,hSoftKbdWnd,nCmdShow);
  2696. }
  2697. static FORCEINLINE HRESULT IActiveIMMIME_GetCodePageA(IActiveIMMIME* This,HKL hKL,UINT *uCodePage) {
  2698. return This->lpVtbl->GetCodePageA(This,hKL,uCodePage);
  2699. }
  2700. static FORCEINLINE HRESULT IActiveIMMIME_GetLangId(IActiveIMMIME* This,HKL hKL,LANGID *plid) {
  2701. return This->lpVtbl->GetLangId(This,hKL,plid);
  2702. }
  2703. static FORCEINLINE HRESULT IActiveIMMIME_KeybdEvent(IActiveIMMIME* This,LANGID lgidIME,BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtraInfo) {
  2704. return This->lpVtbl->KeybdEvent(This,lgidIME,bVk,bScan,dwFlags,dwExtraInfo);
  2705. }
  2706. static FORCEINLINE HRESULT IActiveIMMIME_LockModal(IActiveIMMIME* This) {
  2707. return This->lpVtbl->LockModal(This);
  2708. }
  2709. static FORCEINLINE HRESULT IActiveIMMIME_UnlockModal(IActiveIMMIME* This) {
  2710. return This->lpVtbl->UnlockModal(This);
  2711. }
  2712. static FORCEINLINE HRESULT IActiveIMMIME_AssociateContextEx(IActiveIMMIME* This,HWND hWnd,HIMC hIMC,DWORD dwFlags) {
  2713. return This->lpVtbl->AssociateContextEx(This,hWnd,hIMC,dwFlags);
  2714. }
  2715. static FORCEINLINE HRESULT IActiveIMMIME_DisableIME(IActiveIMMIME* This,DWORD idThread) {
  2716. return This->lpVtbl->DisableIME(This,idThread);
  2717. }
  2718. static FORCEINLINE HRESULT IActiveIMMIME_GetImeMenuItemsA(IActiveIMMIME* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOA *pImeParentMenu,IMEMENUITEMINFOA *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
  2719. return This->lpVtbl->GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
  2720. }
  2721. static FORCEINLINE HRESULT IActiveIMMIME_GetImeMenuItemsW(IActiveIMMIME* This,HIMC hIMC,DWORD dwFlags,DWORD dwType,IMEMENUITEMINFOW *pImeParentMenu,IMEMENUITEMINFOW *pImeMenu,DWORD dwSize,DWORD *pdwResult) {
  2722. return This->lpVtbl->GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult);
  2723. }
  2724. static FORCEINLINE HRESULT IActiveIMMIME_EnumInputContext(IActiveIMMIME* This,DWORD idThread,IEnumInputContext **ppEnum) {
  2725. return This->lpVtbl->EnumInputContext(This,idThread,ppEnum);
  2726. }
  2727. static FORCEINLINE HRESULT IActiveIMMIME_RequestMessageA(IActiveIMMIME* This,HIMC hIMC,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
  2728. return This->lpVtbl->RequestMessageA(This,hIMC,wParam,lParam,plResult);
  2729. }
  2730. static FORCEINLINE HRESULT IActiveIMMIME_RequestMessageW(IActiveIMMIME* This,HIMC hIMC,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
  2731. return This->lpVtbl->RequestMessageW(This,hIMC,wParam,lParam,plResult);
  2732. }
  2733. static FORCEINLINE HRESULT IActiveIMMIME_SendIMCA(IActiveIMMIME* This,HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
  2734. return This->lpVtbl->SendIMCA(This,hWnd,uMsg,wParam,lParam,plResult);
  2735. }
  2736. static FORCEINLINE HRESULT IActiveIMMIME_SendIMCW(IActiveIMMIME* This,HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
  2737. return This->lpVtbl->SendIMCW(This,hWnd,uMsg,wParam,lParam,plResult);
  2738. }
  2739. static FORCEINLINE HRESULT IActiveIMMIME_IsSleeping(IActiveIMMIME* This) {
  2740. return This->lpVtbl->IsSleeping(This);
  2741. }
  2742. #endif
  2743. #endif
  2744. #endif
  2745. #endif /* __IActiveIMMIME_INTERFACE_DEFINED__ */
  2746. /*****************************************************************************
  2747. * IActiveIME interface
  2748. */
  2749. #ifndef __IActiveIME_INTERFACE_DEFINED__
  2750. #define __IActiveIME_INTERFACE_DEFINED__
  2751. DEFINE_GUID(IID_IActiveIME, 0x6fe20962, 0xd077, 0x11d0, 0x8f,0xe7, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
  2752. #if defined(__cplusplus) && !defined(CINTERFACE)
  2753. MIDL_INTERFACE("6fe20962-d077-11d0-8fe7-00aa006bcc59")
  2754. IActiveIME : public IUnknown
  2755. {
  2756. virtual HRESULT STDMETHODCALLTYPE Inquire(
  2757. DWORD dwSystemInfoFlags,
  2758. IMEINFO *pIMEInfo,
  2759. LPWSTR szWndClass,
  2760. DWORD *pdwPrivate) = 0;
  2761. virtual HRESULT STDMETHODCALLTYPE ConversionList(
  2762. HIMC hIMC,
  2763. LPWSTR szSource,
  2764. UINT uFlag,
  2765. UINT uBufLen,
  2766. CANDIDATELIST *pDest,
  2767. UINT *puCopied) = 0;
  2768. virtual HRESULT STDMETHODCALLTYPE Configure(
  2769. HKL hKL,
  2770. HWND hWnd,
  2771. DWORD dwMode,
  2772. REGISTERWORDW *pRegisterWord) = 0;
  2773. virtual HRESULT STDMETHODCALLTYPE Destroy(
  2774. UINT uReserved) = 0;
  2775. virtual HRESULT STDMETHODCALLTYPE Escape(
  2776. HIMC hIMC,
  2777. UINT uEscape,
  2778. void *pData,
  2779. LRESULT *plResult) = 0;
  2780. virtual HRESULT STDMETHODCALLTYPE SetActiveContext(
  2781. HIMC hIMC,
  2782. WINBOOL fFlag) = 0;
  2783. virtual HRESULT STDMETHODCALLTYPE ProcessKey(
  2784. HIMC hIMC,
  2785. UINT uVirKey,
  2786. DWORD lParam,
  2787. BYTE *pbKeyState) = 0;
  2788. virtual HRESULT STDMETHODCALLTYPE Notify(
  2789. HIMC hIMC,
  2790. DWORD dwAction,
  2791. DWORD dwIndex,
  2792. DWORD dwValue) = 0;
  2793. virtual HRESULT STDMETHODCALLTYPE Select(
  2794. HIMC hIMC,
  2795. WINBOOL fSelect) = 0;
  2796. virtual HRESULT STDMETHODCALLTYPE SetCompositionString(
  2797. HIMC hIMC,
  2798. DWORD dwIndex,
  2799. void *pComp,
  2800. DWORD dwCompLen,
  2801. void *pRead,
  2802. DWORD dwReadLen) = 0;
  2803. virtual HRESULT STDMETHODCALLTYPE ToAsciiEx(
  2804. UINT uVirKey,
  2805. UINT uScanCode,
  2806. BYTE *pbKeyState,
  2807. UINT fuState,
  2808. HIMC hIMC,
  2809. DWORD *pdwTransBuf,
  2810. UINT *puSize) = 0;
  2811. virtual HRESULT STDMETHODCALLTYPE RegisterWord(
  2812. LPWSTR szReading,
  2813. DWORD dwStyle,
  2814. LPWSTR szString) = 0;
  2815. virtual HRESULT STDMETHODCALLTYPE UnregisterWord(
  2816. LPWSTR szReading,
  2817. DWORD dwStyle,
  2818. LPWSTR szString) = 0;
  2819. virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyle(
  2820. UINT nItem,
  2821. STYLEBUFW *pStyleBuf,
  2822. UINT *puBufSize) = 0;
  2823. virtual HRESULT STDMETHODCALLTYPE EnumRegisterWord(
  2824. LPWSTR szReading,
  2825. DWORD dwStyle,
  2826. LPWSTR szRegister,
  2827. LPVOID pData,
  2828. IEnumRegisterWordW **ppEnum) = 0;
  2829. virtual HRESULT STDMETHODCALLTYPE GetCodePageA(
  2830. UINT *uCodePage) = 0;
  2831. virtual HRESULT STDMETHODCALLTYPE GetLangId(
  2832. LANGID *plid) = 0;
  2833. };
  2834. #ifdef __CRT_UUID_DECL
  2835. __CRT_UUID_DECL(IActiveIME, 0x6fe20962, 0xd077, 0x11d0, 0x8f,0xe7, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
  2836. #endif
  2837. #else
  2838. typedef struct IActiveIMEVtbl {
  2839. BEGIN_INTERFACE
  2840. /*** IUnknown methods ***/
  2841. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2842. IActiveIME *This,
  2843. REFIID riid,
  2844. void **ppvObject);
  2845. ULONG (STDMETHODCALLTYPE *AddRef)(
  2846. IActiveIME *This);
  2847. ULONG (STDMETHODCALLTYPE *Release)(
  2848. IActiveIME *This);
  2849. /*** IActiveIME methods ***/
  2850. HRESULT (STDMETHODCALLTYPE *Inquire)(
  2851. IActiveIME *This,
  2852. DWORD dwSystemInfoFlags,
  2853. IMEINFO *pIMEInfo,
  2854. LPWSTR szWndClass,
  2855. DWORD *pdwPrivate);
  2856. HRESULT (STDMETHODCALLTYPE *ConversionList)(
  2857. IActiveIME *This,
  2858. HIMC hIMC,
  2859. LPWSTR szSource,
  2860. UINT uFlag,
  2861. UINT uBufLen,
  2862. CANDIDATELIST *pDest,
  2863. UINT *puCopied);
  2864. HRESULT (STDMETHODCALLTYPE *Configure)(
  2865. IActiveIME *This,
  2866. HKL hKL,
  2867. HWND hWnd,
  2868. DWORD dwMode,
  2869. REGISTERWORDW *pRegisterWord);
  2870. HRESULT (STDMETHODCALLTYPE *Destroy)(
  2871. IActiveIME *This,
  2872. UINT uReserved);
  2873. HRESULT (STDMETHODCALLTYPE *Escape)(
  2874. IActiveIME *This,
  2875. HIMC hIMC,
  2876. UINT uEscape,
  2877. void *pData,
  2878. LRESULT *plResult);
  2879. HRESULT (STDMETHODCALLTYPE *SetActiveContext)(
  2880. IActiveIME *This,
  2881. HIMC hIMC,
  2882. WINBOOL fFlag);
  2883. HRESULT (STDMETHODCALLTYPE *ProcessKey)(
  2884. IActiveIME *This,
  2885. HIMC hIMC,
  2886. UINT uVirKey,
  2887. DWORD lParam,
  2888. BYTE *pbKeyState);
  2889. HRESULT (STDMETHODCALLTYPE *Notify)(
  2890. IActiveIME *This,
  2891. HIMC hIMC,
  2892. DWORD dwAction,
  2893. DWORD dwIndex,
  2894. DWORD dwValue);
  2895. HRESULT (STDMETHODCALLTYPE *Select)(
  2896. IActiveIME *This,
  2897. HIMC hIMC,
  2898. WINBOOL fSelect);
  2899. HRESULT (STDMETHODCALLTYPE *SetCompositionString)(
  2900. IActiveIME *This,
  2901. HIMC hIMC,
  2902. DWORD dwIndex,
  2903. void *pComp,
  2904. DWORD dwCompLen,
  2905. void *pRead,
  2906. DWORD dwReadLen);
  2907. HRESULT (STDMETHODCALLTYPE *ToAsciiEx)(
  2908. IActiveIME *This,
  2909. UINT uVirKey,
  2910. UINT uScanCode,
  2911. BYTE *pbKeyState,
  2912. UINT fuState,
  2913. HIMC hIMC,
  2914. DWORD *pdwTransBuf,
  2915. UINT *puSize);
  2916. HRESULT (STDMETHODCALLTYPE *RegisterWord)(
  2917. IActiveIME *This,
  2918. LPWSTR szReading,
  2919. DWORD dwStyle,
  2920. LPWSTR szString);
  2921. HRESULT (STDMETHODCALLTYPE *UnregisterWord)(
  2922. IActiveIME *This,
  2923. LPWSTR szReading,
  2924. DWORD dwStyle,
  2925. LPWSTR szString);
  2926. HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyle)(
  2927. IActiveIME *This,
  2928. UINT nItem,
  2929. STYLEBUFW *pStyleBuf,
  2930. UINT *puBufSize);
  2931. HRESULT (STDMETHODCALLTYPE *EnumRegisterWord)(
  2932. IActiveIME *This,
  2933. LPWSTR szReading,
  2934. DWORD dwStyle,
  2935. LPWSTR szRegister,
  2936. LPVOID pData,
  2937. IEnumRegisterWordW **ppEnum);
  2938. HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
  2939. IActiveIME *This,
  2940. UINT *uCodePage);
  2941. HRESULT (STDMETHODCALLTYPE *GetLangId)(
  2942. IActiveIME *This,
  2943. LANGID *plid);
  2944. END_INTERFACE
  2945. } IActiveIMEVtbl;
  2946. interface IActiveIME {
  2947. CONST_VTBL IActiveIMEVtbl* lpVtbl;
  2948. };
  2949. #ifdef COBJMACROS
  2950. #ifndef WIDL_C_INLINE_WRAPPERS
  2951. /*** IUnknown methods ***/
  2952. #define IActiveIME_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2953. #define IActiveIME_AddRef(This) (This)->lpVtbl->AddRef(This)
  2954. #define IActiveIME_Release(This) (This)->lpVtbl->Release(This)
  2955. /*** IActiveIME methods ***/
  2956. #define IActiveIME_Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate) (This)->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate)
  2957. #define IActiveIME_ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied) (This)->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied)
  2958. #define IActiveIME_Configure(This,hKL,hWnd,dwMode,pRegisterWord) (This)->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord)
  2959. #define IActiveIME_Destroy(This,uReserved) (This)->lpVtbl->Destroy(This,uReserved)
  2960. #define IActiveIME_Escape(This,hIMC,uEscape,pData,plResult) (This)->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult)
  2961. #define IActiveIME_SetActiveContext(This,hIMC,fFlag) (This)->lpVtbl->SetActiveContext(This,hIMC,fFlag)
  2962. #define IActiveIME_ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState) (This)->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState)
  2963. #define IActiveIME_Notify(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue)
  2964. #define IActiveIME_Select(This,hIMC,fSelect) (This)->lpVtbl->Select(This,hIMC,fSelect)
  2965. #define IActiveIME_SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
  2966. #define IActiveIME_ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize) (This)->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize)
  2967. #define IActiveIME_RegisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->RegisterWord(This,szReading,dwStyle,szString)
  2968. #define IActiveIME_UnregisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString)
  2969. #define IActiveIME_GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize) (This)->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize)
  2970. #define IActiveIME_EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum) (This)->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum)
  2971. #define IActiveIME_GetCodePageA(This,uCodePage) (This)->lpVtbl->GetCodePageA(This,uCodePage)
  2972. #define IActiveIME_GetLangId(This,plid) (This)->lpVtbl->GetLangId(This,plid)
  2973. #else
  2974. /*** IUnknown methods ***/
  2975. static FORCEINLINE HRESULT IActiveIME_QueryInterface(IActiveIME* This,REFIID riid,void **ppvObject) {
  2976. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2977. }
  2978. static FORCEINLINE ULONG IActiveIME_AddRef(IActiveIME* This) {
  2979. return This->lpVtbl->AddRef(This);
  2980. }
  2981. static FORCEINLINE ULONG IActiveIME_Release(IActiveIME* This) {
  2982. return This->lpVtbl->Release(This);
  2983. }
  2984. /*** IActiveIME methods ***/
  2985. static FORCEINLINE HRESULT IActiveIME_Inquire(IActiveIME* This,DWORD dwSystemInfoFlags,IMEINFO *pIMEInfo,LPWSTR szWndClass,DWORD *pdwPrivate) {
  2986. return This->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate);
  2987. }
  2988. static FORCEINLINE HRESULT IActiveIME_ConversionList(IActiveIME* This,HIMC hIMC,LPWSTR szSource,UINT uFlag,UINT uBufLen,CANDIDATELIST *pDest,UINT *puCopied) {
  2989. return This->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied);
  2990. }
  2991. static FORCEINLINE HRESULT IActiveIME_Configure(IActiveIME* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pRegisterWord) {
  2992. return This->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord);
  2993. }
  2994. static FORCEINLINE HRESULT IActiveIME_Destroy(IActiveIME* This,UINT uReserved) {
  2995. return This->lpVtbl->Destroy(This,uReserved);
  2996. }
  2997. static FORCEINLINE HRESULT IActiveIME_Escape(IActiveIME* This,HIMC hIMC,UINT uEscape,void *pData,LRESULT *plResult) {
  2998. return This->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult);
  2999. }
  3000. static FORCEINLINE HRESULT IActiveIME_SetActiveContext(IActiveIME* This,HIMC hIMC,WINBOOL fFlag) {
  3001. return This->lpVtbl->SetActiveContext(This,hIMC,fFlag);
  3002. }
  3003. static FORCEINLINE HRESULT IActiveIME_ProcessKey(IActiveIME* This,HIMC hIMC,UINT uVirKey,DWORD lParam,BYTE *pbKeyState) {
  3004. return This->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState);
  3005. }
  3006. static FORCEINLINE HRESULT IActiveIME_Notify(IActiveIME* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
  3007. return This->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue);
  3008. }
  3009. static FORCEINLINE HRESULT IActiveIME_Select(IActiveIME* This,HIMC hIMC,WINBOOL fSelect) {
  3010. return This->lpVtbl->Select(This,hIMC,fSelect);
  3011. }
  3012. static FORCEINLINE HRESULT IActiveIME_SetCompositionString(IActiveIME* This,HIMC hIMC,DWORD dwIndex,void *pComp,DWORD dwCompLen,void *pRead,DWORD dwReadLen) {
  3013. return This->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
  3014. }
  3015. static FORCEINLINE HRESULT IActiveIME_ToAsciiEx(IActiveIME* This,UINT uVirKey,UINT uScanCode,BYTE *pbKeyState,UINT fuState,HIMC hIMC,DWORD *pdwTransBuf,UINT *puSize) {
  3016. return This->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize);
  3017. }
  3018. static FORCEINLINE HRESULT IActiveIME_RegisterWord(IActiveIME* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
  3019. return This->lpVtbl->RegisterWord(This,szReading,dwStyle,szString);
  3020. }
  3021. static FORCEINLINE HRESULT IActiveIME_UnregisterWord(IActiveIME* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
  3022. return This->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString);
  3023. }
  3024. static FORCEINLINE HRESULT IActiveIME_GetRegisterWordStyle(IActiveIME* This,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puBufSize) {
  3025. return This->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize);
  3026. }
  3027. static FORCEINLINE HRESULT IActiveIME_EnumRegisterWord(IActiveIME* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **ppEnum) {
  3028. return This->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum);
  3029. }
  3030. static FORCEINLINE HRESULT IActiveIME_GetCodePageA(IActiveIME* This,UINT *uCodePage) {
  3031. return This->lpVtbl->GetCodePageA(This,uCodePage);
  3032. }
  3033. static FORCEINLINE HRESULT IActiveIME_GetLangId(IActiveIME* This,LANGID *plid) {
  3034. return This->lpVtbl->GetLangId(This,plid);
  3035. }
  3036. #endif
  3037. #endif
  3038. #endif
  3039. #endif /* __IActiveIME_INTERFACE_DEFINED__ */
  3040. /*****************************************************************************
  3041. * IActiveIME2 interface
  3042. */
  3043. #ifndef __IActiveIME2_INTERFACE_DEFINED__
  3044. #define __IActiveIME2_INTERFACE_DEFINED__
  3045. DEFINE_GUID(IID_IActiveIME2, 0xe1c4bf0e, 0x2d53, 0x11d2, 0x93,0xe1, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
  3046. #if defined(__cplusplus) && !defined(CINTERFACE)
  3047. MIDL_INTERFACE("e1c4bf0e-2d53-11d2-93e1-0060b067b86e")
  3048. IActiveIME2 : public IActiveIME
  3049. {
  3050. virtual HRESULT STDMETHODCALLTYPE Sleep(
  3051. ) = 0;
  3052. virtual HRESULT STDMETHODCALLTYPE Unsleep(
  3053. WINBOOL fDead) = 0;
  3054. };
  3055. #ifdef __CRT_UUID_DECL
  3056. __CRT_UUID_DECL(IActiveIME2, 0xe1c4bf0e, 0x2d53, 0x11d2, 0x93,0xe1, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
  3057. #endif
  3058. #else
  3059. typedef struct IActiveIME2Vtbl {
  3060. BEGIN_INTERFACE
  3061. /*** IUnknown methods ***/
  3062. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3063. IActiveIME2 *This,
  3064. REFIID riid,
  3065. void **ppvObject);
  3066. ULONG (STDMETHODCALLTYPE *AddRef)(
  3067. IActiveIME2 *This);
  3068. ULONG (STDMETHODCALLTYPE *Release)(
  3069. IActiveIME2 *This);
  3070. /*** IActiveIME methods ***/
  3071. HRESULT (STDMETHODCALLTYPE *Inquire)(
  3072. IActiveIME2 *This,
  3073. DWORD dwSystemInfoFlags,
  3074. IMEINFO *pIMEInfo,
  3075. LPWSTR szWndClass,
  3076. DWORD *pdwPrivate);
  3077. HRESULT (STDMETHODCALLTYPE *ConversionList)(
  3078. IActiveIME2 *This,
  3079. HIMC hIMC,
  3080. LPWSTR szSource,
  3081. UINT uFlag,
  3082. UINT uBufLen,
  3083. CANDIDATELIST *pDest,
  3084. UINT *puCopied);
  3085. HRESULT (STDMETHODCALLTYPE *Configure)(
  3086. IActiveIME2 *This,
  3087. HKL hKL,
  3088. HWND hWnd,
  3089. DWORD dwMode,
  3090. REGISTERWORDW *pRegisterWord);
  3091. HRESULT (STDMETHODCALLTYPE *Destroy)(
  3092. IActiveIME2 *This,
  3093. UINT uReserved);
  3094. HRESULT (STDMETHODCALLTYPE *Escape)(
  3095. IActiveIME2 *This,
  3096. HIMC hIMC,
  3097. UINT uEscape,
  3098. void *pData,
  3099. LRESULT *plResult);
  3100. HRESULT (STDMETHODCALLTYPE *SetActiveContext)(
  3101. IActiveIME2 *This,
  3102. HIMC hIMC,
  3103. WINBOOL fFlag);
  3104. HRESULT (STDMETHODCALLTYPE *ProcessKey)(
  3105. IActiveIME2 *This,
  3106. HIMC hIMC,
  3107. UINT uVirKey,
  3108. DWORD lParam,
  3109. BYTE *pbKeyState);
  3110. HRESULT (STDMETHODCALLTYPE *Notify)(
  3111. IActiveIME2 *This,
  3112. HIMC hIMC,
  3113. DWORD dwAction,
  3114. DWORD dwIndex,
  3115. DWORD dwValue);
  3116. HRESULT (STDMETHODCALLTYPE *Select)(
  3117. IActiveIME2 *This,
  3118. HIMC hIMC,
  3119. WINBOOL fSelect);
  3120. HRESULT (STDMETHODCALLTYPE *SetCompositionString)(
  3121. IActiveIME2 *This,
  3122. HIMC hIMC,
  3123. DWORD dwIndex,
  3124. void *pComp,
  3125. DWORD dwCompLen,
  3126. void *pRead,
  3127. DWORD dwReadLen);
  3128. HRESULT (STDMETHODCALLTYPE *ToAsciiEx)(
  3129. IActiveIME2 *This,
  3130. UINT uVirKey,
  3131. UINT uScanCode,
  3132. BYTE *pbKeyState,
  3133. UINT fuState,
  3134. HIMC hIMC,
  3135. DWORD *pdwTransBuf,
  3136. UINT *puSize);
  3137. HRESULT (STDMETHODCALLTYPE *RegisterWord)(
  3138. IActiveIME2 *This,
  3139. LPWSTR szReading,
  3140. DWORD dwStyle,
  3141. LPWSTR szString);
  3142. HRESULT (STDMETHODCALLTYPE *UnregisterWord)(
  3143. IActiveIME2 *This,
  3144. LPWSTR szReading,
  3145. DWORD dwStyle,
  3146. LPWSTR szString);
  3147. HRESULT (STDMETHODCALLTYPE *GetRegisterWordStyle)(
  3148. IActiveIME2 *This,
  3149. UINT nItem,
  3150. STYLEBUFW *pStyleBuf,
  3151. UINT *puBufSize);
  3152. HRESULT (STDMETHODCALLTYPE *EnumRegisterWord)(
  3153. IActiveIME2 *This,
  3154. LPWSTR szReading,
  3155. DWORD dwStyle,
  3156. LPWSTR szRegister,
  3157. LPVOID pData,
  3158. IEnumRegisterWordW **ppEnum);
  3159. HRESULT (STDMETHODCALLTYPE *GetCodePageA)(
  3160. IActiveIME2 *This,
  3161. UINT *uCodePage);
  3162. HRESULT (STDMETHODCALLTYPE *GetLangId)(
  3163. IActiveIME2 *This,
  3164. LANGID *plid);
  3165. /*** IActiveIME2 methods ***/
  3166. HRESULT (STDMETHODCALLTYPE *Sleep)(
  3167. IActiveIME2 *This);
  3168. HRESULT (STDMETHODCALLTYPE *Unsleep)(
  3169. IActiveIME2 *This,
  3170. WINBOOL fDead);
  3171. END_INTERFACE
  3172. } IActiveIME2Vtbl;
  3173. interface IActiveIME2 {
  3174. CONST_VTBL IActiveIME2Vtbl* lpVtbl;
  3175. };
  3176. #ifdef COBJMACROS
  3177. #ifndef WIDL_C_INLINE_WRAPPERS
  3178. /*** IUnknown methods ***/
  3179. #define IActiveIME2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3180. #define IActiveIME2_AddRef(This) (This)->lpVtbl->AddRef(This)
  3181. #define IActiveIME2_Release(This) (This)->lpVtbl->Release(This)
  3182. /*** IActiveIME methods ***/
  3183. #define IActiveIME2_Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate) (This)->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate)
  3184. #define IActiveIME2_ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied) (This)->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied)
  3185. #define IActiveIME2_Configure(This,hKL,hWnd,dwMode,pRegisterWord) (This)->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord)
  3186. #define IActiveIME2_Destroy(This,uReserved) (This)->lpVtbl->Destroy(This,uReserved)
  3187. #define IActiveIME2_Escape(This,hIMC,uEscape,pData,plResult) (This)->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult)
  3188. #define IActiveIME2_SetActiveContext(This,hIMC,fFlag) (This)->lpVtbl->SetActiveContext(This,hIMC,fFlag)
  3189. #define IActiveIME2_ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState) (This)->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState)
  3190. #define IActiveIME2_Notify(This,hIMC,dwAction,dwIndex,dwValue) (This)->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue)
  3191. #define IActiveIME2_Select(This,hIMC,fSelect) (This)->lpVtbl->Select(This,hIMC,fSelect)
  3192. #define IActiveIME2_SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) (This)->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)
  3193. #define IActiveIME2_ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize) (This)->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize)
  3194. #define IActiveIME2_RegisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->RegisterWord(This,szReading,dwStyle,szString)
  3195. #define IActiveIME2_UnregisterWord(This,szReading,dwStyle,szString) (This)->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString)
  3196. #define IActiveIME2_GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize) (This)->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize)
  3197. #define IActiveIME2_EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum) (This)->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum)
  3198. #define IActiveIME2_GetCodePageA(This,uCodePage) (This)->lpVtbl->GetCodePageA(This,uCodePage)
  3199. #define IActiveIME2_GetLangId(This,plid) (This)->lpVtbl->GetLangId(This,plid)
  3200. /*** IActiveIME2 methods ***/
  3201. #define IActiveIME2_Sleep(This) (This)->lpVtbl->Sleep(This)
  3202. #define IActiveIME2_Unsleep(This,fDead) (This)->lpVtbl->Unsleep(This,fDead)
  3203. #else
  3204. /*** IUnknown methods ***/
  3205. static FORCEINLINE HRESULT IActiveIME2_QueryInterface(IActiveIME2* This,REFIID riid,void **ppvObject) {
  3206. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3207. }
  3208. static FORCEINLINE ULONG IActiveIME2_AddRef(IActiveIME2* This) {
  3209. return This->lpVtbl->AddRef(This);
  3210. }
  3211. static FORCEINLINE ULONG IActiveIME2_Release(IActiveIME2* This) {
  3212. return This->lpVtbl->Release(This);
  3213. }
  3214. /*** IActiveIME methods ***/
  3215. static FORCEINLINE HRESULT IActiveIME2_Inquire(IActiveIME2* This,DWORD dwSystemInfoFlags,IMEINFO *pIMEInfo,LPWSTR szWndClass,DWORD *pdwPrivate) {
  3216. return This->lpVtbl->Inquire(This,dwSystemInfoFlags,pIMEInfo,szWndClass,pdwPrivate);
  3217. }
  3218. static FORCEINLINE HRESULT IActiveIME2_ConversionList(IActiveIME2* This,HIMC hIMC,LPWSTR szSource,UINT uFlag,UINT uBufLen,CANDIDATELIST *pDest,UINT *puCopied) {
  3219. return This->lpVtbl->ConversionList(This,hIMC,szSource,uFlag,uBufLen,pDest,puCopied);
  3220. }
  3221. static FORCEINLINE HRESULT IActiveIME2_Configure(IActiveIME2* This,HKL hKL,HWND hWnd,DWORD dwMode,REGISTERWORDW *pRegisterWord) {
  3222. return This->lpVtbl->Configure(This,hKL,hWnd,dwMode,pRegisterWord);
  3223. }
  3224. static FORCEINLINE HRESULT IActiveIME2_Destroy(IActiveIME2* This,UINT uReserved) {
  3225. return This->lpVtbl->Destroy(This,uReserved);
  3226. }
  3227. static FORCEINLINE HRESULT IActiveIME2_Escape(IActiveIME2* This,HIMC hIMC,UINT uEscape,void *pData,LRESULT *plResult) {
  3228. return This->lpVtbl->Escape(This,hIMC,uEscape,pData,plResult);
  3229. }
  3230. static FORCEINLINE HRESULT IActiveIME2_SetActiveContext(IActiveIME2* This,HIMC hIMC,WINBOOL fFlag) {
  3231. return This->lpVtbl->SetActiveContext(This,hIMC,fFlag);
  3232. }
  3233. static FORCEINLINE HRESULT IActiveIME2_ProcessKey(IActiveIME2* This,HIMC hIMC,UINT uVirKey,DWORD lParam,BYTE *pbKeyState) {
  3234. return This->lpVtbl->ProcessKey(This,hIMC,uVirKey,lParam,pbKeyState);
  3235. }
  3236. static FORCEINLINE HRESULT IActiveIME2_Notify(IActiveIME2* This,HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue) {
  3237. return This->lpVtbl->Notify(This,hIMC,dwAction,dwIndex,dwValue);
  3238. }
  3239. static FORCEINLINE HRESULT IActiveIME2_Select(IActiveIME2* This,HIMC hIMC,WINBOOL fSelect) {
  3240. return This->lpVtbl->Select(This,hIMC,fSelect);
  3241. }
  3242. static FORCEINLINE HRESULT IActiveIME2_SetCompositionString(IActiveIME2* This,HIMC hIMC,DWORD dwIndex,void *pComp,DWORD dwCompLen,void *pRead,DWORD dwReadLen) {
  3243. return This->lpVtbl->SetCompositionString(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen);
  3244. }
  3245. static FORCEINLINE HRESULT IActiveIME2_ToAsciiEx(IActiveIME2* This,UINT uVirKey,UINT uScanCode,BYTE *pbKeyState,UINT fuState,HIMC hIMC,DWORD *pdwTransBuf,UINT *puSize) {
  3246. return This->lpVtbl->ToAsciiEx(This,uVirKey,uScanCode,pbKeyState,fuState,hIMC,pdwTransBuf,puSize);
  3247. }
  3248. static FORCEINLINE HRESULT IActiveIME2_RegisterWord(IActiveIME2* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
  3249. return This->lpVtbl->RegisterWord(This,szReading,dwStyle,szString);
  3250. }
  3251. static FORCEINLINE HRESULT IActiveIME2_UnregisterWord(IActiveIME2* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szString) {
  3252. return This->lpVtbl->UnregisterWord(This,szReading,dwStyle,szString);
  3253. }
  3254. static FORCEINLINE HRESULT IActiveIME2_GetRegisterWordStyle(IActiveIME2* This,UINT nItem,STYLEBUFW *pStyleBuf,UINT *puBufSize) {
  3255. return This->lpVtbl->GetRegisterWordStyle(This,nItem,pStyleBuf,puBufSize);
  3256. }
  3257. static FORCEINLINE HRESULT IActiveIME2_EnumRegisterWord(IActiveIME2* This,LPWSTR szReading,DWORD dwStyle,LPWSTR szRegister,LPVOID pData,IEnumRegisterWordW **ppEnum) {
  3258. return This->lpVtbl->EnumRegisterWord(This,szReading,dwStyle,szRegister,pData,ppEnum);
  3259. }
  3260. static FORCEINLINE HRESULT IActiveIME2_GetCodePageA(IActiveIME2* This,UINT *uCodePage) {
  3261. return This->lpVtbl->GetCodePageA(This,uCodePage);
  3262. }
  3263. static FORCEINLINE HRESULT IActiveIME2_GetLangId(IActiveIME2* This,LANGID *plid) {
  3264. return This->lpVtbl->GetLangId(This,plid);
  3265. }
  3266. /*** IActiveIME2 methods ***/
  3267. static FORCEINLINE HRESULT IActiveIME2_Sleep(IActiveIME2* This) {
  3268. return This->lpVtbl->Sleep(This);
  3269. }
  3270. static FORCEINLINE HRESULT IActiveIME2_Unsleep(IActiveIME2* This,WINBOOL fDead) {
  3271. return This->lpVtbl->Unsleep(This,fDead);
  3272. }
  3273. #endif
  3274. #endif
  3275. #endif
  3276. #endif /* __IActiveIME2_INTERFACE_DEFINED__ */
  3277. /*****************************************************************************
  3278. * IEnumRegisterWordA interface
  3279. */
  3280. #ifndef __IEnumRegisterWordA_INTERFACE_DEFINED__
  3281. #define __IEnumRegisterWordA_INTERFACE_DEFINED__
  3282. DEFINE_GUID(IID_IEnumRegisterWordA, 0x08c03412, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
  3283. #if defined(__cplusplus) && !defined(CINTERFACE)
  3284. MIDL_INTERFACE("08c03412-f96b-11d0-a475-00aa006bcc59")
  3285. IEnumRegisterWordA : public IUnknown
  3286. {
  3287. virtual HRESULT STDMETHODCALLTYPE Clone(
  3288. IEnumRegisterWordA **ppEnum) = 0;
  3289. virtual HRESULT STDMETHODCALLTYPE Next(
  3290. ULONG ulCount,
  3291. REGISTERWORDA *rgRegisterWord,
  3292. ULONG *pcFetched) = 0;
  3293. virtual HRESULT STDMETHODCALLTYPE Reset(
  3294. ) = 0;
  3295. virtual HRESULT STDMETHODCALLTYPE Skip(
  3296. ULONG ulCount) = 0;
  3297. };
  3298. #ifdef __CRT_UUID_DECL
  3299. __CRT_UUID_DECL(IEnumRegisterWordA, 0x08c03412, 0xf96b, 0x11d0, 0xa4,0x75, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
  3300. #endif
  3301. #else
  3302. typedef struct IEnumRegisterWordAVtbl {
  3303. BEGIN_INTERFACE
  3304. /*** IUnknown methods ***/
  3305. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3306. IEnumRegisterWordA *This,
  3307. REFIID riid,
  3308. void **ppvObject);
  3309. ULONG (STDMETHODCALLTYPE *AddRef)(
  3310. IEnumRegisterWordA *This);
  3311. ULONG (STDMETHODCALLTYPE *Release)(
  3312. IEnumRegisterWordA *This);
  3313. /*** IEnumRegisterWordA methods ***/
  3314. HRESULT (STDMETHODCALLTYPE *Clone)(
  3315. IEnumRegisterWordA *This,
  3316. IEnumRegisterWordA **ppEnum);
  3317. HRESULT (STDMETHODCALLTYPE *Next)(
  3318. IEnumRegisterWordA *This,
  3319. ULONG ulCount,
  3320. REGISTERWORDA *rgRegisterWord,
  3321. ULONG *pcFetched);
  3322. HRESULT (STDMETHODCALLTYPE *Reset)(
  3323. IEnumRegisterWordA *This);
  3324. HRESULT (STDMETHODCALLTYPE *Skip)(
  3325. IEnumRegisterWordA *This,
  3326. ULONG ulCount);
  3327. END_INTERFACE
  3328. } IEnumRegisterWordAVtbl;
  3329. interface IEnumRegisterWordA {
  3330. CONST_VTBL IEnumRegisterWordAVtbl* lpVtbl;
  3331. };
  3332. #ifdef COBJMACROS
  3333. #ifndef WIDL_C_INLINE_WRAPPERS
  3334. /*** IUnknown methods ***/
  3335. #define IEnumRegisterWordA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3336. #define IEnumRegisterWordA_AddRef(This) (This)->lpVtbl->AddRef(This)
  3337. #define IEnumRegisterWordA_Release(This) (This)->lpVtbl->Release(This)
  3338. /*** IEnumRegisterWordA methods ***/
  3339. #define IEnumRegisterWordA_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
  3340. #define IEnumRegisterWordA_Next(This,ulCount,rgRegisterWord,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched)
  3341. #define IEnumRegisterWordA_Reset(This) (This)->lpVtbl->Reset(This)
  3342. #define IEnumRegisterWordA_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
  3343. #else
  3344. /*** IUnknown methods ***/
  3345. static FORCEINLINE HRESULT IEnumRegisterWordA_QueryInterface(IEnumRegisterWordA* This,REFIID riid,void **ppvObject) {
  3346. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3347. }
  3348. static FORCEINLINE ULONG IEnumRegisterWordA_AddRef(IEnumRegisterWordA* This) {
  3349. return This->lpVtbl->AddRef(This);
  3350. }
  3351. static FORCEINLINE ULONG IEnumRegisterWordA_Release(IEnumRegisterWordA* This) {
  3352. return This->lpVtbl->Release(This);
  3353. }
  3354. /*** IEnumRegisterWordA methods ***/
  3355. static FORCEINLINE HRESULT IEnumRegisterWordA_Clone(IEnumRegisterWordA* This,IEnumRegisterWordA **ppEnum) {
  3356. return This->lpVtbl->Clone(This,ppEnum);
  3357. }
  3358. static FORCEINLINE HRESULT IEnumRegisterWordA_Next(IEnumRegisterWordA* This,ULONG ulCount,REGISTERWORDA *rgRegisterWord,ULONG *pcFetched) {
  3359. return This->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched);
  3360. }
  3361. static FORCEINLINE HRESULT IEnumRegisterWordA_Reset(IEnumRegisterWordA* This) {
  3362. return This->lpVtbl->Reset(This);
  3363. }
  3364. static FORCEINLINE HRESULT IEnumRegisterWordA_Skip(IEnumRegisterWordA* This,ULONG ulCount) {
  3365. return This->lpVtbl->Skip(This,ulCount);
  3366. }
  3367. #endif
  3368. #endif
  3369. #endif
  3370. #endif /* __IEnumRegisterWordA_INTERFACE_DEFINED__ */
  3371. /*****************************************************************************
  3372. * IEnumRegisterWordW interface
  3373. */
  3374. #ifndef __IEnumRegisterWordW_INTERFACE_DEFINED__
  3375. #define __IEnumRegisterWordW_INTERFACE_DEFINED__
  3376. DEFINE_GUID(IID_IEnumRegisterWordW, 0x4955dd31, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
  3377. #if defined(__cplusplus) && !defined(CINTERFACE)
  3378. MIDL_INTERFACE("4955dd31-b159-11d0-8fcf-00aa006bcc59")
  3379. IEnumRegisterWordW : public IUnknown
  3380. {
  3381. virtual HRESULT STDMETHODCALLTYPE Clone(
  3382. IEnumRegisterWordW **ppEnum) = 0;
  3383. virtual HRESULT STDMETHODCALLTYPE Next(
  3384. ULONG ulCount,
  3385. REGISTERWORDW *rgRegisterWord,
  3386. ULONG *pcFetched) = 0;
  3387. virtual HRESULT STDMETHODCALLTYPE Reset(
  3388. ) = 0;
  3389. virtual HRESULT STDMETHODCALLTYPE Skip(
  3390. ULONG ulCount) = 0;
  3391. };
  3392. #ifdef __CRT_UUID_DECL
  3393. __CRT_UUID_DECL(IEnumRegisterWordW, 0x4955dd31, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
  3394. #endif
  3395. #else
  3396. typedef struct IEnumRegisterWordWVtbl {
  3397. BEGIN_INTERFACE
  3398. /*** IUnknown methods ***/
  3399. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3400. IEnumRegisterWordW *This,
  3401. REFIID riid,
  3402. void **ppvObject);
  3403. ULONG (STDMETHODCALLTYPE *AddRef)(
  3404. IEnumRegisterWordW *This);
  3405. ULONG (STDMETHODCALLTYPE *Release)(
  3406. IEnumRegisterWordW *This);
  3407. /*** IEnumRegisterWordW methods ***/
  3408. HRESULT (STDMETHODCALLTYPE *Clone)(
  3409. IEnumRegisterWordW *This,
  3410. IEnumRegisterWordW **ppEnum);
  3411. HRESULT (STDMETHODCALLTYPE *Next)(
  3412. IEnumRegisterWordW *This,
  3413. ULONG ulCount,
  3414. REGISTERWORDW *rgRegisterWord,
  3415. ULONG *pcFetched);
  3416. HRESULT (STDMETHODCALLTYPE *Reset)(
  3417. IEnumRegisterWordW *This);
  3418. HRESULT (STDMETHODCALLTYPE *Skip)(
  3419. IEnumRegisterWordW *This,
  3420. ULONG ulCount);
  3421. END_INTERFACE
  3422. } IEnumRegisterWordWVtbl;
  3423. interface IEnumRegisterWordW {
  3424. CONST_VTBL IEnumRegisterWordWVtbl* lpVtbl;
  3425. };
  3426. #ifdef COBJMACROS
  3427. #ifndef WIDL_C_INLINE_WRAPPERS
  3428. /*** IUnknown methods ***/
  3429. #define IEnumRegisterWordW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3430. #define IEnumRegisterWordW_AddRef(This) (This)->lpVtbl->AddRef(This)
  3431. #define IEnumRegisterWordW_Release(This) (This)->lpVtbl->Release(This)
  3432. /*** IEnumRegisterWordW methods ***/
  3433. #define IEnumRegisterWordW_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
  3434. #define IEnumRegisterWordW_Next(This,ulCount,rgRegisterWord,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched)
  3435. #define IEnumRegisterWordW_Reset(This) (This)->lpVtbl->Reset(This)
  3436. #define IEnumRegisterWordW_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
  3437. #else
  3438. /*** IUnknown methods ***/
  3439. static FORCEINLINE HRESULT IEnumRegisterWordW_QueryInterface(IEnumRegisterWordW* This,REFIID riid,void **ppvObject) {
  3440. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3441. }
  3442. static FORCEINLINE ULONG IEnumRegisterWordW_AddRef(IEnumRegisterWordW* This) {
  3443. return This->lpVtbl->AddRef(This);
  3444. }
  3445. static FORCEINLINE ULONG IEnumRegisterWordW_Release(IEnumRegisterWordW* This) {
  3446. return This->lpVtbl->Release(This);
  3447. }
  3448. /*** IEnumRegisterWordW methods ***/
  3449. static FORCEINLINE HRESULT IEnumRegisterWordW_Clone(IEnumRegisterWordW* This,IEnumRegisterWordW **ppEnum) {
  3450. return This->lpVtbl->Clone(This,ppEnum);
  3451. }
  3452. static FORCEINLINE HRESULT IEnumRegisterWordW_Next(IEnumRegisterWordW* This,ULONG ulCount,REGISTERWORDW *rgRegisterWord,ULONG *pcFetched) {
  3453. return This->lpVtbl->Next(This,ulCount,rgRegisterWord,pcFetched);
  3454. }
  3455. static FORCEINLINE HRESULT IEnumRegisterWordW_Reset(IEnumRegisterWordW* This) {
  3456. return This->lpVtbl->Reset(This);
  3457. }
  3458. static FORCEINLINE HRESULT IEnumRegisterWordW_Skip(IEnumRegisterWordW* This,ULONG ulCount) {
  3459. return This->lpVtbl->Skip(This,ulCount);
  3460. }
  3461. #endif
  3462. #endif
  3463. #endif
  3464. #endif /* __IEnumRegisterWordW_INTERFACE_DEFINED__ */
  3465. /*****************************************************************************
  3466. * CActiveIMM coclass
  3467. */
  3468. DEFINE_GUID(CLSID_CActiveIMM, 0x4955dd33, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59);
  3469. #ifdef __cplusplus
  3470. class DECLSPEC_UUID("4955dd33-b159-11d0-8fcf-00aa006bcc59") CActiveIMM;
  3471. #ifdef __CRT_UUID_DECL
  3472. __CRT_UUID_DECL(CActiveIMM, 0x4955dd33, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59)
  3473. #endif
  3474. #endif
  3475. #endif /* __ActiveIMM_LIBRARY_DEFINED__ */
  3476. #endif
  3477. /* Begin additional prototypes for all interfaces */
  3478. ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
  3479. unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
  3480. unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
  3481. void __RPC_USER HWND_UserFree (ULONG *, HWND *);
  3482. ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *);
  3483. unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *);
  3484. unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
  3485. void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *);
  3486. /* End additional prototypes */
  3487. #ifdef __cplusplus
  3488. }
  3489. #endif
  3490. #endif /* __dimm_h__ */