ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

dimm.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2007 Jacek Caban for CodeWeavers
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #ifndef DO_NO_IMPORTS
00020 import "unknwn.idl";
00021 #endif
00022 
00023 cpp_quote("#include <imm.h>")
00024 #ifdef _MSC_VER
00025 cpp_quote("DEFINE_GUID(CLSID_CActiveIMM, 0x4955dd33, 0xb159, 0x11d0, 0x8f,0xcf, 0x00,0xaa,0x00,0x6b,0xcc,0x59);")
00026 #endif
00027 cpp_quote("#if 0")
00028 
00029 typedef struct {
00030     LPSTR lpReading;
00031     LPSTR lpWord;
00032 } REGISTERWORDA;
00033 
00034 typedef struct {
00035     LPWSTR lpReading;
00036     LPWSTR lpWord;
00037 } REGISTERWORDW;
00038 
00039 #define LF_FACESIZE         32
00040 
00041 typedef struct {
00042     LONG lfHeight;
00043     LONG lfWidth;
00044     LONG lfEscapement;
00045     LONG lfOrientation;
00046     LONG lfWeight;
00047     BYTE lfItalic;
00048     BYTE lfUnderline;
00049     BYTE lfStrikeOut;
00050     BYTE lfCharSet;
00051     BYTE lfOutPrecision;
00052     BYTE lfClipPrecision;
00053     BYTE lfQuality;
00054     BYTE lfPitchAndFamily;
00055     CHAR lfFaceName[LF_FACESIZE];
00056 } LOGFONTA;
00057 
00058 typedef struct {
00059     LONG  lfHeight;
00060     LONG  lfWidth;
00061     LONG  lfEscapement;
00062     LONG  lfOrientation;
00063     LONG  lfWeight;
00064     BYTE  lfItalic;
00065     BYTE  lfUnderline;
00066     BYTE  lfStrikeOut;
00067     BYTE  lfCharSet;
00068     BYTE  lfOutPrecision;
00069     BYTE  lfClipPrecision;
00070     BYTE  lfQuality;
00071     BYTE  lfPitchAndFamily;
00072     WCHAR lfFaceName[LF_FACESIZE];
00073 } LOGFONTW;
00074 
00075 typedef DWORD HIMC;
00076 typedef DWORD HIMCC;
00077 
00078 typedef struct {
00079     DWORD dwIndex;
00080     DWORD dwStyle;
00081     POINT ptCurrentPos;
00082     RECT  rcArea;
00083 } CANDIDATEFORM;
00084 
00085 typedef struct {
00086     DWORD dwStyle;
00087     POINT ptCurrentPos;
00088     RECT  rcArea;
00089 } COMPOSITIONFORM;
00090 
00091 typedef struct {
00092     DWORD dwSize;
00093     DWORD dwStyle;
00094     DWORD dwCount;
00095     DWORD dwSelection;
00096     DWORD dwPageStart;
00097     DWORD dwPageSize;
00098     DWORD dwOffset[1];
00099 } CANDIDATELIST;
00100 
00101 #define STYLE_DESCRIPTION_SIZE  32
00102 
00103 typedef struct {
00104     DWORD dwStyle;
00105     CHAR  szDescription[STYLE_DESCRIPTION_SIZE];
00106 } STYLEBUFA;
00107 
00108 typedef struct {
00109     DWORD dwStyle;
00110     WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
00111 } STYLEBUFW;
00112 
00113 typedef WORD ATOM;
00114 
00115 #define IMEMENUITEM_STRING_SIZE 80
00116 
00117 typedef struct {
00118     UINT    cbSize;
00119     UINT    fType;
00120     UINT    fState;
00121     UINT    wID;
00122     HBITMAP hbmpChecked;
00123     HBITMAP hbmpUnchecked;
00124     DWORD   dwItemData;
00125     CHAR    szString[IMEMENUITEM_STRING_SIZE];
00126     HBITMAP hbmpItem;
00127 } IMEMENUITEMINFOA;
00128 
00129 typedef struct {
00130     UINT    cbSize;
00131     UINT    fType;
00132     UINT    fState;
00133     UINT    wID;
00134     HBITMAP hbmpChecked;
00135     HBITMAP hbmpUnchecked;
00136     DWORD   dwItemData;
00137     WCHAR   szString[IMEMENUITEM_STRING_SIZE];
00138     HBITMAP hbmpItem;
00139 } IMEMENUITEMINFOW;
00140 
00141 cpp_quote("#endif")
00142 
00143 [
00144     object,
00145     uuid(08c03412-f96b-11d0-a475-00aa006bcc59),
00146     pointer_default(unique)
00147 ]
00148 interface IEnumRegisterWordA : IUnknown
00149 {
00150     HRESULT Clone(
00151             [out] IEnumRegisterWordA **ppEnum);
00152 
00153     HRESULT Next(
00154             [in]  ULONG ulCount,
00155             [out] REGISTERWORDA *rgRegisterword,
00156             [out] ULONG *pcFetched);
00157 
00158     HRESULT Reset();
00159 
00160     HRESULT Skip(
00161             [in]  ULONG ulCount);
00162 }
00163 
00164 [
00165     object,
00166     uuid(4955dd31-b159-11d0-8fcf-00aa006bcc59),
00167     pointer_default(unique)
00168 ]
00169 interface IEnumRegisterWordW : IUnknown
00170 {
00171     HRESULT Clone(
00172             [out] IEnumRegisterWordW **ppEnum);
00173 
00174     HRESULT Next(
00175             [in]  ULONG ulCount,
00176             [out] REGISTERWORDW *rgRegisterword,
00177             [out] ULONG *pcFetched);
00178 
00179     HRESULT Reset();
00180 
00181     HRESULT Skip(
00182             [in]  ULONG ulCount);
00183 }
00184 
00185 [
00186     object,
00187     uuid(09b5eab0-f997-11d1-93d4-0060b067b86e),
00188     pointer_default(unique),
00189     local
00190 ]
00191 interface IEnumInputContext : IUnknown
00192 {
00193     HRESULT Clone(
00194             [out] IEnumInputContext **ppEnum);
00195 
00196     HRESULT Next(
00197             [in]  ULONG ulCount,
00198             [out] HIMC *rgInputContext,
00199             [out] ULONG *pcFetched);
00200 
00201     HRESULT Reset();
00202 
00203     HRESULT Skip(
00204             [in]  ULONG ulCount);
00205 }
00206 
00207 [
00208     object,
00209     uuid(08c0e040-62d1-11d1-9326-0060b067b86e),
00210     pointer_default(unique),
00211     local
00212 ]
00213 interface IActiveIMMApp : IUnknown
00214 {
00215     HRESULT AssociateContext(
00216             [in]  HWND hWnd,
00217             [in]  HIMC hIME,
00218             [out] HIMC *phPrev);
00219 
00220     HRESULT ConfigureIMEA(
00221             [in]  HKL hKL,
00222             [in]  HWND hwnd,
00223             [in]  DWORD dwMode,
00224             [in]  REGISTERWORDA *pData);
00225 
00226     HRESULT ConfigureIMEW(
00227             [in]  HKL hKL,
00228             [in]  HWND hWnd,
00229             [in]  DWORD dwMode,
00230             [in]  REGISTERWORDW *pData);
00231 
00232     HRESULT CreateContext(
00233             [out] HIMC *phIMC);
00234 
00235     HRESULT DestroyContext(
00236             [in]  HIMC hIME);
00237 
00238     HRESULT EnumRegisterWordA(
00239             [in]  HKL hKL,
00240             [in]  LPSTR szReading,
00241             [in]  DWORD dwStyle,
00242             [in]  LPSTR szRegister,
00243             [in]  LPVOID pData,
00244             [out] IEnumRegisterWordA **pEnum);
00245 
00246     HRESULT EnumRegisterWordW(
00247             [in]  HKL hKL,
00248             [in]  LPWSTR szReading,
00249             [in]  DWORD dwStyle,
00250             [in]  LPWSTR szRegister,
00251             [in]  LPVOID pData,
00252             [out] IEnumRegisterWordW **pEnum);
00253 
00254     HRESULT EscapeA(
00255             [in]  HKL hKL,
00256             [in]  HIMC hIMC,
00257             [in]  UINT uEscape,
00258             [in, out] LPVOID pData,
00259             [out] LRESULT *plResult);
00260 
00261     HRESULT EscapeW(
00262             [in]  HKL hKL,
00263             [in]  HIMC hIMC,
00264             [in]  UINT uEscape,
00265             [in, out] LPVOID pData,
00266             [out] LRESULT *plResult);
00267 
00268     HRESULT GetCandidateListA(
00269             [in]  HIMC hIMC,
00270             [in]  DWORD dwIndex,
00271             [in]  UINT uBufLen,
00272             [out] CANDIDATELIST *pCandList,
00273             [out] UINT *puCopied);
00274 
00275     HRESULT GetCandidateListW(
00276             [in]  HIMC hIMC,
00277             [in]  DWORD dwIndex,
00278             [in]  UINT uBufLen,
00279             [out] CANDIDATELIST *pCandList,
00280             [out] UINT *puCopied);
00281 
00282     HRESULT GetCandidateListCountA(
00283             [in]  HIMC hIMC,
00284             [out] DWORD *pdwListSize,
00285             [out] DWORD *pdwBufLen);
00286 
00287     HRESULT GetCandidateListCountW(
00288             [in]  HIMC hIMC,
00289             [out] DWORD *pdwListSize,
00290             [out] DWORD *pdwBufLen);
00291 
00292     HRESULT GetCandidateWindow(
00293             [in]  HIMC hIMC,
00294             [in]  DWORD dwIndex,
00295             [out] CANDIDATEFORM *pCandidate);
00296 
00297     HRESULT GetCompositionFontA(
00298             [in]  HIMC hIMC,
00299             [out] LOGFONTA *plf);
00300 
00301     HRESULT GetCompositionFontW(
00302             [in]  HIMC hIMC,
00303             [out] LOGFONTW *plf);
00304 
00305     HRESULT GetCompositionStringA(
00306             [in]  HIMC hIMC,
00307             [in]  DWORD dwIndex,
00308             [in]  DWORD dwBufLen,
00309             [out] LONG *plCopied,
00310             [out] LPVOID pBuf);
00311 
00312     HRESULT GetCompositionStringW(
00313             [in]  HIMC hIMC,
00314             [in]  DWORD dwIndex,
00315             [in]  DWORD dwBufLen,
00316             [out] LONG *plCopied,
00317             [out] LPVOID pBuf);
00318 
00319     HRESULT GetCompositionWindow(
00320             [in]  HIMC hIMC,
00321             [out] COMPOSITIONFORM *pCompForm);
00322 
00323     HRESULT GetContext(
00324             [in]  HWND hwnd,
00325             [out] HIMC *phIMC);
00326 
00327     HRESULT GetConversionListA(
00328             [in]  HKL hKL,
00329             [in]  HIMC hIMC,
00330             [in]  LPSTR pSrc,
00331             [in]  UINT uBufLen,
00332             [in]  UINT uFlag,
00333             [out] CANDIDATELIST *pDst,
00334             [out] UINT *puCopied);
00335 
00336     HRESULT GetConversionListW(
00337             [in]  HKL hKL,
00338             [in]  HIMC hIMC,
00339             [in]  LPWSTR pSrc,
00340             [in]  UINT uBufLen,
00341             [in]  UINT uFlag,
00342             [out] CANDIDATELIST *pDst,
00343             [out] UINT *puCopied);
00344 
00345     HRESULT GetConversionStatus(
00346             [in] HIMC hIMC,
00347             [out] DWORD *pfdwConversion,
00348             [out] DWORD *pfdwSentence);
00349 
00350     HRESULT GetDefaultIMEWnd(
00351             [in] HWND hWnd,
00352             [out] HWND *phDefWnd);
00353 
00354     HRESULT GetDescriptionA(
00355             [in]  HKL hKL,
00356             [in]  UINT uBufLen,
00357             [out] LPSTR szDescription,
00358             [out] UINT *puCopied);
00359 
00360     HRESULT GetDescriptionW(
00361             [in]  HKL hKL,
00362             [in]  UINT uBufLen,
00363             [out] LPWSTR szDescription,
00364             [out] UINT *puCopied);
00365 
00366     HRESULT GetGuideLineA(
00367             [in]  HIMC hIMC,
00368             [in]  DWORD dwIndex,
00369             [in]  DWORD dwBufLen,
00370             [out] LPSTR pBuf,
00371             [out] DWORD *pdwResult);
00372 
00373     HRESULT GetGuideLineW(
00374             [in]  HIMC hIMC,
00375             [in]  DWORD dwIndex,
00376             [in]  DWORD dwBufLen,
00377             [out] LPWSTR pBuf,
00378             [out] DWORD *pdwResult);
00379 
00380     HRESULT GetIMEFileNameA(
00381             [in]  HKL hKL,
00382             [in]  UINT uBufLen,
00383             [out] LPSTR szFileName,
00384             [out] UINT *puCopied);
00385 
00386     HRESULT GetIMEFileNameW(
00387             [in]  HKL hKL,
00388             [in]  UINT uBufLen,
00389             [out] LPWSTR szFileName,
00390             [out] UINT *puCopied);
00391 
00392     HRESULT GetOpenStatus(
00393             [in]  HIMC hIMC);
00394 
00395     HRESULT GetProperty(
00396             [in]  HKL hKL,
00397             [in]  DWORD fdwIndex,
00398             [out] DWORD *pdwProperty);
00399 
00400     HRESULT GetRegisterWordStyleA(
00401             [in]  HKL hKL,
00402             [in]  UINT nItem,
00403             [out] STYLEBUFA *pStyleBuf,
00404             [out] UINT *puCopied);
00405 
00406     HRESULT GetRegisterWordStyleW(
00407             [in]  HKL hKL,
00408             [in]  UINT nItem,
00409             [out] STYLEBUFW *pStyleBuf,
00410             [out] UINT *puCopied);
00411 
00412     HRESULT GetStatusWindowPos(
00413             [in]  HIMC hIMC,
00414             [out] POINT *pptPos);
00415 
00416     HRESULT GetVirtualKey(
00417             [in]  HWND hWnd,
00418             [out] UINT *puVirtualKey);
00419 
00420     HRESULT InstallIMEA(
00421             [in]  LPSTR szIMEFileName,
00422             [in]  LPSTR szLayoutText,
00423             [out] HKL *phKL);
00424 
00425     HRESULT InstallIMEW(
00426             [in]  LPWSTR szIMEFileName,
00427             [in]  LPWSTR szLayoutText,
00428             [out] HKL *phKL);
00429 
00430     HRESULT IsIME(
00431             [in]  HKL hKL);
00432 
00433     HRESULT IsUIMessageA(
00434             [in]  HWND hWndIME,
00435             [in]  UINT msg,
00436             [in]  WPARAM wParam,
00437             [in]  LPARAM lParam);
00438 
00439     HRESULT IsUIMessageW(
00440             [in]  HWND hWndIME,
00441             [in]  UINT msg,
00442             [in]  WPARAM wParam,
00443             [in]  LPARAM lParam);
00444 
00445     HRESULT NotifyIME(
00446             [in]  HIMC hIMC,
00447             [in]  DWORD dwAction,
00448             [in]  DWORD dwIndex,
00449             [in]  DWORD dwValue);
00450 
00451     HRESULT RegisterWordA(
00452             [in]  HKL hKL,
00453             [in]  LPSTR szReading,
00454             [in]  DWORD dwStyle,
00455             [in]  LPSTR szRegister);
00456 
00457     HRESULT RegisterWordW(
00458             [in]  HKL hKL,
00459             [in]  LPWSTR szReading,
00460             [in]  DWORD dwStyle,
00461             [in]  LPWSTR szRegister);
00462 
00463     HRESULT ReleaseContext(
00464             [in]  HWND hWnd,
00465             [in]  HIMC hIMC);
00466 
00467     HRESULT SetCandidateWindow(
00468             [in]  HIMC hIMC,
00469             [in]  CANDIDATEFORM *pCandidate);
00470 
00471     HRESULT SetCompositionFontA(
00472             [in]  HIMC hIMC,
00473             [in]  LOGFONTA *plf);
00474 
00475     HRESULT SetCompositionFontW(
00476             [in]  HIMC hIMC,
00477             [in]  LOGFONTW *plf);
00478 
00479     HRESULT SetCompositionStringA(
00480             [in]  HIMC hIMC,
00481             [in]  DWORD dwIndex,
00482             [in]  LPVOID pComp,
00483             [in]  DWORD dwCompLen,
00484             [in]  LPVOID pRead,
00485             [in]  DWORD dwReadLen);
00486 
00487     HRESULT SetCompositionStringW(
00488             [in]  HIMC hIMC,
00489             [in]  DWORD dwIndex,
00490             [in]  LPVOID pComp,
00491             [in]  DWORD dwCompLen,
00492             [in]  LPVOID pRead,
00493             [in]  DWORD dwReadLen);
00494 
00495     HRESULT SetCompositionWindow(
00496             [in]  HIMC hIMC,
00497             [in]  COMPOSITIONFORM *pCompForm);
00498 
00499     HRESULT SetConversionStatus(
00500             [in]  HIMC hIMC,
00501             [in]  DWORD fdwConversion,
00502             [in]  DWORD fdwSentence);
00503 
00504     HRESULT SetOpenStatus(
00505             [in]  HIMC hIMC,
00506             [in]  BOOL fOpen);
00507 
00508     HRESULT SetStatusWindowPos(
00509             [in]  HIMC hIMC,
00510             [in]  POINT *pptPos);
00511 
00512     HRESULT SimulateHotKey(
00513             [in]  HWND hwnd,
00514             [in]  DWORD dwHotKeyID);
00515 
00516     HRESULT UnregisterWordA(
00517             [in]  HKL hKL,
00518             [in]  LPSTR szReading,
00519             [in]  DWORD dwStyle,
00520             [in]  LPSTR szUnregister);
00521 
00522     HRESULT UnregisterWordW(
00523             [in]  HKL hKL,
00524             [in]  LPWSTR szReading,
00525             [in]  DWORD dwStyle,
00526             [in]  LPWSTR szUnregister);
00527 
00528     HRESULT Activate(
00529             [in]  BOOL fRestoreLayout);
00530 
00531     HRESULT Deactivate();
00532 
00533     HRESULT OnDefWindowProc(
00534             [in]  HWND hWnd,
00535             [in]  UINT Msg,
00536             [in]  WPARAM wParam,
00537             [in]  LPARAM lParam,
00538             [out] LRESULT *plResult);
00539 
00540     HRESULT FilterClientWindows(
00541             [in]  ATOM *aaClassList,
00542             [in]  UINT uSize);
00543 
00544     HRESULT GetCodePageA(
00545             [in]  HKL hKL,
00546             [out] UINT *uCodePage);
00547 
00548     HRESULT GetLangId(
00549             [in]  HKL hKL,
00550             [out] LANGID *plid);
00551 
00552     HRESULT AssociateContextEx(
00553             [in]  HWND hWnd,
00554             [in]  HIMC hIMC,
00555             [in]  DWORD dwFlags);
00556 
00557     HRESULT DisableIME(
00558             [in]  DWORD idThread);
00559 
00560     HRESULT GetImeMenuItemsA(
00561             [in]  HIMC hIMC,
00562             [in]  DWORD dwFlags,
00563             [in]  DWORD dwType,
00564             [in]  IMEMENUITEMINFOA *pImeParentMenu,
00565             [out] IMEMENUITEMINFOA *pImeMenu,
00566             [in]  DWORD dwSize,
00567             [out] DWORD *pdwResult);
00568 
00569     HRESULT GetImeMenuItemsW(
00570             [in]  HIMC hIMC,
00571             [in]  DWORD dwFlags,
00572             [in]  DWORD dwType,
00573             [in]  IMEMENUITEMINFOW *pImeParentMenu,
00574             [out] IMEMENUITEMINFOW *pImeMenu,
00575             [in]  DWORD dwSize,
00576             [out] DWORD *pdwResult);
00577 
00578     HRESULT EnumInputContext(
00579             [in]  DWORD idThread,
00580             [out] IEnumInputContext **ppEnum);
00581 }
00582 
00583 [
00584     uuid(4955dd33-b159-11d0-8fcf-00aa006bcc59)
00585 ]
00586 coclass CActiveIMM
00587 {
00588     [default] interface IActiveIMMApp;
00589     /* interface IActiveIMMIME; */
00590     /* interface IActiveIMMRegistrar; */
00591     /* interface IActiveIMMMessagePumpOwner; */
00592 }
00593 

Generated on Thu May 24 2012 04:32:04 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.