ReactOS  0.4.12-dev-934-g9a4676f
mlang.idl
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2004 Mike McCormack
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 #ifndef DO_NO_IMPORTS
20 import "unknwn.idl";
21 #endif
22 
23 interface IStream;
24 
25 cpp_quote("#define CPIOD_PEEK 0x40000000")
26 cpp_quote("#define CPIOD_FORCE_PROMPT 0x80000000")
27 
28 [
29  uuid(275c23e0-3747-11d0-9fea-00aa003f8646),
30  lcid(0x0000),
31  version(0.2)
32 ]
34 {
35  importlib("stdole2.tlb");
36 
37 [
38  object,
39  uuid(359f3443-bd4a-11d0-b188-00aa0038c969),
41 ]
43 {
44  HRESULT GetCharCodePages(
45  [in] WCHAR chSrc,
46  [out] DWORD *pdwCodePages);
47  HRESULT GetStrCodePages(
48  [in, size_is(cchSrc)] const WCHAR *pszSrc,
49  [in] LONG cchSrc,
50  [in] DWORD dwPriorityCodePages,
51  [out] DWORD *pdwCodePages,
52  [out] LONG *pcchCodePages);
53  HRESULT CodePageToCodePages(
54  [in] UINT uCodePage,
55  [out] DWORD *pdwCodePages);
56  HRESULT CodePagesToCodePage(
57  [in] DWORD dwCodePages,
58  [in] UINT uDefaultCodePage,
59  [out] UINT *puCodePage);
60 }
61 
62 [
63  object,
64  uuid(359f3441-bd4a-11d0-b188-00aa0038c969),
66 ]
68 {
69  HRESULT GetFontCodePages(
70  [in] HDC hDC,
71  [in] HFONT hFont,
72  [out] DWORD *pdwCodePages );
73 
74  HRESULT MapFont(
75  [in] HDC hDC,
76  [in] DWORD dwCodePages,
77  [in] HFONT hSrcFont,
78  [out] HFONT *phDestFont);
79 
80  HRESULT ReleaseFont(
81  [in] HFONT hFont);
82 
83  HRESULT ResetFontMapping();
84 }
85 
86 [
87  object,
88  uuid(ae5f1430-388b-11d2-8380-00c04f8f5da1),
90 ]
91 interface IEnumScript : IUnknown
92 {
93  const USHORT MAX_SCRIPT_NAME = 48;
94  const USHORT MAX_MIMEFACE_NAME = 32;
95 
96  typedef BYTE SCRIPT_ID;
98 
99  typedef enum tagSCRIPTCONTF
100  {
101  sidDefault = 0,
102  sidMerge = sidDefault + 1,
103  sidAsciiSym = sidMerge + 1,
104  sidAsciiLatin = sidAsciiSym + 1,
105  sidLatin = sidAsciiLatin + 1,
106  sidGreek = sidLatin + 1,
107  sidCyrillic = sidGreek + 1,
108  sidArmenian = sidCyrillic + 1,
109  sidHebrew = sidArmenian + 1,
110  sidArabic = sidHebrew + 1,
111  sidDevanagari = sidArabic + 1,
112  sidBengali = sidDevanagari + 1,
113  sidGurmukhi = sidBengali + 1,
114  sidGujarati = sidGurmukhi + 1,
115  sidOriya = sidGujarati + 1,
116  sidTamil = sidOriya + 1,
117  sidTelugu = sidTamil + 1,
118  sidKannada = sidTelugu + 1,
119  sidMalayalam = sidKannada + 1,
120  sidThai = sidMalayalam + 1,
121  sidLao = sidThai + 1,
122  sidTibetan = sidLao + 1,
123  sidGeorgian = sidTibetan + 1,
124  sidHangul = sidGeorgian + 1,
125  sidKana = sidHangul + 1,
126  sidBopomofo = sidKana + 1,
127  sidHan = sidBopomofo + 1,
128  sidEthiopic = sidHan + 1,
129  sidCanSyllabic = sidEthiopic + 1,
130  sidCherokee = sidCanSyllabic + 1,
131  sidYi = sidCherokee + 1,
132  sidBraille = sidYi + 1,
133  sidRunic = sidBraille + 1,
134  sidOgham = sidRunic + 1,
135  sidSinhala = sidOgham + 1,
136  sidSyriac = sidSinhala + 1,
137  sidBurmese = sidSyriac + 1,
138  sidKhmer = sidBurmese + 1,
139  sidThaana = sidKhmer + 1,
140  sidMongolian = sidThaana + 1,
141  sidUserDefined = sidMongolian + 1,
142  sidLim = sidUserDefined + 1,
143  sidFEFirst = sidHangul,
144  sidFELast = sidHan
145  } SCRIPTCONTF;
146 
147  typedef enum tagSCRIPTFONTCONTF
148  {
149  SCRIPTCONTF_FIXED_FONT = 0x1,
150  SCRIPTCONTF_PROPORTIONAL_FONT = 0x2,
151  SCRIPTCONTF_SCRIPT_USER = 0x10000,
152  SCRIPTCONTF_SCRIPT_HIDE = 0x20000,
153  SCRIPTCONTF_SCRIPT_SYSTEM = 0x40000
154  } SCRIPTFONTCONTF;
155 
156  typedef struct tagSCRIPFONTINFO
157  {
159  WCHAR wszFont[MAX_MIMEFACE_NAME];
161 
162  typedef struct tagSCRIPTINFO {
165  WCHAR wszDescription[MAX_SCRIPT_NAME];
166  WCHAR wszFixedWidthFont[MAX_MIMEFACE_NAME];
167  WCHAR wszProportionalFont[MAX_MIMEFACE_NAME];
169 
170  HRESULT Clone(
171  [out] IEnumScript **ppEnum);
172 
173  HRESULT Next(
174  [in] ULONG celt,
175  [out] PSCRIPTINFO rgelt,
176  [out] ULONG *pceltFetched);
177 
178  HRESULT Reset();
179 
180  HRESULT Skip(
181  [in] ULONG celt);
182 }
183 
184 [
185  object,
186  uuid(dccfc162-2b38-11d2-b7ec-00c04f8f5d9a),
188 ]
190 {
191  typedef struct tagUNICODERANGE
192  {
195  } UNICODERANGE;
196 
198 
199  HRESULT GetFontCodePages(
200  [in] HDC hDC,
201  [in] HFONT hFont,
202  [out] DWORD *pdwCodePages );
203 
204  HRESULT ReleaseFont(
205  [in] HFONT hFont);
206 
207  HRESULT ResetFontMapping();
208 
209  HRESULT MapFont(
210  [in] HDC hDC,
211  [in] DWORD dwCodePages,
212  [in] WCHAR chSrc,
213  [out] HFONT *pFont);
214 
215  HRESULT GetFontUnicodeRanges(
216  [in] HDC hDC,
217  [in,out] UINT *puiRanges,
218  [out] UNICODERANGE* pUranges);
219 
220  HRESULT GetScriptFontInfo(
221  [in] SCRIPT_ID sid,
222  [in] DWORD dwFlags,
223  [in,out] UINT *puiFonts,
224  [out] SCRIPTFONTINFO* pScriptFont);
225 
226  HRESULT CodePageToScriptID(
227  [in] UINT uiCodePage,
228  [out] SCRIPT_ID *pSid);
229 }
230 
231 [
232  object,
233  uuid(c04d65ce-b70d-11d0-b188-00aa0038c969),
235 ]
237 {
238 #ifdef NEWMLSTR
239  HRESULT LockMLStr(
240  [in] LONG lPos,
241  [in] DWORD dwFlags,
242  [out] DWORD* pdwCookie,
243  [out] LONG* plActualPos,
244  [out] LONG* plActualLen);
245 
246  HRESULT UnlockMLStr(
247  [in] DWORD dwCookie);
248 #else
249  HRESULT Sync(
250  [in] BOOL fNoAccess);
251 #endif
252  HRESULT GetLength(
253  [out, retval] LONG* plLen);
254  HRESULT SetMLStr(
255  [in] LONG lDestPos,
256  [in] LONG lDestLen,
257  [in] IUnknown *pSrcMLStr,
258  [in] LONG lSrcPos,
259  [in] LONG lSrcLen);
260 #ifdef NEWMLSTR
261  HRESULT RegisterAttr(
262  [in] IUnknown *pUnk,
263  [out] DWORD* pdwCookie);
264  HRESULT UnregisterAttr(
265  [in] DWORD dwCookie);
266  HRESULT EnumAttr(
267  [out] IEnumUnknown **ppEnumUnk);
268  HRESULT FindAttr(
269  [in] REFIID riid,
270  [in] LPARAM lParam,
271  [out] IUnknown **ppUnk);
272 #else
273  HRESULT GetMLStr(
274  [in] LONG lSrcPos,
275  [in] LONG lSrcLen,
276  [in] IUnknown *pUnkOuter,
277  [in] DWORD dwClsContext,
278  [in] const IID* piid,
279  [out] IUnknown** ppDestMLStr,
280  [out] LONG* plDestPos,
281  [out] LONG* plDestLen);
282 #endif
283 }
284 
285 [
286  object,
287  uuid(f5be2ee1-bfd7-11d0-b188-00aa0038c969),
289 ]
291 {
292  HRESULT BreakLineML(
293  [in] IMLangString* pSrcMLStr,
294  [in] LONG lSrcPos,
295  [in] LONG lSrcLen,
296  [in] LONG cMinColumns,
297  [in] LONG cMaxColumns,
298  [out] LONG* plLineLen,
299  [out] LONG* plSkipLen);
300 
301  HRESULT BreakLineW(
302  [in] LCID locale,
303  [in, size_is(cchSrc)] const WCHAR* pszSrc,
304  [in] LONG cchSrc,
305  [in] LONG cMaxColumns,
306  [out] LONG* pcchLine,
307  [out] LONG* pcchSkip );
308 
309  HRESULT BreakLineA(
310  [in] LCID locale,
311  [in] UINT uCodePage,
312  [in, size_is(cchSrc)] const CHAR* pszSrc,
313  [in] LONG cchSrc,
314  [in] LONG cMaxColumns,
315  [out] LONG* pcchLine,
316  [out] LONG* pcchSkip);
317 }
318 
319 [
320  object,
321  uuid(275c23e3-3747-11d0-9fea-00aa003f8646),
323 ]
325 {
326  const USHORT MAX_MIMECP_NAME = 64;
327  const USHORT MAX_MIMECSET_NAME = 50;
328 
329  typedef enum tagMIMECONTF
330  {
331  MIMECONTF_MAILNEWS = 0x00000001,
332  MIMECONTF_BROWSER = 0x00000002,
333  MIMECONTF_MINIMAL = 0x00000004,
334  MIMECONTF_IMPORT = 0x00000008,
335  MIMECONTF_SAVABLE_MAILNEWS = 0x00000100,
336  MIMECONTF_SAVABLE_BROWSER = 0x00000200,
337  MIMECONTF_EXPORT = 0x00000400,
338  MIMECONTF_PRIVCONVERTER = 0x00010000,
339  MIMECONTF_VALID = 0x00020000,
340  MIMECONTF_VALID_NLS = 0x00040000,
341  MIMECONTF_MIME_IE4 = 0x10000000,
342  MIMECONTF_MIME_LATEST = 0x20000000,
343  MIMECONTF_MIME_REGISTRY = 0x40000000
344  } MIMECONTF;
345 
346  typedef struct tagMIMECPINFO {
350  WCHAR wszDescription[MAX_MIMECP_NAME];
351  WCHAR wszWebCharset[MAX_MIMECSET_NAME];
352  WCHAR wszHeaderCharset[MAX_MIMECSET_NAME];
353  WCHAR wszBodyCharset[MAX_MIMECSET_NAME];
354  WCHAR wszFixedWidthFont[MAX_MIMEFACE_NAME];
355  WCHAR wszProportionalFont[MAX_MIMEFACE_NAME];
358 
359  typedef struct tagMIMECSETINFO
360  {
363  WCHAR wszCharset[MAX_MIMECSET_NAME];
365 
366  HRESULT Clone(
367  [out] IEnumCodePage **ppEnum);
368 
369  HRESULT Next(
370  [in] ULONG celt,
371  [out] PMIMECPINFO rgelt,
372  [out] ULONG *pceltFetched);
373 
374  HRESULT Reset();
375 
376  HRESULT Skip(
377  [in] ULONG celt);
378 }
379 
380 [
381  object,
382  uuid(d66d6f98-cdaa-11d0-b822-00c04fc9b31f),
384 ]
386 {
387  typedef enum tagMLCONVCHARF
388  {
389  MLCONVCHARF_AUTODETECT = 1,
390  MLCONVCHARF_ENTITIZE = 2,
391  MLCONVCHARF_NCR_ENTITIZE = 2,
392  MLCONVCHARF_NAME_ENTITIZE = 4,
393  MLCONVCHARF_USEDEFCHAR = 8,
394  MLCONVCHARF_NOBESTFITCHARS = 16,
395  MLCONVCHARF_DETECTJPN = 32
396  } MLCONVCHAR;
397 
398  typedef enum tagMLCPF
399  {
400  MLDETECTF_MAILNEWS = 0x0001,
401  MLDETECTF_BROWSER = 0x0002,
402  MLDETECTF_VALID = 0x0004,
403  MLDETECTF_VALID_NLS = 0x0008,
404  MLDETECTF_PRESERVE_ORDER = 0x0010,
405  MLDETECTF_PREFERRED_ONLY = 0x0020,
406  MLDETECTF_FILTER_SPECIALCHAR = 0x0040,
407  MLDETECTF_EURO_UTF8 = 0x0080
408  } MLCP;
409 
411  [in] UINT uiSrcCodePage,
412  [in] UINT uiDstCodePage,
413  [in] DWORD dwProperty);
414 
415  HRESULT GetSourceCodePage(
416  [out] UINT *puiSrcCodePage);
417 
418  HRESULT GetDestinationCodePage(
419  [out] UINT *puiDstCodePage);
420 
421  HRESULT GetProperty(
422  [out] DWORD *pdwProperty);
423 
424  HRESULT DoConversion(
425  [in] BYTE *pSrcStr,
426  [in,out] UINT *pcSrcSize,
427  [in] BYTE *pDstStr,
428  [in,out] UINT *pcDstSize);
429 
430  HRESULT DoConversionToUnicode(
431  [in] CHAR *pSrcStr,
432  [in,out] UINT *pcSrcSize,
433  [in] WCHAR *pDstStr,
434  [in,out] UINT *pcDstSize);
435 
436  HRESULT DoConversionFromUnicode(
437  [in] WCHAR *pSrcStr,
438  [in,out] UINT *pcSrcSize,
439  [in] CHAR *pDstStr,
440  [in,out] UINT *pcDstSize);
441 }
442 
443 [
444  uuid(d66d6f99-cdaa-11d0-b822-00c04fc9b31f)
445 ]
447 {
448  [default] interface IMLangConvertCharset;
449 };
450 
451 [
452  object,
453  uuid(3dc39d1d-c030-11d0-b81b-00c04fc9b31f),
455 ]
457 {
458  const USHORT MAX_RFC1766_NAME = 6;
459  const USHORT MAX_LOCALE_NAME = 32;
460 
461  typedef struct tagRFC1766INFO
462  {
464  WCHAR wszRfc1766[MAX_RFC1766_NAME];
465  WCHAR wszLocaleName[MAX_LOCALE_NAME];
467 
468  HRESULT Clone(
469  [out] IEnumRfc1766 **ppEnum);
470 
471  HRESULT Next(
472  [in] ULONG celt,
473  [out] PRFC1766INFO rgelt,
474  [out] ULONG *pceltFetched);
475 
476  HRESULT Reset();
477 
478  HRESULT Skip(
479  [in] ULONG celt);
480 }
481 
482 [
483  object,
484  uuid(275c23e1-3747-11d0-9fea-00aa003f8646),
486 ]
488 {
489  HRESULT GetNumberOfCodePageInfo(
490  [out] UINT *pcCodePage);
491 
492  HRESULT GetCodePageInfo(
493  [in] UINT uiCodePage,
494  [out] PMIMECPINFO pCodePageInfo);
495 
497  [in] UINT uiCodePage,
498  [out] UINT *puiFamilyCodePage);
499 
500  HRESULT EnumCodePages(
501  [in] DWORD grfFlags,
502  [out] IEnumCodePage **ppEnumCodePage);
503 
504  HRESULT GetCharsetInfo(
505  [in] BSTR Charset,
506  [in] PMIMECSETINFO pCharsetInfo);
507 
508  HRESULT IsConvertible(
509  [in] DWORD dwSrcEncoding,
510  [in] DWORD dwDstEncoding);
511 
512  HRESULT ConvertString(
513  [in,out] DWORD *pdwMode,
514  [in] DWORD dwSrcEncoding,
515  [in] DWORD dwDstEncoding,
516  [in] BYTE *pSrcStr,
517  [in,out] UINT *pcSrcSize,
518  [in] BYTE *pDstStr,
519  [in,out] UINT *pcDstSize);
520 
521  HRESULT ConvertStringToUnicode(
522  [in,out] DWORD *pdwMode,
523  [in] DWORD dwEncoding,
524  [in] CHAR *pSrcStr,
525  [in,out] UINT *pcSrcSize,
526  [in] WCHAR *pDstStr,
527  [in,out] UINT *pcDstSize);
528 
529  HRESULT ConvertStringFromUnicode(
530  [in,out] DWORD *pdwMode,
531  [in] DWORD dwEncoding,
532  [in] WCHAR *pSrcStr,
533  [in,out] UINT *pcSrcSize,
534  [in] CHAR *pDstStr,
535  [in,out] UINT *pcDstSize);
536 
537  HRESULT ConvertStringReset();
538 
539  HRESULT GetRfc1766FromLcid(
540  [in] LCID Locale,
541  [out] BSTR *pbstrRfc1766);
542 
543  HRESULT GetLcidFromRfc1766(
544  [out] LCID *pLocale,
545  [in] BSTR bstrRfc1766);
546 
547  HRESULT EnumRfc1766(
548  [out] IEnumRfc1766 **ppEnumRfc1766);
549 
550  HRESULT GetRfc1766Info(
551  [in] LCID Locale,
552  [out] PRFC1766INFO pRfc1766Info);
553 
554  HRESULT CreateConvertCharset(
555  [in] UINT uiSrcCodePage,
556  [in] UINT uiDstCodePage,
557  [in] DWORD dwProperty,
558  [out] IMLangConvertCharset **ppMLangConvertCharset);
559 
560 }
561 
562 [
563  object,
564  uuid(dccfc164-2b38-11d2-b7ec-00c04f8f5d9a),
566 ]
568 {
569  typedef struct tagDetectEncodingInfo
570  {
576 
577  HRESULT GetNumberOfCodePageInfo(
578  [out] UINT *pcCodePage);
579 
580  HRESULT GetCodePageInfo(
581  [in] UINT uiCodePage,
582  [in] LANGID LangId,
583  [out] PMIMECPINFO pCodePageInfo);
584 
586  [in] UINT uiCodePage,
587  [out] UINT *puiFamilyCodePage);
588 
589  HRESULT EnumCodePages(
590  [in] DWORD grfFlags,
591  [in] LANGID LangId,
592  [out] IEnumCodePage **ppEnumCodePage);
593 
594  HRESULT GetCharsetInfo(
595  [in] BSTR Charset,
596  [in] PMIMECSETINFO pCharsetInfo);
597 
598  HRESULT IsConvertible(
599  [in] DWORD dwSrcEncoding,
600  [in] DWORD dwDstEncoding);
601 
602  HRESULT ConvertString(
603  [in,out] DWORD *pdwMode,
604  [in] DWORD dwSrcEncoding,
605  [in] DWORD dwDstEncoding,
606  [in] BYTE *pSrcStr,
607  [in,out] UINT *pcSrcSize,
608  [in] BYTE *pDstStr,
609  [in,out] UINT *pcDstSize);
610 
611  HRESULT ConvertStringToUnicode(
612  [in,out] DWORD *pdwMode,
613  [in] DWORD dwEncoding,
614  [in] CHAR *pSrcStr,
615  [in,out] UINT *pcSrcSize,
616  [in] WCHAR *pDstStr,
617  [in,out] UINT *pcDstSize);
618 
619  HRESULT ConvertStringFromUnicode(
620  [in,out] DWORD *pdwMode,
621  [in] DWORD dwEncoding,
622  [in] WCHAR *pSrcStr,
623  [in,out] UINT *pcSrcSize,
624  [in] CHAR *pDstStr,
625  [in,out] UINT *pcDstSize);
626 
627  HRESULT ConvertStringReset();
628 
629  HRESULT GetRfc1766FromLcid(
630  [in] LCID Locale,
631  [out] BSTR *pbstrRfc1766);
632 
633  HRESULT GetLcidFromRfc1766(
634  [out] LCID *pLocale,
635  [in] BSTR bstrRfc1766);
636 
637  HRESULT EnumRfc1766(
638  [in] LANGID LangId,
639  [out] IEnumRfc1766 **ppEnumRfc1766);
640 
641  HRESULT GetRfc1766Info(
642  [in] LCID Locale,
643  [in] LANGID LangId,
644  [out] PRFC1766INFO pRfc1766Info);
645 
646  HRESULT CreateConvertCharset(
647  [in] UINT uiSrcCodePage,
648  [in] UINT uiDstCodePage,
649  [in] DWORD dwProperty,
650  [out] IMLangConvertCharset **ppMLangConvertCharset);
651 
652  HRESULT ConvertStringInIStream(
653  [in,out] DWORD *pdwMode,
654  [in] DWORD dwFlag,
655  [in] WCHAR *lpFallBack,
656  [in] DWORD dwSrcEncoding,
657  [in] DWORD dwDstEncoding,
658  [in] IStream *pstmIn,
659  [in] IStream *pstmOut);
660 
661  HRESULT ConvertStringToUnicodeEx(
662  [in,out] DWORD *pdwMode,
663  [in] DWORD dwEncoding,
664  [in] CHAR *pSrcStr,
665  [in,out] UINT *pcSrcSize,
666  [in] WCHAR *pDstStr,
667  [in,out] UINT *pcDstSize,
668  [in] DWORD dwFlag,
669  [in] WCHAR *lpFallBack);
670 
671  HRESULT ConvertStringFromUnicodeEx(
672  [in,out] DWORD *pdwMode,
673  [in] DWORD dwEncoding,
674  [in] WCHAR *pSrcStr,
675  [in,out] UINT *pcSrcSize,
676  [in] CHAR *pDstStr,
677  [in,out] UINT *pcDstSize,
678  [in] DWORD dwFlag,
679  [in] WCHAR *lpFallBack);
680 
681  HRESULT DetectCodepageInIStream(
682  [in] DWORD dwFlag,
683  [in] DWORD dwPrefWinCodePage,
684  [in] IStream *pstmIn,
685  [in,out] DetectEncodingInfo *lpEncoding,
686  [in,out] INT *pnScores);
687 
688  HRESULT DetectInputCodepage(
689  [in] DWORD dwFlag,
690  [in] DWORD dwPrefWinCodePage,
691  [in] CHAR *pSrcStr,
692  [in,out] INT *pcSrcSize,
693  [in,out] DetectEncodingInfo *lpEncoding,
694  [in,out] INT *pnScores);
695 
696  HRESULT ValidateCodePage(
697  [in] UINT uiCodePage,
698  [in] HWND hwnd);
699 
700  HRESULT GetCodePageDescription(
701  [in] UINT uiCodePage,
702  [in] LCID lcid,
703  [in,out,size_is(cchWideChar)] LPWSTR lpWideCharStr,
704  [in] int cchWideChar);
705 
706  HRESULT IsCodePageInstallable(
707  [in] UINT uiCodePage);
708 
709  HRESULT SetMimeDBSource(
710  [in] MIMECONTF dwSource);
711 
712  HRESULT GetNumberOfScripts(
713  [out] UINT *pnScripts);
714 
715  HRESULT EnumScripts(
716  [in] DWORD dwFlags,
717  [in] LANGID LangId,
718  [out] IEnumScript **ppEnumScript);
719 
720  HRESULT ValidateCodePageEx( /* undocumented on MSDN */
721  [in] UINT uiCodePage,
722  [in] HWND hwnd,
723  [in] DWORD dwfIODControl);
724 }
725 
726 [
727  object,
728  uuid(4e5868ab-b157-4623-9acc-6a1d9caebe04),
730 ]
732 {
734  HRESULT DetectOutboundCodePage(
735  [in] DWORD dwFlags,
736  [in] LPCWSTR lpWideCharStr,
737  [in] UINT cchWideChar,
738  [in] UINT *puiPreferredCodePages,
739  [in] UINT nPreferredCodePages,
740  [in] UINT *puiDetectedCodePages,
741  [in, out] UINT *pnDetectedCodePages,
742  [in] WCHAR *lpSpecialChar);
743 
744  HRESULT DetectOutboundCodePageInIStream(
745  [in] DWORD dwFlags,
746  [in] IStream *pStrIn,
747  [in] UINT *puiPreferredCodePages,
748  [in] UINT nPreferredCodePages,
749  [in] UINT *puiDetectedCodePages,
750  [in, out] UINT *pnDetectedCodePages,
751  [in] WCHAR *lpSpecialChar);
752 }
753 
754 [
755  uuid(275C23E2-3747-11d0-9FEA-00AA003f8646)
756 ]
758 {
759  [default] interface IMultiLanguage;
760  interface IMLangCodePages;
761  interface IMLangFontLink;
762  /* interface IMLangLineBreakConsole; */
763  interface IMLangFontLink2;
764 };
765 
766 } // library MultiLanguage
767 
768 cpp_quote("STDAPI LcidToRfc1766A(LCID, LPSTR, INT);")
770 cpp_quote("#define LcidToRfc1766 WINELIB_NAME_AW(LcidToRfc1766)")
771 
772 cpp_quote("STDAPI Rfc1766ToLcidA(LCID *, LPCSTR);")
774 cpp_quote("#define Rfc1766ToLcid WINELIB_NAME_AW(Rfc1766ToLcid)")
775 
776 cpp_quote("STDAPI GetGlobalFontLinkObject(void **unknown);")
#define STDAPI
Definition: basetyps.h:41
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define REFIID
Definition: guiddef.h:113
STDAPI ConvertINetUnicodeToMultiByte(LPDWORD, DWORD, LPCWSTR, LPINT, LPSTR, LPINT)
Definition: mlang.c:1020
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
REFIID riid
Definition: precomp.h:44
char CHAR
Definition: xmlstorage.h:175
static HDC
Definition: imagelist.c:92
FT_UInt sid
Definition: cffcmap.c:139
DWORD LCID
Definition: nls.h:13
WORD LANGID
Definition: typedefs.h:79
OLECHAR * BSTR
Definition: compat.h:1927
char * LPSTR
Definition: xmlstorage.h:182
FT_Library library
Definition: cffdrivr.c:654
IMLangFontLink2 * PMLANGFONTLINK2
Definition: mlang.idl:197
int32_t INT
Definition: typedefs.h:56
coclass AMMultiMediaStream cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") cpp_quote("DEFINE_GUID(CLSID_AMAudioStream
HFONT hFont
Definition: main.c:53
Definition: _locale.h:75
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
static const WCHAR version[]
Definition: asmname.c:64
LONG_PTR LPARAM
Definition: windef.h:208
const char * LPCSTR
Definition: xmlstorage.h:183
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
STDAPI Rfc1766ToLcidW(LCID *, LPCWSTR)
Definition: mlang.c:1301
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
STDAPI IsConvertINetStringAvailable(DWORD, DWORD)
Definition: mlang.c:1181
IMultiLanguage3 * LPMULTILANGUAGE3
Definition: mlang.idl:733
STDAPI ConvertINetMultiByteToUnicode(LPDWORD, DWORD, LPCSTR, LPINT, LPWSTR, LPINT)
Definition: mlang.c:954
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
unsigned char BYTE
Definition: mem.h:68
importlib("stdole2.tlb")
static HDC hDC
Definition: 3dtext.c:33
GLuint in
Definition: glext.h:9616
static unsigned char pointer_default
Definition: parser.tab.c:114
unsigned short USHORT
Definition: pedump.c:61
BOOL Initialize(HINSTANCE hInstance)
Definition: msconfig.c:341
unsigned int UINT
Definition: ndis.h:50
static PSID pSid
Definition: security.c:74
static HRESULT GetFamilyCodePage(UINT uiCodePage, UINT *puiFamilyCodePage)
Definition: mlang.c:1156
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
uint32_t * LPDWORD
Definition: typedefs.h:57
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last)
Definition: _algo.h:298
unsigned int ULONG
Definition: retypes.h:1
STDAPI LcidToRfc1766W(LCID, LPWSTR, INT)
Definition: mlang.c:1267
WCHAR * LPWSTR
Definition: xmlstorage.h:184
STDAPI ConvertINetString(LPDWORD, DWORD, DWORD, LPCSTR, LPINT, LPSTR, LPINT)
Definition: mlang.c:1105
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
LPARAM lParam
Definition: combotst.c:139
void * object
Definition: jmemsys.h:48
#define __int64
Definition: basetyps.h:16
int * LPINT
Definition: windef.h:178