comparison fuhtark_test/include/winapi/mlang.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
8 #endif
9
10 #include "rpc.h"
11 #include "rpcndr.h"
12
13 #ifndef __RPCNDR_H_VERSION__
14 #error This stub requires an updated version of <rpcndr.h>
15 #endif
16
17 #ifndef __mlang_h__
18 #define __mlang_h__
19
20 #ifndef __IMLangStringBufW_FWD_DEFINED__
21 #define __IMLangStringBufW_FWD_DEFINED__
22 typedef struct IMLangStringBufW IMLangStringBufW;
23 #endif
24
25 #ifndef __IMLangStringBufA_FWD_DEFINED__
26 #define __IMLangStringBufA_FWD_DEFINED__
27 typedef struct IMLangStringBufA IMLangStringBufA;
28 #endif
29
30 #ifndef __IMLangString_FWD_DEFINED__
31 #define __IMLangString_FWD_DEFINED__
32 typedef struct IMLangString IMLangString;
33 #endif
34
35 #ifndef __IMLangStringWStr_FWD_DEFINED__
36 #define __IMLangStringWStr_FWD_DEFINED__
37 typedef struct IMLangStringWStr IMLangStringWStr;
38 #endif
39
40 #ifndef __IMLangStringAStr_FWD_DEFINED__
41 #define __IMLangStringAStr_FWD_DEFINED__
42 typedef struct IMLangStringAStr IMLangStringAStr;
43 #endif
44
45 #ifndef __CMLangString_FWD_DEFINED__
46 #define __CMLangString_FWD_DEFINED__
47
48 #ifdef __cplusplus
49 typedef class CMLangString CMLangString;
50 #else
51 typedef struct CMLangString CMLangString;
52 #endif
53 #endif
54
55 #ifndef __IMLangLineBreakConsole_FWD_DEFINED__
56 #define __IMLangLineBreakConsole_FWD_DEFINED__
57 typedef struct IMLangLineBreakConsole IMLangLineBreakConsole;
58 #endif
59
60 #ifndef __IEnumCodePage_FWD_DEFINED__
61 #define __IEnumCodePage_FWD_DEFINED__
62 typedef struct IEnumCodePage IEnumCodePage;
63 #endif
64
65 #ifndef __IEnumRfc1766_FWD_DEFINED__
66 #define __IEnumRfc1766_FWD_DEFINED__
67 typedef struct IEnumRfc1766 IEnumRfc1766;
68 #endif
69
70 #ifndef __IEnumScript_FWD_DEFINED__
71 #define __IEnumScript_FWD_DEFINED__
72 typedef struct IEnumScript IEnumScript;
73 #endif
74
75 #ifndef __IMLangConvertCharset_FWD_DEFINED__
76 #define __IMLangConvertCharset_FWD_DEFINED__
77 typedef struct IMLangConvertCharset IMLangConvertCharset;
78 #endif
79
80 #ifndef __CMLangConvertCharset_FWD_DEFINED__
81 #define __CMLangConvertCharset_FWD_DEFINED__
82 #ifdef __cplusplus
83 typedef class CMLangConvertCharset CMLangConvertCharset;
84 #else
85 typedef struct CMLangConvertCharset CMLangConvertCharset;
86 #endif
87 #endif
88
89 #ifndef __IMultiLanguage_FWD_DEFINED__
90 #define __IMultiLanguage_FWD_DEFINED__
91 typedef struct IMultiLanguage IMultiLanguage;
92 #endif
93
94 #ifndef __IMultiLanguage2_FWD_DEFINED__
95 #define __IMultiLanguage2_FWD_DEFINED__
96 typedef struct IMultiLanguage2 IMultiLanguage2;
97 #endif
98
99 #ifndef __IMLangCodePages_FWD_DEFINED__
100 #define __IMLangCodePages_FWD_DEFINED__
101 typedef struct IMLangCodePages IMLangCodePages;
102 #endif
103
104 #ifndef __IMLangFontLink_FWD_DEFINED__
105 #define __IMLangFontLink_FWD_DEFINED__
106 typedef struct IMLangFontLink IMLangFontLink;
107 #endif
108
109 #ifndef __IMLangFontLink2_FWD_DEFINED__
110 #define __IMLangFontLink2_FWD_DEFINED__
111 typedef struct IMLangFontLink2 IMLangFontLink2;
112 #endif
113
114 #ifndef __IMultiLanguage3_FWD_DEFINED__
115 #define __IMultiLanguage3_FWD_DEFINED__
116 typedef struct IMultiLanguage3 IMultiLanguage3;
117 #endif
118
119 #ifndef __CMultiLanguage_FWD_DEFINED__
120 #define __CMultiLanguage_FWD_DEFINED__
121 #ifdef __cplusplus
122 typedef class CMultiLanguage CMultiLanguage;
123 #else
124 typedef struct CMultiLanguage CMultiLanguage;
125 #endif
126 #endif
127
128 #include "unknwn.h"
129
130 #ifdef __cplusplus
131 extern "C"{
132 #endif
133
134 #ifndef __MIDL_user_allocate_free_DEFINED__
135 #define __MIDL_user_allocate_free_DEFINED__
136 void *__RPC_API MIDL_user_allocate(size_t);
137 void __RPC_API MIDL_user_free(void *);
138 #endif
139
140 extern RPC_IF_HANDLE __MIDL_itf_mlang_0000_v0_0_c_ifspec;
141 extern RPC_IF_HANDLE __MIDL_itf_mlang_0000_v0_0_s_ifspec;
142
143 #ifndef __MultiLanguage_LIBRARY_DEFINED__
144 #define __MultiLanguage_LIBRARY_DEFINED__
145
146 typedef WORD LANGID;
147
148 typedef enum tagMLSTR_FLAGS {
149 MLSTR_READ = 1,MLSTR_WRITE = 2
150 } MLSTR_FLAGS;
151
152 #define CPIOD_PEEK 0x40000000L
153 #define CPIOD_FORCE_PROMPT 0x80000000L
154
155 EXTERN_C const IID LIBID_MultiLanguage;
156 #ifndef __IMLangStringBufW_INTERFACE_DEFINED__
157 #define __IMLangStringBufW_INTERFACE_DEFINED__
158 EXTERN_C const IID IID_IMLangStringBufW;
159 #if defined(__cplusplus) && !defined(CINTERFACE)
160 struct IMLangStringBufW : public IUnknown {
161 public:
162 virtual HRESULT WINAPI GetStatus(long *plFlags,long *pcchBuf) = 0;
163 virtual HRESULT WINAPI LockBuf(long cchOffset,long cchMaxLock,WCHAR **ppszBuf,long *pcchBuf) = 0;
164 virtual HRESULT WINAPI UnlockBuf(const WCHAR *pszBuf,long cchOffset,long cchWrite) = 0;
165 virtual HRESULT WINAPI Insert(long cchOffset,long cchMaxInsert,long *pcchActual) = 0;
166 virtual HRESULT WINAPI Delete(long cchOffset,long cchDelete) = 0;
167 };
168 #else
169 typedef struct IMLangStringBufWVtbl {
170 BEGIN_INTERFACE
171 HRESULT (WINAPI *QueryInterface)(IMLangStringBufW *This,REFIID riid,void **ppvObject);
172 ULONG (WINAPI *AddRef)(IMLangStringBufW *This);
173 ULONG (WINAPI *Release)(IMLangStringBufW *This);
174 HRESULT (WINAPI *GetStatus)(IMLangStringBufW *This,long *plFlags,long *pcchBuf);
175 HRESULT (WINAPI *LockBuf)(IMLangStringBufW *This,long cchOffset,long cchMaxLock,WCHAR **ppszBuf,long *pcchBuf);
176 HRESULT (WINAPI *UnlockBuf)(IMLangStringBufW *This,const WCHAR *pszBuf,long cchOffset,long cchWrite);
177 HRESULT (WINAPI *Insert)(IMLangStringBufW *This,long cchOffset,long cchMaxInsert,long *pcchActual);
178 HRESULT (WINAPI *Delete)(IMLangStringBufW *This,long cchOffset,long cchDelete);
179 END_INTERFACE
180 } IMLangStringBufWVtbl;
181 struct IMLangStringBufW {
182 CONST_VTBL struct IMLangStringBufWVtbl *lpVtbl;
183 };
184 #ifdef COBJMACROS
185 #define IMLangStringBufW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
186 #define IMLangStringBufW_AddRef(This) (This)->lpVtbl->AddRef(This)
187 #define IMLangStringBufW_Release(This) (This)->lpVtbl->Release(This)
188 #define IMLangStringBufW_GetStatus(This,plFlags,pcchBuf) (This)->lpVtbl->GetStatus(This,plFlags,pcchBuf)
189 #define IMLangStringBufW_LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf) (This)->lpVtbl->LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf)
190 #define IMLangStringBufW_UnlockBuf(This,pszBuf,cchOffset,cchWrite) (This)->lpVtbl->UnlockBuf(This,pszBuf,cchOffset,cchWrite)
191 #define IMLangStringBufW_Insert(This,cchOffset,cchMaxInsert,pcchActual) (This)->lpVtbl->Insert(This,cchOffset,cchMaxInsert,pcchActual)
192 #define IMLangStringBufW_Delete(This,cchOffset,cchDelete) (This)->lpVtbl->Delete(This,cchOffset,cchDelete)
193 #endif
194 #endif
195 HRESULT WINAPI IMLangStringBufW_GetStatus_Proxy(IMLangStringBufW *This,long *plFlags,long *pcchBuf);
196 void __RPC_STUB IMLangStringBufW_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
197 HRESULT WINAPI IMLangStringBufW_LockBuf_Proxy(IMLangStringBufW *This,long cchOffset,long cchMaxLock,WCHAR **ppszBuf,long *pcchBuf);
198 void __RPC_STUB IMLangStringBufW_LockBuf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
199 HRESULT WINAPI IMLangStringBufW_UnlockBuf_Proxy(IMLangStringBufW *This,const WCHAR *pszBuf,long cchOffset,long cchWrite);
200 void __RPC_STUB IMLangStringBufW_UnlockBuf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
201 HRESULT WINAPI IMLangStringBufW_Insert_Proxy(IMLangStringBufW *This,long cchOffset,long cchMaxInsert,long *pcchActual);
202 void __RPC_STUB IMLangStringBufW_Insert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
203 HRESULT WINAPI IMLangStringBufW_Delete_Proxy(IMLangStringBufW *This,long cchOffset,long cchDelete);
204 void __RPC_STUB IMLangStringBufW_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
205 #endif
206
207 #ifndef __IMLangStringBufA_INTERFACE_DEFINED__
208 #define __IMLangStringBufA_INTERFACE_DEFINED__
209 EXTERN_C const IID IID_IMLangStringBufA;
210 #if defined(__cplusplus) && !defined(CINTERFACE)
211 struct IMLangStringBufA : public IUnknown {
212 public:
213 virtual HRESULT WINAPI GetStatus(long *plFlags,long *pcchBuf) = 0;
214 virtual HRESULT WINAPI LockBuf(long cchOffset,long cchMaxLock,CHAR **ppszBuf,long *pcchBuf) = 0;
215 virtual HRESULT WINAPI UnlockBuf(const CHAR *pszBuf,long cchOffset,long cchWrite) = 0;
216 virtual HRESULT WINAPI Insert(long cchOffset,long cchMaxInsert,long *pcchActual) = 0;
217 virtual HRESULT WINAPI Delete(long cchOffset,long cchDelete) = 0;
218 };
219 #else
220 typedef struct IMLangStringBufAVtbl {
221 BEGIN_INTERFACE
222 HRESULT (WINAPI *QueryInterface)(IMLangStringBufA *This,REFIID riid,void **ppvObject);
223 ULONG (WINAPI *AddRef)(IMLangStringBufA *This);
224 ULONG (WINAPI *Release)(IMLangStringBufA *This);
225 HRESULT (WINAPI *GetStatus)(IMLangStringBufA *This,long *plFlags,long *pcchBuf);
226 HRESULT (WINAPI *LockBuf)(IMLangStringBufA *This,long cchOffset,long cchMaxLock,CHAR **ppszBuf,long *pcchBuf);
227 HRESULT (WINAPI *UnlockBuf)(IMLangStringBufA *This,const CHAR *pszBuf,long cchOffset,long cchWrite);
228 HRESULT (WINAPI *Insert)(IMLangStringBufA *This,long cchOffset,long cchMaxInsert,long *pcchActual);
229 HRESULT (WINAPI *Delete)(IMLangStringBufA *This,long cchOffset,long cchDelete);
230 END_INTERFACE
231 } IMLangStringBufAVtbl;
232 struct IMLangStringBufA {
233 CONST_VTBL struct IMLangStringBufAVtbl *lpVtbl;
234 };
235 #ifdef COBJMACROS
236 #define IMLangStringBufA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
237 #define IMLangStringBufA_AddRef(This) (This)->lpVtbl->AddRef(This)
238 #define IMLangStringBufA_Release(This) (This)->lpVtbl->Release(This)
239 #define IMLangStringBufA_GetStatus(This,plFlags,pcchBuf) (This)->lpVtbl->GetStatus(This,plFlags,pcchBuf)
240 #define IMLangStringBufA_LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf) (This)->lpVtbl->LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf)
241 #define IMLangStringBufA_UnlockBuf(This,pszBuf,cchOffset,cchWrite) (This)->lpVtbl->UnlockBuf(This,pszBuf,cchOffset,cchWrite)
242 #define IMLangStringBufA_Insert(This,cchOffset,cchMaxInsert,pcchActual) (This)->lpVtbl->Insert(This,cchOffset,cchMaxInsert,pcchActual)
243 #define IMLangStringBufA_Delete(This,cchOffset,cchDelete) (This)->lpVtbl->Delete(This,cchOffset,cchDelete)
244 #endif
245 #endif
246 HRESULT WINAPI IMLangStringBufA_GetStatus_Proxy(IMLangStringBufA *This,long *plFlags,long *pcchBuf);
247 void __RPC_STUB IMLangStringBufA_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
248 HRESULT WINAPI IMLangStringBufA_LockBuf_Proxy(IMLangStringBufA *This,long cchOffset,long cchMaxLock,CHAR **ppszBuf,long *pcchBuf);
249 void __RPC_STUB IMLangStringBufA_LockBuf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
250 HRESULT WINAPI IMLangStringBufA_UnlockBuf_Proxy(IMLangStringBufA *This,const CHAR *pszBuf,long cchOffset,long cchWrite);
251 void __RPC_STUB IMLangStringBufA_UnlockBuf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
252 HRESULT WINAPI IMLangStringBufA_Insert_Proxy(IMLangStringBufA *This,long cchOffset,long cchMaxInsert,long *pcchActual);
253 void __RPC_STUB IMLangStringBufA_Insert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
254 HRESULT WINAPI IMLangStringBufA_Delete_Proxy(IMLangStringBufA *This,long cchOffset,long cchDelete);
255 void __RPC_STUB IMLangStringBufA_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
256 #endif
257
258 #ifndef __IMLangString_INTERFACE_DEFINED__
259 #define __IMLangString_INTERFACE_DEFINED__
260 EXTERN_C const IID IID_IMLangString;
261 #if defined(__cplusplus) && !defined(CINTERFACE)
262 struct IMLangString : public IUnknown {
263 public:
264 virtual HRESULT WINAPI Sync(WINBOOL fNoAccess) = 0;
265 virtual HRESULT WINAPI GetLength(long *plLen) = 0;
266 virtual HRESULT WINAPI SetMLStr(long lDestPos,long lDestLen,IUnknown *pSrcMLStr,long lSrcPos,long lSrcLen) = 0;
267 virtual HRESULT WINAPI GetMLStr(long lSrcPos,long lSrcLen,IUnknown *pUnkOuter,DWORD dwClsContext,const IID *piid,IUnknown **ppDestMLStr,long *plDestPos,long *plDestLen) = 0;
268 };
269 #else
270 typedef struct IMLangStringVtbl {
271 BEGIN_INTERFACE
272 HRESULT (WINAPI *QueryInterface)(IMLangString *This,REFIID riid,void **ppvObject);
273 ULONG (WINAPI *AddRef)(IMLangString *This);
274 ULONG (WINAPI *Release)(IMLangString *This);
275 HRESULT (WINAPI *Sync)(IMLangString *This,WINBOOL fNoAccess);
276 HRESULT (WINAPI *GetLength)(IMLangString *This,long *plLen);
277 HRESULT (WINAPI *SetMLStr)(IMLangString *This,long lDestPos,long lDestLen,IUnknown *pSrcMLStr,long lSrcPos,long lSrcLen);
278 HRESULT (WINAPI *GetMLStr)(IMLangString *This,long lSrcPos,long lSrcLen,IUnknown *pUnkOuter,DWORD dwClsContext,const IID *piid,IUnknown **ppDestMLStr,long *plDestPos,long *plDestLen);
279 END_INTERFACE
280 } IMLangStringVtbl;
281 struct IMLangString {
282 CONST_VTBL struct IMLangStringVtbl *lpVtbl;
283 };
284 #ifdef COBJMACROS
285 #define IMLangString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
286 #define IMLangString_AddRef(This) (This)->lpVtbl->AddRef(This)
287 #define IMLangString_Release(This) (This)->lpVtbl->Release(This)
288 #define IMLangString_Sync(This,fNoAccess) (This)->lpVtbl->Sync(This,fNoAccess)
289 #define IMLangString_GetLength(This,plLen) (This)->lpVtbl->GetLength(This,plLen)
290 #define IMLangString_SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) (This)->lpVtbl->SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen)
291 #define IMLangString_GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) (This)->lpVtbl->GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen)
292 #endif
293 #endif
294 HRESULT WINAPI IMLangString_Sync_Proxy(IMLangString *This,WINBOOL fNoAccess);
295 void __RPC_STUB IMLangString_Sync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
296 HRESULT WINAPI IMLangString_GetLength_Proxy(IMLangString *This,long *plLen);
297 void __RPC_STUB IMLangString_GetLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
298 HRESULT WINAPI IMLangString_SetMLStr_Proxy(IMLangString *This,long lDestPos,long lDestLen,IUnknown *pSrcMLStr,long lSrcPos,long lSrcLen);
299 void __RPC_STUB IMLangString_SetMLStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
300 HRESULT WINAPI IMLangString_GetMLStr_Proxy(IMLangString *This,long lSrcPos,long lSrcLen,IUnknown *pUnkOuter,DWORD dwClsContext,const IID *piid,IUnknown **ppDestMLStr,long *plDestPos,long *plDestLen);
301 void __RPC_STUB IMLangString_GetMLStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
302 #endif
303
304 #ifndef __IMLangStringWStr_INTERFACE_DEFINED__
305 #define __IMLangStringWStr_INTERFACE_DEFINED__
306 EXTERN_C const IID IID_IMLangStringWStr;
307 #if defined(__cplusplus) && !defined(CINTERFACE)
308 struct IMLangStringWStr : public IMLangString {
309 public:
310 virtual HRESULT WINAPI SetWStr(long lDestPos,long lDestLen,const WCHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen) = 0;
311 virtual HRESULT WINAPI SetStrBufW(long lDestPos,long lDestLen,IMLangStringBufW *pSrcBuf,long *pcchActual,long *plActualLen) = 0;
312 virtual HRESULT WINAPI GetWStr(long lSrcPos,long lSrcLen,WCHAR *pszDest,long cchDest,long *pcchActual,long *plActualLen) = 0;
313 virtual HRESULT WINAPI GetStrBufW(long lSrcPos,long lSrcMaxLen,IMLangStringBufW **ppDestBuf,long *plDestLen) = 0;
314 virtual HRESULT WINAPI LockWStr(long lSrcPos,long lSrcLen,long lFlags,long cchRequest,WCHAR **ppszDest,long *pcchDest,long *plDestLen) = 0;
315 virtual HRESULT WINAPI UnlockWStr(const WCHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen) = 0;
316 virtual HRESULT WINAPI SetLocale(long lDestPos,long lDestLen,LCID locale) = 0;
317 virtual HRESULT WINAPI GetLocale(long lSrcPos,long lSrcMaxLen,LCID *plocale,long *plLocalePos,long *plLocaleLen) = 0;
318 };
319 #else
320 typedef struct IMLangStringWStrVtbl {
321 BEGIN_INTERFACE
322 HRESULT (WINAPI *QueryInterface)(IMLangStringWStr *This,REFIID riid,void **ppvObject);
323 ULONG (WINAPI *AddRef)(IMLangStringWStr *This);
324 ULONG (WINAPI *Release)(IMLangStringWStr *This);
325 HRESULT (WINAPI *Sync)(IMLangStringWStr *This,WINBOOL fNoAccess);
326 HRESULT (WINAPI *GetLength)(IMLangStringWStr *This,long *plLen);
327 HRESULT (WINAPI *SetMLStr)(IMLangStringWStr *This,long lDestPos,long lDestLen,IUnknown *pSrcMLStr,long lSrcPos,long lSrcLen);
328 HRESULT (WINAPI *GetMLStr)(IMLangStringWStr *This,long lSrcPos,long lSrcLen,IUnknown *pUnkOuter,DWORD dwClsContext,const IID *piid,IUnknown **ppDestMLStr,long *plDestPos,long *plDestLen);
329 HRESULT (WINAPI *SetWStr)(IMLangStringWStr *This,long lDestPos,long lDestLen,const WCHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen);
330 HRESULT (WINAPI *SetStrBufW)(IMLangStringWStr *This,long lDestPos,long lDestLen,IMLangStringBufW *pSrcBuf,long *pcchActual,long *plActualLen);
331 HRESULT (WINAPI *GetWStr)(IMLangStringWStr *This,long lSrcPos,long lSrcLen,WCHAR *pszDest,long cchDest,long *pcchActual,long *plActualLen);
332 HRESULT (WINAPI *GetStrBufW)(IMLangStringWStr *This,long lSrcPos,long lSrcMaxLen,IMLangStringBufW **ppDestBuf,long *plDestLen);
333 HRESULT (WINAPI *LockWStr)(IMLangStringWStr *This,long lSrcPos,long lSrcLen,long lFlags,long cchRequest,WCHAR **ppszDest,long *pcchDest,long *plDestLen);
334 HRESULT (WINAPI *UnlockWStr)(IMLangStringWStr *This,const WCHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen);
335 HRESULT (WINAPI *SetLocale)(IMLangStringWStr *This,long lDestPos,long lDestLen,LCID locale);
336 HRESULT (WINAPI *GetLocale)(IMLangStringWStr *This,long lSrcPos,long lSrcMaxLen,LCID *plocale,long *plLocalePos,long *plLocaleLen);
337 END_INTERFACE
338 } IMLangStringWStrVtbl;
339 struct IMLangStringWStr {
340 CONST_VTBL struct IMLangStringWStrVtbl *lpVtbl;
341 };
342 #ifdef COBJMACROS
343 #define IMLangStringWStr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
344 #define IMLangStringWStr_AddRef(This) (This)->lpVtbl->AddRef(This)
345 #define IMLangStringWStr_Release(This) (This)->lpVtbl->Release(This)
346 #define IMLangStringWStr_Sync(This,fNoAccess) (This)->lpVtbl->Sync(This,fNoAccess)
347 #define IMLangStringWStr_GetLength(This,plLen) (This)->lpVtbl->GetLength(This,plLen)
348 #define IMLangStringWStr_SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) (This)->lpVtbl->SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen)
349 #define IMLangStringWStr_GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) (This)->lpVtbl->GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen)
350 #define IMLangStringWStr_SetWStr(This,lDestPos,lDestLen,pszSrc,cchSrc,pcchActual,plActualLen) (This)->lpVtbl->SetWStr(This,lDestPos,lDestLen,pszSrc,cchSrc,pcchActual,plActualLen)
351 #define IMLangStringWStr_SetStrBufW(This,lDestPos,lDestLen,pSrcBuf,pcchActual,plActualLen) (This)->lpVtbl->SetStrBufW(This,lDestPos,lDestLen,pSrcBuf,pcchActual,plActualLen)
352 #define IMLangStringWStr_GetWStr(This,lSrcPos,lSrcLen,pszDest,cchDest,pcchActual,plActualLen) (This)->lpVtbl->GetWStr(This,lSrcPos,lSrcLen,pszDest,cchDest,pcchActual,plActualLen)
353 #define IMLangStringWStr_GetStrBufW(This,lSrcPos,lSrcMaxLen,ppDestBuf,plDestLen) (This)->lpVtbl->GetStrBufW(This,lSrcPos,lSrcMaxLen,ppDestBuf,plDestLen)
354 #define IMLangStringWStr_LockWStr(This,lSrcPos,lSrcLen,lFlags,cchRequest,ppszDest,pcchDest,plDestLen) (This)->lpVtbl->LockWStr(This,lSrcPos,lSrcLen,lFlags,cchRequest,ppszDest,pcchDest,plDestLen)
355 #define IMLangStringWStr_UnlockWStr(This,pszSrc,cchSrc,pcchActual,plActualLen) (This)->lpVtbl->UnlockWStr(This,pszSrc,cchSrc,pcchActual,plActualLen)
356 #define IMLangStringWStr_SetLocale(This,lDestPos,lDestLen,locale) (This)->lpVtbl->SetLocale(This,lDestPos,lDestLen,locale)
357 #define IMLangStringWStr_GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen) (This)->lpVtbl->GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen)
358 #endif
359 #endif
360 HRESULT WINAPI IMLangStringWStr_SetWStr_Proxy(IMLangStringWStr *This,long lDestPos,long lDestLen,const WCHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen);
361 void __RPC_STUB IMLangStringWStr_SetWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
362 HRESULT WINAPI IMLangStringWStr_SetStrBufW_Proxy(IMLangStringWStr *This,long lDestPos,long lDestLen,IMLangStringBufW *pSrcBuf,long *pcchActual,long *plActualLen);
363 void __RPC_STUB IMLangStringWStr_SetStrBufW_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
364 HRESULT WINAPI IMLangStringWStr_GetWStr_Proxy(IMLangStringWStr *This,long lSrcPos,long lSrcLen,WCHAR *pszDest,long cchDest,long *pcchActual,long *plActualLen);
365 void __RPC_STUB IMLangStringWStr_GetWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
366 HRESULT WINAPI IMLangStringWStr_GetStrBufW_Proxy(IMLangStringWStr *This,long lSrcPos,long lSrcMaxLen,IMLangStringBufW **ppDestBuf,long *plDestLen);
367 void __RPC_STUB IMLangStringWStr_GetStrBufW_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
368 HRESULT WINAPI IMLangStringWStr_LockWStr_Proxy(IMLangStringWStr *This,long lSrcPos,long lSrcLen,long lFlags,long cchRequest,WCHAR **ppszDest,long *pcchDest,long *plDestLen);
369 void __RPC_STUB IMLangStringWStr_LockWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
370 HRESULT WINAPI IMLangStringWStr_UnlockWStr_Proxy(IMLangStringWStr *This,const WCHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen);
371 void __RPC_STUB IMLangStringWStr_UnlockWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
372 HRESULT WINAPI IMLangStringWStr_SetLocale_Proxy(IMLangStringWStr *This,long lDestPos,long lDestLen,LCID locale);
373 void __RPC_STUB IMLangStringWStr_SetLocale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
374 HRESULT WINAPI IMLangStringWStr_GetLocale_Proxy(IMLangStringWStr *This,long lSrcPos,long lSrcMaxLen,LCID *plocale,long *plLocalePos,long *plLocaleLen);
375 void __RPC_STUB IMLangStringWStr_GetLocale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
376 #endif
377
378 #ifndef __IMLangStringAStr_INTERFACE_DEFINED__
379 #define __IMLangStringAStr_INTERFACE_DEFINED__
380 EXTERN_C const IID IID_IMLangStringAStr;
381 #if defined(__cplusplus) && !defined(CINTERFACE)
382 struct IMLangStringAStr : public IMLangString {
383 public:
384 virtual HRESULT WINAPI SetAStr(long lDestPos,long lDestLen,UINT uCodePage,const CHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen) = 0;
385 virtual HRESULT WINAPI SetStrBufA(long lDestPos,long lDestLen,UINT uCodePage,IMLangStringBufA *pSrcBuf,long *pcchActual,long *plActualLen) = 0;
386 virtual HRESULT WINAPI GetAStr(long lSrcPos,long lSrcLen,UINT uCodePageIn,UINT *puCodePageOut,CHAR *pszDest,long cchDest,long *pcchActual,long *plActualLen) = 0;
387 virtual HRESULT WINAPI GetStrBufA(long lSrcPos,long lSrcMaxLen,UINT *puDestCodePage,IMLangStringBufA **ppDestBuf,long *plDestLen) = 0;
388 virtual HRESULT WINAPI LockAStr(long lSrcPos,long lSrcLen,long lFlags,UINT uCodePageIn,long cchRequest,UINT *puCodePageOut,CHAR **ppszDest,long *pcchDest,long *plDestLen) = 0;
389 virtual HRESULT WINAPI UnlockAStr(const CHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen) = 0;
390 virtual HRESULT WINAPI SetLocale(long lDestPos,long lDestLen,LCID locale) = 0;
391 virtual HRESULT WINAPI GetLocale(long lSrcPos,long lSrcMaxLen,LCID *plocale,long *plLocalePos,long *plLocaleLen) = 0;
392 };
393 #else
394 typedef struct IMLangStringAStrVtbl {
395 BEGIN_INTERFACE
396 HRESULT (WINAPI *QueryInterface)(IMLangStringAStr *This,REFIID riid,void **ppvObject);
397 ULONG (WINAPI *AddRef)(IMLangStringAStr *This);
398 ULONG (WINAPI *Release)(IMLangStringAStr *This);
399 HRESULT (WINAPI *Sync)(IMLangStringAStr *This,WINBOOL fNoAccess);
400 HRESULT (WINAPI *GetLength)(IMLangStringAStr *This,long *plLen);
401 HRESULT (WINAPI *SetMLStr)(IMLangStringAStr *This,long lDestPos,long lDestLen,IUnknown *pSrcMLStr,long lSrcPos,long lSrcLen);
402 HRESULT (WINAPI *GetMLStr)(IMLangStringAStr *This,long lSrcPos,long lSrcLen,IUnknown *pUnkOuter,DWORD dwClsContext,const IID *piid,IUnknown **ppDestMLStr,long *plDestPos,long *plDestLen);
403 HRESULT (WINAPI *SetAStr)(IMLangStringAStr *This,long lDestPos,long lDestLen,UINT uCodePage,const CHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen);
404 HRESULT (WINAPI *SetStrBufA)(IMLangStringAStr *This,long lDestPos,long lDestLen,UINT uCodePage,IMLangStringBufA *pSrcBuf,long *pcchActual,long *plActualLen);
405 HRESULT (WINAPI *GetAStr)(IMLangStringAStr *This,long lSrcPos,long lSrcLen,UINT uCodePageIn,UINT *puCodePageOut,CHAR *pszDest,long cchDest,long *pcchActual,long *plActualLen);
406 HRESULT (WINAPI *GetStrBufA)(IMLangStringAStr *This,long lSrcPos,long lSrcMaxLen,UINT *puDestCodePage,IMLangStringBufA **ppDestBuf,long *plDestLen);
407 HRESULT (WINAPI *LockAStr)(IMLangStringAStr *This,long lSrcPos,long lSrcLen,long lFlags,UINT uCodePageIn,long cchRequest,UINT *puCodePageOut,CHAR **ppszDest,long *pcchDest,long *plDestLen);
408 HRESULT (WINAPI *UnlockAStr)(IMLangStringAStr *This,const CHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen);
409 HRESULT (WINAPI *SetLocale)(IMLangStringAStr *This,long lDestPos,long lDestLen,LCID locale);
410 HRESULT (WINAPI *GetLocale)(IMLangStringAStr *This,long lSrcPos,long lSrcMaxLen,LCID *plocale,long *plLocalePos,long *plLocaleLen);
411 END_INTERFACE
412 } IMLangStringAStrVtbl;
413 struct IMLangStringAStr {
414 CONST_VTBL struct IMLangStringAStrVtbl *lpVtbl;
415 };
416 #ifdef COBJMACROS
417 #define IMLangStringAStr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
418 #define IMLangStringAStr_AddRef(This) (This)->lpVtbl->AddRef(This)
419 #define IMLangStringAStr_Release(This) (This)->lpVtbl->Release(This)
420 #define IMLangStringAStr_Sync(This,fNoAccess) (This)->lpVtbl->Sync(This,fNoAccess)
421 #define IMLangStringAStr_GetLength(This,plLen) (This)->lpVtbl->GetLength(This,plLen)
422 #define IMLangStringAStr_SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) (This)->lpVtbl->SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen)
423 #define IMLangStringAStr_GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) (This)->lpVtbl->GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen)
424 #define IMLangStringAStr_SetAStr(This,lDestPos,lDestLen,uCodePage,pszSrc,cchSrc,pcchActual,plActualLen) (This)->lpVtbl->SetAStr(This,lDestPos,lDestLen,uCodePage,pszSrc,cchSrc,pcchActual,plActualLen)
425 #define IMLangStringAStr_SetStrBufA(This,lDestPos,lDestLen,uCodePage,pSrcBuf,pcchActual,plActualLen) (This)->lpVtbl->SetStrBufA(This,lDestPos,lDestLen,uCodePage,pSrcBuf,pcchActual,plActualLen)
426 #define IMLangStringAStr_GetAStr(This,lSrcPos,lSrcLen,uCodePageIn,puCodePageOut,pszDest,cchDest,pcchActual,plActualLen) (This)->lpVtbl->GetAStr(This,lSrcPos,lSrcLen,uCodePageIn,puCodePageOut,pszDest,cchDest,pcchActual,plActualLen)
427 #define IMLangStringAStr_GetStrBufA(This,lSrcPos,lSrcMaxLen,puDestCodePage,ppDestBuf,plDestLen) (This)->lpVtbl->GetStrBufA(This,lSrcPos,lSrcMaxLen,puDestCodePage,ppDestBuf,plDestLen)
428 #define IMLangStringAStr_LockAStr(This,lSrcPos,lSrcLen,lFlags,uCodePageIn,cchRequest,puCodePageOut,ppszDest,pcchDest,plDestLen) (This)->lpVtbl->LockAStr(This,lSrcPos,lSrcLen,lFlags,uCodePageIn,cchRequest,puCodePageOut,ppszDest,pcchDest,plDestLen)
429 #define IMLangStringAStr_UnlockAStr(This,pszSrc,cchSrc,pcchActual,plActualLen) (This)->lpVtbl->UnlockAStr(This,pszSrc,cchSrc,pcchActual,plActualLen)
430 #define IMLangStringAStr_SetLocale(This,lDestPos,lDestLen,locale) (This)->lpVtbl->SetLocale(This,lDestPos,lDestLen,locale)
431 #define IMLangStringAStr_GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen) (This)->lpVtbl->GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen)
432 #endif
433 #endif
434 HRESULT WINAPI IMLangStringAStr_SetAStr_Proxy(IMLangStringAStr *This,long lDestPos,long lDestLen,UINT uCodePage,const CHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen);
435 void __RPC_STUB IMLangStringAStr_SetAStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
436 HRESULT WINAPI IMLangStringAStr_SetStrBufA_Proxy(IMLangStringAStr *This,long lDestPos,long lDestLen,UINT uCodePage,IMLangStringBufA *pSrcBuf,long *pcchActual,long *plActualLen);
437 void __RPC_STUB IMLangStringAStr_SetStrBufA_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
438 HRESULT WINAPI IMLangStringAStr_GetAStr_Proxy(IMLangStringAStr *This,long lSrcPos,long lSrcLen,UINT uCodePageIn,UINT *puCodePageOut,CHAR *pszDest,long cchDest,long *pcchActual,long *plActualLen);
439 void __RPC_STUB IMLangStringAStr_GetAStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
440 HRESULT WINAPI IMLangStringAStr_GetStrBufA_Proxy(IMLangStringAStr *This,long lSrcPos,long lSrcMaxLen,UINT *puDestCodePage,IMLangStringBufA **ppDestBuf,long *plDestLen);
441 void __RPC_STUB IMLangStringAStr_GetStrBufA_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
442 HRESULT WINAPI IMLangStringAStr_LockAStr_Proxy(IMLangStringAStr *This,long lSrcPos,long lSrcLen,long lFlags,UINT uCodePageIn,long cchRequest,UINT *puCodePageOut,CHAR **ppszDest,long *pcchDest,long *plDestLen);
443 void __RPC_STUB IMLangStringAStr_LockAStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
444 HRESULT WINAPI IMLangStringAStr_UnlockAStr_Proxy(IMLangStringAStr *This,const CHAR *pszSrc,long cchSrc,long *pcchActual,long *plActualLen);
445 void __RPC_STUB IMLangStringAStr_UnlockAStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
446 HRESULT WINAPI IMLangStringAStr_SetLocale_Proxy(IMLangStringAStr *This,long lDestPos,long lDestLen,LCID locale);
447 void __RPC_STUB IMLangStringAStr_SetLocale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
448 HRESULT WINAPI IMLangStringAStr_GetLocale_Proxy(IMLangStringAStr *This,long lSrcPos,long lSrcMaxLen,LCID *plocale,long *plLocalePos,long *plLocaleLen);
449 void __RPC_STUB IMLangStringAStr_GetLocale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
450 #endif
451
452 EXTERN_C const CLSID CLSID_CMLangString;
453 #ifdef __cplusplus
454 class CMLangString;
455 #endif
456
457 #ifndef __IMLangLineBreakConsole_INTERFACE_DEFINED__
458 #define __IMLangLineBreakConsole_INTERFACE_DEFINED__
459 EXTERN_C const IID IID_IMLangLineBreakConsole;
460 #if defined(__cplusplus) && !defined(CINTERFACE)
461 struct IMLangLineBreakConsole : public IUnknown {
462 public:
463 virtual HRESULT WINAPI BreakLineML(IMLangString *pSrcMLStr,long lSrcPos,long lSrcLen,long cMinColumns,long cMaxColumns,long *plLineLen,long *plSkipLen) = 0;
464 virtual HRESULT WINAPI BreakLineW(LCID locale,const WCHAR *pszSrc,long cchSrc,long cMaxColumns,long *pcchLine,long *pcchSkip) = 0;
465 virtual HRESULT WINAPI BreakLineA(LCID locale,UINT uCodePage,const CHAR *pszSrc,long cchSrc,long cMaxColumns,long *pcchLine,long *pcchSkip) = 0;
466 };
467 #else
468 typedef struct IMLangLineBreakConsoleVtbl {
469 BEGIN_INTERFACE
470 HRESULT (WINAPI *QueryInterface)(IMLangLineBreakConsole *This,REFIID riid,void **ppvObject);
471 ULONG (WINAPI *AddRef)(IMLangLineBreakConsole *This);
472 ULONG (WINAPI *Release)(IMLangLineBreakConsole *This);
473 HRESULT (WINAPI *BreakLineML)(IMLangLineBreakConsole *This,IMLangString *pSrcMLStr,long lSrcPos,long lSrcLen,long cMinColumns,long cMaxColumns,long *plLineLen,long *plSkipLen);
474 HRESULT (WINAPI *BreakLineW)(IMLangLineBreakConsole *This,LCID locale,const WCHAR *pszSrc,long cchSrc,long cMaxColumns,long *pcchLine,long *pcchSkip);
475 HRESULT (WINAPI *BreakLineA)(IMLangLineBreakConsole *This,LCID locale,UINT uCodePage,const CHAR *pszSrc,long cchSrc,long cMaxColumns,long *pcchLine,long *pcchSkip);
476 END_INTERFACE
477 } IMLangLineBreakConsoleVtbl;
478 struct IMLangLineBreakConsole {
479 CONST_VTBL struct IMLangLineBreakConsoleVtbl *lpVtbl;
480 };
481 #ifdef COBJMACROS
482 #define IMLangLineBreakConsole_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
483 #define IMLangLineBreakConsole_AddRef(This) (This)->lpVtbl->AddRef(This)
484 #define IMLangLineBreakConsole_Release(This) (This)->lpVtbl->Release(This)
485 #define IMLangLineBreakConsole_BreakLineML(This,pSrcMLStr,lSrcPos,lSrcLen,cMinColumns,cMaxColumns,plLineLen,plSkipLen) (This)->lpVtbl->BreakLineML(This,pSrcMLStr,lSrcPos,lSrcLen,cMinColumns,cMaxColumns,plLineLen,plSkipLen)
486 #define IMLangLineBreakConsole_BreakLineW(This,locale,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip) (This)->lpVtbl->BreakLineW(This,locale,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip)
487 #define IMLangLineBreakConsole_BreakLineA(This,locale,uCodePage,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip) (This)->lpVtbl->BreakLineA(This,locale,uCodePage,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip)
488 #endif
489 #endif
490 HRESULT WINAPI IMLangLineBreakConsole_BreakLineML_Proxy(IMLangLineBreakConsole *This,IMLangString *pSrcMLStr,long lSrcPos,long lSrcLen,long cMinColumns,long cMaxColumns,long *plLineLen,long *plSkipLen);
491 void __RPC_STUB IMLangLineBreakConsole_BreakLineML_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
492 HRESULT WINAPI IMLangLineBreakConsole_BreakLineW_Proxy(IMLangLineBreakConsole *This,LCID locale,const WCHAR *pszSrc,long cchSrc,long cMaxColumns,long *pcchLine,long *pcchSkip);
493 void __RPC_STUB IMLangLineBreakConsole_BreakLineW_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
494 HRESULT WINAPI IMLangLineBreakConsole_BreakLineA_Proxy(IMLangLineBreakConsole *This,LCID locale,UINT uCodePage,const CHAR *pszSrc,long cchSrc,long cMaxColumns,long *pcchLine,long *pcchSkip);
495 void __RPC_STUB IMLangLineBreakConsole_BreakLineA_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
496 #endif
497
498 #ifndef __IEnumCodePage_INTERFACE_DEFINED__
499 #define __IEnumCodePage_INTERFACE_DEFINED__
500 #define MAX_MIMECP_NAME (64)
501 #define MAX_MIMECSET_NAME (50)
502 #define MAX_MIMEFACE_NAME (32)
503
504 typedef enum tagMIMECONTF {
505 MIMECONTF_MAILNEWS = 0x1,MIMECONTF_BROWSER = 0x2,MIMECONTF_MINIMAL = 0x4,MIMECONTF_IMPORT = 0x8,MIMECONTF_SAVABLE_MAILNEWS = 0x100,
506 MIMECONTF_SAVABLE_BROWSER = 0x200,MIMECONTF_EXPORT = 0x400,MIMECONTF_PRIVCONVERTER = 0x10000,MIMECONTF_VALID = 0x20000,
507 MIMECONTF_VALID_NLS = 0x40000,MIMECONTF_MIME_IE4 = 0x10000000,MIMECONTF_MIME_LATEST = 0x20000000,MIMECONTF_MIME_REGISTRY = 0x40000000
508 } MIMECONTF;
509
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;
522
523 typedef struct tagMIMECPINFO *PMIMECPINFO;
524
525 typedef struct tagMIMECSETINFO {
526 UINT uiCodePage;
527 UINT uiInternetEncoding;
528 WCHAR wszCharset[50 ];
529 } MIMECSETINFO;
530
531 typedef struct tagMIMECSETINFO *PMIMECSETINFO;
532 typedef IEnumCodePage *LPENUMCODEPAGE;
533
534 EXTERN_C const IID IID_IEnumCodePage;
535 #if defined(__cplusplus) && !defined(CINTERFACE)
536 struct IEnumCodePage : public IUnknown {
537 public:
538 virtual HRESULT WINAPI Clone(IEnumCodePage **ppEnum) = 0;
539 virtual HRESULT WINAPI Next(ULONG celt,PMIMECPINFO rgelt,ULONG *pceltFetched) = 0;
540 virtual HRESULT WINAPI Reset(void) = 0;
541 virtual HRESULT WINAPI Skip(ULONG celt) = 0;
542 };
543 #else
544 typedef struct IEnumCodePageVtbl {
545 BEGIN_INTERFACE
546 HRESULT (WINAPI *QueryInterface)(IEnumCodePage *This,REFIID riid,void **ppvObject);
547 ULONG (WINAPI *AddRef)(IEnumCodePage *This);
548 ULONG (WINAPI *Release)(IEnumCodePage *This);
549 HRESULT (WINAPI *Clone)(IEnumCodePage *This,IEnumCodePage **ppEnum);
550 HRESULT (WINAPI *Next)(IEnumCodePage *This,ULONG celt,PMIMECPINFO rgelt,ULONG *pceltFetched);
551 HRESULT (WINAPI *Reset)(IEnumCodePage *This);
552 HRESULT (WINAPI *Skip)(IEnumCodePage *This,ULONG celt);
553 END_INTERFACE
554 } IEnumCodePageVtbl;
555 struct IEnumCodePage {
556 CONST_VTBL struct IEnumCodePageVtbl *lpVtbl;
557 };
558 #ifdef COBJMACROS
559 #define IEnumCodePage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
560 #define IEnumCodePage_AddRef(This) (This)->lpVtbl->AddRef(This)
561 #define IEnumCodePage_Release(This) (This)->lpVtbl->Release(This)
562 #define IEnumCodePage_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
563 #define IEnumCodePage_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
564 #define IEnumCodePage_Reset(This) (This)->lpVtbl->Reset(This)
565 #define IEnumCodePage_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
566 #endif
567 #endif
568 HRESULT WINAPI IEnumCodePage_Clone_Proxy(IEnumCodePage *This,IEnumCodePage **ppEnum);
569 void __RPC_STUB IEnumCodePage_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
570 HRESULT WINAPI IEnumCodePage_Next_Proxy(IEnumCodePage *This,ULONG celt,PMIMECPINFO rgelt,ULONG *pceltFetched);
571 void __RPC_STUB IEnumCodePage_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
572 HRESULT WINAPI IEnumCodePage_Reset_Proxy(IEnumCodePage *This);
573 void __RPC_STUB IEnumCodePage_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
574 HRESULT WINAPI IEnumCodePage_Skip_Proxy(IEnumCodePage *This,ULONG celt);
575 void __RPC_STUB IEnumCodePage_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
576 #endif
577
578 #ifndef __IEnumRfc1766_INTERFACE_DEFINED__
579 #define __IEnumRfc1766_INTERFACE_DEFINED__
580 #define MAX_RFC1766_NAME (6)
581 #define MAX_LOCALE_NAME (32)
582
583 typedef struct tagRFC1766INFO {
584 LCID lcid;
585 WCHAR wszRfc1766[6 ];
586 WCHAR wszLocaleName[32 ];
587 } RFC1766INFO;
588
589 typedef struct tagRFC1766INFO *PRFC1766INFO;
590 typedef IEnumRfc1766 *LPENUMRFC1766;
591
592 EXTERN_C const IID IID_IEnumRfc1766;
593 #if defined(__cplusplus) && !defined(CINTERFACE)
594 struct IEnumRfc1766 : public IUnknown {
595 public:
596 virtual HRESULT WINAPI Clone(IEnumRfc1766 **ppEnum) = 0;
597 virtual HRESULT WINAPI Next(ULONG celt,PRFC1766INFO rgelt,ULONG *pceltFetched) = 0;
598 virtual HRESULT WINAPI Reset(void) = 0;
599 virtual HRESULT WINAPI Skip(ULONG celt) = 0;
600 };
601 #else
602 typedef struct IEnumRfc1766Vtbl {
603 BEGIN_INTERFACE
604 HRESULT (WINAPI *QueryInterface)(IEnumRfc1766 *This,REFIID riid,void **ppvObject);
605 ULONG (WINAPI *AddRef)(IEnumRfc1766 *This);
606 ULONG (WINAPI *Release)(IEnumRfc1766 *This);
607 HRESULT (WINAPI *Clone)(IEnumRfc1766 *This,IEnumRfc1766 **ppEnum);
608 HRESULT (WINAPI *Next)(IEnumRfc1766 *This,ULONG celt,PRFC1766INFO rgelt,ULONG *pceltFetched);
609 HRESULT (WINAPI *Reset)(IEnumRfc1766 *This);
610 HRESULT (WINAPI *Skip)(IEnumRfc1766 *This,ULONG celt);
611 END_INTERFACE
612 } IEnumRfc1766Vtbl;
613 struct IEnumRfc1766 {
614 CONST_VTBL struct IEnumRfc1766Vtbl *lpVtbl;
615 };
616 #ifdef COBJMACROS
617 #define IEnumRfc1766_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
618 #define IEnumRfc1766_AddRef(This) (This)->lpVtbl->AddRef(This)
619 #define IEnumRfc1766_Release(This) (This)->lpVtbl->Release(This)
620 #define IEnumRfc1766_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
621 #define IEnumRfc1766_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
622 #define IEnumRfc1766_Reset(This) (This)->lpVtbl->Reset(This)
623 #define IEnumRfc1766_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
624 #endif
625 #endif
626 HRESULT WINAPI IEnumRfc1766_Clone_Proxy(IEnumRfc1766 *This,IEnumRfc1766 **ppEnum);
627 void __RPC_STUB IEnumRfc1766_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
628 HRESULT WINAPI IEnumRfc1766_Next_Proxy(IEnumRfc1766 *This,ULONG celt,PRFC1766INFO rgelt,ULONG *pceltFetched);
629 void __RPC_STUB IEnumRfc1766_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
630 HRESULT WINAPI IEnumRfc1766_Reset_Proxy(IEnumRfc1766 *This);
631 void __RPC_STUB IEnumRfc1766_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
632 HRESULT WINAPI IEnumRfc1766_Skip_Proxy(IEnumRfc1766 *This,ULONG celt);
633 void __RPC_STUB IEnumRfc1766_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
634 #endif
635
636 #ifndef __IEnumScript_INTERFACE_DEFINED__
637 #define __IEnumScript_INTERFACE_DEFINED__
638 #define MAX_SCRIPT_NAME (48)
639
640 typedef BYTE SCRIPT_ID;
641 __MINGW_EXTENSION typedef __int64 SCRIPT_IDS;
642
643 typedef enum tagSCRIPTCONTF {
644 sidDefault = 0,sidMerge,sidAsciiSym,sidAsciiLatin,sidLatin,
645 sidGreek,sidCyrillic,sidArmenian,sidHebrew,sidArabic,
646 sidDevanagari,sidBengali,sidGurmukhi,sidGujarati,sidOriya,
647 sidTamil,sidTelugu,sidKannada,sidMalayalam,sidThai,
648 sidLao,sidTibetan,sidGeorgian,
649 sidHangul,sidKana,sidBopomofo,sidHan,
650 sidEthiopic,sidCanSyllabic,sidCherokee,
651 sidYi,sidBraille,sidRunic,sidOgham,sidSinhala,
652 sidSyriac,sidBurmese,sidKhmer,sidThaana,sidMongolian,
653 sidUserDefined,sidLim,
654 sidFEFirst = sidHangul,sidFELast = sidHan
655 } SCRIPTCONTF;
656
657 typedef struct tagSCRIPTINFO {
658 SCRIPT_ID ScriptId;
659 UINT uiCodePage;
660 WCHAR wszDescription[48 ];
661 WCHAR wszFixedWidthFont[32 ];
662 WCHAR wszProportionalFont[32 ];
663 } SCRIPTINFO;
664
665 typedef struct tagSCRIPTINFO *PSCRIPTINFO;
666 typedef IEnumScript *LPENUMScript;
667
668 EXTERN_C const IID IID_IEnumScript;
669 #if defined(__cplusplus) && !defined(CINTERFACE)
670 struct IEnumScript : public IUnknown {
671 public:
672 virtual HRESULT WINAPI Clone(IEnumScript **ppEnum) = 0;
673 virtual HRESULT WINAPI Next(ULONG celt,PSCRIPTINFO rgelt,ULONG *pceltFetched) = 0;
674 virtual HRESULT WINAPI Reset(void) = 0;
675 virtual HRESULT WINAPI Skip(ULONG celt) = 0;
676 };
677 #else
678 typedef struct IEnumScriptVtbl {
679 BEGIN_INTERFACE
680 HRESULT (WINAPI *QueryInterface)(IEnumScript *This,REFIID riid,void **ppvObject);
681 ULONG (WINAPI *AddRef)(IEnumScript *This);
682 ULONG (WINAPI *Release)(IEnumScript *This);
683 HRESULT (WINAPI *Clone)(IEnumScript *This,IEnumScript **ppEnum);
684 HRESULT (WINAPI *Next)(IEnumScript *This,ULONG celt,PSCRIPTINFO rgelt,ULONG *pceltFetched);
685 HRESULT (WINAPI *Reset)(IEnumScript *This);
686 HRESULT (WINAPI *Skip)(IEnumScript *This,ULONG celt);
687 END_INTERFACE
688 } IEnumScriptVtbl;
689 struct IEnumScript {
690 CONST_VTBL struct IEnumScriptVtbl *lpVtbl;
691 };
692 #ifdef COBJMACROS
693 #define IEnumScript_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
694 #define IEnumScript_AddRef(This) (This)->lpVtbl->AddRef(This)
695 #define IEnumScript_Release(This) (This)->lpVtbl->Release(This)
696 #define IEnumScript_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
697 #define IEnumScript_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
698 #define IEnumScript_Reset(This) (This)->lpVtbl->Reset(This)
699 #define IEnumScript_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
700 #endif
701 #endif
702 HRESULT WINAPI IEnumScript_Clone_Proxy(IEnumScript *This,IEnumScript **ppEnum);
703 void __RPC_STUB IEnumScript_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
704 HRESULT WINAPI IEnumScript_Next_Proxy(IEnumScript *This,ULONG celt,PSCRIPTINFO rgelt,ULONG *pceltFetched);
705 void __RPC_STUB IEnumScript_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
706 HRESULT WINAPI IEnumScript_Reset_Proxy(IEnumScript *This);
707 void __RPC_STUB IEnumScript_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
708 HRESULT WINAPI IEnumScript_Skip_Proxy(IEnumScript *This,ULONG celt);
709 void __RPC_STUB IEnumScript_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
710 #endif
711
712 #ifndef __IMLangConvertCharset_INTERFACE_DEFINED__
713 #define __IMLangConvertCharset_INTERFACE_DEFINED__
714 typedef enum tagMLCONVCHARF {
715 MLCONVCHARF_AUTODETECT = 1,MLCONVCHARF_ENTITIZE = 2,MLCONVCHARF_NCR_ENTITIZE = 2,MLCONVCHARF_NAME_ENTITIZE = 4,MLCONVCHARF_USEDEFCHAR = 8,
716 MLCONVCHARF_NOBESTFITCHARS = 16,MLCONVCHARF_DETECTJPN = 32
717 } MLCONVCHAR;
718
719 typedef enum tagMLCPF {
720 MLDETECTF_MAILNEWS = 0x1,MLDETECTF_BROWSER = 0x2,MLDETECTF_VALID = 0x4,MLDETECTF_VALID_NLS = 0x8,MLDETECTF_PRESERVE_ORDER = 0x10,
721 MLDETECTF_PREFERRED_ONLY = 0x20,MLDETECTF_FILTER_SPECIALCHAR = 0x40,MLDETECTF_EURO_UTF8 = 0x80
722 } MLCP;
723
724 typedef IMLangConvertCharset *LPMLANGCONVERTCHARSET;
725
726 EXTERN_C const IID IID_IMLangConvertCharset;
727 #if defined(__cplusplus) && !defined(CINTERFACE)
728 struct IMLangConvertCharset : public IUnknown {
729 public:
730 virtual HRESULT WINAPI Initialize(UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty) = 0;
731 virtual HRESULT WINAPI GetSourceCodePage(UINT *puiSrcCodePage) = 0;
732 virtual HRESULT WINAPI GetDestinationCodePage(UINT *puiDstCodePage) = 0;
733 virtual HRESULT WINAPI GetProperty(DWORD *pdwProperty) = 0;
734 virtual HRESULT WINAPI DoConversion(BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize) = 0;
735 virtual HRESULT WINAPI DoConversionToUnicode(CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize) = 0;
736 virtual HRESULT WINAPI DoConversionFromUnicode(WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize) = 0;
737 };
738 #else
739 typedef struct IMLangConvertCharsetVtbl {
740 BEGIN_INTERFACE
741 HRESULT (WINAPI *QueryInterface)(IMLangConvertCharset *This,REFIID riid,void **ppvObject);
742 ULONG (WINAPI *AddRef)(IMLangConvertCharset *This);
743 ULONG (WINAPI *Release)(IMLangConvertCharset *This);
744 HRESULT (WINAPI *Initialize)(IMLangConvertCharset *This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty);
745 HRESULT (WINAPI *GetSourceCodePage)(IMLangConvertCharset *This,UINT *puiSrcCodePage);
746 HRESULT (WINAPI *GetDestinationCodePage)(IMLangConvertCharset *This,UINT *puiDstCodePage);
747 HRESULT (WINAPI *GetProperty)(IMLangConvertCharset *This,DWORD *pdwProperty);
748 HRESULT (WINAPI *DoConversion)(IMLangConvertCharset *This,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize);
749 HRESULT (WINAPI *DoConversionToUnicode)(IMLangConvertCharset *This,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize);
750 HRESULT (WINAPI *DoConversionFromUnicode)(IMLangConvertCharset *This,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize);
751 END_INTERFACE
752 } IMLangConvertCharsetVtbl;
753 struct IMLangConvertCharset {
754 CONST_VTBL struct IMLangConvertCharsetVtbl *lpVtbl;
755 };
756 #ifdef COBJMACROS
757 #define IMLangConvertCharset_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
758 #define IMLangConvertCharset_AddRef(This) (This)->lpVtbl->AddRef(This)
759 #define IMLangConvertCharset_Release(This) (This)->lpVtbl->Release(This)
760 #define IMLangConvertCharset_Initialize(This,uiSrcCodePage,uiDstCodePage,dwProperty) (This)->lpVtbl->Initialize(This,uiSrcCodePage,uiDstCodePage,dwProperty)
761 #define IMLangConvertCharset_GetSourceCodePage(This,puiSrcCodePage) (This)->lpVtbl->GetSourceCodePage(This,puiSrcCodePage)
762 #define IMLangConvertCharset_GetDestinationCodePage(This,puiDstCodePage) (This)->lpVtbl->GetDestinationCodePage(This,puiDstCodePage)
763 #define IMLangConvertCharset_GetProperty(This,pdwProperty) (This)->lpVtbl->GetProperty(This,pdwProperty)
764 #define IMLangConvertCharset_DoConversion(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->DoConversion(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
765 #define IMLangConvertCharset_DoConversionToUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->DoConversionToUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
766 #define IMLangConvertCharset_DoConversionFromUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->DoConversionFromUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
767 #endif
768 #endif
769 HRESULT WINAPI IMLangConvertCharset_Initialize_Proxy(IMLangConvertCharset *This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty);
770 void __RPC_STUB IMLangConvertCharset_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
771 HRESULT WINAPI IMLangConvertCharset_GetSourceCodePage_Proxy(IMLangConvertCharset *This,UINT *puiSrcCodePage);
772 void __RPC_STUB IMLangConvertCharset_GetSourceCodePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
773 HRESULT WINAPI IMLangConvertCharset_GetDestinationCodePage_Proxy(IMLangConvertCharset *This,UINT *puiDstCodePage);
774 void __RPC_STUB IMLangConvertCharset_GetDestinationCodePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
775 HRESULT WINAPI IMLangConvertCharset_GetProperty_Proxy(IMLangConvertCharset *This,DWORD *pdwProperty);
776 void __RPC_STUB IMLangConvertCharset_GetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
777 HRESULT WINAPI IMLangConvertCharset_DoConversion_Proxy(IMLangConvertCharset *This,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize);
778 void __RPC_STUB IMLangConvertCharset_DoConversion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
779 HRESULT WINAPI IMLangConvertCharset_DoConversionToUnicode_Proxy(IMLangConvertCharset *This,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize);
780 void __RPC_STUB IMLangConvertCharset_DoConversionToUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
781 HRESULT WINAPI IMLangConvertCharset_DoConversionFromUnicode_Proxy(IMLangConvertCharset *This,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize);
782 void __RPC_STUB IMLangConvertCharset_DoConversionFromUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
783 #endif
784
785 EXTERN_C const CLSID CLSID_CMLangConvertCharset;
786 #ifdef __cplusplus
787 class CMLangConvertCharset;
788 #endif
789
790 #ifndef __IMultiLanguage_INTERFACE_DEFINED__
791 #define __IMultiLanguage_INTERFACE_DEFINED__
792 typedef IMultiLanguage *LPMULTILANGUAGE;
793
794 EXTERN_C const IID IID_IMultiLanguage;
795 #if defined(__cplusplus) && !defined(CINTERFACE)
796 struct IMultiLanguage : public IUnknown {
797 public:
798 virtual HRESULT WINAPI GetNumberOfCodePageInfo(UINT *pcCodePage) = 0;
799 virtual HRESULT WINAPI GetCodePageInfo(UINT uiCodePage,PMIMECPINFO pCodePageInfo) = 0;
800 virtual HRESULT WINAPI GetFamilyCodePage(UINT uiCodePage,UINT *puiFamilyCodePage) = 0;
801 virtual HRESULT WINAPI EnumCodePages(DWORD grfFlags,IEnumCodePage **ppEnumCodePage) = 0;
802 virtual HRESULT WINAPI GetCharsetInfo(BSTR Charset,PMIMECSETINFO pCharsetInfo) = 0;
803 virtual HRESULT WINAPI IsConvertible(DWORD dwSrcEncoding,DWORD dwDstEncoding) = 0;
804 virtual HRESULT WINAPI ConvertString(DWORD *pdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize) = 0;
805 virtual HRESULT WINAPI ConvertStringToUnicode(DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize) = 0;
806 virtual HRESULT WINAPI ConvertStringFromUnicode(DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize) = 0;
807 virtual HRESULT WINAPI ConvertStringReset(void) = 0;
808 virtual HRESULT WINAPI GetRfc1766FromLcid(LCID Locale,BSTR *pbstrRfc1766) = 0;
809 virtual HRESULT WINAPI GetLcidFromRfc1766(LCID *pLocale,BSTR bstrRfc1766) = 0;
810 virtual HRESULT WINAPI EnumRfc1766(IEnumRfc1766 **ppEnumRfc1766) = 0;
811 virtual HRESULT WINAPI GetRfc1766Info(LCID Locale,PRFC1766INFO pRfc1766Info) = 0;
812 virtual HRESULT WINAPI CreateConvertCharset(UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty,IMLangConvertCharset **ppMLangConvertCharset) = 0;
813 };
814 #else
815 typedef struct IMultiLanguageVtbl {
816 BEGIN_INTERFACE
817 HRESULT (WINAPI *QueryInterface)(IMultiLanguage *This,REFIID riid,void **ppvObject);
818 ULONG (WINAPI *AddRef)(IMultiLanguage *This);
819 ULONG (WINAPI *Release)(IMultiLanguage *This);
820 HRESULT (WINAPI *GetNumberOfCodePageInfo)(IMultiLanguage *This,UINT *pcCodePage);
821 HRESULT (WINAPI *GetCodePageInfo)(IMultiLanguage *This,UINT uiCodePage,PMIMECPINFO pCodePageInfo);
822 HRESULT (WINAPI *GetFamilyCodePage)(IMultiLanguage *This,UINT uiCodePage,UINT *puiFamilyCodePage);
823 HRESULT (WINAPI *EnumCodePages)(IMultiLanguage *This,DWORD grfFlags,IEnumCodePage **ppEnumCodePage);
824 HRESULT (WINAPI *GetCharsetInfo)(IMultiLanguage *This,BSTR Charset,PMIMECSETINFO pCharsetInfo);
825 HRESULT (WINAPI *IsConvertible)(IMultiLanguage *This,DWORD dwSrcEncoding,DWORD dwDstEncoding);
826 HRESULT (WINAPI *ConvertString)(IMultiLanguage *This,DWORD *pdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize);
827 HRESULT (WINAPI *ConvertStringToUnicode)(IMultiLanguage *This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize);
828 HRESULT (WINAPI *ConvertStringFromUnicode)(IMultiLanguage *This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize);
829 HRESULT (WINAPI *ConvertStringReset)(IMultiLanguage *This);
830 HRESULT (WINAPI *GetRfc1766FromLcid)(IMultiLanguage *This,LCID Locale,BSTR *pbstrRfc1766);
831 HRESULT (WINAPI *GetLcidFromRfc1766)(IMultiLanguage *This,LCID *pLocale,BSTR bstrRfc1766);
832 HRESULT (WINAPI *EnumRfc1766)(IMultiLanguage *This,IEnumRfc1766 **ppEnumRfc1766);
833 HRESULT (WINAPI *GetRfc1766Info)(IMultiLanguage *This,LCID Locale,PRFC1766INFO pRfc1766Info);
834 HRESULT (WINAPI *CreateConvertCharset)(IMultiLanguage *This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty,IMLangConvertCharset **ppMLangConvertCharset);
835 END_INTERFACE
836 } IMultiLanguageVtbl;
837 struct IMultiLanguage {
838 CONST_VTBL struct IMultiLanguageVtbl *lpVtbl;
839 };
840 #ifdef COBJMACROS
841 #define IMultiLanguage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
842 #define IMultiLanguage_AddRef(This) (This)->lpVtbl->AddRef(This)
843 #define IMultiLanguage_Release(This) (This)->lpVtbl->Release(This)
844 #define IMultiLanguage_GetNumberOfCodePageInfo(This,pcCodePage) (This)->lpVtbl->GetNumberOfCodePageInfo(This,pcCodePage)
845 #define IMultiLanguage_GetCodePageInfo(This,uiCodePage,pCodePageInfo) (This)->lpVtbl->GetCodePageInfo(This,uiCodePage,pCodePageInfo)
846 #define IMultiLanguage_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) (This)->lpVtbl->GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
847 #define IMultiLanguage_EnumCodePages(This,grfFlags,ppEnumCodePage) (This)->lpVtbl->EnumCodePages(This,grfFlags,ppEnumCodePage)
848 #define IMultiLanguage_GetCharsetInfo(This,Charset,pCharsetInfo) (This)->lpVtbl->GetCharsetInfo(This,Charset,pCharsetInfo)
849 #define IMultiLanguage_IsConvertible(This,dwSrcEncoding,dwDstEncoding) (This)->lpVtbl->IsConvertible(This,dwSrcEncoding,dwDstEncoding)
850 #define IMultiLanguage_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
851 #define IMultiLanguage_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
852 #define IMultiLanguage_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
853 #define IMultiLanguage_ConvertStringReset(This) (This)->lpVtbl->ConvertStringReset(This)
854 #define IMultiLanguage_GetRfc1766FromLcid(This,Locale,pbstrRfc1766) (This)->lpVtbl->GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
855 #define IMultiLanguage_GetLcidFromRfc1766(This,pLocale,bstrRfc1766) (This)->lpVtbl->GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
856 #define IMultiLanguage_EnumRfc1766(This,ppEnumRfc1766) (This)->lpVtbl->EnumRfc1766(This,ppEnumRfc1766)
857 #define IMultiLanguage_GetRfc1766Info(This,Locale,pRfc1766Info) (This)->lpVtbl->GetRfc1766Info(This,Locale,pRfc1766Info)
858 #define IMultiLanguage_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) (This)->lpVtbl->CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
859 #endif
860 #endif
861 HRESULT WINAPI IMultiLanguage_GetNumberOfCodePageInfo_Proxy(IMultiLanguage *This,UINT *pcCodePage);
862 void __RPC_STUB IMultiLanguage_GetNumberOfCodePageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
863 HRESULT WINAPI IMultiLanguage_GetCodePageInfo_Proxy(IMultiLanguage *This,UINT uiCodePage,PMIMECPINFO pCodePageInfo);
864 void __RPC_STUB IMultiLanguage_GetCodePageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
865 HRESULT WINAPI IMultiLanguage_GetFamilyCodePage_Proxy(IMultiLanguage *This,UINT uiCodePage,UINT *puiFamilyCodePage);
866 void __RPC_STUB IMultiLanguage_GetFamilyCodePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
867 HRESULT WINAPI IMultiLanguage_EnumCodePages_Proxy(IMultiLanguage *This,DWORD grfFlags,IEnumCodePage **ppEnumCodePage);
868 void __RPC_STUB IMultiLanguage_EnumCodePages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
869 HRESULT WINAPI IMultiLanguage_GetCharsetInfo_Proxy(IMultiLanguage *This,BSTR Charset,PMIMECSETINFO pCharsetInfo);
870 void __RPC_STUB IMultiLanguage_GetCharsetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
871 HRESULT WINAPI IMultiLanguage_IsConvertible_Proxy(IMultiLanguage *This,DWORD dwSrcEncoding,DWORD dwDstEncoding);
872 void __RPC_STUB IMultiLanguage_IsConvertible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
873 HRESULT WINAPI IMultiLanguage_ConvertString_Proxy(IMultiLanguage *This,DWORD *pdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize);
874 void __RPC_STUB IMultiLanguage_ConvertString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
875 HRESULT WINAPI IMultiLanguage_ConvertStringToUnicode_Proxy(IMultiLanguage *This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize);
876 void __RPC_STUB IMultiLanguage_ConvertStringToUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
877 HRESULT WINAPI IMultiLanguage_ConvertStringFromUnicode_Proxy(IMultiLanguage *This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize);
878 void __RPC_STUB IMultiLanguage_ConvertStringFromUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
879 HRESULT WINAPI IMultiLanguage_ConvertStringReset_Proxy(IMultiLanguage *This);
880 void __RPC_STUB IMultiLanguage_ConvertStringReset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
881 HRESULT WINAPI IMultiLanguage_GetRfc1766FromLcid_Proxy(IMultiLanguage *This,LCID Locale,BSTR *pbstrRfc1766);
882 void __RPC_STUB IMultiLanguage_GetRfc1766FromLcid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
883 HRESULT WINAPI IMultiLanguage_GetLcidFromRfc1766_Proxy(IMultiLanguage *This,LCID *pLocale,BSTR bstrRfc1766);
884 void __RPC_STUB IMultiLanguage_GetLcidFromRfc1766_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
885 HRESULT WINAPI IMultiLanguage_EnumRfc1766_Proxy(IMultiLanguage *This,IEnumRfc1766 **ppEnumRfc1766);
886 void __RPC_STUB IMultiLanguage_EnumRfc1766_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
887 HRESULT WINAPI IMultiLanguage_GetRfc1766Info_Proxy(IMultiLanguage *This,LCID Locale,PRFC1766INFO pRfc1766Info);
888 void __RPC_STUB IMultiLanguage_GetRfc1766Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
889 HRESULT WINAPI IMultiLanguage_CreateConvertCharset_Proxy(IMultiLanguage *This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty,IMLangConvertCharset **ppMLangConvertCharset);
890 void __RPC_STUB IMultiLanguage_CreateConvertCharset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
891 #endif
892
893 #ifndef __IMultiLanguage2_INTERFACE_DEFINED__
894 #define __IMultiLanguage2_INTERFACE_DEFINED__
895 typedef IMultiLanguage2 *LPMULTILANGUAGE2;
896
897 typedef enum tagMLDETECTCP {
898 MLDETECTCP_NONE = 0,MLDETECTCP_7BIT = 1,MLDETECTCP_8BIT = 2,MLDETECTCP_DBCS = 4,MLDETECTCP_HTML = 8,MLDETECTCP_NUMBER = 16
899 } MLDETECTCP;
900
901 typedef struct tagDetectEncodingInfo {
902 UINT nLangID;
903 UINT nCodePage;
904 INT nDocPercent;
905 INT nConfidence;
906 } DetectEncodingInfo;
907
908 typedef struct tagDetectEncodingInfo *pDetectEncodingInfo;
909
910 typedef enum tagSCRIPTFONTCONTF {
911 SCRIPTCONTF_FIXED_FONT = 0x1,SCRIPTCONTF_PROPORTIONAL_FONT = 0x2,SCRIPTCONTF_SCRIPT_USER = 0x10000,SCRIPTCONTF_SCRIPT_HIDE = 0x20000,
912 SCRIPTCONTF_SCRIPT_SYSTEM = 0x40000
913 } SCRIPTFONTCONTF;
914
915 typedef struct tagSCRIPFONTINFO {
916 SCRIPT_IDS scripts;
917 WCHAR wszFont[32 ];
918 } SCRIPTFONTINFO;
919
920 typedef struct tagSCRIPFONTINFO *PSCRIPTFONTINFO;
921
922 EXTERN_C const IID IID_IMultiLanguage2;
923 #if defined(__cplusplus) && !defined(CINTERFACE)
924 struct IMultiLanguage2 : public IUnknown {
925 public:
926 virtual HRESULT WINAPI GetNumberOfCodePageInfo(UINT *pcCodePage) = 0;
927 virtual HRESULT WINAPI GetCodePageInfo(UINT uiCodePage,LANGID LangId,PMIMECPINFO pCodePageInfo) = 0;
928 virtual HRESULT WINAPI GetFamilyCodePage(UINT uiCodePage,UINT *puiFamilyCodePage) = 0;
929 virtual HRESULT WINAPI EnumCodePages(DWORD grfFlags,LANGID LangId,IEnumCodePage **ppEnumCodePage) = 0;
930 virtual HRESULT WINAPI GetCharsetInfo(BSTR Charset,PMIMECSETINFO pCharsetInfo) = 0;
931 virtual HRESULT WINAPI IsConvertible(DWORD dwSrcEncoding,DWORD dwDstEncoding) = 0;
932 virtual HRESULT WINAPI ConvertString(DWORD *pdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize) = 0;
933 virtual HRESULT WINAPI ConvertStringToUnicode(DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize) = 0;
934 virtual HRESULT WINAPI ConvertStringFromUnicode(DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize) = 0;
935 virtual HRESULT WINAPI ConvertStringReset(void) = 0;
936 virtual HRESULT WINAPI GetRfc1766FromLcid(LCID Locale,BSTR *pbstrRfc1766) = 0;
937 virtual HRESULT WINAPI GetLcidFromRfc1766(LCID *pLocale,BSTR bstrRfc1766) = 0;
938 virtual HRESULT WINAPI EnumRfc1766(LANGID LangId,IEnumRfc1766 **ppEnumRfc1766) = 0;
939 virtual HRESULT WINAPI GetRfc1766Info(LCID Locale,LANGID LangId,PRFC1766INFO pRfc1766Info) = 0;
940 virtual HRESULT WINAPI CreateConvertCharset(UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty,IMLangConvertCharset **ppMLangConvertCharset) = 0;
941 virtual HRESULT WINAPI ConvertStringInIStream(DWORD *pdwMode,DWORD dwFlag,WCHAR *lpFallBack,DWORD dwSrcEncoding,DWORD dwDstEncoding,IStream *pstmIn,IStream *pstmOut) = 0;
942 virtual HRESULT WINAPI ConvertStringToUnicodeEx(DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack) = 0;
943 virtual HRESULT WINAPI ConvertStringFromUnicodeEx(DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack) = 0;
944 virtual HRESULT WINAPI DetectCodepageInIStream(DWORD dwFlag,DWORD dwPrefWinCodePage,IStream *pstmIn,DetectEncodingInfo *lpEncoding,INT *pnScores) = 0;
945 virtual HRESULT WINAPI DetectInputCodepage(DWORD dwFlag,DWORD dwPrefWinCodePage,CHAR *pSrcStr,INT *pcSrcSize,DetectEncodingInfo *lpEncoding,INT *pnScores) = 0;
946 virtual HRESULT WINAPI ValidateCodePage(UINT uiCodePage,HWND hwnd) = 0;
947 virtual HRESULT WINAPI GetCodePageDescription(UINT uiCodePage,LCID lcid,LPWSTR lpWideCharStr,int cchWideChar) = 0;
948 virtual HRESULT WINAPI IsCodePageInstallable(UINT uiCodePage) = 0;
949 virtual HRESULT WINAPI SetMimeDBSource(MIMECONTF dwSource) = 0;
950 virtual HRESULT WINAPI GetNumberOfScripts(UINT *pnScripts) = 0;
951 virtual HRESULT WINAPI EnumScripts(DWORD dwFlags,LANGID LangId,IEnumScript **ppEnumScript) = 0;
952 virtual HRESULT WINAPI ValidateCodePageEx(UINT uiCodePage,HWND hwnd,DWORD dwfIODControl) = 0;
953 };
954 #else
955 typedef struct IMultiLanguage2Vtbl {
956 BEGIN_INTERFACE
957 HRESULT (WINAPI *QueryInterface)(IMultiLanguage2 *This,REFIID riid,void **ppvObject);
958 ULONG (WINAPI *AddRef)(IMultiLanguage2 *This);
959 ULONG (WINAPI *Release)(IMultiLanguage2 *This);
960 HRESULT (WINAPI *GetNumberOfCodePageInfo)(IMultiLanguage2 *This,UINT *pcCodePage);
961 HRESULT (WINAPI *GetCodePageInfo)(IMultiLanguage2 *This,UINT uiCodePage,LANGID LangId,PMIMECPINFO pCodePageInfo);
962 HRESULT (WINAPI *GetFamilyCodePage)(IMultiLanguage2 *This,UINT uiCodePage,UINT *puiFamilyCodePage);
963 HRESULT (WINAPI *EnumCodePages)(IMultiLanguage2 *This,DWORD grfFlags,LANGID LangId,IEnumCodePage **ppEnumCodePage);
964 HRESULT (WINAPI *GetCharsetInfo)(IMultiLanguage2 *This,BSTR Charset,PMIMECSETINFO pCharsetInfo);
965 HRESULT (WINAPI *IsConvertible)(IMultiLanguage2 *This,DWORD dwSrcEncoding,DWORD dwDstEncoding);
966 HRESULT (WINAPI *ConvertString)(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize);
967 HRESULT (WINAPI *ConvertStringToUnicode)(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize);
968 HRESULT (WINAPI *ConvertStringFromUnicode)(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize);
969 HRESULT (WINAPI *ConvertStringReset)(IMultiLanguage2 *This);
970 HRESULT (WINAPI *GetRfc1766FromLcid)(IMultiLanguage2 *This,LCID Locale,BSTR *pbstrRfc1766);
971 HRESULT (WINAPI *GetLcidFromRfc1766)(IMultiLanguage2 *This,LCID *pLocale,BSTR bstrRfc1766);
972 HRESULT (WINAPI *EnumRfc1766)(IMultiLanguage2 *This,LANGID LangId,IEnumRfc1766 **ppEnumRfc1766);
973 HRESULT (WINAPI *GetRfc1766Info)(IMultiLanguage2 *This,LCID Locale,LANGID LangId,PRFC1766INFO pRfc1766Info);
974 HRESULT (WINAPI *CreateConvertCharset)(IMultiLanguage2 *This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty,IMLangConvertCharset **ppMLangConvertCharset);
975 HRESULT (WINAPI *ConvertStringInIStream)(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwFlag,WCHAR *lpFallBack,DWORD dwSrcEncoding,DWORD dwDstEncoding,IStream *pstmIn,IStream *pstmOut);
976 HRESULT (WINAPI *ConvertStringToUnicodeEx)(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack);
977 HRESULT (WINAPI *ConvertStringFromUnicodeEx)(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack);
978 HRESULT (WINAPI *DetectCodepageInIStream)(IMultiLanguage2 *This,DWORD dwFlag,DWORD dwPrefWinCodePage,IStream *pstmIn,DetectEncodingInfo *lpEncoding,INT *pnScores);
979 HRESULT (WINAPI *DetectInputCodepage)(IMultiLanguage2 *This,DWORD dwFlag,DWORD dwPrefWinCodePage,CHAR *pSrcStr,INT *pcSrcSize,DetectEncodingInfo *lpEncoding,INT *pnScores);
980 HRESULT (WINAPI *ValidateCodePage)(IMultiLanguage2 *This,UINT uiCodePage,HWND hwnd);
981 HRESULT (WINAPI *GetCodePageDescription)(IMultiLanguage2 *This,UINT uiCodePage,LCID lcid,LPWSTR lpWideCharStr,int cchWideChar);
982 HRESULT (WINAPI *IsCodePageInstallable)(IMultiLanguage2 *This,UINT uiCodePage);
983 HRESULT (WINAPI *SetMimeDBSource)(IMultiLanguage2 *This,MIMECONTF dwSource);
984 HRESULT (WINAPI *GetNumberOfScripts)(IMultiLanguage2 *This,UINT *pnScripts);
985 HRESULT (WINAPI *EnumScripts)(IMultiLanguage2 *This,DWORD dwFlags,LANGID LangId,IEnumScript **ppEnumScript);
986 HRESULT (WINAPI *ValidateCodePageEx)(IMultiLanguage2 *This,UINT uiCodePage,HWND hwnd,DWORD dwfIODControl);
987 END_INTERFACE
988 } IMultiLanguage2Vtbl;
989 struct IMultiLanguage2 {
990 CONST_VTBL struct IMultiLanguage2Vtbl *lpVtbl;
991 };
992 #ifdef COBJMACROS
993 #define IMultiLanguage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
994 #define IMultiLanguage2_AddRef(This) (This)->lpVtbl->AddRef(This)
995 #define IMultiLanguage2_Release(This) (This)->lpVtbl->Release(This)
996 #define IMultiLanguage2_GetNumberOfCodePageInfo(This,pcCodePage) (This)->lpVtbl->GetNumberOfCodePageInfo(This,pcCodePage)
997 #define IMultiLanguage2_GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo) (This)->lpVtbl->GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo)
998 #define IMultiLanguage2_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) (This)->lpVtbl->GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
999 #define IMultiLanguage2_EnumCodePages(This,grfFlags,LangId,ppEnumCodePage) (This)->lpVtbl->EnumCodePages(This,grfFlags,LangId,ppEnumCodePage)
1000 #define IMultiLanguage2_GetCharsetInfo(This,Charset,pCharsetInfo) (This)->lpVtbl->GetCharsetInfo(This,Charset,pCharsetInfo)
1001 #define IMultiLanguage2_IsConvertible(This,dwSrcEncoding,dwDstEncoding) (This)->lpVtbl->IsConvertible(This,dwSrcEncoding,dwDstEncoding)
1002 #define IMultiLanguage2_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
1003 #define IMultiLanguage2_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
1004 #define IMultiLanguage2_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
1005 #define IMultiLanguage2_ConvertStringReset(This) (This)->lpVtbl->ConvertStringReset(This)
1006 #define IMultiLanguage2_GetRfc1766FromLcid(This,Locale,pbstrRfc1766) (This)->lpVtbl->GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
1007 #define IMultiLanguage2_GetLcidFromRfc1766(This,pLocale,bstrRfc1766) (This)->lpVtbl->GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
1008 #define IMultiLanguage2_EnumRfc1766(This,LangId,ppEnumRfc1766) (This)->lpVtbl->EnumRfc1766(This,LangId,ppEnumRfc1766)
1009 #define IMultiLanguage2_GetRfc1766Info(This,Locale,LangId,pRfc1766Info) (This)->lpVtbl->GetRfc1766Info(This,Locale,LangId,pRfc1766Info)
1010 #define IMultiLanguage2_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) (This)->lpVtbl->CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
1011 #define IMultiLanguage2_ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut) (This)->lpVtbl->ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut)
1012 #define IMultiLanguage2_ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) (This)->lpVtbl->ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
1013 #define IMultiLanguage2_ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) (This)->lpVtbl->ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
1014 #define IMultiLanguage2_DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores) (This)->lpVtbl->DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores)
1015 #define IMultiLanguage2_DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores) (This)->lpVtbl->DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores)
1016 #define IMultiLanguage2_ValidateCodePage(This,uiCodePage,hwnd) (This)->lpVtbl->ValidateCodePage(This,uiCodePage,hwnd)
1017 #define IMultiLanguage2_GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar) (This)->lpVtbl->GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar)
1018 #define IMultiLanguage2_IsCodePageInstallable(This,uiCodePage) (This)->lpVtbl->IsCodePageInstallable(This,uiCodePage)
1019 #define IMultiLanguage2_SetMimeDBSource(This,dwSource) (This)->lpVtbl->SetMimeDBSource(This,dwSource)
1020 #define IMultiLanguage2_GetNumberOfScripts(This,pnScripts) (This)->lpVtbl->GetNumberOfScripts(This,pnScripts)
1021 #define IMultiLanguage2_EnumScripts(This,dwFlags,LangId,ppEnumScript) (This)->lpVtbl->EnumScripts(This,dwFlags,LangId,ppEnumScript)
1022 #define IMultiLanguage2_ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl) (This)->lpVtbl->ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl)
1023 #endif
1024 #endif
1025 HRESULT WINAPI IMultiLanguage2_GetNumberOfCodePageInfo_Proxy(IMultiLanguage2 *This,UINT *pcCodePage);
1026 void __RPC_STUB IMultiLanguage2_GetNumberOfCodePageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1027 HRESULT WINAPI IMultiLanguage2_GetCodePageInfo_Proxy(IMultiLanguage2 *This,UINT uiCodePage,LANGID LangId,PMIMECPINFO pCodePageInfo);
1028 void __RPC_STUB IMultiLanguage2_GetCodePageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1029 HRESULT WINAPI IMultiLanguage2_GetFamilyCodePage_Proxy(IMultiLanguage2 *This,UINT uiCodePage,UINT *puiFamilyCodePage);
1030 void __RPC_STUB IMultiLanguage2_GetFamilyCodePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1031 HRESULT WINAPI IMultiLanguage2_EnumCodePages_Proxy(IMultiLanguage2 *This,DWORD grfFlags,LANGID LangId,IEnumCodePage **ppEnumCodePage);
1032 void __RPC_STUB IMultiLanguage2_EnumCodePages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1033 HRESULT WINAPI IMultiLanguage2_GetCharsetInfo_Proxy(IMultiLanguage2 *This,BSTR Charset,PMIMECSETINFO pCharsetInfo);
1034 void __RPC_STUB IMultiLanguage2_GetCharsetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1035 HRESULT WINAPI IMultiLanguage2_IsConvertible_Proxy(IMultiLanguage2 *This,DWORD dwSrcEncoding,DWORD dwDstEncoding);
1036 void __RPC_STUB IMultiLanguage2_IsConvertible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1037 HRESULT WINAPI IMultiLanguage2_ConvertString_Proxy(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize);
1038 void __RPC_STUB IMultiLanguage2_ConvertString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1039 HRESULT WINAPI IMultiLanguage2_ConvertStringToUnicode_Proxy(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize);
1040 void __RPC_STUB IMultiLanguage2_ConvertStringToUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1041 HRESULT WINAPI IMultiLanguage2_ConvertStringFromUnicode_Proxy(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize);
1042 void __RPC_STUB IMultiLanguage2_ConvertStringFromUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1043 HRESULT WINAPI IMultiLanguage2_ConvertStringReset_Proxy(IMultiLanguage2 *This);
1044 void __RPC_STUB IMultiLanguage2_ConvertStringReset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1045 HRESULT WINAPI IMultiLanguage2_GetRfc1766FromLcid_Proxy(IMultiLanguage2 *This,LCID Locale,BSTR *pbstrRfc1766);
1046 void __RPC_STUB IMultiLanguage2_GetRfc1766FromLcid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1047 HRESULT WINAPI IMultiLanguage2_GetLcidFromRfc1766_Proxy(IMultiLanguage2 *This,LCID *pLocale,BSTR bstrRfc1766);
1048 void __RPC_STUB IMultiLanguage2_GetLcidFromRfc1766_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1049 HRESULT WINAPI IMultiLanguage2_EnumRfc1766_Proxy(IMultiLanguage2 *This,LANGID LangId,IEnumRfc1766 **ppEnumRfc1766);
1050 void __RPC_STUB IMultiLanguage2_EnumRfc1766_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1051 HRESULT WINAPI IMultiLanguage2_GetRfc1766Info_Proxy(IMultiLanguage2 *This,LCID Locale,LANGID LangId,PRFC1766INFO pRfc1766Info);
1052 void __RPC_STUB IMultiLanguage2_GetRfc1766Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1053 HRESULT WINAPI IMultiLanguage2_CreateConvertCharset_Proxy(IMultiLanguage2 *This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty,IMLangConvertCharset **ppMLangConvertCharset);
1054 void __RPC_STUB IMultiLanguage2_CreateConvertCharset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1055 HRESULT WINAPI IMultiLanguage2_ConvertStringInIStream_Proxy(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwFlag,WCHAR *lpFallBack,DWORD dwSrcEncoding,DWORD dwDstEncoding,IStream *pstmIn,IStream *pstmOut);
1056 void __RPC_STUB IMultiLanguage2_ConvertStringInIStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1057 HRESULT WINAPI IMultiLanguage2_ConvertStringToUnicodeEx_Proxy(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack);
1058 void __RPC_STUB IMultiLanguage2_ConvertStringToUnicodeEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1059 HRESULT WINAPI IMultiLanguage2_ConvertStringFromUnicodeEx_Proxy(IMultiLanguage2 *This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack);
1060 void __RPC_STUB IMultiLanguage2_ConvertStringFromUnicodeEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1061 HRESULT WINAPI IMultiLanguage2_DetectCodepageInIStream_Proxy(IMultiLanguage2 *This,DWORD dwFlag,DWORD dwPrefWinCodePage,IStream *pstmIn,DetectEncodingInfo *lpEncoding,INT *pnScores);
1062 void __RPC_STUB IMultiLanguage2_DetectCodepageInIStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1063 HRESULT WINAPI IMultiLanguage2_DetectInputCodepage_Proxy(IMultiLanguage2 *This,DWORD dwFlag,DWORD dwPrefWinCodePage,CHAR *pSrcStr,INT *pcSrcSize,DetectEncodingInfo *lpEncoding,INT *pnScores);
1064 void __RPC_STUB IMultiLanguage2_DetectInputCodepage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1065 HRESULT WINAPI IMultiLanguage2_ValidateCodePage_Proxy(IMultiLanguage2 *This,UINT uiCodePage,HWND hwnd);
1066 void __RPC_STUB IMultiLanguage2_ValidateCodePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1067 HRESULT WINAPI IMultiLanguage2_GetCodePageDescription_Proxy(IMultiLanguage2 *This,UINT uiCodePage,LCID lcid,LPWSTR lpWideCharStr,int cchWideChar);
1068 void __RPC_STUB IMultiLanguage2_GetCodePageDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1069 HRESULT WINAPI IMultiLanguage2_IsCodePageInstallable_Proxy(IMultiLanguage2 *This,UINT uiCodePage);
1070 void __RPC_STUB IMultiLanguage2_IsCodePageInstallable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1071 HRESULT WINAPI IMultiLanguage2_SetMimeDBSource_Proxy(IMultiLanguage2 *This,MIMECONTF dwSource);
1072 void __RPC_STUB IMultiLanguage2_SetMimeDBSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1073 HRESULT WINAPI IMultiLanguage2_GetNumberOfScripts_Proxy(IMultiLanguage2 *This,UINT *pnScripts);
1074 void __RPC_STUB IMultiLanguage2_GetNumberOfScripts_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1075 HRESULT WINAPI IMultiLanguage2_EnumScripts_Proxy(IMultiLanguage2 *This,DWORD dwFlags,LANGID LangId,IEnumScript **ppEnumScript);
1076 void __RPC_STUB IMultiLanguage2_EnumScripts_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1077 HRESULT WINAPI IMultiLanguage2_ValidateCodePageEx_Proxy(IMultiLanguage2 *This,UINT uiCodePage,HWND hwnd,DWORD dwfIODControl);
1078 void __RPC_STUB IMultiLanguage2_ValidateCodePageEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1079 #endif
1080
1081 #ifndef __IMLangCodePages_INTERFACE_DEFINED__
1082 #define __IMLangCodePages_INTERFACE_DEFINED__
1083 typedef IMLangCodePages *PMLANGCODEPAGES;
1084
1085 EXTERN_C const IID IID_IMLangCodePages;
1086 #if defined(__cplusplus) && !defined(CINTERFACE)
1087 struct IMLangCodePages : public IUnknown {
1088 public:
1089 virtual HRESULT WINAPI GetCharCodePages(WCHAR chSrc,DWORD *pdwCodePages) = 0;
1090 virtual HRESULT WINAPI GetStrCodePages(const WCHAR *pszSrc,long cchSrc,DWORD dwPriorityCodePages,DWORD *pdwCodePages,long *pcchCodePages) = 0;
1091 virtual HRESULT WINAPI CodePageToCodePages(UINT uCodePage,DWORD *pdwCodePages) = 0;
1092 virtual HRESULT WINAPI CodePagesToCodePage(DWORD dwCodePages,UINT uDefaultCodePage,UINT *puCodePage) = 0;
1093 };
1094 #else
1095 typedef struct IMLangCodePagesVtbl {
1096 BEGIN_INTERFACE
1097 HRESULT (WINAPI *QueryInterface)(IMLangCodePages *This,REFIID riid,void **ppvObject);
1098 ULONG (WINAPI *AddRef)(IMLangCodePages *This);
1099 ULONG (WINAPI *Release)(IMLangCodePages *This);
1100 HRESULT (WINAPI *GetCharCodePages)(IMLangCodePages *This,WCHAR chSrc,DWORD *pdwCodePages);
1101 HRESULT (WINAPI *GetStrCodePages)(IMLangCodePages *This,const WCHAR *pszSrc,long cchSrc,DWORD dwPriorityCodePages,DWORD *pdwCodePages,long *pcchCodePages);
1102 HRESULT (WINAPI *CodePageToCodePages)(IMLangCodePages *This,UINT uCodePage,DWORD *pdwCodePages);
1103 HRESULT (WINAPI *CodePagesToCodePage)(IMLangCodePages *This,DWORD dwCodePages,UINT uDefaultCodePage,UINT *puCodePage);
1104 END_INTERFACE
1105 } IMLangCodePagesVtbl;
1106 struct IMLangCodePages {
1107 CONST_VTBL struct IMLangCodePagesVtbl *lpVtbl;
1108 };
1109 #ifdef COBJMACROS
1110 #define IMLangCodePages_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1111 #define IMLangCodePages_AddRef(This) (This)->lpVtbl->AddRef(This)
1112 #define IMLangCodePages_Release(This) (This)->lpVtbl->Release(This)
1113 #define IMLangCodePages_GetCharCodePages(This,chSrc,pdwCodePages) (This)->lpVtbl->GetCharCodePages(This,chSrc,pdwCodePages)
1114 #define IMLangCodePages_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) (This)->lpVtbl->GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
1115 #define IMLangCodePages_CodePageToCodePages(This,uCodePage,pdwCodePages) (This)->lpVtbl->CodePageToCodePages(This,uCodePage,pdwCodePages)
1116 #define IMLangCodePages_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) (This)->lpVtbl->CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
1117 #endif
1118 #endif
1119 HRESULT WINAPI IMLangCodePages_GetCharCodePages_Proxy(IMLangCodePages *This,WCHAR chSrc,DWORD *pdwCodePages);
1120 void __RPC_STUB IMLangCodePages_GetCharCodePages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1121 HRESULT WINAPI IMLangCodePages_GetStrCodePages_Proxy(IMLangCodePages *This,const WCHAR *pszSrc,long cchSrc,DWORD dwPriorityCodePages,DWORD *pdwCodePages,long *pcchCodePages);
1122 void __RPC_STUB IMLangCodePages_GetStrCodePages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1123 HRESULT WINAPI IMLangCodePages_CodePageToCodePages_Proxy(IMLangCodePages *This,UINT uCodePage,DWORD *pdwCodePages);
1124 void __RPC_STUB IMLangCodePages_CodePageToCodePages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1125 HRESULT WINAPI IMLangCodePages_CodePagesToCodePage_Proxy(IMLangCodePages *This,DWORD dwCodePages,UINT uDefaultCodePage,UINT *puCodePage);
1126 void __RPC_STUB IMLangCodePages_CodePagesToCodePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1127 #endif
1128
1129 #ifndef __IMLangFontLink_INTERFACE_DEFINED__
1130 #define __IMLangFontLink_INTERFACE_DEFINED__
1131 typedef IMLangFontLink *PMLANGFONTLINK;
1132
1133 EXTERN_C const IID IID_IMLangFontLink;
1134 #if defined(__cplusplus) && !defined(CINTERFACE)
1135 struct IMLangFontLink : public IMLangCodePages {
1136 public:
1137 virtual HRESULT WINAPI GetFontCodePages(HDC hDC,HFONT hFont,DWORD *pdwCodePages) = 0;
1138 virtual HRESULT WINAPI MapFont(HDC hDC,DWORD dwCodePages,HFONT hSrcFont,HFONT *phDestFont) = 0;
1139 virtual HRESULT WINAPI ReleaseFont(HFONT hFont) = 0;
1140 virtual HRESULT WINAPI ResetFontMapping(void) = 0;
1141 };
1142 #else
1143 typedef struct IMLangFontLinkVtbl {
1144 BEGIN_INTERFACE
1145 HRESULT (WINAPI *QueryInterface)(IMLangFontLink *This,REFIID riid,void **ppvObject);
1146 ULONG (WINAPI *AddRef)(IMLangFontLink *This);
1147 ULONG (WINAPI *Release)(IMLangFontLink *This);
1148 HRESULT (WINAPI *GetCharCodePages)(IMLangFontLink *This,WCHAR chSrc,DWORD *pdwCodePages);
1149 HRESULT (WINAPI *GetStrCodePages)(IMLangFontLink *This,const WCHAR *pszSrc,long cchSrc,DWORD dwPriorityCodePages,DWORD *pdwCodePages,long *pcchCodePages);
1150 HRESULT (WINAPI *CodePageToCodePages)(IMLangFontLink *This,UINT uCodePage,DWORD *pdwCodePages);
1151 HRESULT (WINAPI *CodePagesToCodePage)(IMLangFontLink *This,DWORD dwCodePages,UINT uDefaultCodePage,UINT *puCodePage);
1152 HRESULT (WINAPI *GetFontCodePages)(IMLangFontLink *This,HDC hDC,HFONT hFont,DWORD *pdwCodePages);
1153 HRESULT (WINAPI *MapFont)(IMLangFontLink *This,HDC hDC,DWORD dwCodePages,HFONT hSrcFont,HFONT *phDestFont);
1154 HRESULT (WINAPI *ReleaseFont)(IMLangFontLink *This,HFONT hFont);
1155 HRESULT (WINAPI *ResetFontMapping)(IMLangFontLink *This);
1156 END_INTERFACE
1157 } IMLangFontLinkVtbl;
1158 struct IMLangFontLink {
1159 CONST_VTBL struct IMLangFontLinkVtbl *lpVtbl;
1160 };
1161 #ifdef COBJMACROS
1162 #define IMLangFontLink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1163 #define IMLangFontLink_AddRef(This) (This)->lpVtbl->AddRef(This)
1164 #define IMLangFontLink_Release(This) (This)->lpVtbl->Release(This)
1165 #define IMLangFontLink_GetCharCodePages(This,chSrc,pdwCodePages) (This)->lpVtbl->GetCharCodePages(This,chSrc,pdwCodePages)
1166 #define IMLangFontLink_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) (This)->lpVtbl->GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
1167 #define IMLangFontLink_CodePageToCodePages(This,uCodePage,pdwCodePages) (This)->lpVtbl->CodePageToCodePages(This,uCodePage,pdwCodePages)
1168 #define IMLangFontLink_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) (This)->lpVtbl->CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
1169 #define IMLangFontLink_GetFontCodePages(This,hDC,hFont,pdwCodePages) (This)->lpVtbl->GetFontCodePages(This,hDC,hFont,pdwCodePages)
1170 #define IMLangFontLink_MapFont(This,hDC,dwCodePages,hSrcFont,phDestFont) (This)->lpVtbl->MapFont(This,hDC,dwCodePages,hSrcFont,phDestFont)
1171 #define IMLangFontLink_ReleaseFont(This,hFont) (This)->lpVtbl->ReleaseFont(This,hFont)
1172 #define IMLangFontLink_ResetFontMapping(This) (This)->lpVtbl->ResetFontMapping(This)
1173 #endif
1174 #endif
1175 HRESULT WINAPI IMLangFontLink_GetFontCodePages_Proxy(IMLangFontLink *This,HDC hDC,HFONT hFont,DWORD *pdwCodePages);
1176 void __RPC_STUB IMLangFontLink_GetFontCodePages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1177 HRESULT WINAPI IMLangFontLink_MapFont_Proxy(IMLangFontLink *This,HDC hDC,DWORD dwCodePages,HFONT hSrcFont,HFONT *phDestFont);
1178 void __RPC_STUB IMLangFontLink_MapFont_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1179 HRESULT WINAPI IMLangFontLink_ReleaseFont_Proxy(IMLangFontLink *This,HFONT hFont);
1180 void __RPC_STUB IMLangFontLink_ReleaseFont_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1181 HRESULT WINAPI IMLangFontLink_ResetFontMapping_Proxy(IMLangFontLink *This);
1182 void __RPC_STUB IMLangFontLink_ResetFontMapping_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1183 #endif
1184
1185 #ifndef __IMLangFontLink2_INTERFACE_DEFINED__
1186 #define __IMLangFontLink2_INTERFACE_DEFINED__
1187 typedef struct tagUNICODERANGE {
1188 WCHAR wcFrom;
1189 WCHAR wcTo;
1190 } UNICODERANGE;
1191
1192 typedef IMLangFontLink2 *PMLANGFONTLINK2;
1193
1194 EXTERN_C const IID IID_IMLangFontLink2;
1195 #if defined(__cplusplus) && !defined(CINTERFACE)
1196 struct IMLangFontLink2 : public IMLangCodePages {
1197 public:
1198 virtual HRESULT WINAPI GetFontCodePages(HDC hDC,HFONT hFont,DWORD *pdwCodePages) = 0;
1199 virtual HRESULT WINAPI ReleaseFont(HFONT hFont) = 0;
1200 virtual HRESULT WINAPI ResetFontMapping(void) = 0;
1201 virtual HRESULT WINAPI MapFont(HDC hDC,DWORD dwCodePages,WCHAR chSrc,HFONT *pFont) = 0;
1202 virtual HRESULT WINAPI GetFontUnicodeRanges(HDC hDC,UINT *puiRanges,UNICODERANGE *pUranges) = 0;
1203 virtual HRESULT WINAPI GetScriptFontInfo(SCRIPT_ID sid,DWORD dwFlags,UINT *puiFonts,SCRIPTFONTINFO *pScriptFont) = 0;
1204 virtual HRESULT WINAPI CodePageToScriptID(UINT uiCodePage,SCRIPT_ID *pSid) = 0;
1205 };
1206 #else
1207 typedef struct IMLangFontLink2Vtbl {
1208 BEGIN_INTERFACE
1209 HRESULT (WINAPI *QueryInterface)(IMLangFontLink2 *This,REFIID riid,void **ppvObject);
1210 ULONG (WINAPI *AddRef)(IMLangFontLink2 *This);
1211 ULONG (WINAPI *Release)(IMLangFontLink2 *This);
1212 HRESULT (WINAPI *GetCharCodePages)(IMLangFontLink2 *This,WCHAR chSrc,DWORD *pdwCodePages);
1213 HRESULT (WINAPI *GetStrCodePages)(IMLangFontLink2 *This,const WCHAR *pszSrc,long cchSrc,DWORD dwPriorityCodePages,DWORD *pdwCodePages,long *pcchCodePages);
1214 HRESULT (WINAPI *CodePageToCodePages)(IMLangFontLink2 *This,UINT uCodePage,DWORD *pdwCodePages);
1215 HRESULT (WINAPI *CodePagesToCodePage)(IMLangFontLink2 *This,DWORD dwCodePages,UINT uDefaultCodePage,UINT *puCodePage);
1216 HRESULT (WINAPI *GetFontCodePages)(IMLangFontLink2 *This,HDC hDC,HFONT hFont,DWORD *pdwCodePages);
1217 HRESULT (WINAPI *ReleaseFont)(IMLangFontLink2 *This,HFONT hFont);
1218 HRESULT (WINAPI *ResetFontMapping)(IMLangFontLink2 *This);
1219 HRESULT (WINAPI *MapFont)(IMLangFontLink2 *This,HDC hDC,DWORD dwCodePages,WCHAR chSrc,HFONT *pFont);
1220 HRESULT (WINAPI *GetFontUnicodeRanges)(IMLangFontLink2 *This,HDC hDC,UINT *puiRanges,UNICODERANGE *pUranges);
1221 HRESULT (WINAPI *GetScriptFontInfo)(IMLangFontLink2 *This,SCRIPT_ID sid,DWORD dwFlags,UINT *puiFonts,SCRIPTFONTINFO *pScriptFont);
1222 HRESULT (WINAPI *CodePageToScriptID)(IMLangFontLink2 *This,UINT uiCodePage,SCRIPT_ID *pSid);
1223 END_INTERFACE
1224 } IMLangFontLink2Vtbl;
1225 struct IMLangFontLink2 {
1226 CONST_VTBL struct IMLangFontLink2Vtbl *lpVtbl;
1227 };
1228 #ifdef COBJMACROS
1229 #define IMLangFontLink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1230 #define IMLangFontLink2_AddRef(This) (This)->lpVtbl->AddRef(This)
1231 #define IMLangFontLink2_Release(This) (This)->lpVtbl->Release(This)
1232 #define IMLangFontLink2_GetCharCodePages(This,chSrc,pdwCodePages) (This)->lpVtbl->GetCharCodePages(This,chSrc,pdwCodePages)
1233 #define IMLangFontLink2_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) (This)->lpVtbl->GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
1234 #define IMLangFontLink2_CodePageToCodePages(This,uCodePage,pdwCodePages) (This)->lpVtbl->CodePageToCodePages(This,uCodePage,pdwCodePages)
1235 #define IMLangFontLink2_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) (This)->lpVtbl->CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
1236 #define IMLangFontLink2_GetFontCodePages(This,hDC,hFont,pdwCodePages) (This)->lpVtbl->GetFontCodePages(This,hDC,hFont,pdwCodePages)
1237 #define IMLangFontLink2_ReleaseFont(This,hFont) (This)->lpVtbl->ReleaseFont(This,hFont)
1238 #define IMLangFontLink2_ResetFontMapping(This) (This)->lpVtbl->ResetFontMapping(This)
1239 #define IMLangFontLink2_MapFont(This,hDC,dwCodePages,chSrc,pFont) (This)->lpVtbl->MapFont(This,hDC,dwCodePages,chSrc,pFont)
1240 #define IMLangFontLink2_GetFontUnicodeRanges(This,hDC,puiRanges,pUranges) (This)->lpVtbl->GetFontUnicodeRanges(This,hDC,puiRanges,pUranges)
1241 #define IMLangFontLink2_GetScriptFontInfo(This,sid,dwFlags,puiFonts,pScriptFont) (This)->lpVtbl->GetScriptFontInfo(This,sid,dwFlags,puiFonts,pScriptFont)
1242 #define IMLangFontLink2_CodePageToScriptID(This,uiCodePage,pSid) (This)->lpVtbl->CodePageToScriptID(This,uiCodePage,pSid)
1243 #endif
1244 #endif
1245 HRESULT WINAPI IMLangFontLink2_GetFontCodePages_Proxy(IMLangFontLink2 *This,HDC hDC,HFONT hFont,DWORD *pdwCodePages);
1246 void __RPC_STUB IMLangFontLink2_GetFontCodePages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1247 HRESULT WINAPI IMLangFontLink2_ReleaseFont_Proxy(IMLangFontLink2 *This,HFONT hFont);
1248 void __RPC_STUB IMLangFontLink2_ReleaseFont_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1249 HRESULT WINAPI IMLangFontLink2_ResetFontMapping_Proxy(IMLangFontLink2 *This);
1250 void __RPC_STUB IMLangFontLink2_ResetFontMapping_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1251 HRESULT WINAPI IMLangFontLink2_MapFont_Proxy(IMLangFontLink2 *This,HDC hDC,DWORD dwCodePages,WCHAR chSrc,HFONT *pFont);
1252 void __RPC_STUB IMLangFontLink2_MapFont_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1253 HRESULT WINAPI IMLangFontLink2_GetFontUnicodeRanges_Proxy(IMLangFontLink2 *This,HDC hDC,UINT *puiRanges,UNICODERANGE *pUranges);
1254 void __RPC_STUB IMLangFontLink2_GetFontUnicodeRanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1255 HRESULT WINAPI IMLangFontLink2_GetScriptFontInfo_Proxy(IMLangFontLink2 *This,SCRIPT_ID sid,DWORD dwFlags,UINT *puiFonts,SCRIPTFONTINFO *pScriptFont);
1256 void __RPC_STUB IMLangFontLink2_GetScriptFontInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1257 HRESULT WINAPI IMLangFontLink2_CodePageToScriptID_Proxy(IMLangFontLink2 *This,UINT uiCodePage,SCRIPT_ID *pSid);
1258 void __RPC_STUB IMLangFontLink2_CodePageToScriptID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1259 #endif
1260
1261 #ifndef __IMultiLanguage3_INTERFACE_DEFINED__
1262 #define __IMultiLanguage3_INTERFACE_DEFINED__
1263 typedef IMultiLanguage3 *LPMULTILANGUAGE3;
1264
1265 EXTERN_C const IID IID_IMultiLanguage3;
1266 #if defined(__cplusplus) && !defined(CINTERFACE)
1267 struct IMultiLanguage3 : public IMultiLanguage2 {
1268 public:
1269 virtual HRESULT WINAPI DetectOutboundCodePage(DWORD dwFlags,LPCWSTR lpWideCharStr,UINT cchWideChar,UINT *puiPreferredCodePages,UINT nPreferredCodePages,UINT *puiDetectedCodePages,UINT *pnDetectedCodePages,WCHAR *lpSpecialChar) = 0;
1270 virtual HRESULT WINAPI DetectOutboundCodePageInIStream(DWORD dwFlags,IStream *pStrIn,UINT *puiPreferredCodePages,UINT nPreferredCodePages,UINT *puiDetectedCodePages,UINT *pnDetectedCodePages,WCHAR *lpSpecialChar) = 0;
1271 };
1272 #else
1273 typedef struct IMultiLanguage3Vtbl {
1274 BEGIN_INTERFACE
1275 HRESULT (WINAPI *QueryInterface)(IMultiLanguage3 *This,REFIID riid,void **ppvObject);
1276 ULONG (WINAPI *AddRef)(IMultiLanguage3 *This);
1277 ULONG (WINAPI *Release)(IMultiLanguage3 *This);
1278 HRESULT (WINAPI *GetNumberOfCodePageInfo)(IMultiLanguage3 *This,UINT *pcCodePage);
1279 HRESULT (WINAPI *GetCodePageInfo)(IMultiLanguage3 *This,UINT uiCodePage,LANGID LangId,PMIMECPINFO pCodePageInfo);
1280 HRESULT (WINAPI *GetFamilyCodePage)(IMultiLanguage3 *This,UINT uiCodePage,UINT *puiFamilyCodePage);
1281 HRESULT (WINAPI *EnumCodePages)(IMultiLanguage3 *This,DWORD grfFlags,LANGID LangId,IEnumCodePage **ppEnumCodePage);
1282 HRESULT (WINAPI *GetCharsetInfo)(IMultiLanguage3 *This,BSTR Charset,PMIMECSETINFO pCharsetInfo);
1283 HRESULT (WINAPI *IsConvertible)(IMultiLanguage3 *This,DWORD dwSrcEncoding,DWORD dwDstEncoding);
1284 HRESULT (WINAPI *ConvertString)(IMultiLanguage3 *This,DWORD *pdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize);
1285 HRESULT (WINAPI *ConvertStringToUnicode)(IMultiLanguage3 *This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize);
1286 HRESULT (WINAPI *ConvertStringFromUnicode)(IMultiLanguage3 *This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize);
1287 HRESULT (WINAPI *ConvertStringReset)(IMultiLanguage3 *This);
1288 HRESULT (WINAPI *GetRfc1766FromLcid)(IMultiLanguage3 *This,LCID Locale,BSTR *pbstrRfc1766);
1289 HRESULT (WINAPI *GetLcidFromRfc1766)(IMultiLanguage3 *This,LCID *pLocale,BSTR bstrRfc1766);
1290 HRESULT (WINAPI *EnumRfc1766)(IMultiLanguage3 *This,LANGID LangId,IEnumRfc1766 **ppEnumRfc1766);
1291 HRESULT (WINAPI *GetRfc1766Info)(IMultiLanguage3 *This,LCID Locale,LANGID LangId,PRFC1766INFO pRfc1766Info);
1292 HRESULT (WINAPI *CreateConvertCharset)(IMultiLanguage3 *This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty,IMLangConvertCharset **ppMLangConvertCharset);
1293 HRESULT (WINAPI *ConvertStringInIStream)(IMultiLanguage3 *This,DWORD *pdwMode,DWORD dwFlag,WCHAR *lpFallBack,DWORD dwSrcEncoding,DWORD dwDstEncoding,IStream *pstmIn,IStream *pstmOut);
1294 HRESULT (WINAPI *ConvertStringToUnicodeEx)(IMultiLanguage3 *This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack);
1295 HRESULT (WINAPI *ConvertStringFromUnicodeEx)(IMultiLanguage3 *This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack);
1296 HRESULT (WINAPI *DetectCodepageInIStream)(IMultiLanguage3 *This,DWORD dwFlag,DWORD dwPrefWinCodePage,IStream *pstmIn,DetectEncodingInfo *lpEncoding,INT *pnScores);
1297 HRESULT (WINAPI *DetectInputCodepage)(IMultiLanguage3 *This,DWORD dwFlag,DWORD dwPrefWinCodePage,CHAR *pSrcStr,INT *pcSrcSize,DetectEncodingInfo *lpEncoding,INT *pnScores);
1298 HRESULT (WINAPI *ValidateCodePage)(IMultiLanguage3 *This,UINT uiCodePage,HWND hwnd);
1299 HRESULT (WINAPI *GetCodePageDescription)(IMultiLanguage3 *This,UINT uiCodePage,LCID lcid,LPWSTR lpWideCharStr,int cchWideChar);
1300 HRESULT (WINAPI *IsCodePageInstallable)(IMultiLanguage3 *This,UINT uiCodePage);
1301 HRESULT (WINAPI *SetMimeDBSource)(IMultiLanguage3 *This,MIMECONTF dwSource);
1302 HRESULT (WINAPI *GetNumberOfScripts)(IMultiLanguage3 *This,UINT *pnScripts);
1303 HRESULT (WINAPI *EnumScripts)(IMultiLanguage3 *This,DWORD dwFlags,LANGID LangId,IEnumScript **ppEnumScript);
1304 HRESULT (WINAPI *ValidateCodePageEx)(IMultiLanguage3 *This,UINT uiCodePage,HWND hwnd,DWORD dwfIODControl);
1305 HRESULT (WINAPI *DetectOutboundCodePage)(IMultiLanguage3 *This,DWORD dwFlags,LPCWSTR lpWideCharStr,UINT cchWideChar,UINT *puiPreferredCodePages,UINT nPreferredCodePages,UINT *puiDetectedCodePages,UINT *pnDetectedCodePages,WCHAR *lpSpecialChar);
1306 HRESULT (WINAPI *DetectOutboundCodePageInIStream)(IMultiLanguage3 *This,DWORD dwFlags,IStream *pStrIn,UINT *puiPreferredCodePages,UINT nPreferredCodePages,UINT *puiDetectedCodePages,UINT *pnDetectedCodePages,WCHAR *lpSpecialChar);
1307 END_INTERFACE
1308 } IMultiLanguage3Vtbl;
1309 struct IMultiLanguage3 {
1310 CONST_VTBL struct IMultiLanguage3Vtbl *lpVtbl;
1311 };
1312 #ifdef COBJMACROS
1313 #define IMultiLanguage3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1314 #define IMultiLanguage3_AddRef(This) (This)->lpVtbl->AddRef(This)
1315 #define IMultiLanguage3_Release(This) (This)->lpVtbl->Release(This)
1316 #define IMultiLanguage3_GetNumberOfCodePageInfo(This,pcCodePage) (This)->lpVtbl->GetNumberOfCodePageInfo(This,pcCodePage)
1317 #define IMultiLanguage3_GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo) (This)->lpVtbl->GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo)
1318 #define IMultiLanguage3_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) (This)->lpVtbl->GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
1319 #define IMultiLanguage3_EnumCodePages(This,grfFlags,LangId,ppEnumCodePage) (This)->lpVtbl->EnumCodePages(This,grfFlags,LangId,ppEnumCodePage)
1320 #define IMultiLanguage3_GetCharsetInfo(This,Charset,pCharsetInfo) (This)->lpVtbl->GetCharsetInfo(This,Charset,pCharsetInfo)
1321 #define IMultiLanguage3_IsConvertible(This,dwSrcEncoding,dwDstEncoding) (This)->lpVtbl->IsConvertible(This,dwSrcEncoding,dwDstEncoding)
1322 #define IMultiLanguage3_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
1323 #define IMultiLanguage3_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
1324 #define IMultiLanguage3_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
1325 #define IMultiLanguage3_ConvertStringReset(This) (This)->lpVtbl->ConvertStringReset(This)
1326 #define IMultiLanguage3_GetRfc1766FromLcid(This,Locale,pbstrRfc1766) (This)->lpVtbl->GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
1327 #define IMultiLanguage3_GetLcidFromRfc1766(This,pLocale,bstrRfc1766) (This)->lpVtbl->GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
1328 #define IMultiLanguage3_EnumRfc1766(This,LangId,ppEnumRfc1766) (This)->lpVtbl->EnumRfc1766(This,LangId,ppEnumRfc1766)
1329 #define IMultiLanguage3_GetRfc1766Info(This,Locale,LangId,pRfc1766Info) (This)->lpVtbl->GetRfc1766Info(This,Locale,LangId,pRfc1766Info)
1330 #define IMultiLanguage3_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) (This)->lpVtbl->CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
1331 #define IMultiLanguage3_ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut) (This)->lpVtbl->ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut)
1332 #define IMultiLanguage3_ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) (This)->lpVtbl->ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
1333 #define IMultiLanguage3_ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) (This)->lpVtbl->ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
1334 #define IMultiLanguage3_DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores) (This)->lpVtbl->DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores)
1335 #define IMultiLanguage3_DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores) (This)->lpVtbl->DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores)
1336 #define IMultiLanguage3_ValidateCodePage(This,uiCodePage,hwnd) (This)->lpVtbl->ValidateCodePage(This,uiCodePage,hwnd)
1337 #define IMultiLanguage3_GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar) (This)->lpVtbl->GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar)
1338 #define IMultiLanguage3_IsCodePageInstallable(This,uiCodePage) (This)->lpVtbl->IsCodePageInstallable(This,uiCodePage)
1339 #define IMultiLanguage3_SetMimeDBSource(This,dwSource) (This)->lpVtbl->SetMimeDBSource(This,dwSource)
1340 #define IMultiLanguage3_GetNumberOfScripts(This,pnScripts) (This)->lpVtbl->GetNumberOfScripts(This,pnScripts)
1341 #define IMultiLanguage3_EnumScripts(This,dwFlags,LangId,ppEnumScript) (This)->lpVtbl->EnumScripts(This,dwFlags,LangId,ppEnumScript)
1342 #define IMultiLanguage3_ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl) (This)->lpVtbl->ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl)
1343 #define IMultiLanguage3_DetectOutboundCodePage(This,dwFlags,lpWideCharStr,cchWideChar,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar) (This)->lpVtbl->DetectOutboundCodePage(This,dwFlags,lpWideCharStr,cchWideChar,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar)
1344 #define IMultiLanguage3_DetectOutboundCodePageInIStream(This,dwFlags,pStrIn,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar) (This)->lpVtbl->DetectOutboundCodePageInIStream(This,dwFlags,pStrIn,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar)
1345 #endif
1346 #endif
1347 HRESULT WINAPI IMultiLanguage3_DetectOutboundCodePage_Proxy(IMultiLanguage3 *This,DWORD dwFlags,LPCWSTR lpWideCharStr,UINT cchWideChar,UINT *puiPreferredCodePages,UINT nPreferredCodePages,UINT *puiDetectedCodePages,UINT *pnDetectedCodePages,WCHAR *lpSpecialChar);
1348 void __RPC_STUB IMultiLanguage3_DetectOutboundCodePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1349 HRESULT WINAPI IMultiLanguage3_DetectOutboundCodePageInIStream_Proxy(IMultiLanguage3 *This,DWORD dwFlags,IStream *pStrIn,UINT *puiPreferredCodePages,UINT nPreferredCodePages,UINT *puiDetectedCodePages,UINT *pnDetectedCodePages,WCHAR *lpSpecialChar);
1350 void __RPC_STUB IMultiLanguage3_DetectOutboundCodePageInIStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1351 #endif
1352
1353 EXTERN_C const CLSID CLSID_CMultiLanguage;
1354 #ifdef __cplusplus
1355 class CMultiLanguage;
1356 #endif
1357 #endif
1358
1359 #ifndef _MLANG_H_API_DEF_
1360 #define _MLANG_H_API_DEF_
1361 STDAPI LcidToRfc1766A(LCID Locale,LPSTR pszRfc1766,int iMaxLength);
1362 STDAPI LcidToRfc1766W(LCID Locale,LPWSTR pszRfc1766,int nChar);
1363 #ifdef UNICODE
1364 #define LcidToRfc1766 LcidToRfc1766W
1365 #else
1366 #define LcidToRfc1766 LcidToRfc1766A
1367 #endif
1368 STDAPI Rfc1766ToLcidA(LCID *pLocale,LPCSTR pszRfc1766);
1369 STDAPI Rfc1766ToLcidW(LCID *pLocale,LPCWSTR pszRfc1766);
1370 #ifdef UNICODE
1371 #define Rfc1766ToLcid Rfc1766ToLcidW
1372 #else
1373 #define Rfc1766ToLcid Rfc1766ToLcidA
1374 #endif
1375 STDAPI IsConvertINetStringAvailable(DWORD dwSrcEncoding,DWORD dwDstEncoding);
1376 STDAPI ConvertINetString(LPDWORD lpdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,LPCSTR lpSrcStr,LPINT lpnSrcSize,LPSTR lpDstStr,LPINT lpnDstSize);
1377 STDAPI ConvertINetMultiByteToUnicode(LPDWORD lpdwMode,DWORD dwEncoding,LPCSTR lpSrcStr,LPINT lpnMultiCharCount,LPWSTR lpDstStr,LPINT lpnWideCharCount);
1378 STDAPI ConvertINetUnicodeToMultiByte(LPDWORD lpdwMode,DWORD dwEncoding,LPCWSTR lpSrcStr,LPINT lpnWideCharCount,LPSTR lpDstStr,LPINT lpnMultiCharCount);
1379 #endif
1380
1381 extern RPC_IF_HANDLE __MIDL_itf_mlang_0131_v0_0_c_ifspec;
1382 extern RPC_IF_HANDLE __MIDL_itf_mlang_0131_v0_0_s_ifspec;
1383
1384 #ifdef __cplusplus
1385 }
1386 #endif
1387 #endif