Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
0d65421b
Commit
0d65421b
authored
Feb 04, 2009
by
Dmitry Timoshkov
Committed by
Alexandre Julliard
Feb 04, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mlang: Get rid of ICOM_THIS_MULTI macro.
parent
f02f39f6
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
111 additions
and
55 deletions
+111
-55
mlang.c
dlls/mlang/mlang.c
+111
-55
No files found.
dlls/mlang/mlang.c
View file @
0d65421b
...
@@ -43,8 +43,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(mlang);
...
@@ -43,8 +43,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(mlang);
#define CP_UNICODE 1200
#define CP_UNICODE 1200
#define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field))
static
HRESULT
MultiLanguage_create
(
IUnknown
*
pUnkOuter
,
LPVOID
*
ppObj
);
static
HRESULT
MultiLanguage_create
(
IUnknown
*
pUnkOuter
,
LPVOID
*
ppObj
);
static
HRESULT
EnumRfc1766_create
(
LANGID
LangId
,
IEnumRfc1766
**
ppEnum
);
static
HRESULT
EnumRfc1766_create
(
LANGID
LangId
,
IEnumRfc1766
**
ppEnum
);
...
@@ -1486,12 +1484,17 @@ typedef struct tagEnumCodePage_impl
...
@@ -1486,12 +1484,17 @@ typedef struct tagEnumCodePage_impl
DWORD
total
,
pos
;
DWORD
total
,
pos
;
}
EnumCodePage_impl
;
}
EnumCodePage_impl
;
static
inline
EnumCodePage_impl
*
impl_from_IEnumCodePage
(
IEnumCodePage
*
iface
)
{
return
(
EnumCodePage_impl
*
)
CONTAINING_RECORD
(
iface
,
EnumCodePage_impl
,
vtbl_IEnumCodePage
);
}
static
HRESULT
WINAPI
fnIEnumCodePage_QueryInterface
(
static
HRESULT
WINAPI
fnIEnumCodePage_QueryInterface
(
IEnumCodePage
*
iface
,
IEnumCodePage
*
iface
,
REFIID
riid
,
REFIID
riid
,
void
**
ppvObject
)
void
**
ppvObject
)
{
{
ICOM_THIS_MULTI
(
EnumCodePage_impl
,
vtbl_IEnumCodePage
,
iface
);
EnumCodePage_impl
*
This
=
impl_from_IEnumCodePage
(
iface
);
TRACE
(
"%p -> %s
\n
"
,
This
,
debugstr_guid
(
riid
)
);
TRACE
(
"%p -> %s
\n
"
,
This
,
debugstr_guid
(
riid
)
);
...
@@ -1511,14 +1514,14 @@ static HRESULT WINAPI fnIEnumCodePage_QueryInterface(
...
@@ -1511,14 +1514,14 @@ static HRESULT WINAPI fnIEnumCodePage_QueryInterface(
static
ULONG
WINAPI
fnIEnumCodePage_AddRef
(
static
ULONG
WINAPI
fnIEnumCodePage_AddRef
(
IEnumCodePage
*
iface
)
IEnumCodePage
*
iface
)
{
{
ICOM_THIS_MULTI
(
EnumCodePage_impl
,
vtbl_IEnumCodePage
,
iface
);
EnumCodePage_impl
*
This
=
impl_from_IEnumCodePage
(
iface
);
return
InterlockedIncrement
(
&
This
->
ref
);
return
InterlockedIncrement
(
&
This
->
ref
);
}
}
static
ULONG
WINAPI
fnIEnumCodePage_Release
(
static
ULONG
WINAPI
fnIEnumCodePage_Release
(
IEnumCodePage
*
iface
)
IEnumCodePage
*
iface
)
{
{
ICOM_THIS_MULTI
(
EnumCodePage_impl
,
vtbl_IEnumCodePage
,
iface
);
EnumCodePage_impl
*
This
=
impl_from_IEnumCodePage
(
iface
);
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
TRACE
(
"%p ref = %d
\n
"
,
This
,
ref
);
TRACE
(
"%p ref = %d
\n
"
,
This
,
ref
);
...
@@ -1536,7 +1539,7 @@ static HRESULT WINAPI fnIEnumCodePage_Clone(
...
@@ -1536,7 +1539,7 @@ static HRESULT WINAPI fnIEnumCodePage_Clone(
IEnumCodePage
*
iface
,
IEnumCodePage
*
iface
,
IEnumCodePage
**
ppEnum
)
IEnumCodePage
**
ppEnum
)
{
{
ICOM_THIS_MULTI
(
EnumCodePage_impl
,
vtbl_IEnumCodePage
,
iface
);
EnumCodePage_impl
*
This
=
impl_from_IEnumCodePage
(
iface
);
FIXME
(
"%p %p
\n
"
,
This
,
ppEnum
);
FIXME
(
"%p %p
\n
"
,
This
,
ppEnum
);
return
E_NOTIMPL
;
return
E_NOTIMPL
;
}
}
...
@@ -1548,8 +1551,8 @@ static HRESULT WINAPI fnIEnumCodePage_Next(
...
@@ -1548,8 +1551,8 @@ static HRESULT WINAPI fnIEnumCodePage_Next(
ULONG
*
pceltFetched
)
ULONG
*
pceltFetched
)
{
{
ULONG
i
;
ULONG
i
;
EnumCodePage_impl
*
This
=
impl_from_IEnumCodePage
(
iface
);
ICOM_THIS_MULTI
(
EnumCodePage_impl
,
vtbl_IEnumCodePage
,
iface
);
TRACE
(
"%p %u %p %p
\n
"
,
This
,
celt
,
rgelt
,
pceltFetched
);
TRACE
(
"%p %u %p %p
\n
"
,
This
,
celt
,
rgelt
,
pceltFetched
);
if
(
!
pceltFetched
)
return
S_FALSE
;
if
(
!
pceltFetched
)
return
S_FALSE
;
...
@@ -1585,7 +1588,8 @@ static HRESULT WINAPI fnIEnumCodePage_Next(
...
@@ -1585,7 +1588,8 @@ static HRESULT WINAPI fnIEnumCodePage_Next(
static
HRESULT
WINAPI
fnIEnumCodePage_Reset
(
static
HRESULT
WINAPI
fnIEnumCodePage_Reset
(
IEnumCodePage
*
iface
)
IEnumCodePage
*
iface
)
{
{
ICOM_THIS_MULTI
(
EnumCodePage_impl
,
vtbl_IEnumCodePage
,
iface
);
EnumCodePage_impl
*
This
=
impl_from_IEnumCodePage
(
iface
);
TRACE
(
"%p
\n
"
,
This
);
TRACE
(
"%p
\n
"
,
This
);
This
->
pos
=
0
;
This
->
pos
=
0
;
...
@@ -1596,7 +1600,8 @@ static HRESULT WINAPI fnIEnumCodePage_Skip(
...
@@ -1596,7 +1600,8 @@ static HRESULT WINAPI fnIEnumCodePage_Skip(
IEnumCodePage
*
iface
,
IEnumCodePage
*
iface
,
ULONG
celt
)
ULONG
celt
)
{
{
ICOM_THIS_MULTI
(
EnumCodePage_impl
,
vtbl_IEnumCodePage
,
iface
);
EnumCodePage_impl
*
This
=
impl_from_IEnumCodePage
(
iface
);
TRACE
(
"%p %u
\n
"
,
This
,
celt
);
TRACE
(
"%p %u
\n
"
,
This
,
celt
);
if
(
celt
>=
This
->
total
)
return
S_FALSE
;
if
(
celt
>=
This
->
total
)
return
S_FALSE
;
...
@@ -1672,12 +1677,17 @@ typedef struct tagEnumScript_impl
...
@@ -1672,12 +1677,17 @@ typedef struct tagEnumScript_impl
DWORD
total
,
pos
;
DWORD
total
,
pos
;
}
EnumScript_impl
;
}
EnumScript_impl
;
static
inline
EnumScript_impl
*
impl_from_IEnumScript
(
IEnumScript
*
iface
)
{
return
(
EnumScript_impl
*
)
CONTAINING_RECORD
(
iface
,
EnumScript_impl
,
vtbl_IEnumScript
);
}
static
HRESULT
WINAPI
fnIEnumScript_QueryInterface
(
static
HRESULT
WINAPI
fnIEnumScript_QueryInterface
(
IEnumScript
*
iface
,
IEnumScript
*
iface
,
REFIID
riid
,
REFIID
riid
,
void
**
ppvObject
)
void
**
ppvObject
)
{
{
ICOM_THIS_MULTI
(
EnumScript_impl
,
vtbl_IEnumScript
,
iface
);
EnumScript_impl
*
This
=
impl_from_IEnumScript
(
iface
);
TRACE
(
"%p -> %s
\n
"
,
This
,
debugstr_guid
(
riid
)
);
TRACE
(
"%p -> %s
\n
"
,
This
,
debugstr_guid
(
riid
)
);
...
@@ -1697,14 +1707,14 @@ static HRESULT WINAPI fnIEnumScript_QueryInterface(
...
@@ -1697,14 +1707,14 @@ static HRESULT WINAPI fnIEnumScript_QueryInterface(
static
ULONG
WINAPI
fnIEnumScript_AddRef
(
static
ULONG
WINAPI
fnIEnumScript_AddRef
(
IEnumScript
*
iface
)
IEnumScript
*
iface
)
{
{
ICOM_THIS_MULTI
(
EnumScript_impl
,
vtbl_IEnumScript
,
iface
);
EnumScript_impl
*
This
=
impl_from_IEnumScript
(
iface
);
return
InterlockedIncrement
(
&
This
->
ref
);
return
InterlockedIncrement
(
&
This
->
ref
);
}
}
static
ULONG
WINAPI
fnIEnumScript_Release
(
static
ULONG
WINAPI
fnIEnumScript_Release
(
IEnumScript
*
iface
)
IEnumScript
*
iface
)
{
{
ICOM_THIS_MULTI
(
EnumScript_impl
,
vtbl_IEnumScript
,
iface
);
EnumScript_impl
*
This
=
impl_from_IEnumScript
(
iface
);
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
TRACE
(
"%p ref = %d
\n
"
,
This
,
ref
);
TRACE
(
"%p ref = %d
\n
"
,
This
,
ref
);
...
@@ -1722,7 +1732,7 @@ static HRESULT WINAPI fnIEnumScript_Clone(
...
@@ -1722,7 +1732,7 @@ static HRESULT WINAPI fnIEnumScript_Clone(
IEnumScript
*
iface
,
IEnumScript
*
iface
,
IEnumScript
**
ppEnum
)
IEnumScript
**
ppEnum
)
{
{
ICOM_THIS_MULTI
(
EnumScript_impl
,
vtbl_IEnumScript
,
iface
);
EnumScript_impl
*
This
=
impl_from_IEnumScript
(
iface
);
FIXME
(
"%p %p: stub!
\n
"
,
This
,
ppEnum
);
FIXME
(
"%p %p: stub!
\n
"
,
This
,
ppEnum
);
return
E_NOTIMPL
;
return
E_NOTIMPL
;
}
}
...
@@ -1733,7 +1743,8 @@ static HRESULT WINAPI fnIEnumScript_Next(
...
@@ -1733,7 +1743,8 @@ static HRESULT WINAPI fnIEnumScript_Next(
PSCRIPTINFO
rgelt
,
PSCRIPTINFO
rgelt
,
ULONG
*
pceltFetched
)
ULONG
*
pceltFetched
)
{
{
ICOM_THIS_MULTI
(
EnumScript_impl
,
vtbl_IEnumScript
,
iface
);
EnumScript_impl
*
This
=
impl_from_IEnumScript
(
iface
);
TRACE
(
"%p %u %p %p
\n
"
,
This
,
celt
,
rgelt
,
pceltFetched
);
TRACE
(
"%p %u %p %p
\n
"
,
This
,
celt
,
rgelt
,
pceltFetched
);
if
(
!
pceltFetched
||
!
rgelt
)
return
E_FAIL
;
if
(
!
pceltFetched
||
!
rgelt
)
return
E_FAIL
;
...
@@ -1755,7 +1766,8 @@ static HRESULT WINAPI fnIEnumScript_Next(
...
@@ -1755,7 +1766,8 @@ static HRESULT WINAPI fnIEnumScript_Next(
static
HRESULT
WINAPI
fnIEnumScript_Reset
(
static
HRESULT
WINAPI
fnIEnumScript_Reset
(
IEnumScript
*
iface
)
IEnumScript
*
iface
)
{
{
ICOM_THIS_MULTI
(
EnumScript_impl
,
vtbl_IEnumScript
,
iface
);
EnumScript_impl
*
This
=
impl_from_IEnumScript
(
iface
);
TRACE
(
"%p
\n
"
,
This
);
TRACE
(
"%p
\n
"
,
This
);
This
->
pos
=
0
;
This
->
pos
=
0
;
...
@@ -1766,7 +1778,8 @@ static HRESULT WINAPI fnIEnumScript_Skip(
...
@@ -1766,7 +1778,8 @@ static HRESULT WINAPI fnIEnumScript_Skip(
IEnumScript
*
iface
,
IEnumScript
*
iface
,
ULONG
celt
)
ULONG
celt
)
{
{
ICOM_THIS_MULTI
(
EnumScript_impl
,
vtbl_IEnumScript
,
iface
);
EnumScript_impl
*
This
=
impl_from_IEnumScript
(
iface
);
TRACE
(
"%p %u
\n
"
,
This
,
celt
);
TRACE
(
"%p %u
\n
"
,
This
,
celt
);
if
(
celt
>=
This
->
total
)
return
S_FALSE
;
if
(
celt
>=
This
->
total
)
return
S_FALSE
;
...
@@ -1826,26 +1839,31 @@ static HRESULT EnumScript_create( MLang_impl* mlang, DWORD dwFlags,
...
@@ -1826,26 +1839,31 @@ static HRESULT EnumScript_create( MLang_impl* mlang, DWORD dwFlags,
/******************************************************************************/
/******************************************************************************/
static
inline
MLang_impl
*
impl_from_IMLangFontLink
(
IMLangFontLink
*
iface
)
{
return
(
MLang_impl
*
)
CONTAINING_RECORD
(
iface
,
MLang_impl
,
vtbl_IMLangFontLink
);
}
static
HRESULT
WINAPI
fnIMLangFontLink_QueryInterface
(
static
HRESULT
WINAPI
fnIMLangFontLink_QueryInterface
(
IMLangFontLink
*
iface
,
IMLangFontLink
*
iface
,
REFIID
riid
,
REFIID
riid
,
void
**
ppvObject
)
void
**
ppvObject
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangFontLink
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangFontLink
(
iface
);
return
MLang_QueryInterface
(
This
,
riid
,
ppvObject
);
return
MLang_QueryInterface
(
This
,
riid
,
ppvObject
);
}
}
static
ULONG
WINAPI
fnIMLangFontLink_AddRef
(
static
ULONG
WINAPI
fnIMLangFontLink_AddRef
(
IMLangFontLink
*
iface
)
IMLangFontLink
*
iface
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangFontLink
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangFontLink
(
iface
);
return
MLang_AddRef
(
This
);
return
MLang_AddRef
(
This
);
}
}
static
ULONG
WINAPI
fnIMLangFontLink_Release
(
static
ULONG
WINAPI
fnIMLangFontLink_Release
(
IMLangFontLink
*
iface
)
IMLangFontLink
*
iface
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangFontLink
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangFontLink
(
iface
);
return
MLang_Release
(
This
);
return
MLang_Release
(
This
);
}
}
...
@@ -1896,7 +1914,7 @@ static HRESULT WINAPI fnIMLangFontLink_CodePageToCodePages(
...
@@ -1896,7 +1914,7 @@ static HRESULT WINAPI fnIMLangFontLink_CodePageToCodePages(
UINT
uCodePage
,
UINT
uCodePage
,
DWORD
*
pdwCodePages
)
DWORD
*
pdwCodePages
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangFontLink
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangFontLink
(
iface
);
CHARSETINFO
cs
;
CHARSETINFO
cs
;
BOOL
rc
;
BOOL
rc
;
...
@@ -1922,7 +1940,7 @@ static HRESULT WINAPI fnIMLangFontLink_CodePagesToCodePage(
...
@@ -1922,7 +1940,7 @@ static HRESULT WINAPI fnIMLangFontLink_CodePagesToCodePage(
UINT
uDefaultCodePage
,
UINT
uDefaultCodePage
,
UINT
*
puCodePage
)
UINT
*
puCodePage
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangFontLink
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangFontLink
(
iface
);
DWORD
mask
=
0x00000000
;
DWORD
mask
=
0x00000000
;
UINT
i
;
UINT
i
;
CHARSETINFO
cs
;
CHARSETINFO
cs
;
...
@@ -1975,7 +1993,7 @@ static HRESULT WINAPI fnIMLangFontLink_GetFontCodePages(
...
@@ -1975,7 +1993,7 @@ static HRESULT WINAPI fnIMLangFontLink_GetFontCodePages(
{
{
HFONT
old_font
;
HFONT
old_font
;
FONTSIGNATURE
fontsig
;
FONTSIGNATURE
fontsig
;
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangFontLink
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangFontLink
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
TRACE
(
"(%p)
\n
"
,
This
);
...
@@ -2033,24 +2051,29 @@ static const IMLangFontLinkVtbl IMLangFontLink_vtbl =
...
@@ -2033,24 +2051,29 @@ static const IMLangFontLinkVtbl IMLangFontLink_vtbl =
/******************************************************************************/
/******************************************************************************/
static
inline
MLang_impl
*
impl_from_IMultiLanguage
(
IMultiLanguage
*
iface
)
{
return
(
MLang_impl
*
)
CONTAINING_RECORD
(
iface
,
MLang_impl
,
vtbl_IMultiLanguage
);
}
static
HRESULT
WINAPI
fnIMultiLanguage_QueryInterface
(
static
HRESULT
WINAPI
fnIMultiLanguage_QueryInterface
(
IMultiLanguage
*
iface
,
IMultiLanguage
*
iface
,
REFIID
riid
,
REFIID
riid
,
void
**
ppvObject
)
void
**
ppvObject
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage
(
iface
);
return
MLang_QueryInterface
(
This
,
riid
,
ppvObject
);
return
MLang_QueryInterface
(
This
,
riid
,
ppvObject
);
}
}
static
ULONG
WINAPI
fnIMultiLanguage_AddRef
(
IMultiLanguage
*
iface
)
static
ULONG
WINAPI
fnIMultiLanguage_AddRef
(
IMultiLanguage
*
iface
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage
(
iface
);
return
IMLangFontLink_AddRef
(
((
IMLangFontLink
*
)
This
)
);
return
IMLangFontLink_AddRef
(
((
IMLangFontLink
*
)
This
)
);
}
}
static
ULONG
WINAPI
fnIMultiLanguage_Release
(
IMultiLanguage
*
iface
)
static
ULONG
WINAPI
fnIMultiLanguage_Release
(
IMultiLanguage
*
iface
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage
(
iface
);
return
IMLangFontLink_Release
(
((
IMLangFontLink
*
)
This
)
);
return
IMLangFontLink_Release
(
((
IMLangFontLink
*
)
This
)
);
}
}
...
@@ -2068,8 +2091,8 @@ static HRESULT WINAPI fnIMultiLanguage_GetCodePageInfo(
...
@@ -2068,8 +2091,8 @@ static HRESULT WINAPI fnIMultiLanguage_GetCodePageInfo(
PMIMECPINFO
pCodePageInfo
)
PMIMECPINFO
pCodePageInfo
)
{
{
UINT
i
,
n
;
UINT
i
,
n
;
MLang_impl
*
This
=
impl_from_IMultiLanguage
(
iface
);
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage
,
iface
);
TRACE
(
"%p, %u, %p
\n
"
,
This
,
uiCodePage
,
pCodePageInfo
);
TRACE
(
"%p, %u, %p
\n
"
,
This
,
uiCodePage
,
pCodePageInfo
);
for
(
i
=
0
;
i
<
sizeof
(
mlang_data
)
/
sizeof
(
mlang_data
[
0
]);
i
++
)
for
(
i
=
0
;
i
<
sizeof
(
mlang_data
)
/
sizeof
(
mlang_data
[
0
]);
i
++
)
...
@@ -2100,7 +2123,8 @@ static HRESULT WINAPI fnIMultiLanguage_EnumCodePages(
...
@@ -2100,7 +2123,8 @@ static HRESULT WINAPI fnIMultiLanguage_EnumCodePages(
DWORD
grfFlags
,
DWORD
grfFlags
,
IEnumCodePage
**
ppEnumCodePage
)
IEnumCodePage
**
ppEnumCodePage
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage
(
iface
);
TRACE
(
"%p %08x %p
\n
"
,
This
,
grfFlags
,
ppEnumCodePage
);
TRACE
(
"%p %08x %p
\n
"
,
This
,
grfFlags
,
ppEnumCodePage
);
return
EnumCodePage_create
(
This
,
grfFlags
,
0
,
ppEnumCodePage
);
return
EnumCodePage_create
(
This
,
grfFlags
,
0
,
ppEnumCodePage
);
...
@@ -2111,7 +2135,7 @@ static HRESULT WINAPI fnIMultiLanguage_GetCharsetInfo(
...
@@ -2111,7 +2135,7 @@ static HRESULT WINAPI fnIMultiLanguage_GetCharsetInfo(
BSTR
Charset
,
BSTR
Charset
,
PMIMECSETINFO
pCharsetInfo
)
PMIMECSETINFO
pCharsetInfo
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage
(
iface
);
return
IMultiLanguage3_GetCharsetInfo
((
IMultiLanguage3
*
)
&
This
->
vtbl_IMultiLanguage3
,
Charset
,
pCharsetInfo
);
return
IMultiLanguage3_GetCharsetInfo
((
IMultiLanguage3
*
)
&
This
->
vtbl_IMultiLanguage3
,
Charset
,
pCharsetInfo
);
}
}
...
@@ -2220,12 +2244,17 @@ typedef struct tagEnumRfc1766_impl
...
@@ -2220,12 +2244,17 @@ typedef struct tagEnumRfc1766_impl
DWORD
total
,
pos
;
DWORD
total
,
pos
;
}
EnumRfc1766_impl
;
}
EnumRfc1766_impl
;
static
inline
EnumRfc1766_impl
*
impl_from_IEnumRfc1766
(
IEnumRfc1766
*
iface
)
{
return
(
EnumRfc1766_impl
*
)
CONTAINING_RECORD
(
iface
,
EnumRfc1766_impl
,
vtbl_IEnumRfc1766
);
}
static
HRESULT
WINAPI
fnIEnumRfc1766_QueryInterface
(
static
HRESULT
WINAPI
fnIEnumRfc1766_QueryInterface
(
IEnumRfc1766
*
iface
,
IEnumRfc1766
*
iface
,
REFIID
riid
,
REFIID
riid
,
void
**
ppvObject
)
void
**
ppvObject
)
{
{
ICOM_THIS_MULTI
(
EnumRfc1766_impl
,
vtbl_IEnumRfc1766
,
iface
);
EnumRfc1766_impl
*
This
=
impl_from_IEnumRfc1766
(
iface
);
TRACE
(
"%p -> %s
\n
"
,
This
,
debugstr_guid
(
riid
)
);
TRACE
(
"%p -> %s
\n
"
,
This
,
debugstr_guid
(
riid
)
);
...
@@ -2245,14 +2274,14 @@ static HRESULT WINAPI fnIEnumRfc1766_QueryInterface(
...
@@ -2245,14 +2274,14 @@ static HRESULT WINAPI fnIEnumRfc1766_QueryInterface(
static
ULONG
WINAPI
fnIEnumRfc1766_AddRef
(
static
ULONG
WINAPI
fnIEnumRfc1766_AddRef
(
IEnumRfc1766
*
iface
)
IEnumRfc1766
*
iface
)
{
{
ICOM_THIS_MULTI
(
EnumRfc1766_impl
,
vtbl_IEnumRfc1766
,
iface
);
EnumRfc1766_impl
*
This
=
impl_from_IEnumRfc1766
(
iface
);
return
InterlockedIncrement
(
&
This
->
ref
);
return
InterlockedIncrement
(
&
This
->
ref
);
}
}
static
ULONG
WINAPI
fnIEnumRfc1766_Release
(
static
ULONG
WINAPI
fnIEnumRfc1766_Release
(
IEnumRfc1766
*
iface
)
IEnumRfc1766
*
iface
)
{
{
ICOM_THIS_MULTI
(
EnumRfc1766_impl
,
vtbl_IEnumRfc1766
,
iface
);
EnumRfc1766_impl
*
This
=
impl_from_IEnumRfc1766
(
iface
);
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
TRACE
(
"%p ref = %d
\n
"
,
This
,
ref
);
TRACE
(
"%p ref = %d
\n
"
,
This
,
ref
);
...
@@ -2269,7 +2298,8 @@ static HRESULT WINAPI fnIEnumRfc1766_Clone(
...
@@ -2269,7 +2298,8 @@ static HRESULT WINAPI fnIEnumRfc1766_Clone(
IEnumRfc1766
*
iface
,
IEnumRfc1766
*
iface
,
IEnumRfc1766
**
ppEnum
)
IEnumRfc1766
**
ppEnum
)
{
{
ICOM_THIS_MULTI
(
EnumRfc1766_impl
,
vtbl_IEnumRfc1766
,
iface
);
EnumRfc1766_impl
*
This
=
impl_from_IEnumRfc1766
(
iface
);
FIXME
(
"%p %p
\n
"
,
This
,
ppEnum
);
FIXME
(
"%p %p
\n
"
,
This
,
ppEnum
);
return
E_NOTIMPL
;
return
E_NOTIMPL
;
}
}
...
@@ -2281,8 +2311,8 @@ static HRESULT WINAPI fnIEnumRfc1766_Next(
...
@@ -2281,8 +2311,8 @@ static HRESULT WINAPI fnIEnumRfc1766_Next(
ULONG
*
pceltFetched
)
ULONG
*
pceltFetched
)
{
{
ULONG
i
;
ULONG
i
;
EnumRfc1766_impl
*
This
=
impl_from_IEnumRfc1766
(
iface
);
ICOM_THIS_MULTI
(
EnumRfc1766_impl
,
vtbl_IEnumRfc1766
,
iface
);
TRACE
(
"%p %u %p %p
\n
"
,
This
,
celt
,
rgelt
,
pceltFetched
);
TRACE
(
"%p %u %p %p
\n
"
,
This
,
celt
,
rgelt
,
pceltFetched
);
if
(
!
pceltFetched
)
return
S_FALSE
;
if
(
!
pceltFetched
)
return
S_FALSE
;
...
@@ -2312,7 +2342,8 @@ static HRESULT WINAPI fnIEnumRfc1766_Next(
...
@@ -2312,7 +2342,8 @@ static HRESULT WINAPI fnIEnumRfc1766_Next(
static
HRESULT
WINAPI
fnIEnumRfc1766_Reset
(
static
HRESULT
WINAPI
fnIEnumRfc1766_Reset
(
IEnumRfc1766
*
iface
)
IEnumRfc1766
*
iface
)
{
{
ICOM_THIS_MULTI
(
EnumRfc1766_impl
,
vtbl_IEnumRfc1766
,
iface
);
EnumRfc1766_impl
*
This
=
impl_from_IEnumRfc1766
(
iface
);
TRACE
(
"%p
\n
"
,
This
);
TRACE
(
"%p
\n
"
,
This
);
This
->
pos
=
0
;
This
->
pos
=
0
;
...
@@ -2323,7 +2354,8 @@ static HRESULT WINAPI fnIEnumRfc1766_Skip(
...
@@ -2323,7 +2354,8 @@ static HRESULT WINAPI fnIEnumRfc1766_Skip(
IEnumRfc1766
*
iface
,
IEnumRfc1766
*
iface
,
ULONG
celt
)
ULONG
celt
)
{
{
ICOM_THIS_MULTI
(
EnumRfc1766_impl
,
vtbl_IEnumRfc1766
,
iface
);
EnumRfc1766_impl
*
This
=
impl_from_IEnumRfc1766
(
iface
);
TRACE
(
"%p %u
\n
"
,
This
,
celt
);
TRACE
(
"%p %u
\n
"
,
This
,
celt
);
if
(
celt
>=
This
->
total
)
return
S_FALSE
;
if
(
celt
>=
This
->
total
)
return
S_FALSE
;
...
@@ -2428,7 +2460,8 @@ static HRESULT WINAPI fnIMultiLanguage_EnumRfc1766(
...
@@ -2428,7 +2460,8 @@ static HRESULT WINAPI fnIMultiLanguage_EnumRfc1766(
IMultiLanguage
*
iface
,
IMultiLanguage
*
iface
,
IEnumRfc1766
**
ppEnumRfc1766
)
IEnumRfc1766
**
ppEnumRfc1766
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage
(
iface
);
TRACE
(
"%p %p
\n
"
,
This
,
ppEnumRfc1766
);
TRACE
(
"%p %p
\n
"
,
This
,
ppEnumRfc1766
);
return
EnumRfc1766_create
(
0
,
ppEnumRfc1766
);
return
EnumRfc1766_create
(
0
,
ppEnumRfc1766
);
...
@@ -2481,24 +2514,29 @@ static const IMultiLanguageVtbl IMultiLanguage_vtbl =
...
@@ -2481,24 +2514,29 @@ static const IMultiLanguageVtbl IMultiLanguage_vtbl =
/******************************************************************************/
/******************************************************************************/
static
inline
MLang_impl
*
impl_from_IMultiLanguage3
(
IMultiLanguage3
*
iface
)
{
return
(
MLang_impl
*
)
CONTAINING_RECORD
(
iface
,
MLang_impl
,
vtbl_IMultiLanguage3
);
}
static
HRESULT
WINAPI
fnIMultiLanguage2_QueryInterface
(
static
HRESULT
WINAPI
fnIMultiLanguage2_QueryInterface
(
IMultiLanguage3
*
iface
,
IMultiLanguage3
*
iface
,
REFIID
riid
,
REFIID
riid
,
void
**
ppvObject
)
void
**
ppvObject
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
return
MLang_QueryInterface
(
This
,
riid
,
ppvObject
);
return
MLang_QueryInterface
(
This
,
riid
,
ppvObject
);
}
}
static
ULONG
WINAPI
fnIMultiLanguage2_AddRef
(
IMultiLanguage3
*
iface
)
static
ULONG
WINAPI
fnIMultiLanguage2_AddRef
(
IMultiLanguage3
*
iface
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
return
MLang_AddRef
(
This
);
return
MLang_AddRef
(
This
);
}
}
static
ULONG
WINAPI
fnIMultiLanguage2_Release
(
IMultiLanguage3
*
iface
)
static
ULONG
WINAPI
fnIMultiLanguage2_Release
(
IMultiLanguage3
*
iface
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
return
MLang_Release
(
This
);
return
MLang_Release
(
This
);
}
}
...
@@ -2506,7 +2544,8 @@ static HRESULT WINAPI fnIMultiLanguage2_GetNumberOfCodePageInfo(
...
@@ -2506,7 +2544,8 @@ static HRESULT WINAPI fnIMultiLanguage2_GetNumberOfCodePageInfo(
IMultiLanguage3
*
iface
,
IMultiLanguage3
*
iface
,
UINT
*
pcCodePage
)
UINT
*
pcCodePage
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
TRACE
(
"%p, %p
\n
"
,
This
,
pcCodePage
);
TRACE
(
"%p, %p
\n
"
,
This
,
pcCodePage
);
if
(
!
pcCodePage
)
return
S_FALSE
;
if
(
!
pcCodePage
)
return
S_FALSE
;
...
@@ -2560,8 +2599,8 @@ static HRESULT WINAPI fnIMultiLanguage2_GetCodePageInfo(
...
@@ -2560,8 +2599,8 @@ static HRESULT WINAPI fnIMultiLanguage2_GetCodePageInfo(
PMIMECPINFO
pCodePageInfo
)
PMIMECPINFO
pCodePageInfo
)
{
{
UINT
i
,
n
;
UINT
i
,
n
;
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
TRACE
(
"%p, %u, %04x, %p
\n
"
,
This
,
uiCodePage
,
LangId
,
pCodePageInfo
);
TRACE
(
"%p, %u, %04x, %p
\n
"
,
This
,
uiCodePage
,
LangId
,
pCodePageInfo
);
for
(
i
=
0
;
i
<
sizeof
(
mlang_data
)
/
sizeof
(
mlang_data
[
0
]);
i
++
)
for
(
i
=
0
;
i
<
sizeof
(
mlang_data
)
/
sizeof
(
mlang_data
[
0
]);
i
++
)
...
@@ -2593,7 +2632,8 @@ static HRESULT WINAPI fnIMultiLanguage2_EnumCodePages(
...
@@ -2593,7 +2632,8 @@ static HRESULT WINAPI fnIMultiLanguage2_EnumCodePages(
LANGID
LangId
,
LANGID
LangId
,
IEnumCodePage
**
ppEnumCodePage
)
IEnumCodePage
**
ppEnumCodePage
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
TRACE
(
"%p %08x %04x %p
\n
"
,
This
,
grfFlags
,
LangId
,
ppEnumCodePage
);
TRACE
(
"%p %08x %04x %p
\n
"
,
This
,
grfFlags
,
LangId
,
ppEnumCodePage
);
return
EnumCodePage_create
(
This
,
grfFlags
,
LangId
,
ppEnumCodePage
);
return
EnumCodePage_create
(
This
,
grfFlags
,
LangId
,
ppEnumCodePage
);
...
@@ -2605,8 +2645,8 @@ static HRESULT WINAPI fnIMultiLanguage2_GetCharsetInfo(
...
@@ -2605,8 +2645,8 @@ static HRESULT WINAPI fnIMultiLanguage2_GetCharsetInfo(
PMIMECSETINFO
pCharsetInfo
)
PMIMECSETINFO
pCharsetInfo
)
{
{
UINT
i
,
n
;
UINT
i
,
n
;
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
TRACE
(
"%p %s %p
\n
"
,
This
,
debugstr_w
(
Charset
),
pCharsetInfo
);
TRACE
(
"%p %s %p
\n
"
,
This
,
debugstr_w
(
Charset
),
pCharsetInfo
);
if
(
!
pCharsetInfo
)
return
E_FAIL
;
if
(
!
pCharsetInfo
)
return
E_FAIL
;
...
@@ -2753,7 +2793,8 @@ static HRESULT WINAPI fnIMultiLanguage2_EnumRfc1766(
...
@@ -2753,7 +2793,8 @@ static HRESULT WINAPI fnIMultiLanguage2_EnumRfc1766(
LANGID
LangId
,
LANGID
LangId
,
IEnumRfc1766
**
ppEnumRfc1766
)
IEnumRfc1766
**
ppEnumRfc1766
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
TRACE
(
"%p %p
\n
"
,
This
,
ppEnumRfc1766
);
TRACE
(
"%p %p
\n
"
,
This
,
ppEnumRfc1766
);
return
EnumRfc1766_create
(
LangId
,
ppEnumRfc1766
);
return
EnumRfc1766_create
(
LangId
,
ppEnumRfc1766
);
...
@@ -2962,7 +3003,8 @@ static HRESULT WINAPI fnIMultiLanguage2_GetNumberOfScripts(
...
@@ -2962,7 +3003,8 @@ static HRESULT WINAPI fnIMultiLanguage2_GetNumberOfScripts(
IMultiLanguage3
*
iface
,
IMultiLanguage3
*
iface
,
UINT
*
pnScripts
)
UINT
*
pnScripts
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
TRACE
(
"%p %p
\n
"
,
This
,
pnScripts
);
TRACE
(
"%p %p
\n
"
,
This
,
pnScripts
);
if
(
!
pnScripts
)
return
S_FALSE
;
if
(
!
pnScripts
)
return
S_FALSE
;
...
@@ -2977,7 +3019,8 @@ static HRESULT WINAPI fnIMultiLanguage2_EnumScripts(
...
@@ -2977,7 +3019,8 @@ static HRESULT WINAPI fnIMultiLanguage2_EnumScripts(
LANGID
LangId
,
LANGID
LangId
,
IEnumScript
**
ppEnumScript
)
IEnumScript
**
ppEnumScript
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
TRACE
(
"%p %08x %04x %p
\n
"
,
This
,
dwFlags
,
LangId
,
ppEnumScript
);
TRACE
(
"%p %08x %04x %p
\n
"
,
This
,
dwFlags
,
LangId
,
ppEnumScript
);
return
EnumScript_create
(
This
,
dwFlags
,
LangId
,
ppEnumScript
);
return
EnumScript_create
(
This
,
dwFlags
,
LangId
,
ppEnumScript
);
...
@@ -2990,7 +3033,7 @@ static HRESULT WINAPI fnIMultiLanguage2_ValidateCodePageEx(
...
@@ -2990,7 +3033,7 @@ static HRESULT WINAPI fnIMultiLanguage2_ValidateCodePageEx(
DWORD
dwfIODControl
)
DWORD
dwfIODControl
)
{
{
int
i
;
int
i
;
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
TRACE
(
"%p %u %p %08x
\n
"
,
This
,
uiCodePage
,
hwnd
,
dwfIODControl
);
TRACE
(
"%p %u %p %08x
\n
"
,
This
,
uiCodePage
,
hwnd
,
dwfIODControl
);
...
@@ -3026,7 +3069,8 @@ static HRESULT WINAPI fnIMultiLanguage3_DetectOutboundCodePage(
...
@@ -3026,7 +3069,8 @@ static HRESULT WINAPI fnIMultiLanguage3_DetectOutboundCodePage(
UINT
*
pnDetectedCodePages
,
UINT
*
pnDetectedCodePages
,
WCHAR
*
lpSpecialChar
)
WCHAR
*
lpSpecialChar
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
FIXME
(
"(%p)->(%08x %s %u %p %u %p %p %p)
\n
"
,
This
,
dwFlags
,
debugstr_w
(
lpWideCharStr
),
FIXME
(
"(%p)->(%08x %s %u %p %u %p %p %p)
\n
"
,
This
,
dwFlags
,
debugstr_w
(
lpWideCharStr
),
cchWideChar
,
puiPreferredCodePages
,
nPreferredCodePages
,
puiDetectedCodePages
,
cchWideChar
,
puiPreferredCodePages
,
nPreferredCodePages
,
puiDetectedCodePages
,
pnDetectedCodePages
,
lpSpecialChar
);
pnDetectedCodePages
,
lpSpecialChar
);
...
@@ -3043,7 +3087,8 @@ static HRESULT WINAPI fnIMultiLanguage3_DetectOutboundCodePageInIStream(
...
@@ -3043,7 +3087,8 @@ static HRESULT WINAPI fnIMultiLanguage3_DetectOutboundCodePageInIStream(
UINT
*
pnDetectedCodePages
,
UINT
*
pnDetectedCodePages
,
WCHAR
*
lpSpecialChar
)
WCHAR
*
lpSpecialChar
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMultiLanguage3
,
iface
);
MLang_impl
*
This
=
impl_from_IMultiLanguage3
(
iface
);
FIXME
(
"(%p)->(%08x %p %p %u %p %p %p)
\n
"
,
This
,
dwFlags
,
pStrIn
,
FIXME
(
"(%p)->(%08x %p %p %u %p %p %p)
\n
"
,
This
,
dwFlags
,
pStrIn
,
puiPreferredCodePages
,
nPreferredCodePages
,
puiDetectedCodePages
,
puiPreferredCodePages
,
nPreferredCodePages
,
puiDetectedCodePages
,
pnDetectedCodePages
,
lpSpecialChar
);
pnDetectedCodePages
,
lpSpecialChar
);
...
@@ -3087,24 +3132,30 @@ static const IMultiLanguage3Vtbl IMultiLanguage3_vtbl =
...
@@ -3087,24 +3132,30 @@ static const IMultiLanguage3Vtbl IMultiLanguage3_vtbl =
};
};
/******************************************************************************/
/******************************************************************************/
static
inline
MLang_impl
*
impl_from_IMLangFontLink2
(
IMLangFontLink2
*
iface
)
{
return
(
MLang_impl
*
)
CONTAINING_RECORD
(
iface
,
MLang_impl
,
vtbl_IMLangFontLink2
);
}
static
HRESULT
WINAPI
fnIMLangFontLink2_QueryInterface
(
static
HRESULT
WINAPI
fnIMLangFontLink2_QueryInterface
(
IMLangFontLink2
*
iface
,
IMLangFontLink2
*
iface
,
REFIID
riid
,
REFIID
riid
,
void
**
ppvObject
)
void
**
ppvObject
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangFontLink2
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangFontLink2
(
iface
);
return
MLang_QueryInterface
(
This
,
riid
,
ppvObject
);
return
MLang_QueryInterface
(
This
,
riid
,
ppvObject
);
}
}
static
ULONG
WINAPI
fnIMLangFontLink2_AddRef
(
IMLangFontLink2
*
iface
)
static
ULONG
WINAPI
fnIMLangFontLink2_AddRef
(
IMLangFontLink2
*
iface
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangFontLink2
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangFontLink2
(
iface
);
return
MLang_AddRef
(
This
);
return
MLang_AddRef
(
This
);
}
}
static
ULONG
WINAPI
fnIMLangFontLink2_Release
(
IMLangFontLink2
*
iface
)
static
ULONG
WINAPI
fnIMLangFontLink2_Release
(
IMLangFontLink2
*
iface
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangFontLink2
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangFontLink2
(
iface
);
return
MLang_Release
(
This
);
return
MLang_Release
(
This
);
}
}
...
@@ -3238,26 +3289,31 @@ static const IMLangFontLink2Vtbl IMLangFontLink2_vtbl =
...
@@ -3238,26 +3289,31 @@ static const IMLangFontLink2Vtbl IMLangFontLink2_vtbl =
/******************************************************************************/
/******************************************************************************/
static
inline
MLang_impl
*
impl_from_IMLangLineBreakConsole
(
IMLangLineBreakConsole
*
iface
)
{
return
(
MLang_impl
*
)
CONTAINING_RECORD
(
iface
,
MLang_impl
,
vtbl_IMLangLineBreakConsole
);
}
static
HRESULT
WINAPI
fnIMLangLineBreakConsole_QueryInterface
(
static
HRESULT
WINAPI
fnIMLangLineBreakConsole_QueryInterface
(
IMLangLineBreakConsole
*
iface
,
IMLangLineBreakConsole
*
iface
,
REFIID
riid
,
REFIID
riid
,
void
**
ppvObject
)
void
**
ppvObject
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangLineBreakConsole
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangLineBreakConsole
(
iface
);
return
MLang_QueryInterface
(
This
,
riid
,
ppvObject
);
return
MLang_QueryInterface
(
This
,
riid
,
ppvObject
);
}
}
static
ULONG
WINAPI
fnIMLangLineBreakConsole_AddRef
(
static
ULONG
WINAPI
fnIMLangLineBreakConsole_AddRef
(
IMLangLineBreakConsole
*
iface
)
IMLangLineBreakConsole
*
iface
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangLineBreakConsole
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangLineBreakConsole
(
iface
);
return
MLang_AddRef
(
This
);
return
MLang_AddRef
(
This
);
}
}
static
ULONG
WINAPI
fnIMLangLineBreakConsole_Release
(
static
ULONG
WINAPI
fnIMLangLineBreakConsole_Release
(
IMLangLineBreakConsole
*
iface
)
IMLangLineBreakConsole
*
iface
)
{
{
ICOM_THIS_MULTI
(
MLang_impl
,
vtbl_IMLangLineBreakConsole
,
iface
);
MLang_impl
*
This
=
impl_from_IMLangLineBreakConsole
(
iface
);
return
MLang_Release
(
This
);
return
MLang_Release
(
This
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment