It came out that we need to not duplicate QueryInterface in child
interface declarations, because they shadow its templated inline variant.
---
mingw-w64-headers/include/dwrite.h | 59
--
1 file changed, 57 insertions(+), 2 deletions(-)
diff --git a/mingw-w64-headers/include/dwrite.h b/mingw-w64-headers/include/dwrite.h
index df35bbd..3267977 100644
--- a/mingw-w64-headers/include/dwrite.h
+++ b/mingw-w64-headers/include/dwrite.h
@@ -614,10 +614,12 @@ DECLARE_INTERFACE_(IDWriteBitmapRenderTarget,IUnknown)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
/* IDWriteBitmapRenderTarget methods */
STDMETHOD(DrawGlyphRun)(THIS_
@@ -670,10 +672,12 @@ DECLARE_INTERFACE_(IDWriteFactory,IUnknown)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
/* IDWriteFactory methods */
STDMETHOD(GetSystemFontCollection)(THIS_
@@ -825,10 +829,12 @@ DECLARE_INTERFACE_(IDWriteFont,IUnknown)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
/* IDWriteFont methods */
STDMETHOD(GetFontFamily)(THIS_
@@ -884,10 +890,12 @@ DECLARE_INTERFACE_(IDWriteFontCollection,IUnknown)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
/* IDWriteFontCollection methods */
STDMETHOD_(UINT32, GetFontFamilyCount)(THIS) PURE;
@@ -923,10 +931,12 @@ DECLARE_INTERFACE_(IDWriteFontFace,IUnknown)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
/* IDWriteFontFace methods */
STDMETHOD_(DWRITE_FONT_FACE_TYPE, GetType)(THIS) PURE;
@@ -1028,10 +1038,12 @@ DECLARE_INTERFACE_(IDWriteFontList,IUnknown)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
/* IDWriteFontList methods */
STDMETHOD(GetFontCollection)(THIS_
@@ -1060,6 +1072,7 @@ DECLARE_INTERFACE_(IDWriteFontFamily,IDWriteFontList)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
@@ -1074,6 +1087,7 @@ DECLARE_INTERFACE_(IDWriteFontFamily,IDWriteFontList)
STDMETHOD(GetFont)(THIS_
UINT32 index,
IDWriteFont **font) PURE;
+#endif
/* IDWriteFontFamily methods */
STDMETHOD(GetFamilyNames)(THIS_
@@ -,10 +1125,12 @@ DECLARE_INTERFACE_(IDWriteFontFile,IUnknown)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
/* IDWriteFontFile methods */
STDMETHOD(GetReferenceKey)(THIS_
@@ -1147,10 +1163,12 @@ DECLARE_INTERFACE_(IDWriteFontFileLoader,IUnknown)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
/* IDWriteFontFileLoader methods */
STDMETHOD(CreateStreamFromKey)(
@@ -1173,10 +1191,12 @@ DECLARE_INTERFACE_(IDWriteFontFileStream,IUnknown)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
/* IDWriteFontFileStream methods */
STDMETHOD(ReadFileFragment)(THIS_
@@ -1212,10 +1232,12 @@ DECLARE_INTERFACE_(IDWriteFontCollectionLoader,IUnknown)
{
BEGIN_INTERFACE
+#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
/* IDWriteFontCollectionLoader methods */
STDMETHOD_(HRESULT,CreateEnumeratorFromKey)(THIS_ IDWrite