Program Files directory should not be in windows directory.
[wine/multimedia.git] / include / mlang.h
blob83ed665931ff2b51358143f9a6a99164c2903747
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 ICOM_MSVTABLE_COMPAT_FIELDS
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);
102 /*** IUnknown methods ***/
103 #define IMLangCodePages_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
104 #define IMLangCodePages_AddRef(p) (p)->lpVtbl->AddRef(p)
105 #define IMLangCodePages_Release(p) (p)->lpVtbl->Release(p)
106 /*** IMLangCodePages methods ***/
107 #define IMLangCodePages_GetCharCodePages(p,a,b) (p)->lpVtbl->GetCharCodePages(p,a,b)
108 #define IMLangCodePages_GetStrCodePages(p,a,b,c,d,e) (p)->lpVtbl->GetStrCodePages(p,a,b,c,d,e)
109 #define IMLangCodePages_CodePageToCodePages(p,a,b) (p)->lpVtbl->CodePageToCodePages(p,a,b)
110 #define IMLangCodePages_CodePagesToCodePage(p,a,b,c) (p)->lpVtbl->CodePagesToCodePage(p,a,b,c)
112 #endif
114 #define IMLangCodePages_METHODS \
115 ICOM_MSVTABLE_COMPAT_FIELDS \
116 /*** IUnknown methods ***/ \
117 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
118 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
119 STDMETHOD_(ULONG,Release)(THIS) PURE; \
120 /*** IMLangCodePages methods ***/ \
121 STDMETHOD_(HRESULT,GetCharCodePages)(THIS_ WCHAR chSrc, DWORD* pdwCodePages) PURE; \
122 STDMETHOD_(HRESULT,GetStrCodePages)(THIS_ const WCHAR* pszSrc, long cchSrc, DWORD dwPriorityCodePages, DWORD* pdwCodePages, long* pcchCodePages) PURE; \
123 STDMETHOD_(HRESULT,CodePageToCodePages)(THIS_ UINT uCodePage, DWORD* pdwCodePages) PURE; \
124 STDMETHOD_(HRESULT,CodePagesToCodePage)(THIS_ DWORD dwCodePages, UINT uDefaultCodePage, UINT* puCodePage) PURE;
126 HRESULT CALLBACK IMLangCodePages_GetCharCodePages_Proxy(
127 IMLangCodePages* This,
128 WCHAR chSrc,
129 DWORD* pdwCodePages);
130 void __RPC_STUB IMLangCodePages_GetCharCodePages_Stub(
131 struct IRpcStubBuffer* This,
132 struct IRpcChannelBuffer* pRpcChannelBuffer,
133 PRPC_MESSAGE pRpcMessage,
134 DWORD* pdwStubPhase);
135 HRESULT CALLBACK IMLangCodePages_GetStrCodePages_Proxy(
136 IMLangCodePages* This,
137 const WCHAR* pszSrc,
138 long cchSrc,
139 DWORD dwPriorityCodePages,
140 DWORD* pdwCodePages,
141 long* pcchCodePages);
142 void __RPC_STUB IMLangCodePages_GetStrCodePages_Stub(
143 struct IRpcStubBuffer* This,
144 struct IRpcChannelBuffer* pRpcChannelBuffer,
145 PRPC_MESSAGE pRpcMessage,
146 DWORD* pdwStubPhase);
147 HRESULT CALLBACK IMLangCodePages_CodePageToCodePages_Proxy(
148 IMLangCodePages* This,
149 UINT uCodePage,
150 DWORD* pdwCodePages);
151 void __RPC_STUB IMLangCodePages_CodePageToCodePages_Stub(
152 struct IRpcStubBuffer* This,
153 struct IRpcChannelBuffer* pRpcChannelBuffer,
154 PRPC_MESSAGE pRpcMessage,
155 DWORD* pdwStubPhase);
156 HRESULT CALLBACK IMLangCodePages_CodePagesToCodePage_Proxy(
157 IMLangCodePages* This,
158 DWORD dwCodePages,
159 UINT uDefaultCodePage,
160 UINT* puCodePage);
161 void __RPC_STUB IMLangCodePages_CodePagesToCodePage_Stub(
162 struct IRpcStubBuffer* This,
163 struct IRpcChannelBuffer* pRpcChannelBuffer,
164 PRPC_MESSAGE pRpcMessage,
165 DWORD* pdwStubPhase);
167 #endif /* __IMLangCodePages_INTERFACE_DEFINED__ */
169 #ifndef __IMLangFontLink_FWD_DEFINED__
170 #define __IMLangFontLink_FWD_DEFINED__
171 typedef struct IMLangFontLink IMLangFontLink;
172 #endif
174 /*****************************************************************************
175 * IMLangFontLink interface
177 #ifndef __IMLangFontLink_INTERFACE_DEFINED__
178 #define __IMLangFontLink_INTERFACE_DEFINED__
180 #if defined(__cplusplus) && !defined(CINTERFACE)
181 struct IMLangFontLink : public IMLangCodePages
183 virtual HRESULT STDMETHODCALLTYPE GetFontCodePages(
184 HDC hDC,
185 HFONT hFont,
186 DWORD* pdwCodePages) = 0;
188 virtual HRESULT STDMETHODCALLTYPE MapFont(
189 HDC hDC,
190 DWORD dwCodePages,
191 HFONT hSrcFont,
192 HFONT* phDestFont) = 0;
194 virtual HRESULT STDMETHODCALLTYPE ReleaseFont(
195 HFONT hFont) = 0;
197 virtual HRESULT STDMETHODCALLTYPE ResetFontMapping(
198 ) = 0;
201 #else
202 typedef struct IMLangFontLinkVtbl IMLangFontLinkVtbl;
203 struct IMLangFontLink {
204 const IMLangFontLinkVtbl* lpVtbl;
206 struct IMLangFontLinkVtbl {
207 ICOM_MSVTABLE_COMPAT_FIELDS
209 /*** IUnknown methods ***/
210 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
211 IMLangFontLink* This,
212 REFIID riid,
213 void** ppvObject);
215 ULONG (STDMETHODCALLTYPE *AddRef)(
216 IMLangFontLink* This);
218 ULONG (STDMETHODCALLTYPE *Release)(
219 IMLangFontLink* This);
221 /*** IMLangCodePages methods ***/
222 HRESULT (STDMETHODCALLTYPE *GetCharCodePages)(
223 IMLangFontLink* This,
224 WCHAR chSrc,
225 DWORD* pdwCodePages);
227 HRESULT (STDMETHODCALLTYPE *GetStrCodePages)(
228 IMLangFontLink* This,
229 const WCHAR* pszSrc,
230 long cchSrc,
231 DWORD dwPriorityCodePages,
232 DWORD* pdwCodePages,
233 long* pcchCodePages);
235 HRESULT (STDMETHODCALLTYPE *CodePageToCodePages)(
236 IMLangFontLink* This,
237 UINT uCodePage,
238 DWORD* pdwCodePages);
240 HRESULT (STDMETHODCALLTYPE *CodePagesToCodePage)(
241 IMLangFontLink* This,
242 DWORD dwCodePages,
243 UINT uDefaultCodePage,
244 UINT* puCodePage);
246 /*** IMLangFontLink methods ***/
247 HRESULT (STDMETHODCALLTYPE *GetFontCodePages)(
248 IMLangFontLink* This,
249 HDC hDC,
250 HFONT hFont,
251 DWORD* pdwCodePages);
253 HRESULT (STDMETHODCALLTYPE *MapFont)(
254 IMLangFontLink* This,
255 HDC hDC,
256 DWORD dwCodePages,
257 HFONT hSrcFont,
258 HFONT* phDestFont);
260 HRESULT (STDMETHODCALLTYPE *ReleaseFont)(
261 IMLangFontLink* This,
262 HFONT hFont);
264 HRESULT (STDMETHODCALLTYPE *ResetFontMapping)(
265 IMLangFontLink* This);
269 /*** IUnknown methods ***/
270 #define IMLangFontLink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
271 #define IMLangFontLink_AddRef(p) (p)->lpVtbl->AddRef(p)
272 #define IMLangFontLink_Release(p) (p)->lpVtbl->Release(p)
273 /*** IMLangCodePages methods ***/
274 #define IMLangFontLink_GetCharCodePages(p,a,b) (p)->lpVtbl->GetCharCodePages(p,a,b)
275 #define IMLangFontLink_GetStrCodePages(p,a,b,c,d,e) (p)->lpVtbl->GetStrCodePages(p,a,b,c,d,e)
276 #define IMLangFontLink_CodePageToCodePages(p,a,b) (p)->lpVtbl->CodePageToCodePages(p,a,b)
277 #define IMLangFontLink_CodePagesToCodePage(p,a,b,c) (p)->lpVtbl->CodePagesToCodePage(p,a,b,c)
278 /*** IMLangFontLink methods ***/
279 #define IMLangFontLink_GetFontCodePages(p,a,b,c) (p)->lpVtbl->GetFontCodePages(p,a,b,c)
280 #define IMLangFontLink_MapFont(p,a,b,c,d) (p)->lpVtbl->MapFont(p,a,b,c,d)
281 #define IMLangFontLink_ReleaseFont(p,a) (p)->lpVtbl->ReleaseFont(p,a)
282 #define IMLangFontLink_ResetFontMapping(p) (p)->lpVtbl->ResetFontMapping(p)
284 #endif
286 #define IMLangFontLink_METHODS \
287 ICOM_MSVTABLE_COMPAT_FIELDS \
288 /*** IUnknown methods ***/ \
289 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
290 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
291 STDMETHOD_(ULONG,Release)(THIS) PURE; \
292 /*** IMLangCodePages methods ***/ \
293 STDMETHOD_(HRESULT,GetCharCodePages)(THIS_ WCHAR chSrc, DWORD* pdwCodePages) PURE; \
294 STDMETHOD_(HRESULT,GetStrCodePages)(THIS_ const WCHAR* pszSrc, long cchSrc, DWORD dwPriorityCodePages, DWORD* pdwCodePages, long* pcchCodePages) PURE; \
295 STDMETHOD_(HRESULT,CodePageToCodePages)(THIS_ UINT uCodePage, DWORD* pdwCodePages) PURE; \
296 STDMETHOD_(HRESULT,CodePagesToCodePage)(THIS_ DWORD dwCodePages, UINT uDefaultCodePage, UINT* puCodePage) PURE; \
297 /*** IMLangFontLink methods ***/ \
298 STDMETHOD_(HRESULT,GetFontCodePages)(THIS_ HDC hDC, HFONT hFont, DWORD* pdwCodePages) PURE; \
299 STDMETHOD_(HRESULT,MapFont)(THIS_ HDC hDC, DWORD dwCodePages, HFONT hSrcFont, HFONT* phDestFont) PURE; \
300 STDMETHOD_(HRESULT,ReleaseFont)(THIS_ HFONT hFont) PURE; \
301 STDMETHOD_(HRESULT,ResetFontMapping)(THIS) PURE;
303 HRESULT CALLBACK IMLangFontLink_GetFontCodePages_Proxy(
304 IMLangFontLink* This,
305 HDC hDC,
306 HFONT hFont,
307 DWORD* pdwCodePages);
308 void __RPC_STUB IMLangFontLink_GetFontCodePages_Stub(
309 struct IRpcStubBuffer* This,
310 struct IRpcChannelBuffer* pRpcChannelBuffer,
311 PRPC_MESSAGE pRpcMessage,
312 DWORD* pdwStubPhase);
313 HRESULT CALLBACK IMLangFontLink_MapFont_Proxy(
314 IMLangFontLink* This,
315 HDC hDC,
316 DWORD dwCodePages,
317 HFONT hSrcFont,
318 HFONT* phDestFont);
319 void __RPC_STUB IMLangFontLink_MapFont_Stub(
320 struct IRpcStubBuffer* This,
321 struct IRpcChannelBuffer* pRpcChannelBuffer,
322 PRPC_MESSAGE pRpcMessage,
323 DWORD* pdwStubPhase);
324 HRESULT CALLBACK IMLangFontLink_ReleaseFont_Proxy(
325 IMLangFontLink* This,
326 HFONT hFont);
327 void __RPC_STUB IMLangFontLink_ReleaseFont_Stub(
328 struct IRpcStubBuffer* This,
329 struct IRpcChannelBuffer* pRpcChannelBuffer,
330 PRPC_MESSAGE pRpcMessage,
331 DWORD* pdwStubPhase);
332 HRESULT CALLBACK IMLangFontLink_ResetFontMapping_Proxy(
333 IMLangFontLink* This);
334 void __RPC_STUB IMLangFontLink_ResetFontMapping_Stub(
335 struct IRpcStubBuffer* This,
336 struct IRpcChannelBuffer* pRpcChannelBuffer,
337 PRPC_MESSAGE pRpcMessage,
338 DWORD* pdwStubPhase);
340 #endif /* __IMLangFontLink_INTERFACE_DEFINED__ */
342 #ifndef __IEnumScript_FWD_DEFINED__
343 #define __IEnumScript_FWD_DEFINED__
344 typedef struct IEnumScript IEnumScript;
345 #endif
347 #define MAX_SCRIPT_NAME (48)
349 typedef BYTE SCRIPT_ID;
351 typedef struct tagSCRIPTINFO {
352 SCRIPT_ID ScriptId;
353 UINT uiCodePage;
354 WCHAR wszDescription[48];
355 WCHAR wszFixedWidthFont[1];
356 WCHAR wszProportionalFont[1];
357 } SCRIPTINFO, *PSCRIPTINFO;
359 /*****************************************************************************
360 * IEnumScript interface
362 #ifndef __IEnumScript_INTERFACE_DEFINED__
363 #define __IEnumScript_INTERFACE_DEFINED__
365 #if defined(__cplusplus) && !defined(CINTERFACE)
366 struct IEnumScript : public IUnknown
368 virtual HRESULT STDMETHODCALLTYPE Clone(
369 IEnumScript** ppEnum) = 0;
371 virtual HRESULT STDMETHODCALLTYPE Next(
372 ULONG celt,
373 PSCRIPTINFO rgelt,
374 ULONG* pceltFetched) = 0;
376 virtual HRESULT STDMETHODCALLTYPE Reset(
377 ) = 0;
379 virtual HRESULT STDMETHODCALLTYPE Skip(
380 ULONG celt) = 0;
383 #else
384 typedef struct IEnumScriptVtbl IEnumScriptVtbl;
385 struct IEnumScript {
386 const IEnumScriptVtbl* lpVtbl;
388 struct IEnumScriptVtbl {
389 ICOM_MSVTABLE_COMPAT_FIELDS
391 /*** IUnknown methods ***/
392 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
393 IEnumScript* This,
394 REFIID riid,
395 void** ppvObject);
397 ULONG (STDMETHODCALLTYPE *AddRef)(
398 IEnumScript* This);
400 ULONG (STDMETHODCALLTYPE *Release)(
401 IEnumScript* This);
403 /*** IEnumScript methods ***/
404 HRESULT (STDMETHODCALLTYPE *Clone)(
405 IEnumScript* This,
406 IEnumScript** ppEnum);
408 HRESULT (STDMETHODCALLTYPE *Next)(
409 IEnumScript* This,
410 ULONG celt,
411 PSCRIPTINFO rgelt,
412 ULONG* pceltFetched);
414 HRESULT (STDMETHODCALLTYPE *Reset)(
415 IEnumScript* This);
417 HRESULT (STDMETHODCALLTYPE *Skip)(
418 IEnumScript* This,
419 ULONG celt);
423 /*** IUnknown methods ***/
424 #define IEnumScript_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
425 #define IEnumScript_AddRef(p) (p)->lpVtbl->AddRef(p)
426 #define IEnumScript_Release(p) (p)->lpVtbl->Release(p)
427 /*** IEnumScript methods ***/
428 #define IEnumScript_Clone(p,a) (p)->lpVtbl->Clone(p,a)
429 #define IEnumScript_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
430 #define IEnumScript_Reset(p) (p)->lpVtbl->Reset(p)
431 #define IEnumScript_Skip(p,a) (p)->lpVtbl->Skip(p,a)
433 #endif
435 #define IEnumScript_METHODS \
436 ICOM_MSVTABLE_COMPAT_FIELDS \
437 /*** IUnknown methods ***/ \
438 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
439 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
440 STDMETHOD_(ULONG,Release)(THIS) PURE; \
441 /*** IEnumScript methods ***/ \
442 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumScript** ppEnum) PURE; \
443 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, PSCRIPTINFO rgelt, ULONG* pceltFetched) PURE; \
444 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
445 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
447 HRESULT CALLBACK IEnumScript_Clone_Proxy(
448 IEnumScript* This,
449 IEnumScript** ppEnum);
450 void __RPC_STUB IEnumScript_Clone_Stub(
451 struct IRpcStubBuffer* This,
452 struct IRpcChannelBuffer* pRpcChannelBuffer,
453 PRPC_MESSAGE pRpcMessage,
454 DWORD* pdwStubPhase);
455 HRESULT CALLBACK IEnumScript_Next_Proxy(
456 IEnumScript* This,
457 ULONG celt,
458 PSCRIPTINFO rgelt,
459 ULONG* pceltFetched);
460 void __RPC_STUB IEnumScript_Next_Stub(
461 struct IRpcStubBuffer* This,
462 struct IRpcChannelBuffer* pRpcChannelBuffer,
463 PRPC_MESSAGE pRpcMessage,
464 DWORD* pdwStubPhase);
465 HRESULT CALLBACK IEnumScript_Reset_Proxy(
466 IEnumScript* This);
467 void __RPC_STUB IEnumScript_Reset_Stub(
468 struct IRpcStubBuffer* This,
469 struct IRpcChannelBuffer* pRpcChannelBuffer,
470 PRPC_MESSAGE pRpcMessage,
471 DWORD* pdwStubPhase);
472 HRESULT CALLBACK IEnumScript_Skip_Proxy(
473 IEnumScript* This,
474 ULONG celt);
475 void __RPC_STUB IEnumScript_Skip_Stub(
476 struct IRpcStubBuffer* This,
477 struct IRpcChannelBuffer* pRpcChannelBuffer,
478 PRPC_MESSAGE pRpcMessage,
479 DWORD* pdwStubPhase);
481 #endif /* __IEnumScript_INTERFACE_DEFINED__ */
483 #ifndef __IEnumCodePage_FWD_DEFINED__
484 #define __IEnumCodePage_FWD_DEFINED__
485 typedef struct IEnumCodePage IEnumCodePage;
486 #endif
488 #define MAX_MIMECP_NAME (64)
490 #define MAX_MIMECSET_NAME (50)
492 #define MAX_MIMEFACE_NAME (32)
494 typedef enum tagMIMECONTF {
495 MIMECONTF_MAILNEWS = 0x1,
496 MIMECONTF_BROWSER = 0x2,
497 MIMECONTF_MINIMAL = 0x4,
498 MIMECONTF_IMPORT = 0x8,
499 MIMECONTF_SAVABLE_MAILNEWS = 0x100,
500 MIMECONTF_SAVABLE_BROWSER = 0x200,
501 MIMECONTF_EXPORT = 0x400,
502 MIMECONTF_PRIVCONVERTER = 0x10000,
503 MIMECONTF_VALID = 0x20000,
504 MIMECONTF_VALID_NLS = 0x40000,
505 MIMECONTF_MIME_IE4 = 0x10000000,
506 MIMECONTF_MIME_LATEST = 0x20000000,
507 MIMECONTF_MIME_REGISTRY = 0x40000000
508 } MIMECONTF;
510 typedef struct tagMIMECPINFO {
511 DWORD dwFlags;
512 UINT uiCodePage;
513 UINT uiFamilyCodePage;
514 WCHAR wszDescription[64];
515 WCHAR wszWebCharset[50];
516 WCHAR wszHeaderCharset[50];
517 WCHAR wszBodyCharset[50];
518 WCHAR wszFixedWidthFont[32];
519 WCHAR wszProportionalFont[32];
520 BYTE bGDICharset;
521 } MIMECPINFO, *PMIMECPINFO;
523 typedef struct tagMIMECSETINFO {
524 UINT uiCodePage;
525 UINT uiInternetEncoding;
526 WCHAR wszCharset[50];
527 } MIMECSETINFO, *PMIMECSETINFO;
529 /*****************************************************************************
530 * IEnumCodePage interface
532 #ifndef __IEnumCodePage_INTERFACE_DEFINED__
533 #define __IEnumCodePage_INTERFACE_DEFINED__
535 #if defined(__cplusplus) && !defined(CINTERFACE)
536 struct IEnumCodePage : public IUnknown
538 virtual HRESULT STDMETHODCALLTYPE Clone(
539 IEnumCodePage** ppEnum) = 0;
541 virtual HRESULT STDMETHODCALLTYPE Next(
542 ULONG celt,
543 PMIMECPINFO rgelt,
544 ULONG* pceltFetched) = 0;
546 virtual HRESULT STDMETHODCALLTYPE Reset(
547 ) = 0;
549 virtual HRESULT STDMETHODCALLTYPE Skip(
550 ULONG celt) = 0;
553 #else
554 typedef struct IEnumCodePageVtbl IEnumCodePageVtbl;
555 struct IEnumCodePage {
556 const IEnumCodePageVtbl* lpVtbl;
558 struct IEnumCodePageVtbl {
559 ICOM_MSVTABLE_COMPAT_FIELDS
561 /*** IUnknown methods ***/
562 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
563 IEnumCodePage* This,
564 REFIID riid,
565 void** ppvObject);
567 ULONG (STDMETHODCALLTYPE *AddRef)(
568 IEnumCodePage* This);
570 ULONG (STDMETHODCALLTYPE *Release)(
571 IEnumCodePage* This);
573 /*** IEnumCodePage methods ***/
574 HRESULT (STDMETHODCALLTYPE *Clone)(
575 IEnumCodePage* This,
576 IEnumCodePage** ppEnum);
578 HRESULT (STDMETHODCALLTYPE *Next)(
579 IEnumCodePage* This,
580 ULONG celt,
581 PMIMECPINFO rgelt,
582 ULONG* pceltFetched);
584 HRESULT (STDMETHODCALLTYPE *Reset)(
585 IEnumCodePage* This);
587 HRESULT (STDMETHODCALLTYPE *Skip)(
588 IEnumCodePage* This,
589 ULONG celt);
593 /*** IUnknown methods ***/
594 #define IEnumCodePage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
595 #define IEnumCodePage_AddRef(p) (p)->lpVtbl->AddRef(p)
596 #define IEnumCodePage_Release(p) (p)->lpVtbl->Release(p)
597 /*** IEnumCodePage methods ***/
598 #define IEnumCodePage_Clone(p,a) (p)->lpVtbl->Clone(p,a)
599 #define IEnumCodePage_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
600 #define IEnumCodePage_Reset(p) (p)->lpVtbl->Reset(p)
601 #define IEnumCodePage_Skip(p,a) (p)->lpVtbl->Skip(p,a)
603 #endif
605 #define IEnumCodePage_METHODS \
606 ICOM_MSVTABLE_COMPAT_FIELDS \
607 /*** IUnknown methods ***/ \
608 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
609 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
610 STDMETHOD_(ULONG,Release)(THIS) PURE; \
611 /*** IEnumCodePage methods ***/ \
612 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumCodePage** ppEnum) PURE; \
613 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, PMIMECPINFO rgelt, ULONG* pceltFetched) PURE; \
614 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
615 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
617 HRESULT CALLBACK IEnumCodePage_Clone_Proxy(
618 IEnumCodePage* This,
619 IEnumCodePage** ppEnum);
620 void __RPC_STUB IEnumCodePage_Clone_Stub(
621 struct IRpcStubBuffer* This,
622 struct IRpcChannelBuffer* pRpcChannelBuffer,
623 PRPC_MESSAGE pRpcMessage,
624 DWORD* pdwStubPhase);
625 HRESULT CALLBACK IEnumCodePage_Next_Proxy(
626 IEnumCodePage* This,
627 ULONG celt,
628 PMIMECPINFO rgelt,
629 ULONG* pceltFetched);
630 void __RPC_STUB IEnumCodePage_Next_Stub(
631 struct IRpcStubBuffer* This,
632 struct IRpcChannelBuffer* pRpcChannelBuffer,
633 PRPC_MESSAGE pRpcMessage,
634 DWORD* pdwStubPhase);
635 HRESULT CALLBACK IEnumCodePage_Reset_Proxy(
636 IEnumCodePage* This);
637 void __RPC_STUB IEnumCodePage_Reset_Stub(
638 struct IRpcStubBuffer* This,
639 struct IRpcChannelBuffer* pRpcChannelBuffer,
640 PRPC_MESSAGE pRpcMessage,
641 DWORD* pdwStubPhase);
642 HRESULT CALLBACK IEnumCodePage_Skip_Proxy(
643 IEnumCodePage* This,
644 ULONG celt);
645 void __RPC_STUB IEnumCodePage_Skip_Stub(
646 struct IRpcStubBuffer* This,
647 struct IRpcChannelBuffer* pRpcChannelBuffer,
648 PRPC_MESSAGE pRpcMessage,
649 DWORD* pdwStubPhase);
651 #endif /* __IEnumCodePage_INTERFACE_DEFINED__ */
653 #ifndef __IMLangConvertCharset_FWD_DEFINED__
654 #define __IMLangConvertCharset_FWD_DEFINED__
655 typedef struct IMLangConvertCharset IMLangConvertCharset;
656 #endif
658 /*****************************************************************************
659 * IMLangConvertCharset interface
661 #ifndef __IMLangConvertCharset_INTERFACE_DEFINED__
662 #define __IMLangConvertCharset_INTERFACE_DEFINED__
664 #if defined(__cplusplus) && !defined(CINTERFACE)
665 struct IMLangConvertCharset : public IUnknown
667 virtual HRESULT STDMETHODCALLTYPE Initialize(
668 UINT uiSrcCodePage,
669 UINT uiDstCodePage,
670 DWORD dwProperty) = 0;
672 virtual HRESULT STDMETHODCALLTYPE GetSourceCodePage(
673 UINT* puiSrcCodePage) = 0;
675 virtual HRESULT STDMETHODCALLTYPE GetDestinationCodePage(
676 UINT* puiDstCodePage) = 0;
678 virtual HRESULT STDMETHODCALLTYPE GetProperty(
679 DWORD* pdwProperty) = 0;
681 virtual HRESULT STDMETHODCALLTYPE DoConversion(
682 BYTE* pSrcStr,
683 UINT* pcSrcSize,
684 BYTE* pDstStr,
685 UINT* pcDstSize) = 0;
687 virtual HRESULT STDMETHODCALLTYPE DoConversionToUnicode(
688 CHAR* pSrcStr,
689 UINT* pcSrcSize,
690 WCHAR* pDstStr,
691 UINT* pcDstSize) = 0;
693 virtual HRESULT STDMETHODCALLTYPE DoConversionFromUnicode(
694 WCHAR* pSrcStr,
695 UINT* pcSrcSize,
696 CHAR* pDstStr,
697 UINT* pcDstSize) = 0;
700 #else
701 typedef struct IMLangConvertCharsetVtbl IMLangConvertCharsetVtbl;
702 struct IMLangConvertCharset {
703 const IMLangConvertCharsetVtbl* lpVtbl;
705 struct IMLangConvertCharsetVtbl {
706 ICOM_MSVTABLE_COMPAT_FIELDS
708 /*** IUnknown methods ***/
709 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
710 IMLangConvertCharset* This,
711 REFIID riid,
712 void** ppvObject);
714 ULONG (STDMETHODCALLTYPE *AddRef)(
715 IMLangConvertCharset* This);
717 ULONG (STDMETHODCALLTYPE *Release)(
718 IMLangConvertCharset* This);
720 /*** IMLangConvertCharset methods ***/
721 HRESULT (STDMETHODCALLTYPE *Initialize)(
722 IMLangConvertCharset* This,
723 UINT uiSrcCodePage,
724 UINT uiDstCodePage,
725 DWORD dwProperty);
727 HRESULT (STDMETHODCALLTYPE *GetSourceCodePage)(
728 IMLangConvertCharset* This,
729 UINT* puiSrcCodePage);
731 HRESULT (STDMETHODCALLTYPE *GetDestinationCodePage)(
732 IMLangConvertCharset* This,
733 UINT* puiDstCodePage);
735 HRESULT (STDMETHODCALLTYPE *GetProperty)(
736 IMLangConvertCharset* This,
737 DWORD* pdwProperty);
739 HRESULT (STDMETHODCALLTYPE *DoConversion)(
740 IMLangConvertCharset* This,
741 BYTE* pSrcStr,
742 UINT* pcSrcSize,
743 BYTE* pDstStr,
744 UINT* pcDstSize);
746 HRESULT (STDMETHODCALLTYPE *DoConversionToUnicode)(
747 IMLangConvertCharset* This,
748 CHAR* pSrcStr,
749 UINT* pcSrcSize,
750 WCHAR* pDstStr,
751 UINT* pcDstSize);
753 HRESULT (STDMETHODCALLTYPE *DoConversionFromUnicode)(
754 IMLangConvertCharset* This,
755 WCHAR* pSrcStr,
756 UINT* pcSrcSize,
757 CHAR* pDstStr,
758 UINT* pcDstSize);
762 /*** IUnknown methods ***/
763 #define IMLangConvertCharset_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
764 #define IMLangConvertCharset_AddRef(p) (p)->lpVtbl->AddRef(p)
765 #define IMLangConvertCharset_Release(p) (p)->lpVtbl->Release(p)
766 /*** IMLangConvertCharset methods ***/
767 #define IMLangConvertCharset_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
768 #define IMLangConvertCharset_GetSourceCodePage(p,a) (p)->lpVtbl->GetSourceCodePage(p,a)
769 #define IMLangConvertCharset_GetDestinationCodePage(p,a) (p)->lpVtbl->GetDestinationCodePage(p,a)
770 #define IMLangConvertCharset_GetProperty(p,a) (p)->lpVtbl->GetProperty(p,a)
771 #define IMLangConvertCharset_DoConversion(p,a,b,c,d) (p)->lpVtbl->DoConversion(p,a,b,c,d)
772 #define IMLangConvertCharset_DoConversionToUnicode(p,a,b,c,d) (p)->lpVtbl->DoConversionToUnicode(p,a,b,c,d)
773 #define IMLangConvertCharset_DoConversionFromUnicode(p,a,b,c,d) (p)->lpVtbl->DoConversionFromUnicode(p,a,b,c,d)
775 #endif
777 #define IMLangConvertCharset_METHODS \
778 ICOM_MSVTABLE_COMPAT_FIELDS \
779 /*** IUnknown methods ***/ \
780 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
781 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
782 STDMETHOD_(ULONG,Release)(THIS) PURE; \
783 /*** IMLangConvertCharset methods ***/ \
784 STDMETHOD_(HRESULT,Initialize)(THIS_ UINT uiSrcCodePage, UINT uiDstCodePage, DWORD dwProperty) PURE; \
785 STDMETHOD_(HRESULT,GetSourceCodePage)(THIS_ UINT* puiSrcCodePage) PURE; \
786 STDMETHOD_(HRESULT,GetDestinationCodePage)(THIS_ UINT* puiDstCodePage) PURE; \
787 STDMETHOD_(HRESULT,GetProperty)(THIS_ DWORD* pdwProperty) PURE; \
788 STDMETHOD_(HRESULT,DoConversion)(THIS_ BYTE* pSrcStr, UINT* pcSrcSize, BYTE* pDstStr, UINT* pcDstSize) PURE; \
789 STDMETHOD_(HRESULT,DoConversionToUnicode)(THIS_ CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize) PURE; \
790 STDMETHOD_(HRESULT,DoConversionFromUnicode)(THIS_ WCHAR* pSrcStr, UINT* pcSrcSize, CHAR* pDstStr, UINT* pcDstSize) PURE;
792 HRESULT CALLBACK IMLangConvertCharset_Initialize_Proxy(
793 IMLangConvertCharset* This,
794 UINT uiSrcCodePage,
795 UINT uiDstCodePage,
796 DWORD dwProperty);
797 void __RPC_STUB IMLangConvertCharset_Initialize_Stub(
798 struct IRpcStubBuffer* This,
799 struct IRpcChannelBuffer* pRpcChannelBuffer,
800 PRPC_MESSAGE pRpcMessage,
801 DWORD* pdwStubPhase);
802 HRESULT CALLBACK IMLangConvertCharset_GetSourceCodePage_Proxy(
803 IMLangConvertCharset* This,
804 UINT* puiSrcCodePage);
805 void __RPC_STUB IMLangConvertCharset_GetSourceCodePage_Stub(
806 struct IRpcStubBuffer* This,
807 struct IRpcChannelBuffer* pRpcChannelBuffer,
808 PRPC_MESSAGE pRpcMessage,
809 DWORD* pdwStubPhase);
810 HRESULT CALLBACK IMLangConvertCharset_GetDestinationCodePage_Proxy(
811 IMLangConvertCharset* This,
812 UINT* puiDstCodePage);
813 void __RPC_STUB IMLangConvertCharset_GetDestinationCodePage_Stub(
814 struct IRpcStubBuffer* This,
815 struct IRpcChannelBuffer* pRpcChannelBuffer,
816 PRPC_MESSAGE pRpcMessage,
817 DWORD* pdwStubPhase);
818 HRESULT CALLBACK IMLangConvertCharset_GetProperty_Proxy(
819 IMLangConvertCharset* This,
820 DWORD* pdwProperty);
821 void __RPC_STUB IMLangConvertCharset_GetProperty_Stub(
822 struct IRpcStubBuffer* This,
823 struct IRpcChannelBuffer* pRpcChannelBuffer,
824 PRPC_MESSAGE pRpcMessage,
825 DWORD* pdwStubPhase);
826 HRESULT CALLBACK IMLangConvertCharset_DoConversion_Proxy(
827 IMLangConvertCharset* This,
828 BYTE* pSrcStr,
829 UINT* pcSrcSize,
830 BYTE* pDstStr,
831 UINT* pcDstSize);
832 void __RPC_STUB IMLangConvertCharset_DoConversion_Stub(
833 struct IRpcStubBuffer* This,
834 struct IRpcChannelBuffer* pRpcChannelBuffer,
835 PRPC_MESSAGE pRpcMessage,
836 DWORD* pdwStubPhase);
837 HRESULT CALLBACK IMLangConvertCharset_DoConversionToUnicode_Proxy(
838 IMLangConvertCharset* This,
839 CHAR* pSrcStr,
840 UINT* pcSrcSize,
841 WCHAR* pDstStr,
842 UINT* pcDstSize);
843 void __RPC_STUB IMLangConvertCharset_DoConversionToUnicode_Stub(
844 struct IRpcStubBuffer* This,
845 struct IRpcChannelBuffer* pRpcChannelBuffer,
846 PRPC_MESSAGE pRpcMessage,
847 DWORD* pdwStubPhase);
848 HRESULT CALLBACK IMLangConvertCharset_DoConversionFromUnicode_Proxy(
849 IMLangConvertCharset* This,
850 WCHAR* pSrcStr,
851 UINT* pcSrcSize,
852 CHAR* pDstStr,
853 UINT* pcDstSize);
854 void __RPC_STUB IMLangConvertCharset_DoConversionFromUnicode_Stub(
855 struct IRpcStubBuffer* This,
856 struct IRpcChannelBuffer* pRpcChannelBuffer,
857 PRPC_MESSAGE pRpcMessage,
858 DWORD* pdwStubPhase);
860 #endif /* __IMLangConvertCharset_INTERFACE_DEFINED__ */
862 #ifndef __IEnumRfc1766_FWD_DEFINED__
863 #define __IEnumRfc1766_FWD_DEFINED__
864 typedef struct IEnumRfc1766 IEnumRfc1766;
865 #endif
867 typedef struct tagRFC1766INFO {
868 LCID lcid;
869 WCHAR wszRfc1766[1];
870 WCHAR wszLocaleName[1];
871 } RFC1766INFO, *PRFC1766INFO;
873 /*****************************************************************************
874 * IEnumRfc1766 interface
876 #ifndef __IEnumRfc1766_INTERFACE_DEFINED__
877 #define __IEnumRfc1766_INTERFACE_DEFINED__
879 #if defined(__cplusplus) && !defined(CINTERFACE)
880 struct IEnumRfc1766 : public IUnknown
882 virtual HRESULT STDMETHODCALLTYPE Clone(
883 IEnumRfc1766** ppEnum) = 0;
885 virtual HRESULT STDMETHODCALLTYPE Next(
886 ULONG celt,
887 PRFC1766INFO rgelt,
888 ULONG* pceltFetched) = 0;
890 virtual HRESULT STDMETHODCALLTYPE Reset(
891 ) = 0;
893 virtual HRESULT STDMETHODCALLTYPE Skip(
894 ULONG celt) = 0;
897 #else
898 typedef struct IEnumRfc1766Vtbl IEnumRfc1766Vtbl;
899 struct IEnumRfc1766 {
900 const IEnumRfc1766Vtbl* lpVtbl;
902 struct IEnumRfc1766Vtbl {
903 ICOM_MSVTABLE_COMPAT_FIELDS
905 /*** IUnknown methods ***/
906 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
907 IEnumRfc1766* This,
908 REFIID riid,
909 void** ppvObject);
911 ULONG (STDMETHODCALLTYPE *AddRef)(
912 IEnumRfc1766* This);
914 ULONG (STDMETHODCALLTYPE *Release)(
915 IEnumRfc1766* This);
917 /*** IEnumRfc1766 methods ***/
918 HRESULT (STDMETHODCALLTYPE *Clone)(
919 IEnumRfc1766* This,
920 IEnumRfc1766** ppEnum);
922 HRESULT (STDMETHODCALLTYPE *Next)(
923 IEnumRfc1766* This,
924 ULONG celt,
925 PRFC1766INFO rgelt,
926 ULONG* pceltFetched);
928 HRESULT (STDMETHODCALLTYPE *Reset)(
929 IEnumRfc1766* This);
931 HRESULT (STDMETHODCALLTYPE *Skip)(
932 IEnumRfc1766* This,
933 ULONG celt);
937 /*** IUnknown methods ***/
938 #define IEnumRfc1766_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
939 #define IEnumRfc1766_AddRef(p) (p)->lpVtbl->AddRef(p)
940 #define IEnumRfc1766_Release(p) (p)->lpVtbl->Release(p)
941 /*** IEnumRfc1766 methods ***/
942 #define IEnumRfc1766_Clone(p,a) (p)->lpVtbl->Clone(p,a)
943 #define IEnumRfc1766_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
944 #define IEnumRfc1766_Reset(p) (p)->lpVtbl->Reset(p)
945 #define IEnumRfc1766_Skip(p,a) (p)->lpVtbl->Skip(p,a)
947 #endif
949 #define IEnumRfc1766_METHODS \
950 ICOM_MSVTABLE_COMPAT_FIELDS \
951 /*** IUnknown methods ***/ \
952 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
953 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
954 STDMETHOD_(ULONG,Release)(THIS) PURE; \
955 /*** IEnumRfc1766 methods ***/ \
956 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumRfc1766** ppEnum) PURE; \
957 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, PRFC1766INFO rgelt, ULONG* pceltFetched) PURE; \
958 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
959 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
961 HRESULT CALLBACK IEnumRfc1766_Clone_Proxy(
962 IEnumRfc1766* This,
963 IEnumRfc1766** ppEnum);
964 void __RPC_STUB IEnumRfc1766_Clone_Stub(
965 struct IRpcStubBuffer* This,
966 struct IRpcChannelBuffer* pRpcChannelBuffer,
967 PRPC_MESSAGE pRpcMessage,
968 DWORD* pdwStubPhase);
969 HRESULT CALLBACK IEnumRfc1766_Next_Proxy(
970 IEnumRfc1766* This,
971 ULONG celt,
972 PRFC1766INFO rgelt,
973 ULONG* pceltFetched);
974 void __RPC_STUB IEnumRfc1766_Next_Stub(
975 struct IRpcStubBuffer* This,
976 struct IRpcChannelBuffer* pRpcChannelBuffer,
977 PRPC_MESSAGE pRpcMessage,
978 DWORD* pdwStubPhase);
979 HRESULT CALLBACK IEnumRfc1766_Reset_Proxy(
980 IEnumRfc1766* This);
981 void __RPC_STUB IEnumRfc1766_Reset_Stub(
982 struct IRpcStubBuffer* This,
983 struct IRpcChannelBuffer* pRpcChannelBuffer,
984 PRPC_MESSAGE pRpcMessage,
985 DWORD* pdwStubPhase);
986 HRESULT CALLBACK IEnumRfc1766_Skip_Proxy(
987 IEnumRfc1766* This,
988 ULONG celt);
989 void __RPC_STUB IEnumRfc1766_Skip_Stub(
990 struct IRpcStubBuffer* This,
991 struct IRpcChannelBuffer* pRpcChannelBuffer,
992 PRPC_MESSAGE pRpcMessage,
993 DWORD* pdwStubPhase);
995 #endif /* __IEnumRfc1766_INTERFACE_DEFINED__ */
997 #ifndef __IMultiLanguage_FWD_DEFINED__
998 #define __IMultiLanguage_FWD_DEFINED__
999 typedef struct IMultiLanguage IMultiLanguage;
1000 #endif
1002 /*****************************************************************************
1003 * IMultiLanguage interface
1005 #ifndef __IMultiLanguage_INTERFACE_DEFINED__
1006 #define __IMultiLanguage_INTERFACE_DEFINED__
1008 #if defined(__cplusplus) && !defined(CINTERFACE)
1009 struct IMultiLanguage : public IUnknown
1011 virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo(
1012 UINT* pcCodePage) = 0;
1014 virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo(
1015 UINT uiCodePage,
1016 PMIMECPINFO pCodePageInfo) = 0;
1018 virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage(
1019 UINT uiCodePage,
1020 UINT* puiFamilyCodePage) = 0;
1022 virtual HRESULT STDMETHODCALLTYPE EnumCodePages(
1023 DWORD grfFlags,
1024 IEnumCodePage** ppEnumCodePage) = 0;
1026 virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo(
1027 BSTR Charset,
1028 PMIMECSETINFO pCharsetInfo) = 0;
1030 virtual HRESULT STDMETHODCALLTYPE IsConvertible(
1031 DWORD dwSrcEncoding,
1032 DWORD dwDstEncoding) = 0;
1034 virtual HRESULT STDMETHODCALLTYPE ConvertString(
1035 DWORD* pdwMode,
1036 DWORD dwSrcEncoding,
1037 DWORD dwDstEncoding,
1038 BYTE* pSrcStr,
1039 UINT* pcSrcSize,
1040 BYTE* pDstStr,
1041 UINT* pcDstSize) = 0;
1043 virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode(
1044 DWORD* pdwMode,
1045 DWORD dwEncoding,
1046 CHAR* pSrcStr,
1047 UINT* pcSrcSize,
1048 WCHAR* pDstStr,
1049 UINT* pcDstSize) = 0;
1051 virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode(
1052 DWORD* pdwMode,
1053 DWORD dwEncoding,
1054 WCHAR* pSrcStr,
1055 UINT* pcSrcSize,
1056 CHAR* pDstStr,
1057 UINT* pcDstSize) = 0;
1059 virtual HRESULT STDMETHODCALLTYPE ConvertStringReset(
1060 ) = 0;
1062 virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid(
1063 LCID Locale,
1064 BSTR* pbstrRfc1766) = 0;
1066 virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766(
1067 LCID* pLocale,
1068 BSTR bstrRfc1766) = 0;
1070 virtual HRESULT STDMETHODCALLTYPE EnumRfc1766(
1071 IEnumRfc1766** ppEnumRfc1766) = 0;
1073 virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info(
1074 LCID Locale,
1075 PRFC1766INFO pRfc1766Info) = 0;
1077 virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset(
1078 UINT uiSrcCodePage,
1079 UINT uiDstCodePage,
1080 DWORD dwProperty,
1081 IMLangConvertCharset** ppMLangConvertCharset) = 0;
1084 #else
1085 typedef struct IMultiLanguageVtbl IMultiLanguageVtbl;
1086 struct IMultiLanguage {
1087 const IMultiLanguageVtbl* lpVtbl;
1089 struct IMultiLanguageVtbl {
1090 ICOM_MSVTABLE_COMPAT_FIELDS
1092 /*** IUnknown methods ***/
1093 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1094 IMultiLanguage* This,
1095 REFIID riid,
1096 void** ppvObject);
1098 ULONG (STDMETHODCALLTYPE *AddRef)(
1099 IMultiLanguage* This);
1101 ULONG (STDMETHODCALLTYPE *Release)(
1102 IMultiLanguage* This);
1104 /*** IMultiLanguage methods ***/
1105 HRESULT (STDMETHODCALLTYPE *GetNumberOfCodePageInfo)(
1106 IMultiLanguage* This,
1107 UINT* pcCodePage);
1109 HRESULT (STDMETHODCALLTYPE *GetCodePageInfo)(
1110 IMultiLanguage* This,
1111 UINT uiCodePage,
1112 PMIMECPINFO pCodePageInfo);
1114 HRESULT (STDMETHODCALLTYPE *GetFamilyCodePage)(
1115 IMultiLanguage* This,
1116 UINT uiCodePage,
1117 UINT* puiFamilyCodePage);
1119 HRESULT (STDMETHODCALLTYPE *EnumCodePages)(
1120 IMultiLanguage* This,
1121 DWORD grfFlags,
1122 IEnumCodePage** ppEnumCodePage);
1124 HRESULT (STDMETHODCALLTYPE *GetCharsetInfo)(
1125 IMultiLanguage* This,
1126 BSTR Charset,
1127 PMIMECSETINFO pCharsetInfo);
1129 HRESULT (STDMETHODCALLTYPE *IsConvertible)(
1130 IMultiLanguage* This,
1131 DWORD dwSrcEncoding,
1132 DWORD dwDstEncoding);
1134 HRESULT (STDMETHODCALLTYPE *ConvertString)(
1135 IMultiLanguage* This,
1136 DWORD* pdwMode,
1137 DWORD dwSrcEncoding,
1138 DWORD dwDstEncoding,
1139 BYTE* pSrcStr,
1140 UINT* pcSrcSize,
1141 BYTE* pDstStr,
1142 UINT* pcDstSize);
1144 HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicode)(
1145 IMultiLanguage* This,
1146 DWORD* pdwMode,
1147 DWORD dwEncoding,
1148 CHAR* pSrcStr,
1149 UINT* pcSrcSize,
1150 WCHAR* pDstStr,
1151 UINT* pcDstSize);
1153 HRESULT (STDMETHODCALLTYPE *ConvertStringFromUnicode)(
1154 IMultiLanguage* This,
1155 DWORD* pdwMode,
1156 DWORD dwEncoding,
1157 WCHAR* pSrcStr,
1158 UINT* pcSrcSize,
1159 CHAR* pDstStr,
1160 UINT* pcDstSize);
1162 HRESULT (STDMETHODCALLTYPE *ConvertStringReset)(
1163 IMultiLanguage* This);
1165 HRESULT (STDMETHODCALLTYPE *GetRfc1766FromLcid)(
1166 IMultiLanguage* This,
1167 LCID Locale,
1168 BSTR* pbstrRfc1766);
1170 HRESULT (STDMETHODCALLTYPE *GetLcidFromRfc1766)(
1171 IMultiLanguage* This,
1172 LCID* pLocale,
1173 BSTR bstrRfc1766);
1175 HRESULT (STDMETHODCALLTYPE *EnumRfc1766)(
1176 IMultiLanguage* This,
1177 IEnumRfc1766** ppEnumRfc1766);
1179 HRESULT (STDMETHODCALLTYPE *GetRfc1766Info)(
1180 IMultiLanguage* This,
1181 LCID Locale,
1182 PRFC1766INFO pRfc1766Info);
1184 HRESULT (STDMETHODCALLTYPE *CreateConvertCharset)(
1185 IMultiLanguage* This,
1186 UINT uiSrcCodePage,
1187 UINT uiDstCodePage,
1188 DWORD dwProperty,
1189 IMLangConvertCharset** ppMLangConvertCharset);
1193 /*** IUnknown methods ***/
1194 #define IMultiLanguage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1195 #define IMultiLanguage_AddRef(p) (p)->lpVtbl->AddRef(p)
1196 #define IMultiLanguage_Release(p) (p)->lpVtbl->Release(p)
1197 /*** IMultiLanguage methods ***/
1198 #define IMultiLanguage_GetNumberOfCodePageInfo(p,a) (p)->lpVtbl->GetNumberOfCodePageInfo(p,a)
1199 #define IMultiLanguage_GetCodePageInfo(p,a,b) (p)->lpVtbl->GetCodePageInfo(p,a,b)
1200 #define IMultiLanguage_GetFamilyCodePage(p,a,b) (p)->lpVtbl->GetFamilyCodePage(p,a,b)
1201 #define IMultiLanguage_EnumCodePages(p,a,b) (p)->lpVtbl->EnumCodePages(p,a,b)
1202 #define IMultiLanguage_GetCharsetInfo(p,a,b) (p)->lpVtbl->GetCharsetInfo(p,a,b)
1203 #define IMultiLanguage_IsConvertible(p,a,b) (p)->lpVtbl->IsConvertible(p,a,b)
1204 #define IMultiLanguage_ConvertString(p,a,b,c,d,e,f,g) (p)->lpVtbl->ConvertString(p,a,b,c,d,e,f,g)
1205 #define IMultiLanguage_ConvertStringToUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringToUnicode(p,a,b,c,d,e,f)
1206 #define IMultiLanguage_ConvertStringFromUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringFromUnicode(p,a,b,c,d,e,f)
1207 #define IMultiLanguage_ConvertStringReset(p) (p)->lpVtbl->ConvertStringReset(p)
1208 #define IMultiLanguage_GetRfc1766FromLcid(p,a,b) (p)->lpVtbl->GetRfc1766FromLcid(p,a,b)
1209 #define IMultiLanguage_GetLcidFromRfc1766(p,a,b) (p)->lpVtbl->GetLcidFromRfc1766(p,a,b)
1210 #define IMultiLanguage_EnumRfc1766(p,a) (p)->lpVtbl->EnumRfc1766(p,a)
1211 #define IMultiLanguage_GetRfc1766Info(p,a,b) (p)->lpVtbl->GetRfc1766Info(p,a,b)
1212 #define IMultiLanguage_CreateConvertCharset(p,a,b,c,d) (p)->lpVtbl->CreateConvertCharset(p,a,b,c,d)
1214 #endif
1216 #define IMultiLanguage_METHODS \
1217 ICOM_MSVTABLE_COMPAT_FIELDS \
1218 /*** IUnknown methods ***/ \
1219 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1220 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1221 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1222 /*** IMultiLanguage methods ***/ \
1223 STDMETHOD_(HRESULT,GetNumberOfCodePageInfo)(THIS_ UINT* pcCodePage) PURE; \
1224 STDMETHOD_(HRESULT,GetCodePageInfo)(THIS_ UINT uiCodePage, PMIMECPINFO pCodePageInfo) PURE; \
1225 STDMETHOD_(HRESULT,GetFamilyCodePage)(THIS_ UINT uiCodePage, UINT* puiFamilyCodePage) PURE; \
1226 STDMETHOD_(HRESULT,EnumCodePages)(THIS_ DWORD grfFlags, IEnumCodePage** ppEnumCodePage) PURE; \
1227 STDMETHOD_(HRESULT,GetCharsetInfo)(THIS_ BSTR Charset, PMIMECSETINFO pCharsetInfo) PURE; \
1228 STDMETHOD_(HRESULT,IsConvertible)(THIS_ DWORD dwSrcEncoding, DWORD dwDstEncoding) PURE; \
1229 STDMETHOD_(HRESULT,ConvertString)(THIS_ DWORD* pdwMode, DWORD dwSrcEncoding, DWORD dwDstEncoding, BYTE* pSrcStr, UINT* pcSrcSize, BYTE* pDstStr, UINT* pcDstSize) PURE; \
1230 STDMETHOD_(HRESULT,ConvertStringToUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize) PURE; \
1231 STDMETHOD_(HRESULT,ConvertStringFromUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, WCHAR* pSrcStr, UINT* pcSrcSize, CHAR* pDstStr, UINT* pcDstSize) PURE; \
1232 STDMETHOD_(HRESULT,ConvertStringReset)(THIS) PURE; \
1233 STDMETHOD_(HRESULT,GetRfc1766FromLcid)(THIS_ LCID Locale, BSTR* pbstrRfc1766) PURE; \
1234 STDMETHOD_(HRESULT,GetLcidFromRfc1766)(THIS_ LCID* pLocale, BSTR bstrRfc1766) PURE; \
1235 STDMETHOD_(HRESULT,EnumRfc1766)(THIS_ IEnumRfc1766** ppEnumRfc1766) PURE; \
1236 STDMETHOD_(HRESULT,GetRfc1766Info)(THIS_ LCID Locale, PRFC1766INFO pRfc1766Info) PURE; \
1237 STDMETHOD_(HRESULT,CreateConvertCharset)(THIS_ UINT uiSrcCodePage, UINT uiDstCodePage, DWORD dwProperty, IMLangConvertCharset** ppMLangConvertCharset) PURE;
1239 HRESULT CALLBACK IMultiLanguage_GetNumberOfCodePageInfo_Proxy(
1240 IMultiLanguage* This,
1241 UINT* pcCodePage);
1242 void __RPC_STUB IMultiLanguage_GetNumberOfCodePageInfo_Stub(
1243 struct IRpcStubBuffer* This,
1244 struct IRpcChannelBuffer* pRpcChannelBuffer,
1245 PRPC_MESSAGE pRpcMessage,
1246 DWORD* pdwStubPhase);
1247 HRESULT CALLBACK IMultiLanguage_GetCodePageInfo_Proxy(
1248 IMultiLanguage* This,
1249 UINT uiCodePage,
1250 PMIMECPINFO pCodePageInfo);
1251 void __RPC_STUB IMultiLanguage_GetCodePageInfo_Stub(
1252 struct IRpcStubBuffer* This,
1253 struct IRpcChannelBuffer* pRpcChannelBuffer,
1254 PRPC_MESSAGE pRpcMessage,
1255 DWORD* pdwStubPhase);
1256 HRESULT CALLBACK IMultiLanguage_GetFamilyCodePage_Proxy(
1257 IMultiLanguage* This,
1258 UINT uiCodePage,
1259 UINT* puiFamilyCodePage);
1260 void __RPC_STUB IMultiLanguage_GetFamilyCodePage_Stub(
1261 struct IRpcStubBuffer* This,
1262 struct IRpcChannelBuffer* pRpcChannelBuffer,
1263 PRPC_MESSAGE pRpcMessage,
1264 DWORD* pdwStubPhase);
1265 HRESULT CALLBACK IMultiLanguage_EnumCodePages_Proxy(
1266 IMultiLanguage* This,
1267 DWORD grfFlags,
1268 IEnumCodePage** ppEnumCodePage);
1269 void __RPC_STUB IMultiLanguage_EnumCodePages_Stub(
1270 struct IRpcStubBuffer* This,
1271 struct IRpcChannelBuffer* pRpcChannelBuffer,
1272 PRPC_MESSAGE pRpcMessage,
1273 DWORD* pdwStubPhase);
1274 HRESULT CALLBACK IMultiLanguage_GetCharsetInfo_Proxy(
1275 IMultiLanguage* This,
1276 BSTR Charset,
1277 PMIMECSETINFO pCharsetInfo);
1278 void __RPC_STUB IMultiLanguage_GetCharsetInfo_Stub(
1279 struct IRpcStubBuffer* This,
1280 struct IRpcChannelBuffer* pRpcChannelBuffer,
1281 PRPC_MESSAGE pRpcMessage,
1282 DWORD* pdwStubPhase);
1283 HRESULT CALLBACK IMultiLanguage_IsConvertible_Proxy(
1284 IMultiLanguage* This,
1285 DWORD dwSrcEncoding,
1286 DWORD dwDstEncoding);
1287 void __RPC_STUB IMultiLanguage_IsConvertible_Stub(
1288 struct IRpcStubBuffer* This,
1289 struct IRpcChannelBuffer* pRpcChannelBuffer,
1290 PRPC_MESSAGE pRpcMessage,
1291 DWORD* pdwStubPhase);
1292 HRESULT CALLBACK IMultiLanguage_ConvertString_Proxy(
1293 IMultiLanguage* This,
1294 DWORD* pdwMode,
1295 DWORD dwSrcEncoding,
1296 DWORD dwDstEncoding,
1297 BYTE* pSrcStr,
1298 UINT* pcSrcSize,
1299 BYTE* pDstStr,
1300 UINT* pcDstSize);
1301 void __RPC_STUB IMultiLanguage_ConvertString_Stub(
1302 struct IRpcStubBuffer* This,
1303 struct IRpcChannelBuffer* pRpcChannelBuffer,
1304 PRPC_MESSAGE pRpcMessage,
1305 DWORD* pdwStubPhase);
1306 HRESULT CALLBACK IMultiLanguage_ConvertStringToUnicode_Proxy(
1307 IMultiLanguage* This,
1308 DWORD* pdwMode,
1309 DWORD dwEncoding,
1310 CHAR* pSrcStr,
1311 UINT* pcSrcSize,
1312 WCHAR* pDstStr,
1313 UINT* pcDstSize);
1314 void __RPC_STUB IMultiLanguage_ConvertStringToUnicode_Stub(
1315 struct IRpcStubBuffer* This,
1316 struct IRpcChannelBuffer* pRpcChannelBuffer,
1317 PRPC_MESSAGE pRpcMessage,
1318 DWORD* pdwStubPhase);
1319 HRESULT CALLBACK IMultiLanguage_ConvertStringFromUnicode_Proxy(
1320 IMultiLanguage* This,
1321 DWORD* pdwMode,
1322 DWORD dwEncoding,
1323 WCHAR* pSrcStr,
1324 UINT* pcSrcSize,
1325 CHAR* pDstStr,
1326 UINT* pcDstSize);
1327 void __RPC_STUB IMultiLanguage_ConvertStringFromUnicode_Stub(
1328 struct IRpcStubBuffer* This,
1329 struct IRpcChannelBuffer* pRpcChannelBuffer,
1330 PRPC_MESSAGE pRpcMessage,
1331 DWORD* pdwStubPhase);
1332 HRESULT CALLBACK IMultiLanguage_ConvertStringReset_Proxy(
1333 IMultiLanguage* This);
1334 void __RPC_STUB IMultiLanguage_ConvertStringReset_Stub(
1335 struct IRpcStubBuffer* This,
1336 struct IRpcChannelBuffer* pRpcChannelBuffer,
1337 PRPC_MESSAGE pRpcMessage,
1338 DWORD* pdwStubPhase);
1339 HRESULT CALLBACK IMultiLanguage_GetRfc1766FromLcid_Proxy(
1340 IMultiLanguage* This,
1341 LCID Locale,
1342 BSTR* pbstrRfc1766);
1343 void __RPC_STUB IMultiLanguage_GetRfc1766FromLcid_Stub(
1344 struct IRpcStubBuffer* This,
1345 struct IRpcChannelBuffer* pRpcChannelBuffer,
1346 PRPC_MESSAGE pRpcMessage,
1347 DWORD* pdwStubPhase);
1348 HRESULT CALLBACK IMultiLanguage_GetLcidFromRfc1766_Proxy(
1349 IMultiLanguage* This,
1350 LCID* pLocale,
1351 BSTR bstrRfc1766);
1352 void __RPC_STUB IMultiLanguage_GetLcidFromRfc1766_Stub(
1353 struct IRpcStubBuffer* This,
1354 struct IRpcChannelBuffer* pRpcChannelBuffer,
1355 PRPC_MESSAGE pRpcMessage,
1356 DWORD* pdwStubPhase);
1357 HRESULT CALLBACK IMultiLanguage_EnumRfc1766_Proxy(
1358 IMultiLanguage* This,
1359 IEnumRfc1766** ppEnumRfc1766);
1360 void __RPC_STUB IMultiLanguage_EnumRfc1766_Stub(
1361 struct IRpcStubBuffer* This,
1362 struct IRpcChannelBuffer* pRpcChannelBuffer,
1363 PRPC_MESSAGE pRpcMessage,
1364 DWORD* pdwStubPhase);
1365 HRESULT CALLBACK IMultiLanguage_GetRfc1766Info_Proxy(
1366 IMultiLanguage* This,
1367 LCID Locale,
1368 PRFC1766INFO pRfc1766Info);
1369 void __RPC_STUB IMultiLanguage_GetRfc1766Info_Stub(
1370 struct IRpcStubBuffer* This,
1371 struct IRpcChannelBuffer* pRpcChannelBuffer,
1372 PRPC_MESSAGE pRpcMessage,
1373 DWORD* pdwStubPhase);
1374 HRESULT CALLBACK IMultiLanguage_CreateConvertCharset_Proxy(
1375 IMultiLanguage* This,
1376 UINT uiSrcCodePage,
1377 UINT uiDstCodePage,
1378 DWORD dwProperty,
1379 IMLangConvertCharset** ppMLangConvertCharset);
1380 void __RPC_STUB IMultiLanguage_CreateConvertCharset_Stub(
1381 struct IRpcStubBuffer* This,
1382 struct IRpcChannelBuffer* pRpcChannelBuffer,
1383 PRPC_MESSAGE pRpcMessage,
1384 DWORD* pdwStubPhase);
1386 #endif /* __IMultiLanguage_INTERFACE_DEFINED__ */
1388 #ifndef __IMultiLanguage2_FWD_DEFINED__
1389 #define __IMultiLanguage2_FWD_DEFINED__
1390 typedef struct IMultiLanguage2 IMultiLanguage2;
1391 #endif
1393 typedef struct tagDetectEncodingInfo {
1394 UINT nLangID;
1395 UINT nCodePage;
1396 INT nDocPercent;
1397 INT nConfidence;
1398 } DetectEncodingInfo, *pDetectEncodingInfo;
1400 /*****************************************************************************
1401 * IMultiLanguage2 interface
1403 #ifndef __IMultiLanguage2_INTERFACE_DEFINED__
1404 #define __IMultiLanguage2_INTERFACE_DEFINED__
1406 #if defined(__cplusplus) && !defined(CINTERFACE)
1407 struct IMultiLanguage2 : public IUnknown
1409 virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo(
1410 UINT* pcCodePage) = 0;
1412 virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo(
1413 UINT uiCodePage,
1414 LANGID LangId,
1415 PMIMECPINFO pCodePageInfo) = 0;
1417 virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage(
1418 UINT uiCodePage,
1419 UINT* puiFamilyCodePage) = 0;
1421 virtual HRESULT STDMETHODCALLTYPE EnumCodePages(
1422 DWORD grfFlags,
1423 LANGID LangId,
1424 IEnumCodePage** ppEnumCodePage) = 0;
1426 virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo(
1427 BSTR Charset,
1428 PMIMECSETINFO pCharsetInfo) = 0;
1430 virtual HRESULT STDMETHODCALLTYPE IsConvertible(
1431 DWORD dwSrcEncoding,
1432 DWORD dwDstEncoding) = 0;
1434 virtual HRESULT STDMETHODCALLTYPE ConvertString(
1435 DWORD* pdwMode,
1436 DWORD dwSrcEncoding,
1437 DWORD dwDstEncoding,
1438 BYTE* pSrcStr,
1439 UINT* pcSrcSize,
1440 BYTE* pDstStr,
1441 UINT* pcDstSize) = 0;
1443 virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode(
1444 DWORD* pdwMode,
1445 DWORD dwEncoding,
1446 CHAR* pSrcStr,
1447 UINT* pcSrcSize,
1448 WCHAR* pDstStr,
1449 UINT* pcDstSize) = 0;
1451 virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode(
1452 DWORD* pdwMode,
1453 DWORD dwEncoding,
1454 WCHAR* pSrcStr,
1455 UINT* pcSrcSize,
1456 CHAR* pDstStr,
1457 UINT* pcDstSize) = 0;
1459 virtual HRESULT STDMETHODCALLTYPE ConvertStringReset(
1460 ) = 0;
1462 virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid(
1463 LCID Locale,
1464 BSTR* pbstrRfc1766) = 0;
1466 virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766(
1467 LCID* pLocale,
1468 BSTR bstrRfc1766) = 0;
1470 virtual HRESULT STDMETHODCALLTYPE EnumRfc1766(
1471 LANGID LangId,
1472 IEnumRfc1766** ppEnumRfc1766) = 0;
1474 virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info(
1475 LCID Locale,
1476 LANGID LangId,
1477 PRFC1766INFO pRfc1766Info) = 0;
1479 virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset(
1480 UINT uiSrcCodePage,
1481 UINT uiDstCodePage,
1482 DWORD dwProperty,
1483 IMLangConvertCharset** ppMLangConvertCharset) = 0;
1485 virtual HRESULT STDMETHODCALLTYPE ConvertStringInIStream(
1486 DWORD* pdwMode,
1487 DWORD dwFlag,
1488 WCHAR* lpFallBack,
1489 DWORD dwSrcEncoding,
1490 DWORD dwDstEncoding,
1491 IStream* pstmIn,
1492 IStream* pstmOut) = 0;
1494 virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicodeEx(
1495 DWORD* pdwMode,
1496 DWORD dwEncoding,
1497 CHAR* pSrcStr,
1498 UINT* pcSrcSize,
1499 WCHAR* pDstStr,
1500 UINT* pcDstSize,
1501 DWORD dwFlag,
1502 WCHAR* lpFallBack) = 0;
1504 virtual HRESULT STDMETHODCALLTYPE DetectCodepageInIStream(
1505 DWORD dwFlag,
1506 DWORD dwPrefWinCodePage,
1507 IStream* pstmIn,
1508 DetectEncodingInfo* lpEncoding,
1509 INT* pnScores) = 0;
1511 virtual HRESULT STDMETHODCALLTYPE DetectInputCodepage(
1512 DWORD dwFlag,
1513 DWORD dwPrefWinCodePage,
1514 CHAR* pSrcStr,
1515 INT* pcSrcSize,
1516 DetectEncodingInfo* lpEncoding,
1517 INT* pnScores) = 0;
1519 virtual HRESULT STDMETHODCALLTYPE ValidateCodePage(
1520 UINT uiCodePage,
1521 HWND hwnd) = 0;
1523 virtual HRESULT STDMETHODCALLTYPE GetCodePageDescription(
1524 UINT uiCodePage,
1525 LCID lcid,
1526 LPWSTR lpWideCharStr,
1527 int cchWideChar) = 0;
1529 virtual HRESULT STDMETHODCALLTYPE IsCodePageInstallable(
1530 UINT uiCodePage) = 0;
1532 virtual HRESULT STDMETHODCALLTYPE SetMimeDBSource(
1533 MIMECONTF dwSource) = 0;
1535 virtual HRESULT STDMETHODCALLTYPE GetNumberOfScripts(
1536 UINT* pnScripts) = 0;
1538 virtual HRESULT STDMETHODCALLTYPE EnumScripts(
1539 DWORD dwFlags,
1540 LANGID LangId,
1541 IEnumScript** ppEnumScript) = 0;
1543 virtual HRESULT STDMETHODCALLTYPE ValidateCodePageEx(
1544 UINT uiCodePage,
1545 HWND hwnd,
1546 DWORD dwfIODControl) = 0;
1549 #else
1550 typedef struct IMultiLanguage2Vtbl IMultiLanguage2Vtbl;
1551 struct IMultiLanguage2 {
1552 const IMultiLanguage2Vtbl* lpVtbl;
1554 struct IMultiLanguage2Vtbl {
1555 ICOM_MSVTABLE_COMPAT_FIELDS
1557 /*** IUnknown methods ***/
1558 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1559 IMultiLanguage2* This,
1560 REFIID riid,
1561 void** ppvObject);
1563 ULONG (STDMETHODCALLTYPE *AddRef)(
1564 IMultiLanguage2* This);
1566 ULONG (STDMETHODCALLTYPE *Release)(
1567 IMultiLanguage2* This);
1569 /*** IMultiLanguage2 methods ***/
1570 HRESULT (STDMETHODCALLTYPE *GetNumberOfCodePageInfo)(
1571 IMultiLanguage2* This,
1572 UINT* pcCodePage);
1574 HRESULT (STDMETHODCALLTYPE *GetCodePageInfo)(
1575 IMultiLanguage2* This,
1576 UINT uiCodePage,
1577 LANGID LangId,
1578 PMIMECPINFO pCodePageInfo);
1580 HRESULT (STDMETHODCALLTYPE *GetFamilyCodePage)(
1581 IMultiLanguage2* This,
1582 UINT uiCodePage,
1583 UINT* puiFamilyCodePage);
1585 HRESULT (STDMETHODCALLTYPE *EnumCodePages)(
1586 IMultiLanguage2* This,
1587 DWORD grfFlags,
1588 LANGID LangId,
1589 IEnumCodePage** ppEnumCodePage);
1591 HRESULT (STDMETHODCALLTYPE *GetCharsetInfo)(
1592 IMultiLanguage2* This,
1593 BSTR Charset,
1594 PMIMECSETINFO pCharsetInfo);
1596 HRESULT (STDMETHODCALLTYPE *IsConvertible)(
1597 IMultiLanguage2* This,
1598 DWORD dwSrcEncoding,
1599 DWORD dwDstEncoding);
1601 HRESULT (STDMETHODCALLTYPE *ConvertString)(
1602 IMultiLanguage2* This,
1603 DWORD* pdwMode,
1604 DWORD dwSrcEncoding,
1605 DWORD dwDstEncoding,
1606 BYTE* pSrcStr,
1607 UINT* pcSrcSize,
1608 BYTE* pDstStr,
1609 UINT* pcDstSize);
1611 HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicode)(
1612 IMultiLanguage2* This,
1613 DWORD* pdwMode,
1614 DWORD dwEncoding,
1615 CHAR* pSrcStr,
1616 UINT* pcSrcSize,
1617 WCHAR* pDstStr,
1618 UINT* pcDstSize);
1620 HRESULT (STDMETHODCALLTYPE *ConvertStringFromUnicode)(
1621 IMultiLanguage2* This,
1622 DWORD* pdwMode,
1623 DWORD dwEncoding,
1624 WCHAR* pSrcStr,
1625 UINT* pcSrcSize,
1626 CHAR* pDstStr,
1627 UINT* pcDstSize);
1629 HRESULT (STDMETHODCALLTYPE *ConvertStringReset)(
1630 IMultiLanguage2* This);
1632 HRESULT (STDMETHODCALLTYPE *GetRfc1766FromLcid)(
1633 IMultiLanguage2* This,
1634 LCID Locale,
1635 BSTR* pbstrRfc1766);
1637 HRESULT (STDMETHODCALLTYPE *GetLcidFromRfc1766)(
1638 IMultiLanguage2* This,
1639 LCID* pLocale,
1640 BSTR bstrRfc1766);
1642 HRESULT (STDMETHODCALLTYPE *EnumRfc1766)(
1643 IMultiLanguage2* This,
1644 LANGID LangId,
1645 IEnumRfc1766** ppEnumRfc1766);
1647 HRESULT (STDMETHODCALLTYPE *GetRfc1766Info)(
1648 IMultiLanguage2* This,
1649 LCID Locale,
1650 LANGID LangId,
1651 PRFC1766INFO pRfc1766Info);
1653 HRESULT (STDMETHODCALLTYPE *CreateConvertCharset)(
1654 IMultiLanguage2* This,
1655 UINT uiSrcCodePage,
1656 UINT uiDstCodePage,
1657 DWORD dwProperty,
1658 IMLangConvertCharset** ppMLangConvertCharset);
1660 HRESULT (STDMETHODCALLTYPE *ConvertStringInIStream)(
1661 IMultiLanguage2* This,
1662 DWORD* pdwMode,
1663 DWORD dwFlag,
1664 WCHAR* lpFallBack,
1665 DWORD dwSrcEncoding,
1666 DWORD dwDstEncoding,
1667 IStream* pstmIn,
1668 IStream* pstmOut);
1670 HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicodeEx)(
1671 IMultiLanguage2* This,
1672 DWORD* pdwMode,
1673 DWORD dwEncoding,
1674 CHAR* pSrcStr,
1675 UINT* pcSrcSize,
1676 WCHAR* pDstStr,
1677 UINT* pcDstSize,
1678 DWORD dwFlag,
1679 WCHAR* lpFallBack);
1681 HRESULT (STDMETHODCALLTYPE *DetectCodepageInIStream)(
1682 IMultiLanguage2* This,
1683 DWORD dwFlag,
1684 DWORD dwPrefWinCodePage,
1685 IStream* pstmIn,
1686 DetectEncodingInfo* lpEncoding,
1687 INT* pnScores);
1689 HRESULT (STDMETHODCALLTYPE *DetectInputCodepage)(
1690 IMultiLanguage2* This,
1691 DWORD dwFlag,
1692 DWORD dwPrefWinCodePage,
1693 CHAR* pSrcStr,
1694 INT* pcSrcSize,
1695 DetectEncodingInfo* lpEncoding,
1696 INT* pnScores);
1698 HRESULT (STDMETHODCALLTYPE *ValidateCodePage)(
1699 IMultiLanguage2* This,
1700 UINT uiCodePage,
1701 HWND hwnd);
1703 HRESULT (STDMETHODCALLTYPE *GetCodePageDescription)(
1704 IMultiLanguage2* This,
1705 UINT uiCodePage,
1706 LCID lcid,
1707 LPWSTR lpWideCharStr,
1708 int cchWideChar);
1710 HRESULT (STDMETHODCALLTYPE *IsCodePageInstallable)(
1711 IMultiLanguage2* This,
1712 UINT uiCodePage);
1714 HRESULT (STDMETHODCALLTYPE *SetMimeDBSource)(
1715 IMultiLanguage2* This,
1716 MIMECONTF dwSource);
1718 HRESULT (STDMETHODCALLTYPE *GetNumberOfScripts)(
1719 IMultiLanguage2* This,
1720 UINT* pnScripts);
1722 HRESULT (STDMETHODCALLTYPE *EnumScripts)(
1723 IMultiLanguage2* This,
1724 DWORD dwFlags,
1725 LANGID LangId,
1726 IEnumScript** ppEnumScript);
1728 HRESULT (STDMETHODCALLTYPE *ValidateCodePageEx)(
1729 IMultiLanguage2* This,
1730 UINT uiCodePage,
1731 HWND hwnd,
1732 DWORD dwfIODControl);
1736 /*** IUnknown methods ***/
1737 #define IMultiLanguage2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1738 #define IMultiLanguage2_AddRef(p) (p)->lpVtbl->AddRef(p)
1739 #define IMultiLanguage2_Release(p) (p)->lpVtbl->Release(p)
1740 /*** IMultiLanguage2 methods ***/
1741 #define IMultiLanguage2_GetNumberOfCodePageInfo(p,a) (p)->lpVtbl->GetNumberOfCodePageInfo(p,a)
1742 #define IMultiLanguage2_GetCodePageInfo(p,a,b,c) (p)->lpVtbl->GetCodePageInfo(p,a,b,c)
1743 #define IMultiLanguage2_GetFamilyCodePage(p,a,b) (p)->lpVtbl->GetFamilyCodePage(p,a,b)
1744 #define IMultiLanguage2_EnumCodePages(p,a,b,c) (p)->lpVtbl->EnumCodePages(p,a,b,c)
1745 #define IMultiLanguage2_GetCharsetInfo(p,a,b) (p)->lpVtbl->GetCharsetInfo(p,a,b)
1746 #define IMultiLanguage2_IsConvertible(p,a,b) (p)->lpVtbl->IsConvertible(p,a,b)
1747 #define IMultiLanguage2_ConvertString(p,a,b,c,d,e,f,g) (p)->lpVtbl->ConvertString(p,a,b,c,d,e,f,g)
1748 #define IMultiLanguage2_ConvertStringToUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringToUnicode(p,a,b,c,d,e,f)
1749 #define IMultiLanguage2_ConvertStringFromUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringFromUnicode(p,a,b,c,d,e,f)
1750 #define IMultiLanguage2_ConvertStringReset(p) (p)->lpVtbl->ConvertStringReset(p)
1751 #define IMultiLanguage2_GetRfc1766FromLcid(p,a,b) (p)->lpVtbl->GetRfc1766FromLcid(p,a,b)
1752 #define IMultiLanguage2_GetLcidFromRfc1766(p,a,b) (p)->lpVtbl->GetLcidFromRfc1766(p,a,b)
1753 #define IMultiLanguage2_EnumRfc1766(p,a,b) (p)->lpVtbl->EnumRfc1766(p,a,b)
1754 #define IMultiLanguage2_GetRfc1766Info(p,a,b,c) (p)->lpVtbl->GetRfc1766Info(p,a,b,c)
1755 #define IMultiLanguage2_CreateConvertCharset(p,a,b,c,d) (p)->lpVtbl->CreateConvertCharset(p,a,b,c,d)
1756 #define IMultiLanguage2_ConvertStringInIStream(p,a,b,c,d,e,f,g) (p)->lpVtbl->ConvertStringInIStream(p,a,b,c,d,e,f,g)
1757 #define IMultiLanguage2_ConvertStringToUnicodeEx(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->ConvertStringToUnicodeEx(p,a,b,c,d,e,f,g,h)
1758 #define IMultiLanguage2_DetectCodepageInIStream(p,a,b,c,d,e) (p)->lpVtbl->DetectCodepageInIStream(p,a,b,c,d,e)
1759 #define IMultiLanguage2_DetectInputCodepage(p,a,b,c,d,e,f) (p)->lpVtbl->DetectInputCodepage(p,a,b,c,d,e,f)
1760 #define IMultiLanguage2_ValidateCodePage(p,a,b) (p)->lpVtbl->ValidateCodePage(p,a,b)
1761 #define IMultiLanguage2_GetCodePageDescription(p,a,b,c,d) (p)->lpVtbl->GetCodePageDescription(p,a,b,c,d)
1762 #define IMultiLanguage2_IsCodePageInstallable(p,a) (p)->lpVtbl->IsCodePageInstallable(p,a)
1763 #define IMultiLanguage2_SetMimeDBSource(p,a) (p)->lpVtbl->SetMimeDBSource(p,a)
1764 #define IMultiLanguage2_GetNumberOfScripts(p,a) (p)->lpVtbl->GetNumberOfScripts(p,a)
1765 #define IMultiLanguage2_EnumScripts(p,a,b,c) (p)->lpVtbl->EnumScripts(p,a,b,c)
1766 #define IMultiLanguage2_ValidateCodePageEx(p,a,b,c) (p)->lpVtbl->ValidateCodePageEx(p,a,b,c)
1768 #endif
1770 #define IMultiLanguage2_METHODS \
1771 ICOM_MSVTABLE_COMPAT_FIELDS \
1772 /*** IUnknown methods ***/ \
1773 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1774 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1775 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1776 /*** IMultiLanguage2 methods ***/ \
1777 STDMETHOD_(HRESULT,GetNumberOfCodePageInfo)(THIS_ UINT* pcCodePage) PURE; \
1778 STDMETHOD_(HRESULT,GetCodePageInfo)(THIS_ UINT uiCodePage, LANGID LangId, PMIMECPINFO pCodePageInfo) PURE; \
1779 STDMETHOD_(HRESULT,GetFamilyCodePage)(THIS_ UINT uiCodePage, UINT* puiFamilyCodePage) PURE; \
1780 STDMETHOD_(HRESULT,EnumCodePages)(THIS_ DWORD grfFlags, LANGID LangId, IEnumCodePage** ppEnumCodePage) PURE; \
1781 STDMETHOD_(HRESULT,GetCharsetInfo)(THIS_ BSTR Charset, PMIMECSETINFO pCharsetInfo) PURE; \
1782 STDMETHOD_(HRESULT,IsConvertible)(THIS_ DWORD dwSrcEncoding, DWORD dwDstEncoding) PURE; \
1783 STDMETHOD_(HRESULT,ConvertString)(THIS_ DWORD* pdwMode, DWORD dwSrcEncoding, DWORD dwDstEncoding, BYTE* pSrcStr, UINT* pcSrcSize, BYTE* pDstStr, UINT* pcDstSize) PURE; \
1784 STDMETHOD_(HRESULT,ConvertStringToUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize) PURE; \
1785 STDMETHOD_(HRESULT,ConvertStringFromUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, WCHAR* pSrcStr, UINT* pcSrcSize, CHAR* pDstStr, UINT* pcDstSize) PURE; \
1786 STDMETHOD_(HRESULT,ConvertStringReset)(THIS) PURE; \
1787 STDMETHOD_(HRESULT,GetRfc1766FromLcid)(THIS_ LCID Locale, BSTR* pbstrRfc1766) PURE; \
1788 STDMETHOD_(HRESULT,GetLcidFromRfc1766)(THIS_ LCID* pLocale, BSTR bstrRfc1766) PURE; \
1789 STDMETHOD_(HRESULT,EnumRfc1766)(THIS_ LANGID LangId, IEnumRfc1766** ppEnumRfc1766) PURE; \
1790 STDMETHOD_(HRESULT,GetRfc1766Info)(THIS_ LCID Locale, LANGID LangId, PRFC1766INFO pRfc1766Info) PURE; \
1791 STDMETHOD_(HRESULT,CreateConvertCharset)(THIS_ UINT uiSrcCodePage, UINT uiDstCodePage, DWORD dwProperty, IMLangConvertCharset** ppMLangConvertCharset) PURE; \
1792 STDMETHOD_(HRESULT,ConvertStringInIStream)(THIS_ DWORD* pdwMode, DWORD dwFlag, WCHAR* lpFallBack, DWORD dwSrcEncoding, DWORD dwDstEncoding, IStream* pstmIn, IStream* pstmOut) PURE; \
1793 STDMETHOD_(HRESULT,ConvertStringToUnicodeEx)(THIS_ DWORD* pdwMode, DWORD dwEncoding, CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize, DWORD dwFlag, WCHAR* lpFallBack) PURE; \
1794 STDMETHOD_(HRESULT,DetectCodepageInIStream)(THIS_ DWORD dwFlag, DWORD dwPrefWinCodePage, IStream* pstmIn, DetectEncodingInfo* lpEncoding, INT* pnScores) PURE; \
1795 STDMETHOD_(HRESULT,DetectInputCodepage)(THIS_ DWORD dwFlag, DWORD dwPrefWinCodePage, CHAR* pSrcStr, INT* pcSrcSize, DetectEncodingInfo* lpEncoding, INT* pnScores) PURE; \
1796 STDMETHOD_(HRESULT,ValidateCodePage)(THIS_ UINT uiCodePage, HWND hwnd) PURE; \
1797 STDMETHOD_(HRESULT,GetCodePageDescription)(THIS_ UINT uiCodePage, LCID lcid, LPWSTR lpWideCharStr, int cchWideChar) PURE; \
1798 STDMETHOD_(HRESULT,IsCodePageInstallable)(THIS_ UINT uiCodePage) PURE; \
1799 STDMETHOD_(HRESULT,SetMimeDBSource)(THIS_ MIMECONTF dwSource) PURE; \
1800 STDMETHOD_(HRESULT,GetNumberOfScripts)(THIS_ UINT* pnScripts) PURE; \
1801 STDMETHOD_(HRESULT,EnumScripts)(THIS_ DWORD dwFlags, LANGID LangId, IEnumScript** ppEnumScript) PURE; \
1802 STDMETHOD_(HRESULT,ValidateCodePageEx)(THIS_ UINT uiCodePage, HWND hwnd, DWORD dwfIODControl) PURE;
1804 HRESULT CALLBACK IMultiLanguage2_GetNumberOfCodePageInfo_Proxy(
1805 IMultiLanguage2* This,
1806 UINT* pcCodePage);
1807 void __RPC_STUB IMultiLanguage2_GetNumberOfCodePageInfo_Stub(
1808 struct IRpcStubBuffer* This,
1809 struct IRpcChannelBuffer* pRpcChannelBuffer,
1810 PRPC_MESSAGE pRpcMessage,
1811 DWORD* pdwStubPhase);
1812 HRESULT CALLBACK IMultiLanguage2_GetCodePageInfo_Proxy(
1813 IMultiLanguage2* This,
1814 UINT uiCodePage,
1815 LANGID LangId,
1816 PMIMECPINFO pCodePageInfo);
1817 void __RPC_STUB IMultiLanguage2_GetCodePageInfo_Stub(
1818 struct IRpcStubBuffer* This,
1819 struct IRpcChannelBuffer* pRpcChannelBuffer,
1820 PRPC_MESSAGE pRpcMessage,
1821 DWORD* pdwStubPhase);
1822 HRESULT CALLBACK IMultiLanguage2_GetFamilyCodePage_Proxy(
1823 IMultiLanguage2* This,
1824 UINT uiCodePage,
1825 UINT* puiFamilyCodePage);
1826 void __RPC_STUB IMultiLanguage2_GetFamilyCodePage_Stub(
1827 struct IRpcStubBuffer* This,
1828 struct IRpcChannelBuffer* pRpcChannelBuffer,
1829 PRPC_MESSAGE pRpcMessage,
1830 DWORD* pdwStubPhase);
1831 HRESULT CALLBACK IMultiLanguage2_EnumCodePages_Proxy(
1832 IMultiLanguage2* This,
1833 DWORD grfFlags,
1834 LANGID LangId,
1835 IEnumCodePage** ppEnumCodePage);
1836 void __RPC_STUB IMultiLanguage2_EnumCodePages_Stub(
1837 struct IRpcStubBuffer* This,
1838 struct IRpcChannelBuffer* pRpcChannelBuffer,
1839 PRPC_MESSAGE pRpcMessage,
1840 DWORD* pdwStubPhase);
1841 HRESULT CALLBACK IMultiLanguage2_GetCharsetInfo_Proxy(
1842 IMultiLanguage2* This,
1843 BSTR Charset,
1844 PMIMECSETINFO pCharsetInfo);
1845 void __RPC_STUB IMultiLanguage2_GetCharsetInfo_Stub(
1846 struct IRpcStubBuffer* This,
1847 struct IRpcChannelBuffer* pRpcChannelBuffer,
1848 PRPC_MESSAGE pRpcMessage,
1849 DWORD* pdwStubPhase);
1850 HRESULT CALLBACK IMultiLanguage2_IsConvertible_Proxy(
1851 IMultiLanguage2* This,
1852 DWORD dwSrcEncoding,
1853 DWORD dwDstEncoding);
1854 void __RPC_STUB IMultiLanguage2_IsConvertible_Stub(
1855 struct IRpcStubBuffer* This,
1856 struct IRpcChannelBuffer* pRpcChannelBuffer,
1857 PRPC_MESSAGE pRpcMessage,
1858 DWORD* pdwStubPhase);
1859 HRESULT CALLBACK IMultiLanguage2_ConvertString_Proxy(
1860 IMultiLanguage2* This,
1861 DWORD* pdwMode,
1862 DWORD dwSrcEncoding,
1863 DWORD dwDstEncoding,
1864 BYTE* pSrcStr,
1865 UINT* pcSrcSize,
1866 BYTE* pDstStr,
1867 UINT* pcDstSize);
1868 void __RPC_STUB IMultiLanguage2_ConvertString_Stub(
1869 struct IRpcStubBuffer* This,
1870 struct IRpcChannelBuffer* pRpcChannelBuffer,
1871 PRPC_MESSAGE pRpcMessage,
1872 DWORD* pdwStubPhase);
1873 HRESULT CALLBACK IMultiLanguage2_ConvertStringToUnicode_Proxy(
1874 IMultiLanguage2* This,
1875 DWORD* pdwMode,
1876 DWORD dwEncoding,
1877 CHAR* pSrcStr,
1878 UINT* pcSrcSize,
1879 WCHAR* pDstStr,
1880 UINT* pcDstSize);
1881 void __RPC_STUB IMultiLanguage2_ConvertStringToUnicode_Stub(
1882 struct IRpcStubBuffer* This,
1883 struct IRpcChannelBuffer* pRpcChannelBuffer,
1884 PRPC_MESSAGE pRpcMessage,
1885 DWORD* pdwStubPhase);
1886 HRESULT CALLBACK IMultiLanguage2_ConvertStringFromUnicode_Proxy(
1887 IMultiLanguage2* This,
1888 DWORD* pdwMode,
1889 DWORD dwEncoding,
1890 WCHAR* pSrcStr,
1891 UINT* pcSrcSize,
1892 CHAR* pDstStr,
1893 UINT* pcDstSize);
1894 void __RPC_STUB IMultiLanguage2_ConvertStringFromUnicode_Stub(
1895 struct IRpcStubBuffer* This,
1896 struct IRpcChannelBuffer* pRpcChannelBuffer,
1897 PRPC_MESSAGE pRpcMessage,
1898 DWORD* pdwStubPhase);
1899 HRESULT CALLBACK IMultiLanguage2_ConvertStringReset_Proxy(
1900 IMultiLanguage2* This);
1901 void __RPC_STUB IMultiLanguage2_ConvertStringReset_Stub(
1902 struct IRpcStubBuffer* This,
1903 struct IRpcChannelBuffer* pRpcChannelBuffer,
1904 PRPC_MESSAGE pRpcMessage,
1905 DWORD* pdwStubPhase);
1906 HRESULT CALLBACK IMultiLanguage2_GetRfc1766FromLcid_Proxy(
1907 IMultiLanguage2* This,
1908 LCID Locale,
1909 BSTR* pbstrRfc1766);
1910 void __RPC_STUB IMultiLanguage2_GetRfc1766FromLcid_Stub(
1911 struct IRpcStubBuffer* This,
1912 struct IRpcChannelBuffer* pRpcChannelBuffer,
1913 PRPC_MESSAGE pRpcMessage,
1914 DWORD* pdwStubPhase);
1915 HRESULT CALLBACK IMultiLanguage2_GetLcidFromRfc1766_Proxy(
1916 IMultiLanguage2* This,
1917 LCID* pLocale,
1918 BSTR bstrRfc1766);
1919 void __RPC_STUB IMultiLanguage2_GetLcidFromRfc1766_Stub(
1920 struct IRpcStubBuffer* This,
1921 struct IRpcChannelBuffer* pRpcChannelBuffer,
1922 PRPC_MESSAGE pRpcMessage,
1923 DWORD* pdwStubPhase);
1924 HRESULT CALLBACK IMultiLanguage2_EnumRfc1766_Proxy(
1925 IMultiLanguage2* This,
1926 LANGID LangId,
1927 IEnumRfc1766** ppEnumRfc1766);
1928 void __RPC_STUB IMultiLanguage2_EnumRfc1766_Stub(
1929 struct IRpcStubBuffer* This,
1930 struct IRpcChannelBuffer* pRpcChannelBuffer,
1931 PRPC_MESSAGE pRpcMessage,
1932 DWORD* pdwStubPhase);
1933 HRESULT CALLBACK IMultiLanguage2_GetRfc1766Info_Proxy(
1934 IMultiLanguage2* This,
1935 LCID Locale,
1936 LANGID LangId,
1937 PRFC1766INFO pRfc1766Info);
1938 void __RPC_STUB IMultiLanguage2_GetRfc1766Info_Stub(
1939 struct IRpcStubBuffer* This,
1940 struct IRpcChannelBuffer* pRpcChannelBuffer,
1941 PRPC_MESSAGE pRpcMessage,
1942 DWORD* pdwStubPhase);
1943 HRESULT CALLBACK IMultiLanguage2_CreateConvertCharset_Proxy(
1944 IMultiLanguage2* This,
1945 UINT uiSrcCodePage,
1946 UINT uiDstCodePage,
1947 DWORD dwProperty,
1948 IMLangConvertCharset** ppMLangConvertCharset);
1949 void __RPC_STUB IMultiLanguage2_CreateConvertCharset_Stub(
1950 struct IRpcStubBuffer* This,
1951 struct IRpcChannelBuffer* pRpcChannelBuffer,
1952 PRPC_MESSAGE pRpcMessage,
1953 DWORD* pdwStubPhase);
1954 HRESULT CALLBACK IMultiLanguage2_ConvertStringInIStream_Proxy(
1955 IMultiLanguage2* This,
1956 DWORD* pdwMode,
1957 DWORD dwFlag,
1958 WCHAR* lpFallBack,
1959 DWORD dwSrcEncoding,
1960 DWORD dwDstEncoding,
1961 IStream* pstmIn,
1962 IStream* pstmOut);
1963 void __RPC_STUB IMultiLanguage2_ConvertStringInIStream_Stub(
1964 struct IRpcStubBuffer* This,
1965 struct IRpcChannelBuffer* pRpcChannelBuffer,
1966 PRPC_MESSAGE pRpcMessage,
1967 DWORD* pdwStubPhase);
1968 HRESULT CALLBACK IMultiLanguage2_ConvertStringToUnicodeEx_Proxy(
1969 IMultiLanguage2* This,
1970 DWORD* pdwMode,
1971 DWORD dwEncoding,
1972 CHAR* pSrcStr,
1973 UINT* pcSrcSize,
1974 WCHAR* pDstStr,
1975 UINT* pcDstSize,
1976 DWORD dwFlag,
1977 WCHAR* lpFallBack);
1978 void __RPC_STUB IMultiLanguage2_ConvertStringToUnicodeEx_Stub(
1979 struct IRpcStubBuffer* This,
1980 struct IRpcChannelBuffer* pRpcChannelBuffer,
1981 PRPC_MESSAGE pRpcMessage,
1982 DWORD* pdwStubPhase);
1983 HRESULT CALLBACK IMultiLanguage2_DetectCodepageInIStream_Proxy(
1984 IMultiLanguage2* This,
1985 DWORD dwFlag,
1986 DWORD dwPrefWinCodePage,
1987 IStream* pstmIn,
1988 DetectEncodingInfo* lpEncoding,
1989 INT* pnScores);
1990 void __RPC_STUB IMultiLanguage2_DetectCodepageInIStream_Stub(
1991 struct IRpcStubBuffer* This,
1992 struct IRpcChannelBuffer* pRpcChannelBuffer,
1993 PRPC_MESSAGE pRpcMessage,
1994 DWORD* pdwStubPhase);
1995 HRESULT CALLBACK IMultiLanguage2_DetectInputCodepage_Proxy(
1996 IMultiLanguage2* This,
1997 DWORD dwFlag,
1998 DWORD dwPrefWinCodePage,
1999 CHAR* pSrcStr,
2000 INT* pcSrcSize,
2001 DetectEncodingInfo* lpEncoding,
2002 INT* pnScores);
2003 void __RPC_STUB IMultiLanguage2_DetectInputCodepage_Stub(
2004 struct IRpcStubBuffer* This,
2005 struct IRpcChannelBuffer* pRpcChannelBuffer,
2006 PRPC_MESSAGE pRpcMessage,
2007 DWORD* pdwStubPhase);
2008 HRESULT CALLBACK IMultiLanguage2_ValidateCodePage_Proxy(
2009 IMultiLanguage2* This,
2010 UINT uiCodePage,
2011 HWND hwnd);
2012 void __RPC_STUB IMultiLanguage2_ValidateCodePage_Stub(
2013 struct IRpcStubBuffer* This,
2014 struct IRpcChannelBuffer* pRpcChannelBuffer,
2015 PRPC_MESSAGE pRpcMessage,
2016 DWORD* pdwStubPhase);
2017 HRESULT CALLBACK IMultiLanguage2_GetCodePageDescription_Proxy(
2018 IMultiLanguage2* This,
2019 UINT uiCodePage,
2020 LCID lcid,
2021 LPWSTR lpWideCharStr,
2022 int cchWideChar);
2023 void __RPC_STUB IMultiLanguage2_GetCodePageDescription_Stub(
2024 struct IRpcStubBuffer* This,
2025 struct IRpcChannelBuffer* pRpcChannelBuffer,
2026 PRPC_MESSAGE pRpcMessage,
2027 DWORD* pdwStubPhase);
2028 HRESULT CALLBACK IMultiLanguage2_IsCodePageInstallable_Proxy(
2029 IMultiLanguage2* This,
2030 UINT uiCodePage);
2031 void __RPC_STUB IMultiLanguage2_IsCodePageInstallable_Stub(
2032 struct IRpcStubBuffer* This,
2033 struct IRpcChannelBuffer* pRpcChannelBuffer,
2034 PRPC_MESSAGE pRpcMessage,
2035 DWORD* pdwStubPhase);
2036 HRESULT CALLBACK IMultiLanguage2_SetMimeDBSource_Proxy(
2037 IMultiLanguage2* This,
2038 MIMECONTF dwSource);
2039 void __RPC_STUB IMultiLanguage2_SetMimeDBSource_Stub(
2040 struct IRpcStubBuffer* This,
2041 struct IRpcChannelBuffer* pRpcChannelBuffer,
2042 PRPC_MESSAGE pRpcMessage,
2043 DWORD* pdwStubPhase);
2044 HRESULT CALLBACK IMultiLanguage2_GetNumberOfScripts_Proxy(
2045 IMultiLanguage2* This,
2046 UINT* pnScripts);
2047 void __RPC_STUB IMultiLanguage2_GetNumberOfScripts_Stub(
2048 struct IRpcStubBuffer* This,
2049 struct IRpcChannelBuffer* pRpcChannelBuffer,
2050 PRPC_MESSAGE pRpcMessage,
2051 DWORD* pdwStubPhase);
2052 HRESULT CALLBACK IMultiLanguage2_EnumScripts_Proxy(
2053 IMultiLanguage2* This,
2054 DWORD dwFlags,
2055 LANGID LangId,
2056 IEnumScript** ppEnumScript);
2057 void __RPC_STUB IMultiLanguage2_EnumScripts_Stub(
2058 struct IRpcStubBuffer* This,
2059 struct IRpcChannelBuffer* pRpcChannelBuffer,
2060 PRPC_MESSAGE pRpcMessage,
2061 DWORD* pdwStubPhase);
2062 HRESULT CALLBACK IMultiLanguage2_ValidateCodePageEx_Proxy(
2063 IMultiLanguage2* This,
2064 UINT uiCodePage,
2065 HWND hwnd,
2066 DWORD dwfIODControl);
2067 void __RPC_STUB IMultiLanguage2_ValidateCodePageEx_Stub(
2068 struct IRpcStubBuffer* This,
2069 struct IRpcChannelBuffer* pRpcChannelBuffer,
2070 PRPC_MESSAGE pRpcMessage,
2071 DWORD* pdwStubPhase);
2073 #endif /* __IMultiLanguage2_INTERFACE_DEFINED__ */
2075 STDAPI LcidToRfc1766A(LCID, LPSTR, INT);
2076 STDAPI LcidToRfc1766W(LCID, LPWSTR, INT);
2077 #define LcidToRfc1766 WINELIB_NAME_AW(LcidToRfc1766)
2078 STDAPI Rfc1766ToLcidA(LCID *, LPCSTR);
2079 STDAPI Rfc1766ToLcidW(LCID *, LPCWSTR);
2080 #define Rfc1766ToLcid WINELIB_NAME_AW(Rfc1766ToLcid)
2081 STDAPI IsConvertINetStringAvailable(DWORD, DWORD);
2082 STDAPI ConvertINetString(LPDWORD, DWORD, DWORD, LPCSTR, LPINT, LPSTR, LPINT);
2083 STDAPI ConvertINetMultiByteToUnicode(LPDWORD, DWORD, LPCSTR, LPINT, LPWSTR, LPINT);
2084 STDAPI ConvertINetUnicodeToMultiByte(LPDWORD, DWORD, LPCWSTR, LPINT, LPSTR, LPINT);
2085 DEFINE_GUID(CLSID_CMultiLanguage, 0x275c23e2, 0x3747, 0x11d0, 0x9f,0xea,0x00,0xaa,0x00,0x3f,0x86,0x46);
2086 DEFINE_GUID(IID_IMLangCodePages, 0x359F3443,0xBD4A,0x11D0,0xB1,0x88,0x00,0xAA,0x00,0x38,0xC9,0x69);
2087 DEFINE_GUID(IID_IMLangFontLink, 0x359F3441,0xBD4A,0x11D0,0xB1,0x88,0x00,0xAA,0x00,0x38,0xC9,0x69);
2088 DEFINE_GUID(IID_IMultiLanguage2, 0xDCCFC164,0x2B38,0x11d2,0xB7,0xEC,0x00,0xC0,0x4F,0x8F,0x5D,0x9A);
2089 DEFINE_GUID(IID_IMultiLanguage, 0x275c23e1,0x3747,0x11d0,0x9f,0xea,0x00,0xaa,0x00,0x3f,0x86,0x46);
2090 DEFINE_GUID(IID_IEnumCodePage, 0x275c23e3,0x3747,0x11d0,0x9f,0xea,0x00,0xaa,0x00,0x3f,0x86,0x46);
2091 #ifdef __cplusplus
2093 #endif
2094 #endif /* __WIDL_MLANG_H */