Get rid of the ICOM_MSVTABLE_COMPAT support, g++ no longer requires
[wine/multimedia.git] / include / mlang.h
blob1c308a9498408c78280c79410f5fce224d077df1
1 /*** Autogenerated by WIDL 0.1 from mlang.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
5 #ifndef __WIDL_MLANG_H
6 #define __WIDL_MLANG_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include <unknwn.h>
11 #ifndef __IStream_FWD_DEFINED__
12 #define __IStream_FWD_DEFINED__
13 typedef struct IStream IStream;
14 #endif
16 #ifndef __WINE_WINNT_H
17 typedef WORD LANGID;
19 #endif
20 #ifndef __IMLangCodePages_FWD_DEFINED__
21 #define __IMLangCodePages_FWD_DEFINED__
22 typedef struct IMLangCodePages IMLangCodePages;
23 #endif
25 /*****************************************************************************
26 * IMLangCodePages interface
28 #ifndef __IMLangCodePages_INTERFACE_DEFINED__
29 #define __IMLangCodePages_INTERFACE_DEFINED__
31 #if defined(__cplusplus) && !defined(CINTERFACE)
32 struct IMLangCodePages : public IUnknown
34 virtual HRESULT STDMETHODCALLTYPE GetCharCodePages(
35 WCHAR chSrc,
36 DWORD* pdwCodePages) = 0;
38 virtual HRESULT STDMETHODCALLTYPE GetStrCodePages(
39 const WCHAR* pszSrc,
40 long cchSrc,
41 DWORD dwPriorityCodePages,
42 DWORD* pdwCodePages,
43 long* pcchCodePages) = 0;
45 virtual HRESULT STDMETHODCALLTYPE CodePageToCodePages(
46 UINT uCodePage,
47 DWORD* pdwCodePages) = 0;
49 virtual HRESULT STDMETHODCALLTYPE CodePagesToCodePage(
50 DWORD dwCodePages,
51 UINT uDefaultCodePage,
52 UINT* puCodePage) = 0;
55 #else
56 typedef struct IMLangCodePagesVtbl IMLangCodePagesVtbl;
57 struct IMLangCodePages {
58 const IMLangCodePagesVtbl* lpVtbl;
60 struct IMLangCodePagesVtbl {
61 BEGIN_INTERFACE
63 /*** IUnknown methods ***/
64 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
65 IMLangCodePages* This,
66 REFIID riid,
67 void** ppvObject);
69 ULONG (STDMETHODCALLTYPE *AddRef)(
70 IMLangCodePages* This);
72 ULONG (STDMETHODCALLTYPE *Release)(
73 IMLangCodePages* This);
75 /*** IMLangCodePages methods ***/
76 HRESULT (STDMETHODCALLTYPE *GetCharCodePages)(
77 IMLangCodePages* This,
78 WCHAR chSrc,
79 DWORD* pdwCodePages);
81 HRESULT (STDMETHODCALLTYPE *GetStrCodePages)(
82 IMLangCodePages* This,
83 const WCHAR* pszSrc,
84 long cchSrc,
85 DWORD dwPriorityCodePages,
86 DWORD* pdwCodePages,
87 long* pcchCodePages);
89 HRESULT (STDMETHODCALLTYPE *CodePageToCodePages)(
90 IMLangCodePages* This,
91 UINT uCodePage,
92 DWORD* pdwCodePages);
94 HRESULT (STDMETHODCALLTYPE *CodePagesToCodePage)(
95 IMLangCodePages* This,
96 DWORD dwCodePages,
97 UINT uDefaultCodePage,
98 UINT* puCodePage);
100 END_INTERFACE
103 #ifdef COBJMACROS
104 /*** IUnknown methods ***/
105 #define IMLangCodePages_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
106 #define IMLangCodePages_AddRef(p) (p)->lpVtbl->AddRef(p)
107 #define IMLangCodePages_Release(p) (p)->lpVtbl->Release(p)
108 /*** IMLangCodePages methods ***/
109 #define IMLangCodePages_GetCharCodePages(p,a,b) (p)->lpVtbl->GetCharCodePages(p,a,b)
110 #define IMLangCodePages_GetStrCodePages(p,a,b,c,d,e) (p)->lpVtbl->GetStrCodePages(p,a,b,c,d,e)
111 #define IMLangCodePages_CodePageToCodePages(p,a,b) (p)->lpVtbl->CodePageToCodePages(p,a,b)
112 #define IMLangCodePages_CodePagesToCodePage(p,a,b,c) (p)->lpVtbl->CodePagesToCodePage(p,a,b,c)
113 #endif
115 #endif
117 #define IMLangCodePages_METHODS \
118 /*** IUnknown methods ***/ \
119 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
120 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
121 STDMETHOD_(ULONG,Release)(THIS) PURE; \
122 /*** IMLangCodePages methods ***/ \
123 STDMETHOD_(HRESULT,GetCharCodePages)(THIS_ WCHAR chSrc, DWORD* pdwCodePages) PURE; \
124 STDMETHOD_(HRESULT,GetStrCodePages)(THIS_ const WCHAR* pszSrc, long cchSrc, DWORD dwPriorityCodePages, DWORD* pdwCodePages, long* pcchCodePages) PURE; \
125 STDMETHOD_(HRESULT,CodePageToCodePages)(THIS_ UINT uCodePage, DWORD* pdwCodePages) PURE; \
126 STDMETHOD_(HRESULT,CodePagesToCodePage)(THIS_ DWORD dwCodePages, UINT uDefaultCodePage, UINT* puCodePage) PURE;
128 HRESULT CALLBACK IMLangCodePages_GetCharCodePages_Proxy(
129 IMLangCodePages* This,
130 WCHAR chSrc,
131 DWORD* pdwCodePages);
132 void __RPC_STUB IMLangCodePages_GetCharCodePages_Stub(
133 struct IRpcStubBuffer* This,
134 struct IRpcChannelBuffer* pRpcChannelBuffer,
135 PRPC_MESSAGE pRpcMessage,
136 DWORD* pdwStubPhase);
137 HRESULT CALLBACK IMLangCodePages_GetStrCodePages_Proxy(
138 IMLangCodePages* This,
139 const WCHAR* pszSrc,
140 long cchSrc,
141 DWORD dwPriorityCodePages,
142 DWORD* pdwCodePages,
143 long* pcchCodePages);
144 void __RPC_STUB IMLangCodePages_GetStrCodePages_Stub(
145 struct IRpcStubBuffer* This,
146 struct IRpcChannelBuffer* pRpcChannelBuffer,
147 PRPC_MESSAGE pRpcMessage,
148 DWORD* pdwStubPhase);
149 HRESULT CALLBACK IMLangCodePages_CodePageToCodePages_Proxy(
150 IMLangCodePages* This,
151 UINT uCodePage,
152 DWORD* pdwCodePages);
153 void __RPC_STUB IMLangCodePages_CodePageToCodePages_Stub(
154 struct IRpcStubBuffer* This,
155 struct IRpcChannelBuffer* pRpcChannelBuffer,
156 PRPC_MESSAGE pRpcMessage,
157 DWORD* pdwStubPhase);
158 HRESULT CALLBACK IMLangCodePages_CodePagesToCodePage_Proxy(
159 IMLangCodePages* This,
160 DWORD dwCodePages,
161 UINT uDefaultCodePage,
162 UINT* puCodePage);
163 void __RPC_STUB IMLangCodePages_CodePagesToCodePage_Stub(
164 struct IRpcStubBuffer* This,
165 struct IRpcChannelBuffer* pRpcChannelBuffer,
166 PRPC_MESSAGE pRpcMessage,
167 DWORD* pdwStubPhase);
169 #endif /* __IMLangCodePages_INTERFACE_DEFINED__ */
171 #ifndef __IMLangFontLink_FWD_DEFINED__
172 #define __IMLangFontLink_FWD_DEFINED__
173 typedef struct IMLangFontLink IMLangFontLink;
174 #endif
176 /*****************************************************************************
177 * IMLangFontLink interface
179 #ifndef __IMLangFontLink_INTERFACE_DEFINED__
180 #define __IMLangFontLink_INTERFACE_DEFINED__
182 #if defined(__cplusplus) && !defined(CINTERFACE)
183 struct IMLangFontLink : public IMLangCodePages
185 virtual HRESULT STDMETHODCALLTYPE GetFontCodePages(
186 HDC hDC,
187 HFONT hFont,
188 DWORD* pdwCodePages) = 0;
190 virtual HRESULT STDMETHODCALLTYPE MapFont(
191 HDC hDC,
192 DWORD dwCodePages,
193 HFONT hSrcFont,
194 HFONT* phDestFont) = 0;
196 virtual HRESULT STDMETHODCALLTYPE ReleaseFont(
197 HFONT hFont) = 0;
199 virtual HRESULT STDMETHODCALLTYPE ResetFontMapping(
200 ) = 0;
203 #else
204 typedef struct IMLangFontLinkVtbl IMLangFontLinkVtbl;
205 struct IMLangFontLink {
206 const IMLangFontLinkVtbl* lpVtbl;
208 struct IMLangFontLinkVtbl {
209 BEGIN_INTERFACE
211 /*** IUnknown methods ***/
212 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
213 IMLangFontLink* This,
214 REFIID riid,
215 void** ppvObject);
217 ULONG (STDMETHODCALLTYPE *AddRef)(
218 IMLangFontLink* This);
220 ULONG (STDMETHODCALLTYPE *Release)(
221 IMLangFontLink* This);
223 /*** IMLangCodePages methods ***/
224 HRESULT (STDMETHODCALLTYPE *GetCharCodePages)(
225 IMLangFontLink* This,
226 WCHAR chSrc,
227 DWORD* pdwCodePages);
229 HRESULT (STDMETHODCALLTYPE *GetStrCodePages)(
230 IMLangFontLink* This,
231 const WCHAR* pszSrc,
232 long cchSrc,
233 DWORD dwPriorityCodePages,
234 DWORD* pdwCodePages,
235 long* pcchCodePages);
237 HRESULT (STDMETHODCALLTYPE *CodePageToCodePages)(
238 IMLangFontLink* This,
239 UINT uCodePage,
240 DWORD* pdwCodePages);
242 HRESULT (STDMETHODCALLTYPE *CodePagesToCodePage)(
243 IMLangFontLink* This,
244 DWORD dwCodePages,
245 UINT uDefaultCodePage,
246 UINT* puCodePage);
248 /*** IMLangFontLink methods ***/
249 HRESULT (STDMETHODCALLTYPE *GetFontCodePages)(
250 IMLangFontLink* This,
251 HDC hDC,
252 HFONT hFont,
253 DWORD* pdwCodePages);
255 HRESULT (STDMETHODCALLTYPE *MapFont)(
256 IMLangFontLink* This,
257 HDC hDC,
258 DWORD dwCodePages,
259 HFONT hSrcFont,
260 HFONT* phDestFont);
262 HRESULT (STDMETHODCALLTYPE *ReleaseFont)(
263 IMLangFontLink* This,
264 HFONT hFont);
266 HRESULT (STDMETHODCALLTYPE *ResetFontMapping)(
267 IMLangFontLink* This);
269 END_INTERFACE
272 #ifdef COBJMACROS
273 /*** IUnknown methods ***/
274 #define IMLangFontLink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
275 #define IMLangFontLink_AddRef(p) (p)->lpVtbl->AddRef(p)
276 #define IMLangFontLink_Release(p) (p)->lpVtbl->Release(p)
277 /*** IMLangCodePages methods ***/
278 #define IMLangFontLink_GetCharCodePages(p,a,b) (p)->lpVtbl->GetCharCodePages(p,a,b)
279 #define IMLangFontLink_GetStrCodePages(p,a,b,c,d,e) (p)->lpVtbl->GetStrCodePages(p,a,b,c,d,e)
280 #define IMLangFontLink_CodePageToCodePages(p,a,b) (p)->lpVtbl->CodePageToCodePages(p,a,b)
281 #define IMLangFontLink_CodePagesToCodePage(p,a,b,c) (p)->lpVtbl->CodePagesToCodePage(p,a,b,c)
282 /*** IMLangFontLink methods ***/
283 #define IMLangFontLink_GetFontCodePages(p,a,b,c) (p)->lpVtbl->GetFontCodePages(p,a,b,c)
284 #define IMLangFontLink_MapFont(p,a,b,c,d) (p)->lpVtbl->MapFont(p,a,b,c,d)
285 #define IMLangFontLink_ReleaseFont(p,a) (p)->lpVtbl->ReleaseFont(p,a)
286 #define IMLangFontLink_ResetFontMapping(p) (p)->lpVtbl->ResetFontMapping(p)
287 #endif
289 #endif
291 #define IMLangFontLink_METHODS \
292 /*** IUnknown methods ***/ \
293 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
294 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
295 STDMETHOD_(ULONG,Release)(THIS) PURE; \
296 /*** IMLangCodePages methods ***/ \
297 STDMETHOD_(HRESULT,GetCharCodePages)(THIS_ WCHAR chSrc, DWORD* pdwCodePages) PURE; \
298 STDMETHOD_(HRESULT,GetStrCodePages)(THIS_ const WCHAR* pszSrc, long cchSrc, DWORD dwPriorityCodePages, DWORD* pdwCodePages, long* pcchCodePages) PURE; \
299 STDMETHOD_(HRESULT,CodePageToCodePages)(THIS_ UINT uCodePage, DWORD* pdwCodePages) PURE; \
300 STDMETHOD_(HRESULT,CodePagesToCodePage)(THIS_ DWORD dwCodePages, UINT uDefaultCodePage, UINT* puCodePage) PURE; \
301 /*** IMLangFontLink methods ***/ \
302 STDMETHOD_(HRESULT,GetFontCodePages)(THIS_ HDC hDC, HFONT hFont, DWORD* pdwCodePages) PURE; \
303 STDMETHOD_(HRESULT,MapFont)(THIS_ HDC hDC, DWORD dwCodePages, HFONT hSrcFont, HFONT* phDestFont) PURE; \
304 STDMETHOD_(HRESULT,ReleaseFont)(THIS_ HFONT hFont) PURE; \
305 STDMETHOD_(HRESULT,ResetFontMapping)(THIS) PURE;
307 HRESULT CALLBACK IMLangFontLink_GetFontCodePages_Proxy(
308 IMLangFontLink* This,
309 HDC hDC,
310 HFONT hFont,
311 DWORD* pdwCodePages);
312 void __RPC_STUB IMLangFontLink_GetFontCodePages_Stub(
313 struct IRpcStubBuffer* This,
314 struct IRpcChannelBuffer* pRpcChannelBuffer,
315 PRPC_MESSAGE pRpcMessage,
316 DWORD* pdwStubPhase);
317 HRESULT CALLBACK IMLangFontLink_MapFont_Proxy(
318 IMLangFontLink* This,
319 HDC hDC,
320 DWORD dwCodePages,
321 HFONT hSrcFont,
322 HFONT* phDestFont);
323 void __RPC_STUB IMLangFontLink_MapFont_Stub(
324 struct IRpcStubBuffer* This,
325 struct IRpcChannelBuffer* pRpcChannelBuffer,
326 PRPC_MESSAGE pRpcMessage,
327 DWORD* pdwStubPhase);
328 HRESULT CALLBACK IMLangFontLink_ReleaseFont_Proxy(
329 IMLangFontLink* This,
330 HFONT hFont);
331 void __RPC_STUB IMLangFontLink_ReleaseFont_Stub(
332 struct IRpcStubBuffer* This,
333 struct IRpcChannelBuffer* pRpcChannelBuffer,
334 PRPC_MESSAGE pRpcMessage,
335 DWORD* pdwStubPhase);
336 HRESULT CALLBACK IMLangFontLink_ResetFontMapping_Proxy(
337 IMLangFontLink* This);
338 void __RPC_STUB IMLangFontLink_ResetFontMapping_Stub(
339 struct IRpcStubBuffer* This,
340 struct IRpcChannelBuffer* pRpcChannelBuffer,
341 PRPC_MESSAGE pRpcMessage,
342 DWORD* pdwStubPhase);
344 #endif /* __IMLangFontLink_INTERFACE_DEFINED__ */
346 #ifndef __IEnumScript_FWD_DEFINED__
347 #define __IEnumScript_FWD_DEFINED__
348 typedef struct IEnumScript IEnumScript;
349 #endif
351 #define MAX_SCRIPT_NAME (48)
353 #define MAX_MIMEFACE_NAME (32)
355 typedef BYTE SCRIPT_ID;
357 typedef __int64 SCRIPT_IDS;
359 typedef enum tagSCRIPTCONTF {
360 sidDefault = 0,
361 sidMerge = sidDefault + 1,
362 sidAsciiSym = sidMerge + 1,
363 sidAsciiLatin = sidAsciiSym + 1,
364 sidLatin = sidAsciiLatin + 1,
365 sidGreek = sidLatin + 1,
366 sidCyrillic = sidGreek + 1,
367 sidArmenian = sidCyrillic + 1,
368 sidHebrew = sidArmenian + 1,
369 sidArabic = sidHebrew + 1,
370 sidDevanagari = sidArabic + 1,
371 sidBengali = sidDevanagari + 1,
372 sidGurmukhi = sidBengali + 1,
373 sidGujarati = sidGurmukhi + 1,
374 sidOriya = sidGujarati + 1,
375 sidTamil = sidOriya + 1,
376 sidTelugu = sidTamil + 1,
377 sidKannada = sidTelugu + 1,
378 sidMalayalam = sidKannada + 1,
379 sidThai = sidMalayalam + 1,
380 sidLao = sidThai + 1,
381 sidTibetan = sidLao + 1,
382 sidGeorgian = sidTibetan + 1,
383 sidHangul = sidGeorgian + 1,
384 sidKana = sidHangul + 1,
385 sidBopomofo = sidKana + 1,
386 sidHan = sidBopomofo + 1,
387 sidEthiopic = sidHan + 1,
388 sidCanSyllabic = sidEthiopic + 1,
389 sidCherokee = sidCanSyllabic + 1,
390 sidYi = sidCherokee + 1,
391 sidBraille = sidYi + 1,
392 sidRunic = sidBraille + 1,
393 sidOgham = sidRunic + 1,
394 sidSinhala = sidOgham + 1,
395 sidSyriac = sidSinhala + 1,
396 sidBurmese = sidSyriac + 1,
397 sidKhmer = sidBurmese + 1,
398 sidThaana = sidKhmer + 1,
399 sidMongolian = sidThaana + 1,
400 sidUserDefined = sidMongolian + 1,
401 sidLim = sidUserDefined + 1,
402 sidFEFirst = sidHangul,
403 sidFELast = sidHan
404 } SCRIPTCONTF;
406 typedef enum tagSCRIPTFONTCONTF {
407 SCRIPTCONTF_FIXED_FONT = 0x1,
408 SCRIPTCONTF_PROPORTIONAL_FONT = 0x2,
409 SCRIPTCONTF_SCRIPT_USER = 0x10000,
410 SCRIPTCONTF_SCRIPT_HIDE = 0x20000,
411 SCRIPTCONTF_SCRIPT_SYSTEM = 0x40000
412 } SCRIPTFONTCONTF;
414 typedef struct tagSCRIPFONTINFO {
415 SCRIPT_IDS scripts;
416 WCHAR wszFont[32];
417 } SCRIPTFONTINFO, *PSCRIPTFONTINFO;
419 typedef struct tagSCRIPTINFO {
420 SCRIPT_ID ScriptId;
421 UINT uiCodePage;
422 WCHAR wszDescription[48];
423 WCHAR wszFixedWidthFont[32];
424 WCHAR wszProportionalFont[32];
425 } SCRIPTINFO, *PSCRIPTINFO;
427 /*****************************************************************************
428 * IEnumScript interface
430 #ifndef __IEnumScript_INTERFACE_DEFINED__
431 #define __IEnumScript_INTERFACE_DEFINED__
433 #if defined(__cplusplus) && !defined(CINTERFACE)
434 struct IEnumScript : public IUnknown
436 virtual HRESULT STDMETHODCALLTYPE Clone(
437 IEnumScript** ppEnum) = 0;
439 virtual HRESULT STDMETHODCALLTYPE Next(
440 ULONG celt,
441 PSCRIPTINFO rgelt,
442 ULONG* pceltFetched) = 0;
444 virtual HRESULT STDMETHODCALLTYPE Reset(
445 ) = 0;
447 virtual HRESULT STDMETHODCALLTYPE Skip(
448 ULONG celt) = 0;
451 #else
452 typedef struct IEnumScriptVtbl IEnumScriptVtbl;
453 struct IEnumScript {
454 const IEnumScriptVtbl* lpVtbl;
456 struct IEnumScriptVtbl {
457 BEGIN_INTERFACE
459 /*** IUnknown methods ***/
460 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
461 IEnumScript* This,
462 REFIID riid,
463 void** ppvObject);
465 ULONG (STDMETHODCALLTYPE *AddRef)(
466 IEnumScript* This);
468 ULONG (STDMETHODCALLTYPE *Release)(
469 IEnumScript* This);
471 /*** IEnumScript methods ***/
472 HRESULT (STDMETHODCALLTYPE *Clone)(
473 IEnumScript* This,
474 IEnumScript** ppEnum);
476 HRESULT (STDMETHODCALLTYPE *Next)(
477 IEnumScript* This,
478 ULONG celt,
479 PSCRIPTINFO rgelt,
480 ULONG* pceltFetched);
482 HRESULT (STDMETHODCALLTYPE *Reset)(
483 IEnumScript* This);
485 HRESULT (STDMETHODCALLTYPE *Skip)(
486 IEnumScript* This,
487 ULONG celt);
489 END_INTERFACE
492 #ifdef COBJMACROS
493 /*** IUnknown methods ***/
494 #define IEnumScript_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
495 #define IEnumScript_AddRef(p) (p)->lpVtbl->AddRef(p)
496 #define IEnumScript_Release(p) (p)->lpVtbl->Release(p)
497 /*** IEnumScript methods ***/
498 #define IEnumScript_Clone(p,a) (p)->lpVtbl->Clone(p,a)
499 #define IEnumScript_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
500 #define IEnumScript_Reset(p) (p)->lpVtbl->Reset(p)
501 #define IEnumScript_Skip(p,a) (p)->lpVtbl->Skip(p,a)
502 #endif
504 #endif
506 #define IEnumScript_METHODS \
507 /*** IUnknown methods ***/ \
508 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
509 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
510 STDMETHOD_(ULONG,Release)(THIS) PURE; \
511 /*** IEnumScript methods ***/ \
512 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumScript** ppEnum) PURE; \
513 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, PSCRIPTINFO rgelt, ULONG* pceltFetched) PURE; \
514 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
515 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
517 HRESULT CALLBACK IEnumScript_Clone_Proxy(
518 IEnumScript* This,
519 IEnumScript** ppEnum);
520 void __RPC_STUB IEnumScript_Clone_Stub(
521 struct IRpcStubBuffer* This,
522 struct IRpcChannelBuffer* pRpcChannelBuffer,
523 PRPC_MESSAGE pRpcMessage,
524 DWORD* pdwStubPhase);
525 HRESULT CALLBACK IEnumScript_Next_Proxy(
526 IEnumScript* This,
527 ULONG celt,
528 PSCRIPTINFO rgelt,
529 ULONG* pceltFetched);
530 void __RPC_STUB IEnumScript_Next_Stub(
531 struct IRpcStubBuffer* This,
532 struct IRpcChannelBuffer* pRpcChannelBuffer,
533 PRPC_MESSAGE pRpcMessage,
534 DWORD* pdwStubPhase);
535 HRESULT CALLBACK IEnumScript_Reset_Proxy(
536 IEnumScript* This);
537 void __RPC_STUB IEnumScript_Reset_Stub(
538 struct IRpcStubBuffer* This,
539 struct IRpcChannelBuffer* pRpcChannelBuffer,
540 PRPC_MESSAGE pRpcMessage,
541 DWORD* pdwStubPhase);
542 HRESULT CALLBACK IEnumScript_Skip_Proxy(
543 IEnumScript* This,
544 ULONG celt);
545 void __RPC_STUB IEnumScript_Skip_Stub(
546 struct IRpcStubBuffer* This,
547 struct IRpcChannelBuffer* pRpcChannelBuffer,
548 PRPC_MESSAGE pRpcMessage,
549 DWORD* pdwStubPhase);
551 #endif /* __IEnumScript_INTERFACE_DEFINED__ */
553 #ifndef __IEnumCodePage_FWD_DEFINED__
554 #define __IEnumCodePage_FWD_DEFINED__
555 typedef struct IEnumCodePage IEnumCodePage;
556 #endif
558 #define MAX_MIMECP_NAME (64)
560 #define MAX_MIMECSET_NAME (50)
562 typedef enum tagMIMECONTF {
563 MIMECONTF_MAILNEWS = 0x1,
564 MIMECONTF_BROWSER = 0x2,
565 MIMECONTF_MINIMAL = 0x4,
566 MIMECONTF_IMPORT = 0x8,
567 MIMECONTF_SAVABLE_MAILNEWS = 0x100,
568 MIMECONTF_SAVABLE_BROWSER = 0x200,
569 MIMECONTF_EXPORT = 0x400,
570 MIMECONTF_PRIVCONVERTER = 0x10000,
571 MIMECONTF_VALID = 0x20000,
572 MIMECONTF_VALID_NLS = 0x40000,
573 MIMECONTF_MIME_IE4 = 0x10000000,
574 MIMECONTF_MIME_LATEST = 0x20000000,
575 MIMECONTF_MIME_REGISTRY = 0x40000000
576 } MIMECONTF;
578 typedef struct tagMIMECPINFO {
579 DWORD dwFlags;
580 UINT uiCodePage;
581 UINT uiFamilyCodePage;
582 WCHAR wszDescription[64];
583 WCHAR wszWebCharset[50];
584 WCHAR wszHeaderCharset[50];
585 WCHAR wszBodyCharset[50];
586 WCHAR wszFixedWidthFont[32];
587 WCHAR wszProportionalFont[32];
588 BYTE bGDICharset;
589 } MIMECPINFO, *PMIMECPINFO;
591 typedef struct tagMIMECSETINFO {
592 UINT uiCodePage;
593 UINT uiInternetEncoding;
594 WCHAR wszCharset[50];
595 } MIMECSETINFO, *PMIMECSETINFO;
597 /*****************************************************************************
598 * IEnumCodePage interface
600 #ifndef __IEnumCodePage_INTERFACE_DEFINED__
601 #define __IEnumCodePage_INTERFACE_DEFINED__
603 #if defined(__cplusplus) && !defined(CINTERFACE)
604 struct IEnumCodePage : public IUnknown
606 virtual HRESULT STDMETHODCALLTYPE Clone(
607 IEnumCodePage** ppEnum) = 0;
609 virtual HRESULT STDMETHODCALLTYPE Next(
610 ULONG celt,
611 PMIMECPINFO rgelt,
612 ULONG* pceltFetched) = 0;
614 virtual HRESULT STDMETHODCALLTYPE Reset(
615 ) = 0;
617 virtual HRESULT STDMETHODCALLTYPE Skip(
618 ULONG celt) = 0;
621 #else
622 typedef struct IEnumCodePageVtbl IEnumCodePageVtbl;
623 struct IEnumCodePage {
624 const IEnumCodePageVtbl* lpVtbl;
626 struct IEnumCodePageVtbl {
627 BEGIN_INTERFACE
629 /*** IUnknown methods ***/
630 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
631 IEnumCodePage* This,
632 REFIID riid,
633 void** ppvObject);
635 ULONG (STDMETHODCALLTYPE *AddRef)(
636 IEnumCodePage* This);
638 ULONG (STDMETHODCALLTYPE *Release)(
639 IEnumCodePage* This);
641 /*** IEnumCodePage methods ***/
642 HRESULT (STDMETHODCALLTYPE *Clone)(
643 IEnumCodePage* This,
644 IEnumCodePage** ppEnum);
646 HRESULT (STDMETHODCALLTYPE *Next)(
647 IEnumCodePage* This,
648 ULONG celt,
649 PMIMECPINFO rgelt,
650 ULONG* pceltFetched);
652 HRESULT (STDMETHODCALLTYPE *Reset)(
653 IEnumCodePage* This);
655 HRESULT (STDMETHODCALLTYPE *Skip)(
656 IEnumCodePage* This,
657 ULONG celt);
659 END_INTERFACE
662 #ifdef COBJMACROS
663 /*** IUnknown methods ***/
664 #define IEnumCodePage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
665 #define IEnumCodePage_AddRef(p) (p)->lpVtbl->AddRef(p)
666 #define IEnumCodePage_Release(p) (p)->lpVtbl->Release(p)
667 /*** IEnumCodePage methods ***/
668 #define IEnumCodePage_Clone(p,a) (p)->lpVtbl->Clone(p,a)
669 #define IEnumCodePage_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
670 #define IEnumCodePage_Reset(p) (p)->lpVtbl->Reset(p)
671 #define IEnumCodePage_Skip(p,a) (p)->lpVtbl->Skip(p,a)
672 #endif
674 #endif
676 #define IEnumCodePage_METHODS \
677 /*** IUnknown methods ***/ \
678 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
679 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
680 STDMETHOD_(ULONG,Release)(THIS) PURE; \
681 /*** IEnumCodePage methods ***/ \
682 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumCodePage** ppEnum) PURE; \
683 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, PMIMECPINFO rgelt, ULONG* pceltFetched) PURE; \
684 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
685 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
687 HRESULT CALLBACK IEnumCodePage_Clone_Proxy(
688 IEnumCodePage* This,
689 IEnumCodePage** ppEnum);
690 void __RPC_STUB IEnumCodePage_Clone_Stub(
691 struct IRpcStubBuffer* This,
692 struct IRpcChannelBuffer* pRpcChannelBuffer,
693 PRPC_MESSAGE pRpcMessage,
694 DWORD* pdwStubPhase);
695 HRESULT CALLBACK IEnumCodePage_Next_Proxy(
696 IEnumCodePage* This,
697 ULONG celt,
698 PMIMECPINFO rgelt,
699 ULONG* pceltFetched);
700 void __RPC_STUB IEnumCodePage_Next_Stub(
701 struct IRpcStubBuffer* This,
702 struct IRpcChannelBuffer* pRpcChannelBuffer,
703 PRPC_MESSAGE pRpcMessage,
704 DWORD* pdwStubPhase);
705 HRESULT CALLBACK IEnumCodePage_Reset_Proxy(
706 IEnumCodePage* This);
707 void __RPC_STUB IEnumCodePage_Reset_Stub(
708 struct IRpcStubBuffer* This,
709 struct IRpcChannelBuffer* pRpcChannelBuffer,
710 PRPC_MESSAGE pRpcMessage,
711 DWORD* pdwStubPhase);
712 HRESULT CALLBACK IEnumCodePage_Skip_Proxy(
713 IEnumCodePage* This,
714 ULONG celt);
715 void __RPC_STUB IEnumCodePage_Skip_Stub(
716 struct IRpcStubBuffer* This,
717 struct IRpcChannelBuffer* pRpcChannelBuffer,
718 PRPC_MESSAGE pRpcMessage,
719 DWORD* pdwStubPhase);
721 #endif /* __IEnumCodePage_INTERFACE_DEFINED__ */
723 #ifndef __IMLangConvertCharset_FWD_DEFINED__
724 #define __IMLangConvertCharset_FWD_DEFINED__
725 typedef struct IMLangConvertCharset IMLangConvertCharset;
726 #endif
728 /*****************************************************************************
729 * IMLangConvertCharset interface
731 #ifndef __IMLangConvertCharset_INTERFACE_DEFINED__
732 #define __IMLangConvertCharset_INTERFACE_DEFINED__
734 #if defined(__cplusplus) && !defined(CINTERFACE)
735 struct IMLangConvertCharset : public IUnknown
737 virtual HRESULT STDMETHODCALLTYPE Initialize(
738 UINT uiSrcCodePage,
739 UINT uiDstCodePage,
740 DWORD dwProperty) = 0;
742 virtual HRESULT STDMETHODCALLTYPE GetSourceCodePage(
743 UINT* puiSrcCodePage) = 0;
745 virtual HRESULT STDMETHODCALLTYPE GetDestinationCodePage(
746 UINT* puiDstCodePage) = 0;
748 virtual HRESULT STDMETHODCALLTYPE GetProperty(
749 DWORD* pdwProperty) = 0;
751 virtual HRESULT STDMETHODCALLTYPE DoConversion(
752 BYTE* pSrcStr,
753 UINT* pcSrcSize,
754 BYTE* pDstStr,
755 UINT* pcDstSize) = 0;
757 virtual HRESULT STDMETHODCALLTYPE DoConversionToUnicode(
758 CHAR* pSrcStr,
759 UINT* pcSrcSize,
760 WCHAR* pDstStr,
761 UINT* pcDstSize) = 0;
763 virtual HRESULT STDMETHODCALLTYPE DoConversionFromUnicode(
764 WCHAR* pSrcStr,
765 UINT* pcSrcSize,
766 CHAR* pDstStr,
767 UINT* pcDstSize) = 0;
770 #else
771 typedef struct IMLangConvertCharsetVtbl IMLangConvertCharsetVtbl;
772 struct IMLangConvertCharset {
773 const IMLangConvertCharsetVtbl* lpVtbl;
775 struct IMLangConvertCharsetVtbl {
776 BEGIN_INTERFACE
778 /*** IUnknown methods ***/
779 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
780 IMLangConvertCharset* This,
781 REFIID riid,
782 void** ppvObject);
784 ULONG (STDMETHODCALLTYPE *AddRef)(
785 IMLangConvertCharset* This);
787 ULONG (STDMETHODCALLTYPE *Release)(
788 IMLangConvertCharset* This);
790 /*** IMLangConvertCharset methods ***/
791 HRESULT (STDMETHODCALLTYPE *Initialize)(
792 IMLangConvertCharset* This,
793 UINT uiSrcCodePage,
794 UINT uiDstCodePage,
795 DWORD dwProperty);
797 HRESULT (STDMETHODCALLTYPE *GetSourceCodePage)(
798 IMLangConvertCharset* This,
799 UINT* puiSrcCodePage);
801 HRESULT (STDMETHODCALLTYPE *GetDestinationCodePage)(
802 IMLangConvertCharset* This,
803 UINT* puiDstCodePage);
805 HRESULT (STDMETHODCALLTYPE *GetProperty)(
806 IMLangConvertCharset* This,
807 DWORD* pdwProperty);
809 HRESULT (STDMETHODCALLTYPE *DoConversion)(
810 IMLangConvertCharset* This,
811 BYTE* pSrcStr,
812 UINT* pcSrcSize,
813 BYTE* pDstStr,
814 UINT* pcDstSize);
816 HRESULT (STDMETHODCALLTYPE *DoConversionToUnicode)(
817 IMLangConvertCharset* This,
818 CHAR* pSrcStr,
819 UINT* pcSrcSize,
820 WCHAR* pDstStr,
821 UINT* pcDstSize);
823 HRESULT (STDMETHODCALLTYPE *DoConversionFromUnicode)(
824 IMLangConvertCharset* This,
825 WCHAR* pSrcStr,
826 UINT* pcSrcSize,
827 CHAR* pDstStr,
828 UINT* pcDstSize);
830 END_INTERFACE
833 #ifdef COBJMACROS
834 /*** IUnknown methods ***/
835 #define IMLangConvertCharset_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
836 #define IMLangConvertCharset_AddRef(p) (p)->lpVtbl->AddRef(p)
837 #define IMLangConvertCharset_Release(p) (p)->lpVtbl->Release(p)
838 /*** IMLangConvertCharset methods ***/
839 #define IMLangConvertCharset_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
840 #define IMLangConvertCharset_GetSourceCodePage(p,a) (p)->lpVtbl->GetSourceCodePage(p,a)
841 #define IMLangConvertCharset_GetDestinationCodePage(p,a) (p)->lpVtbl->GetDestinationCodePage(p,a)
842 #define IMLangConvertCharset_GetProperty(p,a) (p)->lpVtbl->GetProperty(p,a)
843 #define IMLangConvertCharset_DoConversion(p,a,b,c,d) (p)->lpVtbl->DoConversion(p,a,b,c,d)
844 #define IMLangConvertCharset_DoConversionToUnicode(p,a,b,c,d) (p)->lpVtbl->DoConversionToUnicode(p,a,b,c,d)
845 #define IMLangConvertCharset_DoConversionFromUnicode(p,a,b,c,d) (p)->lpVtbl->DoConversionFromUnicode(p,a,b,c,d)
846 #endif
848 #endif
850 #define IMLangConvertCharset_METHODS \
851 /*** IUnknown methods ***/ \
852 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
853 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
854 STDMETHOD_(ULONG,Release)(THIS) PURE; \
855 /*** IMLangConvertCharset methods ***/ \
856 STDMETHOD_(HRESULT,Initialize)(THIS_ UINT uiSrcCodePage, UINT uiDstCodePage, DWORD dwProperty) PURE; \
857 STDMETHOD_(HRESULT,GetSourceCodePage)(THIS_ UINT* puiSrcCodePage) PURE; \
858 STDMETHOD_(HRESULT,GetDestinationCodePage)(THIS_ UINT* puiDstCodePage) PURE; \
859 STDMETHOD_(HRESULT,GetProperty)(THIS_ DWORD* pdwProperty) PURE; \
860 STDMETHOD_(HRESULT,DoConversion)(THIS_ BYTE* pSrcStr, UINT* pcSrcSize, BYTE* pDstStr, UINT* pcDstSize) PURE; \
861 STDMETHOD_(HRESULT,DoConversionToUnicode)(THIS_ CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize) PURE; \
862 STDMETHOD_(HRESULT,DoConversionFromUnicode)(THIS_ WCHAR* pSrcStr, UINT* pcSrcSize, CHAR* pDstStr, UINT* pcDstSize) PURE;
864 HRESULT CALLBACK IMLangConvertCharset_Initialize_Proxy(
865 IMLangConvertCharset* This,
866 UINT uiSrcCodePage,
867 UINT uiDstCodePage,
868 DWORD dwProperty);
869 void __RPC_STUB IMLangConvertCharset_Initialize_Stub(
870 struct IRpcStubBuffer* This,
871 struct IRpcChannelBuffer* pRpcChannelBuffer,
872 PRPC_MESSAGE pRpcMessage,
873 DWORD* pdwStubPhase);
874 HRESULT CALLBACK IMLangConvertCharset_GetSourceCodePage_Proxy(
875 IMLangConvertCharset* This,
876 UINT* puiSrcCodePage);
877 void __RPC_STUB IMLangConvertCharset_GetSourceCodePage_Stub(
878 struct IRpcStubBuffer* This,
879 struct IRpcChannelBuffer* pRpcChannelBuffer,
880 PRPC_MESSAGE pRpcMessage,
881 DWORD* pdwStubPhase);
882 HRESULT CALLBACK IMLangConvertCharset_GetDestinationCodePage_Proxy(
883 IMLangConvertCharset* This,
884 UINT* puiDstCodePage);
885 void __RPC_STUB IMLangConvertCharset_GetDestinationCodePage_Stub(
886 struct IRpcStubBuffer* This,
887 struct IRpcChannelBuffer* pRpcChannelBuffer,
888 PRPC_MESSAGE pRpcMessage,
889 DWORD* pdwStubPhase);
890 HRESULT CALLBACK IMLangConvertCharset_GetProperty_Proxy(
891 IMLangConvertCharset* This,
892 DWORD* pdwProperty);
893 void __RPC_STUB IMLangConvertCharset_GetProperty_Stub(
894 struct IRpcStubBuffer* This,
895 struct IRpcChannelBuffer* pRpcChannelBuffer,
896 PRPC_MESSAGE pRpcMessage,
897 DWORD* pdwStubPhase);
898 HRESULT CALLBACK IMLangConvertCharset_DoConversion_Proxy(
899 IMLangConvertCharset* This,
900 BYTE* pSrcStr,
901 UINT* pcSrcSize,
902 BYTE* pDstStr,
903 UINT* pcDstSize);
904 void __RPC_STUB IMLangConvertCharset_DoConversion_Stub(
905 struct IRpcStubBuffer* This,
906 struct IRpcChannelBuffer* pRpcChannelBuffer,
907 PRPC_MESSAGE pRpcMessage,
908 DWORD* pdwStubPhase);
909 HRESULT CALLBACK IMLangConvertCharset_DoConversionToUnicode_Proxy(
910 IMLangConvertCharset* This,
911 CHAR* pSrcStr,
912 UINT* pcSrcSize,
913 WCHAR* pDstStr,
914 UINT* pcDstSize);
915 void __RPC_STUB IMLangConvertCharset_DoConversionToUnicode_Stub(
916 struct IRpcStubBuffer* This,
917 struct IRpcChannelBuffer* pRpcChannelBuffer,
918 PRPC_MESSAGE pRpcMessage,
919 DWORD* pdwStubPhase);
920 HRESULT CALLBACK IMLangConvertCharset_DoConversionFromUnicode_Proxy(
921 IMLangConvertCharset* This,
922 WCHAR* pSrcStr,
923 UINT* pcSrcSize,
924 CHAR* pDstStr,
925 UINT* pcDstSize);
926 void __RPC_STUB IMLangConvertCharset_DoConversionFromUnicode_Stub(
927 struct IRpcStubBuffer* This,
928 struct IRpcChannelBuffer* pRpcChannelBuffer,
929 PRPC_MESSAGE pRpcMessage,
930 DWORD* pdwStubPhase);
932 #endif /* __IMLangConvertCharset_INTERFACE_DEFINED__ */
934 #ifndef __IEnumRfc1766_FWD_DEFINED__
935 #define __IEnumRfc1766_FWD_DEFINED__
936 typedef struct IEnumRfc1766 IEnumRfc1766;
937 #endif
939 typedef struct tagRFC1766INFO {
940 LCID lcid;
941 WCHAR wszRfc1766[1];
942 WCHAR wszLocaleName[1];
943 } RFC1766INFO, *PRFC1766INFO;
945 /*****************************************************************************
946 * IEnumRfc1766 interface
948 #ifndef __IEnumRfc1766_INTERFACE_DEFINED__
949 #define __IEnumRfc1766_INTERFACE_DEFINED__
951 #if defined(__cplusplus) && !defined(CINTERFACE)
952 struct IEnumRfc1766 : public IUnknown
954 virtual HRESULT STDMETHODCALLTYPE Clone(
955 IEnumRfc1766** ppEnum) = 0;
957 virtual HRESULT STDMETHODCALLTYPE Next(
958 ULONG celt,
959 PRFC1766INFO rgelt,
960 ULONG* pceltFetched) = 0;
962 virtual HRESULT STDMETHODCALLTYPE Reset(
963 ) = 0;
965 virtual HRESULT STDMETHODCALLTYPE Skip(
966 ULONG celt) = 0;
969 #else
970 typedef struct IEnumRfc1766Vtbl IEnumRfc1766Vtbl;
971 struct IEnumRfc1766 {
972 const IEnumRfc1766Vtbl* lpVtbl;
974 struct IEnumRfc1766Vtbl {
975 BEGIN_INTERFACE
977 /*** IUnknown methods ***/
978 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
979 IEnumRfc1766* This,
980 REFIID riid,
981 void** ppvObject);
983 ULONG (STDMETHODCALLTYPE *AddRef)(
984 IEnumRfc1766* This);
986 ULONG (STDMETHODCALLTYPE *Release)(
987 IEnumRfc1766* This);
989 /*** IEnumRfc1766 methods ***/
990 HRESULT (STDMETHODCALLTYPE *Clone)(
991 IEnumRfc1766* This,
992 IEnumRfc1766** ppEnum);
994 HRESULT (STDMETHODCALLTYPE *Next)(
995 IEnumRfc1766* This,
996 ULONG celt,
997 PRFC1766INFO rgelt,
998 ULONG* pceltFetched);
1000 HRESULT (STDMETHODCALLTYPE *Reset)(
1001 IEnumRfc1766* This);
1003 HRESULT (STDMETHODCALLTYPE *Skip)(
1004 IEnumRfc1766* This,
1005 ULONG celt);
1007 END_INTERFACE
1010 #ifdef COBJMACROS
1011 /*** IUnknown methods ***/
1012 #define IEnumRfc1766_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1013 #define IEnumRfc1766_AddRef(p) (p)->lpVtbl->AddRef(p)
1014 #define IEnumRfc1766_Release(p) (p)->lpVtbl->Release(p)
1015 /*** IEnumRfc1766 methods ***/
1016 #define IEnumRfc1766_Clone(p,a) (p)->lpVtbl->Clone(p,a)
1017 #define IEnumRfc1766_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
1018 #define IEnumRfc1766_Reset(p) (p)->lpVtbl->Reset(p)
1019 #define IEnumRfc1766_Skip(p,a) (p)->lpVtbl->Skip(p,a)
1020 #endif
1022 #endif
1024 #define IEnumRfc1766_METHODS \
1025 /*** IUnknown methods ***/ \
1026 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1027 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1028 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1029 /*** IEnumRfc1766 methods ***/ \
1030 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumRfc1766** ppEnum) PURE; \
1031 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, PRFC1766INFO rgelt, ULONG* pceltFetched) PURE; \
1032 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
1033 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
1035 HRESULT CALLBACK IEnumRfc1766_Clone_Proxy(
1036 IEnumRfc1766* This,
1037 IEnumRfc1766** ppEnum);
1038 void __RPC_STUB IEnumRfc1766_Clone_Stub(
1039 struct IRpcStubBuffer* This,
1040 struct IRpcChannelBuffer* pRpcChannelBuffer,
1041 PRPC_MESSAGE pRpcMessage,
1042 DWORD* pdwStubPhase);
1043 HRESULT CALLBACK IEnumRfc1766_Next_Proxy(
1044 IEnumRfc1766* This,
1045 ULONG celt,
1046 PRFC1766INFO rgelt,
1047 ULONG* pceltFetched);
1048 void __RPC_STUB IEnumRfc1766_Next_Stub(
1049 struct IRpcStubBuffer* This,
1050 struct IRpcChannelBuffer* pRpcChannelBuffer,
1051 PRPC_MESSAGE pRpcMessage,
1052 DWORD* pdwStubPhase);
1053 HRESULT CALLBACK IEnumRfc1766_Reset_Proxy(
1054 IEnumRfc1766* This);
1055 void __RPC_STUB IEnumRfc1766_Reset_Stub(
1056 struct IRpcStubBuffer* This,
1057 struct IRpcChannelBuffer* pRpcChannelBuffer,
1058 PRPC_MESSAGE pRpcMessage,
1059 DWORD* pdwStubPhase);
1060 HRESULT CALLBACK IEnumRfc1766_Skip_Proxy(
1061 IEnumRfc1766* This,
1062 ULONG celt);
1063 void __RPC_STUB IEnumRfc1766_Skip_Stub(
1064 struct IRpcStubBuffer* This,
1065 struct IRpcChannelBuffer* pRpcChannelBuffer,
1066 PRPC_MESSAGE pRpcMessage,
1067 DWORD* pdwStubPhase);
1069 #endif /* __IEnumRfc1766_INTERFACE_DEFINED__ */
1071 #ifndef __IMultiLanguage_FWD_DEFINED__
1072 #define __IMultiLanguage_FWD_DEFINED__
1073 typedef struct IMultiLanguage IMultiLanguage;
1074 #endif
1076 /*****************************************************************************
1077 * IMultiLanguage interface
1079 #ifndef __IMultiLanguage_INTERFACE_DEFINED__
1080 #define __IMultiLanguage_INTERFACE_DEFINED__
1082 #if defined(__cplusplus) && !defined(CINTERFACE)
1083 struct IMultiLanguage : public IUnknown
1085 virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo(
1086 UINT* pcCodePage) = 0;
1088 virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo(
1089 UINT uiCodePage,
1090 PMIMECPINFO pCodePageInfo) = 0;
1092 virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage(
1093 UINT uiCodePage,
1094 UINT* puiFamilyCodePage) = 0;
1096 virtual HRESULT STDMETHODCALLTYPE EnumCodePages(
1097 DWORD grfFlags,
1098 IEnumCodePage** ppEnumCodePage) = 0;
1100 virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo(
1101 BSTR Charset,
1102 PMIMECSETINFO pCharsetInfo) = 0;
1104 virtual HRESULT STDMETHODCALLTYPE IsConvertible(
1105 DWORD dwSrcEncoding,
1106 DWORD dwDstEncoding) = 0;
1108 virtual HRESULT STDMETHODCALLTYPE ConvertString(
1109 DWORD* pdwMode,
1110 DWORD dwSrcEncoding,
1111 DWORD dwDstEncoding,
1112 BYTE* pSrcStr,
1113 UINT* pcSrcSize,
1114 BYTE* pDstStr,
1115 UINT* pcDstSize) = 0;
1117 virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode(
1118 DWORD* pdwMode,
1119 DWORD dwEncoding,
1120 CHAR* pSrcStr,
1121 UINT* pcSrcSize,
1122 WCHAR* pDstStr,
1123 UINT* pcDstSize) = 0;
1125 virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode(
1126 DWORD* pdwMode,
1127 DWORD dwEncoding,
1128 WCHAR* pSrcStr,
1129 UINT* pcSrcSize,
1130 CHAR* pDstStr,
1131 UINT* pcDstSize) = 0;
1133 virtual HRESULT STDMETHODCALLTYPE ConvertStringReset(
1134 ) = 0;
1136 virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid(
1137 LCID Locale,
1138 BSTR* pbstrRfc1766) = 0;
1140 virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766(
1141 LCID* pLocale,
1142 BSTR bstrRfc1766) = 0;
1144 virtual HRESULT STDMETHODCALLTYPE EnumRfc1766(
1145 IEnumRfc1766** ppEnumRfc1766) = 0;
1147 virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info(
1148 LCID Locale,
1149 PRFC1766INFO pRfc1766Info) = 0;
1151 virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset(
1152 UINT uiSrcCodePage,
1153 UINT uiDstCodePage,
1154 DWORD dwProperty,
1155 IMLangConvertCharset** ppMLangConvertCharset) = 0;
1158 #else
1159 typedef struct IMultiLanguageVtbl IMultiLanguageVtbl;
1160 struct IMultiLanguage {
1161 const IMultiLanguageVtbl* lpVtbl;
1163 struct IMultiLanguageVtbl {
1164 BEGIN_INTERFACE
1166 /*** IUnknown methods ***/
1167 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1168 IMultiLanguage* This,
1169 REFIID riid,
1170 void** ppvObject);
1172 ULONG (STDMETHODCALLTYPE *AddRef)(
1173 IMultiLanguage* This);
1175 ULONG (STDMETHODCALLTYPE *Release)(
1176 IMultiLanguage* This);
1178 /*** IMultiLanguage methods ***/
1179 HRESULT (STDMETHODCALLTYPE *GetNumberOfCodePageInfo)(
1180 IMultiLanguage* This,
1181 UINT* pcCodePage);
1183 HRESULT (STDMETHODCALLTYPE *GetCodePageInfo)(
1184 IMultiLanguage* This,
1185 UINT uiCodePage,
1186 PMIMECPINFO pCodePageInfo);
1188 HRESULT (STDMETHODCALLTYPE *GetFamilyCodePage)(
1189 IMultiLanguage* This,
1190 UINT uiCodePage,
1191 UINT* puiFamilyCodePage);
1193 HRESULT (STDMETHODCALLTYPE *EnumCodePages)(
1194 IMultiLanguage* This,
1195 DWORD grfFlags,
1196 IEnumCodePage** ppEnumCodePage);
1198 HRESULT (STDMETHODCALLTYPE *GetCharsetInfo)(
1199 IMultiLanguage* This,
1200 BSTR Charset,
1201 PMIMECSETINFO pCharsetInfo);
1203 HRESULT (STDMETHODCALLTYPE *IsConvertible)(
1204 IMultiLanguage* This,
1205 DWORD dwSrcEncoding,
1206 DWORD dwDstEncoding);
1208 HRESULT (STDMETHODCALLTYPE *ConvertString)(
1209 IMultiLanguage* This,
1210 DWORD* pdwMode,
1211 DWORD dwSrcEncoding,
1212 DWORD dwDstEncoding,
1213 BYTE* pSrcStr,
1214 UINT* pcSrcSize,
1215 BYTE* pDstStr,
1216 UINT* pcDstSize);
1218 HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicode)(
1219 IMultiLanguage* This,
1220 DWORD* pdwMode,
1221 DWORD dwEncoding,
1222 CHAR* pSrcStr,
1223 UINT* pcSrcSize,
1224 WCHAR* pDstStr,
1225 UINT* pcDstSize);
1227 HRESULT (STDMETHODCALLTYPE *ConvertStringFromUnicode)(
1228 IMultiLanguage* This,
1229 DWORD* pdwMode,
1230 DWORD dwEncoding,
1231 WCHAR* pSrcStr,
1232 UINT* pcSrcSize,
1233 CHAR* pDstStr,
1234 UINT* pcDstSize);
1236 HRESULT (STDMETHODCALLTYPE *ConvertStringReset)(
1237 IMultiLanguage* This);
1239 HRESULT (STDMETHODCALLTYPE *GetRfc1766FromLcid)(
1240 IMultiLanguage* This,
1241 LCID Locale,
1242 BSTR* pbstrRfc1766);
1244 HRESULT (STDMETHODCALLTYPE *GetLcidFromRfc1766)(
1245 IMultiLanguage* This,
1246 LCID* pLocale,
1247 BSTR bstrRfc1766);
1249 HRESULT (STDMETHODCALLTYPE *EnumRfc1766)(
1250 IMultiLanguage* This,
1251 IEnumRfc1766** ppEnumRfc1766);
1253 HRESULT (STDMETHODCALLTYPE *GetRfc1766Info)(
1254 IMultiLanguage* This,
1255 LCID Locale,
1256 PRFC1766INFO pRfc1766Info);
1258 HRESULT (STDMETHODCALLTYPE *CreateConvertCharset)(
1259 IMultiLanguage* This,
1260 UINT uiSrcCodePage,
1261 UINT uiDstCodePage,
1262 DWORD dwProperty,
1263 IMLangConvertCharset** ppMLangConvertCharset);
1265 END_INTERFACE
1268 #ifdef COBJMACROS
1269 /*** IUnknown methods ***/
1270 #define IMultiLanguage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1271 #define IMultiLanguage_AddRef(p) (p)->lpVtbl->AddRef(p)
1272 #define IMultiLanguage_Release(p) (p)->lpVtbl->Release(p)
1273 /*** IMultiLanguage methods ***/
1274 #define IMultiLanguage_GetNumberOfCodePageInfo(p,a) (p)->lpVtbl->GetNumberOfCodePageInfo(p,a)
1275 #define IMultiLanguage_GetCodePageInfo(p,a,b) (p)->lpVtbl->GetCodePageInfo(p,a,b)
1276 #define IMultiLanguage_GetFamilyCodePage(p,a,b) (p)->lpVtbl->GetFamilyCodePage(p,a,b)
1277 #define IMultiLanguage_EnumCodePages(p,a,b) (p)->lpVtbl->EnumCodePages(p,a,b)
1278 #define IMultiLanguage_GetCharsetInfo(p,a,b) (p)->lpVtbl->GetCharsetInfo(p,a,b)
1279 #define IMultiLanguage_IsConvertible(p,a,b) (p)->lpVtbl->IsConvertible(p,a,b)
1280 #define IMultiLanguage_ConvertString(p,a,b,c,d,e,f,g) (p)->lpVtbl->ConvertString(p,a,b,c,d,e,f,g)
1281 #define IMultiLanguage_ConvertStringToUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringToUnicode(p,a,b,c,d,e,f)
1282 #define IMultiLanguage_ConvertStringFromUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringFromUnicode(p,a,b,c,d,e,f)
1283 #define IMultiLanguage_ConvertStringReset(p) (p)->lpVtbl->ConvertStringReset(p)
1284 #define IMultiLanguage_GetRfc1766FromLcid(p,a,b) (p)->lpVtbl->GetRfc1766FromLcid(p,a,b)
1285 #define IMultiLanguage_GetLcidFromRfc1766(p,a,b) (p)->lpVtbl->GetLcidFromRfc1766(p,a,b)
1286 #define IMultiLanguage_EnumRfc1766(p,a) (p)->lpVtbl->EnumRfc1766(p,a)
1287 #define IMultiLanguage_GetRfc1766Info(p,a,b) (p)->lpVtbl->GetRfc1766Info(p,a,b)
1288 #define IMultiLanguage_CreateConvertCharset(p,a,b,c,d) (p)->lpVtbl->CreateConvertCharset(p,a,b,c,d)
1289 #endif
1291 #endif
1293 #define IMultiLanguage_METHODS \
1294 /*** IUnknown methods ***/ \
1295 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1296 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1297 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1298 /*** IMultiLanguage methods ***/ \
1299 STDMETHOD_(HRESULT,GetNumberOfCodePageInfo)(THIS_ UINT* pcCodePage) PURE; \
1300 STDMETHOD_(HRESULT,GetCodePageInfo)(THIS_ UINT uiCodePage, PMIMECPINFO pCodePageInfo) PURE; \
1301 STDMETHOD_(HRESULT,GetFamilyCodePage)(THIS_ UINT uiCodePage, UINT* puiFamilyCodePage) PURE; \
1302 STDMETHOD_(HRESULT,EnumCodePages)(THIS_ DWORD grfFlags, IEnumCodePage** ppEnumCodePage) PURE; \
1303 STDMETHOD_(HRESULT,GetCharsetInfo)(THIS_ BSTR Charset, PMIMECSETINFO pCharsetInfo) PURE; \
1304 STDMETHOD_(HRESULT,IsConvertible)(THIS_ DWORD dwSrcEncoding, DWORD dwDstEncoding) PURE; \
1305 STDMETHOD_(HRESULT,ConvertString)(THIS_ DWORD* pdwMode, DWORD dwSrcEncoding, DWORD dwDstEncoding, BYTE* pSrcStr, UINT* pcSrcSize, BYTE* pDstStr, UINT* pcDstSize) PURE; \
1306 STDMETHOD_(HRESULT,ConvertStringToUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize) PURE; \
1307 STDMETHOD_(HRESULT,ConvertStringFromUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, WCHAR* pSrcStr, UINT* pcSrcSize, CHAR* pDstStr, UINT* pcDstSize) PURE; \
1308 STDMETHOD_(HRESULT,ConvertStringReset)(THIS) PURE; \
1309 STDMETHOD_(HRESULT,GetRfc1766FromLcid)(THIS_ LCID Locale, BSTR* pbstrRfc1766) PURE; \
1310 STDMETHOD_(HRESULT,GetLcidFromRfc1766)(THIS_ LCID* pLocale, BSTR bstrRfc1766) PURE; \
1311 STDMETHOD_(HRESULT,EnumRfc1766)(THIS_ IEnumRfc1766** ppEnumRfc1766) PURE; \
1312 STDMETHOD_(HRESULT,GetRfc1766Info)(THIS_ LCID Locale, PRFC1766INFO pRfc1766Info) PURE; \
1313 STDMETHOD_(HRESULT,CreateConvertCharset)(THIS_ UINT uiSrcCodePage, UINT uiDstCodePage, DWORD dwProperty, IMLangConvertCharset** ppMLangConvertCharset) PURE;
1315 HRESULT CALLBACK IMultiLanguage_GetNumberOfCodePageInfo_Proxy(
1316 IMultiLanguage* This,
1317 UINT* pcCodePage);
1318 void __RPC_STUB IMultiLanguage_GetNumberOfCodePageInfo_Stub(
1319 struct IRpcStubBuffer* This,
1320 struct IRpcChannelBuffer* pRpcChannelBuffer,
1321 PRPC_MESSAGE pRpcMessage,
1322 DWORD* pdwStubPhase);
1323 HRESULT CALLBACK IMultiLanguage_GetCodePageInfo_Proxy(
1324 IMultiLanguage* This,
1325 UINT uiCodePage,
1326 PMIMECPINFO pCodePageInfo);
1327 void __RPC_STUB IMultiLanguage_GetCodePageInfo_Stub(
1328 struct IRpcStubBuffer* This,
1329 struct IRpcChannelBuffer* pRpcChannelBuffer,
1330 PRPC_MESSAGE pRpcMessage,
1331 DWORD* pdwStubPhase);
1332 HRESULT CALLBACK IMultiLanguage_GetFamilyCodePage_Proxy(
1333 IMultiLanguage* This,
1334 UINT uiCodePage,
1335 UINT* puiFamilyCodePage);
1336 void __RPC_STUB IMultiLanguage_GetFamilyCodePage_Stub(
1337 struct IRpcStubBuffer* This,
1338 struct IRpcChannelBuffer* pRpcChannelBuffer,
1339 PRPC_MESSAGE pRpcMessage,
1340 DWORD* pdwStubPhase);
1341 HRESULT CALLBACK IMultiLanguage_EnumCodePages_Proxy(
1342 IMultiLanguage* This,
1343 DWORD grfFlags,
1344 IEnumCodePage** ppEnumCodePage);
1345 void __RPC_STUB IMultiLanguage_EnumCodePages_Stub(
1346 struct IRpcStubBuffer* This,
1347 struct IRpcChannelBuffer* pRpcChannelBuffer,
1348 PRPC_MESSAGE pRpcMessage,
1349 DWORD* pdwStubPhase);
1350 HRESULT CALLBACK IMultiLanguage_GetCharsetInfo_Proxy(
1351 IMultiLanguage* This,
1352 BSTR Charset,
1353 PMIMECSETINFO pCharsetInfo);
1354 void __RPC_STUB IMultiLanguage_GetCharsetInfo_Stub(
1355 struct IRpcStubBuffer* This,
1356 struct IRpcChannelBuffer* pRpcChannelBuffer,
1357 PRPC_MESSAGE pRpcMessage,
1358 DWORD* pdwStubPhase);
1359 HRESULT CALLBACK IMultiLanguage_IsConvertible_Proxy(
1360 IMultiLanguage* This,
1361 DWORD dwSrcEncoding,
1362 DWORD dwDstEncoding);
1363 void __RPC_STUB IMultiLanguage_IsConvertible_Stub(
1364 struct IRpcStubBuffer* This,
1365 struct IRpcChannelBuffer* pRpcChannelBuffer,
1366 PRPC_MESSAGE pRpcMessage,
1367 DWORD* pdwStubPhase);
1368 HRESULT CALLBACK IMultiLanguage_ConvertString_Proxy(
1369 IMultiLanguage* This,
1370 DWORD* pdwMode,
1371 DWORD dwSrcEncoding,
1372 DWORD dwDstEncoding,
1373 BYTE* pSrcStr,
1374 UINT* pcSrcSize,
1375 BYTE* pDstStr,
1376 UINT* pcDstSize);
1377 void __RPC_STUB IMultiLanguage_ConvertString_Stub(
1378 struct IRpcStubBuffer* This,
1379 struct IRpcChannelBuffer* pRpcChannelBuffer,
1380 PRPC_MESSAGE pRpcMessage,
1381 DWORD* pdwStubPhase);
1382 HRESULT CALLBACK IMultiLanguage_ConvertStringToUnicode_Proxy(
1383 IMultiLanguage* This,
1384 DWORD* pdwMode,
1385 DWORD dwEncoding,
1386 CHAR* pSrcStr,
1387 UINT* pcSrcSize,
1388 WCHAR* pDstStr,
1389 UINT* pcDstSize);
1390 void __RPC_STUB IMultiLanguage_ConvertStringToUnicode_Stub(
1391 struct IRpcStubBuffer* This,
1392 struct IRpcChannelBuffer* pRpcChannelBuffer,
1393 PRPC_MESSAGE pRpcMessage,
1394 DWORD* pdwStubPhase);
1395 HRESULT CALLBACK IMultiLanguage_ConvertStringFromUnicode_Proxy(
1396 IMultiLanguage* This,
1397 DWORD* pdwMode,
1398 DWORD dwEncoding,
1399 WCHAR* pSrcStr,
1400 UINT* pcSrcSize,
1401 CHAR* pDstStr,
1402 UINT* pcDstSize);
1403 void __RPC_STUB IMultiLanguage_ConvertStringFromUnicode_Stub(
1404 struct IRpcStubBuffer* This,
1405 struct IRpcChannelBuffer* pRpcChannelBuffer,
1406 PRPC_MESSAGE pRpcMessage,
1407 DWORD* pdwStubPhase);
1408 HRESULT CALLBACK IMultiLanguage_ConvertStringReset_Proxy(
1409 IMultiLanguage* This);
1410 void __RPC_STUB IMultiLanguage_ConvertStringReset_Stub(
1411 struct IRpcStubBuffer* This,
1412 struct IRpcChannelBuffer* pRpcChannelBuffer,
1413 PRPC_MESSAGE pRpcMessage,
1414 DWORD* pdwStubPhase);
1415 HRESULT CALLBACK IMultiLanguage_GetRfc1766FromLcid_Proxy(
1416 IMultiLanguage* This,
1417 LCID Locale,
1418 BSTR* pbstrRfc1766);
1419 void __RPC_STUB IMultiLanguage_GetRfc1766FromLcid_Stub(
1420 struct IRpcStubBuffer* This,
1421 struct IRpcChannelBuffer* pRpcChannelBuffer,
1422 PRPC_MESSAGE pRpcMessage,
1423 DWORD* pdwStubPhase);
1424 HRESULT CALLBACK IMultiLanguage_GetLcidFromRfc1766_Proxy(
1425 IMultiLanguage* This,
1426 LCID* pLocale,
1427 BSTR bstrRfc1766);
1428 void __RPC_STUB IMultiLanguage_GetLcidFromRfc1766_Stub(
1429 struct IRpcStubBuffer* This,
1430 struct IRpcChannelBuffer* pRpcChannelBuffer,
1431 PRPC_MESSAGE pRpcMessage,
1432 DWORD* pdwStubPhase);
1433 HRESULT CALLBACK IMultiLanguage_EnumRfc1766_Proxy(
1434 IMultiLanguage* This,
1435 IEnumRfc1766** ppEnumRfc1766);
1436 void __RPC_STUB IMultiLanguage_EnumRfc1766_Stub(
1437 struct IRpcStubBuffer* This,
1438 struct IRpcChannelBuffer* pRpcChannelBuffer,
1439 PRPC_MESSAGE pRpcMessage,
1440 DWORD* pdwStubPhase);
1441 HRESULT CALLBACK IMultiLanguage_GetRfc1766Info_Proxy(
1442 IMultiLanguage* This,
1443 LCID Locale,
1444 PRFC1766INFO pRfc1766Info);
1445 void __RPC_STUB IMultiLanguage_GetRfc1766Info_Stub(
1446 struct IRpcStubBuffer* This,
1447 struct IRpcChannelBuffer* pRpcChannelBuffer,
1448 PRPC_MESSAGE pRpcMessage,
1449 DWORD* pdwStubPhase);
1450 HRESULT CALLBACK IMultiLanguage_CreateConvertCharset_Proxy(
1451 IMultiLanguage* This,
1452 UINT uiSrcCodePage,
1453 UINT uiDstCodePage,
1454 DWORD dwProperty,
1455 IMLangConvertCharset** ppMLangConvertCharset);
1456 void __RPC_STUB IMultiLanguage_CreateConvertCharset_Stub(
1457 struct IRpcStubBuffer* This,
1458 struct IRpcChannelBuffer* pRpcChannelBuffer,
1459 PRPC_MESSAGE pRpcMessage,
1460 DWORD* pdwStubPhase);
1462 #endif /* __IMultiLanguage_INTERFACE_DEFINED__ */
1464 #ifndef __IMultiLanguage2_FWD_DEFINED__
1465 #define __IMultiLanguage2_FWD_DEFINED__
1466 typedef struct IMultiLanguage2 IMultiLanguage2;
1467 #endif
1469 typedef struct tagDetectEncodingInfo {
1470 UINT nLangID;
1471 UINT nCodePage;
1472 INT nDocPercent;
1473 INT nConfidence;
1474 } DetectEncodingInfo, *pDetectEncodingInfo;
1476 /*****************************************************************************
1477 * IMultiLanguage2 interface
1479 #ifndef __IMultiLanguage2_INTERFACE_DEFINED__
1480 #define __IMultiLanguage2_INTERFACE_DEFINED__
1482 #if defined(__cplusplus) && !defined(CINTERFACE)
1483 struct IMultiLanguage2 : public IUnknown
1485 virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo(
1486 UINT* pcCodePage) = 0;
1488 virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo(
1489 UINT uiCodePage,
1490 LANGID LangId,
1491 PMIMECPINFO pCodePageInfo) = 0;
1493 virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage(
1494 UINT uiCodePage,
1495 UINT* puiFamilyCodePage) = 0;
1497 virtual HRESULT STDMETHODCALLTYPE EnumCodePages(
1498 DWORD grfFlags,
1499 LANGID LangId,
1500 IEnumCodePage** ppEnumCodePage) = 0;
1502 virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo(
1503 BSTR Charset,
1504 PMIMECSETINFO pCharsetInfo) = 0;
1506 virtual HRESULT STDMETHODCALLTYPE IsConvertible(
1507 DWORD dwSrcEncoding,
1508 DWORD dwDstEncoding) = 0;
1510 virtual HRESULT STDMETHODCALLTYPE ConvertString(
1511 DWORD* pdwMode,
1512 DWORD dwSrcEncoding,
1513 DWORD dwDstEncoding,
1514 BYTE* pSrcStr,
1515 UINT* pcSrcSize,
1516 BYTE* pDstStr,
1517 UINT* pcDstSize) = 0;
1519 virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode(
1520 DWORD* pdwMode,
1521 DWORD dwEncoding,
1522 CHAR* pSrcStr,
1523 UINT* pcSrcSize,
1524 WCHAR* pDstStr,
1525 UINT* pcDstSize) = 0;
1527 virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode(
1528 DWORD* pdwMode,
1529 DWORD dwEncoding,
1530 WCHAR* pSrcStr,
1531 UINT* pcSrcSize,
1532 CHAR* pDstStr,
1533 UINT* pcDstSize) = 0;
1535 virtual HRESULT STDMETHODCALLTYPE ConvertStringReset(
1536 ) = 0;
1538 virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid(
1539 LCID Locale,
1540 BSTR* pbstrRfc1766) = 0;
1542 virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766(
1543 LCID* pLocale,
1544 BSTR bstrRfc1766) = 0;
1546 virtual HRESULT STDMETHODCALLTYPE EnumRfc1766(
1547 LANGID LangId,
1548 IEnumRfc1766** ppEnumRfc1766) = 0;
1550 virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info(
1551 LCID Locale,
1552 LANGID LangId,
1553 PRFC1766INFO pRfc1766Info) = 0;
1555 virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset(
1556 UINT uiSrcCodePage,
1557 UINT uiDstCodePage,
1558 DWORD dwProperty,
1559 IMLangConvertCharset** ppMLangConvertCharset) = 0;
1561 virtual HRESULT STDMETHODCALLTYPE ConvertStringInIStream(
1562 DWORD* pdwMode,
1563 DWORD dwFlag,
1564 WCHAR* lpFallBack,
1565 DWORD dwSrcEncoding,
1566 DWORD dwDstEncoding,
1567 IStream* pstmIn,
1568 IStream* pstmOut) = 0;
1570 virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicodeEx(
1571 DWORD* pdwMode,
1572 DWORD dwEncoding,
1573 CHAR* pSrcStr,
1574 UINT* pcSrcSize,
1575 WCHAR* pDstStr,
1576 UINT* pcDstSize,
1577 DWORD dwFlag,
1578 WCHAR* lpFallBack) = 0;
1580 virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicodeEx(
1581 DWORD* pdwMode,
1582 DWORD dwEncoding,
1583 WCHAR* pSrcStr,
1584 UINT* pcSrcSize,
1585 CHAR* pDstStr,
1586 UINT* pcDstSize,
1587 DWORD dwFlag,
1588 WCHAR* lpFallBack) = 0;
1590 virtual HRESULT STDMETHODCALLTYPE DetectCodepageInIStream(
1591 DWORD dwFlag,
1592 DWORD dwPrefWinCodePage,
1593 IStream* pstmIn,
1594 DetectEncodingInfo* lpEncoding,
1595 INT* pnScores) = 0;
1597 virtual HRESULT STDMETHODCALLTYPE DetectInputCodepage(
1598 DWORD dwFlag,
1599 DWORD dwPrefWinCodePage,
1600 CHAR* pSrcStr,
1601 INT* pcSrcSize,
1602 DetectEncodingInfo* lpEncoding,
1603 INT* pnScores) = 0;
1605 virtual HRESULT STDMETHODCALLTYPE ValidateCodePage(
1606 UINT uiCodePage,
1607 HWND hwnd) = 0;
1609 virtual HRESULT STDMETHODCALLTYPE GetCodePageDescription(
1610 UINT uiCodePage,
1611 LCID lcid,
1612 LPWSTR lpWideCharStr,
1613 int cchWideChar) = 0;
1615 virtual HRESULT STDMETHODCALLTYPE IsCodePageInstallable(
1616 UINT uiCodePage) = 0;
1618 virtual HRESULT STDMETHODCALLTYPE SetMimeDBSource(
1619 MIMECONTF dwSource) = 0;
1621 virtual HRESULT STDMETHODCALLTYPE GetNumberOfScripts(
1622 UINT* pnScripts) = 0;
1624 virtual HRESULT STDMETHODCALLTYPE EnumScripts(
1625 DWORD dwFlags,
1626 LANGID LangId,
1627 IEnumScript** ppEnumScript) = 0;
1629 virtual HRESULT STDMETHODCALLTYPE ValidateCodePageEx(
1630 UINT uiCodePage,
1631 HWND hwnd,
1632 DWORD dwfIODControl) = 0;
1635 #else
1636 typedef struct IMultiLanguage2Vtbl IMultiLanguage2Vtbl;
1637 struct IMultiLanguage2 {
1638 const IMultiLanguage2Vtbl* lpVtbl;
1640 struct IMultiLanguage2Vtbl {
1641 BEGIN_INTERFACE
1643 /*** IUnknown methods ***/
1644 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1645 IMultiLanguage2* This,
1646 REFIID riid,
1647 void** ppvObject);
1649 ULONG (STDMETHODCALLTYPE *AddRef)(
1650 IMultiLanguage2* This);
1652 ULONG (STDMETHODCALLTYPE *Release)(
1653 IMultiLanguage2* This);
1655 /*** IMultiLanguage2 methods ***/
1656 HRESULT (STDMETHODCALLTYPE *GetNumberOfCodePageInfo)(
1657 IMultiLanguage2* This,
1658 UINT* pcCodePage);
1660 HRESULT (STDMETHODCALLTYPE *GetCodePageInfo)(
1661 IMultiLanguage2* This,
1662 UINT uiCodePage,
1663 LANGID LangId,
1664 PMIMECPINFO pCodePageInfo);
1666 HRESULT (STDMETHODCALLTYPE *GetFamilyCodePage)(
1667 IMultiLanguage2* This,
1668 UINT uiCodePage,
1669 UINT* puiFamilyCodePage);
1671 HRESULT (STDMETHODCALLTYPE *EnumCodePages)(
1672 IMultiLanguage2* This,
1673 DWORD grfFlags,
1674 LANGID LangId,
1675 IEnumCodePage** ppEnumCodePage);
1677 HRESULT (STDMETHODCALLTYPE *GetCharsetInfo)(
1678 IMultiLanguage2* This,
1679 BSTR Charset,
1680 PMIMECSETINFO pCharsetInfo);
1682 HRESULT (STDMETHODCALLTYPE *IsConvertible)(
1683 IMultiLanguage2* This,
1684 DWORD dwSrcEncoding,
1685 DWORD dwDstEncoding);
1687 HRESULT (STDMETHODCALLTYPE *ConvertString)(
1688 IMultiLanguage2* This,
1689 DWORD* pdwMode,
1690 DWORD dwSrcEncoding,
1691 DWORD dwDstEncoding,
1692 BYTE* pSrcStr,
1693 UINT* pcSrcSize,
1694 BYTE* pDstStr,
1695 UINT* pcDstSize);
1697 HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicode)(
1698 IMultiLanguage2* This,
1699 DWORD* pdwMode,
1700 DWORD dwEncoding,
1701 CHAR* pSrcStr,
1702 UINT* pcSrcSize,
1703 WCHAR* pDstStr,
1704 UINT* pcDstSize);
1706 HRESULT (STDMETHODCALLTYPE *ConvertStringFromUnicode)(
1707 IMultiLanguage2* This,
1708 DWORD* pdwMode,
1709 DWORD dwEncoding,
1710 WCHAR* pSrcStr,
1711 UINT* pcSrcSize,
1712 CHAR* pDstStr,
1713 UINT* pcDstSize);
1715 HRESULT (STDMETHODCALLTYPE *ConvertStringReset)(
1716 IMultiLanguage2* This);
1718 HRESULT (STDMETHODCALLTYPE *GetRfc1766FromLcid)(
1719 IMultiLanguage2* This,
1720 LCID Locale,
1721 BSTR* pbstrRfc1766);
1723 HRESULT (STDMETHODCALLTYPE *GetLcidFromRfc1766)(
1724 IMultiLanguage2* This,
1725 LCID* pLocale,
1726 BSTR bstrRfc1766);
1728 HRESULT (STDMETHODCALLTYPE *EnumRfc1766)(
1729 IMultiLanguage2* This,
1730 LANGID LangId,
1731 IEnumRfc1766** ppEnumRfc1766);
1733 HRESULT (STDMETHODCALLTYPE *GetRfc1766Info)(
1734 IMultiLanguage2* This,
1735 LCID Locale,
1736 LANGID LangId,
1737 PRFC1766INFO pRfc1766Info);
1739 HRESULT (STDMETHODCALLTYPE *CreateConvertCharset)(
1740 IMultiLanguage2* This,
1741 UINT uiSrcCodePage,
1742 UINT uiDstCodePage,
1743 DWORD dwProperty,
1744 IMLangConvertCharset** ppMLangConvertCharset);
1746 HRESULT (STDMETHODCALLTYPE *ConvertStringInIStream)(
1747 IMultiLanguage2* This,
1748 DWORD* pdwMode,
1749 DWORD dwFlag,
1750 WCHAR* lpFallBack,
1751 DWORD dwSrcEncoding,
1752 DWORD dwDstEncoding,
1753 IStream* pstmIn,
1754 IStream* pstmOut);
1756 HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicodeEx)(
1757 IMultiLanguage2* This,
1758 DWORD* pdwMode,
1759 DWORD dwEncoding,
1760 CHAR* pSrcStr,
1761 UINT* pcSrcSize,
1762 WCHAR* pDstStr,
1763 UINT* pcDstSize,
1764 DWORD dwFlag,
1765 WCHAR* lpFallBack);
1767 HRESULT (STDMETHODCALLTYPE *ConvertStringFromUnicodeEx)(
1768 IMultiLanguage2* This,
1769 DWORD* pdwMode,
1770 DWORD dwEncoding,
1771 WCHAR* pSrcStr,
1772 UINT* pcSrcSize,
1773 CHAR* pDstStr,
1774 UINT* pcDstSize,
1775 DWORD dwFlag,
1776 WCHAR* lpFallBack);
1778 HRESULT (STDMETHODCALLTYPE *DetectCodepageInIStream)(
1779 IMultiLanguage2* This,
1780 DWORD dwFlag,
1781 DWORD dwPrefWinCodePage,
1782 IStream* pstmIn,
1783 DetectEncodingInfo* lpEncoding,
1784 INT* pnScores);
1786 HRESULT (STDMETHODCALLTYPE *DetectInputCodepage)(
1787 IMultiLanguage2* This,
1788 DWORD dwFlag,
1789 DWORD dwPrefWinCodePage,
1790 CHAR* pSrcStr,
1791 INT* pcSrcSize,
1792 DetectEncodingInfo* lpEncoding,
1793 INT* pnScores);
1795 HRESULT (STDMETHODCALLTYPE *ValidateCodePage)(
1796 IMultiLanguage2* This,
1797 UINT uiCodePage,
1798 HWND hwnd);
1800 HRESULT (STDMETHODCALLTYPE *GetCodePageDescription)(
1801 IMultiLanguage2* This,
1802 UINT uiCodePage,
1803 LCID lcid,
1804 LPWSTR lpWideCharStr,
1805 int cchWideChar);
1807 HRESULT (STDMETHODCALLTYPE *IsCodePageInstallable)(
1808 IMultiLanguage2* This,
1809 UINT uiCodePage);
1811 HRESULT (STDMETHODCALLTYPE *SetMimeDBSource)(
1812 IMultiLanguage2* This,
1813 MIMECONTF dwSource);
1815 HRESULT (STDMETHODCALLTYPE *GetNumberOfScripts)(
1816 IMultiLanguage2* This,
1817 UINT* pnScripts);
1819 HRESULT (STDMETHODCALLTYPE *EnumScripts)(
1820 IMultiLanguage2* This,
1821 DWORD dwFlags,
1822 LANGID LangId,
1823 IEnumScript** ppEnumScript);
1825 HRESULT (STDMETHODCALLTYPE *ValidateCodePageEx)(
1826 IMultiLanguage2* This,
1827 UINT uiCodePage,
1828 HWND hwnd,
1829 DWORD dwfIODControl);
1831 END_INTERFACE
1834 #ifdef COBJMACROS
1835 /*** IUnknown methods ***/
1836 #define IMultiLanguage2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1837 #define IMultiLanguage2_AddRef(p) (p)->lpVtbl->AddRef(p)
1838 #define IMultiLanguage2_Release(p) (p)->lpVtbl->Release(p)
1839 /*** IMultiLanguage2 methods ***/
1840 #define IMultiLanguage2_GetNumberOfCodePageInfo(p,a) (p)->lpVtbl->GetNumberOfCodePageInfo(p,a)
1841 #define IMultiLanguage2_GetCodePageInfo(p,a,b,c) (p)->lpVtbl->GetCodePageInfo(p,a,b,c)
1842 #define IMultiLanguage2_GetFamilyCodePage(p,a,b) (p)->lpVtbl->GetFamilyCodePage(p,a,b)
1843 #define IMultiLanguage2_EnumCodePages(p,a,b,c) (p)->lpVtbl->EnumCodePages(p,a,b,c)
1844 #define IMultiLanguage2_GetCharsetInfo(p,a,b) (p)->lpVtbl->GetCharsetInfo(p,a,b)
1845 #define IMultiLanguage2_IsConvertible(p,a,b) (p)->lpVtbl->IsConvertible(p,a,b)
1846 #define IMultiLanguage2_ConvertString(p,a,b,c,d,e,f,g) (p)->lpVtbl->ConvertString(p,a,b,c,d,e,f,g)
1847 #define IMultiLanguage2_ConvertStringToUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringToUnicode(p,a,b,c,d,e,f)
1848 #define IMultiLanguage2_ConvertStringFromUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringFromUnicode(p,a,b,c,d,e,f)
1849 #define IMultiLanguage2_ConvertStringReset(p) (p)->lpVtbl->ConvertStringReset(p)
1850 #define IMultiLanguage2_GetRfc1766FromLcid(p,a,b) (p)->lpVtbl->GetRfc1766FromLcid(p,a,b)
1851 #define IMultiLanguage2_GetLcidFromRfc1766(p,a,b) (p)->lpVtbl->GetLcidFromRfc1766(p,a,b)
1852 #define IMultiLanguage2_EnumRfc1766(p,a,b) (p)->lpVtbl->EnumRfc1766(p,a,b)
1853 #define IMultiLanguage2_GetRfc1766Info(p,a,b,c) (p)->lpVtbl->GetRfc1766Info(p,a,b,c)
1854 #define IMultiLanguage2_CreateConvertCharset(p,a,b,c,d) (p)->lpVtbl->CreateConvertCharset(p,a,b,c,d)
1855 #define IMultiLanguage2_ConvertStringInIStream(p,a,b,c,d,e,f,g) (p)->lpVtbl->ConvertStringInIStream(p,a,b,c,d,e,f,g)
1856 #define IMultiLanguage2_ConvertStringToUnicodeEx(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->ConvertStringToUnicodeEx(p,a,b,c,d,e,f,g,h)
1857 #define IMultiLanguage2_ConvertStringFromUnicodeEx(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->ConvertStringFromUnicodeEx(p,a,b,c,d,e,f,g,h)
1858 #define IMultiLanguage2_DetectCodepageInIStream(p,a,b,c,d,e) (p)->lpVtbl->DetectCodepageInIStream(p,a,b,c,d,e)
1859 #define IMultiLanguage2_DetectInputCodepage(p,a,b,c,d,e,f) (p)->lpVtbl->DetectInputCodepage(p,a,b,c,d,e,f)
1860 #define IMultiLanguage2_ValidateCodePage(p,a,b) (p)->lpVtbl->ValidateCodePage(p,a,b)
1861 #define IMultiLanguage2_GetCodePageDescription(p,a,b,c,d) (p)->lpVtbl->GetCodePageDescription(p,a,b,c,d)
1862 #define IMultiLanguage2_IsCodePageInstallable(p,a) (p)->lpVtbl->IsCodePageInstallable(p,a)
1863 #define IMultiLanguage2_SetMimeDBSource(p,a) (p)->lpVtbl->SetMimeDBSource(p,a)
1864 #define IMultiLanguage2_GetNumberOfScripts(p,a) (p)->lpVtbl->GetNumberOfScripts(p,a)
1865 #define IMultiLanguage2_EnumScripts(p,a,b,c) (p)->lpVtbl->EnumScripts(p,a,b,c)
1866 #define IMultiLanguage2_ValidateCodePageEx(p,a,b,c) (p)->lpVtbl->ValidateCodePageEx(p,a,b,c)
1867 #endif
1869 #endif
1871 #define IMultiLanguage2_METHODS \
1872 /*** IUnknown methods ***/ \
1873 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1874 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1875 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1876 /*** IMultiLanguage2 methods ***/ \
1877 STDMETHOD_(HRESULT,GetNumberOfCodePageInfo)(THIS_ UINT* pcCodePage) PURE; \
1878 STDMETHOD_(HRESULT,GetCodePageInfo)(THIS_ UINT uiCodePage, LANGID LangId, PMIMECPINFO pCodePageInfo) PURE; \
1879 STDMETHOD_(HRESULT,GetFamilyCodePage)(THIS_ UINT uiCodePage, UINT* puiFamilyCodePage) PURE; \
1880 STDMETHOD_(HRESULT,EnumCodePages)(THIS_ DWORD grfFlags, LANGID LangId, IEnumCodePage** ppEnumCodePage) PURE; \
1881 STDMETHOD_(HRESULT,GetCharsetInfo)(THIS_ BSTR Charset, PMIMECSETINFO pCharsetInfo) PURE; \
1882 STDMETHOD_(HRESULT,IsConvertible)(THIS_ DWORD dwSrcEncoding, DWORD dwDstEncoding) PURE; \
1883 STDMETHOD_(HRESULT,ConvertString)(THIS_ DWORD* pdwMode, DWORD dwSrcEncoding, DWORD dwDstEncoding, BYTE* pSrcStr, UINT* pcSrcSize, BYTE* pDstStr, UINT* pcDstSize) PURE; \
1884 STDMETHOD_(HRESULT,ConvertStringToUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize) PURE; \
1885 STDMETHOD_(HRESULT,ConvertStringFromUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, WCHAR* pSrcStr, UINT* pcSrcSize, CHAR* pDstStr, UINT* pcDstSize) PURE; \
1886 STDMETHOD_(HRESULT,ConvertStringReset)(THIS) PURE; \
1887 STDMETHOD_(HRESULT,GetRfc1766FromLcid)(THIS_ LCID Locale, BSTR* pbstrRfc1766) PURE; \
1888 STDMETHOD_(HRESULT,GetLcidFromRfc1766)(THIS_ LCID* pLocale, BSTR bstrRfc1766) PURE; \
1889 STDMETHOD_(HRESULT,EnumRfc1766)(THIS_ LANGID LangId, IEnumRfc1766** ppEnumRfc1766) PURE; \
1890 STDMETHOD_(HRESULT,GetRfc1766Info)(THIS_ LCID Locale, LANGID LangId, PRFC1766INFO pRfc1766Info) PURE; \
1891 STDMETHOD_(HRESULT,CreateConvertCharset)(THIS_ UINT uiSrcCodePage, UINT uiDstCodePage, DWORD dwProperty, IMLangConvertCharset** ppMLangConvertCharset) PURE; \
1892 STDMETHOD_(HRESULT,ConvertStringInIStream)(THIS_ DWORD* pdwMode, DWORD dwFlag, WCHAR* lpFallBack, DWORD dwSrcEncoding, DWORD dwDstEncoding, IStream* pstmIn, IStream* pstmOut) PURE; \
1893 STDMETHOD_(HRESULT,ConvertStringToUnicodeEx)(THIS_ DWORD* pdwMode, DWORD dwEncoding, CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize, DWORD dwFlag, WCHAR* lpFallBack) PURE; \
1894 STDMETHOD_(HRESULT,ConvertStringFromUnicodeEx)(THIS_ DWORD* pdwMode, DWORD dwEncoding, WCHAR* pSrcStr, UINT* pcSrcSize, CHAR* pDstStr, UINT* pcDstSize, DWORD dwFlag, WCHAR* lpFallBack) PURE; \
1895 STDMETHOD_(HRESULT,DetectCodepageInIStream)(THIS_ DWORD dwFlag, DWORD dwPrefWinCodePage, IStream* pstmIn, DetectEncodingInfo* lpEncoding, INT* pnScores) PURE; \
1896 STDMETHOD_(HRESULT,DetectInputCodepage)(THIS_ DWORD dwFlag, DWORD dwPrefWinCodePage, CHAR* pSrcStr, INT* pcSrcSize, DetectEncodingInfo* lpEncoding, INT* pnScores) PURE; \
1897 STDMETHOD_(HRESULT,ValidateCodePage)(THIS_ UINT uiCodePage, HWND hwnd) PURE; \
1898 STDMETHOD_(HRESULT,GetCodePageDescription)(THIS_ UINT uiCodePage, LCID lcid, LPWSTR lpWideCharStr, int cchWideChar) PURE; \
1899 STDMETHOD_(HRESULT,IsCodePageInstallable)(THIS_ UINT uiCodePage) PURE; \
1900 STDMETHOD_(HRESULT,SetMimeDBSource)(THIS_ MIMECONTF dwSource) PURE; \
1901 STDMETHOD_(HRESULT,GetNumberOfScripts)(THIS_ UINT* pnScripts) PURE; \
1902 STDMETHOD_(HRESULT,EnumScripts)(THIS_ DWORD dwFlags, LANGID LangId, IEnumScript** ppEnumScript) PURE; \
1903 STDMETHOD_(HRESULT,ValidateCodePageEx)(THIS_ UINT uiCodePage, HWND hwnd, DWORD dwfIODControl) PURE;
1905 HRESULT CALLBACK IMultiLanguage2_GetNumberOfCodePageInfo_Proxy(
1906 IMultiLanguage2* This,
1907 UINT* pcCodePage);
1908 void __RPC_STUB IMultiLanguage2_GetNumberOfCodePageInfo_Stub(
1909 struct IRpcStubBuffer* This,
1910 struct IRpcChannelBuffer* pRpcChannelBuffer,
1911 PRPC_MESSAGE pRpcMessage,
1912 DWORD* pdwStubPhase);
1913 HRESULT CALLBACK IMultiLanguage2_GetCodePageInfo_Proxy(
1914 IMultiLanguage2* This,
1915 UINT uiCodePage,
1916 LANGID LangId,
1917 PMIMECPINFO pCodePageInfo);
1918 void __RPC_STUB IMultiLanguage2_GetCodePageInfo_Stub(
1919 struct IRpcStubBuffer* This,
1920 struct IRpcChannelBuffer* pRpcChannelBuffer,
1921 PRPC_MESSAGE pRpcMessage,
1922 DWORD* pdwStubPhase);
1923 HRESULT CALLBACK IMultiLanguage2_GetFamilyCodePage_Proxy(
1924 IMultiLanguage2* This,
1925 UINT uiCodePage,
1926 UINT* puiFamilyCodePage);
1927 void __RPC_STUB IMultiLanguage2_GetFamilyCodePage_Stub(
1928 struct IRpcStubBuffer* This,
1929 struct IRpcChannelBuffer* pRpcChannelBuffer,
1930 PRPC_MESSAGE pRpcMessage,
1931 DWORD* pdwStubPhase);
1932 HRESULT CALLBACK IMultiLanguage2_EnumCodePages_Proxy(
1933 IMultiLanguage2* This,
1934 DWORD grfFlags,
1935 LANGID LangId,
1936 IEnumCodePage** ppEnumCodePage);
1937 void __RPC_STUB IMultiLanguage2_EnumCodePages_Stub(
1938 struct IRpcStubBuffer* This,
1939 struct IRpcChannelBuffer* pRpcChannelBuffer,
1940 PRPC_MESSAGE pRpcMessage,
1941 DWORD* pdwStubPhase);
1942 HRESULT CALLBACK IMultiLanguage2_GetCharsetInfo_Proxy(
1943 IMultiLanguage2* This,
1944 BSTR Charset,
1945 PMIMECSETINFO pCharsetInfo);
1946 void __RPC_STUB IMultiLanguage2_GetCharsetInfo_Stub(
1947 struct IRpcStubBuffer* This,
1948 struct IRpcChannelBuffer* pRpcChannelBuffer,
1949 PRPC_MESSAGE pRpcMessage,
1950 DWORD* pdwStubPhase);
1951 HRESULT CALLBACK IMultiLanguage2_IsConvertible_Proxy(
1952 IMultiLanguage2* This,
1953 DWORD dwSrcEncoding,
1954 DWORD dwDstEncoding);
1955 void __RPC_STUB IMultiLanguage2_IsConvertible_Stub(
1956 struct IRpcStubBuffer* This,
1957 struct IRpcChannelBuffer* pRpcChannelBuffer,
1958 PRPC_MESSAGE pRpcMessage,
1959 DWORD* pdwStubPhase);
1960 HRESULT CALLBACK IMultiLanguage2_ConvertString_Proxy(
1961 IMultiLanguage2* This,
1962 DWORD* pdwMode,
1963 DWORD dwSrcEncoding,
1964 DWORD dwDstEncoding,
1965 BYTE* pSrcStr,
1966 UINT* pcSrcSize,
1967 BYTE* pDstStr,
1968 UINT* pcDstSize);
1969 void __RPC_STUB IMultiLanguage2_ConvertString_Stub(
1970 struct IRpcStubBuffer* This,
1971 struct IRpcChannelBuffer* pRpcChannelBuffer,
1972 PRPC_MESSAGE pRpcMessage,
1973 DWORD* pdwStubPhase);
1974 HRESULT CALLBACK IMultiLanguage2_ConvertStringToUnicode_Proxy(
1975 IMultiLanguage2* This,
1976 DWORD* pdwMode,
1977 DWORD dwEncoding,
1978 CHAR* pSrcStr,
1979 UINT* pcSrcSize,
1980 WCHAR* pDstStr,
1981 UINT* pcDstSize);
1982 void __RPC_STUB IMultiLanguage2_ConvertStringToUnicode_Stub(
1983 struct IRpcStubBuffer* This,
1984 struct IRpcChannelBuffer* pRpcChannelBuffer,
1985 PRPC_MESSAGE pRpcMessage,
1986 DWORD* pdwStubPhase);
1987 HRESULT CALLBACK IMultiLanguage2_ConvertStringFromUnicode_Proxy(
1988 IMultiLanguage2* This,
1989 DWORD* pdwMode,
1990 DWORD dwEncoding,
1991 WCHAR* pSrcStr,
1992 UINT* pcSrcSize,
1993 CHAR* pDstStr,
1994 UINT* pcDstSize);
1995 void __RPC_STUB IMultiLanguage2_ConvertStringFromUnicode_Stub(
1996 struct IRpcStubBuffer* This,
1997 struct IRpcChannelBuffer* pRpcChannelBuffer,
1998 PRPC_MESSAGE pRpcMessage,
1999 DWORD* pdwStubPhase);
2000 HRESULT CALLBACK IMultiLanguage2_ConvertStringReset_Proxy(
2001 IMultiLanguage2* This);
2002 void __RPC_STUB IMultiLanguage2_ConvertStringReset_Stub(
2003 struct IRpcStubBuffer* This,
2004 struct IRpcChannelBuffer* pRpcChannelBuffer,
2005 PRPC_MESSAGE pRpcMessage,
2006 DWORD* pdwStubPhase);
2007 HRESULT CALLBACK IMultiLanguage2_GetRfc1766FromLcid_Proxy(
2008 IMultiLanguage2* This,
2009 LCID Locale,
2010 BSTR* pbstrRfc1766);
2011 void __RPC_STUB IMultiLanguage2_GetRfc1766FromLcid_Stub(
2012 struct IRpcStubBuffer* This,
2013 struct IRpcChannelBuffer* pRpcChannelBuffer,
2014 PRPC_MESSAGE pRpcMessage,
2015 DWORD* pdwStubPhase);
2016 HRESULT CALLBACK IMultiLanguage2_GetLcidFromRfc1766_Proxy(
2017 IMultiLanguage2* This,
2018 LCID* pLocale,
2019 BSTR bstrRfc1766);
2020 void __RPC_STUB IMultiLanguage2_GetLcidFromRfc1766_Stub(
2021 struct IRpcStubBuffer* This,
2022 struct IRpcChannelBuffer* pRpcChannelBuffer,
2023 PRPC_MESSAGE pRpcMessage,
2024 DWORD* pdwStubPhase);
2025 HRESULT CALLBACK IMultiLanguage2_EnumRfc1766_Proxy(
2026 IMultiLanguage2* This,
2027 LANGID LangId,
2028 IEnumRfc1766** ppEnumRfc1766);
2029 void __RPC_STUB IMultiLanguage2_EnumRfc1766_Stub(
2030 struct IRpcStubBuffer* This,
2031 struct IRpcChannelBuffer* pRpcChannelBuffer,
2032 PRPC_MESSAGE pRpcMessage,
2033 DWORD* pdwStubPhase);
2034 HRESULT CALLBACK IMultiLanguage2_GetRfc1766Info_Proxy(
2035 IMultiLanguage2* This,
2036 LCID Locale,
2037 LANGID LangId,
2038 PRFC1766INFO pRfc1766Info);
2039 void __RPC_STUB IMultiLanguage2_GetRfc1766Info_Stub(
2040 struct IRpcStubBuffer* This,
2041 struct IRpcChannelBuffer* pRpcChannelBuffer,
2042 PRPC_MESSAGE pRpcMessage,
2043 DWORD* pdwStubPhase);
2044 HRESULT CALLBACK IMultiLanguage2_CreateConvertCharset_Proxy(
2045 IMultiLanguage2* This,
2046 UINT uiSrcCodePage,
2047 UINT uiDstCodePage,
2048 DWORD dwProperty,
2049 IMLangConvertCharset** ppMLangConvertCharset);
2050 void __RPC_STUB IMultiLanguage2_CreateConvertCharset_Stub(
2051 struct IRpcStubBuffer* This,
2052 struct IRpcChannelBuffer* pRpcChannelBuffer,
2053 PRPC_MESSAGE pRpcMessage,
2054 DWORD* pdwStubPhase);
2055 HRESULT CALLBACK IMultiLanguage2_ConvertStringInIStream_Proxy(
2056 IMultiLanguage2* This,
2057 DWORD* pdwMode,
2058 DWORD dwFlag,
2059 WCHAR* lpFallBack,
2060 DWORD dwSrcEncoding,
2061 DWORD dwDstEncoding,
2062 IStream* pstmIn,
2063 IStream* pstmOut);
2064 void __RPC_STUB IMultiLanguage2_ConvertStringInIStream_Stub(
2065 struct IRpcStubBuffer* This,
2066 struct IRpcChannelBuffer* pRpcChannelBuffer,
2067 PRPC_MESSAGE pRpcMessage,
2068 DWORD* pdwStubPhase);
2069 HRESULT CALLBACK IMultiLanguage2_ConvertStringToUnicodeEx_Proxy(
2070 IMultiLanguage2* This,
2071 DWORD* pdwMode,
2072 DWORD dwEncoding,
2073 CHAR* pSrcStr,
2074 UINT* pcSrcSize,
2075 WCHAR* pDstStr,
2076 UINT* pcDstSize,
2077 DWORD dwFlag,
2078 WCHAR* lpFallBack);
2079 void __RPC_STUB IMultiLanguage2_ConvertStringToUnicodeEx_Stub(
2080 struct IRpcStubBuffer* This,
2081 struct IRpcChannelBuffer* pRpcChannelBuffer,
2082 PRPC_MESSAGE pRpcMessage,
2083 DWORD* pdwStubPhase);
2084 HRESULT CALLBACK IMultiLanguage2_ConvertStringFromUnicodeEx_Proxy(
2085 IMultiLanguage2* This,
2086 DWORD* pdwMode,
2087 DWORD dwEncoding,
2088 WCHAR* pSrcStr,
2089 UINT* pcSrcSize,
2090 CHAR* pDstStr,
2091 UINT* pcDstSize,
2092 DWORD dwFlag,
2093 WCHAR* lpFallBack);
2094 void __RPC_STUB IMultiLanguage2_ConvertStringFromUnicodeEx_Stub(
2095 struct IRpcStubBuffer* This,
2096 struct IRpcChannelBuffer* pRpcChannelBuffer,
2097 PRPC_MESSAGE pRpcMessage,
2098 DWORD* pdwStubPhase);
2099 HRESULT CALLBACK IMultiLanguage2_DetectCodepageInIStream_Proxy(
2100 IMultiLanguage2* This,
2101 DWORD dwFlag,
2102 DWORD dwPrefWinCodePage,
2103 IStream* pstmIn,
2104 DetectEncodingInfo* lpEncoding,
2105 INT* pnScores);
2106 void __RPC_STUB IMultiLanguage2_DetectCodepageInIStream_Stub(
2107 struct IRpcStubBuffer* This,
2108 struct IRpcChannelBuffer* pRpcChannelBuffer,
2109 PRPC_MESSAGE pRpcMessage,
2110 DWORD* pdwStubPhase);
2111 HRESULT CALLBACK IMultiLanguage2_DetectInputCodepage_Proxy(
2112 IMultiLanguage2* This,
2113 DWORD dwFlag,
2114 DWORD dwPrefWinCodePage,
2115 CHAR* pSrcStr,
2116 INT* pcSrcSize,
2117 DetectEncodingInfo* lpEncoding,
2118 INT* pnScores);
2119 void __RPC_STUB IMultiLanguage2_DetectInputCodepage_Stub(
2120 struct IRpcStubBuffer* This,
2121 struct IRpcChannelBuffer* pRpcChannelBuffer,
2122 PRPC_MESSAGE pRpcMessage,
2123 DWORD* pdwStubPhase);
2124 HRESULT CALLBACK IMultiLanguage2_ValidateCodePage_Proxy(
2125 IMultiLanguage2* This,
2126 UINT uiCodePage,
2127 HWND hwnd);
2128 void __RPC_STUB IMultiLanguage2_ValidateCodePage_Stub(
2129 struct IRpcStubBuffer* This,
2130 struct IRpcChannelBuffer* pRpcChannelBuffer,
2131 PRPC_MESSAGE pRpcMessage,
2132 DWORD* pdwStubPhase);
2133 HRESULT CALLBACK IMultiLanguage2_GetCodePageDescription_Proxy(
2134 IMultiLanguage2* This,
2135 UINT uiCodePage,
2136 LCID lcid,
2137 LPWSTR lpWideCharStr,
2138 int cchWideChar);
2139 void __RPC_STUB IMultiLanguage2_GetCodePageDescription_Stub(
2140 struct IRpcStubBuffer* This,
2141 struct IRpcChannelBuffer* pRpcChannelBuffer,
2142 PRPC_MESSAGE pRpcMessage,
2143 DWORD* pdwStubPhase);
2144 HRESULT CALLBACK IMultiLanguage2_IsCodePageInstallable_Proxy(
2145 IMultiLanguage2* This,
2146 UINT uiCodePage);
2147 void __RPC_STUB IMultiLanguage2_IsCodePageInstallable_Stub(
2148 struct IRpcStubBuffer* This,
2149 struct IRpcChannelBuffer* pRpcChannelBuffer,
2150 PRPC_MESSAGE pRpcMessage,
2151 DWORD* pdwStubPhase);
2152 HRESULT CALLBACK IMultiLanguage2_SetMimeDBSource_Proxy(
2153 IMultiLanguage2* This,
2154 MIMECONTF dwSource);
2155 void __RPC_STUB IMultiLanguage2_SetMimeDBSource_Stub(
2156 struct IRpcStubBuffer* This,
2157 struct IRpcChannelBuffer* pRpcChannelBuffer,
2158 PRPC_MESSAGE pRpcMessage,
2159 DWORD* pdwStubPhase);
2160 HRESULT CALLBACK IMultiLanguage2_GetNumberOfScripts_Proxy(
2161 IMultiLanguage2* This,
2162 UINT* pnScripts);
2163 void __RPC_STUB IMultiLanguage2_GetNumberOfScripts_Stub(
2164 struct IRpcStubBuffer* This,
2165 struct IRpcChannelBuffer* pRpcChannelBuffer,
2166 PRPC_MESSAGE pRpcMessage,
2167 DWORD* pdwStubPhase);
2168 HRESULT CALLBACK IMultiLanguage2_EnumScripts_Proxy(
2169 IMultiLanguage2* This,
2170 DWORD dwFlags,
2171 LANGID LangId,
2172 IEnumScript** ppEnumScript);
2173 void __RPC_STUB IMultiLanguage2_EnumScripts_Stub(
2174 struct IRpcStubBuffer* This,
2175 struct IRpcChannelBuffer* pRpcChannelBuffer,
2176 PRPC_MESSAGE pRpcMessage,
2177 DWORD* pdwStubPhase);
2178 HRESULT CALLBACK IMultiLanguage2_ValidateCodePageEx_Proxy(
2179 IMultiLanguage2* This,
2180 UINT uiCodePage,
2181 HWND hwnd,
2182 DWORD dwfIODControl);
2183 void __RPC_STUB IMultiLanguage2_ValidateCodePageEx_Stub(
2184 struct IRpcStubBuffer* This,
2185 struct IRpcChannelBuffer* pRpcChannelBuffer,
2186 PRPC_MESSAGE pRpcMessage,
2187 DWORD* pdwStubPhase);
2189 #endif /* __IMultiLanguage2_INTERFACE_DEFINED__ */
2191 STDAPI LcidToRfc1766A(LCID, LPSTR, INT);
2192 STDAPI LcidToRfc1766W(LCID, LPWSTR, INT);
2193 #define LcidToRfc1766 WINELIB_NAME_AW(LcidToRfc1766)
2194 STDAPI Rfc1766ToLcidA(LCID *, LPCSTR);
2195 STDAPI Rfc1766ToLcidW(LCID *, LPCWSTR);
2196 #define Rfc1766ToLcid WINELIB_NAME_AW(Rfc1766ToLcid)
2197 STDAPI IsConvertINetStringAvailable(DWORD, DWORD);
2198 STDAPI ConvertINetString(LPDWORD, DWORD, DWORD, LPCSTR, LPINT, LPSTR, LPINT);
2199 STDAPI ConvertINetMultiByteToUnicode(LPDWORD, DWORD, LPCSTR, LPINT, LPWSTR, LPINT);
2200 STDAPI ConvertINetUnicodeToMultiByte(LPDWORD, DWORD, LPCWSTR, LPINT, LPSTR, LPINT);
2201 DEFINE_GUID(CLSID_CMultiLanguage, 0x275c23e2, 0x3747, 0x11d0, 0x9f,0xea,0x00,0xaa,0x00,0x3f,0x86,0x46);
2202 DEFINE_GUID(IID_IMLangCodePages, 0x359F3443,0xBD4A,0x11D0,0xB1,0x88,0x00,0xAA,0x00,0x38,0xC9,0x69);
2203 DEFINE_GUID(IID_IMLangFontLink, 0x359F3441,0xBD4A,0x11D0,0xB1,0x88,0x00,0xAA,0x00,0x38,0xC9,0x69);
2204 DEFINE_GUID(IID_IMultiLanguage2, 0xDCCFC164,0x2B38,0x11d2,0xB7,0xEC,0x00,0xC0,0x4F,0x8F,0x5D,0x9A);
2205 DEFINE_GUID(IID_IMultiLanguage, 0x275c23e1,0x3747,0x11d0,0x9f,0xea,0x00,0xaa,0x00,0x3f,0x86,0x46);
2206 DEFINE_GUID(IID_IEnumCodePage, 0x275c23e3,0x3747,0x11d0,0x9f,0xea,0x00,0xaa,0x00,0x3f,0x86,0x46);
2207 DEFINE_GUID(IID_IEnumScript, 0xae5f1430,0x388b,0x11d2,0x83,0x80,0x00,0xc0,0x4f,0x8f,0x5d,0xa1);
2208 #ifdef __cplusplus
2210 #endif
2211 #endif /* __WIDL_MLANG_H */