source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mlang.h@ 1181

Last change on this file since 1181 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

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