widl needs to be helped to find the IBuffer class.

It's now matching the type names of MSVC. So winstorecompat needs to be
updated to match the new names.

Generated with:
x86_64-w64-mingw32-widl -DBOOL=WINBOOL -I. -I../build/crt -I../crt -h -o 
windows.security.cryptography.h windows.security.cryptography.idl
---
 .../include/windows.security.cryptography.h   | 439 ++++++++----------
 .../include/windows.security.cryptography.idl |   2 +-
 .../winstorecompat/src/Crypto.c               |  12 +-
 3 files changed, 204 insertions(+), 249 deletions(-)

diff --git a/mingw-w64-headers/include/windows.security.cryptography.h 
b/mingw-w64-headers/include/windows.security.cryptography.h
index 2525b1da..f042941e 100644
--- a/mingw-w64-headers/include/windows.security.cryptography.h
+++ b/mingw-w64-headers/include/windows.security.cryptography.h
@@ -1,11 +1,12 @@
-/*** Autogenerated by WIDL 1.5.31 from 
include/windows.security.cryptography.idl - Do not edit ***/
+/*** Autogenerated by WIDL 5.19 from windows.security.cryptography.idl - Do 
not edit ***/
 
+#ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
 #define __REQUIRED_RPCNDR_H_VERSION__ 475
 #endif
-
 #include <rpc.h>
 #include <rpcndr.h>
+#endif
 
 #ifndef COM_NO_WINDOWS_H
 #include <windows.h>
@@ -17,9 +18,20 @@
 
 /* Forward declarations */
 
-#ifndef __ICryptographicBufferStatics_FWD_DEFINED__
-#define __ICryptographicBufferStatics_FWD_DEFINED__
-typedef interface ICryptographicBufferStatics ICryptographicBufferStatics;
+#ifndef 
____x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_FWD_DEFINED__
+typedef interface 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Security {
+            namespace Cryptography {
+                interface ICryptographicBufferStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
 #endif
 
 /* Headers for imported files */
@@ -31,257 +43,304 @@ typedef interface ICryptographicBufferStatics 
ICryptographicBufferStatics;
 extern "C" {
 #endif
 
-#ifndef __IBuffer_FWD_DEFINED__
-#define __IBuffer_FWD_DEFINED__
-typedef interface IBuffer IBuffer;
+#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
+#define ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CStorage_CStreams_CIBuffer 
__x_ABI_CWindows_CStorage_CStreams_CIBuffer;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface IBuffer;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
 #endif
 
-#ifndef __ICryptographicBufferStatics_FWD_DEFINED__
-#define __ICryptographicBufferStatics_FWD_DEFINED__
-typedef interface ICryptographicBufferStatics ICryptographicBufferStatics;
+#ifndef 
____x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_FWD_DEFINED__
+typedef interface 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Security {
+            namespace Cryptography {
+                interface ICryptographicBufferStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
 #endif
 
-enum BinaryStringEncoding;
+#ifdef __cplusplus
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Security {
+            namespace Cryptography {
+                enum BinaryStringEncoding;
+            }
+        }
+    }
+}
+extern "C" {
+#else
+enum __x_ABI_CWindows_CSecurity_CCryptography_CBinaryStringEncoding;
+#endif
 
 typedef enum BinaryStringEncoding {
-    Utf8 = 0,
-    Utf16LE = 1,
-    Utf16BE = 2
+    BinaryStringEncoding_Utf8 = 0,
+    BinaryStringEncoding_Utf16LE = 1,
+    BinaryStringEncoding_Utf16BE = 2
 } BinaryStringEncoding;
 /*****************************************************************************
  * ICryptographicBufferStatics interface
  */
-#ifndef __ICryptographicBufferStatics_INTERFACE_DEFINED__
-#define __ICryptographicBufferStatics_INTERFACE_DEFINED__
+#ifndef 
____x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_INTERFACE_DEFINED__
+#define 
____x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_ICryptographicBufferStatics, 0x320b7e22, 0x3cb0, 0x4cdf, 
0x86,0x63, 0x1d,0x28,0x91,0x00,0x65,0xeb);
+DEFINE_GUID(IID___x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics,
 0x320b7e22, 0x3cb0, 0x4cdf, 0x86,0x63, 0x1d,0x28,0x91,0x00,0x65,0xeb);
 #if defined(__cplusplus) && !defined(CINTERFACE)
-MIDL_INTERFACE("320b7e22-3cb0-4cdf-8663-1d28910065eb")
-ICryptographicBufferStatics : public IInspectable
-{
-    virtual HRESULT STDMETHODCALLTYPE Compare(
-        IBuffer *object1,
-        IBuffer *object2,
-        boolean *isEqual) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GenerateRandom(
-        UINT32 length,
-        IBuffer **buffer) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GenerateRandomNumber(
-        UINT32 *value) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE CreateFromByteArray(
-        UINT32 __valueSize,
-        BYTE *value,
-        IBuffer **buffer) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE CopyToByteArray(
-        IBuffer *buffer,
-        UINT32 *__valueSize,
-        BYTE **value) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE DecodeFromHexString(
-        HSTRING value,
-        IBuffer **buffer) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE EncodeToHexString(
-        IBuffer *buffer,
-        HSTRING *value) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE DecodeFromBase64String(
-        HSTRING value,
-        IBuffer **buffer) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE EncodeToBase64String(
-        IBuffer *buffer,
-        HSTRING *value) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE ConvertStringToBinary(
-        HSTRING value,
-        BinaryStringEncoding encoding,
-        IBuffer **buffer) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE ConvertBinaryToString(
-        BinaryStringEncoding encoding,
-        IBuffer *buffer,
-        HSTRING *value) = 0;
-
-};
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Security {
+            namespace Cryptography {
+                MIDL_INTERFACE("320b7e22-3cb0-4cdf-8663-1d28910065eb")
+                ICryptographicBufferStatics : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE Compare(
+                        IBuffer *object1,
+                        IBuffer *object2,
+                        boolean *isEqual) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GenerateRandom(
+                        UINT32 length,
+                        IBuffer **buffer) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GenerateRandomNumber(
+                        UINT32 *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE CreateFromByteArray(
+                        UINT32 __valueSize,
+                        BYTE *value,
+                        IBuffer **buffer) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE CopyToByteArray(
+                        IBuffer *buffer,
+                        UINT32 *__valueSize,
+                        BYTE **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE DecodeFromHexString(
+                        HSTRING value,
+                        IBuffer **buffer) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE EncodeToHexString(
+                        IBuffer *buffer,
+                        HSTRING *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE DecodeFromBase64String(
+                        HSTRING value,
+                        IBuffer **buffer) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE EncodeToBase64String(
+                        IBuffer *buffer,
+                        HSTRING *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE ConvertStringToBinary(
+                        HSTRING value,
+                        BinaryStringEncoding encoding,
+                        IBuffer **buffer) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE ConvertBinaryToString(
+                        BinaryStringEncoding encoding,
+                        IBuffer *buffer,
+                        HSTRING *value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
 #ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ICryptographicBufferStatics, 0x320b7e22, 0x3cb0, 0x4cdf, 
0x86,0x63, 0x1d,0x28,0x91,0x00,0x65,0xeb)
+__CRT_UUID_DECL(ABI::Windows::Security::Cryptography::ICryptographicBufferStatics,
 0x320b7e22, 0x3cb0, 0x4cdf, 0x86,0x63, 0x1d,0x28,0x91,0x00,0x65,0xeb)
 #endif
 #else
-typedef struct ICryptographicBufferStaticsVtbl {
+typedef struct 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStaticsVtbl {
     BEGIN_INTERFACE
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         REFIID riid,
         void **ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        ICryptographicBufferStatics* This);
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        ICryptographicBufferStatics* This);
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This);
 
     /*** IInspectable methods ***/
     HRESULT (STDMETHODCALLTYPE *GetIids)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         ULONG *iidCount,
         IID **iids);
 
     HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         HSTRING *className);
 
     HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         TrustLevel *trustLevel);
 
     /*** ICryptographicBufferStatics methods ***/
     HRESULT (STDMETHODCALLTYPE *Compare)(
-        ICryptographicBufferStatics* This,
-        IBuffer *object1,
-        IBuffer *object2,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *object1,
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *object2,
         boolean *isEqual);
 
     HRESULT (STDMETHODCALLTYPE *GenerateRandom)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         UINT32 length,
-        IBuffer **buffer);
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer);
 
     HRESULT (STDMETHODCALLTYPE *GenerateRandomNumber)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         UINT32 *value);
 
     HRESULT (STDMETHODCALLTYPE *CreateFromByteArray)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         UINT32 __valueSize,
         BYTE *value,
-        IBuffer **buffer);
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer);
 
     HRESULT (STDMETHODCALLTYPE *CopyToByteArray)(
-        ICryptographicBufferStatics* This,
-        IBuffer *buffer,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *buffer,
         UINT32 *__valueSize,
         BYTE **value);
 
     HRESULT (STDMETHODCALLTYPE *DecodeFromHexString)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         HSTRING value,
-        IBuffer **buffer);
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer);
 
     HRESULT (STDMETHODCALLTYPE *EncodeToHexString)(
-        ICryptographicBufferStatics* This,
-        IBuffer *buffer,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *buffer,
         HSTRING *value);
 
     HRESULT (STDMETHODCALLTYPE *DecodeFromBase64String)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         HSTRING value,
-        IBuffer **buffer);
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer);
 
     HRESULT (STDMETHODCALLTYPE *EncodeToBase64String)(
-        ICryptographicBufferStatics* This,
-        IBuffer *buffer,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *buffer,
         HSTRING *value);
 
     HRESULT (STDMETHODCALLTYPE *ConvertStringToBinary)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         HSTRING value,
         BinaryStringEncoding encoding,
-        IBuffer **buffer);
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer);
 
     HRESULT (STDMETHODCALLTYPE *ConvertBinaryToString)(
-        ICryptographicBufferStatics* This,
+        __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*This,
         BinaryStringEncoding encoding,
-        IBuffer *buffer,
+        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *buffer,
         HSTRING *value);
 
     END_INTERFACE
-} ICryptographicBufferStaticsVtbl;
-interface ICryptographicBufferStatics {
-    CONST_VTBL ICryptographicBufferStaticsVtbl* lpVtbl;
+} __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStaticsVtbl;
+
+interface 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics {
+    CONST_VTBL 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStaticsVtbl* 
lpVtbl;
 };
 
 #ifdef COBJMACROS
 #ifndef WIDL_C_INLINE_WRAPPERS
 /*** IUnknown methods ***/
-#define ICryptographicBufferStatics_QueryInterface(This,riid,ppvObject) 
(This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ICryptographicBufferStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ICryptographicBufferStatics_Release(This) (This)->lpVtbl->Release(This)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_QueryInterface(This,riid,ppvObject)
 (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_AddRef(This)
 (This)->lpVtbl->AddRef(This)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_Release(This)
 (This)->lpVtbl->Release(This)
 /*** IInspectable methods ***/
-#define ICryptographicBufferStatics_GetIids(This,iidCount,iids) 
(This)->lpVtbl->GetIids(This,iidCount,iids)
-#define ICryptographicBufferStatics_GetRuntimeClassName(This,className) 
(This)->lpVtbl->GetRuntimeClassName(This,className)
-#define ICryptographicBufferStatics_GetTrustLevel(This,trustLevel) 
(This)->lpVtbl->GetTrustLevel(This,trustLevel)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GetIids(This,iidCount,iids)
 (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GetRuntimeClassName(This,className)
 (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GetTrustLevel(This,trustLevel)
 (This)->lpVtbl->GetTrustLevel(This,trustLevel)
 /*** ICryptographicBufferStatics methods ***/
-#define ICryptographicBufferStatics_Compare(This,object1,object2,isEqual) 
(This)->lpVtbl->Compare(This,object1,object2,isEqual)
-#define ICryptographicBufferStatics_GenerateRandom(This,length,buffer) 
(This)->lpVtbl->GenerateRandom(This,length,buffer)
-#define ICryptographicBufferStatics_GenerateRandomNumber(This,value) 
(This)->lpVtbl->GenerateRandomNumber(This,value)
-#define 
ICryptographicBufferStatics_CreateFromByteArray(This,__valueSize,value,buffer) 
(This)->lpVtbl->CreateFromByteArray(This,__valueSize,value,buffer)
-#define 
ICryptographicBufferStatics_CopyToByteArray(This,buffer,__valueSize,value) 
(This)->lpVtbl->CopyToByteArray(This,buffer,__valueSize,value)
-#define ICryptographicBufferStatics_DecodeFromHexString(This,value,buffer) 
(This)->lpVtbl->DecodeFromHexString(This,value,buffer)
-#define ICryptographicBufferStatics_EncodeToHexString(This,buffer,value) 
(This)->lpVtbl->EncodeToHexString(This,buffer,value)
-#define ICryptographicBufferStatics_DecodeFromBase64String(This,value,buffer) 
(This)->lpVtbl->DecodeFromBase64String(This,value,buffer)
-#define ICryptographicBufferStatics_EncodeToBase64String(This,buffer,value) 
(This)->lpVtbl->EncodeToBase64String(This,buffer,value)
-#define 
ICryptographicBufferStatics_ConvertStringToBinary(This,value,encoding,buffer) 
(This)->lpVtbl->ConvertStringToBinary(This,value,encoding,buffer)
-#define 
ICryptographicBufferStatics_ConvertBinaryToString(This,encoding,buffer,value) 
(This)->lpVtbl->ConvertBinaryToString(This,encoding,buffer,value)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_Compare(This,object1,object2,isEqual)
 (This)->lpVtbl->Compare(This,object1,object2,isEqual)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GenerateRandom(This,length,buffer)
 (This)->lpVtbl->GenerateRandom(This,length,buffer)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GenerateRandomNumber(This,value)
 (This)->lpVtbl->GenerateRandomNumber(This,value)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_CreateFromByteArray(This,__valueSize,value,buffer)
 (This)->lpVtbl->CreateFromByteArray(This,__valueSize,value,buffer)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_CopyToByteArray(This,buffer,__valueSize,value)
 (This)->lpVtbl->CopyToByteArray(This,buffer,__valueSize,value)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_DecodeFromHexString(This,value,buffer)
 (This)->lpVtbl->DecodeFromHexString(This,value,buffer)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_EncodeToHexString(This,buffer,value)
 (This)->lpVtbl->EncodeToHexString(This,buffer,value)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_DecodeFromBase64String(This,value,buffer)
 (This)->lpVtbl->DecodeFromBase64String(This,value,buffer)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_EncodeToBase64String(This,buffer,value)
 (This)->lpVtbl->EncodeToBase64String(This,buffer,value)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_ConvertStringToBinary(This,value,encoding,buffer)
 (This)->lpVtbl->ConvertStringToBinary(This,value,encoding,buffer)
+#define 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_ConvertBinaryToString(This,encoding,buffer,value)
 (This)->lpVtbl->ConvertBinaryToString(This,encoding,buffer,value)
 #else
 /*** IUnknown methods ***/
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_QueryInterface(ICryptographicBufferStatics* 
This,REFIID riid,void **ppvObject) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_QueryInterface(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,REFIID riid,void **ppvObject) {
     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 }
-static FORCEINLINE ULONG 
ICryptographicBufferStatics_AddRef(ICryptographicBufferStatics* This) {
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_AddRef(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This) {
     return This->lpVtbl->AddRef(This);
 }
-static FORCEINLINE ULONG 
ICryptographicBufferStatics_Release(ICryptographicBufferStatics* This) {
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_Release(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This) {
     return This->lpVtbl->Release(This);
 }
 /*** IInspectable methods ***/
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_GetIids(ICryptographicBufferStatics* This,ULONG 
*iidCount,IID **iids) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GetIids(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,ULONG *iidCount,IID **iids) {
     return This->lpVtbl->GetIids(This,iidCount,iids);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_GetRuntimeClassName(ICryptographicBufferStatics* 
This,HSTRING *className) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GetRuntimeClassName(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,HSTRING *className) {
     return This->lpVtbl->GetRuntimeClassName(This,className);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_GetTrustLevel(ICryptographicBufferStatics* 
This,TrustLevel *trustLevel) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GetTrustLevel(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,TrustLevel *trustLevel) {
     return This->lpVtbl->GetTrustLevel(This,trustLevel);
 }
 /*** ICryptographicBufferStatics methods ***/
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_Compare(ICryptographicBufferStatics* This,IBuffer 
*object1,IBuffer *object2,boolean *isEqual) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_Compare(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer 
*object1,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *object2,boolean *isEqual) 
{
     return This->lpVtbl->Compare(This,object1,object2,isEqual);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_GenerateRandom(ICryptographicBufferStatics* 
This,UINT32 length,IBuffer **buffer) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GenerateRandom(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,UINT32 length,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer) {
     return This->lpVtbl->GenerateRandom(This,length,buffer);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_GenerateRandomNumber(ICryptographicBufferStatics* 
This,UINT32 *value) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GenerateRandomNumber(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,UINT32 *value) {
     return This->lpVtbl->GenerateRandomNumber(This,value);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_CreateFromByteArray(ICryptographicBufferStatics* 
This,UINT32 __valueSize,BYTE *value,IBuffer **buffer) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_CreateFromByteArray(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,UINT32 __valueSize,BYTE 
*value,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer) {
     return This->lpVtbl->CreateFromByteArray(This,__valueSize,value,buffer);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_CopyToByteArray(ICryptographicBufferStatics* 
This,IBuffer *buffer,UINT32 *__valueSize,BYTE **value) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_CopyToByteArray(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *buffer,UINT32 
*__valueSize,BYTE **value) {
     return This->lpVtbl->CopyToByteArray(This,buffer,__valueSize,value);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_DecodeFromHexString(ICryptographicBufferStatics* 
This,HSTRING value,IBuffer **buffer) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_DecodeFromHexString(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,HSTRING value,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer) {
     return This->lpVtbl->DecodeFromHexString(This,value,buffer);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_EncodeToHexString(ICryptographicBufferStatics* 
This,IBuffer *buffer,HSTRING *value) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_EncodeToHexString(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *buffer,HSTRING *value) {
     return This->lpVtbl->EncodeToHexString(This,buffer,value);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_DecodeFromBase64String(ICryptographicBufferStatics* 
This,HSTRING value,IBuffer **buffer) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_DecodeFromBase64String(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,HSTRING value,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer) {
     return This->lpVtbl->DecodeFromBase64String(This,value,buffer);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_EncodeToBase64String(ICryptographicBufferStatics* 
This,IBuffer *buffer,HSTRING *value) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_EncodeToBase64String(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *buffer,HSTRING *value) {
     return This->lpVtbl->EncodeToBase64String(This,buffer,value);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_ConvertStringToBinary(ICryptographicBufferStatics* 
This,HSTRING value,BinaryStringEncoding encoding,IBuffer **buffer) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_ConvertStringToBinary(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,HSTRING value,BinaryStringEncoding 
encoding,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer) {
     return This->lpVtbl->ConvertStringToBinary(This,value,encoding,buffer);
 }
-static FORCEINLINE HRESULT 
ICryptographicBufferStatics_ConvertBinaryToString(ICryptographicBufferStatics* 
This,BinaryStringEncoding encoding,IBuffer *buffer,HSTRING *value) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_ConvertBinaryToString(__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 This,BinaryStringEncoding encoding,__x_ABI_CWindows_CStorage_CStreams_CIBuffer 
*buffer,HSTRING *value) {
     return This->lpVtbl->ConvertBinaryToString(This,encoding,buffer,value);
 }
 #endif
@@ -289,111 +348,7 @@ static FORCEINLINE HRESULT 
ICryptographicBufferStatics_ConvertBinaryToString(ICr
 
 #endif
 
-HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_Compare_Proxy(
-    ICryptographicBufferStatics* This,
-    IBuffer *object1,
-    IBuffer *object2,
-    boolean *isEqual);
-void __RPC_STUB ICryptographicBufferStatics_Compare_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_GenerateRandom_Proxy(
-    ICryptographicBufferStatics* This,
-    UINT32 length,
-    IBuffer **buffer);
-void __RPC_STUB ICryptographicBufferStatics_GenerateRandom_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE 
ICryptographicBufferStatics_GenerateRandomNumber_Proxy(
-    ICryptographicBufferStatics* This,
-    UINT32 *value);
-void __RPC_STUB ICryptographicBufferStatics_GenerateRandomNumber_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE 
ICryptographicBufferStatics_CreateFromByteArray_Proxy(
-    ICryptographicBufferStatics* This,
-    UINT32 __valueSize,
-    BYTE *value,
-    IBuffer **buffer);
-void __RPC_STUB ICryptographicBufferStatics_CreateFromByteArray_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_CopyToByteArray_Proxy(
-    ICryptographicBufferStatics* This,
-    IBuffer *buffer,
-    UINT32 *__valueSize,
-    BYTE **value);
-void __RPC_STUB ICryptographicBufferStatics_CopyToByteArray_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE 
ICryptographicBufferStatics_DecodeFromHexString_Proxy(
-    ICryptographicBufferStatics* This,
-    HSTRING value,
-    IBuffer **buffer);
-void __RPC_STUB ICryptographicBufferStatics_DecodeFromHexString_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_EncodeToHexString_Proxy(
-    ICryptographicBufferStatics* This,
-    IBuffer *buffer,
-    HSTRING *value);
-void __RPC_STUB ICryptographicBufferStatics_EncodeToHexString_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE 
ICryptographicBufferStatics_DecodeFromBase64String_Proxy(
-    ICryptographicBufferStatics* This,
-    HSTRING value,
-    IBuffer **buffer);
-void __RPC_STUB ICryptographicBufferStatics_DecodeFromBase64String_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE 
ICryptographicBufferStatics_EncodeToBase64String_Proxy(
-    ICryptographicBufferStatics* This,
-    IBuffer *buffer,
-    HSTRING *value);
-void __RPC_STUB ICryptographicBufferStatics_EncodeToBase64String_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE 
ICryptographicBufferStatics_ConvertStringToBinary_Proxy(
-    ICryptographicBufferStatics* This,
-    HSTRING value,
-    BinaryStringEncoding encoding,
-    IBuffer **buffer);
-void __RPC_STUB ICryptographicBufferStatics_ConvertStringToBinary_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE 
ICryptographicBufferStatics_ConvertBinaryToString_Proxy(
-    ICryptographicBufferStatics* This,
-    BinaryStringEncoding encoding,
-    IBuffer *buffer,
-    HSTRING *value);
-void __RPC_STUB ICryptographicBufferStatics_ConvertBinaryToString_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __ICryptographicBufferStatics_INTERFACE_DEFINED__ */
+#endif  /* 
____x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_INTERFACE_DEFINED__
 */
 
 /* Begin additional prototypes for all interfaces */
 
diff --git a/mingw-w64-headers/include/windows.security.cryptography.idl 
b/mingw-w64-headers/include/windows.security.cryptography.idl
index 3defa16b..ee52cf7a 100644
--- a/mingw-w64-headers/include/windows.security.cryptography.idl
+++ b/mingw-w64-headers/include/windows.security.cryptography.idl
@@ -39,7 +39,7 @@ namespace Windows {
 
       [uuid(320B7E22-3CB0-4CDF-8663-1D28910065EB)]
       interface ICryptographicBufferStatics : IInspectable {
-        HRESULT Compare(IBuffer* object1, IBuffer* object2, boolean* isEqual);
+        HRESULT Compare(Windows.Storage.Streams.IBuffer* object1, IBuffer* 
object2, boolean* isEqual);
         HRESULT GenerateRandom(UINT32 length, IBuffer** buffer);
         HRESULT GenerateRandomNumber(UINT32* value);
         HRESULT CreateFromByteArray(UINT32 __valueSize, BYTE* value,IBuffer** 
buffer);
diff --git a/mingw-w64-libraries/winstorecompat/src/Crypto.c 
b/mingw-w64-libraries/winstorecompat/src/Crypto.c
index 2c3c218a..f19938ff 100644
--- a/mingw-w64-libraries/winstorecompat/src/Crypto.c
+++ b/mingw-w64-libraries/winstorecompat/src/Crypto.c
@@ -43,7 +43,7 @@
 #undef CryptAcquireContextA
 #undef CryptAcquireContextW
 
-#define HCRYPTPROV ICryptographicBufferStatics *
+#define HCRYPTPROV 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics*
 
 BOOL WINAPI CryptAcquireContextW(HCRYPTPROV *phProv, LPCTSTR pszContainer, 
LPCTSTR pszProvider, DWORD dwProvType, DWORD dwFlags)
 {
@@ -58,8 +58,8 @@ BOOL WINAPI CryptAcquireContextW(HCRYPTPROV *phProv, LPCTSTR 
pszContainer, LPCTS
         return FALSE;
     }
 
-    ICryptographicBufferStatics *cryptoStatics = NULL;
-    hr = RoGetActivationFactory(hClassName, &IID_ICryptographicBufferStatics, 
(void**)&cryptoStatics);
+    __x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics 
*cryptoStatics = NULL;
+    hr = RoGetActivationFactory(hClassName, 
&IID___x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics, 
(void**)&cryptoStatics);
     WindowsDeleteString(hClassName);
 
     if (FAILED(hr))
@@ -77,21 +77,21 @@ BOOL WINAPI CryptAcquireContextA(HCRYPTPROV *phProv, 
LPCTSTR pszContainer, LPCTS
 
 BOOL WINAPI CryptReleaseContext(HCRYPTPROV phProv, DWORD dwFlags)
 {
-    HRESULT hr = ICryptographicBufferStatics_Release(phProv);
+    HRESULT hr = 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_Release(phProv);
     return SUCCEEDED(hr) && dwFlags==0;
 }
 
 BOOL WINAPI CryptGenRandom(HCRYPTPROV phProv, DWORD dwLen, BYTE *pbBuffer)
 {
     IBuffer *buffer = NULL;
-    HRESULT hr = ICryptographicBufferStatics_GenerateRandom(phProv, dwLen, 
&buffer);
+    HRESULT hr = 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_GenerateRandom(phProv,
 dwLen, &buffer);
     if (FAILED(hr)) {
         return FALSE;
     }
 
     UINT32 olength;
     unsigned char *rnd = NULL;
-    hr = ICryptographicBufferStatics_CopyToByteArray(phProv, buffer, &olength, 
(BYTE**)&rnd);
+    hr = 
__x_ABI_CWindows_CSecurity_CCryptography_CICryptographicBufferStatics_CopyToByteArray(phProv,
 buffer, &olength, (BYTE**)&rnd);
     if (FAILED(hr)) {
         IBuffer_Release(buffer);
         return FALSE;
-- 
2.29.2



_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to